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

SDLC

Uploaded by

ravikumark.it
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

SDLC

Uploaded by

ravikumark.it
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

System Development

UNIT 3 SYSTEM DEVELOPMENT LIFE Life Cycle (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

3.1 INTRODUCTION OF SYSTEM


DEVELOPMENT LIFE CYCLE (SDLC)
The system development life cycle (SDLC), which was first introduced in the
1960s, has its roots in developing the first software systems. So far, the
SDLC has evolved into a complex software development process model that
can be seen and used within a specific software development model. The
systems development life cycle (SDLC) is a project management conceptual
model describing the stages of an information system development project,
from initial feasibility studies to application maintenance. SDLC applies to
both technical and non-technical systems. In most cases, a system is an IT
technology that includes both hardware and software. SDLC is typically
attended by project and program managers, system and software engineers,
development teams, and end users.
Every hardware or software system will undergo a development process,
which is an iterative process with multiple steps. SDLC provides a rigid
structure and framework for defining the phases and steps involved in system
development. SDLC stands for Synchronous Data Link Control and software
development life cycle. The software development life cycle is very similar
to the systems development life cycle, but it focuses solely on the software
development life cycle. An effective System Development Life Cycle
(SDLC) should result in a high-quality system that meets customer
expectations, is completed on time and within budget, and works effectively
33
Overview of and efficiently in the current and planned information technology
Management
Information System infrastructure.

SDLC is a conceptual model that includes policies and procedures for


developing or changing systems throughout their life cycles. Analysts use
SDLC to create an information system. SDLC activities include the
following:
• Requirements
• Design
• Implementation
• Testing
• Deployment
• Operations
• Maintenance

3.2 PHASES OF SDLC


The Systems Development Life Cycle is a systematic approach that explicitly
breaks down the work required to implement a new or modified Information
System into phases. The System Development Life Cycle (SDLC) is a
comprehensive and systematic approach to developing and maintaining
information systems. The following are the seven stages of SDLC as shown
in fig 3.1:

Fig 3.1: System Development Life Cycle (SDLC)

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

To summarise, the SDLC is a thorough and well-defined approach to system


development that ensures systems are delivered on time, within budget, and
with high quality.

Stage #1. Planning – What Are the Existing Problems?


Planning is one of the SDLC's core phases, covering nearly all of the
upcoming steps that developers must complete for a successful project
launch. This stage assists in setting up the problem or defining the pain that
the software can target, defining the system's objectives, and sketching a
rough plan of how the system will work. In other words, the planning process
aids in developing an idea of how a specific problem can be solved using a
specific software solution. This is critical for developers to better understand
the project before beginning to build software.

Furthermore, the planning stage includes an analysis of the resources and


costs required to complete the project, as well as an estimate of the overall
price of the software developed. Finally, the planning process clearly defines
the outline of system development, including setting deadlines and time
frames for each of the system development life cycle phases - all to launch
the product on time and present it to the market.

Stage #2. Analysis – What Do We Want?


When the planning phase is complete, the research and analysis phase begins.
This step entails gathering more specific data for your new system, such as
initial system prototype draughts, market research, competition analysis, and
so on. To complete the analysis and obtain all of the critical information for a
specific project, developers can generate system requirements, prioritize
them, draw alternatives, and determine the existing prototypes' pros and cons.
Conducting market research to identify end-user pain points and needs, as
well as developing concrete system goals and features to target.
35
Overview of Additionally, the SDLC analysis stage includes the creation of the Software
Management
Information System Requirement Specification (SRS) document, which defines the upcoming
system development's software and hardware, functional, and network
requirements. In general, such a document shapes the project's strict
regulations and establishes the exact software model you want in the result.

Stage #3. Design – How It Should Look Like?


Design and prototyping are the next stages of a system development project.
Essentially, this process is a necessary precursor to the core developing stage,
which is why it is sometimes confused with the development process itself.
However, because of the outlining of the system interface, databases, core
software features, user interface and usability, and network and its
requirements, this SDLC step can significantly reduce the time required to
develop the software. In general, these features aid in the finalization of the
SRS document as well as the creation of the prototype of the software to get a
general idea of how it should look.
The design process also includes the first testimonials of previously drawn
ideas, as well as brainstorming some new concepts and solutions that fit
better - such an approach can significantly reduce the time and costs required
for the actual development of the software. Thus, once the design and
prototyping are completed and the operation plan is in place, the creators can
begin programming!
Stage #4. Development – Let’s Create It
The SDLC development stage focuses on the system creation process:
developers write code and build the app following the finalized requirements
and specification documents. In other words, it encompasses both the front-
end and the back-end development processes. Along with the core functions
of the software, it includes the application's UX/UI design - all of the basic
qualities the product must provide for its end-users.
Developers can use a variety of tools and programming environments written
in C++, PHP, Python, and other languages to fully meet the project
specifications and requirements. Though this phrase may appear to be simple,
it is still possible to implement minor changes and improvements if they
exist. However, the efficiency of the finalized version of the system created
can only be evaluated in the following stage - software testing.
Stage #5. Testing – Is It the Exact One We Needed?
The testing stage, like any other system development model, is one of the
most critical phases of SDLC. After the software is built, it is even more
critical to ensure that all of its features work correctly and coherently and that
they do not negatively impact the user experience. This process involves
detecting potential bugs, defects, and errors, searching for various
vulnerabilities, and so on, and can sometimes take even longer than the app-
building stage. Finally, developers usually produce a testing report that
includes a test case that lists all of the issues that were discovered and
resolved. You can also review the testing criteria to ensure that the software
product meets all of the requirements outlined in the SRS document.
36
System Development
Stage #6. Integration – How Will We Use It? Life Cycle (SDLC)

When the product is finished, it is time to integrate it into the specific


environment, which usually means installing it. At this point, the software
has completed its final testing in the training environment and is ready for
market presentation. As a result, the product is now available to a much
larger audience!

Stage #7. Maintenance – Let’s Make the Improvements


The final but not least important stage of the SDLC process is maintenance,
where the software is already in use by end users. Often, during the first few
months, developers will encounter issues that were not detected in the
testimonials, so they should immediately respond to the reported issues and
implement the changes required for the software's stable and convenient use.
This is especially important for large systems, which are typically more
difficult to test during the debugging stage.

3.3 SIX METHODOLOGIES OF SYSTEM


DEVELOPMENT LIFE CYCLE
Now that you understand the fundamental SDLC phases and why they are
important, it's time to delve into the core methodologies of the system
development life cycle - the approaches that can assist you in delivering a
specific software model based on its major characteristics and features.
Overall, there are six popular SDLC methodologies that you can use. Let's go
over the main distinctions and peculiarities of each:

Waterfall Model
The Waterfall Model was the first to be introduced as a Process Model as
shown in Figure 3.2.

Fig 3.2: Waterfall Model


37
Overview of A linear-sequential life cycle model is another name for it. It is extremely
Management
Information System simple to grasp and apply. In a waterfall model, each phase must be
completed before the next one can begin, and the phases do not overlap. The
Waterfall model was the first SDLC approach used in software development.
The waterfall Model depicts the software development process in a sequential
linear flow. This means that any phase of the development process can start
only after the previous phase is finished. The phases in this waterfall model
do not overlap.
The Waterfall model's sequential phases are as follows:

• Gathering and analyzing requirements: In this phase, all possible


requirements of the system to be developed are captured and documented
in a requirement specification document.
• System Design: In this phase, the requirement specifications from the
first phase are studied, and the system design is prepared. This system
design aids in the specification of hardware and system requirements, as
well as the definition of the overall system architecture.
• Implementation: Using system design inputs, the system is first
developed in small programs called units, which are then integrated into
the next phase. Unit Testing is the process of developing and testing each
unit for functionality.
• Testing: After testing each unit, all of the units developed during the
implementation phase are integrated into a system. Following
integration, the entire system is tested for flaws and failures.
• System deployment: After functional and non-functional testing is
completed, the product is deployed in the customer environment or
released to the market.
• Maintenance: There are a few issues that arise in the client
environment. Patches are released to address these issues. To improve
the product, newer versions are released. Maintenance is performed to
implement these changes in the customer environment.

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.

This includes a series of smaller "waterfalls" in which small portions of


changes are carefully analyzed, tested, and delivered via repeating
development cycles. Receiving early feedback from end users allows for the
elimination of issues and bugs in the early stages of software development.
38
System Development
Life Cycle (SDLC)

Fig 3.3: Iterative model

Iterative and incremental development is a development model that combines


iterative design or iterative methods with an incremental build model. "More
than one iteration of the software development cycle may be in progress at
the same time during software development." This method is referred to as
"evolutionary acquisition" or "incremental build." The entire requirement is
divided into various builds in this incremental model. The development
module goes through the requirements, design, implementation, and testing
phases during each iteration. Each subsequent module release adds
functionality to the previous release. The process is repeated until the entire
system meets the requirements.

The key to using an iterative software development lifecycle successfully is


rigorous requirement validation, as well as verification and testing of each
version of the software against those requirements within each cycle of the
model. Tests must be repeated and extended as the software evolves through
successive cycles to verify each version of the software.

Spiral Model

Fig 3.4: Spiral Model 39


Overview of The spiral model combines the idea of iterative development with the
Management
Information System waterfall model's systematic, controlled aspects. This spiral model is a hybrid
of the iterative development process model and the sequential linear
development model, also known as the waterfall model, with a heavy
emphasis on risk analysis. It enables incremental product releases or
incremental refinement with each iteration around the spiral.
The spiral model is best suited for large projects with similar, more
customized products, as it allows for repeated passage through the main
phases in a "spiral" motion. It allows for the simultaneous incorporation of
feedback on the first stages of a life cycle, significantly reducing the time and
costs required to implement the changes.
The spiral model is divided into four stages. A software project goes through
these phases in iterations known as Spirals.

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

• Evaluation and Risk Analysis:


Identifying, estimating, and monitoring technical feasibility and
managing risks such as schedule slippage and cost overrun are all part of
risk analysis. After testing the build, the customer evaluates the software
and provides feedback at the end of the first iteration.

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.

Fig 3.4: V – Model

Verification Phases:

• Requirement Analysis: The first step in software development is to


collect requirements. Requirements are business requirements that must
be met during the software development process. Business requirement
analysis is the process of understanding an aspect from a customer's
perspective by putting oneself in their shoes and thoroughly analyzing an
application's functionality from a user's perspective. An acceptance
criteria layout is now being prepared to correlate the tasks completed
during the development process with the overall effort's outcome.
• System Design: It entails creating a layout of the system/application
design that will be created. The goal of system design is to create
detailed hardware and software specifications. System design is further
classified into the following subcategories:
i) Architectural Design: Architectural design is concerned with the
development of technical methodologies to be used in the
completion of software development objectives. Architectural design
is frequently referred to as 'high-level design,' and it aims to provide
an overview of the solution, platform, system, product, and service.
ii) Module Design: Module design, also known as 'low-level design,'
aims to define the logic upon which the system will be built. We try
to depict the relationship between the modules and the order in
which they interact at this stage.

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.

