and Design
Third Edition
Jeffrey A. Hoffer
Joey F. George
Joseph S. Valacich
Chapter 15
Finalizing Design
Specifications
15.1
Copyright 2002 Prentice-Hall, Inc.
Learning Objectives
Discuss the need for system design
specifications
Define quality requirements and write quality
requirements statements
Read and understand a structure chart
Distinguish between evolutionary and
throwaway prototyping
Explain the role of CASE tools in capturing
design specifications
Demonstrate how design specifications can
be declared for Web-based applications
15.2
Introduction
15.3
The Process of Finalizing
Design Specifications
Less costly to correct and detect errors during
the design phase
Two sets of guidelines
Writing quality specification statements
The quality of the specifications themselves
Quality requirement statements
Correct
Feasible
Necessary
Prioritized
Unambiguous
15.4 Verifiable
The Process of Finalizing
Design Specifications
Quality requirements
Completely described
Do not conflict with other requirements
Easily changed without adversely affecting
other requirements
Traceable back to origin
15.5
The Process of Finalizing
Design Specifications
Deliverables and Outcome
Set of physical design specifications
Contains detailed specifications for each part of
the system
15.6
Representing Design
Specifications
Traditional Methods
Pre-CASE
Documents written natural language and
augmented with graphical models
Specification documents
Figure 15-2 shows an example
Several methods for streamlining
Computer-based requirements tools
Prototyping
Visual development environments
15.7
Representing Design
Specifications
Structure Charts
Shows how an information system is
organized in hierarchical models
Shows how parts of a system are related to
one another
Shows breakdown of a system into
programs and internal structures of
programs written in third and fourth
generation languages
15.8
Representing Design
Specifications
Structure Charts
Module
A self-contained component of a system, defined by a
function
One single coordinating module at the root of structure
chart
Single point of entry and exit
Communicate with each other by passing parameters
Data couple
A diagrammatic representation of the data exchanged
Curved Line
Subordinates are called repeatedly until terminating
condition is met
Predefined modules
Hat
Subordinate module is important logically but code is
15.10
Representing Design
Specifications
Structure Charts
Pseudocode
Method used for representing the instructions
inside a module
Language similar to computer programming
code
Two functions
Helps analyst think in a structured way about the
task a module is designed to perform
Acts as a communication tool between analyst and
programmer
15.11
Representing Design
Specifications
Prototyping
Construction of the model of a system
Allows developers and users to
Test aspects of the overall design
Check for functionality and usability
Iterative process
Two types
Evolutionary Prototyping
Throwaway Prototyping
15.12
Representing Design
Specifications
Prototyping
Evolutionary Prototyping
Begin by modeling parts of the target system
If successful, evolve rest of the system from the
prototype
Prototype becomes actual production system
Often, difficult parts of the system are
prototyped first
Exception handling must be added to prototype
15.13
Representing Design
Specifications
Prototyping
Throwaway Prototyping
Prototype is not preserved
Developed quickly to demonstrate unclear
aspect of system design
Fast, easy to use development environment
aids this approach
15.14
Representing Design
Specifications
Prototyping
Oracle Designer: An Example
Transforming and Generating the Database
Entity-Relationship Diagramming Tool
Database Design Transformer Tool
Server Model Diagram
End Result
Generation of Data Definition Language (DDL)
scripts
Create database by running scripts
15.15
Representing Design
Specifications
Prototyping
Oracle Designer: An Example
Transforming and Generating Software
Modules
Data Flow Diagram
Functional Hierarchy Diagram
Application Design Transformer
Transforms diagrams into software modules
15.16
Radical Methods: eXtreme Programming
Short cycles
Incremental planning approach
Automated tests
Utilizes two-person programming team
Planning, analysis, design and construction
are fused together into one phase
Requirements and specifications are uniquely
captured
15.17
Radical Methods: eXtreme Programming
Planning game
Players
Business
Development
Story cards
Description of procedure or system feature
15.18
Radical Methods: eXtreme Programming
Planning game
Three phases
Exploration
Business creates a story card
Development responds with time estimate
Commitment
Business sorts story cards into three stacks
Development sorts story cards according to risk
Business selects cards to include in next release of product
Steering
Business monitors development activity
15.19
Radical Methods: eXtreme Programming
Commitment
Programmers accept responsibility for tasks
Steering
Programmers write code, test it and integrate it
15.21
Electronic Commerce
Application
Microsoft FrontPage used to build
throwaway prototype
Template based HTML
15.22
Summary
Types of Design Specifications
Written document augmented by various
diagrams
Structure chart
Computer-based requirements
management tool
Prototypes
Throwaway versus Evolutionary
15.23
Summary
Radical Methods
eXtreme Programming
RAD
Electronic Commerce Application
Throwaway prototyping
15.24