Prof - Math/CIS Home

advertisement
SUNY College at Old Westbury
CS4501 Software Engineering
Syllabus
1. Administrative Information:
Course Title: Software Engineering
Prerequisites: CS3810 (Data Structures and Algs), or
CS2511 (Prog II) and CS3611 (Adv. VB),
EC I (English Composition I)
2. Textbook:
Object-Oriented Software Engineering, Using UML, Patterns, and Java (3rd Edition)
Author: Bernd Bruegge and Allen H. Dutoit
ISBN-10: 0136061257
ISBN-13: 978-0136061250
3. Course Description:
Discipline OO design based large software product development. Learn the development
process through a single project by multiple teams. Hand on a software product from
requirements to final test. The course contents also include application domain knowledge,
various system models by using UML, system architecture and architecture patterns, project
management and professional practices.
4. Course Objectives
1) In the domain of “Project”
 Understand the necessary construction of a software development project and the function of
each role a person may play in the project
 Demonstrate the capability of self-adjustment following the rule of construction and fulfill the
requirements of the assigned tasks
 Understand the project management related issues such as project control, risk control,
product estimation, etc.
2) In the domain of “People”
 Understand the function of the teamwork in a large project. Work actively as a team member
in aspects of participating team meetings, making personal contribution, sharing information
and helping teammates
 Following the report scheme (see 4.2.2) and keeping a professional communication style
 Understand the roles of stakeholders in a project
3) In the domain of “Product”
 Understand the difference between the application domain knowledge and the system domain
knowledge
 Understand the artifacts in a software product
 Demonstrate the capabilities of writing correct requirements, abstracting the target system by
modeling, comprehending the concept and issues in software architecture, making correct
APIs between subsystem/components, applying learned techniques (programming,
algorithms, etc.) to implement the product and testing
 Handling the changes
 Show the capability of self-learning to prepare the techniques required in the project
4) In the domain of “Process”
 Understand the concept of software development process and the relationships among the
stages
 Understand and work in key activities for creating artifacts
 Keep the correctness of artifacts/documents by enforcing the trace-dependency among models
in different stages
 Understand the concept of iterations in a process
5. Course Requirements:
Students will be expected to complete assignments independently during the session. Also,
students will learn how to implement a large software product by teams and work
properly as a team member. Good communication skill is required. The classes are
organized as lecture/meeting/lab style. The meeting and lab attendances are required.
6. Grading Policy:
Letter grades to each student will be calculated depending on the points earned on the
projects, meeting attendance, attitude as a team member, as well as quizzes and the midterm
exam. The weights are:
Midterm … 30%
Quizzes … 5%
Reading/Writing/Speaking skills … 5%
Communication skill … 5%
Project meeting attendances … 5%
Project (assignments) … 50%
The course grades are assigned as:
90 – 100% -- range of A
80 – 89% -- range of B
70 – 79% -- range of C
60 – 69% -- range of D
Below 60% -- F
7. Course Management
The teaching management tool Angle will be used to post the assignments and collect the
submissions. More importantly it is for all communications.
8. Course Schedule
Week
Lecture Topic
Jan
Ch1. Introduction to Software Engineering
Week 1
(Survey)
Feb
Ch2. Modeling with UML
Week 2
Project starts: Set up teams, Team meeting – estimation
Week 3
Ch3. Project Organization and Communication
Meeting – Stakeholders meeting (User req. collection)
Week 4
Ch4. Requirements Elicitation
Meeting – task distribution, requirements
Week 5
2/21, Mon. Presidents’ Day, no class
Ch4. Requirements Elicitation
Meeting – requirements (key use cases)
Week 6
Ch5. Analysis
March
Week 7
Week 8
Ch5. Analysis
Team meeting: 1) analysis classes, packages
2) unique list of analysis classes for the 1st iteration
Review (Ch1 – Ch8)
Midterm
Week 9
Week 10
April
Week 11
Week 12
Week 13
Week 14
May
Week 15
Week 16, 17
Midterm summation
Ch6. Ch7. System Design
Ch6. Ch7. System Design
(Define subsystems and architecture patterns)
Ch8, 9. Object Design
Ch8, 9. Object Design (continue)
Meeting – 1) make the list of design classes
2) confirm APIs
Report to other teams (presentation)
Ch10. Mapping Models to Code
Implementation
Ch11. Testing
Implementation
Lab – implementation
Lab – integration test
Integration test
Final Team Project Report (formal presentation)
If you have or suspect you may have a physical, psychological, medical or learning disability that may impact either
your course work or extracurricular activities, please contact Dr. Lisa Whitten , Director, The Office of Services for
Students with Disabilities (OSSD). Academic Village, D112, Phone: 516-876-3009
Download