A software development process, also known as a software development life cycle (SDLC), is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle.
There are several models for such processes, each describing approaches to a variety of tasks or activities
that take place during the process. Some people consider a lifecycle
model a more general term and a software development process a more
specific term.
The planning stage establishes a bird's eye view of the intended
software product and uses this to establish the basic project structure,
evaluate feasibility and risks associated with the project, and describe
appropriate management and technical approaches.
The most critical section of the project plan is a listing of
high-level product requirements, also referred to as goals. All of the software
product requirements to be developed during the requirements definition stage
flow from one or more of these goals. The minimum information for each goal
consists of a title and textual description, although additional information
and references to external documents may be included. The outputs of the project planning stage are
this SDLC description, the Software Configuration Management Plan (SCMP), the
Software Quality Assurance Plan (SQAP), the Software Project Management Plan(SPMP) and the associated project or component schedule.
The requirements gathering process takes as its input the goals
identified in the high-level requirements section of the project plan or
component iteration plan, as applicable. Each goal is refined into a set of
requirements. These requirements define
the major functions of the intended application (generally termed operational data
areas and reference data areas) and define the initial data entities. Major
functions include critical processes to be managed, as well as mission critical
inputs, outputs and reports. A user class hierarchy is developed and associated
with these major functions, data areas, and data entities. Each of these definitions is termed a
Requirement. Requirements are identified by unique requirement identifiers and,
at minimum, contain a requirement title and textual description.
DESIGN STAGE
The design stage takes as its initial input the requirements
identified in the approved SRD and LDD. For each requirement, a set of one or
more design elements are produced as a result of interviews, workshops, and/or
prototype efforts. Design elements
describe the desired software features in detail. The Software Design Document
(SDD) contains the functional or dynamic design elements, such as functional
hierarchy diagrams, screen layout diagrams, business rules, business process
diagrams, and pseudocode. The Physical
Database Description (PDD) contains the static or structural design elements
such as the entity- relationship diagram, the access control matrix, and the
data dictionary. These design elements are intended to describe the software in
sufficient detail that skilled programmers may develop the software with
minimal additional input.
When the SDD and PDD are finalized and accepted, the RTM is
updated to show that each design element is formally associated with a specific
requirement. The outputs of the design stage are the SDD, the PDD, an updated
RTM, and an updated CIP or SPMP.
DEVELOPMENT STAGE
The development stage takes as its inputs the design elements
described in the approved SDD and PDD.
For each design element, a set of one or more software artifacts are
produced. Software artifacts include but
are not limited to menus, dialogs, data entry forms, data reporting formats,
and specialized procedures and functions.
Appropriate test cases are developed for each set of functionally
related software artifacts and an online help system is developed to guide
users in their interactions with the software.
INTEGRATION & TEST STAGE
INSTALLATION & ACCEPTANCE STAGE
During the installation and acceptance stage, the software
artifacts, online help, and initial production data are loaded onto the
production server as specified by the deployment plan. At this point,
acceptance test cases are run to verify the correctness and completeness of the
software. Successful execution of the test suite is a prerequisite to
acceptance of the software by the customer.
After customer personnel have verified that the initial production data
load is correct and the test suite has been executed with satisfactory results,
the customer formally accepts the delivery of the software.
=====================================================================
Videos on Software Development Life Cycle
SDLC
Waterfall Model & V Shaped Model
Spiral Model
0 comments:
Post a Comment