How Systems are developed - School of Science and Computer

advertisement
How Systems are Developed
The Commercial Life Cycle Model
Common form of the Software Life Cycle
Used through the commercial, industrial, institutional
government communities
University of Houston Clear Lake
Science and Computer Engineering
James C. Helm, Ph.D.,P.E.
Engineering Division Chair
Example Software Development Process
• This process illustrates the major steps and
flow that might be typical of a DoD or
major Government Contractor.
• The documents would be obtained from the
DoD standard, MIL-STDs, or IEEE
• NASA Software Document Standard,
Software Engineering Program, NASASTD-2100-91
Example Software Development Process
System
Requirements
Completed
Software
Verification
and
Validation
Test
Design
Test
Cases
D
ENGINEERING BUILD
Data
Dictionary
Software
Architecture
Design
Software
Requirements
Analysis
Formal
Test Data
A
Interface
Design
Software
Unit
Testing
Coding
C
Software
Configuration
Item
Testing
Software
Component
Testing
SCM
Release
Software
Configuration
Management
Validation
Test
Load Build
C
A
HDR
C
RR
A
IDR
Data
Structure
Design
A
DataBase
Software
Requirements
D
B
Package
or
Declaration
D
B
TPR
D
B
C
Metric
Point
Informal
Test Data
Formal
SCCB
A
C
C
Algorithm
Design
Software
Allocated
Baseline
A
Engineering
Change
Control
B
Software
Product
Baseline
PDL
Flowchart
A
SOFTWARE
REQUIREMENTS
ANALYSIS
Requirements Analysis
Object Oriented Analysis
Content Diagram
Bound Limits
Information Modeling
Object Flow Diagram
Object Specification
State Transition Diagrams
Structured Walkthroughs
Requirements Comments
Report
PRELIMINARY
DESIGN
Object Oriented Design
Object Reuse
Information Modeling
Object Flow Diagram
Design Specification
State Transition Diagrams
Decision Tables
Object Activation Tables
Prototypes
Structured Walkthroughs
DETAILED
DESIGN
Object Oriented Design
Object Reuse
Design Specification
Superior Refinement
Structured Walkthrough
Update Prototype
Update Preliminary Desing
into Test Case Design
CODE
Structured Programming
Package Reuse
Structured Codes Walkthrough
Structured Test Walkthrough
Update Software
Development Folders
Update Requirements Matrix
Dr Jim Helm
CSU / CSC
INTEGRATION
TEST
Execute White Box Testing
Execute Black Box Testing
Review Test Results
CSU Integration
Top-Down
Bottom-Up
Sandwich
Code / Test data Walkthrough
Execute Interface Tests
Execute Black Box Tests
Update Software
Development Folder
Update Requirements Matrix
Execute Regression Tests
Review Test Results
CSCI
INTEGRATION
TEST
CSCI Integration
Top-Down
Bottom-Up
Sandwich
Test / Requirements Metrix
Test Walkthrough
Formal Test Execution
Test Results Review
Final Test Results
CSCI Verification
BLOCK TEST
VALIDATION TEST
Formal Test Case
Test Procedures
Software Validation Test Reports
Requirement Phase
• Deals with all kinds of requirements
–
–
–
–
–
system
software
hardware
human system Interface
human in the loop
Design Phase
• Normally consists of two parts
– Preliminary Design
– Detailed Design
Code Phase
• Implements the detailed design
– Some form of programming language
– Three possible coding options
• top-down
• bottom-up
• middle-out
Develop Large
Driver to
Stimulate System
Establish/
Retain
Required
Databases
Select
Appropriate
Compiler/
Assembler
TOP-DOWN
FROM DESIGN PHASE
Determine
Optimum
Coding Strategy
& Sequence
Develop Several
Drivers to Stimulate
Subsystems
OPTION
2
MIDDLE-OUT
Initiate
Appropriate
Controls
Follow
Standards &
Conventions
Establish
Software
Library
Final
Integration
is minimal
Test Whole
System
Each Time
OPTION
1
Select
Appropriate
Programming
Support Environment
Code Top Level
CSC Then Next
Level, etc.
Code CSCs
as functional
threads
Integration
is moderate
throughout
Test Each
Functional
Thread
OPTION
3
Develop many
drivers to
Stimulate CSUs
BOTTOM-UP
Code CSUs
separately
Test Each
CSU
Extensively
Integration
is
Time Consuming
Ready
for
I&t
Correlation Between
Specifications and Test
• Match the kind of software being developed
and the manner in which it is being
implemented and integrated
– Specification hierarchy
– Test hierarchy
Integration and Testing Phase
• Major Activities shown on next slide
• Determine early the selection and
specification of the optimum test strategy
• Select: tools, instrumentation, recording
methods and SW drivers
• Select environment: hardware configuration
and location of tests
Download