Download - Software Development Life Cycle
![Page 1: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/1.jpg)
Life Cycle Models
Saranya.VAP/CSE,
Sri Vidya College of Engineering & Technology,Virudhunagar
![Page 2: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/2.jpg)
Need for life cycle models
• Software development phase is a complex task.
• Break down the development process into phases.
![Page 3: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/3.jpg)
![Page 4: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/4.jpg)
Types of life cycle models
Waterfall ModelIncremental Process Models
Incremental ModelRapid Application Development Model
Evolutionary Process ModelPrototyping ModelSpiral Model
Component-Based Process Model.
![Page 5: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/5.jpg)
1. Waterfall Model- Royce • Process of software designing consists of linear
set of distinct phases.
![Page 6: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/6.jpg)
• Stage 1: Feasibility Study– Choose desirable system for designing.• Technical study• Economic study• Schedule study• Operational study• Motivational study
• Stage 2: Requirement Analysis and Specifications– Understand the exact requirements of the customer.– This stage produces a large document containing a description of what the
system will do without describing bow it will be done. This document is known as “ Software Document Specification” (SRS).
• Stage 3:Design– Requirement phase to design phase– To create a basic structure for a given requirement.– Product design and detailed design procedures should be noted using SDD
( Software Design Description).
![Page 7: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/7.jpg)
• Stage 4: Coding– Known as Implementation phase.– SDD is sufficient to begin coding phase.– Transform design specification into machine readable
form.– Code generation can be done easily.– Design is implemented as a program module– Each module is tested using unit testing.
• Stage 5: Integration and System Testing– Modules are integrated in a planned way– After testing the software is delivered to the customer.
![Page 8: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/8.jpg)
• Stage 6: Software Maintenance– Error correction– Enhancement of capabilities– Optimization (minima and maxima of a function)
Advantages:• Smaller projects can be done easily• Phase completion one at the time.
Disadvantages:• Difficult for the customer to state all the requirements
explicitly.• Sequential flow is difficult to follow.
![Page 9: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/9.jpg)
2. Incremental Process Models
![Page 10: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/10.jpg)
2.1 Incremental Model• Combination of linear sequential Model with
the iterative philosophy of prototyping.
![Page 11: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/11.jpg)
2.2 Rapid Application Development (RAD) Model
• Do construction of prototypes.• Initiate iterative development.• Merging various structured techniques(data driven information,
etc).
Phases of RAD:• Business Modeling: regarding business
functionalities like information and process)• Data Modeling: information collected from
business modeling is refined into a set of data objects.– Attributed identified here.
![Page 12: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/12.jpg)
• Process Modeling: data objects defined in the data modeling phase are transformed to achieve the information flow.– Adding, modifying, deleting.
• Application Generation: automated tools are used to facilitate construction of the software
• Testing and Turn Over: Reduce overall testing time.
![Page 13: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/13.jpg)
Advantages:• Adaptable to changes• Reduce the project risk• Use short development cycle so user can see the RAD product
quickly.• Giving the chance to users to review the product.
Disadvantages:• Unknown cost of product.• Not suitable for large scale projects.• Not appropriate when technical risks are high.
![Page 14: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/14.jpg)
3. Evolutionary Process Model• Evolutionary model is designed to
accommodate iterative development of a software product.
• Requirements may change in subsequent iterations
(But when details are not known, some product, functionalities and concept should be delivered)
![Page 15: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/15.jpg)
Evolutionary Process Model
![Page 16: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/16.jpg)
Steps occurs in evolutionary model• Listening to the customer to understand the
requirements for the software product.• Engineering, building and modifying the product
based on the customer requirements.• Allowing the customer to evaluate the product .
Disadvantages:• Not possible to develop fixed cost estimates
and static schedules due to uncertainty.
![Page 17: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/17.jpg)
3.1 Prototyping Models• Provides a reduced functionalitySteps to be followed in prototyping model:• Requirements gathering:
– Developer and customer meet– Define overall objective
• Quick Design:– Objects Visible to user
• Building prototype:– Leads to construction of a prototype.
• Customer evaluation of prototype:– Prototype is evaluated by the customer.
• Refining prototyping:– Refine the requirements to develop the software.
• Engineer Product:– Prototype serves as a mechanism for identify software requirements.
![Page 18: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/18.jpg)
![Page 19: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/19.jpg)
Advantages:• Misunderstanding between developers and customers can be identified.• Confusing user services can be identified.Disadvantages:• designing a prototype Quick rather than quality
![Page 20: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/20.jpg)
3.2 Spiral Model- Dr. Barry Boehm
• Idea of minimizing risk via the use of prototypes & other means is the concept of spiral model.
• Spiral model is a sequence of activities with backtracking.– Each loop in the spiral represents a phase in the
process.– Risks are explicitly assessed and resolved
throughout the process.
![Page 21: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/21.jpg)
Spiral Model Sectors
• Objective setting– Identify the specific objective
• Risk assessment and Reduction– Assess the risk and Reduce the key risk
• Development and Validation– Choose development models and do validation
• Planning– The project is reviewed and the next phase of the
spiral is planned.
![Page 22: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/22.jpg)
![Page 23: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/23.jpg)
The Risk Analysis task region
![Page 24: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/24.jpg)
• This model is iterative, starting from the innermost point and proceeding radialy outwards.
• Moving outwards on the spiral means moving towards more complete versions of the sw product.
• The spiral model is divided into 4 task regions:• Planning : project plan• Risk analysis: identify the risk• Engineering: Required Technical activities• Customer evaluation :Get feedback
![Page 25: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/25.jpg)
Iteration of Spiral Model
• 1st task region (Planning) : estimation of cost, schedules, get customer feedback for previous iteration.
• 2th task region (Evaluating) : go or no-go decisions
• 3th task region (Engineering) : building the product based on the end product.
• 4th task region (Customer Evaluation) : Evaluate the end product
![Page 26: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/26.jpg)
Advantages:• Important issues(cost estimation and schedule) are
discovered earlier.• Best understanding and high quality• Supports for dynamically changing requirements.• Changes made in one module will not have any impact on
another module.
Disadvantages:• Limiting reusability• Requirements and designs are not tested• Different for each application• Budget and schedule risk.• Route cause analysis is difficult.
![Page 27: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/27.jpg)
4. Component Based Process Model
• Reuse of Components• Includes:– Building components– Storing – Incorporate with some modifications
![Page 28: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/28.jpg)
Identity candidate
components
Look up components
in library
Extract components if available
Build components if available
Put new components
in library
Construct nth iteration of
system
Identify suitable componentsModifyReuse
![Page 29: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/29.jpg)
Computer Based System
• Implemented within the organization for the purpose of improving the efficiency of the org.
• Identify:– Characteristics of the organization– Work systems– People– Development methodologies.
Identify the successful system
![Page 30: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/30.jpg)
• Complexity of the system:– Due to integration technology– Human activities
• Engineers with detailed understanding both of the application domain and computer electronics, software, human factors and communication are needed to provide a holistic approach to system development.
![Page 31: Software Development Life Cycle](https://reader033.vdocument.in/reader033/viewer/2022061120/5465ed1aaf79597e288b5c6e/html5/thumbnails/31.jpg)
Model Based Development • Models are necessary in system engineering.• Use of models can reduce the number of
errors in the design and thus the system, reduce engineering effort and preserve knowledge.
• Maintaining models with up-to-date knowledge is a major problem as must systems are not generated from models.