Software Life-Cycle Series of steps through which software product progresses From requirements through retirement A life-cycle is selected during requirement 1
Build-And-Fix Model Product is implemented without any specification or design May work for projects with few hundred line of code 2
Build-And-Fix Model Build First version Modify until client is satisfied Development Retirement 3
Waterfall Model Requirements Specification Changed requirements Development Design Implementation Test Integration Test Retirement 4
Rapid Prototyping Model Develop product with reduced capability Present to client for approval Develop specification with better understanding Prototype could give designers Insight to the product What not to do 5
Rapid Prototyping Model Rapid prototype Specification Changed requirements Development Design Implementation Test Integration Test Retirement 6
Incremental Model The product is divided into builds Each build contains an operational quality subsystem With each additional build a new subsystem is integrated with the previous build Other types of Incremental Models Extreme Programming Model Synchronize-And-Stabilize Model 7
Incremental Model Requirements Specification Architectural Design Development For each build: Perform detailed design, implementation, and integration. Test. Deliver to client. Retirement 8
Spiral Model Concept is to minimize risk via the use of prototypes and other means Well suited for: Internal development Large scale 9
Spiral Model Set of important requirements are selected for each prototype Risk analysis is performed at each step of development Specification Design Implementation Integration 10
Spiral Model 11
Object-Oriented Life-Cycle Fountain model Models Recursive/parallel life cycle Unified software development process 12
Object-Oriented Life-Cycle Models All Object oriented life cycles are: Iterative Incorporate some form of parallelism (Overlap of Activities) Support incremental development 13
Object-Oriented Life-Cycle Fountain model Models Each circle represents various s overlap Overlap between activities Arrows within each represent iteration within that The maintenance circle is smaller Symbolizes reduced maintenance effort when Object Oriented paradigm is used 14
Object-Oriented Life-Cycle Models Fountain model Further Development Implementation and integration Implementation Object-Oriented design Object-Oriented analysis Requirement 15
Comparison of Life-Cycle Models Life-Cycle Model Strengths Weaknesses Build-and-fix model Fine for short programs that will Totally unsatisfactory for not requier any maintenance nontrivial programs Waterfall model Desciplined approach. Delivered product may not meet Document driven client's needs Rapid prototyping model Ensures that delivered product beyond all doubt meets client's needs Incremental model Maximizes early return on investment. Promotes maintainability Requires open architecture May degenerate into build-andfix Extreme model Maximizes early return on investment. Works well when client's requirment are vague Has not yet been widely used Syncronize-and-stabilize model Spiral model Object-Oriented model Future users' needs are met Ensures components can be successfully integrated Incorporates features of all the above models Support iteration within s, parallelism between s Has not been widely used other that at Microsoft Can be used only for largescale, in-house products Developers have to be competent in risk analysis and risk resolution May degenerate into CABTAB Figure 3.10 16