"CS G110 Managing Software Development Covers software life cycle models (waterfall, spiral, etc.), domain engineering methods, requirements analysis methods (including formal specifications), software design principles and methods, verification and testing methods, resource and schedule estimation for individual software engineers, component-based software development methods and architecture, languages for describing software processes. Includes a project where some of the software engineering methods (from domain modeling to testing) are applied in an example." We use the SDG as a case study to learn about software devlopment for small projects. We use a spiral model of software development. While it might appear that we don't cover software engineering issues, when we discuss different design and programming options, those options are important to a successful project. http://www.ccs.neu.edu/home/lieber/courses/csg110/sp08/Pragmatic%20Quick%20Reference.htm Don't Live with Broken Windows