1st Edition
Software Specification and Design An Engineering Approach
By John C. Munson, Ph.D.
Copyright 2006
400 Pages
30 B/W Illustrations
by
Auerbach Publications
400 Pages
by
Auerbach Publications
Also available as eBook on:
The rigors of engineering must soon be applied to the software development process, or the complexities of new systems will initiate the collapse of companies that attempt to produce them. Software Specification and Design: An Engineering Approach offers a foundation for rigorously engineered software. It provides a clear vision of what occurs at each stage of development, parsing the stages of... Read more
An Overview of the Software Development Process
An Overview of the Software Engineering Environment
Historical Perspective on Software Development
Requirements Engineering
Software Specification
Software Development: Past and Present
Testing
Software Availability Considerations
Software Performance Considerations
Hardware Software Decomposition
The Bottom Line
Requirements Analysis
The Requirements Process
The Concept of a Customer
Requirements Capture
The Requirements Analyst
Specification Traceability
Operational Specification
Software Operational Specification
Operational System Overview
Operational System Model
Operations
The Operational Profile
The Evolution of the Operational Specifications
An Example
Functional Specification: High-Level Design
Functional System Overview
Functional System Model
Functionalities
The Functional Profile
The Evolution of the Functional Specifications
An Example (Continued)
Configuration Control for the Functional Specifications
Mapping Operations to Functionalities
O x F
Distribution of Activity among the Functionalities
The Specification Build Process
An Extended Definition of Operations and Functionalities
The calc System Example
Module Specification: Low-Level Design
Introduction
Architectural Overview
Architectural Model
Module Specifications
The Elements of a Module Specification
Module Call Graph Structure
Module Profiles
The Evolution of the Module Specifications
An Example
Mapping the Operations to Modules
F x M
O x F x M
Distribution of Activity among the Modules
The Specification Build Process
An Extended Definition of Functionalities and Modules
The calc System Example
Choosing the Appropriate Language Metaphor
Procrustes
Matching Design Architecture to Program Language
Mapping the Modules to Code
O x F x M x C
The Bottom Line
Measuring Software Design
Measuring Software Design Alternatives
Understanding Program Modular Structure
Measuring within Module Structure
Design Module Complexity
Testability
The Key Elements of Bad Design
System Architectural Trade-Offs
The Actual Operational Model
Parsing Functionalities
The Partitioning of Large Systems
The Structure of an Executing Program
A Program Represented as a Call Graph
A Program as a Call Tree
Measuring for the Profiles
Maintaining the Specifications
Introduction
Configuration Control for the Specifications
Maintaining the Specifications
The Software Development Infrastructure
Multiple Projects
Security Considerations
Specification-Driven Verification and Validation
Software Verification
Some Definitions
Software Validation
Testing Objectives
Measuring Test Outcomes
Maintenance and the V & V Process
Direct Benefits of Specification Traceability
Reliability
Software Security
Maintainability
Survivability
The Software Blackbox Recorder
An Overview of the Software Engineering Environment
Historical Perspective on Software Development
Requirements Engineering
Software Specification
Software Development: Past and Present
Testing
Software Availability Considerations
Software Performance Considerations
Hardware Software Decomposition
The Bottom Line
Requirements Analysis
The Requirements Process
The Concept of a Customer
Requirements Capture
The Requirements Analyst
Specification Traceability
Operational Specification
Software Operational Specification
Operational System Overview
Operational System Model
Operations
The Operational Profile
The Evolution of the Operational Specifications
An Example
Functional Specification: High-Level Design
Functional System Overview
Functional System Model
Functionalities
The Functional Profile
The Evolution of the Functional Specifications
An Example (Continued)
Configuration Control for the Functional Specifications
Mapping Operations to Functionalities
O x F
Distribution of Activity among the Functionalities
The Specification Build Process
An Extended Definition of Operations and Functionalities
The calc System Example
Module Specification: Low-Level Design
Introduction
Architectural Overview
Architectural Model
Module Specifications
The Elements of a Module Specification
Module Call Graph Structure
Module Profiles
The Evolution of the Module Specifications
An Example
Mapping the Operations to Modules
F x M
O x F x M
Distribution of Activity among the Modules
The Specification Build Process
An Extended Definition of Functionalities and Modules
The calc System Example
Choosing the Appropriate Language Metaphor
Procrustes
Matching Design Architecture to Program Language
Mapping the Modules to Code
O x F x M x C
The Bottom Line
Measuring Software Design
Measuring Software Design Alternatives
Understanding Program Modular Structure
Measuring within Module Structure
Design Module Complexity
Testability
The Key Elements of Bad Design
System Architectural Trade-Offs
The Actual Operational Model
Parsing Functionalities
The Partitioning of Large Systems
The Structure of an Executing Program
A Program Represented as a Call Graph
A Program as a Call Tree
Measuring for the Profiles
Maintaining the Specifications
Introduction
Configuration Control for the Specifications
Maintaining the Specifications
The Software Development Infrastructure
Multiple Projects
Security Considerations
Specification-Driven Verification and Validation
Software Verification
Some Definitions
Software Validation
Testing Objectives
Measuring Test Outcomes
Maintenance and the V & V Process
Direct Benefits of Specification Traceability
Reliability
Software Security
Maintainability
Survivability
The Software Blackbox Recorder
Biography
Ph.D. Munson






