Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Software Development Life Cycle

Computer Applications-I (CA-1201)


BA/BSc (Hons) 2019-2023
2nd semester

Software Development Life Cycle

Submitted to
Mr. Osama Tariq

Department of Computer Science

GC University Lahore

Submitted by
Muhammad Zohaib Asif 2219-BH-PS-19 zasif485@gmail.com

Theory Section

(E2)

1
Software Development Life Cycle

Abstract

Software developers are in profession from the early days of the digital computers. Since the
invention of the computer, the methods and procedures for software production have
undergone evolution over the course of time. Modern and proficient techniques for
programming improvement have become out of private and open programming advancement
efforts worldwide. These processes differ widely in approach, yet they have a common goal;
to develop software as cheaply, efficiently, and effectively as possible. Those methods have
adapted to the latest techniques in computer hardware, development methods, and
contemporary thinking about the organizational management of software development teams.
This paper deals with the elaboration of the steps involved in the development and
maintenance of software product.

Introduction

Software is a complex and complicated product that is developed and delivered through a
sequence of phases. Every software starts as an idea in the mind of the developer. The idea
then transforms into a design set as a model. The design planned in one step becomes
the input to the next step. Finally, the software is delivered to the customer. The series of
steps used by these methods is commonly referred to as the Software Development Life cycle
(SDLC.) As discussed before, this method provides a series of steps to produce a software
product efficiently.

1.1 Definition:
The compact definition of the Software Development Life Cycle is as follows:
“The System Development Life Cycle is a multistep, continuous process,
organized in a sequential way. This process is used to design or provide a
framework for technical and non-technical activities to provide a quality
system according to the demands and requirements of the customer”.
This process is basically used by a software organization to design, produce and test high
quality intended soft wares in a systematic and disciplined method. It comprises a
comprehensive plan and model elaborating how to develop, manage, replace and modify or
enhance specific software. The life cycle defines a technique for improving the quality of
software and the overall advancing procedure. It is also known as “software developmental
process”.

1.2 Explanation and Goals:


SDLC is primarily a standard or framework set for marking tasks performed in each phase in
the software designing and developmental method. ISO/IEC 12207 is an international
standard for software life-cycle processes. Its main aim is to be the typical pattern that
explains all the tasks necessary for developing, implementing and maintaining soft wares
from inception to the expiry of the product. This standard guideline applies to all new and old
application and software projects. The SDLC allows customers to transform a newly-developed

2
Software Development Life Cycle

project into a functional one. It is often utilized when there is an IT or IS project under
maintenance.

Different stages of the composition process are pointed out by the SDLC. The life cycle
approach is used so users can notice and comprehend what activities are involved within a
given step. It is also used to make them aware that at any time, repetition of steps is possible
when a modification is required. Providing IT Project Managers with the means to make sure the
proper deployment of systems that guarantee business goals is the main aim of SDLC. It also ensures
project management accountability.

1.3 Importance of SDLC:


Executing a complex method such as software development without any plan or order is a
very problematic issue. Some kind of scheme is always required in this complicated
procedure. Each software development methodology is a plan framework for how to develop
software. Software development teams become a mob deficient of a proper direction without
a structured outline. Developers are not aware of what they’re supposed to develop. Project
managers are not aware how much advancement is made towards completion of a project.
Without a plan, the business doesn't have an approach to choose whether the product meets
their demands and requirements.

An officially characterized strategy for software development in the form of SDLC


accomplishes various advantages:

 A common language for each step


 Defined correspondence channels between advancement groups and partners
 Clear jobs and obligations among developers, originators, business examiners, and project
managers
 Clearly-characterized information sources and products starting with one stage then onto the
next
 Assurance in the genuine completion of a project.

3
Software Development Life Cycle

Phases of SDLC

In old days, the SDLC consisted of five stages. But now the number of stages has been
increased to seven. Achievement of specific goals by systems analysts was made possible by
defining clearer actions because of this increase. SDLC framework includes the following
steps:

Preliminary
Investigation

System
Improvement Analysis

Implementation Design

Testing Coding

1. Preliminary Investigation:
This phase is the most vital and essential stage of SDLC. This phase initiates when
the management discovers that it is important to upgrade a product. It is executed by
the senior officials of the organization with reviews from the customer and other
various experts and stakeholders in the industry to develop a product as per their
requirements. This relevant information is also gathered by studying the existing
system and referring to the database. These surveys contribute a lot in building a
basic understanding and outline of the product. Planning the basic project approach is
done by this information and product feasibility studies are also exercised in this
phase. All the confusions are also extracted in this phase of SDLC. Moreover,
resource appointment is also done in this phase. Checking the scope of the project,
costs, times, benefits and other such items and their scheduling is also done in this
phase. It's the key step and it needs to be performed it in exceptionally proper way for
achieving the desired results.

