Lesson 2
Lesson 2
Software When thinking about SDLC, think about phases and forms.
Development The merriam-webster dictionary defines the term ‘life
has a Life
cycle’ as “the series of stages in form and
Cycle?
functional activity through which an organism passes
between successive recurrences of a specified primary
stage”.
The life cycle of a
mosquito is from
egg to larva to pupa
then to adult.
Any software process must include the following four basic activities:
2. Design
3. Implementation
4. Testing
5. Deployment
priorities. Testers
Solutions
Architects
Programmers
Support Team
Developers
Software Development Life Cycle
Advantages Disadvantages
1. Complete and accurate requirements are
1. This model is simple and easy to expected at the beginning of the
understand. development process.
2. Working software is not available for very
2. This is very useful for small projects. long during the development life cycle.
3. We cannot go back to the previous phase.
3. This model is easy to manage.
4. It is very difficult to change the
requirements.
4. The end goal is determined early.
5. Risk is not assessed in this, hence there is
high risk and uncertainty in this model.
5. Each phase of this model is well
6. Testing period comes very late.
explained.
7. It is not a good model for large and
complex projects.
6. It provides a structured way to do
things.
Software Development Process Models - V-Model
Advantages Disadvantages
1. This is a simple and easy to use model.
1. This model is not suitable for any
complex projects.
2. Planning, testing and designing tests can 2. There remains both high risk and
be done even before coding. uncertainty.
Advantages Disadvantages
1. Very High risk and uncertainty.
1. This is a very simple model
2. Not a good model for complex and
2. Little or no planning required object-oriented projects.
3. Poor model for long and ongoing
3. Easy to manage
projects.
4. Very few resources required 4. Can turn out to be very expensive if
requirements are misunderstood.
5. Gives flexibility to developers
Advantages Disadvantages
1. Important modules/functions are developed first and 1. Management is a continuous
then the rest are added in chunks. activity that must be handled.
2. Working software is prepared quickly and early during 2. The complete requirements of
the software development life cycle (SDLC). the software should be clear.
3. This model is flexible and less expensive to change 3. This requires good planning and
requirements and scope.
designing.
4. The customer can respond to each module and
4. The total cost of this model is
provide feedback if any changes are needed.
higher.
5. Project progress can be measured.
5. Problem may arise from
6. It is easier to test and debug during a short iteration.
additional requirements
7. Errors are easy to identify.
Advantages Disadvantages
1. Important modules/functions are developed first and 1. Management is a continuous
then the rest are added in chunks. activity that must be handled.
2. Working software is prepared quickly and early during 2. The complete requirements of
the software development life cycle (SDLC). the software should be clear.
3. This model is flexible and less expensive to change 3. This requires good planning and
requirements and scope.
designing.
4. The customer can respond to each module and
4. The total cost of this model is
provide feedback if any changes are needed.
higher.
5. Project progress can be measured.
5. Problem may arise from
6. It is easier to test and debug during a short iteration.
additional requirements
7. Errors are easy to identify.
Advantages Disadvantages
When to use
1. Frequent software releases are advantageous and necessary.
2. Rigorous risk and cost management are of paramount importance.
3. The project entails either a medium to high level of risk or an exceptionally high level of risk.
4. Requirement criteria are challenging to grasp clearly.
5. A dynamic environment with ongoing and unpredictable changes is prevalent.
Software Development Process Models - Spiral model
Software Development Process Models – Spiral model
Advantages Disadvantages
1. Spiral model is suitable for large and 1. Not suitable for smaller projects.
complex projects.
2. This is the most complex model of SDLC,
2. It is easy to estimate how much the project due to which it is quite difficult to manage.
will cost.
3. The cost of this model is quite high.
3. Risk analysis is done in each phase of this
4. It requires more documentation than other
model.
models.
4. The customer can see the look of his
5. Experienced experts are required to
software only in the early stages of the
evaluate and review the project from time
development process.
to time.
Software Development Process Models - Agile Model
Advantages Disadvantages
1. Minimal development rules
1. Poor documentation
2. Allows teams to easily adapt change and
use software slowly while working closely
2. Very high project risk
with stakeholders.
principles
Software Development Process Models – Choosing Process Models