Anda di halaman 1dari 11

1. Waterfall Model The Waterfall Model was first Process Model to be introduced.

It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed fully before the ne t phase can be!in. "t the end of each phase, a review ta#es place to determine if the pro$ect is on the ri!ht path and whether or not to continue or discard the pro$ect. In waterfall model phases do not overlap. Diagram of Waterfall-model:

Advantages of waterfall model: %imple and easy to understand and use. &asy to mana!e due to the ri!idity of the model ' each phase has specific deliverables and a review process. Phases are processed and completed one at a time. Wor#s well for smaller pro$ects where requirements are very well understood. Disadvantages of waterfall model: (nce an application is in the testin! sta!e, it is very difficult to !o bac# and chan!e somethin! that was not well-thou!ht out in the concept sta!e. )o wor#in! software is produced until late durin! the life cycle. *i!h amounts of ris# and uncertainty. )ot a !ood model for comple and ob$ect-oriented pro$ects.

Poor model for lon! and on!oin! pro$ects. )ot suitable for the pro$ects where requirements are at a moderate to hi!h ris# of chan!in!.

When to use the waterfall model: +equirements are very well #nown, clear and fi ed. Product definition is stable. Technolo!y is understood. There are no ambi!uous requirements "mple resources with required e pertise are available freely The pro$ect is short.

2. Iterative Model
"n iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development be!ins by specifyin! and implementin! $ust part of the software, which can then be reviewed in order to identify further requirements. This process is then repeated, producin! a new version of the software for each cycle of the model. ,or e ampleIn the dia!ram above when we wor# iteratively we create rou!h product or product piece in one iteration, then review it and improve it in ne t iteration and so on until it.s finished.

Diagram of Iterartive model:

Advantages of Iterative model: In iterative model we can only create a hi!h-level desi!n of the application before we actually be!in to build the product and define the desi!n solution for the entire product. /ater on we can desi!n and built a s#eleton version of that, and then evolved the desi!n based on what had been built. In iterative model we are buildin! and improvin! the product step by step. *ence we can trac# the defects at early sta!es. This avoids the downward flow of the defects. In iterative model we can !et the reliable user feedbac#. When presentin! s#etches and blueprints of the product to users for their feedbac#, we are effectively as#in! them to ima!ine how the product will wor#. In iterative model less time is spent on documentin! and more time is !iven for desi!nin!.

Disadvantages of Iterative model: &ach phase of an iteration is ri!id with no overlaps 0ostly system architecture or desi!n issues may arise because not all requirements are !athered up front for the entire lifecycle When to use iterative model: +equirements of the complete system are clearly defined and understood. When the pro$ect is bi!. Ma$or requirements must be defined1 however, some details can evolve with time.

3. Spiral Model
The spiral model is similar to the incremental model, with more emphasis placed on ris# analysis. The spiral model has four phases- Plannin!, +is# "nalysis, &n!ineerin! and &valuation. " software pro$ect repeatedly passes throu!h these phases in iterations 2called %pirals in this model3.

The baseline spiral, startin! in the plannin! phase, requirements are !athered and ris# is assessed. &ach subsequent spirals builds on the baseline spiral. +equirements are !athered durin! the plannin! phase. In the ris# analysis phase, a process is underta#en to identify ris# and alternate solutions. " prototype is produced at the end of the ris# analysis phase. %oftware is produced in the engineering phase, alon! with testin! at the end of the phase. The evaluation phase allows the customer to evaluate the output of the pro$ect to date before the pro$ect continues to the ne t spiral. Diagram of Spiral model:

Advantages of Spiral model: *i!h amount of ris# analysis hence, avoidance of +is# is enhanced. 4ood for lar!e and mission-critical pro$ects. %tron! approval and documentation control. "dditional ,unctionality can be added at a later date. %oftware is produced early in the software life cycle.

Disadvantages of Spiral model: 0an be a costly model to use. +is# analysis requires hi!hly specific e pertise.

