0% found this document useful (0 votes)
73 views

Module 2 - Process Models

The document discusses the software development life cycle (SDLC) and different process models used in software engineering. It describes the key phases of the SDLC as requirements gathering, design, development/coding, testing, deployment, and maintenance. It also explains several process models like waterfall, prototyping, spiral, and agile. The waterfall model is a linear sequential process model that is suitable when requirements are clear and fixed.

Uploaded by

Gangadhar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views

Module 2 - Process Models

The document discusses the software development life cycle (SDLC) and different process models used in software engineering. It describes the key phases of the SDLC as requirements gathering, design, development/coding, testing, deployment, and maintenance. It also explains several process models like waterfall, prototyping, spiral, and agile. The waterfall model is a linear sequential process model that is suitable when requirements are clear and fixed.

Uploaded by

Gangadhar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Module - 2

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

SE Study Notes | Table of Contents 1


Module - 2 SDLC
1. Software Process and Models

 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

 SDLC is the acronym of Software Development Life Cycle.


 SDLC, Software Development Life Cycle is a process used by software industry to
design, develop and test high quality software’s.
 The SDLC aims to produce a high quality software that meets or exceeds customer
expectations, reaches completion within times and cost estimates.
 It is also called as Software development process.
 The software development life cycle (SDLC) is a framework defining tasks performed at
each step in the software development process.
What is SDLC?
 SDLC is a process followed for a software project, within a software organization.
 It consists of a detailed plan describing how to develop, maintain, replace and alter or
enhance specific software.
 The life cycle defines a methodology for improving the quality of software and the
overall development process.

SE Study Notes | Software Process and Models 2


Module - 2 SDLC

1) Requirement gathering and analysis:


 Business requirements are gathered in this phase.
 This phase is the main focus of the project managers and stake holders.
 Meetings with managers, stake holders and users are held in order to determine the
requirements like; who is going to use the system.
 Example
 Business Case for our example: The user needs an automated system that will allow
employees to enter and manage Leave requests. It must include the ability for the
request to be approved or denied. This system needs an intuitive (easy) user interface
and email notifications of the request.
 Business Case Translation: this means that the interface needs to be simple to use, and
if someone puts in a request, the boss gets an email to act on it.
o Automated Leave entry system. The system needs the following:
o An easy to use interface that employees can access with a log-in.
o An email notification to the boss to either approve or deny the request.
o A notification to the requestor that the request has been approved or denied.
o Someone in HR downloads a file every two weeks.
2) Design

SE Study Notes | SDLC Introduction 3


Module - 2 SDLC
 In this phase the system and software design is prepared from the requirement
specifications which were studied in the first phase.
 System Design helps in specifying hardware and system requirements and also helps in
defining overall system architecture.
 The system design specifications serve as input for the next phase of the model.
 Example
 During design, the developers and other technical team members look at all the
different systems that the information needs to be shared with (HR and email, for
example.)
 They will look at how the users get information into and out of the system, what
information will be used, and where the information is stored.

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

SE Study Notes | SDLC Introduction 4


Module - 2 SDLC
 Official agreement with Sign of Document. This document will be the proof for delivery
phase.
6) Maintenance
 Once when the customers starts using the developed system then the actual problems
comes up and needs to be solved from time to time.
a. fix any errors or bugs in the software
b. satisfy changing needs
c. enhance performance
 This process where the care is taken for the developed product is known as
maintenance.

3. Process Models

1. Waterfall Model (Linear Sequential Model)


2. Prototyping Model
3. The Spiral Model
4. Verification & Validation Model
5. Agile Model

4. The Waterfall Model

 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.

SE Study Notes | Process Models 5


Module - 2 SDLC

 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

SE Study Notes | Prototyping model 6


Module - 2 SDLC

 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

SE Study Notes | Prototyping model 7


Module - 2 SDLC
o Users get feel for the actual system
o Developers get to build something immediately

 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

6. The Spiral Model

 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.

SE Study Notes | The Spiral Model 8


Module - 2 SDLC
 It is divided into framework activities (C, P, M, C, D). Each activity represent one
segment of the spiral
 Each pass through the planning region results in adjustments to
o the project plan
o Cost & schedule based on feedback

• When to use Spiral Model?


• For development of large scale / high-risk projects.
• When costs and risk evaluation is important.
• Users are unsure of their needs.
• Requirements are complex.
• New product line.
• Significant (considerable) changes are expected.
• Advantages
• High amount of risk analysis hence, avoidance of Risk is enhanced.
• Strong approval and documentation control.
• Additional functionality can be added at a later date.
• Software is produced early in the Software Life Cycle.
• Disadvantages
• Can be a costly model to use.
• Risk analysis requires highly specific expertise.
• Project’s success is highly dependent on the risk analysis phase.
• Doesn’t work well for smaller projects.

