Links | Lecture Slides | Assignments
This course deals with the processes involved in software development, from requirements specification and analysis, on through design, implementation, and quality assurance. We discuss ways to organize and manage work processes as well as technical design models. Projects will likely involve game specification, design, programming, and testing in C++ on a Windows environment.
Bob Keller, 1249 Olin (office hours 4-5 MW, 3-4 TuTh, or whenever I'm in), keller@cs.hmc.edu, x 18483
Rigorous introduction to the technological and managerial discipline
concerned with the design and implementation of large software systems.
Techniques for software specification, design, verification, and validation.
Formal methods for proving the correctness of programs. Students working in
teams are required to design, implement, and present a substantial software
project.
Prerequisites: Computer Science 70.
The required text is:
This book includes a CDROM with source code to a
somewhat-sophisticated working game using Windows DirectX. About twenty “stripes”
or versions of an iterative development are included. Like this course, its
focus is more on software engineering than on game programming.
You may be interested in acquiring one or more additional textbooks, for example:
This
book includes lots of code on CDROM for very simple 2-D games using Windows GDI
(Graphics Device Interface) and could be helpful on the first project.
o
Daryl Kulak, Eamonn Guiney, Use
cases: Requirements in context, Reading, MA : Addison-Wesley, 2000.
o
Alistair Cockburn, Writing
Effective Use Cases, Addison-Wesley, 2001.
o
Erich Gamma, Richard Helm, Ralph Johnson, John
Vlissides, Design
patterns: Elements of reusable object-oriented software Reading, Mass :
Addison-Wesley, 1995.
o
Dean Leffingwell, Don Widrig, Managing
software requirements : a unified approach, Reading, MA : Addison-Wesley,
2000.
o
Phillipe Kruchten, The
Rational Unified Process, an Introduction, Second Edition Addison-Wesley,
2000, ISBN: 0201707101.
o
James Rumbaugh, Ivar Jacobson, Grady Booch, The
unified modeling language reference manual, Reading, Mass : Addison-Wesley,
1998.
o
Ivar Jacobson, Grady Booch, James Rumbaugh, The
unified software development process, Reading, Mass : Addison-Wesley, 1999.
o
Grady Booch, Ivar Jacobson, James Rumbaugh, The
unified modeling language user guide, Reading, Mass : Addison-Wesley, 1998.
o Barry W. Boehm, et al. Software Cost Estimation with COCOMO II , Prentice-Hall, 2001.