SDLC Processes
SDLC Processes
SDLC Processes
testing software systems. A structured set of activities required to develop a software system. A
software process model is an abstract representation of a process. It presents a description of a
process from some particular perspective. There are four main processes ( Software Specifications,
Design, Validation and Evolution) which can also be broken down into the following:
2. Crises in previous developments: A "large" software system is a system that contains more than
50,000 lines of high-level language code. With large software development projects, the work is
done in teams consisting of project managers, requirements analysts, software engineers,
documentation experts, and programmers. Conflicting requirements have always hindered the
software development process. For example, while users demand a large number of features,
customers generally want to minimize the amount they must pay for the software and the time
required for its development. The causes of the software crisis were linked to the overall complexity
of the software process and the relative immaturity of software engineering as a profession.
Dissatisfaction of users and management with the quality and suitability of the software: Three
quarters of all large software products delivered to the customer are failures that are either not
used at all, or do not meet the customer’s real needs or requirements. This is so because software
development is often undertaken with only a vague notion of the customer’s requirements.
Many software efforts have failed because developers lack the essential formal and detailed
description on data, functionality, design constraint and validation criteria, which can be
accessed through frequent communication between developers and customers.
Increasing length and complexity of the software: Another problem that still exists in software
development is the time taken to develop software. Software developers regularly underestimate
how long it takes to design, write and test their software. Mostly, this problem still exists
because developers are trying to produce massive software products with old tools, outdated
methods and inadequate management techniques. Sometimes, the assumptions made is that, if
the software is behind schedule, more programmers can be added and thus hasten the process.
Adding people to a late software project makes it later. Another contributing factor to the time
factor is that project requirements continually changes. The impact of change will vary
according to when it was introduced.
PROCESS CHARACTERISTICS
Characteristic Definition
Understandability To what extent is the process explicitly defined
and how easy is it to understand to process
definition?
1. Management needs regular deliverables to assess project progress: The timing of management
requirements may not correspond with the time needed to complete an activity. Extra documents
may have to be produced adding to the cost of the process.
2. The need to approve document constrains process iterations: The cost of going back and adapting a
complete deliverable are high. If the problems are discovered during the process, inelegant
solutions are sometimes adopted to avoid the need to change ‘accepted’ project deliverables.
3. The time required to review and approve a document is significant: is rarely a smooth transition
from one phase of the process to the next. Development may continue before the previous phase
document has been completed.
Risk is a concept that is difficult to define precisely. Informally, it is simply something which can
go wrong. For example, if the intention is to use a new programming language, a risk is that the
available compilers are unreliable or do not produce sufficiently efficient object code. Risks are a
consequence of inadequate information.
They are resolved by initiating some actions which discover information that reduces uncertainty.
In the above example, the risk would be resolved by a market survey to find out which compilers
are available and how good are they. If no suitable system was discovered, the decision to use a
new language must be changed.
Risk Management is a method for dealing with project risks, by identifying and handling them
appropriately. This method is on-going and is used throughout the life of the project.
BASIC APPROACH
Analysis of project, so that you can identify risks involved. For each risk identified, the following
steps are taken: