the code and fix model it is a simple two phase model. in first phase: code is developed
DESCRIPTION
The Code and Fix model It is a simple two phase model. In first phase: code is developed In second phase: fix the code until the client is not satisfied. Then deliver the product to client. Prototype Model - PowerPoint PPT PresentationTRANSCRIPT
• The Code and Fix model• It is a simple two phase model.
• In first phase: code is developed
• In second phase: fix the code until the client is not satisfied.
• Then deliver the product to client.
1
• Prototype Model• It is employed when it is very difficult to obtain exact
requirements from the customer. (Unlike in other models)
• An prototype is first made based on the initial requirements
• It is early approximation of the final project.
2
Process in prototype
3
Developer customer
Identify very basic
requirements
Intitial Prototype
Revise and enhancement
review
Initially I/O not the security,eff,perf
Input data format,msg,reports
•Stake holders• A person ,group or organization that has interest or concern in an organization
• Stakeholders can affect or be affected by the organization's actions, objectives and policies.
• Some examples of key stakeholders are
• directors, employees,
• Government owners (shareholders)
• suppliers, unions,
• and the community from which the business draws its resources.
4
Evolutionary Models: Prototyping
5
Constructionof prototype
communication
Quickplan
ModelingQuick design
Constructionof prototype
Deploymentdelivery &feedback
Requirement gathering
Quick design
Build prototype
Feedback from customer
Customer/stakeholder
evolution of PT
DesignCoding
testing maintenance
• Throw away Prototype:• Also called close-ended prototyping. Throwaway or
Rapid Prototyping refers to the creation of a model that will eventually be discarded rather than becoming part of the final delivered software.
7
Plan to throw one
PT1
Brook comments
• Prototype Model Advantage• Reduce time and cost
• Improved and increased user involvement
• Effective for On-line System
Prototype Model Disadvantage• Insufficient analysis
• User confusion between PT and Final system
• Slow process
• Too much involvement of customer
8
• Spiral Model
9
• Spiral Model • Another type of evolutionary model (When changes takes place
frequently)
• Proposed by Barry Boehm in 1986 in his research paper “A Spiral Model of Software Development and Enhancement (IEEE).”
• It combines the strength of the previous models
10
Linear iterative prototype
Risk factor
UncertaintyNo risk
handeling
Spiral model
Evolutionary Models: The Spiral
11
p1p2
p3p4
12
• Activities in Spiral Model in each loop
13
Finalizing objective
Development
Risk Analysis
Planning
Objectives are set for each level of loop
Risks are identified
Risks are identified
Use a SDLC model
Based on the review –a decision has to be taken whether to go
through the lopp of sprial again
Risks involved in spiral model• Skill or knowledge ( programming skill)
• Estimation and scheduling risk
• Customer risks (Sudden growth in requirements)
• Commercial risk( competing vendors)
• External risks(Flooding, earthquake, fire etc)
• Employee turnover (When a developers leaves,)
• etc
14
Evolutionary Models: The Spiral• It couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model and is a risk-driven process model generator that is used to guide multi-stakeholder concurrent engineering of software intensive systems.
• Two main distinguishing features: one is cyclic approach for incrementally growing a system’s degree of definition and implementation while decreasing its degree of risk. The other is a set of anchor point milestones for ensuring stakeholder commitment to feasible and mutually satisfactory system solutions.
• A series of evolutionary releases are delivered. During the early iterations, the release might be a model or prototype. During later iterations, increasingly more complete version of the engineered system are produced.
• The first circuit in the clockwise direction might result in the product specification; subsequent passes around the spiral might be used to develop a prototype and then progressively more sophisticated versions of the software. Each pass results in adjustments to the project plan. Cost and schedule are adjusted based on feedback. Also, the number of iterations will be adjusted by project manager.
• Good to develop large-scale system as software evolves as the process progresses and risk should be understood and properly reacted to. Prototyping is used to reduce risk.
• However, it may be difficult to convince customers that it is controllable as it demands considerable risk assessment expertise. 15
Three Concerns on Evolutionary Processes
• First concern is that prototyping poses a problem to project planning because of the uncertain number of cycles required to construct the product.
• Second, it does not establish the maximum speed of the evolution. If the evolution occur too fast, without a period of relaxation, it is certain that the process will fall into chaos. On the other hand if the speed is too slow then productivity could be affected.
• Third, software processes should be focused on flexibility and extensibility rather than on high quality. We should prioritize the speed of the development over zero defects. Extending the development in order to reach high quality could result in a late delivery of the product when the opportunity niche has disappeared.
16
• Advantage • Introduces risk management• Prototyping controls costs• Evolutionary development• Release builds for beta testing• Good for large and mission-critical projects.• Additional Functionality can be added at a later date.
• Disadvantage• Lack of risk management experience
• Lack of milestones
• Management is dubious of spiral process
• Doesn’t work well for smaller projects.
• Prototype Vs Production
17
18
Software benchmarks are, for example, run against compilers or database management systems etc.