Unformatted text preview:

Today s Lecture Briefly Review Software Life Cycles Discuss problems associated with them Lecture 3 Software Life Cycles Kenneth M Anderson Foundations of Software Engineering CSCI 5828 Spring Semester 2000 January 25 2000 Software Life Cycle Intermediate Software Products Demarcate end of phases Enable effective reviews Specify requirements for next phase Form people overall process intermediate products stages of the process January 25 2000 Kenneth M Anderson 2000 2 Software Artifacts A series of steps that organizes the development of a software product Duration can be from days to years Consists of Kenneth M Anderson 2000 Rigorous Machine processible highly desirable Content Specifications Tests Documentation 3 January 25 2000 Kenneth M Anderson 2000 4 Phases of a Software Life Cycle Example Artifacts Options Document Requirements Problem Definition Potential Solutions Proposed System Cost Benefit Analysis Benefits Achievable Goals Standard Phases Boilerplate Project scope Project history Current System New System Requirements Preliminary Plan Costs Development Maint Analysis Statement of Work Schedules Kenneth M Anderson 2000 Requirements Analysis Specification Design Implementation and Integration Operation and Maintenance Change in Requirements Testing throughout Phases promote manageability and provide organization Mgmt Docs Testing Plans Net improvement January 25 2000 5 January 25 2000 Requirements Analysis and Specification Requirements Specification Design develop architectural design system structure determine exactly what client wants and identify constraints develop a contract with client Specify the product s task explicitly decompose software into modules with module interfaces develop detailed design module specifications select algorithms and data structures Difficulties maintain record of design decisions client asks for wrong product client is computer software illiterate specifications may be ambiguous inconsistent incomplete extensive reviews to check that requirements satisfy client needs look for ambiguity consistency incompleteness check for feasibility testability develop system acceptance test plan Kenneth M Anderson 2000 Difficulties Validation January 25 2000 6 Design Problem Definition Requirements Specification Kenneth M Anderson 2000 miscommunication between module designers design may be inconsistent incomplete ambiguous Verification extensive design reviews inspections to determine that design conforms to requirements check module interactions develop integration test plan 7 January 25 2000 Kenneth M Anderson 2000 8 Implementation and Integration Operation and Maintenance Design Implementation Operation Change implement modules and verify they meet their specifications combine modules according to architectural design maintain software after and during user operation determine whether product as a whole still functions correctly Difficulties Difficulties module interaction errors order of integration has a critical influence on product quality design not extensible lack of up to date documentation personnel turnover Verification and Testing code reviews to determine that implementation conforms to requirements and design develop unit module test plan focus on individual module functionality develop integration test plan focus on module interfaces develop system test plan focus on requirements and determine whether product as a whole functions correctly January 25 2000 Kenneth M Anderson 2000 Verification and Testing 9 review to determine that change is made correctly and all documentation updated test to determine that change is correctly implemented test to determine that no inadvertent changes were made to compromise system functionality check that no affected software has regressed January 25 2000 Build and Fix Kenneth M Anderson 2000 10 Waterfall Model Build First Version Req Change Requirements Verify Modify until Client is satisfied Design Verify Implementation Test Operations Mode Operations Retirement January 25 2000 Kenneth M Anderson 2000 11 Retirement January 25 2000 Kenneth M Anderson 2000 12 Two views on Waterfall Rapid Prototyping Req Change Rapid Prototype Business Systems Verify Enterprise initiatives lead to feasibility studies Design This starts the waterfall in motion Verify Implementation Engineering Applications Test Waterfall starts much later in the process Software may not be considered until after concept exploration and experimental prototyping of global engineering system Operations Retirement January 25 2000 Kenneth M Anderson 2000 13 Incremental January 25 2000 Kenneth M Anderson 2000 The Spiral Model Boehm 1988 Cumulative cost Requirements Verify 14 Arch Design Verify Progress through steps Determine objectives alternatives constraints OAC Risk Assessment Concrete Specification OAC For each build Perform detailed design implement Test Deliver Abstract Specifcation OAC Requirements OAC Review Risk Assessment Risk Assessment Evaluate alternatives identify resolve risks la t tP Se m e n m e Ite a n a g sk Ri i s k M R Risk Control n Risk Control Risk Control Commit partition Requirements Plan Concept of Operation Requirements Operations Abstract Specification Plan Abstract Specification Requirements Validation Concrete Specification Concrete Specification Plan Abstract Specification Validation Retirement Plan next phases January 25 2000 Kenneth M Anderson 2000 15 January 25 2000 Software Development Plan Concrete Specification Validation and Verification Kenneth M Anderson 2000 Develop verify next level product 16 Object Oriented Life Cycles Life Cycle Problems Obtain customer requirements for the OO System The user s view of software development Identify scenarios or use cases Build a requirements model The waterfall is not real to them Consider Construction of a House Select classes and objects using basic requirements Identify attributes and operations for each object Define structures and hierarchies that organize classes Build an object relationship model Build an object behavior model Review the OO analysis model against use cases January 25 2000 Kenneth M Anderson 2000 Decisions are visible 17 Constructing a House continued As each decision is made the user can see its effects Its easy to see that making a change to the position of the house on the lot is expensive after the foundation is poured Kenneth M Anderson 2000 January 25 2000 Kenneth M Anderson 2000 18 Software based Example if employee age 60 then


View Full Document

CU-Boulder CSCI 5828 - Software Life Cycles

Documents in this Course
Drupal

Drupal

31 pages

Deadlock

Deadlock

23 pages

Deadlock

Deadlock

23 pages

Deadlock

Deadlock

22 pages

Load more
Loading Unlocking...
Login

Join to view Software Life Cycles and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Life Cycles and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?