iisc - proficience - sqam - module 1
TRANSCRIPT
-
8/14/2019 IISc - Proficience - SQAM - Module 1
1/27
SQAM Course, Proficience, IISc 1
Module 1Module 1
Introduction to SoftwareIntroduction to SoftwareQualityQuality
-
8/14/2019 IISc - Proficience - SQAM - Module 1
2/27
SQAM Course, Proficience, IISc 2
Different Views on QualityDifferent Views on Quality
Hard to define, Impossible to measure and Easy torecognize
Transparent when present, but easily recognized inabsence
Quality is not absolute
Quality is multidimensional
Quality is subject to constraintsQuality is about acceptable compromises
Quality Criteria are not independent, but interactwith each other
-
8/14/2019 IISc - Proficience - SQAM - Module 1
3/27
SQAM Course, Proficience, IISc 3
Garvins Five Definitions ofGarvins Five Definitions of
QualityQuality Transcendent Definition (Relative Quality): Quality is universally
recognizable; it is related to a comparison of features andcharacteristics of products.
Product-Based: Quality is a precise and measurable variable.Differences in quality reflect differences in quantity of some productattribute.
User-Based Definition: Quality is fitness for intended use.
Manufacturing-Based Definition: Quality is conformance tospecifications.
Value-Based Definition: Quality is defined in terms of costs andprices. A quality product is one that provides performance at anacceptable price or conformance at an acceptable costs.
-
8/14/2019 IISc - Proficience - SQAM - Module 1
4/27
SQAM Course, Proficience, IISc 4
Quality Revolution or Quality Confusion?Quality Revolution or Quality Confusion?
-
8/14/2019 IISc - Proficience - SQAM - Module 1
5/27
SQAM Course, Proficience, IISc 5
Poor Quality Practice Results inPoor Quality Practice Results in
-
8/14/2019 IISc - Proficience - SQAM - Module 1
6/27
SQAM Course, Proficience, IISc 6
Some Definitions..Some Definitions..
ISO: The totality of features and
characteristics of a product or service that
bear on its ability to satisfy specified orimplied needs
Fruhauf (1994): Quality is when the customer
comes back, not the product
-
8/14/2019 IISc - Proficience - SQAM - Module 1
7/27
SQAM Course, Proficience, IISc 7
Software QualitySoftware QualityThe degree to which a software product posses a
specified set of attributes necessary to fulfill astated purpose(Reifer,1985)
Conformance to customer expectations (StephenKan,1995)
Software product must provide functions of a typeand at a time when the user needs them. If it does
not, nothing else matters. The product must workconsistently and reasonably, without which theuser will not use it regardless of its other bestattributes.( Watts Humprey, 1995)
-
8/14/2019 IISc - Proficience - SQAM - Module 1
8/27
SQAM Course, Proficience, IISc 8
GE Model (McCall,1977)GE Model (McCall,1977)
Product Revision:
2. Maintainability
3. Flexibility
4. Testability
Product Transition:
2. Portability
3. Reusability
4. Interoperability
Product Operations:
2. Correctness
3. Reliability
4. Efficiency
5. Integrity
6. Usability
-
8/14/2019 IISc - Proficience - SQAM - Module 1
9/27
SQAM Course, Proficience, IISc 9
Software Quality FactorsSoftware Quality Factors
Product Operations
Correctness Extent to which a program satisfies its
specification and fulfills the users
functional requirements
Does it do what I want?
Reliability Extent to which a program can beexpected to perform its intended
functions with required precision
Does it behave properly all the time?
-
8/14/2019 IISc - Proficience - SQAM - Module 1
10/27
SQAM Course, Proficience, IISc 10
Product Operations (continued)Efficiency The amount of computing resources
required by a program to perform its functions
Will it run fast?Integrity Extent to which access to software or data
by unauthorized persons can be controlled
Is it secure?
Usability Effort required to learn, operate, prepareinput, and interpret output of a program
Can I run it easily?
Software Quality FactorsSoftware Quality Factors
-
8/14/2019 IISc - Proficience - SQAM - Module 1
11/27
SQAM Course, Proficience, IISc 11
Product RevisionMaintainability Effort required to locate and fix
an error in an operational program
Can I fix it?Testability Effort required to test a program
to ensure it performs its intended
functions
Can I test it?Flexibility Effort required to modify an
operational program
Can I change it?
Software Quality FactorsSoftware Quality Factors
-
8/14/2019 IISc - Proficience - SQAM - Module 1
12/27
SQAM Course, Proficience, IISc 12
Product Transition
Portability Effort required to transfer an program from one
hardware configuration or software system
environment to another
Can it run on another machine?
Reusability Effort to which a program can be used in other
applications
Can I reuse part of the software?Interoperability Effort required to couple one system with another
Can it interface with another system?
Software Quality FactorsSoftware Quality Factors
-
8/14/2019 IISc - Proficience - SQAM - Module 1
13/27
SQAM Course, Proficience, IISc 13
Interaction between quality parametersInteraction between quality parameters
oXooooooooUser friendliness
oooCost/BenefitoooXoooooXoUser flexibility
oAppeal
XoXoooXXXooTime to use
XXXXXXXXXXXXoXTimeliness
oooooXooooAccuracy
oooooXoooooooUser Consultation
XooooXoooooXoPortability
oooooXXXooEase of Interfacing
XoXoXXooooooXoFlexibility
ooooXXooooooXoUnderstandability
XoXooXXXoXSecurity
oXooXXXoXIntegrity
XoXXXoXXXXXXXoEfficiency
oooooooooooooReliability
OCUATTAUPEIFUSIERCriteria
-
8/14/2019 IISc - Proficience - SQAM - Module 1
14/27
SQAM Course, Proficience, IISc 14
Process and product qualityProcess and product quality
The quality of a developed product is influenced
by the quality of the production process.
This is important in software development as some
product quality attributes are hard to assess.However, there is a very complex and poorly
understood relationship between software
processes and product quality.
-
8/14/2019 IISc - Proficience - SQAM - Module 1
15/27
SQAM Course, Proficience, IISc 15
Software Quality AssuranceSoftware Quality Assurance
Activity of providing to all concerned the
evidence needed to establish confidence that the
quality function is being performed adequately(Juran,1995)
Quality Assurance is a planned and systematic
pattern of all actions necessary to provide
adequate confidence that an item or productconforms to established technical requirements
(IEEE,1990)
-
8/14/2019 IISc - Proficience - SQAM - Module 1
16/27
SQAM Course, Proficience, IISc 16
Software Quality Assurance ActivitiesSoftware Quality Assurance Activities
Monitoringprocesses andproducts throughout thesoftware development lifecycle to ensure the quality of thedelivered product(s)
Monitoring the processes
Provides management with objective feedbackregarding process compliance to approved plans,procedures, standards, and analyses
Monitoring the products Focus on the quality of product within each phase of
the SDLC e.g., requirements, test plan, architecture, etc.
Objective: identify and remove defects throughout thelifecycle, as early as possible
-
8/14/2019 IISc - Proficience - SQAM - Module 1
17/27
SQAM Course, Proficience, IISc 17
Process AssessmentProcess Assessment
Use of standards and process models has a positive impact onthe quality of the software product
Disciplined, controlled development process
Examples include:
ISO 9001 CMMI
CMU SEI, 5 levels
SPICE
Developing a standard for software process assessment
ISO joint committee, Europe, Australia
IEEE 12207
-
8/14/2019 IISc - Proficience - SQAM - Module 1
18/27
SQAM Course, Proficience, IISc 18
Product AssessmentProduct Assessment
Reviews, inspections, walkthroughs, reports, standards
Requirements, analysis, architecture, detailed design
model, test cases
Issue or problem reports
Metric reports
Traceability reports
Documentation, coding standards
-
8/14/2019 IISc - Proficience - SQAM - Module 1
19/27
SQAM Course, Proficience, IISc 19
Microsoft ViewMicrosoft View Have you identified important quality characteristics to
your project?
Have you made others aware of projects qualityobjectives?
Have you differentiated between External an Internalquality characteristics?
Do you use different error detection techniques?
Do you have a plan to assure quality at each stage ofsoftware development?
Is quality measured to say whether it is improving anddegrading?
(Jim McCarthy, Microsoft Press, 1995)
-
8/14/2019 IISc - Proficience - SQAM - Module 1
20/27
-
8/14/2019 IISc - Proficience - SQAM - Module 1
21/27
SQAM Course, Proficience, IISc 21
Software Quality ControlSoftware Quality Control
Involves series of inspections, reviews and
tests used throughout the software process.
Measurement and feedback loop is
important
Activities can be completely automated,
entirely manual or combination of both.
-
8/14/2019 IISc - Proficience - SQAM - Module 1
22/27
SQAM Course, Proficience, IISc 22
Verification and ValidationVerification and Validation
Verification is the process of evaluating a system
to determine whether the products of a given
development phase satisfy the conditions imposedat the start of that phase.
Validation is the process of evaluating a system or
component during or at the end of development
process to determine whether it satisfies specifiedrequirements
-
8/14/2019 IISc - Proficience - SQAM - Module 1
23/27
SQAM Course, Proficience, IISc 23
Software quality managementSoftware quality managementConcerned with ensuring that the required level of
quality is achieved in a software product.
Involves defining appropriate quality standards
and procedures and ensuring that these arefollowed.
Should aim to develop a quality culture where
quality is seen as everyones responsibility.
-
8/14/2019 IISc - Proficience - SQAM - Module 1
24/27
SQAM Course, Proficience, IISc 24
Define process standards such as how reviewsshould be conducted, configurationmanagement, etc.
Monitor the development process to ensurethat standards are being followed.
Report on the process to project management andsoftware procurer.
Dont use inappropriate practices simply becausestandards have been established.
Practical process qualityPractical process quality
-
8/14/2019 IISc - Proficience - SQAM - Module 1
25/27
SQAM Course, Proficience, IISc 25
Typical SQA Role in the organizationTypical SQA Role in the organization
Responsibility for SQA planning, oversight,recording, analysis and reporting.
Prepare an SQA plan for a project
Participate in the development of projects processdescription
Reviews Software Engineering activities to verifycompliance with defined software process
Audits the designated software work productsEnsures deviations are recorded and closed
Reports to Senior Management
-
8/14/2019 IISc - Proficience - SQAM - Module 1
26/27
SQAM Course, Proficience, IISc 26
-
8/14/2019 IISc - Proficience - SQAM - Module 1
27/27
SQAM Course, Proficience, IISc 27
Case AnalysisCase Analysis
Compare ISO 9126 and ISO 12207
How they are related?
To be presented in the next class
Thank you