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

Lec1_QFISO_Def

The document outlines a course on software quality at Linköping University, detailing its objectives, content, and evaluation methods. It emphasizes the importance of understanding software quality from various perspectives, including user needs and compliance with standards like ISO 25010. The course includes theoretical lectures, practical labs, and coaching for bachelor projects to enhance students' skills in quality management and improvement.

Uploaded by

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

Lec1_QFISO_Def

The document outlines a course on software quality at Linköping University, detailing its objectives, content, and evaluation methods. It emphasizes the importance of understanding software quality from various perspectives, including user needs and compliance with standards like ISO 25010. The course includes theoretical lectures, practical labs, and coaching for bachelor projects to enhance students' skills in quality management and improvement.

Uploaded by

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

Course

Introdction TDDE46

Kristian Sandahl, Azeem Ahmad


Linköping University, Sweden
Quality work in a software company
is done for different reasons

Take new challenges Grow your assets Avoid complaints


Quality is free?
Prevention cost Appraisal cost

Cost for the right quality

Cost of quality

Cost for insufficient quality

Internal failure cost External failure cost

Feigenbaum, Armand V. (November–


December 1956), "Total Quality Control",
Harvard Business Review, 34 (6)
Drivers for quality
Experience

The way we build and reuse Solutions


Testing Static analysis Review Measurement
How we manage our company
The way we evaluate quality
The way we cooperate

The way we work Quality The way we describe quality

Understanding users’ true needs


Competence
Available resources
Tools How we position the product on the market
Infrastructure

Time Competitors Portfolio


Course content
• Measuring software products, • Taught in other courses:
processes and resources • Software reviews
• Quality planning • Formal verification
• Describing processes and practices • Software testing
with SEMAT Essence • Design for quality factors
• Process evaluation and improvement • Taught at IEI:
• Software quality management • Quality management
• Information quality and tools • Statistical process control
• Coaching bachelor projects
• Evaluating bachelor projects
The position in the course
programme
Software
Software Security Software
Verification Software Security Architectures

Large-Scale
Large-Scale
Software
Software
Development
Software Design Development
Software Testing Software Quality
and Construction

TDDD30
SE-theory SE-project
Lectures give the most common
theoretical aspects of software
quality
• Well-known concepts
• Introduction to scientific literature and standards
• Practical hints
If we think that
• Do not replace own studies you ask and
discuss too
much we will let
you know
Labs are there to give you hands on
and reflection
• Tools for measurement
• Process modeling and improvement
• Verify requirements for an API
• Visualizing metrics with a dashboard
• Tools for robustness and availability.
You will coach the bachelor thesis
projects to get the process and
people experience
• This is a true need
• You will help them to achieve:
• Measurable quality requirements
• A useful quality plan
• You will practice:
• Identify, suggest and evaluate a process improvement
• Evaluate a product

http://www.culturaltravelguide.com/wp-content/uploads/
2012/05/plan-a-trip-tourist-guide1.jpg
Organisation

Lab groups …

Project and seminar groups


Bachelor projects

In seminars we discuss articles and
account for coaching activities
• Metrics and estimation • Prepare by reading
• Processes and practices • Write a short individual report
• Software quality management on major take-aways
• Automatization
Finally, we write a report of the
coaching project and individual
contributions
• Common part about the coaching project
• Individual appendices:
• Deepened follow up from seminars
• Deepened follow up from 1-2 labs
• Deepened follow up from the coaching project
• Independent essay within the scope of the course
Grading rewards your ambition and
achievements
• Lab series (G/U) – accomplish • Individual appendix:
the lab goals, 2 hp • 10-line abstracts with major
• Project work (U/3/4/5): results
• Seminars – presence and active • 2-3 good references
participation, plus reflection
report • Understandable English
• Well-performed coaching • About 4 pages excluding pictures
• Common written report on the and references
project

= grade 3
Grading rewards your ambition and
achievements
• Individual appendix: • Same as grade 4 and:
• 10-line abstracts with major • Clear comparison between 2-3
results distinct findings in the coaching
• 10 good references projects and the literature
• Good, fault-free English
• 4-8 pages excluding pictures and
references

= grade 4 = grade 5
Objectives for next 45 minutes
• What is software quality?
• Different views on quality
• What are software quality factors?
• ISO 25010 standard in detail
What does Quality mean to you?

• You are a project manager of the BlaBla communication AB in Sweden. Your


