Introduction To Software and Systrem Quality Oct. 2023 - V04

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

Introduction to Software and System Quality

Prepared by:
Prof. Samir Elmougy
Professor of Computer Science
Director of Artificial Intelligence B.Sc. Program
Dept. of Computer Science
Faculty of Computer Science and Information
Mansoura University
Instructor
◼ Prof. Samir Elmougy
◼ Professor of Computer Science, Department of Computer
Science, Faculty of Computers and Information, Mansoura
University.
◼ Vice Dean of Postgraduate Studies and Research, Faculty of
Computers and Information, Mansoura University.
◼ Director of Artificial Intelligence B.Sc. Program, Faculty of
Computers and Information, Mansoura University.
◼ Ph.D. in Computer Science, College of Engineering, Oregon
State University, USA.

2
Course Objectives
◼ Presenting the history, concepts, challenges,
characteristics, applications, models, and ethics of SW
Quality.
◼ Explaining the importance of SW quality to SW users and
to SW developers.
◼ To understand the international standards that are applied
to assess software quality.
◼ Defining the features of SW and the qualities of a good
SW.
◼ Describing the methods and measure used in measuring
the required qualities of SW.
◼ Monitoring the quality of the processes in a SW project.
3
Course Objectives
◼ Describing the continue improvement of SW quality
◼ Using external quality standards to ensure the quality

of SW acquired from an outside supplier.


◼ Developing systems and models using procedures that

will increase their quality.

4
Course Topics
◼ Background and concepts related to computer systems,
SW, program, project, and SE engineering.
◼ The history, concepts, challenges, characteristics,
applications, models, and ethics of SW Quality.
◼ The importance of SW quality to SW users.
◼ The importance of SW quality to SW developers.
◼ International standards of SW quality.
◼ Features of SW
◼ Qualities of a good SW.
◼ Measures qualities of SW.

5
Course Topics
◼ The continue improvement of SW quality.
◼ External quality standards.
◼ Quality Models.

6
Course Workload

7
Computer System
◼ Software (SW): “a set of items or objects that form a “configuration” that
includes programs, documents, data, ...”
[Software is a set of items or objects ]
◼ programs that execute (run) on computers
◼ set of instructions that tells the computer what to do

◼ SW is the dynamic behavior of programs on


real computers and auxiliary equipment.
◼ Hardware (HW):
◼ Equipment that processes the data

◼ Controlled by software

8
Information
◼ Data do not carry any specific meaning.
◼ Information is created when data are processed, organized, or
structured to provide context and logical meaning.
◼ Information:
◼ knowledge represented in a form suitable for transmission,

manipulation, storing, . . .
◼ Many types such as:

◼ Numbers, text, images, audio, graphics, Video, …

9
Information
◼ All information is digitized:
1. broken down into pieces
2. represented as numbers and,
3. represented and stored in memory using the binary number
system.

◼ Information Science:
◼ the study of information and

◼ how information is used within organizations

10
What is Software?
◼ Software Categories
(1) Systems SW:
➢ Programs that are directly controlling the running of

hardware components. They sit between the hardware


and the applications software
➢ Example: operating systems – Utility Programs

(2) Development SW:


➢ Programs that are used as tools in the development of

other programs
➢ Example: Microsoft.NET, Java SDK

11
What is Software?

(3) Applications SW:


➢ All other programs for doing specific task (tasks)
➢ Example: Video processing, games, database

software, web browsers, word processors, education


programs, …

12
What is Software?
Application Programs
Video processing, games, web browsers, word processors, education
programs, electronic spreadsheets, etc…
exe (Windows) or .app (Mac) file
Can use without knowing how it works behind the scenes (abstraction)

System Software
Compilers, Interpreters, Operating System, Device Drivers, etc

Hardware
A Layered View of the Computer
13
What is Computer Science (CS)?
◼ Computer Science (CS) delivers
acceptable solutions to complex, hard,
and various challenging problems
◼ CS studies of
◼ information,
◼ protocols, and

