Software Requirements : Encapsulation, Quality, and Reuse book cover
1st Edition

Software Requirements
Encapsulation, Quality, and Reuse

ISBN 9780849328480
Published May 23, 2005 by Auerbach Publications
264 Pages 49 B/W Illustrations

USD $140.00

Prices & shipping based on shipping country


Book Description

Software Requirements: Encapsulation, Quality, and Reuse describes how to make requirements easy to change by using encapsulation. It introduces the Freedom methodology that shows how to encapsulate requirements thereby promoting reuse and quality. Encapsulating requirements reduces software life cycle costs by making requirements and the code that implements them more adaptable to changing technology and business needs.

The book examines the definition of requirements and explains how they can be encapsulated within software so developers, software engineers, and analysts better understand the requirements used to create software. With the theoretical underpinnings established, the book provides an overview of the Freedom methodology and details the individual tasks of the methodology in a "how-to" fashion, explaining relevant terminology, recording notations, and more. It also shows how the Freedom requirements methodology can be used as a part of any overall software development methodology.

Table of Contents

Why Freedom?
Freedom Methodology Overview
Methodology Benefits of Freedom
Economic Benefits of Freedom

Information-Hiding Secrets
Chapter Overview
Information-Hiding Concepts
Contrast with Traditional Design
Contrast with Current OO Practice

What Are Requirements?
Chapter Overview
Definition of Requirements
Definition of Design
Definition of Implementation
Design and Implementation Constraints

Freedom Requirements Process
Chapter Overview
Enterprise Process Models
Bounding the Black Box
Context Diagrams
Requirements Process
Example Problem Enterprise Process Model
Example Problem Black Box Bounding
Example Problem Context Diagram

Quality Requirements
Chapter Overview
Types of Requirements
Measuring Software Quality
Where's the Developer?
'ility Mapping
Example Problem Quality Requirements

Stimulus Identification and Cohesion
Chapter Overview
What Is a Stimulus?
Stimulus Sets
Functionality Screens
Programmatic Protocols
Example Problem Functionality Screen
Example Problem Programmatic Protocol

Stimulus Organization and Architecture
Chapter Overview
Stimulus Set Architecture
New Stimulus Response
Functionality Trees
Sample Functionality Tree
Example Problem: Programmatic Interface Functionality
Example Problem: Reverse Engineering the External
Interface Architecture
Example Problem Functionality Tree
Alternate Kickoff Approaches
Functionality Tree Neutrality

Reusable Requirements
Chapter Overview
Repetitive and Reusable Stimulus Sets
Reusable Requirements Components
Example Reusable Requirements Component
Example Problem Reusable Requirements

Incremental Development
Chapter Overview
Requirements Prioritization
Example Problem Requirements Priorities

Responses and Behavior Tables
Chapter Overview
Types of Responses
Behavior Tables
Response Recording Languages
Response Recording Syntax
Example Problem Behavior Tables

Requirements Encapsulation Design
Chapter Overview
Requirements Encapsulation Design Rule
Canonical Design Architecture
Example Problem Functionality Module Architecture

Requirements Encapsulation
Chapter Overview
Functionality Modules
Common Service Modules
Functionality Module Structure
Example Problem Functionality Module

Interface Prototyping
Chapter Overview
Purpose of Prototypes
Types of Prototypes
Example Problem Interface Mockup

Requirements Evolution
Chapter Overview
Handling the Ripple Effect of Change
Requirements Change Example

A Software Requirements Specification
B Cost Savings Estimate Details
C Glossary

View More