Course References
There is no good single text for this course because the course does not focus on any single methodology or any single type of software system. Therefore, there is no required textbook for this course, but there are several references (which the lectures are drawn from) that are worth reading and having on your bookself.
You can gain free access to online versions of all these references, in a way that you can annotate and highlight your own copy, via the university’s subscription to the O’Reilly Learning platform. Use this opportunity to take a look at these texts and see if any are worth buying. See the course’s Resources Web page for instructions on how to access these references.
- Karl Wiegers and Joy Beatty, Software Requirements, 3ed, Microsoft Press, 2013.
- Ash Maurya, Running Lean, 2ed, O’Reilly, 2012.
- Steve Adolph, Paul Bramble, Alistair Cockburn, and Andy Pols, Patterns for Effective Use Cases, Addison-Wesley Proessional, 2002.
- Mike Cohn, User Stories Applied: For Agile Software Development, Addison-Wesley Professional, 2004.
- Richard Banfield, C. Todd Lombardo, and Trace Wax, Design Sprint, O’Reilly Media, Inc., 2015
- Craig Larman, Applying UML and Patterns, 3ed., Prentice Hall, 2004.
- Lenny Delligatti, SysML Distilled: A Brief Guide to the Systems Modeling Language, Addison-Wesley Professional, 2013.
- Steve McConnell, Software Estimation: Demystifying the Black Art, Microsoft Press, 2006.
- Steve McConnell, Rapid Development: Taming Wild Software Schedules, Microsoft Press, 2996.
- Alan Davis, Just Enough Requirements Management: Where Software Development Meets Marketing, Dorset House Publishing, 2005.
- James D. Kiper and Martin S. Feather, “A Risk-Based Approach to Strategic Decision-Making for Software Development,” in Proceedings of the 38th Annual Hawaii International Conference on System Sciences, 2005.
- Michael Jackson. “The Meaning of Requirements”, in Annals of Software Engineering, vol. 3, pp. 5–21 (1997).
- Joachim Karlsson and Kevin Ryan, “A Cost-Value Approach for Prioritizing Requirements.” in IEEE Software, vol. 14, no. 5 (Sep. 1997), pp. 67-74.
- ISO/IEC/IEEE, “Section 9.6: Software Requirements Specification (SRS) content”, in Systems and Software Engineering – Life Cycle Processes – Requirements Engineering, International Standard 29148-2018, November 30, 2018.