24
Comparison Between Five Models Of Software Engineering Submitted By:- Tauseef Ahmad M.Tech(Software Engg.) Aligarh Muslim University(India)

Software Engg. process models

Embed Size (px)

Citation preview

Page 1: Software Engg. process models

Comparison Between Five Models Of Software Engineering

Submitted By:- Tauseef AhmadM.Tech(Software Engg.)

Aligarh Muslim University(India)

Page 2: Software Engg. process models

2

Outlines…ObjectiveSoftware Process ModelsFive ModelsAdvantages and Disadvantages of five modelsConclusion and Future Work

Page 3: Software Engg. process models

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

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

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

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

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

8

following list details the steps for using the waterfall model:

Page 9: Software Engg. process models

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

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

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

12

Page 13: Software Engg. process models

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

14

3. V-Shaped Model

Quality is guaranteed at each project stage.

Page 15: Software Engg. process models

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

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

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

18

Page 19: Software Engg. process models

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

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

21

Page 22: Software Engg. process models

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

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

24

Thank you……