Planning for the quality assurance requirements and identification of the system is
also done in the planning stage. The results of the technical feasibility study are to
elaborate the various technical approaches that can be utilized to deploy the project
successfully with minimum risks. Ideally, Project Managers and Development staff

4
Software Development Life Cycle

work together with Operations and Security groups to guarantee all points of view are
addressed. One of the core aims of this phase is to Distinguish and approve a way to
improve product improvements and to suggest the investigation of elective ideas and
strategies to fulfil the need. The officials also certify the feasibility and the
functionality of the proposed solution.

2. System Analysis:
When the preliminary investigation is done, the next stage is to distinctly characterize
and report the product requirements and get them affirmed from the client or the
market examiners. This is done through 'SRS' – Software Requirement Specification
archive which comprises of all the item prerequisites to be structured and created
during the product life cycle. System analysis is fundamental in figuring out what a
business’s needs are, just as how they can be met, who will be liable and what kind of
course of events should be expected. It is the phase in which the User Requirements
are divided into more elaborated requirements which can be used during the next
phases of designing and coding. System and software necessities are officially
characterized and outlined as far as information, framework execution, security, and
maintainability. All necessities are characterized to a degree of detail appropriate for
system design to continue. The main objectives of this phase are to develop elaborated
data and process models including framework information sources and results and to
build up the test and assessment prerequisites that will be used to decide
useful system performance. By acquiring a detailed and complete comprehension of
the business necessities, the Project Team can build up the Functional Specification
that will drive the system design. Data Analysis is also performed in this phase which
means the filtration of suitable and useless data occurs during this phase. Moreover,
the data certification is done in this phase. The completion and accuracy of gathered
data is validated in the phase of System Analysis. System analysis incorporates
Understanding of programming item constraints, learning system related issues or
changes to be done in existing frameworks previously, recognizing and tending to the
effect of task on association and organization, etc. The project group investigates the
extent of the task and plans the schedule and assets as required. An Analysis Report is
also prepared in this phase.

3. System Design:
In this stage, the requirements assembled in the SRS archive is utilized as information
and programming design that is utilized for actualizing system improvement is
derived. When the necessities are comprehended, programming engineers and
designers can start to structure the product. The design procedure utilizes set up
models for application engineering and software development. Engineers may utilize
a design structure, for example, TOGAF to make an application from existing parts,
advancing reuse and normalization.

SRS is the reference for product designers to come out with the best framework for
the product to be created. In light of the prerequisites determined in SRS, normally
5
Software Development Life Cycle

more than one design approach for the product architecture is offered and archived in
a DDS - Design Document Specification. This DDS is inspected by all the significant
partners and stakeholders on different boundaries as risk appraisal structure measured
quality, financial plan and time limitations, the best design approach is chosen for the
item. A design approach unmistakably characterizes all the design modules of the
product alongside its correspondence and information stream portrayal with the outer
and outsider modules (assuming any). The inward design of the considerable number
of modules of the proposed engineering ought to be explicitly elaborated with the
every detail in the DDS. It’s during this stage they will consider the fundamental
parts, structure (organizing abilities), preparing and methodology for the framework
to achieve its targets. The system is intended to fulfil the utilitarian necessities
recognized in the previous stage during this phase. Deciding the working condition
Characterizing significant subsystems and their data sources and results are also done
in this phase of system designing. The result of this phase comes as two plans; logical
design and physical design, which cover general functionality and input and output
and total requirements respectively. Pictorial representation is also done in this phase.
Specialists produce meta-information and information word references, sensible
diagrams, data-stream outlines and sometimes pseudo codes.

4. Coding:
In this stage of SDLC, the actual development starts and the product is manufactured.
The programming code is generated according to the documented DDS during this
stage. If the design is performed in a detailed and organized manner, code generation
can be done without much interruption. Developers need to follow the coding rules
characterized by their company and programming apparatuses like compilers;
translators, debuggers, etc. are utilized to create the code. Different high level
programming languages such as C, C++, Pascal, Java, and PHP are used for coding.
Low-level languages are easy to interpret for computers. Syntax is rules for writing a
programming language. Computer converts into binary. The output of this phase
includes the codes produced by spikes, used as an initial point for development which
is set of instructions given in modules. The goal of this Phase is to change the
elaborated, system design into complete coded programming units and in the long run,
into an incorporated product for release in the market.

This work incorporates utilizing a stream outline to guarantee that the procedure of
the system is appropriately marked out. The development stage implies the finish of
the underlying segment of the procedure. Furthermore, this stage means the beginning
of production. The development stage is likewise described by instillation and change.
Concentrating on preparing can be a tremendous advantage during this stage. The
Software design is converted into source code. All the segments of the product are
executed in this stage. Business partners ought to be indulged normally, to guarantee
that their desires are being met. The product of this stage is testable, practically
programming. The Version Description Document, Operations Manual, Verification

6
Software Development Life Cycle

Validation and Test Plan, and the Installation and Conversion Plan are developed
because of this stage.

