4. Module 1: Software, Crisis and Process Models
Software Crisis History
System Development Life Cycle and its Models
Module 2: Agile Development
Agile Development Practices and Models
6. Software is Computer Programs, Procedures,
and possibly associated Documentation and
data pertaining to the operation of a
computer System.
All four components are needed to assure
Quality of Software.
7. Term by F. L. Bauer at the first NATO Software Engineering
Conference in 1968 at Garmisch, Germany
It refers to the difficulty of writing correct, understandable,
and verifiable computer programs in required time
Exceeding of the date, budget excess, failure of the project
Major causes of software crisis are the problems such as
malfunctioning of software systems, inefficient development of
software, and the most important, dissatisfaction amongst the
users of the software.
8. Advances in hardware capability have enabled increasingly
complex software.
Our ability to intellectually manage this complexity has
always lagged the advances in software complexity.
We continually require better tools (CASE etc)
9. 46 % date or budget excess
28 % failure
Only 9 % of all large IT projects in time and budget
10. Unclear, unstable, misunderstood and missing requirements
To late integration of results of working and components,
thus to late recognition of risks and errors
Fast changing technologies
Missing Quality Management
Overvaluation of documents
No model-based process
11. Mariner 1 was the first spacecraft of the
American Mariner Program
It cost $18.5 million in 1962.
A bug in the flight software for the Mariner
1 causes the rocket to divert from its intended path
on launch.
Mission control destroys the rocket over the
Atlantic Ocean.
The investigation into the accident discovers that a
formula written on paper in pencil was improperly
transcribed into computer code, causing the
computer to miscalculate the rocket's trajectory.
12. • On June 4, 1996 an unmanned
Ariane 5 rocket launched by the
European Space Agency exploded
just forty seconds after its lift-off
from Kourou, French Guiana.
• Crashed after 36.7 seconds.
• Caused by an overflow
error. Trying to store a 64-bit
number into a 16-bit space.
13. • Considered the largest ambulance
service in the world.
• Overloaded problem.
• It was unable to keep track of the
ambulances and their statuses.
Sending multiple units to some
locations and no units to other
locations.
• Generates many exceptions
messages.
• 46 deaths.
14. Software Development Life Cycle is a well-defined, structured
sequence of stages in software engineering to develop the
intended software.
A standard process followed in an organization to conduct all the
steps necessary for:
▪ Planning:Why
▪ Analysis: who, what, where and when
▪ Design: How
▪ Implementation
of an information system
16. Became dominant in 1980s replacing the
previous undisciplined approach.
Step by step approach to the SDLC that
moves logically from one phase to the next.
Waterfall Development
17. ByWinston Royce -1970
Simplest model of software development.
Originate from Manufacturing and Construction
Industry where requirements are stable
Due to lack of any standard software process
this model was adopted as standard for software
development.
Change is a costly issue
18. All the phases of SDLC
will function one after
another in linear
manner.
That is, when the first
phase is finished then
only the second phase
will start and so on.
19. Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Works well when quality is more important than
cost or schedule
20. All requirements must be known upfront
Deliverables created for each phase are considered
frozen – inhibits flexibility
Can give a false impression of progress
Does not reflect problem-solving nature of software
development – iterations of phases
Integration is one big bang at the end
Little opportunity for customer to preview the system
(until it may be too late)