Pro$ect.s success is hi!hly dependent on the ris# analysis phase. 5oesn.t wor# well for smaller pro$ects. When to use Spiral model: When costs and ris# evaluation is important ,or medium to hi!h-ris# pro$ects /on!-term pro$ect commitment unwise because of potential chan!es to economic priorities 6sers are unsure of their needs +equirements are comple )ew product line %i!nificant chan!es are e pected 2research and e ploration3

. ! - Model
7- model means 7erification and 7alidation model. 8ust li#e the waterfall model, the 7%haped life cycle is a sequential path of e ecution of processes. &ach phase must be completed before the ne t phase be!ins. Testin! of the product is planned in parallel with a correspondin! phase of development.

"he

various phases of the !-model are as follows:


#e$uirements li#e 9+% and %+% be!in the life cycle model $ust li#e the waterfall model. 9ut, in

this model before development is started, a system test plan is created. The test plan focuses on meetin! the functionality specified in the requirements !atherin!. "he high-level design %&'D( phase focuses on system architecture and desi!n. It provide overview of solution, platform, system, product and service:process. "n inte!ration test plan is created in this phase as well in order to test the pieces of the software systems ability to wor# to!ether. "he low-level design %''D( phase is where the actual software components are desi!ned. It defines the actual lo!ic for each and every component of the system. 0lass dia!ram with all the methods and relation between classes comes under //5. 0omponent tests are created in this phase as well. "he implementation phase is, a!ain, where all codin! ta#es place. (nce codin! is complete, the path of e ecution continues up the ri!ht side of the 7 where the test plans developed earlier are now put to use. )oding: This is at the bottom of the 7-%hape model. Module desi!n is converted into code by developers. Advantages of !-model: %imple and easy to use. Testin! activities li#e plannin!, test desi!nin! happens well before codin!. This saves a lot of time. *ence hi!her chance of success over the waterfall model. Proactive defect trac#in! ' that is defects are found at early sta!e. "voids the downward flow of the defects. Wor#s well for small pro$ects where requirements are easily understood. Disadvantages of !-model: 7ery ri!id and least fle ible. %oftware is developed durin! the implementation phase, so no early prototypes of the software are produced. If any chan!es happen in midway, then the test documents alon! with requirement documents has to be updated. When to use the !-model: The 7-shaped model should be used for small to medium si;ed pro$ects where requirements are clearly defined and fi ed. The 7-%haped model should be chosen when ample technical resources are available with

needed technical e pertise. *i!h confidence of customer is required for choosin! the 7-%haped model approach. %ince, no prototypes are produced, there is a very hi!h ris# involved in meetin! customer e pectations.

*. +ig +ang Model


The 9i!- 9an! Model is $ust li#e the cosmolo!ical model that it is named after namely one in which we put hu!e amounts of matter 2people or money3 and these are put to!ether, a lot of ener!y is e pended ' often violently ' and the outcome is either the perfect software product or not. The beauty of this model is that it is simple. There is little plannin!, schedulin!, or formal development process. "ll the effort is spent developin! the software and writin! the code. This model is usually used in small pro$ects, since the developer does the requirement analysis, writes code and develops software. If i am !oin! to be honest accordin! to statistical data the 9i!-9an! model brin!s sometimes a beautiful software product. 9ut 2and this is the ma$or drawbac# with the model3 the ratio of failure is !reater. "lso developers only need to understand requirements and develop the product, there is no formal testin! phase in this model, if testin! occurs at all it is $ust before release of the final product. The lac# of a formal testin! phase is maybe a cause for the massive failure ratio that this model has. Advantages This is a very simple model /ittle or no plannin! required &asy to mana!e 7ery few resources required 4ives fle ibility to developers Is a !ood learnin! aid for new comers or students Disadvantages 7ery *i!h ris# and uncertainty. )ot a !ood model for comple and ob$ect-oriented pro$ects. Poor model for lon! and on!oin! pro$ects.

0an turn out to be very e pensive if requirements are misunderstood

