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

Lecture 1

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

Lecture 1

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

Lecture#1

Basic Overview about - Software Quality


Engineering
Objective
• What is Software, Engineering and Quality.

• To describe the basics of Software Quality and Software


Quality Engineering.

• Quality Expectation for software system.


Software

Software is a set of instruction , data or program used to


operate computers and execute specific tasks.
OR
Software is instruction (computer program) that when
executed provide desired function and performance.
OR
Data structures that enable the programs to adequately
manipulate information.
(Roger S. Pressman)
Characteristics of Software
• Software are developed or engineered not manufactured
✓ Hardware are physical entity
✓ Software are logical entity

• Software doesn't “wear out”


✓ Hardware effected by heat , water , dust and vibration
✓ Software aren’t effected by environmental conditions

• Most of the software are custom built rather then being


assembled from existing components
✓ New software, new logic
Engineering

• Engineering refers to planning and designing whereas


manufacturing refers to using machine and raw materials
to physically make the things.
• For e.g.
Company X, makes the blueprint of a building, it’s a
engineering.
Company Y, makes a cement and bricks to make a building
, it’s a manufacturing.
Company Z, takes raw material from Company Y and
blueprint from Company X and makes a building, it’s a
construction.
Quality
• In general, people’s quality expectations for software
systems they use and rely upon are two-fold:

1. The software systems must do what they are supposed


to do. In other words, they must do the right things.
2. They must perform these specific tasks correctly or
satisfactorily. In other words, they must do the things
right.

Requires that the software be the “right software”, or


perform the right functions.
Software Quality
Software Quality

➢What are the characteristics for high quality software?


• Need to examine different perspectives and expectations
of user as well as other people involved with the
development, management, marketing and maintenance
of the software product.
Software Quality Engineering
• Expected behavior and performance are the two parameters,
which can check the quality in a software.

• If you ensure that these two parameters are their in the


software which means you are doing Software Quality
Engineering.

• Quality engineering is the discipline of engineering concerned


with the principles and practice of product and service quality
assurance and control. [Wikipedia]
Meeting People’s Quality Expectations
• If people’s expectation are met in any product, then the
product is supposed to have quality in it.

• Sometime people’s not sure if quality is bad or if people’s


expectations are too high
✓ It’s totally depend upon the cost , if cost justify your
expectations or not
Quality: General , Perspectives and
Expectations
• General : “good” software quality

• Perspectives: people’s view, software as object

• Expectations: quality characteristics & level


People’s roles and responsibilities
• When software quality is concerned, different people
would have different views and expectations based on
their roles and responsibilities.
✓ People: Consumers v/s Producer
• Consumers of software products or services, including
customers and users, who use the software products or
services for various purposes, although the dual roles of
customers and users are quite common.
• Producers of software products, or anyone involved with
the development, management, maintenance,
marketing, and service of software products.
• Deliver software system that—
✓ does what supposed to do –
o need to be “validated”
✓ does the things correctly –
o need to be “verified”
Example:
An airline reservation system is supposed to handle
reservations. The focus of the related activities is to
validate the required software functions under their
intended operational environment. The main requirement
of the software systems perform their intended functions
without problems. The system should help travel agents or
individual travelers make valid reservations within a pre-
specified time limit, instead of making invalid ones, taking
too long to make a reservation, or refusing to make
reservations without proper justification. The focus of the
related activities is to verify that the implemented
software functions operate as specified.
Reasons Software Quality is Important

• Cost

• Customer satisfaction

• Future value
Testing, Quality Assurance, and Software
Quality Engineering
• By running the software system or
executing its prescribed functions, testers
can determine if the observed system
behavior conforms to its specifications
or requirements
• Beyond testing, there are many other QA
alternatives supported by related
techniques and activities, such as
inspection, formal verification, defect
prevention, and fault tolerance
• In addition, all these QA activities need
to be managed in an engineering process
we call the software quality engineering
process, with quality goals set early in
the product development, and strategies
for QA selected, carried out, and
monitored to achieve these preset quality
goals
Quality Perspectives

• Perspectives: subject and object

• Subject : people’s perspectives


➢ External/Consumer : customers and users
➢ Internal/Producer : developer , testers ,managers
➢ Other : 3rd party , indirect users etc.

• Objects of our study:


➢ software products , system and services
Quality Perspectives

• External View → mostly see a software system as a black


box, where one can observe its behavior but not see
through inside.

• Internal View → mostly see a software system as a white


box, or more appropriately a clear box, where one can
see what is inside and how it works.
Quality Expectations
• Expectations from different people:

➢ External /Consumer expectations:


- “Good enough” for the price
1. Fit-for-use , doing the “right things”
2. Conformance, doing the “things right”

➢ Expectations for different software with common


factors:
- General: functionality and reliability
- Usability: GUI/end-user/web/etc.
- Safety: safety –critical systems

You might also like