MacInsiders Logo

Similar Threads
Review Review Starter Category Comments Last Post
Sfwr Eng 2s03 jp1390 2nd Year Course Reviews 1 05-13-2016 08:02 PM
SFWR ENG 2DA4 - Digital System Principles and Logic Ownaginatios 2nd Year Course Reviews 4 09-13-2011 11:57 PM
SFWR ENG 2AA4 - Software Component Design Ownaginatios 2nd Year Course Reviews 0 12-24-2010 05:00 AM
SFWR ENG 2GA3 - The Digital Image Ownaginatios 2nd Year Course Reviews 0 12-29-2009 02:05 AM
Academic requisites for course SFWR ENG 2DA4? wendy0519 General Discussion 9 06-22-2009 07:45 PM

SFWR ENG 3A04 - Large System Design

 
SFWR ENG 3A04 - Large System Design
One of the few very fundamental software engineering classes.
Published by Ownaginatios
06-02-2011
Published by
Ownaginatios's Avatar
Trolling ain't easy
Join Date: Jul 2008
Posts: 3,190

Author review
Overall Rating
80%80%80%
8
Professor Rating
90%90%90%
9
Interest
80%80%80%
8
Easiness
70%70%70%
7
Average 80%
SFWR ENG 3A04 - Large System Design

Now if there is one class you should make sure you actually learn throughout your software engineering studies at McMaster University - it is this one. SFWR ENG 3A04 is one of the most fundamental classes to software engineering and teaches you about designing large scale software systems. This is what software engineers do in the real world.

The course starts off with teaching the basics of designing classes/modules, which is in general - UML. This overlaps with SFWR ENG 3RA3 to the point where the two professors are literally using the same slides. Following that, the course moves on into software architectures and how to select the appropriate architecture for a problem at hand. This is the key thing all software engineers should understand. You learn about some of the very key architectures used in all software systems today, such as MVC (for web applications) and Black-Board (for decision supporting systems). Pretty much any software system in existence is some sort of mash-up of the architectures you will learn about.

Beyond that, you will learn some pretty concrete design principles (again crossing over with SFWR ENG 3RA3) which for example include "A security feature should not be secure because of concealed functionality", meaning that your security feature shouldn't only be secure because nobody knows how it works. There are a lot more of these simple yet important design principles you will learn.

That about covers the content of the course. Here is what the breakdown was when I took it:

40% - 4 assignments/deliverables
20% - Midterm
40% - Final Exam

The professor I had for this course was Dr. Khedri and he was great (just as he was in 2FA3). Everything was pretty fairly marked. He gave random quizzes to encourage students to come to class, which if you were listening in prior classes, were extremely easy. Each quiz was worth one percent and for each one he did, he reduced the weighting of the final exam by 1%. We got it down to 36% (4 quizzes) when I took it.

The unique part about this course is the assignments - they're all in groups. The assignments are actually deliverables in a massive project where you design a software system from the ground up - learning which steps to take for each deliverable as the class progresses. The first deliverable was writing software requirements (what your software must do/be), the second is an architecture design (laying out the classes, abstractly talking about what you're going to do), the third is actually designing it in detail (over 9000 UML diagrams), and the fourth is actually implementing it. The thing you're actually making is up to Dr. Khedri. In my year, we had to make a task manager.

Unfortunately when I took this course, I had a horrible experience with the assignments. The groups were selected based on people's cumulative GPAs by the registrar. The idea was the average GPAs of the groups would be relatively equal. I had a 10.9 GPA at the time, so I got placed with the worst of the worst - two people who had been reinstated (one of them twice), a guy who was planning on switching out of engineering and a guy who just didn't care about school. Basically, I ended up doing around 80% of this project myself and having several arguments outside of class with the professor and my TA. It was god awful and something I would never want to do again. We ended up doing pretty good on all the deliverables, except the last one because none of the morons in my group understood object oriented programming and I simply didn't have the time to write everything myself. So ya, as long as you're average in GPA... you should be fine :p.

The midterm and final exam ended up being pretty easy. Most of the questions were "Here's a problem. What architecture would you use to build a software system to solve this problem and why?" Basically stuff you couldn't get wrong if you had a solid argument. Other than that, the rest was just definitions and a few diagrams.

Overall, even though I had a crap group, I would say I learned a lot. The textbook for this course is really boring, but it is very informative and worth reading all the way through. For both the midterm and exam I just stayed up all night reading the book and I did fine.

Got a 12 in the end . Just pay attention, don't mess up any of your deliverables (Dr. Khedri will make you do them again) and you will be fine.
Deleted Post
Edit/Delete Message
Click here to add your own review for SFWR ENG 3A04 - Large System Design!

Old 06-05-2011 at 11:22 AM   #2
kanishka
winning
Posts: 762

Thanked: 37 Times
Liked: 39 Times
Great review! Thanks!!
  Reply With Quote
Old 09-12-2011 at 10:42 AM   #3
kanishka
winning
Posts: 762

Thanked: 37 Times
Liked: 39 Times
Do we need to buy a textbook for this course?
  Reply With Quote
Old 09-12-2011 at 10:45 AM   #4
Ownaginatios
Trolling ain't easy
Posts: 3,190

Thanked: 499 Times
Liked: 1,642 Times
I would recommend it. You'll need to refer to it for most of the course, and the midterm + exam come directly from it.
__________________
Dillon Dixon
Alumni
Software Engineering and Embedded Systems
  Reply With Quote


Old 09-12-2011 at 10:46 AM   #5
kanishka
winning
Posts: 762

Thanked: 37 Times
Liked: 39 Times
Were you able to find a book online? or had to buy one?
  Reply With Quote
Old 09-12-2011 at 10:49 AM   #6
Ownaginatios
Trolling ain't easy
Posts: 3,190

Thanked: 499 Times
Liked: 1,642 Times
I was desperate when I bought it and needed it ASAP for the midterm (bought it late), so I paid full price for it from the school (like $60).

I think you can get it new off of amazon.com for around $20 though.
__________________
Dillon Dixon
Alumni
Software Engineering and Embedded Systems
  Reply With Quote
Old 09-13-2011 at 11:53 PM   #7
broussar
Member
Posts: 30

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

Thanked: 37 Times
Liked: 39 Times
Just got done with the course. Here's a few additional points:

1) The textbook is an absolute necessity in my opinion. For midterm, project and the exam.

2) Midterm/Exam- Refer to the above review from Dillon.

3) In my year we had to make an Android App that organized Scavenger Hunts and Campus tours on the campus of McMaster University.

4) We get only 1 week before the exams begin to code the software, and that is in no way enough. Get yourself familiar with Object Oriented Programming if you aren't already. 1 group in my year, got the entire app coded in time, but the rest of the groups just got the framework working and a few features to demonstrate, enough to get an 80 on the final deliverable.

Good Luck.

Last edited by jhan523 : 02-28-2012 at 11:55 PM.
  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