Slides and Readings

Lecture slides are posted in the order they will be covered in class. All slides are in PDF format, with 1 slide per page.


Slides

Course Information/Introduction to Software Engineering

The Software Life Cycle

Extreme Programming

Project Management and Scrum

Requirements Elicitation (added 9/16/09)

Analysis (Specification Development)

System Design

Object Design

Implementation: Mapping Models to Code

Testing

Aspect-Oriented Development

System Safety and Hazard Analysis

Literate Programming

Formal Specification and Z


Other (Optional) Readings

Why Software Sucks (and what to do about it), Scott Berkun

Software Processes are Software Too, Leon J. Osterweil

We Will Not Ship Sh*t, Robert C. Martin


The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Systems, Butler & Finelli (why exhaustive testing doesn't always work)

Symbolic Model Checking: 1020 States and Beyond, Burch et al. (the difficulty of automated program verification -- WARNING: this is a very technical paper)

Literate Programming resources: http://www.literateprogramming.com



We gratefully acknowledge the assistance of Phil Lewis, Rob Kelly, Annie Liu, Scott Stoller, and Amanda Stent.