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 involve specification, design, programming, and testing.
Bob
Keller, 1253 Olin (office hours 4:15-5:30 MTW, or whenever I'm in),
keller@cs.hmc.edu, x 18483
Meg Campbell
Alice Xu
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.
·
Dwayne Phillips, The Software Project Manager's Handbook:
Principles That Work at Work (Paperback) 2nd edition, Publisher:
Wiley-IEEE Computer Society Pr (July 1, 2004), ISBN-10: 0471674206, ISBN-13:
978-0471674207
·
Robert C. Martin, Agile
Software Development, Principles, Patterns, and Practices (Hardcover), Prentice
Hall (October 25, 2002), ISBN-10: 0135974445, ISBN-13: 978-0135974445


o Daryl
Kulak, Eamonn Guiney, Use
cases: Requirements in context, 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, Addison-Wesley,
1995.
o Dean Leffingwell, Don Widrig, Managing
software requirements : a unified approach, 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, Addison-Wesley, 1998.
o Ivar Jacobson, Grady Booch, James Rumbaugh,
The
unified software development process, Addison-Wesley, 1999.
o Grady Booch, Ivar Jacobson, James Rumbaugh,
The
unified modeling language user guide, Addison-Wesley, 1998.
o Barry W. Boehm, et al. Software
Cost Estimation with COCOMO II , Prentice-Hall, 2001.