Winter 2012




 Lab Activities 

 Group Project 

 Online Resources 


Software Engineering

Instructor: Qusay H. Mahmoud, Ph.D.

Email: qmahmoud at 
Office: Reynolds, Room 302
Office hours: Monday & Wednesday 11:00 - 12:00

Course Description
Graduate Calendar Description: This course is an examination of the software engineering process, the production of reliable systems and techniques for the design and development of complex software. Topics include object-oriented analysis, design and modeling, software architectures, software reviews, software quality, software engineering, ethics, maintenance and formal specifications.

This is a project-based course whereby students develop a software product (too big for one person) for a real client, allowing them to experience all aspects of the software development life cycle. Emphasis is placed on the structured and formal specification of software requirements, the use of well-defined analysis and design techniques, and the systematic verification and validation of software products. Practical experience for concepts discussed in class is acquired through the labs as well as the multi-phase group project. This project includes documentation evaluated for technical details, style, grammar, and spelling. The objective of this course is to produce software engineers that are capable of building quality software products on time and within budget. You will learn about the full software development life cycle from requirements to implementation, testing, and deployment & maintenance.

Copyright © Qusay H. Mahmoud , University of Guelph.