Page 34 - DCAP405_SOFTWARE_ENGINEERING
P. 34
Unit 2: A Generic View of Process
In the context of software, as the productivity and the cost of a project as well as quality are Notes
determined largely by the process, to satisfy the engineering objectives of quality improvement
and cost reduction, the software process must be improved.
Having process improvement as a basic goal of the software process implies that the software
process used is such that it supports its improvement. This requires that there be means for
evaluating the existing process and understanding the weaknesses in the process. Only when
support for these activities is available, can process improvement be undertaken. And, as in any
evaluation, it is always preferable to have a quantifiable evaluation rather than a subjective
evaluation. Hence, it is important that the process provides data that can be used to evaluate the
current process and its weaknesses.
2.2.4 Software Development Life Cycle (SDLC)
Software development process is divided into a number of phases. A software is conceived,
born, developed, put into operation, maintained during operation and ultimately dies giving
way to another software. These phases are aptly dubbed as software development life cycle or
SDLC for short.
In the software development process, we have to focus on the activities directly related to
production of the software, for example, design, coding, and testing. A development process
model specifies some activities that, according to the model, should be performed, and the order
in which they should be performed. As stated earlier, for cost, quality, and project management
reasons, development processes are generally phased.
As the development process specifies the major development and quality assurance activities
that need to be performed in the project, the development process really forms the core of the
software process. The management process is decided, based on the development process. Due
to the importance of development process, various models have been proposed. In this section,
we will discuss some of the major models. As processes consist of a sequence of steps, let us first
discuss what should be specified for a step.
Task The management process is decided, based on the development process. In a group
of four explain this statement.
2.2.5 A Process Step Specification
A production process is a sequence of steps. Each step performs a well-defined activity leading
towards the satisfaction of the project goals, with the output of one step forming the input of the
next one. Most process models specify the steps that need to be performed and the order in
which they need to be performed. However, when implementing a process model, there are
some practical issues, like when to initiate a step and when to terminate a step, that need to be
addressed. Here we discuss some of these issues.
As we have seen, a process should aim to detect defects in the phase in which they are introduced.
This requires that there be some verification and validation (V&V) at the end of each step.
(In verification, consistency with the inputs of the phase is checked, while in validation the
consistency with the needs of user is checked.) This implies that there is a clearly defined output
of a phase, which can be verified by some means and can form input to the next phase (which
may be performed by other people). In other words, it is not acceptable to say that the output of
a phase is an idea or a thought in the mind of someone; the output must be a formal and tangible
entity. Such outputs of a development process, which are not the final output, are frequently
LOVELY PROFESSIONAL UNIVERSITY 27