HOME

Class Slides

Project

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)

GOALS:

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

Sections

SLIDES
PROJECT

Students and Teams
LECTURER

COURSE GOALS

TEXTBOOK

TEAM ORG

EXAMS/QUIZZES

PROGRAMMING PROJECT

GRADING

ETHICS

COURSE DESCRIPTION

 

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

TEXTBOOK (REQUIRED)

 

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

TEAM ORGANIZATION

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.

EXAMS

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.

QUIZZES

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

PROGRAMMING PROJECT

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

Back to top

Grading:

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

ETHICS

 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

Instructor

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