 |
| |
| 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
|
|