MacInsiders Logo

Similar Threads
Review Review Starter Category Comments Last Post
SFWR ENG 2AA4 - Software Component Design Ownaginatios 2nd Year Course Reviews 0 12-24-2010 05:00 AM
Mac security caught me with alcohol!! amitoj First-Year / Prospective Student Questions 19 11-01-2010 12:20 AM
McMaster Security steps2health General Discussion 10 01-25-2009 10:03 PM
Laptop Security!! Kay-Kay Residence & Housing 2 09-01-2008 10:42 PM

SFWR ENG 3RA3/CS 3SR3 - Software Requirements and Security Considerations

 
SFWR ENG 3RA3/CS 3SR3 - Software Requirements and Security Considerations
Published by Ownaginatios
06-06-2011
Published by
Ownaginatios's Avatar
Trolling ain't easy
Join Date: Jul 2008
Posts: 3,190

Author review
Overall Rating
60%60%60%
6
Professor Rating
30%30%30%
3
Interest
50%50%50%
5
Easiness
60%60%60%
6
Average 50%
SFWR ENG 3RA3/CS 3SR3 - Software Requirements and Security Considerations

SFWR ENG 3RA3 / CS 3SR3 is a course shared by both third year software engineering and third year computer science students. Typically it runs in the first semester of third year and is taught by Dr. Ryszard Janicki.

The course begins with the basics of writing software requirements. The most important things to take from this are functional and non-functional requirements. Functional requirements are requirements that must be fulfilled for a product to do what it is supposed to do (i.e. the car must be able to turn right and left). Non-functional requirements are requirements that aren't required for the product to perform its intended function, but are preferable (i.e. the car must be fast).

Moving on from that, the course goes really heavily into all the bullshit that is UML. There are maybe three or four useful diagrams in UML, and the rest are redundant, overly complicated or overall useless.


All of these things are components of the first assignment - writing a requirements document. This is the longest and hardest of all the assignments you will be given, and will likely end up being up to 40 pages typed. The requirements template you will be using is the 'Volere' template and it is by far one of the most exhaustive specification templates. It has 27 sections each with up to 10 sub-sections for UML diagrams, 'snow' cards and non-functional requirements. It is a big deal and you must start early if you don't want to fail. I started about a week ahead of time and worked exhaustively not sleeping for the few days before it was due and got 88%. The average was low 60s or high 50s.

From that, you move on to the stupidest and most useless thing you will probably ever learn in the McMaster software engineering program - tabular expressions. Tabular expressions, in their simple form, are used to explain what a program does as a table. They can very accurately describe what a program should do in a relatively compact form. Unfortunately, for reasons I cannot fathom, McMaster decided to 'research' this simple concept and design a very complex mathematical version of tabular expressions which separate all programs into interaction with the environment and interaction with the system. The assignment you will be given on this will seem simple enough because intuitively (assuming you don't know about McMaster's version of tabular expressions) it's pretty easy to describe. Of course, the only paper in existence on McMaster's version is written by Dr. Janicki and has only one vague example. All his slides on the topic are just sections of this paper copy-pasted into powerpoint. I and most of the class failed this assignment... I still don't know how the hell these works and I honestly couldn't care less. If you're in computer science, I've heard you have a leg up - comp.sci learns about something called 'Z-notation' in another course which apparently makes this assignment easy. No idea what it is :p.

The last part of the course is the most interesting and easiest part of the course. It is all about encryption and general security (mostly over the internet). You learn about simple encryption techniques (e.g. Caesar ciphers) and some of the encryption protocols for generating SSH keys (e.g. Diffie-Hellman, RSA. etc). You also learn about security levels and a little about how they're implemented in Unix systems (user-group-everyone - the chmod stuff). The assignment for this part of the course was relatively straightforward and almost everyone got high 90's or perfect.

Anyway, the breakdown for this course is as follows:

Assignments (3 of them) : 10% each
Midterm : 20%
Exam : 50%

