The document discusses several software development life cycle (SDLC) models including waterfall, V-model, spiral model, prototyping model, iterative process model, incremental model, evolutionary model, and code and fix model. It provides details on the phases and characteristics of each model as well as their advantages and disadvantages. The goals of software processes are also listed as quality, productivity, high product quality, ability to plan time, and meeting budget requirements.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
9 views
Lec-8 (Software Development Models)
The document discusses several software development life cycle (SDLC) models including waterfall, V-model, spiral model, prototyping model, iterative process model, incremental model, evolutionary model, and code and fix model. It provides details on the phases and characteristics of each model as well as their advantages and disadvantages. The goals of software processes are also listed as quality, productivity, high product quality, ability to plan time, and meeting budget requirements.
Software Development life cycle Software Development life cycle (SDLC) is a spiritual model used in project management that defines the stages include in an information system development project, from an initial feasibility study to the maintenance of the completed application.
Waterfall Model • In this model, each work is divided in to phase. When one phase complete, the move to next phase. • In this model, its not like that, you move to other phase with out completed the previous state. • It is termed as waterfall because the model develops systematically from one phase to another in a downward fashion.
Waterfall Model Problems o If your application is in testing state, you cannot move into previous state or cannot made a change on previous state. o It is not suitable for complex projects where requirement change frequently o Testing period come late in the development process.
Waterfall Model Advantages Dis-Advantages •Before the next phase of •Error can be fixed only during development, each phase must the phase be completed •Suited for smaller projects •It is not desirable for complex where requirements are well project where requirement defined changes frequently •Any changes in software is •Small changes or errors that made during the process of the arise in the completed software development may cause a lot of problems
V-Model • V-model is same as waterfall model, the difference is that, we can move to previous state in V-Mode • Under the V-Model, the corresponding testing phase of the development phase is planned in parallel.
Waterfall Model VS V-Model o in waterfall model, the testing activities are carried out after the development activities are over. On the other hand in V model, testing activities start with the first stage itself. o waterfall model is a continuous process, while the V model is a simultaneous process. o In waterfall model, the number of defects in the software made using V model are less. o This is due to the fact, that there are testing activities, which are carried out simultaneously in V model. Therefore, waterfall model is used, when the requirements of the user are fixed. o If the requirements of the user are uncertain and keep changing, then V model is the better alternative
Spiral Model • In spiral model, we can update the information in every track. • It is a type of evolution model. • The spiral model has four phases: Planning, Design, Construct and Evaluation. • A software project repeatedly passes through these phases in iterations (called Spirals in this model). • The Spiral Model repeats steps of a project.
Spiral Model Advantages 1. Software is produced early in the software life cycle. 2. Risk handling is one of important advantages of the Spiral model, it is best development model to follow due to the risk analysis and risk handling at every phase. 3. Flexibility in requirements. In this model, we can easily change requirements at later phases and can be incorporated accurately. Also, additional Functionality can be added at a later date. 4. It is good for large and complex projects. 5. It is good for customer satisfaction. We can involve customers in the development of products at early phase of the software development. Also, software is produced early in the software life cycle. 6. Strong approval and documentation control. 7. It is suitable for high risk projects, where business needs may be unstable. A highly customized product can be developed using this.
Spiral Model Disadvantages 1.It is not suitable for small projects as it is expensive. 2.It is much more complex than other SDLC models. Process is complex. 3.Too much dependable on Risk Analysis and requires highly specific expertise. 4.Difficulty in time management. As the number of phases is unknown at the start of the project, so time estimation is very difficult. 5.End of the project may not be known early. 6.It is not suitable for low risk projects.
Linear Process Model o Linear process models follow a pattern of phases completed one after another without repeating prior phases. o Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of the project. o The Waterfall Model was the first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model. o It is very simple to understand and use. o In a waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases.
Linear Process Model Advantages • An advantage of linear model communication is that the message of the sender is clear and there is no confusion . • It reaches to the audience straightforward. • A linear model of communication envisages a one way process in which one party is the sender encoding and transmitting the message and another party is the recipient receiving and decoding the information Disadvantages • there is no feedback of the message by the receiver.
Prototyping Model Prototyping is the initial stage of software, on the basis of which software evolution start. Instead of developing a software, firstly, make a software prototype. Prototype means the process in which developer create a model of the actual software. Prototype are the set of rules for developing a software.
Iterative Process o In this process, developers create, test, and revise the processes again and again until end- users satisfied with the end result. o When one phase compete, we can go to next state/ previous state.
Incremental Model This model combine the linear and parallel process models This model have best features of both models. Divide the software work into smaller modules and according to scenario, we worked on it according to user need ◦ What user need first ◦ Which module should test first ◦ Which module deployed first.
Code and Fix Model o Developed the product with out planning or algorithm. o With out steps o Directly move state-1 to state 5, then state 5 to state 2.