140 likes | 154 Views
Explore the Commercial Life Cycle Model, major steps involved in software development, requirements validation, testing phases, and integration processes. This example outlines a typical DoD or major Government Contractor software development flow.
E N D
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, NASA-STD-2100-91
Example Software Development Process System Completed Requirements Software Verification and Validation Test Test Cases D Design ENGINEERING BUILD Formal Test Data Data Dictionary A SCM Software Software Release Software Software Interface Software Software Architecture Configuration Configuration Requirements Validation Design Coding Unit Component Design Item Management Analysis C Test Testing Testing Testing Load Build C Data A D B D B D B C A A C Structure TPR HDR IDR RR Design Metric Package Point Informal or Test Data Declaration Software DataBase Requirements Formal C SCCB A C Algorithm Engineering B Design A Change Control Software Software Product Allocated PDL Baseline Baseline Flowchart A CSU / CSC SOFTWARE PRELIMINARY DETAILED CODE BLOCK TEST CSCI INTEGRATION REQUIREMENTS DESIGN DESIGN VALIDATION TEST INTEGRATION Structured Programming TEST ANALYSIS TEST Object Oriented Design Object Oriented Design Package Reuse Object Reuse Requirements Analysis Object Reuse Execute White Box Testing Structured Codes Walkthrough CSCI Integration Formal Test Case Design Specification Object Oriented Analysis Information Modeling Execute Black Box Testing Structured Test Walkthrough Top-Down Test Procedures Superior Refinement Content Diagram Object Flow Diagram Review Test Results Update Software Bottom-Up Software Validation Test Reports Structured Walkthrough Bound Limits Design Specification CSU Integration Development Folders Sandwich Update Prototype Information Modeling State Transition Diagrams Top-Down Update Requirements Matrix Test / Requirements Metrix Update Preliminary Desing Object Flow Diagram Decision Tables Bottom-Up Test Walkthrough into Test Case Design Object Specification Object Activation Tables Sandwich Formal Test Execution State Transition Diagrams Prototypes Code / Test data Walkthrough Test Results Review Structured Walkthroughs Structured Walkthroughs Execute Interface Tests Final Test Results Requirements Comments Execute Black Box Tests CSCI Verification Report Update Software Development Folder Update Requirements Matrix Execute Regression Tests Review Test Results Dr Jim Helm
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 Several Drivers to Stimulate Subsystems MIDDLE-OUT Integration is moderate throughout Code CSCs as functional threads Test Each Functional Thread Develop Large Driver to Stimulate System Establish/ Retain Required Databases TOP-DOWN Final Integration is minimal Code Top Level CSC Then Next Level, etc. Select Appropriate Compiler/ Assembler Test Whole System Each Time OPTION 1 Select Appropriate Programming Support Environment OPTION 2 Determine Optimum Coding Strategy & Sequence Ready for I & t FROM DESIGN PHASE Initiate Appropriate Controls OPTION 3 Follow Standards & Conventions Develop many drivers to Stimulate CSUs Establish Software Library BOTTOM-UP Integration is Time Consuming Code CSUs separately Test Each CSU Extensively
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