240 likes | 672 Views
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
E N D
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 • 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.
Input data format,msg,reports Initially I/O not the security,eff,perf Process in prototype Identify very basic requirements Developer customer Intitial Prototype review Revise and enhancement
Stake holders • A person ,group or organization that has interest or concern in an organization • Stakeholders can affect or be affected by the organization'sactions, objectives and policies. • Some examples of key stakeholders are • directors, employees, • Governmentowners (shareholders) • suppliers, unions, • and the community from which the businessdraws its resources.
Quick plan communication Modeling Quick design Deployment delivery & feedback Construction of prototype Evolutionary Models: Prototyping Construction of prototype
Requirement gathering Quick design Feedback from customer Build prototype Customer/stakeholder evolution of PT Design Coding 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. 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
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 Uncertainty No risk handeling Linear iterative prototype Risk factor Spiral model
p3 p4 p2 p1 Evolutionary Models: The Spiral
Activities in Spiral Model in each loop Objectives are set for each level of loop Finalizing objective Risks are identified Risks are identified Risk Analysis Development Use a SDLC model Planning 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
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. Evolutionary Models: The Spiral
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. Three Concerns on Evolutionary Processes
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
Software benchmarks are, for example, run against compilers or database management systems etc.