MethodologiesLife Cycle Models Some Advantages of a Methodology
- Slides: 24
Methodologies/Life Cycle Models
Some Advantages of a Methodology … • • • Ensures a consistent and repeatable process Creates traceable projects Enables better project communications Makes projects more robust with respect to personnel changes Enhances project troubleshooting and error-correcting Improves accommodation of changes in requirements 2
Some Standard Life Cycle Models • The Waterfall Model (Linear Sequential Model) • Prototyping Model • Rapid Application Development (RAD) Model • Evolutionary Development Models 3
Waterfall Model • The Waterfall Model (Linear Sequential Model) is the de facto standard model • Uses distinct phases • Deliverables of one phase provide input for next phase • Walkthroughs and sign-offs at end of each phase • The BCBSSC methodology is based on the Waterfall Model 4
Waterfall Model (cont’d) Analysis requirements Design program design Code/ Test coded and tested system Delivery/ Maintenance Implementation Post-Implementation 5
Prototyping Life Cycle Model May be particularly useful when: • User interface is an important component of the product • User interface is particularly complex • Customer leaves interface design to systems analyst • Requirements appear to be somewhat in doubt, i. e. not fully agreed upon by customer(s) 6
Prototyping as a Complete Life Cycle Begin Prototype Accepted Determine Requirements & Design Complete Implementation and Testing of Production System repeat this cycle Build Mockup of System Evaluate Mockup With Customer 7
Hybrid Prototyping/Waterfall Model requirements Analysis employing prototyping Design This is the most frequent use for prototyping program design Code tested system Delivery/ Maintenance 8
Prototyping: Pros and Cons • Pros • Integral involvement of the customer • More robust requirements • Great for refining user interfaces • Cons • Customers may have unrealistic expectations for a quick delivery of the final system • Not particularly applicable when complex processing algorithms or performance issues are important 9
Hybrid Model May Be Very Useful. . . • When user interface(s) are: • New • Complex • Not fully agreed upon by customer(s) • When customer: • Has a history of providing poorly thought out requirements • Has little experience in specifying requirements • Leaves interface design to systems analysts Photo by larar 10
Prototypes Can Reduce Surprises • Prototypes can help avoid customer surprises about: • User interfaces • Scope of the system • System work flow issues • How the problem is approached Photo by Benjamin Earwicker 11
RAD (Rapid Application Development) • Rapid Application Development (RAD) Model may be particularly applicable when: • Requirements are well understood and scope is tightly constrained • Reusable software components are available • System to be developed is highly modular • “High speed” adaptation of the Waterfall model 12
RAD Characteristics • Requirements must be well understood and scope must be tightly constrained for RAD to be successful • RAD teams work in parallel “Waterfall” development teams • Best employed with highly modular systems Photo by Kenneth De Buck 13
Evolutionary Development Models May be useful when: • Rapid development of incremental versions of the product seems desirable • Not all requirements are known at the beginning and the remaining requirements must be defined over a period of time • Developing “experimental products” in which design of later increments will depend on customer's acceptance of earlier increments 14
Two Evolutionary Models • Incremental Model • Spiral Model 15
Incremental Model • Modified Waterfall model • Deliverable increments of the final product are produced sequentially • Phased delivery • Each phase delivers a usable product Photo by N. Ghorn 16
The Incremental Model -- Strategy • The first increment, or phase, is usually a “core” or high priority component/product • This core is delivered, evaluated, and used by the customer • Other components or phases are added incrementally • Can be used to “buy” time when budgets and/or schedule will not permit the delivery of the full system at one time 17
Incremental Model -- An Example Suppose our objective is to development a word processing system. Using the Incremental model we might: • Develop basic file management, document creation, and editing functions as the first deliverable (the “core” product) • Refine the core and deliver more sophisticated editing capabilities in the second increment • Provide spell-checking in the third increment • Add page layout in the fourth increment • Each increment could be developed using a methodology based on the Waterfall model or the hybrid prototype/Waterfall model 18
Spiral Model • Couples iterative characteristic of prototyping with the incremental model • Rapid development of partially complete incremental versions of the product Spiral stairway in a Vatican museum Photo by Warren Gibb 19
The Spiral Model -- Strategy • Product is developed in increments, but increments may be incomplete (prototypes, shells, etc. ) • Increments are delivered, then evaluated for further development • More increments may be added as we learn more about what is required and what will be acceptable 20
Spiral Model Illustrated formulate requirements 2 3 1 analyze needs with customer finish/accept plan increment modifications 4 start design new and modified (more detailed) increments evaluate with customer 6 5 build & release next version 21
Group Exercise Take a moment or two to consider the following. . • What are the strengths/weaknesses of the following models? • • • Waterfall Hybrid waterfall/prototyping RAD Incremental Spiral 22
Team Activity #1 You’ve been assigned to lead the analysis for a new Web-based proof-of-concept project that will provide Web “front-end” access to your company’s traditionally mainframe-based applications. This will be the company’s first foray into Webbased development. The details of the new system requirements are still a bit sketchy, but management is convinced that such systems will become increasingly important for the future of the company. The company’s primary business is financial and investment services and one of the primary benefits management expects to realize is increased customer self-service and a subsequent reduction in costs of providing a subset of the company’s services. 23
Team Activity #1 (cont’d) Following are some essential features and high-level objectives for the proof-of-concept system. • The underlying philosophy for the system is one of customer self-service – a new approach for this company. • The system should provide customers direct access to status information appropriate to their current accounts. • The system should provide customers access to their account history with the company. • The system should provide “canned” responses for frequently asked questions about investment strategies. • The system should provide an opportunity for customers to pose additional questions (to be responded to later). Identify what software life cycle model(s) you think might be appropriate for this project. Explain your choice(s). 24
- What is the difference between model and semi modal
- They say it only takes a little faith to move a mountain
- They say it only takes a little faith to move a mountain
- Ice cream count or noncount
- What is contact force
- Some say the world will end in fire some say in ice
- Some say the world will end in fire some say in ice
- Some trust in horses
- Pastoral spiral
- Siklus hidup produk kfc
- Advantages of wireframe modelling
- Software life cycle ppt
- Employment life cycle
- Advantages of scientific notation
- Consensus advantages and disadvantages
- What are some of the advantages of scientific notation?
- Star life cycle model advantages and disadvantages
- Advantage and disadvantage of gas turbine
- Concurrent development model advantages and disadvantages
- Water cycle brainpop
- Denitrification definition
- Difference between phosphorus cycle and carbon cycle
- Difference between open cycle and closed cycle gas turbine
- Greedy cycle
- Chapter 5 principles of engine operation