◼ algorithms

for idealized and real automata.

14
What is Computer Science (CS)?
◼ To delivery high quality project, computer scientists and
all other team works need some (not all) useful skills
include (based on the nature and the complexity of the
required project): ◼ Logical thinking

◼ Problem solving (most important skill) ◼ Technical skills


◼ Understand and define the problem ◼ Research
◼ Data structures
◼ Attention to detail
◼ Algorithms
◼ Implementation ◼ Project management
◼ Evaluating ◼ Quality Metrics
◼ … ◼ Art
◼ Creativity ◼ Design
◼ Mathematical skills ◼ Technical writing
◼ Analytical thinking ◼ … 15
Programs and Products
Program SW Project

16
SW Programming Versus SE Engineering

◼ SW Programming:

“The process of translating a problem from its physical


environment into a language that a computer can understand
and obey.”
[Webster’s New World Dictionary of Computer Terms]

17
SW Programming Versus SE Engineering

◼ SW Engineering:

- “The application of a systematic, disciplined, quantifiable


approach to development, operation, and maintenance of
software; that is, the application of engineering to software.”
[IEEE Standard Computer Dictionary, 610.12, ISBN 1-55937-079-3, 1990]

- “SW engineering is concerned with the theories, methods and


tools for developing, managing and evolving software
products.”
[Ian Sommerville, Software Engineering, 6ed.]
18
SW Programming Versus SE Engineering
◼ SW Engineering Scope:
◼ Studies:
◼ SW process
◼ (Waterfall model, spiral model, prototyping, Automatic synthesis model,
Object-oriented model, …)
◼ development principles
◼ Techniques
◼ notations
◼ aims to:
◼ produce quality SW
◼ delivered project on time
◼ delivered project within budget
◼ satisfies the customers and users’ requirements
[Pao-Ann Hsiung, National Chung Cheng University, Chiayi, Taiwan, ROC.]
19
SW Programming Versus SE Engineering
◼ SW programming SW Project
Single developer Teams of developers with multiple roles
“small” applications Complex systems
Short lifespan Indefinite lifespan
Single or few stakeholders Numerous stakeholders
Architect = Developer = Manager = Architect ≠ Developer ≠ Manager ≠
Tester = Customer = User Tester ≠ Customer ≠ User
One-of-a-kind systems System families
Built from scratch Reuse to amortize costs
Minimal maintenance Maintenance accounts for over 60% of
overall development costs

20
Quality

◼ Definition of quality based on American Heritage Dictionary:

◼ “a characteristic or attribute of something.”

◼ Quality: “developed product meets the required specification”

◼ But, for SW, two types of quality may could be defined:

◼ Quality of design encompasses requirements. specifications,


and the design of the system.

◼ Quality of conformance is an issue focused primarily on


implementation.
[Recall McCall’s Triangle of Quality]
21
Quality

◼ In general, it could be defined as:

◼ “Conformance to explicitly stated functional and


performance requirements, explicitly documented
development standards, and implicit characteristics that are
expected of all professionally developed software. “
[Recall McCall’s Triangle of Quality]

22
Software Quality
◼ Software quality may be a vague, attribute, or undefined.

◼ what qualities were required of a system is needed to be defined in accurate.

◼ this is not enough

◼ weather a system meet out quality requirements are highly required

◼ this requires metrics.

◼ Quality is needed to be agreed and focused during all phases of project (SW)

◼ requirements,

◼ planning,

◼ execution.

23
Software Quality

24
Quality Management
◼ It ensures that whether needed level of product achieved or not, through:
◼ Define the procedures and standards

◼ Apply the procedures and standards to the product and process

◼ Check the that procedures are followed

◼ Collect and analyze different quality data

◼ Main Problems:
No standard for aspects of software quality
[Software Quality Assurance, Mark J. Tseytlin, Sr. SQE, Raytheon Company]