V - Model

• Also called Verification and Validation Model


• Testing is planned in parallel with a development phase
• V - Model is an extension of the waterfall model and is based on association of a testing
phase for each corresponding development stage
• V- Model find bugs before it enter into the Product, that’s how it overcomes Waterfall Model
drawback

SE Study Notes | The Spiral Model 9


Module - 2 SDLC

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

When to use the V-model


• The V-shaped model should be used for small to medium sized projects where
requirements are clearly defined and fixed.

SE Study Notes | The Spiral Model 10


Module - 2 SDLC
• The V-Shaped model should be chosen when ample technical resources are available
with needed technical expertise.

7. Agile Model

• Agile = Entity that possesses agility(Being Flexible to adopt to changes)


• Agile is a software development methodology to build a software incrementally using
short iterations of 1 to 4 weeks so that the development process is aligned with the
changing business needs.
• Instead of a single-pass development of 6 to 18 months where all the requirements and
risks are predicted upfront, Agile adopts a process of frequent feedback where a
workable product is delivered after 1 to 4 week iteration.
• Agile SDLC model is a combination of iterative and incremental process models.

Workable Software

SE Study Notes | Agile Model 11


Module - 2 SDLC

 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.

SE Study Notes | Agile Model 12


Module - 2 SDLC

Agile Manifesto principles

1) Individuals and interactions OVER PROCESS AND TOOLS


In the Agile software development life cycle model, self-organisation and motivation takes
precedence over delegation of authority and following the “seniority” hierarchy.
2) Working software OVER COMPREHENSIVE DOCUMENTATION
Demo working software is considered the best means of communication with the customers to
understand their requirements, instead of just depending on documentation.

SE Study Notes | Agile Model 13


Module - 2 SDLC
3) Customer collaboration OVER CONTRACT NEGOTIATION
As the requirements cannot be gathered completely in the beginning of the project due to
various factors, continuous customer interaction is very important to get proper product
requirements.
4) Responding to change OVER FOLLOWING A PLAN
Agile Development is focused on quick responses to change and continuous development.

Types of Agile Model


• SCRUM • Agile Unified Process(AUP)
• Extreme Programing(XP) • Kanban
• Rational Unified Process(RUP)

ADVANTAGES OF AGILE MODEL

 Resource requirements are minimum.


 Suitable for fixed or changing requirements
 Good model for environments that change steadily.
 Little or no planning required
 Easy to manage
 Minimal rules, documentation easily employed.
 Delivers early partial working solutions

DISADVANTAGES OF AGILE MODEL

SE Study Notes | Agile Model 14


Module - 2 SDLC

 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 should we use Agile Model??

 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

1. What is SDLC? What Is The Purpose Of SDLC?


2. Why is software development life cycle important?
3. What are the different phases in SDLC?
4. What is SDLC model? What are the most well-known SDLC models?
5. Describe waterfall software development life cycle model.
6. Briefly describe the phases in the waterfall model
7. Explain the strengths and weaknesses of the waterfall model.
8. Explain when to use the waterfall model.
9. Describe V-Shaped software development life cycle model.
10. Briefly describe the phases in the V-Shaped model.
11. Briefly describe the phases in the Prototype model.
12. Explain the strengths and weaknesses of the Prototype model.
13. Describe spiral software development life cycle model.

SE Study Notes | Question Bank 1


Module - 2 SDLC

14. What Is Requirement Gathering Phase?


15. What Is Design Phase?
16. What Is Coding Phase?
17. What Is Testing Phase?
18. What Is Deployment Phase?
19. What Is Maintenance Phase?
20. What Is Meant By Waterfall Model? What Are The Advantages And Disadvantages Of
Waterfall Model?
21. What Is Meant By V Model? What Are The Advantages And Disadvantages Of V Model?
22. What Is Meant By Agile Model?
23. What Is Meant By Spiral Model?
24. Explain the various types of models which used in software Engineering.
25. Explain the waterfall model in detail.
26. Give a description of prototyping model.
27. What Is Prototype Model? What Are The Disadvantages Of Prototype Model?
28. What Is Requirements Gathering Phase in SDLC, explain it?
29. What is the difference between Waterfall and Agile Model?

SE Study Notes | Question Bank 2

You might also like