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

Software Engineering 4453A/B Lecture Notes - Lecture 1: Software Quality Assurance, Software Development Process, Floppy Disk

Software Engineering
Course Code
Abdelnasser Hassan Ouda

of 3
Unit 1
The Software Quality Challenge
Two questions raised before we proceed:
1. Can we not use the general quality assurances available that are applicable to
numerous areas and industries?
2. What are the unique characteristics of the Software Quality Assurance (SQA)
essential elemental differences between software and other industrial products
(automobiles, washing machines, radios)
differences can be categorized into:
1. Product Complexity
2. Product Visibility
3. Product Development and Production Process
1. Product Development and Production Process (Industrial)
A. Product Development
designers and QA staff check and test product prototype to detect defects
B. Product Production Planning
production process and tools are designed and prepared
provides additional opportunities to inspect product, revealing defects that
“escaped” reviews and tests conducted earlier
C. Manufacturing
QA procedures applied to detect failures of products themselves
2. Product Development and Production Process (Software)
A. Product Development
efforts of the development teams and SQA professionals are directed toward
detection inherent product defects
end of phase, approved prototype becomes available
B. Product Production Planning
not required for software production process since manufacturing of
software copies and printing of software manuals are conducted
C. Manufacturing
limited to copying the product and printing copies of manuals
expectations for detecting defects are limited in this phase
There are multiple factors that affect the defect detection in software products vs.
industrial products
The software development process is extremely unique:
A. High Complexity
B. Invisibility of product
C. Opportunity to detect defects limited to development phase
The main characteristics of the SQA environment are:
1. Being contracted
2. Subjection to customer-supplier relationship
3. Requirement for teamwork
4. Need for cooperation and coordination with other development teams
5. Need for interfaces with other software systems
6. Need to continue carrying out a project while the team changes
7. Need to continue maintaining the software system for years
The software quality challenge
Cooperation and Coordination is a difficult feat
There are a variety of Software Interfaces
Example: a salary software system
Money transfers to employees
bank account accounts
Monthly attendance report,
including overtime calculations
Input interface
Output interface