SDLC Assignment Phases
The systems development life cycle (SDLC), is known as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating,
testing, and deploying an information system. The systems development life-cycle
concept applies to a range of hardware and software configurations, as a system
can be composed of hardware only, software only, or a combination of both.
Knowing about
the software development life cycle is important for everyone be it the owner
of a software company, someone who wants to get software developed or the
professionals who create the software. This means, if you are about to be a
part of developing a software, then you must know the basics of Software
Development Life Cycle
Basically, SDLC
consists of all the steps/stages of software starting from its inception to its
implementation. There are in fact numerous types of SDLC models (Agile,
Waterfall) and depending upon your requirements you can choose any of them to
meet your purpose. Given below
are some phases, which are common in every SDLC model:
1-Requirement Gathering and Analysis:
Requirement gathering and
analysis is the first stage of any SDLC model. This phase is basically the
brainstorming phase and often consists of sub-stages like Feasibility Analysis
to check how much of the idea can be put into action.
If any particular software
needs to be modified, the underlying problem(s) of that software is sorted out along with finding ways to solve it. If
a brand new software is going to be developed, then every minute requirement
regarding that software is looked in to. This implies that this stage involves
maximum research and inputs from both the company that is developing the
software and the client.
This phase is the first step
of any system's life cycle. It is during this phase that a need to acquire or
significantly enhance a system is identified, its feasibility and costs are
assessed, and the risks and various project-planning approaches are defined.
Roles and responsibilities for the Asset Manager, Sponsor's Representative,
System Development Agent (SDA), System Support Agent (SSA), and other parties
in SDLC policy are designated during this stage and updated throughout the
system's life cycle.
2-System Analysis
This is the
second phase of SDLC where the entire system is defined in detail. In fact, it
this stage wherein a detailed blueprint of various processes of the software is
developed. If needed the system is divided into smaller parts to make it easier
more manageable for the developers, designers, testers, project managers and
other professionals who are going to work on the software in the latter stages.
This phase begins after the
project has been defined and appropriate resources have been committed. The
first portion of this phase involves collecting, defining and validating
functional, support and training requirements. The second part is developing
initial life cycle management plans, including project planning, project
management, Configuration Management (CM), support, operations, and training
management.
3-System Design:
In this
phase, the physical system is designed with the help of the logical design
prepared by system analysts. The analysts and designers work together and use
certain tools and software to create the overall system design, including the
probable output.
During this
phase, functional, support and training requirements are translated into preliminary
and detailed designs. Decisions are made to address how the system will meet
functional requirements. A preliminary (general) system design, emphasizing the
functional features of the system, is produced as a high-level guide. Then a
final system design is produced that expands the design by
specifying all the technical detail needed to develop the system.
4-Coding:
As the name
implies, in this stage the software is coded with precision. A team of
programmers are assigned by the company to work on the software. More often
than not, the work is sub-divided under a sub-phase called Task Allocation,
where each developer is assigned a part of the work depending on his or her
skill set(s). This helps complete the coding efficiently.
During this phase, systems are
developed or acquired based on detailed design specifications. The system is
validated through a sequence of unit, integration, performance, system, and
acceptance testing. The objective is to ensure that the system functions as
expected and that sponsor's requirements are satisfied. All system components,
communications, applications, procedures, and associated documentation are developed/acquired,
tested, and integrated. This phase requires strong user participation in order
to verify thorough testing of all requirements and to meet all business needs.
5-Testing:
When the
software is ready, it is sent to the testing department where Quality Analysts
test it thoroughly for different errors by forming various test cases. They either
test the software manually or using automated testing tools and ensure that each and every
component of the software works fine. Once the QA makes sure that the software
is error-free, it goes to the next stage, which is Implementation.
During this phase,
the new or enhanced system is installed in the production environment, users
are trained, data is converted, the system is turned over to the
sponsor, and business processes are evaluated. This phase includes efforts
required to implement, resolve system problems identified during the
implementation process, and plan for sustainment.
6-Implementation:
This is the
final stage of software development life cycle. In this stage, if the software
is run on various systems by users. If it runs smoothly on these systems
without any flaw, then it is considered ready to be launched. And SDLC is completed after this phase.