Book Cover
 
To navigate through this website, please use the pull-down menu below to select a chapter.
 

 

Chapter 5

Software Specification


At the end of this chapter you will know:
  • The role and importance of specification in many phases of software engineering.
  • The different purposes of specifications; the different styles and languages used for specification, the different goals for specifications, the different targets of specifications.
  • The important qualities required of specifications, including clarity, precision, consistency, completeness, and evolvability.
  • How to use specifications for the purpose of verifying implementation correctness.
  • The importance of validation in verifying the correctness of specifications.
  • The differences between operational and descriptive specification styles and when and how to apply either one.
  • How to use formal specifications to enable generation of test data, generation of models for simulation, and derivation and proof of properties.
  • How to apply some important operational specification formalisms including: Data Flow Diagrams, Finite State Machines, Petri Nets, and Statecharts.
  • How to apply some important descriptive specification notations including Entity Relationship Diagrams, mathematical logic-based notations, and algebraic notations such as Larch.
  • UML notations (use case diagrams, sequence diagrams, collaboration diagrams, activity diagrams, and Statecharts).
  • How to apply the important set-theoretic specification language Z.
  • The importance of modularization techniques for structuring large specifications that are needed in practice.

Resources

To view the PowerPoint Slides, you will need Microsoft's PowerPoint 7.0 or higher or the PowerPoint Viewer, available from Microsoft.com

© 1999-2003 Pearson Education, Inc. • Pearson Prentice Hall
Upper Saddle River, NJ 07458 • Legal Notice