Module 2 - Process Models
Module 2 - Process Models
SDLC
MBA 4th Semester SE Study Notes
Module - 2 SDLC
Table of Contents
Table of Contents ..........................................................................................................................................1
1. Software Process and Models ...............................................................................................................2
2. SDLC Introduction .................................................................................................................................2
3. Process Models .....................................................................................................................................5
4. The Waterfall Model .............................................................................................................................5
5. Prototyping model ................................................................................................................................6
6. The Spiral Model ...................................................................................................................................8
7. Agile Model ........................................................................................................................................ 11
8. Question Bank .......................................................................................................................................1
A process is a collection of activities, actions and tasks that are performed when some
work product is to be created.
The process model is the abstract representation of process.
Also known as Software development life cycle (SDLC)
Process models prescribe a distinct set of activities, actions, tasks and milestones
(deliverables) required to engineer high quality software.
Process models provide roadmap for software engineering work.
Software models provide stability, control and organization to a process that if not
managed can easily get out of control.
2. SDLC Introduction
3) Development / Coding:
On receiving system design documents, the work is divided in modules/units and actual
coding is started.
Since, in this phase the code is produced so it is the main focus for the developer. This is
the longest phase of the software development life cycle.
4) Testing
After the code is developed it is tested against the requirements to make sure that the
product is actually solving the needs addressed and gathered during the requirements
phase.
During this phase unit testing, integration testing, system testing, acceptance testing
are done.
5) Deployment
This phase is initiated after the system has been tested and accepted by the user.
Deploying the product at client side. This process is known as Go-Live/ Moving to
Production.
o Installation and setup of software application at the customer site.
End user Training is planned
Training documents are prepared
3. Process Models
When requirements for a problems are well understood then this model is used in
which work flow from communication to deployment is linear
This Model also called as the Classic life cycle or linear sequential model.
When to use?
o Requirements are very well known, clear and fixed
o Product definition is stable
o Technology is understood
o There are no ambiguous (unclear) requirements
o Ample (sufficient) resources with required expertise are available freely
o The project is short
• Advantages
• Simple to implement and manage
• Drawbacks
• Unable to accommodate changes at later stages, that is required in most of the
cases.
• Working version is not available during development. Which can lead the
development with major mistakes.
• Deadlock can occur due to delay in any step.
• Not suitable for large projects.
5. Prototyping model
It works as follow
o Communicate with stockholders & define objective of Software
o Identify requirements & design quick plan
o Model a quick design (focuses on visible part of software)
o Construct Prototype & deploy
o Stakeholders evaluate this prototype and provides feedback
o Iteration occurs and prototype is tuned based on feedback
Problem Areas
o Customer demand that “a few fixes” be applied to make the prototype a
working product, due to that software quality suffers as a result
o Developer often makes implementation in order to get a prototype working
quickly; without considering other factors in mind like OS, Programming
language, etc.
• Prototyping model is appropriate when
o Customers have general objectives of software but do not have detailed
requirements for functions & features.
o Developers are not sure about efficiency of an algorithm & technical
feasibilities.
• It serves as a mechanism for identifying software requirements.
• Prototype can be serve as “the first system”.
• Both stakeholders and software engineers like prototyping model
Advantages
o Users are actively involved in the development
o Since in this methodology a working model of the system is provided, the users get
a better understanding of the system being developed
o Errors can be detected much earlier
The Spiral model is an evolutionary process model that couples iterative nature of
prototyping with the controlled and systematic aspects of waterfall model
It provides the potential for rapid development.
Software is developed in a series of evolutionary releases.
Early iteration release might be prototype but later iterations provides more
complete version of software.
V - Model
Advantages of V Model
• Simple and easy to use.
• Testing activities like planning, test designing happens well before coding. This saves a
lot of time. Hence higher chance of success over the waterfall model.
• Proactive defect tracking – that is defects are found at early stage.
• Avoids the downward flow of the defects.
• Works well for small projects where requirements are easily understood
Dis-Advantages of V-Model
• Very rigid and least flexible.
• Software is developed during the implementation phase, so no early prototypes of the
software are produced.
• If any changes happen in midway, then the test documents along with requirement
documents has to be updated
• It needs lot of resources and money
7. Agile Model
Workable Software
Agile Methods break the product into small incremental builds. These builds are
provided in iterations. Each iteration typically lasts from about 1 to 4 weeks.
At the end of the iteration, a working product is displayed to the customer and
important stakeholders
And then gain feedback from customers and once attaining customer satisfaction
we move on next module development.
Depends heavily on customer interaction, so if customer is not clear, team can be driven
in the wrong direction.
Transfer of technology to new team members may be quite challenging due to lack of
documentation.
More management effort is required for monitoring and control activities.
Difficult to follow Agile in big Enterprises where team collaboration is tough(Team is
situated in different countries)
When rapid production is more important than the quality of the product.
When clients will be able to change the scope of the project.
When there isn’t a clear picture of what the final product should look like.
When you have skilled developers who are adaptable and able to think independently.
When the product is intended for an industry with rapidly changing standards.
8. Question Bank