Software Development Life Cycle
Requirements Gathering
Analysis and Planning
Software Design
Coding
Testing
Release & Maintenance
In the
above SDLC process, the single stage of testing is available and conducting the
testing by developers. Due to this reason organizations are concentrating on
multiple stages of testing and separate testing teams for achieving quality
Software Quality
The
totality of functionality and features of a software product that bear on its
ability to satisfy stated or implied needs. [After ISO9126]
Ø Meet customer requirements (In
terms of Functionality)
Ø Meet customer expectations (In
terms of usability, performance etc…)
Ø Cost to purchase license
Ø Time to release
Software Quality Assurance
Software
QA involves the entire software development PROCESS –monitoring and improving
the process, making sure that any agreed-upon standards and procedures are
followed, and ensuring that problems are found and dealt with. It is oriented
to ‘prevention’.
Monitoring
and measuring the strength of development process, called as software quality
assurance or verification.
Software Quality Control:
The
validation of software respect to customer requirements, called as product with
software quality control or validation or testing.
Verification
Verification
typically involves reviews and meetings to evaluate documents, plans, code,
requirements, and specifications. This can be done with checklists, issues
lists, walkthroughs, and inspection meetings.
Validation
Validation
typically involves actual testing and takes place after verifications are
completed. The term ‘IV & V’ refers to independent verification and
validation.
Requirements Gathering:
This is an initial stage in SDLC; in this stage business
analyst category people gather requirements from the customer and document
them, the document called BRS (Business requirements specification) or CRS
(customer requirements specification) or URS (user requirements specification)
or PRD (product requirements specification) or BDD (business design document)
NOTE:
. Document name may vary from one company to another but
process is same
. In software application development BA category people
gather requirements from a specific customer
. In software product development BA category people gather requirements from model customers in
the market
Analysis and Planning
Project management conducts a review on the requirements
to verify weather they are complete and correct requirements are not;
reasonable requirements are no; achievable requirements are not.
After the review and its following modifications, system
analyst category people prepare software requirements specification (SRS) based
on finalized BRS here the process is converting user requirements into software
requirements. SRS consist of 2 subject documents
1) System requirements
specification-software + hardware requirements
2) Functional requirements
specification
Project manager forms the project team, prepares project
schedule and prepare project plan. Technology selection also takes place in the
phase.
Software Designing:
In designing phase, system architect category people
prepare software design document based on finalized SRS.
SSD consists of two types of design documents high level
design (HLD) & Low level design (LLD)
High level design (HLD) or global design: the overall
architecture of the software is called HLD
Low level design (LLD) or detailed design: internal
architecture of a component or module or unit of the software is called LLD.
Output of this phase is SSD (software design document)
Coding or implementation:
In this phase developers or programmers coding the
software in specified technology based on finalized design document and they
follow coding standards.
Output of this coding phase is software code document.
Testing:
In this phase testers conduct testing on software build
with respect to requirements, if at all any defects found, send them for rectification,
after rectification conform weather those defects correctly fixed or not.
Output of this stage is tested software
Release & maintenance:
Release
After completion of acceptance testing and modifications,
project management forms release team to release software to customer.
The release team consists of few programmers, few testers,
and few hardware engineers.
This team organizes bellow tasks in the customer site.
Ø Complete Installation
Ø Overall functionality
Ø Handling Input & Output
devices
Ø Secondary storage devices handling
Ø OS Error handling
Ø Coexistence with Other
Software
Maintenance:
After
release of the Software, Customer starts utilization (Production). During
Production (Usage of Software), If any failures then Customer site people send
Software Change Requests(SCR) to Development Organization. These requests are
viewed by special team called Change Control Board (CCB). This team consists of
a few developers, few testers, Project management executives, and hardware
engineer etc..
Important Terms:
SDLC:
The
software lifecycle typically includes a concept phase, requirements phase,
design phase, implementation phase, test phase, installation and checkout
phase, operation and maintenance phase, and sometimes, retirement phase. Note
these phases may overlap or be performed iteratively.
Requirement:
A condition or capability needed
by a user to solve a problem or achieve an objective that must be met or
possessed by a system or system component to satisfy a contract, standard,
specification, or other formally imposed document. [After IEEE 610]
Global
design:
Detailed
Design:
BRS:
SRS:
SDD:
Project
plan:
Coding:
Testing:
The process consisting of all
lifecycle activities, both static and dynamic, concerned with planning,
preparation and evaluation of software products and related work products to
determine that they satisfy specified requirements, to demonstrate that they
are fit for purpose and to detect defects.
Software Release:
Software
Maintenance:
SCR:
CCB:
0 comments:
Post a Comment