SDLC
SDLC
CYCLE (SDLC)
Objectives
After studying this unit, you will be able to:
• Understand the importance of SDLC in MIS
• Learn in detail about the phases of SDLC
• Deep knowledge about Methodologies of System Development Life
Cycle
Structure
3.1 Introduction of System Development Life Cycle (SDLC)
3.2 Phases of SDLC
3.3 Methodologies of System Development Life Cycle
3.4 Benefits of System Development Life Cycle
3.5 Possible Drawbacks of SDLC
3.6 Summary
3.7 Self-Assessment Exercises
3.8 Further Readings
• Planning: The organization identifies the need for a new system and
defines its objectives and scope during this stage. A feasibility study is
carried out to determine whether or not the project is feasible and the
resources required.
• Analysis: During this stage, the organization collects and analyses the
system requirements. Gathering requirements from stakeholders and
34 developing a detailed system specification are part of this stage.
System Development
• Design: The system design is created during this stage, which includes Life Cycle (SDLC)
the software and hardware architecture, database design, user interfaces,
and system security.
• Development: This stage entails the actual coding and development of
the system based on the previous stage's design. Developers design,
develop, debug, and test the system.
• Integration & Testing: The system is tested during this stage to ensure
that it meets the requirements and functions as expected. To validate the
system, various types of testing are performed, including unit testing,
integration testing, and acceptance testing.
• Implementation: The system is installed and deployed in a live
environment for end-users to use at this stage. The system is deployed in
a production environment and used by customers and end users.
• Maintenance: After the system has been deployed, this stage entails
providing support for it. The system may require maintenance and bug
fixes, as well as the addition of new features based on customer
feedback.
Waterfall Model
The Waterfall Model was the first to be introduced as a Process Model as
shown in Figure 3.2.
Iterative Model
The Iterative model begins with a simple implementation of a small set of
software requirements and iteratively improves the evolving versions until
the entire system is implemented and ready for deployment. An iterative life
cycle model does not attempt to begin with a complete set of requirements.
Instead, development begins with specifying and implementing only a
portion of the software, which is then reviewed to identify additional
requirements. This process is then repeated, resulting in a new version of the
software at the end of each model iteration.
Spiral Model
• Identification:
This phase begins with gathering the baseline spiral's business
requirements. This phase is used to identify system requirements,
subsystem requirements, and unit requirements in subsequent spirals as
the product matures. This phase also includes continuous communication
between the customer and the system analyst to understand the system
requirements. The product is deployed in the identified market at the end
of the spiral.
• Design:
The Design phase begins with conceptual design in the baseline spiral
and progresses to architectural design, logical module design, physical
product design, and final design in subsequent spirals.
• Construct or Build:
At each spiral, the Construct phase refers to the production of the actual
software product. In the baseline spiral, when the product is still being
thought about and the design is being developed, a POC (Proof of
Concept) is created to solicit customer feedback. Then, in subsequent
spirals with greater clarity on requirements and design details, a working
model of the software known as a build with a version number is
produced. These prototypes are sent to the customer for review.
V-Model
The 'V-Model' is a modern version of the traditional software development
model. The letter 'V' represents verification and validation and is an extension
40 of the Waterfall model. The crux of the V model is the connection between
System Development
each phase of testing and that of development. The phases of testing are Life Cycle (SDLC)
categorized as the "Validation Phase" and that development as the
"Verification Phase". As a result, for each stage of development, a
corresponding test activity is planned ahead of time.
Verification Phases:
Validation Phases:
• Unit Testing Phase: Unit tests are designed to validate single modules
and identify and eliminate bugs. A unit test is simply running a piece of
code to see if it provides the desired functionality. 41
Overview of • Integration Testing: Integration testing is the process of collaborating
Management
Information System pieces of code to ensure that they perform as a single entity.
• System Testing: When the entire system is ready, the application is run
on the target environment in which it must operate, and a conclusion is
drawn to determine whether the system is capable of performing
efficiently with the shortest response time.
• User Acceptance Testing: The user acceptance test plan is created
during the requirement analysis phase because when the software is
ready to be delivered, it is tested against a set of tests that must be passed
to certify that the product met its goal.
This model is used for rapid and ongoing release cycles, to implement minor
but significant changes between releases. This implies more tests and
iterations and is mostly applicable to removing minor issues from larger,
more complex projects. As you can see, different SDLC methodologies are
used depending on the specifics of each project, its requirements, the client's
core vision, and other factors. Knowing the specific characteristics of each
SDLC model can assist in selecting the best one to deliver a high-quality,
effective product.
Agile is defined as quick or adaptable. The term "Agile process model" refers
to an iterative software development approach. Agile methods divide tasks
into smaller iterations or parts and do not involve long-term planning
directly. The project scope and requirements are established at the start of the
development process. The number of iterations, duration, and scope of each
iteration are all clearly defined in advance.
In the Agile process model, each iteration is considered a short time "frame,"
typically lasting one to four weeks. The division of the entire project into
smaller parts aids in reducing project risk and overall project delivery time
requirements. Before a working product is demonstrated to the client, each
iteration involves a team going through the entire software development life
cycle, including planning, requirements analysis, design, coding, and testing.
3.6 SUMMARY
To sum up, the system development life cycle is a complex project
management model that encompasses the system creation from its initial idea
to its finalized deployment and maintenance. The SDLC includes 7 different
stages: planning, analysis, design, development, testing, implementation, and
maintenance – all these are particularly important for delivering a high-
quality cost-effective product in the shortest time frames. Learning the basics
of the SDLC performance, its major methodologies, great benefits, and
possible drawbacks can help you to set up an ergonomic system development
process that will help you to deliver the best outcome.
45
Overview of The software development life cycle can and is adapted by software
Management
Information System development teams based on the philosophy, methodology, and framework
they use when developing a specific software product, or by organizations.
The SDLC is a project management tool that should be tailored to the needs
of the project, the team working on it, and other key stakeholders involved in
the process. The names of the phases, their order, and whether they are
distinct or merged into one another change. However, every software
development project has a life cycle, and you should now understand its role
in project management and as a tool for improving outcomes.
Regarding this case, other Stakeholders are the Accounting department for
details of customer accounts, Customers who use the taxi company's services,
Other despatchers who work for the taxi company, Public Carriage Office
who are responsible for setting the tariff for taxis.
As per the above case scenario, the owner wants to improve the performance
of the company and provide quality service through the System Development
Life cycle. Explain the below questions to ensure performance and quality.
1. Define the project scope and objectives: Write down the specific goals,
deliverables, and timeline for your project.
7. Monitor and maintain the system: Regularly monitor the system for
performance and take action to resolve any issues that arise.
47
Overview of
Management
Information System
48