Вы находитесь на странице: 1из 16

A Comparative Analysis of

Different types of Models in


Software Development Life Cycle

SDLC
Software Engineering (SE) is the
application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software

Software Engineering processes


are composed of many
activities

Requirements Analysis ,
Specification
Software architecture
Implementation
Testing
Documentation
Training and Support
Maintenance

Models
There are four types of Model are:
1 Waterfall
2 Iterative
3. Prototype
4. Spiral.

User Requirements

phase
output

User Requirements Document

Software Requirements
Document

Software Requirements

Architecture
Design
Swimming
upstream

Architectural Design
Document

Detailed design & Coding

The Waterfall
Lifecycle Workflow

Testing

Delivery

Time

Detailed
Design
& Code

Advantages
1. Easy to understand and implement.
2. Widely used and known (in theory!)
3. Reinforces good habits: define-beforedesign, design-before-code
4. Identifies deliverables and milestones
5. Document driven, URD, SRD, etc.
Published documentation standards, e.g.
PSS-05.
6. Works well on mature products and weak
teams.

Disadvantages I
1. Idealised, doesnt match reality well.
2. Doesnt reflect iterative nature of
exploratory development.
3. Unrealistic to expect accurate
requirements so early in project
4. Software is delivered late in project,
delays discovery of serious errors.

Disadvantages II
5. Difficult to integrate risk management
6. Difficult and expensive to make changes
to documents, swimming upstream.
7. Significant administrative overhead,
costly for small teams and projects.

Spiral Model
Since end-user requirements are hard to
obtain/define, it is natural to develop
software
in an experimental way: e.g.
1. Build some software
2. See if it meets customer requirements
3. If no goto 1 else stop.

Spiral SDLC Model

Adds risk analysis, and 4gl RAD prototyping to


the waterfall model
Each cycle involves the same sequence of steps
as the waterfall process model

Begin each cycle with an identification of stakeholders


and their win conditions, and end each cycle with review
and commitment.
Every time a new prototype is obtained ,it is revaluated
again and again by the customer .so more customer
involvement is there.
Advantage
Better productivity through reuse capabilities.
Proper control over cost ,time and manpower
requirement for a project work.
Errors are eliminated in early phases of project
development only.
3) Disadvantages This model requires risk identification, its projection,
risk assessment and risk management which is not an
easy task.
Cost and time estimations are also not very easy.
This model is not suitable for smaller project as then

Iterative-waterfall

Advantages It is much better model of the software process.


It allows feedback to proceeding stages.
It can be used for project wherein the
requirements are not well understood.
2) Disadvantages It is not easy to manage this model.
No clear milestones in the development
process.
No stage is really finished.

Prototype model

Advantages Early visibility of the prototype gives users an idea of what the final
system looks like Encourages active participation among users and
producer.
Enables a higher output for user.
Cost effective (Development costs reduced)
Increases system development speed
Assists to identify any problems with the efficacy of earlier design,
requirements analysis and coding activities.
Disadvantages Possibility of causing systems to be left unfinished.
Possibility of implementing systems before they are ready.
Producer might produce a system inadequate for overall organization
needs.
Often lack flexibility.
Not suitable for large applications.
Project management difficulties.