Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.

Similar presentations


Presentation on theme: "Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model."— Presentation transcript:

1 Software Life Cycle Models

2 Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model was presented by Winston Royce in "Managing Development of Large Scale Software Systems" (Proceeding of IEEE WESCON, August 1970)

3 Waterfall Model

4

5

6

7  Although it has come under attack in recent years for being too rigid and unrealistic when it comes to quickly meeting customer's needs, the Waterfall Model is still widely used.

8 Waterfall Model  It is attributed with providing the theoretical basis for other Process Models, because it most closely resembles a "generic" model for software development.

9 Waterfall Model TThe advantage of waterfall development is that a schedule can be set with deadlines for each stage of development and a product can proceed through the development process like a car in a carwash, and theoretically, be delivered on time.

10 TThe disadvantage of waterfall development is that it does not allow for much reflection or revision. OOnce an application is in the testing stage, it is very difficult to go back and change something that was not well- thought out in the concept stage.

11 The Prototyping Model  The Prototyping Model is a systems development method (SDM) in which a prototype (an early approximation of a final system or product) is built, tested, and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.

12 The Prototyping Model  This model works best in scenarios where not all of the project requirements are known in detail ahead of time.  It is an iterative, trial-and-error process that takes place between the developers and the users.

13 The Prototyping Model  There are several steps in the Prototyping Model: 1. The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all aspects of the existing system.

14 The Prototyping Model 2. A preliminary design is created for the new system. 3. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.

15 The Prototyping Model 4. The users thoroughly evaluate the first prototype, noting its strengths and weaknesses, what needs to be added, and what should to be removed. The developer collects and analyzes the remarks from the users.

16 The Prototyping Model 5. The first prototype is modified, based on the comments supplied by the users, and a second prototype of the new system is constructed. 6. The second prototype is evaluated in the same manner as was the first prototype. The process is repeated until a final prototype is produced.

17 The Prototyping Model

18 The Incremental Model The incremental approach attempts to combine the waterfall sequence with some of the advantages of prototyping.

19 The Incremental Model  It divides the overall project into a number of increments, then it applies the waterfall model to each increment.

20 The Incremental Model  This approach is favored by many object-oriented practitioners.

21 Incremental Phases Inception : During the inception phase, the purpose, business rationale, and scope of the project is determined. This is similar to the feasibility analysis that is done in other life cycles.

22 Incremental Phases Elaboration: During the elaboration phase, more detailed requirements are collected, high level analysis is performed, and a general architecture is determined.

23 The Incremental Model  Elaboration: This phase divides the requirements into increments that can be built separately.

24 The Incremental Model  Construction The construction phase builds increments of the system. Each increment is developed using a waterfall approach.

25 The Incremental Model  Construction This includes detailed analysis and design for the use cases in the increment and coding and testing of the implementation of the sequence of events defined by the use cases.

26 The Incremental Model

27 Boehm’s Spiral Model  Barry Boehm, "A Spiral Model of Software Development and Enhancement", ACM SIGSOFT Software Engineering Notes, August 1986.

28 Boehm’s Spiral Model Each cycle produces something to be evaluated, but not necessarily a usable system.

29 Boehm’s Spiral Model Each cycle ends with the question "should we continue?"

30 Evolutionary Delivery Model Used by Microsoft and Netscape to develop web browsers.

31 Agile Development Model  The Agile Manifesto reads, in its entirety, as follows:  We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:  Individuals and interactions over processes and tools

32 Agile Development Model  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan  That is, while there is value in the items on the right, we value the items on the left more.

33 Agile Development Model  The Agile Manifesto is based on twelve principles:  Customer satisfaction by rapid delivery of useful software  Welcome changing requirements, even late in development

34 Agile Development Model  Working software is delivered frequently (weeks rather than months)  Working software is the principal measure of progress  Sustainable development, able to maintain a constant pace  Close, daily cooperation between business people and developers

35 Agile Development Model  Face-to-face conversation is the best form of communication (co-location)  Projects are built around motivated individuals, who should be trusted  Continuous attention to technical excellence and good design

36 Agile Development Model  Simplicity—the art of maximizing the amount of work not done—is essential  Self-organizing teams  Regular adaptation to changing circumstances

37 Agile Development Model

38  The Agile Manifesto introduced the term “Agile Development” in 2001. (http://agilemanifesto.org/)http://agilemanifesto.org/

39 Conclusions TThere is no one “correct” model.  Each model has tradeoffs.

40 Conclusions  Traditional models (Waterfall) –Definite and defined –Ability to estimate when the product will be finished, well- known costing models –Does not react well to change  Incremental models –Less definite, but react better to change between increments  Evolutionary –No certainty as to when the product will be finished –Allow changes to occur between prototypes  Spiral models –Same as incremental, but allows project to stop  Agile –Very flexible –Almost no structure – can get out of control


Download ppt "Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model."

Similar presentations


Ads by Google