company develops networking products such as routers and switches. Your
company also develops software for routers and switches to make it easy to
use for customers. You are competing with other 5 companies to get the
contract for 1 million devices for third world countries as part of United
Nation campaign. This contract is very important for your financial planning
otherwise you can go bankrupt. The contract is to submit the following
documentation of one line by just filling the blanks. Your answer (i.e. for the
blank) must be between 1-5 words.

Your hardware and/or software has a good quality because it ____________!


What is Software Quality?
• Quality is a complex and multifaceted concept (David Garvin)
• Quality = Fitness for Purpose (Juran)
• Quality = Zero Defect (Crosby)
Different Views of Quality
• Five different views according to David Garvin:1
• Transcendental view: that quality is something that you immediately recognize, but
cannot explicitly define.
• User view: sees quality in terms of an end user’s specific goals. If a product meets those
goals, it exhibits quality.
• A product is of good quality, if it satisfy a large number of users
• Manufacturer view: defines quality in terms of the original specification of the product.
If the product conforms to the specification, it exhibits quality.
• Does the product satisfy the specification/requirements?
• Product view: suggests that quality can be tied to inherent characteristics (e.g., module
approach and feature's re-usability) of a product.
• Value-based view: measures quality based on how much a customer is willing to pay for
a product.
• How much a customer is willing to pay for a certain level of quality

1. Garvin, D., “What Does ‘Product Quality’ Really Mean?” Sloan Management Review, Fall 1984, pp. 25–45
Software Quality Factors
• To know that quality has improved, it would be helpful to be able to
measure quality in term of factors.
• Quality Factors (Availability, Reliability, Maintainability, Security …..):
• Goal-oriented methodology for measuring software quality
Software Quality Standards &
Models
• Standards (i.e. international, regional, national or organizational):
• Increase customer’s confidence in the products
• Help to achieve effective quality management
• Avoid repetitions of past mistakes
• Helps staff understand the organization by understanding the standard
• Developed by:
• IEEE, ISO, DOD (US Department of Defence), ANSI (American National Standard Organization), EIA
(Electronic Industries Association) and others
• Models:
• McCall -> 11 quality factors (1977)
• Deutsch and Willis -> 12 quality factors (1988)
• Evans and Marciniak-> 15 quality factors (1987)
• Many others (Seminar 1 is about quality models)
Software Quality Standards – ISO
250XX

Software Product Quality


Requirements and
Evaluation (SQuaRE)
ISO/IEC 25010 (replaced with
ISO 9126)
“The quality of a system is the degree to which the system satisfies the stated and implied needs of its various stakeholders,
and thus provides value. Those stakeholders' needs (functionality, performance, security, maintainability, etc.) are precisely
what is represented in the quality model [……]” (www.iso2500.com)
ISO/IEC 25010 (replaced with
ISO 9126)
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Check if all use cases have been written
• Use traceability matrices to make sure that software matched with all business requirements
completely and correctly

• Everyone in Sweden should pay tax -> complete?.


• Car rental prices shall show all applicable taxes (including 6% kummun tax) ->correct?.
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Select appropriate data structure when writing code
• Select appropriate algorithms
• Consider data cashing, memory leakage, multi-threading, locking and other issues
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Write code that can communicate with different platform such as Windows, Mac, Linux,
Ubuntu
• Ability to use different functions (open-source, COTS, etc.) to make one complete program
ISO/IEC 25010

•Keep it Simple
•Keep it Consistent
•Always Include a Search Bar
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Pay attention to exception handling
• Keep the state save, when crashing and load program back to that state – crashing gracefully
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Pay attention to three AAAs (Authentication, Authorization & Access Control) for taking care of
CIA (Confidentiality, Integrity and Availability) attributes
• Pay attention to OWASP vulnerabilities’ recommendation and focus on doing input validation
to take care of issues related with CIA
• Make sure that there are test cases (security testing) to test the above aspects
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Apply object-oriented principles to take care of concerns such as reusability & modularity while
doing both, design and coding.
• Use static code analysis tools
ISO/IEC 25010

• Some lessons to take away; what should you do?


• Either write N software version for N platform or use JVM (Java Virtual Machine)
• Either the executable code is portable or the source code must be re-compiled for each
platform
Key Points
• Consider activities related to software quality as early as possible in SDLC
• Software quality depends in the eyes of behold
• Certainly the nature of the app dictates more concern on some of these
factors than others (safety, for example)
• There are no universally applicable model or standard for software quality.
Each organization can choose model or standard according to their need
• Standards and Models are a good start.

You might also like