Software Engg. process models
-
Upload
tauseef-ahmad -
Category
Education
-
view
10.386 -
download
0
Transcript of Software Engg. process models
![Page 1: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/1.jpg)
Comparison Between Five Models Of Software Engineering
Submitted By:- Tauseef AhmadM.Tech(Software Engg.)
Aligarh Muslim University(India)
![Page 2: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/2.jpg)
2
Outlines…ObjectiveSoftware Process ModelsFive ModelsAdvantages and Disadvantages of five modelsConclusion and Future Work
![Page 3: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/3.jpg)
3
ObjectiveRepresents five of the development models
namely waterfall, Iteration, V-shaped, spiral and Extreme programming.
Main objective, to represent different models of software development and make a comparison between them to show the features and defects of each model
![Page 4: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/4.jpg)
4
Software Process Models
It is an abstract representation of a software process.
It presents a description of a process from some
particular perspective as: 1. Specification – what the system should do
and its development constraints 2. Design– Production of software systems 3. Validation-- Checking the software to
make sure it is what the customer wants 4. Evolution– Changing the software in
response to changing demand
![Page 5: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/5.jpg)
5
General Software Process Models Waterfall modelPrototype modelRapid application development model (RAD)Evolutionary developmentIncremental modelIterative modelSpiral modelComponent-based software engineering
![Page 6: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/6.jpg)
6
Five ModelsThis presentation will view the following five
models1. Waterfall model2. Iteration model3. V-shaped model4. Spiral model5. Extreme modelThese models are chosen because their
features correspond to most software development programs
![Page 7: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/7.jpg)
7
1. Waterfall modelIt is the classical model of software
engineeringThis model emphasizes planning in early
stages, it ensures design flaws before they develop
consists of several non-overlapping stagesBegins with establishing system
requirements and software requirements and continues with
architectural design, detailed design, coding, testing, and maintenance
serves as a baseline for many other lifecycle models
![Page 8: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/8.jpg)
8
following list details the steps for using the waterfall model:
![Page 9: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/9.jpg)
9
At the end of each stage, a review to determine whether the project can proceed to the next stage is held
DisadvantagesThe requirements must be stated before
beginning the design.There is no overlap between stagesThe waterfall method does not prohibit
returning to an earlier phase, this involves costly rework
Because the actual development comes late in the process, one does not see results for a long time
Not suitable for projects of long duration because in long running projects requirements are likely to change.
![Page 10: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/10.jpg)
10
Advantages
1. Easy to understand and implement.2. Widely used and known (in theory!).3. Reinforces good habits: define-before-
design, design-before-code.4.Works well for projects where requirements
are well understood.5.Clearly defined stages.6. Easy to manage. Each phase has specific
deliverable and a review.
![Page 11: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/11.jpg)
11
2. Iterative DevelopmentThe project is divided into small partsallows the development team to demonstrate
results earlier on in the process and obtain valuable feedback from system users
each iteration is actually a mini-Waterfall process with the feedback from one phase providing vital information for the design of the next phase
![Page 12: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/12.jpg)
12
![Page 13: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/13.jpg)
13
AdvantagesResults are obtained early and periodicallyProgress can be measuredLess costly to change the scope/requirements.With every increment operational product is
delivered.Testing and debugging during smaller iteration is
easy
DisadvantagesMore resources may be requiredMore management attention is required.Defining increments may require definition of the
complete system.Each phase of an iteration is rigid with no
overlaps.
![Page 14: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/14.jpg)
14
3. V-Shaped Model
Quality is guaranteed at each project stage.
![Page 15: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/15.jpg)
15
V-Shaped life cycle is a sequential path of execution of processes
Each phase must be completed before the next phase begins.
Testing is emphasized in this model more than the waterfall model
Testing procedures are developed early in the life cycleAdvantages 1. Simple and easy to use.2. Each phase has specific deliverables.3. Higher chance of success over the waterfall model
due to the early development of test plans during the life cycle.
4. Works well for small projects where requirements are easily understood.
![Page 16: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/16.jpg)
16
Disadvantages1.Very rigid like the waterfall model.2. Little flexibility and adjusting scope is
difficult and expensive.3. Software is developed during the
implementation phase, so no early prototypes of the software are produced.
4. This Model does not provide a clear path for problems
found during testing phases
![Page 17: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/17.jpg)
17
4. Spiral ModelSimilar to the incremental model with more
emphases placed on riskIt has four phases: Planning, Risk Analysis ,
Engineering and EvaluationRequirements are gathered during the planning
phaseIn the risk analysis phase, a process is undertaken
to identify risk and alternate solutions, A prototype is produced at the end of this phase.
Software is produced in the engineering phase along with testing at the end of the phase.
The evaluation phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral.
angular component represents progress, and the radius of the spiral represents cost.
![Page 18: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/18.jpg)
18
![Page 19: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/19.jpg)
19
Spiral model Sector 1. Objective Setting 2.Risk Assessment and
Reduction 3. Development and Validation 4. PlanningAdvantages1. High amount of risk analysis.2. Good for large and mission-critical projects.3. Software is produced early in the software life
cycle.Disadvantages1. Can be a costly model to use.2. Risk analysis requires highly specific expertise.3. Project’s success is highly dependent on the risk analysis phase.4. Doesn’t work well for smaller projects .
![Page 20: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/20.jpg)
20
5. Extreme ProgrammingBased on the development and delivery of very
small increments of functionalityAgile method of development.Constant code improvement, user involvement in
the development team and pair wise programmingExtreme Programming Practices1. Incremental planning2. Small Releases3. Simple Design4. Test first development5. Refactoring6. Pair Programming7. Collective Ownership
8. Continuous Integration9. On-site Customer
![Page 21: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/21.jpg)
21
![Page 22: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/22.jpg)
22
AdvantagesLightweight methods suit small-medium size projectsProduces good team cohesionEmphasizes final productIterativeTest based approach to requirements and quality
assuranceDisadvantagesDifficult to scale up to large projects where documentation is essentialNeeds experience and skill if not to degenerate into code-and-fix.Programming pairs is costly.Test case construction is a difficult and specialized
skill
![Page 23: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/23.jpg)
23
Conclusion and Future Work it is concluded that1.There are many existing models for
developing systems for different sizes of projects and requirements
2.Waterfall model and spiral model are used commonly in developing systems
3. Each model has advantages and disadvantages for the
development of systems , so each model tries to eliminate the disadvantages of the previous model
for future works: Suggesting a model to simulate advantages
that are found in different models to software process management
![Page 24: Software Engg. process models](https://reader035.fdocuments.in/reader035/viewer/2022081508/5557c4afd8b42ab6258b460b/html5/thumbnails/24.jpg)
24
Thank you……