Assignment:
Obtain a software requirements document (or problem description) and become familiar with it. The source can be industry, your coursework, an example from a textbook, other places. You will need to present the document and do some evaluation and analysis in a subsequent week of class.
Required papers to read for the first week of classes:
Jackson, first day of class, several short articles about problem frames and context for software (requirements and) design... for presentation and discussion during the first week. (handout)
Brooks, "No Silver Bullet: Essence and Accident in Software Engineering," in (among other places) Brooks, The Mythical Man-Month, Anniversary Edition, Addison-Wesley, 1995.
Parnas, "A Rational Design Process: How and Why to Fake it," 12 IEEE TSE, Feb, 1986.
Beizer, "Software IS Different," (Address at Quality Week COnference, 1996), San Francisco. (handout)
Required readings to come:
From the Michael Jackson text, many sections will be assigned.
Safety-critical formal methods for requirements and analysis (Leveson Safety Group): RSML paper . Please read for Week 7.
Reporters for the week are to take notes, abstract out the important lessons we've learned (or missed) and present them in brief format to the class in the following week. Do not summarize except to the point that we'll recall what the major points were. The high level overview is what is really needed. We'd like to know about our progress (or lack of it).
You are to prepare a short presentation of the requirements document you have obtained for class. You will make a short summary of the document (what is the nature of the project) and evaluate a section of it (chosen by you) for its various qualities. A good reference to help you in this task is Karl Wiegers, "Software Requirements" chapter 14; Gause and Weinberg, "Exploring Requirements, Quality Before Design" chapters 23 and 24. More references we may cover:
Brooks, "No Silver Bullet," (Lots of places to find this one!) from his book: "The Mythical Man-Month," get the latest edition, it contains some updates to the article. (I would like to see you find the "reply" article by David Harel, entitled, "Biting the Silver Bullet" and let me know what you think.
Parnas, "Software Engineering Programs are Not Computer Science Programs" (this one can be found on the web only if you search by using the [proper] spelling: "programmes" in the title!), Nov/Dec IEEE Software, 1999.
Parnas, "A Rational Design Process, How and Why to Fake It," IEEE Transactions on Software Engineering, Feb 1986.
Beizer, "Software IS Different," 9th International Quality Week, San Francisco, May 1996 (Software Research Institute). I will put a copy of this one outside my office for you to copy. Please return the copy and keep it in good condition. Let me know if you find a web source for this one :-)
Hamlet, "Are We Testing for True Reliability?" IEEE Software, July, 92.
Andriole, Freeman, "Software Systems Engineering, the case for a new discipline." from Software Eng. J., May, 93.
Brooks, "No Silver Bullet, Essence and Accidents in Software Engineering," 87.
Parnas, Clements, "A Rational Design Process, How and Why to Fake It," IEEE Transactions on Software Engineering, Feb 86.
Faulk, "Software Requirements: A Tutorial," handout from Software Engineering, IEEE Computer Society.
Wing, "A Specifier's Introduction to Formal Methods," IEEEE Computer, Sept, 90.
Hall, "Seven Myths of Formal Methods," IEEE Software, Sept, 90.
Updated: Nov 2002