Definition
The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process. SDLC is a structure followed by a development team within the software organization. It consists of a detailed plan describing how to develop, maintain and replace specific software. The life cycle defines a methodology for improving the quality of software and the overall development process. The series of the steps through which the product progresses. Identify standards, guidelines, procedures , checklist and templates required to develop the projects.
Specifies:
The idea is to shift to a more holistic perspective that
better ensures the needs of the business are met. Not just during development,
but throughout the service's operational life as well. The system development
lifecycle took the application creation concept a step further to include the
combination of software and hardware. The typical system development lifecycle
covers matters such as requirements definition, development practices, testing,
deployment and so on.
The organization's specific release management policies
and procedures set forth need to dovetail with the SDLC, project management and
change management in that they need to support one another in this context. In
a sense, release management is the bridge between development and operations
and both the SDLC and project management help to ensure the quality of services
entering production.
Phases
in Software development life cycle : SDLC
is a process of the developing various information system.
1. Requirement capture: As
software is always of a large system (or business), work begins by establishing the requirements
for all system elements and then allocating some subset of these requirements
to software. This system view is essential when the software must interface
with other elements such as hardware, people and other resources. System is the
basic and very critical requirement for the existence of software in any
entity. So if the system is not in place, the system should be engineered and put in place.
In some cases, to extract the maximum output, the system should be
re-engineered and spruced up. Once the ideal system is engineered or tuned, the
development team studies the software requirement for the system.
2. Systems analysis: This process is also known
as feasibility study.
In this phase, the development team visits the customer and studies their
system. They investigate the need for possible software automation in the given
system. By the end of the feasibility study, the team furnishes a document that
holds the different specific
recommendations for the candidate system. It also includes the
personnel assignments, costs, project schedule, target dates etc…. The
requirement gathering process is intensified and focused specially on software.
To understand the nature of the program(s) to be built, the system engineer or
“Analyst” must understand the information domain for the software, as well as
required function, behavior, performance and interfacing. The essential purpose
of this phase is to find the need and to define the problem that needs to be
solved.
3. Software Design: In
this phase, the software development process, the software’s overall structure
and its nuances are defined. In terms of the client/server technology, the
number of tiers needed for the package architecture, the database design, the
data structure design etc… are all defined in this phase. A software
development model is thus created. Analysis
and Design are very crucial in the whole development cycle. Any
glitch in the design phase could be very
expensive to solve in the later stage of the software
development. Much care is taken during this phase. The logical system of the
product is developed in this phase.
4. Code
Generation: The design must be translated into a
machine-readable form. The code generation step performs this task. If the
design is performed in a detailed manner, code generation can be accomplished
without much complication. Programming tools like compilers, interpreters, debuggers
etc… are used to generate the code. Different high level programming languages
like C, C++, Pascal,
Java are used for coding. With respect to the type of
application, the right programming language is chosen.
5. Testing: Once the code is generated, the software
program testing begins. Different testing methodologies are available to
unravel the bugs that were committed during the previous phases. Different
testing tools and methodologies are already available. Some companies build
their own testing tools that are tailor made for their own development
operations.
6. Development and Maintenance: The development and
maintenance is a staged roll out of the new application, this involves
installation and initial training and may involve hardware and network
upgrades. Software will definitely undergo change once it is delivered to the
customer. There are many reasons for the change. Change could be happen because
of some unexpected input values into the system. In addition, the changes in
the system could be directly affecting the software operations. The software
should be developed to accommodate changes that could happen during the post
implementation period.
No comments:
Post a Comment