Syllabus - Software Methodology - Spring 2003

Week 1: Software Process

April 1:
Introduction to Software Engineering, software development processes

April 3:
Software reengineering
Due: Student resumes, Review of Lifecycle Planning

Week 2: Architecture, Project Management

Laboratory:
Intro to configuration management and CVS

April 8:
Introduction to software architecture and common architectural styles.
Due: Project group selection and overview description

April 10:
Software project management, software risk analysis
Due: Review of Software Risk Management: Principles and Practices

Week 3: Requirements Engineering

Laboratory:
Using Subversion for Configuration Management

April 15:
Requirements analysis and specification, scenarios in the requirements process, cost estimation
Due: Project scenarios document, reverse-engineered software architecture

April 17:
User interface design, paper prototyping
Due: Review of Prototyping for Tiny Fingers
Due: Review of Chapter 3 (sections 3.1, 3.2 only) Requirements Elicitation

Week 4: Software Architecture

April 22:
Abstraction, modularity, separation of concerns
Due: Review of Software: It's Nature and Qualities
Due: Review of Software Engineering Principles
  [Note: above readings may be passed in on the 24th if finishing them by the 22nd would be a hardship.]
Due: Project source code and documents must be under under configuration control

April 24:
UML structure diagrams, UML sequence diagrams
Due: Requirements specification (including UI sketches), project time estimate, risk analysis

Week 5: Software Qualities, Software Design

April 29:
In-class presentation giving project overview, goals, UI, etc. ~10min each.
Due: Homework #1 (UML assignment)

May 1:
Processes & threads, flow of control, software qualities
Due: User manual

Week 6: Software Testing

May 6:
White & black box testing, using fault models to guide testing
Due: Review of On the criteria to be used in decomposing systems into Modules (Parnas)
[CANCELLED: Take home Exam #1]

May 8:
User interface attacks, System interface attacks
Due: Software design document

Week 7: Software Inspections

May 13:
Control flow diagrams, all-paths testing
Due: Review of Path Testing

May 15:
Software inspections, software inspections video
Due: Acceptance test plan

Week 8: Software Evolution (1)

May 20:
Software evolution
Due: Inspections will be scheduled this week
Due: Homework #2 (White box testing)

May 22:
In-class presentations on project status
Due: Inspections will be run this week
Due: Review of Software Aging

Week 9: Software Evolution (2) and Configuration Management

May 27:
Software evolution, source code analysis for evolution-related metrics
Due: Take-home quiz

May 29:
Software Configuration Management
Due: Review of Rules and Tools for Software Evolution Planning and Management
 

Week 10: Acceptance Testing and Project Delivery

June 3: Presentations? (~20 min each)
Due: Acceptance tests will be run this week

June 5: Presentations?
Due: Acceptance tests will be run this week
Due: Final project notebook
 

Last updated: 5/2/2003