Class Slides


Class Syllabus

Other links

Requirement Specifications Template

Design Specification Template


Text Book


Software Engineering:  8/E

Ian Sommerville, University of St. Andrews, United Kingdom

ISBN-10: 0321313798
ISBN-13: 9780321313799
Publisher: Addison-Wesley
Copyright: 2006

Java Class Notes and Tutorial


Spring 2011 Project

Surveillance / Security Camera Installation and maintenance Shop Requirements

Shop website can be found here.

Fall 2007 Project

Summer 2011 SE Project:
Garage Door Repair Company

Spring 2011 Project:
Security Camera Installation Company

CS487 Software Engineering


Software Engineering:  8/E

Ian Sommerville, University of St. Andrews, United Kingdom







Project Deliverables


Current Catalog Description

Study of the principles and practices of software engineering. Topics include:

software quality concepts, process models, software requirements analysis, design methodologies, software testing, and software maintenance. Hands-on experience building a software system using the waterfall life cycle model. Students working in teams develop all life cycle deliverables: requirements document, specification and design documents, system code, test plan, and user manuals. Prerequisite: CS 331 or CS 401 or CS 403. (3-0-3) (C)


Students should be able to:

  • Understand and explain software development as a series of engineering activities, and processes.

  • Demonstrate software development team-working skills.

  • Analyze client/user needs.

  • Select an appropriate life cycle and process model for development of a software product.

  • Explain the importance of software quality evaluation activities.

  • Develop a series of software life-cycle deliverables.

  • Develop representations/models and descriptions of an evolving software product for inclusion in a requirements specification document.

  • Build a multi-level design model and evaluate software design alternatives

  • Design, execute, and log multi-level software tests.

  • Describe the role that tools can play in the software life cycle.

  • Communicate, verbally and in writing, the deliverables of a software development project.



Contact Info



Students and Teams










Design References - Web Site Project


Old Semesters Projects:
Web Site Design Project





Major Topics Covered in Course

  1. The problem statement, developer-client interactions. Overview of software engineering - life cycle models, software deliverables. 3 hours

  2. Software development team concepts, team organization, team structures. Project management, the project plan. 3 hours

  3. Requirements analysis, methods, models. For example, structured analysis with use of data flow diagrams, data dictionary, entity-relationship diagrams. 7 hours

  4. Software specification, methods, and models. For example, structured analysis with use of process specifications, state transition diagrams. 3.5 hours

  5. Preliminary design concepts, methods, and models. For example, structured analysis with use of structure charts, procedural abstractions. Concepts of top down decomposition, bottom-up composition, abstraction, coupling, cohesion, modularity, information hiding, reuse, architectural styles. 6.5 hours

  6. Detailed design concepts, methods and models. For example, structured analysis with use of PDL 2.5 hours

  7. Object concepts. Object-oriented analysis, nature of the approach, models. For example, Coad/Yourdon analysis model with use of class diagrams, class hierarchies, attribute, and service specifications. Role of use cases. Use of modeling languages such as UML. Object-oriented design approaches, for example Coad/Yourdon's 4-layer object-oriented design model. 4.5 hours

  8. Software implementation, transition from design to code. 1 hour

  9. Software testing and evaluation. Black and white box test design strategies and related techniques, testing at multiple levels, regression test. 6.5 hours

  10. Software quality, reviews, and metrics. 3 hours

  11. Software maintenance and re-engineering. Types of maintenance, role of configuration management, legacy code, tool support for maintenance. 1.5 hours

  12. Selected Topics 1.5 hours

  13. Midterm Exam 1.5 hours

  14. Final Exam - 1.5 hours

  15. Total 45 hours

Back to top



Software Engineering: (Update), 8/E
Ian Sommerville, University of St. Andrews, United Kingdom

ISBN-10: 0321313798
ISBN-13: 9780321313799
Publisher: Addison-Wesley
Copyright: 2006

Back to top


This course will help you to understand software development as a series of engineering activities. An objective of the course is to build software development team-working skills. Students will gain hands-on experience through building a software system using the waterfall lifecycle model. Students, working on teams, will develop the following life cycle deliverables: software requirements specification, software design specification, test specification, code and user manual. At the end of the semester, each team will give a demonstration of their system.

How the teams will be organized:

  1. Each student must be a member of a team.

  2. Each team will be composed of 4 students.

  3. Each team must choose a different team leader for each life cycle deliverable.

  4. For each deliverable, the team will fill out a phase evaluation form that indicates how the work was distributed among the team members. These percentages will be used, at the end of the semester, when final grades are computed.

  5. It is the responsibility of each team member to share equally in the work.

  6. It is the responsibility of each team member to communicate and work productively towards a common goal with the other team members.

  7. Design References - Web Site Project

The first week of class:

You must organize into teams. Check the course web page. Teams will be posted as they form and are approved. This is a good way to find a team that needs another member.

Each team must:

  1. Choose a team leader for the software requirements analysis phase.

  2. Choose a team contact for the semester and provide the email address of this individual. (The team contact must monitor his/her email on a regular basis.)

  3. Choose a company name and create a logo.

  4. Create and agree to a plan describing how your members will communicate/work as a team. (ideas: communicate through email, meet before each class for an hour, telephone, fax documents to each other for review…) This should be brief, but each team member must agree to it.

  5. click here for more details

E-mail the following information to Me aldaoma@iit.edu

  1. Name, section number and student ID of each team member.

  2. Team contact and email address

  3. Name of your team/company.

  4. Team/company Logo.

  5. Team plan for communication.


You will have two exams: a midterm and a final. Exams are closed book, closed notes, closed neighbor, no cell phones. The instructor reserves the right to assign a failing semester grade to any student who fails or does not take the final exam. No make-up exams.


You will take two quizzes this semester during your scheduled lecture time. No make-up quizzes.


You will be assigned a programming project where you solve a real world problem. Details will follow shortly.

Back to top


Project (40%):

  • 10% - Requirements Specification
  • 10% - Design Specification
  • 5% - Test Specification
  • 10% - Code and Final Report
  • 5% - Project Demo

Homework (10%):

  • 10% - Homework

Exams (50%):

  • 25% - Exam I
  • 25% - Exam II

Letter Grade and Point Range:

  • A 90-100 points
  • B 75-89 points
  • C 60-74 points
  • D 45-59 points
  • E 0-44 points

Back to top


 Any indication of copying or cheating during quizzes/exams, on labs, or on the programming project will result in an immediate zero for the assignment for all parties involved and notification of the student's advisor/department and the Undergraduate Dean.

Back to top


Omar Aldawud (aldaoma@iit.edu)

Office: Rice Campus Room 230
Office Hours:  Monday, Wed 5:30 6:25
Voice: 630 - 682- 6021, Fax: 312.567.5067
Mailbox: Rice Campus : Dr. Omar Aldawud CS487
 Available by email  aldaoma@iit.edu


TA Information


Back to top