Now if you've had SFWR ENG 2C03 / CS 2C03, you know that Janicki is an awful professor. This course is no exception - he's back to his old talking to the floor-tile and stuttering self. He does lighten up a bit during the security part of the course (this is what he actually researches) which is kind of nice. Still not worth going to any of his lectures (except maybe the ones on tabular expressions - I don't know). His slides are kind of dry, but they're decent enough. The tutorials are worth going to. The TA we had was a pretty cool guy and effectively explained a lot of things.

One thing you may have noticed about Janicki is he's lazy and tends to give the same midterm as previous years. Unbeknownst to me at the time, a lot of people in my year had gotten last year's midterm ahead of the actual midterm date. Therefore, a lot of absolute idiots got perfect on it. Same thing happened with the second assignment - and Janicki reprimanded some people for it (not sure how). Anyway, what it resulted in was a pretty hard exam that according to the TA who a friend of mine talked to a few months later - we got raped on.

I got a 10 in the end of the course... so I guess I did pretty decent on the exam. My advice would be copy down every example of a tabular expression you can find onto your cheat sheet (you're allowed one double-sided one). I was fortunate enough to had copied the exact question he put on the final about tabular expressions onto my cheat sheet.

Don't bother buying the textbooks for this course. Both are available online as PDF/CHM and you don't even need the one on security.

Overall, I would say this is probably one of my most disliked courses I've taken in software engineering (along with SFWR ENG 2DM3).

Good luck!

kanishka says thanks to Ownaginatios for this post.

kanishka likes this.
Deleted Post
Edit/Delete Message
Click here to add your own review for SFWR ENG 3RA3/CS 3SR3 - Software Requirements and Security Considerations!

Old 06-23-2011 at 04:50 AM   #2
kanishka
winning
Posts: 762

Thanked: 37 Times
Liked: 39 Times
LOL @ Janicki

And Thank you for the review. That really helped!
  Reply With Quote
Old 06-23-2011 at 04:53 AM   #3
kanishka
winning
Posts: 762

Thanked: 37 Times
Liked: 39 Times
Also can you please review Mechatron 3TA4, if possible? Thanks.
  Reply With Quote
Old 09-13-2011 at 11:56 PM   #4
broussar
Member
Posts: 30

Thanked: 0 Times
Liked: Liked 2 Times
Thanks for the review
  Reply With Quote
Old 12-14-2011 at 09:16 AM   #5
kanishka
winning
Posts: 762

Thanked: 37 Times
Liked: 39 Times
Would like to add a few more points (Apologies if they are repetitive):
1) Janicki- Its only better that I don't say anything about him. If you are taking this course, you have most likely been through the hell that's called Sfwr 2C03 or CS 2C03, and you know what I'm talking about.
2) Assignments/Midterm- Exactly what Dillon says in the above review. The first one is long but easy. The second one requires you to understand how tabular expressions work and require you to think in that manner. The third one is fairly straight forward.
3) Exam- The exam, wasn't too bad in my opinion. It was long, no doubt. The first question was basically the same as the midterm except the interview scenario, which is different. The second question was on tabular expressions. If you did the second assignment, or at least understood how to do it, you should be fine for this too. Although, keep in mind that you have to think fast. The rest of the paper included a section on Security, and a few theory questions related to tabular expressions. You should be good on these if you have a good cheat sheet. Make sure you get everything on your cheat sheet regarding the topics he mentions under the "Exam Topics" pdf.
4) This is one class for which I can say that there is no point going to the lectures and that's the one and only thing I learnt from SE 2C03.

Overall, there was plenty to learn in this course. The question is, will you learn anything?

Good Luck.
  Reply With Quote



Review Tools Search this Review
Search this Review:

Advanced Search

Posting Rules
You may not post new reviews
You may not post comments
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



McMaster University News and Information, Student-run Community, with topics ranging from Student Life, Advice, News, Events, and General Help.
Notice: The views and opinions expressed in this page are strictly those of the student(s) who authored the content. The contents of this page have not been reviewed or approved by McMaster University or the MSU (McMaster Students Union). Being a student-run community, all articles and discussion posts on MacInsiders are unofficial and it is therefore always recommended that you visit the official McMaster website for the most accurate up-to-date information.

Copyright © MacInsiders.com All Rights Reserved. No content can be re-used or re-published without permission. MacInsiders is a service of Fullerton Media Inc. | Created by Chad
Originally Powered by vBulletin®, Copyright © 2019 MH Sub I, LLC dba vBulletin. All rights reserved. | Privacy | Terms