September 18:
Introduction to Software Engineering, software development processes
September 20:
Software reengineering
September 23:
Unified Modeling Language (UML) structure diagrams
Due: Project selection and overview description
September 24 (Laboratory):
Reverse-engineering UML diagrams from code, using CVS to download source code
September 25:
Introduction to software architecture and common architectural styles.
September 27:
Software project management, software risk analysis
Due: Homework #1 (UML assignment)
September 30:
Requirements analysis and specification, scenarios in the requirements process
Due: Reverse-engineered UML diagrams
October 1 (Laboratory):
Software configuration management using Subversion
October 2:
Requirements analysis and specification, cost estimation
Due: Project scenarios document
October 4:
User interface design, paper prototyping
October 7:
Evaluation of software architectures
October 9:
Due: In-class presentation giving project overview, goals, UI
Due: Project source code and documents under configuration control
Due:
Requirements specification for proposed modifications, including UI sketches
October 11:
Evaluation of software architectures
Due:
Project time estimate, risk analysis
Receive: Questions for take-home Exam #1
October 14:
No formal class meeting, class time can be used for Exam #1.
October 16:
UML sequence diagrams, processes & threads, flow of control
Due: User manual
Due: Take home Exam #1
October 18:
Abstraction, modularity, separation of concerns, introduction to design patterns
October 21:
Software qualities, white & black box testing
October 23:
Using fault models to guide testing, user interface attacks
Due: Software design document
October 25:
System interface attacks
October 28:
Control flow diagrams, all-paths testing
October 30:
Software inspections
November 1:
Software inspections video
November 4:
Software evolution
Due: Homework #2 (White box testing)
November 6:
Software evolution
Due: Acceptance test plan
November 8:
Code decay, predicting fault incidence
November 11:
No class, Veteran's Day
November 12 (Laboratory):
Software inspections of project code. Each group must bring paper copies of their code to the inspection (one copy per group member).
November 13:
Software configuration management
November 15:
Software configuration management
November 18:
Literate programming
November 20:
Extreme programming, literate programming
November 22:
Exam #2
November 25:
Software Engineering card game
November 26 (Laboratory):
Software acceptance testing (2 groups). Each group will have a scheduled acceptance test time, which may not occur during the laboratory.
November 27:
No lecture, meet in lab for project presentations.
Due: Final project notebook, including source code, and up-to-date documentation
Last updated: