|
|
|
|
|
|
|
|
|
|
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
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
|
Major Topics Covered in Course
-
The problem statement, developer-client interactions. Overview of software engineering - life cycle models, software deliverables. 3 hours
-
Software development team concepts, team organization, team structures. Project management, the project plan. 3 hours
-
Requirements analysis, methods, models. For example, structured analysis with use of data flow diagrams, data dictionary, entity-relationship diagrams. 7 hours
-
Software specification, methods, and models. For example, structured analysis with use of process specifications, state transition diagrams. 3.5 hours
-
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
-
Detailed design concepts, methods and models. For example, structured analysis with use of PDL 2.5 hours
-
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
-
Software implementation, transition from design to code. 1 hour
-
Software testing and evaluation. Black and white box test design strategies and related techniques, testing at multiple levels, regression test. 6.5 hours
-
Software quality, reviews, and metrics. 3 hours
-
Software maintenance and re-engineering. Types of maintenance, role of configuration management, legacy code, tool support for maintenance. 1.5 hours
-
Selected Topics 1.5 hours
-
Midterm Exam 1.5 hours
-
Final Exam - 1.5 hours
-
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:
-
Each student must be a member of a team.
-
Each team will be composed of 4 students.
-
Each team must choose a different team leader for each life cycle deliverable.
-
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.
-
It is the responsibility of each team member to share equally in the work.
-
It is the responsibility of each team member to communicate and work productively towards a common goal with the other team members.
-
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:
-
Choose a team leader for the software requirements analysis phase.
-
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.)
-
Choose a company name and create a logo.
-
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.
-
click
here for more details
E-mail the following information to Me aldaoma@iit.edu
-
Name, section number and student ID of each team member.
-
Team contact and email address
-
Name of your team/company.
-
Team/company Logo.
-
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%):
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
|
|
|
|
|
|
|
|
|
|
|