CS 487 Home

Class Slides

Project

Class Syllabus


Other links

Requirement Specifications Template

Design Specification Template

 

Text Book

Software Engineering
Roger S Pressman

Software Engineering: A Practitioner's Approach, sixth edition.  Roger S. Pressman.  ISBN: 0-07-301933-X

Check My Book List at Amazon
 

Java Class Notes and Tutorial

 

CS487 Software Engineering Fall 2007

 

HW# Description Due Date Points
HW#1 Submit Instructor your contact information Mon 9/2/07 1
HW#2 Select a Team Mon 9/9/07 3

 

 

Project Deliverables

  • Requirements Specification Document

  • Design Specification Document

  • Test Specification Document

  • Source Code and program executables

 

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

 

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: A Practitioner's Approach, sixth edition.  Roger S. Pressman.  ISBN: 0-07-301933-X

 

Software Engineering
Roger S Pressman

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.

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 and the TA wyuan3@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 (45%):

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

Homework (5%):

  • 5% - 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

Important Dates

 

Omar Aldawud (aldaoma@iit.edu)
Sections 071, 392 Lecture: Tuesday and Thursday 6:25 - 9:05 PM Rice Campus, Main Campus and Internet  Sections
Office: Rice Campus Room 230
Office Hours:  Tues,Turs: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 ,
-Wei Yuan
-Office hours: 3:00 pm to 4:30 pm Tuesday or by appointment
-Contact information:
wyuan3@iit.edu
 

CS-487-071 MC Software Engineering Aldawud, aldaoma@iit.edu LEC
RI 148 Tuesday 0625PM 0905PM 
TA
: Yuan, Wei weiyuan1981@gmail.com
CS-487-251 IN Software Engineering Aldawud aldaoma@iit.edu LEC
TA: Yuan, Wei weiyuan1981@gmail.com
CS-487-390 TV Software Engineering Aldawud, O aldaoma@iit.edu LEC
Tuesday 0625PM 0905PM
TA: Yuan, Wei weiyuan1981@gmail.com

 

Back to top