Вы находитесь на странице: 1из 26

• The uniqueness of software quality

assurance
• The environments for which SQA
methods are developed

Faculty of Information Science 1


Objective
1. Identify the unique characteristics of software as a
product and as process that justify separate treatment of
its quality issues.

2. Recognize the characteristics of the software


environment where professional software development
and maintenance take place

Faculty of Information Science 3


1 High complexity

The potential ways in which a software product can be used with different
data / data paths reflecting different incoming data is almost infinite.

Manner in which industrial products can be used are usually well-defined.

Think about software: every loop with different values of data reflects a
different opportunity to see software fail.

Faculty of Information Science 4


2 Invisibility of the product

In an industrial product, missing parts are obvious.

Something missing? Easily identified.

Not so in software products.

May not be noticeable for years – if at all!

Faculty of Information Science 5


3. Opportunities to detect defects (“bugs”)??
Consider:
Product Development
Product Planning
Product Manufacturing

Faculty of Information Science 6


A. Product Development:

Industrial: test product; voltages; performance; strength;


size; ….ready to distribute to markets

Computer Software: once prototype and system testing are


concluded, product is ready for deployment

About the same approach

Arguable: equal chance to discover defects?

What do YOU think?

Faculty of Information Science 7


B. Product Production Planning:

– Industrial: Often need new tooling approaches, assembly lines,


new manufacturing processes.

• Results in additional „looks‟ at products

• One could say that there is a better chance to discover defects

– Computer Software: No real additional „look-see.‟

• Packages shrink-wrapped, printed, distributed to public

• No real chance to discover additional defects.

Faculty of Information Science 8


C. Product Manufacturing:

– Industrial: Usually defects uncovered here; easily fixed.

• Typical burn-in problems; another view of product; stabilizes.

• These represent additional opportunities to discover defects.

– Computer Software:

• We merely copyright, print copies of software and manuals

• No real chance for additional quality views

• No real chance for discovering additional defects

Faculty of Information Science 9


Only Chance to Discover
Defects:
• Best chance to really detect defects occurs during the
software development process itself!
• “The need for special tools and methods for the software industry is
reflected in the professional publications as well in special standards
devoted to SQA, such as ISO 9000-3, “Guidelines for the application of
ISO 9001 to the development, supply, and maintenance of software.”
• Another: ISO 9004-2: “Quality Management and Quality Systems
Elements: Guidelines for the Services.”

• These characteristics of software – complexity, invisibility, and limited


opportunity to detect bugs has led to the development of the ISO
Guidelines and an awareness of real SQA methodology.

Faculty of Information Science 10


The Difference of QA

Factors affecting defect detection in software products vs.


other industrial products.
Characteristic Software product Other industrial products

Complexity Usually, very complex product Degree of complexity much


allowing for very large number lower, allowing at most a
Of operational options. few thousand operational
options.

Visibility of Invisible product, impossible Visible product, allowing


product to detect defects or omissions effective detection of
By sight(e.g. of a diskette or defects
CD storing the software) By sight

Faculty of Information Science 11


Factors affecting defect detection in software products vs.
other industrial products.

Characteristic Software product Other industrial products

Nature of Opportunities to detect Opportunities to detect


development defects arise in only one Defects a rise in all phases
and production phase, Namely product of Development and
process development. production:
■ Product development
■ Product production
planning
■ Manufacturing

Faculty of Information Science 12


The uniqueness of the software
development process
• High complexity, as compared to other industrial products.
• Invisibility of the product.
• Opportunities to detect defects(“bugs”) are limited to the
product development phase.

Faculty of Information Science 13


The environments for which SQA
methods are developed
• Students develop software as part of their education.
• Software amateurs develop software as a hobby.
• Professionals in engineering, economics, management and other
fields develop software to assist them in their work, to perform
calculations , summarize research and survey activities, and so
forth.
• Software development professionals (systems analysts and
programmers)develop software products or firmware as a
professional career objective while in the employment of
software houses or by software development and maintenance
units (teams, departments, etc.) of large and small industrial,
financial and other organizations.
Faculty of Information Science 14
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

Faculty of Information Science 15


SQA Environment
1. Being Contracted:

– Professional software development is almost always


contracted.
• A defined list of functional requirements .
• The project budget.
• The project timetable.

Faculty of Information Science 16


SQA Environment
2. Subject to Customer-Supplier Relationship
– In professional software development, there is a
constant (hopefully) oversight between customer and
developer.

• Changes will occur;

Criticisms will arise.

• Cooperation is critical to overall project success.

Faculty of Information Science 17


SQA Environment
3. Required Teamwork
– We need teams due to
• Time required for development.
• Workload is too much for a single person
– The need for a variety of specializations in order to carry out
the project.
• A frequent variety of experts needed
• Database; networking; algorithms; …
– The wish to benefit from professional mutual support and
review for the enhancement of project quality.
• Need „independent‟ reviews to ensure quality

– Who is „on the team?‟


• Developers
• Clients / customers
• Others???

Faculty of Information Science 18


SQA Environment

4. Cooperation and Coordination with Other Software


Teams
– In a large software development organization, there are
many teams and may need to cooperate with them
– Expertise may exist in another team.
– Software development may outsourced in part.
– Other teams may have developed similar software for
the client and can offer tremendous help.
– May be that specialized hardware requires cooperation.

Faculty of Information Science 19


Faculty of Information Science 20
SQA Environment
5. Interfaces with Other Systems
– A Course Registration System – may well interface
with a Class Scheduling System and perhaps a Billing
System.
– Oftentimes outputs from one system are inputs to
another and vice versa!
– A course registration system may need to „interface‟
with an existing Billing system with different file /
database formats, and more.
– Sometimes outputs from one system are inputs to
several others
– Or, outputs from some system update master files /
databases that are processed by other systems.

Faculty of Information Science 21


Attendance
control
system

Input interface Monthly attendance report,


including overtime calculations
Salary
processing
system

Output interface Money transfers to employees’


bank account accounts
Bank
information
systems

Faculty of Information Science 22


SQA Environment

6. Need to Continue Project despite Team Changes

– Team members leave, are hired, fired, take unexpected


vacations, transferred within the company, and more.

– Maddening truism, but the development must continue.

– You can count on disruption!

Faculty of Information Science 23


SQA Environment

7. Need to continue Software Maintenance for an


Extended Period

– Whether external customers or in-house customers,


follow-on maintenance is typical and for many years!!

– Highly desirable from management/enterprise


perspective

Faculty of Information Science 24


Assignment– Chapter 1

• You are to answer the following question and


submit via Paper Assignment Chapter 1.
• Question 1.3, p12

• Duration: 1 week
Discussion Forum

• Student will lead a discussion and prepare


materials to fully talk about the following
questions in our next class:

• Question 1.1
Next Topic

Software Quality

Faculty of Information Science 27

Вам также может понравиться