Class Notes (1,100,000)
CA (620,000)
Western (60,000)
Lecture 2

Software Engineering 4453A/B Lecture Notes - Lecture 2: Software Quality Assurance, Software Development Process, Software Engineering

Software Engineering
Course Code
Abdelnasser Hassan Ouda

of 7
Unit 1
Lecture Agenda
Software Quality Challenge
What is Software Quality
What is Software?
Software error, faults, failures
Classification of causes of Software Errors
Software Quality -> Definition
Software Quality assurance - Definition and Objectives
Software Quality assurance and software engineering
Software quality factors
What is Software Quality
1. What is Software?
According to IEEE, software is:
computer programs, procedures, and possibly associated
documentation and data pertaining to the operation of a computer
2. Software Errors, Faults, and Failures
incorrect state of the system
the adjudged cause of an error
system does not behave as prescribed in the system specification
Software errors, faults and failures
Software development process
Error is an incorr
Fault is the a
Failure, system
prescribed in
software fault
software failure
software error
3. Classification of Causes of Software Errors
There are nine causes of software errors:
1. Faulty requirements definition
2. Client-developer communication failures
3. Thoughtful deviations from software requirements
4. Logical design errors
5. Coding errors
6. Non-compliance with documentation and coding instructions
7. Shortcomings of the testing process
8. User interface and procedure errors
9. Documentation errors
4. Software Quality
Software Quality (IEEE)
the degree to which a system, component, or process meets specified
degree to which a system, component, or process meets customer or
user needs or expectations
Software Quality (Pressman)
conformance to explicitly stated functional and performance
requirements, explicitly documented development standards, and
implicit characteristics that are expected of all professionally developed
5. Software Quality Assurance
Software Quality Assurance (IEEE)
planned and systemic pattern of all actions necessary to provide
adequate confidence that an item or product conforms to established
technical requirements
set of activities designed to evaluate the process by which the products
are developed or manufactured
Objectives in Software Development
a) assuring an acceptable level of confidence that the software will conform
to functional technical requirements
b) assuring an acceptable level of confidence that the software will conform
to managerial scheduling and budgetary requirements
c) initiation and management of activities for the improvement and greater
efficiency of software development and SQA activities