Software Specification and Design : An Engineering Approach book cover
SAVE
$30.00
1st Edition

Software Specification and Design
An Engineering Approach




ISBN 9780849319921
Published September 26, 2005 by Auerbach Publications
400 Pages 30 B/W Illustrations

 
SAVE ~ $30.00
was $150.00
USD $120.00

Prices & shipping based on shipping country


Preview

Book Description

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 specification, design, and coding into compartments that can be more easily analyzed.

Formalizing the concepts of specification traceability witnessed at the software organizations of Rockwell, IBM FSD, and NASA, the author proposes a strategy for software development that emphasizes measurement. He promotes the measurement of every aspect of the software environment - from initial testing through test activity and deployment/operation.

This book details the path to effective software and design. It recognizes that each project is different, with its own set of problems, so it does not propose a specific model. Instead, it establishes a foundation for the discipline of software engineering that is both theoretically rigorous and relevant to the real-world engineering environment.

Table of Contents

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

...
View More