,. Agile Model
%oftware is developed in incremental, rapid cycles. This results in small incremental releases with each release buildin! on previous functionality. &ach release is thorou!hly tested to ensure software quality is maintained. It is used for time critical applications. & treme Pro!rammin! 2<P3 is currently one of the most well #nown a!ile development life cycle model. Diagram of Agile model:

Advantages of Agile model: 0ustomer satisfaction by rapid, continuous delivery of useful software. People and interactions are emphasi;ed rather than process and tools. 0ustomers, developers and testers constantly interact with each other. Wor#in! software is delivered frequently 2wee#s rather than months3. ,ace-to-face conversation is the best form of communication. 0lose, daily cooperation between business people and developers. 0ontinuous attention to technical e cellence and !ood desi!n. +e!ular adaptation to chan!in! circumstances.

&ven late chan!es in requirements are welcomed Disadvantages of Agile model: In case of some software deliverables, especially the lar!e ones, it is difficult to assess the effort required at the be!innin! of the software development life cycle. There is lac# of emphasis on necessary desi!nin! and documentation. The pro$ect can easily !et ta#en off trac# if the customer representative is not clear what final outcome that they want. (nly senior pro!rammers are capable of ta#in! the #ind of decisions required durin! the development process. *ence it has no place for newbie pro!rammers, unless combined with e perienced resources. When to use Agile model: When new chan!es are needed to be implemented. The freedom a!ile !ives to chan!e is very important. )ew chan!es can be implemented at very little cost because of the frequency of new increments that are produced. To implement a new feature the developers need to lose only the wor# of a few days, or even only hours, to roll bac# and implement it. 6nli#e the waterfall model in a!ile model very limited plannin! is required to !et started with the pro$ect. "!ile assumes that the end users. needs are ever chan!in! in a dynamic business and IT world. 0han!es can be discussed and features can be newly effected or removed based on feedbac#. This effectively !ives the customer the finished system they want or need. 9oth system developers and sta#eholders ali#e, find they also !et more freedom of time and options than if the software was developed in a more ri!id sequential way. *avin! options !ives them the ability to leave important decisions until more or better data or even entire hostin! pro!rams are available1 meanin! the pro$ect can continue to move forward without fear of reachin! a sudden standstill.

-. #AD
+"5 model is +apid "pplication 5evelopment model. It is a type of incremental model. In +"5 model the components or functions are developed in parallel as if they were mini pro$ects. The developments are time bo ed, delivered and then assembled into a wor#in! prototype. This

can quic#ly !ive the customer somethin! to see and use and to provide feedbac# re!ardin! the delivery and their requirements. Diagram of #AD-Model:

The

phases in the rapid application development 2+"53 model are+usiness modeling: The information flow is identified between various business functions. Data modeling: Information !athered from business modelin! is used to define data ob$ects that are needed for the business. .ro/ess modeling: 5ata ob$ects defined in data modelin! are converted to achieve the business information flow to achieve some specific business ob$ective. 5escription are identified and created for actual "esting and turnover: Test new components and all the interfaces. Advantages of the #AD model: +educed development time. Increases reusability of components =uic# initial reviews occur &ncoura!es customer feedbac# Inte!ration from very be!innin! solves a lot of inte!ration issues. 0+65 of data ob$ects. system. Appli/ation generation: "utomated tools are used to convert process models into code and the

Disadvantages of #AD model: 5epends on stron! team and individual performances for identifyin! business requirements. (nly system that can be modulari;ed can be built usin! +"5 +equires hi!hly s#illed developers:desi!ners. *i!h dependency on modelin! s#ills Inapplicable to cheaper pro$ects as cost of modelin! and automated code !eneration is very hi!h.

When to use #AD model: +"5 should be used when there is a need to create a system that can be modulari;ed in >-? months of time. It should be used if there.s hi!h availability of desi!ners for modelin! and the bud!et is hi!h enou!h to afford their cost alon! with the cost of automated code !eneratin! tools. +"5 %5/0 model should be chosen only if resources with hi!h business #nowled!e are available and there is a need to produce the system in a short span of time 2>-? months3.

Anda mungkin juga menyukai