The Big Bang Model


This model is ideal for clients who do not have a clear idea or vision of how
their final product should look. It is commonly used for creating and
delivering a wide range of ideas. As a result, delivering different system
variations that could more accurately define the final output provides a more
concrete vision of specific project completion. While it may be too expensive
to deliver a large project, this SDLC methodology is ideal for small or
experimental projects.
The Big bang model is an SDLC model that begins from scratch. It is the
most basic SDLC (Software Development Life Cycle) model because it
requires almost no planning. However, it requires more funds and coding, as
well as more time. The big bang model was named after the "Great Big
Bang," which resulted in the formation of galaxies, stars, planets, and so on.
Similarly, to build a product, this SDLC model combines time, effort, and
resources. The product is gradually built as the customer's requirements
arrive; however, the end product may not meet the actual requirements. The
diagram below depicts an overview of the Big Bang SDLC model.

Fig 3.5: The Big Bang Model

As new product requirements arrive, they are understood and implemented.


The entire module, or at least a portion of it, is integrated and tested. To
determine the cause, all modules are run separately and the defective ones are
removed. It is an appropriate model when the requirements are unclear and
the final release date is unknown. Simply put, it can be phased out in three
stages. Specifically,
• Integrate each module to provide a unique integrated overview
• Test each module separately to identify any errors or defects
• If an error is discovered, isolate that module and determine the source of
42 the error.
System Development
Agile Model Life Cycle (SDLC)

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.

