Integrating Quality Activities in The Project Life Cycle
1. The software development life cycle (SDLC) model
The Software Development Life Cycle model (the SDLC model) is the
classic model (still applicable today); it provides the most comprehensive
description of the process available. The model displays the major building
blocks for the entire development process, described as a linear sequence
that begins with requirements definition and ends with regular system
operation and maintenance.
System Design. This stage involves the detailed definition of the
outputs, inputs and processing procedures, including data structures
and databases, software structure, etc.
Implementation (Coding). In this phase, the design is translated
into a code. Coding involves quality assurance activities such as
inspection, unit tests and integration tests.
Testing (System tests). System tests are performed once the
coding phase is completed. The main goal of testing is to uncover as
many software errors as possible so as to achieve an acceptable
level of software quality once corrections have been completed.
System tests are carried out by the software developer before the
software is supplied to the customer.
Development (Installation and conversion). After the software
system is approved, the system is installed to serve as firmware,
that is, as part of the information system that represents a major
component of the expanded system.
Maintenance (Regular operation). Regular software operation
begins once installation and conversion have been completed.
Throughout the regular operation period, which usually lasts for
several years or until a new software generation appears on the
scene, maintenance is needed.
2. The prototyping model
The prototyping model is based on replacement of one
or more SDLC model phases by an evolutionary
process, where software prototypes are used for
communication between the developer and the users
and customers. Prototypes are submitted to user
representatives for evaluation.
Prototyping as a software development methodology has been found to be
efficient and effective mainly for small- to medium-sized software
development projects.
3. The spiral model
The spiral model, as revised by Boehm (1988, 1998), offers an improved
methodology for overseeing large and more complex development
projects displaying higher prospects for failure, it combines an iterative
model that introduces and emphasizes risk analysis and customer
participation into the major elements of SDLC and prototyping
methodologies.
An advanced spiral model, the Win–Win Spiral model (Boehm, 1998),
enhances the Spiral model (Boehm, 1988) still further. The advanced
spiral model (the Win–Win model) places extra emphasis on
communication and negotiation between customer and developer. The
customer wins by improving chances to receive a system that satisfies
most of his needs while the developer wins by improving chances of
completing the project within budgetary and timetable constraints.
4. The object-oriented mode
According to this model, the development process begins with a sequence
of object-oriented analysis and design activities. The design phase is
followed by acquisition of a reusable software library together with
“regular” development of the unavailable software components.