Software Engineering
Tahir Farooq, Tehreem Aslam
1
FAST-NU
2
WHY SOFTWARE
FAILURES?
WHAT ARE CAUSES? 3
Deficiencies in software quality often results
In costly emergency fixes
Damage to a brand’s reputation, software company defaulters–large repayments
Software defects are extremely costly in term of
Money
Loss of life
Reputation
4
Formula written
Software Failures on paper was
improperly
transcribed
NASA: Mariner Failure
A bug in the flight software for the Mariner 1
The rocket to divert from its intended path
Mission control destroys the rocket over the Atlantic
Ocean
The investigation discovers that a formula written on
paper was improperly transcribed
5
Software Failures
Rocket Launch Errors
In 1996, a European Ariane5 rocket was launched rocket to veer off
its path a mere 37 seconds after launch
As it started disintegrating, it self-destructed
The problem was the result of code reuse from the launch system’s
predecessor
More than $370 million were lost due to this error
6
Software Failures
Communication
b/w software and
Flight Crashes hardware error
In 1994 in Scotland, a Chinook helicopter crashed
killed all 29 passengers
The crash was due to a systems error
7
Software Failures
Korean Airliner Crash
KAL 801 got accident
Killed 225 out of 254 aboard
A software design problem was discovered in
barometric altimetry in Ground Proximity Warning System
(GPWS)
8
9
FAMOUS SOFTWARE ERRORS
Therac-25 Announcement
Patriot Missile System
NASA's Mars Polar Lander
ESA's Ariane5 Launch System
2003 Blackout
10
Standish Group Chaos Report
11
Standish Group Chaos Report (2007)
35%of all software projects are now completed
successful (1995: 16.2 %)
19% of projects fail (1995: 31.1%)
46%where described as challenged, meaning they had
cost or time overruns or didn’t fully meet the user’s
needs (1995: 52.7%)
12
Importance of SQA
Due to the widespread acceptance, and use of software systems
software bugs are proving to be costly, and sometimes fatal.
It is estimated that buggy or flawed software cost businesses $175
billion worldwide in 2001.
Bugs have affected banking systems, stock exchanges, medical
institutions, educational institutions and even the Social Security
Administration
13
Importance of SQA
Most bugs, encountered during software development,
can be avoided,
by adopting a sound software development process,
and
having strict software quality control using Software Quality Assurance
14
Software Quality Assurance
VS
Software Testing
15
SQA vs. Software Testing
Software Testing involves operating a system, or an application,
under controlled conditions, and evaluating the results.
Software testing is normally carried out under controlled conditions
The aim of testing is to try to break the software, and find the bugs
in it.
Testing is oriented towards "detection "of bugs in the software
16
SQA vs. Software Testing
SQA is aimed at Avoiding Bugs.
Software Quality Assurance is oriented towards "prevention "of bugs
in the software, by following a software development methodology.
SQA is more concerned with developing a quality process for software
development, which will prevent the generation of bugs, and will result
in the production of quality software
17
SQA vs. Software Testing
Maintenance
18
SQA vs. Software Testing
Software Quality Maintenance
Assurance
Software Testing
19
What is Quality
In general, people’s quality expectations for software system they use and rely
upon are two-fold:
[Link] software systems must do what they are supposed to do. In other words,
they must do the right things.
[Link] must perform these specific tasks correctly or satisfactorily. In other words,
they must do the things right.
Now you can define Software Quality Assurance. 20
Analysis
Design
Requirements
SD Implementation
LC Testing
21
What is SQA?
• Software Quality Assurance is an umbrella activity that is applied
throughout the software process...
22
What is quality?
• Quality refers to any measurable characteristics such as
correctness, maintainability, portability, testability,
usability, reliability, efficiency, integrity, reusability and
interoperability.
23
Quality terminologies
• Quality of Design refers to the characteristics that designer’s specify
for an item.
• Quality of Conformance is the degree to which the design
specifications are followed during manufacturing.
• Quality Control is the series of inspections, reviews and tests used
throughout the development cycle to ensure that each work product
meets the requirements placed upon it.
• Quality policy refers to the basic aims and objectives of an
organization regarding quality as stipulated by the management.
24
Quality terminologies
Quality assurance consists of the auditing and reporting functions of
management.
Cost of Quality includes all costs incurred in the pursuit of quality or in
performing quality related activities such as appraisal costs, failure costs
and external failure costs.
Quality planning is the process of assessing the requirements of the
procedure and of the product and the context in which these must be
observed.
Quality testing is assessment of the extent to which a test object meets
given requirements
Quality assurance plan is the central aid for planning and checking the
quality assurance.
Quality assurance system is the organizational structure, responsibilities,
procedures, processes and resources for implementing quality
management.
25
Relative cost of correcting an error?
26
Elements of S/W Quality Assurance
• Standards (ISO 9001, CMMI)
• Reviews and audits
• Testing
• Error/defect collection and analysis
• Change management
• Education
• Vendor management
• Security management
• Safety
• Risk management 27
SQA tasks
• Prepares an SQA plan for a project
• Participates in the development of the project’s software process description
• Reviews software engineering activities to verify compliance with the defined
software process
• Audits designated software work products to verify compliance with those
defined as part of the software process
• Ensures that deviations in software work and work products are documented
and handled according to a documented procedure
• Records any noncompliance and reports to senior management
28