Fig 3.6: The Agile Model

i) Requirements gathering: You must define the requirements during this


phase. You should describe business opportunities and estimate the time
and effort required to complete the project. You can assess the technical
and economic feasibility based on this information.
ii) Design the requirements: Once the project has been identified,
collaborate with stakeholders to define requirements. You can use a user
flow diagram or a high-level UML diagram to demonstrate the 43
Overview of functionality of new features and how they will interact with your
Management
Information System existing system.
iii) Construction/ iteration: The work begins when the team defines the
requirements. Designers and developers begin work on their project,
which aims to deliver a functional product. The product will go through
several stages of development, so it will have simple, minimal
functionality.
iv) Testing: The Quality Assurance team examines the product's
performance and looks for bugs during this phase.
v) Deployment: During this phase, the team creates a product for the user's
workplace.
vi) Feedback: The final step after releasing the product is feedback. In this
stage, the team receives product feedback and works through it.

3.4 BENEFITS OF SYSTEM DEVELOPMENT


LIFE CYCLE
The SDLC (System Development Life Cycle) is a methodical approach to
designing, developing, and maintaining software or information systems.
SDLC has the following advantages:
• Improved Quality: SDLC ensures that software is developed in a
systematic and organized manner, which helps to improve overall
software quality. This can result in fewer bugs and errors, as well as
improved overall performance.
• Reduced Costs: By using a structured approach to development, SDLC
assists in identifying and addressing problems early in the process,
lowering the cost of resolving issues later on.
• Improved Communication: SDLC encourages collaboration among
stakeholders, developers, and users, ensuring that everyone is on the
same page and working towards the same goals.
• Improved Control: Because SDLC employs a structured approach, it
provides greater control over the development process, making it easier
to manage resources, timelines, and budgets.
• Improved Maintenance: SDLC includes ongoing software maintenance
and support, which helps to ensure that it is up-to-date and functioning
properly.
• Reduced Risk: SDLC incorporates risk management into the
development process, allowing potential risks to be identified early and
mitigated.
• Improved Scalability: SDLC considers the need for software to be
scalable and flexible, which can assist in ensuring that it can grow and
adapt to changing needs over time.

