Page 326 -
P. 326
CHAPTER 11 ANALYSIS CONCEPTS AND PRINCIPLES 297
11.11. Build a paper prototype (or a real prototype) for SafeHome. Be sure to depict
owner interaction and overall system function.
11.12. Try to identify software components of SafeHome that might be "reusable" in
other products or systems. Attempt to categorize these components.
11.13. Develop a written specification for SafeHome using the outline provided at
the SEPA Web site. (Note: Your instructor will suggest which sections to complete at
this time.) Be sure to apply the questions that are described for the specification review.
11.14. How did your requirements differ from others who attempted a solution for
SafeHome? Who built a "Chevy"—who built a "Cadillac"?
FURTHER READINGS AND INFORMATION SOURCES
Books that address requirements engineering provide a good foundation for the study
of basic analysis concepts and principles. Thayer and Dorfman (Software Require-
ments Engineering, 2nd ed., IEEE Computer Society Press, 1997) present a worthwhile
anthology on the subject. Graham and Graham (Requirements Engineering and Rapid
Development, Addison-Wesley, 1998) emphasize rapid development and the use of
object-oriented methods in their discussion of requirements engineering, while Mac-
Cauley (Requirements Engineering, Springer-Verlag, 1996) presents a brief academic
treatment of the subject.
In years past, the literature emphasized requirements modeling and specification
methods, but today, equal emphasis has been given to effective methods for software
requirements elicitation. Wood and Silver (Joint Application Development, 2nd ed.,
Wiley, 1995) have written the definitive treatment of joint application development.
Cohen and Cohen (Quality Function Deployment, Addison-Wesley, 1995), Terninko
(Step-by-Step QFD: Customer-Driven Product Design, Saint Lucie Press, 1997), Gause
and Weinberg [GAU89], and Zahniser [ZAH90] discuss the mechanics of effective
meetings, methods for brainstorming, and elicitation approaches that can be used to
clarify results and a variety of other useful issues. Use-cases have become an impor-
tant part of object-oriented requirements analysis, but they can be used regardless
of the implementation technology selected. Rosenburg and Scott (Use-Case Driven
Object Modeling with UML: A Practical Approach, Addison-Wesley, 1999), Schneider et
al. (Applying Use-Cases: A Practical Guide, Addison-Wesley, 1998), and Texel and
Williams (Use-Cases Combined With Booch/OMT/UML, Prentice-Hall, 1997) provide
detailed guidance and many useful examples.
Information domain analysis is a fundamental principle of requirements analysis.
Books by Mattison (The Object-Oriented Enterprise, McGraw-Hill, 1994), Tillman (A
Practical Guide to Logical Data Modeling, McGraw-Hill, 1993), and Modell (Data Analy-
sis, Data Modeling and Classification, McGraw-Hill, 1992) cover various aspects of this
important subject.