5. Testing:
This stage is normally a subset of the considerable number of stages as in the
advanced SDLC models, the testing exercises are generally engaged with all the
phases of SDLC. Anyway this stage alludes to the testing just phase of the item where
product drawbacks are found, tracked, fixed and retested, until the product achieves
the quality principles characterized in the SRS. Testing begins once the coding is
finished and the modules are discharged for testing.

Division of product into units or chunks is done in this phase. Unit testing is done first
in which testing of modules is done separately. The certification of the eradication of
errors occurs in this phase. Data entry, processing, storage, output are checked
separately. And then assimilate units are tested. In which output is given as a whole in
system testing. Retesting, relapse testing is done until the point of client satisfaction is
achieved. Analysers refer SRS record to ensure that the product is according to the
client's demands and requirements.

Errors may destroy the software from critical level to its own removal. Initial finding
of errors and their removal is the key to reliable software. Code quality, Unit testing
(functional tests), Integration testing, Performance testing and Security testing is done
in this phase. Another piece of this stage is confirmation and approval, the two of
which will help guarantee the program’s effective completion.

6. Implementation:

When the product is tested and fit to be distributed, it is discharged officially in the
appropriate business sector. At some point product arrangement occurs in stages
according to the associations' business technique. The product may initially be
discharged in a constrained portion and tried in the genuine business condition (UAT-
User acknowledgment testing). At that point dependent on the feedback, the product
might be discharged for what it's worth or with proposed improvements in the
targeting market segment. After the product is discharged in the market, its support is
accomplished for the current client base. Different strategies are exercised regarding
implementation

 Direct implementation in which old project is left and as a whole new project
is deployed on running environment.

 Parallel implementation in which old and new project work side by side.
Parallel implementation occurs and new modifications are tested. They
support each other.

 Phased implementation in which step by step implementation occurs and

7
Software Development Life Cycle

addition of different modules occurs with each step. Their deployment


happens and chunks of new system are implemented. After certain time, the
units assemble to become one large unit.

 Pilot implementation in which specified users or a team is divided into old and
new projects to check the threshold of the products.

 User training also occurs in which users are trained how to provide input for
specified implementation

At the point when the product is discharged at first to a pilot site and afterward into
the production atmosphere. All important preparing for utilizing the product is
practiced. In this phase the data gathered in the first step is implemented by utilizing
the software requirements to develop the Android App. In this phase, the system is
implemented to lend a hand to the intended business operations. The production
atmosphere is set up for system establishment, which incorporates the physical
condition just as equipment and programming parts. When the product is introduced,
an intensive trial of the system establishment is directed.

7. Maintenance and Improvement:


The seventh and last stage includes operations and regular required updates. This
stage is when end users wish to help up gradation of the performance or to include
new capacities or meet extra client demands. The product activity is on-going. The
system is observed for proceeded with execution as per client prerequisites and
required system alterations are consolidated.

The operations and maintenance stage is the “end of the beginning,” The Software
Development Life Cycle doesn’t end here. Software must be monitored and checked
regularly to assure proper functionality. Bugs and errors discovered in Production
must be reported and eradicated, which often feeds work back into the process. This
stage affirms the product activity as far as more productivity and less blunders.
Whenever required, the clients are prepared on, or helped with the documentation on
the best way to operate the product and how to keep the product operational. The
product is kept updated by refreshing the code as indicated by the progressions
occurring in client end condition or innovation. This stage may confront difficulties
from shrouded bugs and certifiable unidentified issues.

Conclusion

Every product starts as an idea and courses through a series of stages until a release is
created and implemented. The Software Development Life Cycle of an application or
system proceeds, with refreshes and new highlights, until the day it is decommissioned or
supplanted. A few strategies for software development have been made better throughout
the decades.

8
Software Development Life Cycle

References:

[1] Demechenko, Maryna. “Software Development Life Cycle: A Guide to Phases and
Models”. Ncube. August 19, 2019. https://ncube.com/blog/software-development-life-
cycle-guide

[2] Swersky, Dave. “The SDLC: 7 phases, popular models, benefits & more”. Raygun.
May 31, 2018. https://raygun.com/blog/software-development-life-cycle/

[3] “What is Software Development Life Cycle” Product Plan.


https://www.productplan.com/software-development-lifecycle/

[4] Raza, Muhammad. “The Software Development Lifecycle (SDLC): An Introduction”.


DevOps Blog, BMC. April 27, 2020. https://www.bmc.com/blogs/sdlc-software-
development-lifecycle/

[5] “Software Development Life Cycle (SDLC)”, Javatpoint.


https://www.javatpoint.com/software-engineering-software-development-life-cycle

[6] “SDLC (Software Development Life Cycle) Phases, Methodologies, Process, and
Models”, Softwaretestinghelp. June 30, 2020.
https://www.softwaretestinghelp.com/software-development-life-cycle-sdlc/

You might also like