In General, SDLC provides a structured approach to software development


that can aid in the improvement of quality, cost reduction, communication
44 and control, and risk reduction.
System Development
3.5 POSSIBLE DRAWBACKS OF SDLC Life Cycle (SDLC)

The System Development Life Cycle (SDLC) is a well-known software


development methodology that provides a structured framework for planning,
designing, implementing, testing, and maintaining software systems. While
SDLC has many advantages, it also has some disadvantages that can expose
the success of a software development project. SDLC may have the following
disadvantages:
• Time-consuming: SDLC can be a time-consuming process because it
entails several stages and activities that must be completed before the
project can proceed. This can cause project delays, which is problematic
for businesses that need to release software quickly.
• Rigid: SDLC can be a rigid process, with little flexibility or adaptability
to changing requirements. As a result, projects may fail to meet the needs
of stakeholders or become obsolete by the time they are released.
• Expensive: SDLC can be an expensive process because it necessitates a
significant investment in time, resources, and personnel. This can be a
barrier to entry for smaller businesses or startups that lack the financial
resources to support such an approach.
• Limited stakeholder involvement: SDLC can be a highly technical
process that does not always involve stakeholders outside of the
development team. This can result in projects that do not meet the needs
of end users or do not align with business objectives.
• Overemphasis on documentation: SDLC places a high value on
documentation, which can be time-consuming and does not always add
value to the project. This can also lead to an emphasis on process rather
than results, which can be counterproductive.

• Lack of testing focus: SDLC can sometimes overlook testing, resulting


in software that is buggy or does not function as intended. This can be a
major issue for businesses that rely on software to run their operations.

SDLC can be an effective approach to software development, but it is


important to be aware of its potential drawbacks and to tailor the approach to
the project's and organization's specific needs.

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.

3.7 SELF-ASSESSMENT EXERCISES


Case Study:

Business Event: Customer Wants to Book a Taxi


Business Use Case: Make a Taxi Booking
Owner: Eva Josh, the chief despatcher

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.

2. Analyze the requirements: Identify the stakeholders, their needs, and


expectations, and determine the functional and non-functional
requirements for the project.

3. Design the system: Create a high-level design of the system, including


architecture, data flow, and interfaces.

4. Choose the development methodology: Decide on the approach, such


as waterfall, agile, or hybrid, to be used in the project.
46
System Development
5. Build and test the system: Develop and test the system to ensure it Life Cycle (SDLC)
meets the requirements and is free of defects.

6. Deploy the system: Release the system to production and make it


available to end-users.

7. Monitor and maintain the system: Regularly monitor the system for
performance and take action to resolve any issues that arise.

8. Evaluate the project: Assess the success of the project by comparing


the actual results to the original goals and objectives.

3.8 FURTHER READINGS


• “Scenarios, Stories, Use Cases: Through the Systems Development Life-
Cycle” By Released September 2004, Publisher(s): Wiley, ISBN:
9780470861943
• https://www.linkedin.com/learning/software-development-life-cycle-sdlc

47
Overview of
Management
Information System

48

You might also like