0% found this document useful (0 votes)
32 views

Lect#1

This document outlines the topics that will be covered in a lecture on software quality assurance. It includes definitions of key terms like software, errors, faults and failures. It also discusses the software crisis based on studies showing many projects go over budget and schedule. Examples are given of past software issues like those that caused rockets to fail. The document defines software quality based on IEEE and other standards and distinguishes quality assurance from quality control.

Uploaded by

shehab
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Lect#1

This document outlines the topics that will be covered in a lecture on software quality assurance. It includes definitions of key terms like software, errors, faults and failures. It also discusses the software crisis based on studies showing many projects go over budget and schedule. Examples are given of past software issues like those that caused rockets to fail. The document defines software quality based on IEEE and other standards and distinguishes quality assurance from quality control.

Uploaded by

shehab
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

21CSSE04H

Software Quality Assurance


Lecture#1
Dr.Marwa Salah
Marwa.salah@bue.edu.eg
Resources
• Textbook:

• Web resources
• Extra Handouts
Grading

• Group Project 40%(2 milestones and final


submission)

• Final Exam 60%


Lecture Outline
I. The Software Crisis
II. What is Software?
III. Software Components
IV. What is Software Quality?
V. What is Software Quality Assurance?
The Software Crisis

• IBM Consulting group estimates that 55% of


large distributed systems projects cost more than
expected, 68% overrun their schedules, and 88%
require redesign.

• A recent study (2016) asserts that U.S. business


are losing as much as 1.8 trillion annually due to
software issues
Example#1
• The Mariner 1 Spacecraft
• On a mission to fly-by Venus in 1962, this spacecraft 
barely made it out of Cape Canaveral when a software-
coding error caused the rocket to veer dangerously off-
course, threatening to crash back to earth. Alarmed, NASA
engineers on the ground issued a self-destruct command.
A review board later determined that the omission of a
hyphen in coded computer instructions allowed the
transmission of incorrect guidance signals to the
spacecraft. The cost for the rocket was reportedly more
than $18 million at the time.
Example#2
• Knight’s $440 Million Error 
• One of the biggest American market makers for
stocks struggled to stay afloat after a 
software bug triggered a $440 million loss in just 30
minutes.
 The firm’s shares lost 75 percent in two days after
the faulty software flooded the market with
unintended trades. Knight’s trading algorithms
reportedly started pushing erratic trades through on
nearly 150 different stocks, sending them into
spasms.
What is Software?
• “An accumulated set of programming language instructions
and statements, or development tool instructions, that
form a program or a software package.”
– What do you think of that definition?

• IEEE definition
– “Software is: Computer programs, procedures, and
possibly associated documentation and data pertaining
to the operation of a computer system. “
– What components are considered here?
Software Components

1The code
2-Procedures
3-Documentation (requirements doc., design doc., user’s
manual, …etc.)
4-Data (e.g., test data).

• Software quality would address the quality of all of the


above.
Software Errors, Faults, and Failures
Recall the difference between the three definitions?
• Error
1. A human action that produces an incorrect result.
2. Section of the code that are incorrect as a result of grammatical,
logical or other mistakes made by a system analyst, a programmer, or
another member of the software development team.

• Defect
1. Software errors that cause the incorrect functioning of the software
during a specific application.
2. It can be simply defined as a variance between expected and actual.
Software Errors, Faults, and Failures
3-Failure
• The inability of a software system or component to perform
its required functions within specified performance
requirements. When a defect reaches the end customer it is
called a Failure.

• During development Failures are usually observed by testers.


What is Software Quality? IEEE definition
Software quality is:
• 1. The degree to which a system, component, or process
meets specified requirements.
“errors included in the software specification are not
considered and do not reduce the software quality”

• 2. The degree to which a system, component, or process


meets customer or user needs or expectations.
“the customer is allowed to express his real needs, which may
differ from the project specifications”
What is Software Quality? Pressman’s
definition
• Definition 3: “Conformance to explicitly
stated functional and performance
requirements, explicitly documented
development standards, and implicit
characteristics that are expected of all
professionally developed software. ”
It respects functions, quality requirements,
and good development practices as well.
What is Software Quality Assurance?
• IEEE definition:

• This definition includes:


– Plan and implement systematically (how?)
– Refers to the software development process
– Refers to the specifications of the technical requirements
• Any issues?
SQA IEEE definition Issues
Any issues?
- excluding maintenance and timetable and budget
issues.
- SQA should NOT be limited to the development
process. It should include work subsequent to product
delivery
- SQA should include activities that relate to the budget
and the schedule (would it be okay to slip the schedule
by two years?)
SQA – expanded definition

• A systematic, planned set of actions necessary to provide


adequate confidence that the software development
process or the maintenance process of a software system
product conforms to established functional technical
requirements as well as with the managerial requirements
of keeping the schedule and operating within the budgetary
confines.
Software Quality Assurance
vs. Software Quality Control
• Quality control: A set of activities designed to evaluate
the quality of a developed or manufactured product.
Aims to withhold any product that does not qualify.
– When does it take place?
• Quality assurance: Provides a set of activities (to be
performed throughout the development and
manufacturing process/stages). Such activities prevent
the causes of errors, and detects/corrects them early.
– Target?

You might also like