25
Software Quality Assurance (SQA)
◼ Main elements of SQA
• SQA:
establishment of network of organizational procedures and standards leading to
high-quality software
2. Software Quality Planning (SQP):
selection of appropriate procedures and standards from this framework and
adaptation of these to specific software project
3. Software Quality Control (SQC):
definition and enactment of processes that ensure that project quality procedures
and standards are being followed by the software development team
4. Software Quality Metrics (SQM):
collecting and analyzing quality data to predict and control quality of the
software product being developed
[Software Quality Assurance, Mark J. Tseytlin, Sr. SQE, Raytheon Company]

26
Software Quality Assurance (SQA)
• “SQA consists of those procedures, techniques, and tools applied by
professionals to ensure that a product meets or exceeds pre-specified
standards during it’s development cycle.”
[E.H. Bersoff]

27
Software Development Cycle

Software Development Phase End product


• Software requirements • SRS, IRS
• Preliminary Design • SDD, PQT/FAT/SAT Plans &
Proc.’s, ICD, IDD
• Detailed Design • PDL, User Manuals
• Code • Code, UT Plan & Proc.’s
• Unit Test • UT Results
• Software integration •VDD
• Software Component Test • PQT Report
• Software System Test • FAT & SAT Reports
• Maintenance and Support • ECP’s leading to updates

28
Software Metric
◼ Software quality remains a subject

◼ who is to blame?

◼ Customers may blame developers,

◼ arguing that wrong practices (such as uncompleted testing and validated,


customers may not be involved in the development of the
requirements,…) lead to low-quality software, and therefore not customers
satisfactions.

◼ Developers may blame customers and other stakeholders,

◼ arguing that schedule of irrational delivery and/or a continuing stream of


unexpected changes and variations may force them to produce the
required software before it has been fully validated. 29
Software Metric

◼ SW Metric is a quantitative measure of the degree to which a


system, system component, or process possesses a given attribute.

◼ An effective SW process applied in a manner that creates a useful


product that provides measurable value for those who produce it and
those who use it.

◼ SW Metric are used to measure the quality of the project.


◼ User satisfaction =
compliant product + good quality + delivery within budget and schedule

30
Software Metric

◼ Advantages of tracking software testing:


◼ Help achieving cost savings by preventing defects.

◼ Help improving the overall project planning.

◼ Help analyzing the metrics in every phase of testing to improve the defect
removal efficiency.

31
Modeling Quality
◼ ISO/IEC 25010:2011: Standard Quality Model

32
Modeling Quality

ISO/IEC 9126 model

33
Modeling Quality
Quality System Requirements Software Quality Responsibilities
◼ Management Responsibility ◼ Management Responsibility
◼ Quality system ◼ Quality system
◼ Contract review ◼ Contract review
Design Control ◼ Design Control
ISO - 9001 Elements

◼ Document control ◼ Document control


◼ Purchasing ◼ Purchasing
◼ Purchaser supplied product ◼ -
◼ Product identification and traceability ◼ Product identification and traceability
◼ Process control ◼ Process control
◼ Inspection and testing ◼ Inspection and testing
◼ Inspection, measuring and test equipment ◼ -
◼ Inspection and test status ◼ Inspection and test status
◼ Control of non-conforming product ◼ -
◼ Corrective action ◼ Corrective action
◼ Handling, storage, preservation, packaging and ◼ -
shipping
◼ Quality records ◼ Quality records
◼ Internal quality audits ◼ Internal quality audits
◼ Training ◼ Training
◼ Servicing ◼ -
◼ Statistical techniques ◼ Statistical techniques
Reference: Software Quality Assurance, Mark J. Tseytlin, Sr. SQE, Raytheon Company
34
References
◼ Software Quality Assurance, Mark J. Tseytlin, Sr. SQE, Raytheon
Company

◼ https://www.win.tue.nl/~wstomv/edu/2ip30/references/9126ref.html

35

You might also like