180 likes | 210 Views
Software Life Cycle Models. Paul Sorenson Department of Computing Science University of Alberta CMPUT 401 - Software Engineering. Introduction. Review Case Study 7.1 [page 135 in Rapid Development ] Any comments? What’s good about prototyping? What’s bad about it?.
E N D
Software Life Cycle Models Paul Sorenson Department of Computing Science University of Alberta CMPUT 401 - Software Engineering SW Life Cycle Models
Introduction • Review Case Study 7.1 [page 135 in Rapid Development] • Any comments? • What’s good about prototyping? • What’s bad about it? SW Life Cycle Models
Topics of Discussion • Various models to software development • Compare and contrast them SW Life Cycle Models
Requirmts Analysis Architral Design Detailed Design Coding & Debuggin System Testing “Pure” Waterfall Works well if you have a technically weak staff ~ it provides lots of structure to reduce waste. It is difficult to specify requirements at the beginning, to complete all design before implementation, etc, etc, ... Problem Definition SW Life Cycle Models
Code-and-Fix No overhead Requires little expertise System Specs (maybe) Release (maybe) code & fix For all but the smallest projects, this model is dangerous SW Life Cycle Models
Spiral Model SW Life Cycle Models
Spiral Model Risks? Relatively complicated and can result in “over management” Best Practice - provides great management control Each iteration involves 6 steps:1. Determine objectives, alternatives and constraints 2. Identify and resolve risks 3. Evaluate alternatives 4. Develop the deliverables for that iteration and verify that they are correct. 5. Plan the next iteration 6. Commit to an approach for the next iteration (if you decide to have one). SW Life Cycle Models
Spiral Model as it applies to your project Deliverable Due Date %Weight Team Certification Sept.23 0% CSF Technical Review Findings Oct.5 5% Project Plan Oct.7 10% CSF Interface Design Review Doc Oct.21 5% Acceptance Testing Doc & Report Nov.30+ 7%+10% Dec.9&10 Class Presentation Nov.30&Dec.2 8% Project Management Report Dec.7 25% Product Report Dec.7 30% SW Life Cycle Models
Complete and release prototype Evolutionary Protoyping Especially useful when: • requirements are changing • developers unsure of best architecture Best Practice Initial Concept Design and implement initial prototype Refine prototype until acceptable Risks? What about defining a schedule? SW Life Cycle Models
Requirmts Analysis Architral Design Stage 1: Detailed Design, code, debug, test, and delivery Stage 2: Detailed Design, code, debug, test, and delivery Stage n: Detailed Design, code, debug, test, and delivery Staged Delivery Best Practice Allows you to show customer software at successfully refined stages Problem Definition Can’t work without careful planning by technical and management staff Risks? SW Life Cycle Models
Requirmts Analysis Architral Design High Priority: Detailed Design, code,debug, test, and delivery Medium Priority: Detailed Design, code,debug, test, and delivery Release Low Priority: Detailed Design, code,debug, test, and delivery Design-to-Schedule Provides customer with a release by a certain date. Problem Definition Can’t deliver all the customer asks for! Risks? SW Life Cycle Models
Best Practice Provides customer with a satisfactory release. Requirmts Analysis Release Architral Design Incorp. customer feedback Deliver the version Elicit customer feedback Evolutionary (“Prototype”) Delivery Problem Definition Evol delivery -> Evol prototyping Evol delivery -> Staged delivery Develop a version Risks? SW Life Cycle Models
Functionality that will be built in Functionality that will not be in the product Functionality in existing tool Idealfunctionality Design-to-Tools Provides very high reuse • Lose of control over product design • Might be difficult to add new features • We’ll discuss to variations on this -frameworks & system generators Risks? SW Life Cycle Models
Commercial Off-the-Self - COTS Software Take existing modules (classes) from libraries and build a system from them. Well suited for O-O development SW Life Cycle Models
What This Means • You will need to specify the life cycle approach you plan to use in your Project Plan • There are many ways to “skin the software cat” - challenge is to choose the right one for your product, client and team SW Life Cycle Models
Summary • See pages 156 & 157 in Rapid Development - it provides a nice table the compares the various approaches SW Life Cycle Models