COSC****E: Software Engineering
Instructor: Haibin Zhu, PhD
Office: A124A Ext: 4434
Email: *******@**********.**
Web: http://www.nipissingu.ca/faculty/haibinz
Office Hours: Mon., Tue., and Thu. : 10:00am-12:00pm or by appointment
Course Description:
This course provides an in-depth study of the fundamental principles underlying Software Engineering. It covers the software lifecycle starting with requirements engineering, continuing through design, and implementation, and with integration and testing. It also examines key cross-lifecycle activities such as project management, measurement, and quality assurance. In particular, the material presented will address management issues associated with people, product, and process. A systematic approach to evolve software is emphasized recognizing the dependencies between software development and maintenance activities. Specific topics will focus on software process and project measurements, project planning, risk analysis, project scheduling and tracking.
This course will present modern approaches to the current techniques used in software design and development.
Textbook:
Roger S. Pressman,
Software Engineering: A Practitioner's Approach, McGraw-Hill Science/Engineering/Math; 6th edition (April 2, 2004)
ISBN: 007301933X
Reference: Ian Sommerville, Software Engineering (7th Edition) (International Computer Science Series), by Addison Wesley; 7 edition (May 10, 2004). ISBN: 032******* Eric J. Braude, Software Engineering: an Object-Oriented Prospective, 10/e, John Wiley & Sons Inc., @2001. ISBN: 9-471-32208-3John W, Satzinger, Robert B. Jackson, and Stephen D. Burd, Systems Analysis and Design, 10/e, Course Technology, @ 2002. ISBN: 0-619-06309-2
Website: www.mhhe.com/pressman
Course grade: 3 Lab Assignments: 10%Project: 25%2 Tests: 30% Final Exam: 35%A: 100-80B: 79-70C: 69-60D: 59-50F: 49-0
Schedule for COSC4406E
(12:00pm-2:00pm, Tue. and Thu., A132, Fall 2012)
Date
Lectures/Labs (2-hours)
Contents
9/11
Lect1
Software and Software Process
9/13
Lect2
Software Process and Agile Development
9/18
Lect3
Project Management
9/20
Lab 1
9/25
Lect4
Practice and System Engineering
9/27
Lect5
Requirements Engineering (Project Plan Due)
10/02
Lect6
Analysis Modeling
10/04
Test 1
10/09
No Lecture
Study Week
10/11
No Lecture
Study Week
10/16
Lab 2
(Analysis Report Due)
10/18
Lect7
Design Engineering
10/23
Lect8
Architectural Design
10/25
Lect9
Component-Level Design and User Interface Design
10/31
Lab 3
(Design Report Due)
11/01
Lect10
Software Testing Strategies
11/06
Lect11
Software Testing Techniques
11/08
Test 2
11/13
Lect12
Product Metrics for Software
11/15
Lect13
Web Engineering (Coding Plan Report due)
11/20
Lect14
Project Estimation and Scheduling
11/22
Lect15
Risk Management and Quality Management
11/27
Lect16
Formal Methods
11/29
Lect17
Component-Based Software Engineering
12/04
Final report presentation
(Revised final report and user’s manual due)
12/06
Review
12/
Final Exam
Note: Everything may be subject to change, please pay attention to the class declarations.