SlideShare a Scribd company logo
1 of 26
Galin, SQA from theory to implementation © Pearson Education Limited 2004
1
Chapter 3
Software Quality Factors
Galin, SQA from theory to implementation © Pearson Education Limited 2004
2
• The need for comprehensive Software Quality Requirements
• Classification of requirements into Software Quality Factors
• Product Operation Factors
• Product Revision Factors
• Product Transition Factors
• Alternative models of software quality factors
• Who is interested in defining quality requirements?
• Software compliance with Quality Factors
Chapter ThreeChapter Three
Software Quality Factors
Galin, SQA from theory to implementation © Pearson Education Limited 2004
3
The Requirements Document
• Requirement Documentation (Specification) is one of the
most important elements for achieving software quality
• Need to explore what constitutes a good software
requirements document.
• Some SQA Models suggest 11-15 factors categorized;
some fewer; some more
• Want to become familiar with these quality factors, and
• Who is really interested in them.
• The need for comprehensive software quality
requirements is pervasive in numerous case studies (see
a few in this chapter).
• (Where do the quality factors go??)
Galin, SQA from theory to implementation © Pearson Education Limited 2004
4 Need for Comprehensive Software Quality
Requirements
• Need for improving poor requirements documents is widespread
• Frequently lack quality factors such as: usability, reusability,
maintainability, …
• Software industry groups the long list of related attributes into
what we call quality factors. (Sometimes non-functional
requirements)
• Natural to assume an unequal emphasis on all quality factors.
• Emphasis varies from project to project
– Scalability; maintainability; reliability; portability; etc.
• Let’s look at some of the categories…
Galin, SQA from theory to implementation © Pearson Education Limited 2004
5
Extra Thoughts
• Seems like in Software Engineering we concentrate on capturing,
designing, implementing, and deploying with emphasis on
functional requirements.
• Little (not none!) emphasis on the non-functional requirements
(quality factors).
• More and more emphasis now placed on quality factors
• Can be a critical factor in satisfying overall requirements.
• In the RUP, non-functional requirements are captured in the
Software Requirements Specification (SRS); functional
requirement usually captured in Use Case stories.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
6
McCall’s Quality Factors
• McCall has 11 factors; Groups them into categories.
– 1977; others have added, but this still prevail.
• Three categories:
– Product Operation Factors
• How well it runs….
• Correctness, reliability, efficiency, integrity, and usability
– Product Revision Factors
• How well it can be changed, tested, and redeployed.
• Maintainability; flexibility; testability
– Product Transition Factors
• How well it can be moved to different platforms and interface with other systems
• Portability; Reusability; Interoperability
• Since these underpin the notion of quality factors and others who have
added, reword or add one or two, we will spend time on these factors.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
7
Software quality
factors
Product operation
factorsProduct revision
factorsProduct transition
factors
McCall's software quality
factors model
Galin, SQA from theory to implementation © Pearson Education Limited 2004
8 McCalls factor model tree
Galin, SQA from theory to implementation © Pearson Education Limited 2004
9
• Correctness
• Reliability
• Efficiency
• Integrity
• Usability
Product operation factors
How well does it run and ease of
use.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
10 McCall’s Quality Factors
Category: Product Operation Factors
• 1. Correctness.
• Please note that we are asserting that ‘correctness’ issues are arising
from the requirements documentation and the specification of the
outputs…
• Examples include:
– Specifying accuracies for correct outputs at, say, NLT <1% errors, that could be
affected by inaccurate data or faulty calculations;
– Specifying the completeness of the outputs provided, which can be impacted by
incomplete data (often done)
– Specifying the timeliness of the output (time between event and its consideration by
the software system)
– Specifying the standards for coding and documenting the software system
– we have talked about this: standards and integration; Essential!!
Galin, SQA from theory to implementation © Pearson Education Limited 2004
11 McCall’s Quality Factors
Category: Product Operation Factors
• 2. Reliability Requirements. (remember, this quality factor is specified in
the specs!)
• Reliability requirements deal with the failure to provide service.
– Address failure rates either overall or to required functions.
• Example specs:
– A heart monitoring system must have a failure rate of less than one per million cases.
– Downtime for a system will not be more than ten minutes per month (me)
– MTBF and MTTR - old and engineering, but still applicable.
• 3. Efficiency Requirements. Deals with the hardware resources needed to
perform the functions of the software.
– Here we consider MIPS, MHz (cycles per second); data storage capabilities measured in MB
or TB; communication lines (usually measured in KBPS, MBPS, or GBPS).
– Example spec: simply very slow communications…
Galin, SQA from theory to implementation © Pearson Education Limited 2004
12 McCall’s Quality Factors
Category: Product Operation Factors
• 4. Integrity – deal with system security that prevent unauthorized
persons access.
• Huge nowadays; Cyber Security; Internet security; network
security, and more. These are certainly not the same!
• 5. Usability Requirements – deals with the scope of staff resources
needed to train new employees and to operate the software system.
– Deals with learnability, utility, usability, and more. (me)
– Example spec: A staff member should be able to process n transactions / unit time.
(me)
Galin, SQA from theory to implementation © Pearson Education Limited 2004
13
• Maintainability
• Flexibility
• Testability
Product revision factors
Can I fix it easily, retest, version it, and deploy it
easily?
Galin, SQA from theory to implementation © Pearson Education Limited 2004
14
McCall’s Quality Factors
Category: Product Revision Software
Factors• These deal with requirements that affect the complete range of software maintenance
activities:
– corrective maintenance,
– adaptive maintenance, and
– perfective maintenance
– KNOW THE DIFFERENCES!
• 1. Maintainability Requirements
– The degree of effort needed to identify reasons (find the problem) for software
failure and to correct failures and to verify the success of the corrections.
– Deals with the modular structure of the software, internal program
documentation, programmer manual, architectural and detail design and
corresponding documentation
– Example specs: size of module <= 30 statements.
– Refactoring...
Galin, SQA from theory to implementation © Pearson Education Limited 2004
15 McCall’s Quality Factors
Category: Product Revision Software Factors
• 2. Flexibility Requirements – deals with resources to change
(adopt) software to different types of customers that use the app
perhaps a little differently;
– May also involve a little perfective maintenance to perhaps do a little
better due to the customer’s perhaps slightly more robust environment.
– Different clients exercise software differently. This is big!
• 3. Testability Requirements –
– Are intermediate results of computations predefined to assist testing?
– Are log files created? Backup?
– Does the software diagnose itself prior to and perhaps during operations?
Galin, SQA from theory to implementation © Pearson Education Limited 2004
16
• Portability
• Reusability
• Interoperability
Product transition factors
Can I move the app to different hardware?
Interface easily with different hardware / software
systems; can I reuse major portions of the code
with little modification to develop new apps?
Galin, SQA from theory to implementation © Pearson Education Limited 2004
17
McCall’s Quality Factors
Category: Product Transition Software Quality Factors
• 1. Portability Requirements: If the software must be
ported to different environments (different hardware,
operating systems, …) and still maintain an existing
environment, then portability is a must.
• 2. Reusability Requirements: Are we able to reuse parts
of the app for new applications?
– Can save immense development costs due to errors found / tested.
– Certainly higher quality software and development more quickly
results.
– Very big deal nowadays.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
18
McCall’s Quality Factors
Category: Product Transition Software Quality Factors
• 3. Interoperability Requirements: Does the application
need to interface with other existing systems
–Frequently these will be known ahead of time and plans can be made
to provide for this requirement during design time.
• Sometimes these systems can be quite different; different platforms, different
databases, and more
–Also, industry or standard application structures in areas can be
specified as requirements.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
19
Alternatives
• Some other SQA professionals have offered essentially renamed quality
factors.
• One has offered 12 factors; another 15 factors.
• Totally five new factors were suggested
• Evans and Marciniak offer two ‘new’ ones:
– Verifiability and Expandability
• Deutsch and Willis offer three ‘new’ ones.
– Safety
– Manageability, and
– Survivability
Galin, SQA from theory to implementation © Pearson Education Limited 2004
20
McCall's factor model
and alternative models
Galin, SQA from theory to implementation © Pearson Education Limited 2004
21
Alternatives
Evans and Marciniak offer Verifiability and Expandability
– 1. Verifiability Requirements addresses design and
programming features that allow for efficient verification
of design and programming;
• This does not refer to outputs; rather, structure of code; design
elements and their dependencies, coupling, cohesion; patterns…
– apply to modularity, simplicity, adherence to
documentation and programming guidelines, etc.
– Look at the UML for dependencies, cohesion, coupling…
– 2. Expandability Requirements really refers to
scalability and extensibility to provide more usability.
• Essentially this is McCall’s flexibility
Galin, SQA from theory to implementation © Pearson Education Limited 2004
22
Alternatives
Deutsch and Willis offer Safety, Manageability, and Survivability
– 1. Safety Requirements address conditions that could bring the
equipment or application down especially for controlling software, as
in setting alarms or sounding warnings.
•Especially important to process control / real time software such as that
running conveyor belts or instrumentation for ordinance…
– 2. Manageability Requirements refer to tools primarily
administrative to control versions, configurations and change
management / tracking.
•We must have tools to manage versions and various configurations that
may vary from customer to customer.
– 3. Survivability Requirements refer to MTBF, or continuity of
service, as well as MTTR (mean time to recover).
• Appears to be quite similar to Reliability in McCall’s model
Galin, SQA from theory to implementation © Pearson Education Limited 2004
23
Comparisons
• These all are pretty close.
• Both models do add Verifiability,
• I like this one; addresses design and programming.
(programming conventions / standards, etc.)
– As we have developed as a discipline, I think this is essential.
• Safety is clearly important as computers control more and
more of what we do especially in both hardware and in
software.
– New cars will now sound an alarm as we back up; software will sound
when power is interrupted. This is important.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
24
So, Who Cares?
• Both developers and clients need to care. One group may
care more than the other for certain quality factors.
• Certainly the nature of the app dictates more concern on
some of these factors than others (safety, for example)
• In the Rational Unified Process, we call this component of
the requirements the SRS (software requirement
specifications, which contains these ‘non-functional
requirements’ which are requirements in every sense of the
word – just not functional requirements, as the term is
normally used.
• What are your feelings about these quality factors?
Galin, SQA from theory to implementation © Pearson Education Limited 2004
25 Homework #3
You may work alone or with one student on this assignment:
•1. Please address each of the McCall’s quality factors and address how
each apply to software and/or hardware (not using the examples in the
chapter). Please add verifiability and safety.
– Develop a short paper in Word that has no less than a single paragraph
addressing each of these quality factors. (This may take a two pages)
– Table 3.3 may provide some assistance.
•2. Answer question 3.2
•Due: Next Wednesday no later than (NLT) 4pm via Blackboard.
Galin, SQA from theory to implementation © Pearson Education Limited 2004
26
Team Discussion
• Team 3 is to lead the discussion on the
following questions:
• You must summarize the main points in the
chapter, and lead discussions on:
• 3.3
• 3.4
• 3.5

More Related Content

What's hot

Ch 4 components of the sqa system
Ch 4 components of the sqa systemCh 4 components of the sqa system
Ch 4 components of the sqa systemKittitouch Suteeca
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance sundas Shabbir
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality ManagementKrishna Sujeer
 
RMMM-Risk Management,Mitigation and Monitoring.
RMMM-Risk Management,Mitigation and Monitoring.RMMM-Risk Management,Mitigation and Monitoring.
RMMM-Risk Management,Mitigation and Monitoring.Aparna Nayak
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 
Unified process model
Unified process modelUnified process model
Unified process modelRyndaMaala
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 

What's hot (20)

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Ch 4 components of the sqa system
Ch 4 components of the sqa systemCh 4 components of the sqa system
Ch 4 components of the sqa system
 
McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance McCall Software Quality Model in Software Quality Assurance
McCall Software Quality Model in Software Quality Assurance
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality Management
 
RMMM-Risk Management,Mitigation and Monitoring.
RMMM-Risk Management,Mitigation and Monitoring.RMMM-Risk Management,Mitigation and Monitoring.
RMMM-Risk Management,Mitigation and Monitoring.
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software quality management lecture notes
Software quality management lecture notesSoftware quality management lecture notes
Software quality management lecture notes
 
Software process
Software processSoftware process
Software process
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Unified process model
Unified process modelUnified process model
Unified process model
 
Ch 3 software quality factor
Ch 3 software quality factorCh 3 software quality factor
Ch 3 software quality factor
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 

Similar to McCall's Quality Factors

Software qualityfactors
Software qualityfactorsSoftware qualityfactors
Software qualityfactorssaira gilani
 
Software Quality Factors-Non Functional Rq.pptx
Software Quality Factors-Non Functional Rq.pptxSoftware Quality Factors-Non Functional Rq.pptx
Software Quality Factors-Non Functional Rq.pptxsingbling
 
Design principles &amp; quality factors
Design principles &amp; quality factorsDesign principles &amp; quality factors
Design principles &amp; quality factorsAalia Barbe
 
Software quality
Software qualitySoftware quality
Software qualityjagadeesan
 
SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.pptAhmad Abbas
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptBule Hora University
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software QualityAjeng Savitri
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementationyogi syafrialdi
 
Quality Assurance in Modern Software Development
Quality Assurance in Modern Software DevelopmentQuality Assurance in Modern Software Development
Quality Assurance in Modern Software DevelopmentZahra Sadeghi
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxNikilesh8
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 

Similar to McCall's Quality Factors (20)

Software qualityfactors
Software qualityfactorsSoftware qualityfactors
Software qualityfactors
 
Software Quality Factors-Non Functional Rq.pptx
Software Quality Factors-Non Functional Rq.pptxSoftware Quality Factors-Non Functional Rq.pptx
Software Quality Factors-Non Functional Rq.pptx
 
Design principles &amp; quality factors
Design principles &amp; quality factorsDesign principles &amp; quality factors
Design principles &amp; quality factors
 
Software quality
Software qualitySoftware quality
Software quality
 
STQA 1.pptx
STQA 1.pptxSTQA 1.pptx
STQA 1.pptx
 
SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
 
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.pptChapter 5 Software Quality Assurance-Finalised_BW.ppt
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Maheen soft
Maheen softMaheen soft
Maheen soft
 
sdlc.pptx
sdlc.pptxsdlc.pptx
sdlc.pptx
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
3. quality.ppt
3. quality.ppt3. quality.ppt
3. quality.ppt
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Quality Assurance in Modern Software Development
Quality Assurance in Modern Software DevelopmentQuality Assurance in Modern Software Development
Quality Assurance in Modern Software Development
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
Software Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptxSoftware Engineering Practices and Issues.pptx
Software Engineering Practices and Issues.pptx
 
Software Quality.pptx
Software Quality.pptxSoftware Quality.pptx
Software Quality.pptx
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 

More from Usman Khan

Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
Preventions of Email Hacking
Preventions of Email HackingPreventions of Email Hacking
Preventions of Email HackingUsman Khan
 

More from Usman Khan (6)

Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Keplers laws
Keplers lawsKeplers laws
Keplers laws
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Ajax
Ajax Ajax
Ajax
 
Preventions of Email Hacking
Preventions of Email HackingPreventions of Email Hacking
Preventions of Email Hacking
 

Recently uploaded

Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 

Recently uploaded (20)

Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 

McCall's Quality Factors

  • 1. Galin, SQA from theory to implementation © Pearson Education Limited 2004 1 Chapter 3 Software Quality Factors
  • 2. Galin, SQA from theory to implementation © Pearson Education Limited 2004 2 • The need for comprehensive Software Quality Requirements • Classification of requirements into Software Quality Factors • Product Operation Factors • Product Revision Factors • Product Transition Factors • Alternative models of software quality factors • Who is interested in defining quality requirements? • Software compliance with Quality Factors Chapter ThreeChapter Three Software Quality Factors
  • 3. Galin, SQA from theory to implementation © Pearson Education Limited 2004 3 The Requirements Document • Requirement Documentation (Specification) is one of the most important elements for achieving software quality • Need to explore what constitutes a good software requirements document. • Some SQA Models suggest 11-15 factors categorized; some fewer; some more • Want to become familiar with these quality factors, and • Who is really interested in them. • The need for comprehensive software quality requirements is pervasive in numerous case studies (see a few in this chapter). • (Where do the quality factors go??)
  • 4. Galin, SQA from theory to implementation © Pearson Education Limited 2004 4 Need for Comprehensive Software Quality Requirements • Need for improving poor requirements documents is widespread • Frequently lack quality factors such as: usability, reusability, maintainability, … • Software industry groups the long list of related attributes into what we call quality factors. (Sometimes non-functional requirements) • Natural to assume an unequal emphasis on all quality factors. • Emphasis varies from project to project – Scalability; maintainability; reliability; portability; etc. • Let’s look at some of the categories…
  • 5. Galin, SQA from theory to implementation © Pearson Education Limited 2004 5 Extra Thoughts • Seems like in Software Engineering we concentrate on capturing, designing, implementing, and deploying with emphasis on functional requirements. • Little (not none!) emphasis on the non-functional requirements (quality factors). • More and more emphasis now placed on quality factors • Can be a critical factor in satisfying overall requirements. • In the RUP, non-functional requirements are captured in the Software Requirements Specification (SRS); functional requirement usually captured in Use Case stories.
  • 6. Galin, SQA from theory to implementation © Pearson Education Limited 2004 6 McCall’s Quality Factors • McCall has 11 factors; Groups them into categories. – 1977; others have added, but this still prevail. • Three categories: – Product Operation Factors • How well it runs…. • Correctness, reliability, efficiency, integrity, and usability – Product Revision Factors • How well it can be changed, tested, and redeployed. • Maintainability; flexibility; testability – Product Transition Factors • How well it can be moved to different platforms and interface with other systems • Portability; Reusability; Interoperability • Since these underpin the notion of quality factors and others who have added, reword or add one or two, we will spend time on these factors.
  • 7. Galin, SQA from theory to implementation © Pearson Education Limited 2004 7 Software quality factors Product operation factorsProduct revision factorsProduct transition factors McCall's software quality factors model
  • 8. Galin, SQA from theory to implementation © Pearson Education Limited 2004 8 McCalls factor model tree
  • 9. Galin, SQA from theory to implementation © Pearson Education Limited 2004 9 • Correctness • Reliability • Efficiency • Integrity • Usability Product operation factors How well does it run and ease of use.
  • 10. Galin, SQA from theory to implementation © Pearson Education Limited 2004 10 McCall’s Quality Factors Category: Product Operation Factors • 1. Correctness. • Please note that we are asserting that ‘correctness’ issues are arising from the requirements documentation and the specification of the outputs… • Examples include: – Specifying accuracies for correct outputs at, say, NLT <1% errors, that could be affected by inaccurate data or faulty calculations; – Specifying the completeness of the outputs provided, which can be impacted by incomplete data (often done) – Specifying the timeliness of the output (time between event and its consideration by the software system) – Specifying the standards for coding and documenting the software system – we have talked about this: standards and integration; Essential!!
  • 11. Galin, SQA from theory to implementation © Pearson Education Limited 2004 11 McCall’s Quality Factors Category: Product Operation Factors • 2. Reliability Requirements. (remember, this quality factor is specified in the specs!) • Reliability requirements deal with the failure to provide service. – Address failure rates either overall or to required functions. • Example specs: – A heart monitoring system must have a failure rate of less than one per million cases. – Downtime for a system will not be more than ten minutes per month (me) – MTBF and MTTR - old and engineering, but still applicable. • 3. Efficiency Requirements. Deals with the hardware resources needed to perform the functions of the software. – Here we consider MIPS, MHz (cycles per second); data storage capabilities measured in MB or TB; communication lines (usually measured in KBPS, MBPS, or GBPS). – Example spec: simply very slow communications…
  • 12. Galin, SQA from theory to implementation © Pearson Education Limited 2004 12 McCall’s Quality Factors Category: Product Operation Factors • 4. Integrity – deal with system security that prevent unauthorized persons access. • Huge nowadays; Cyber Security; Internet security; network security, and more. These are certainly not the same! • 5. Usability Requirements – deals with the scope of staff resources needed to train new employees and to operate the software system. – Deals with learnability, utility, usability, and more. (me) – Example spec: A staff member should be able to process n transactions / unit time. (me)
  • 13. Galin, SQA from theory to implementation © Pearson Education Limited 2004 13 • Maintainability • Flexibility • Testability Product revision factors Can I fix it easily, retest, version it, and deploy it easily?
  • 14. Galin, SQA from theory to implementation © Pearson Education Limited 2004 14 McCall’s Quality Factors Category: Product Revision Software Factors• These deal with requirements that affect the complete range of software maintenance activities: – corrective maintenance, – adaptive maintenance, and – perfective maintenance – KNOW THE DIFFERENCES! • 1. Maintainability Requirements – The degree of effort needed to identify reasons (find the problem) for software failure and to correct failures and to verify the success of the corrections. – Deals with the modular structure of the software, internal program documentation, programmer manual, architectural and detail design and corresponding documentation – Example specs: size of module <= 30 statements. – Refactoring...
  • 15. Galin, SQA from theory to implementation © Pearson Education Limited 2004 15 McCall’s Quality Factors Category: Product Revision Software Factors • 2. Flexibility Requirements – deals with resources to change (adopt) software to different types of customers that use the app perhaps a little differently; – May also involve a little perfective maintenance to perhaps do a little better due to the customer’s perhaps slightly more robust environment. – Different clients exercise software differently. This is big! • 3. Testability Requirements – – Are intermediate results of computations predefined to assist testing? – Are log files created? Backup? – Does the software diagnose itself prior to and perhaps during operations?
  • 16. Galin, SQA from theory to implementation © Pearson Education Limited 2004 16 • Portability • Reusability • Interoperability Product transition factors Can I move the app to different hardware? Interface easily with different hardware / software systems; can I reuse major portions of the code with little modification to develop new apps?
  • 17. Galin, SQA from theory to implementation © Pearson Education Limited 2004 17 McCall’s Quality Factors Category: Product Transition Software Quality Factors • 1. Portability Requirements: If the software must be ported to different environments (different hardware, operating systems, …) and still maintain an existing environment, then portability is a must. • 2. Reusability Requirements: Are we able to reuse parts of the app for new applications? – Can save immense development costs due to errors found / tested. – Certainly higher quality software and development more quickly results. – Very big deal nowadays.
  • 18. Galin, SQA from theory to implementation © Pearson Education Limited 2004 18 McCall’s Quality Factors Category: Product Transition Software Quality Factors • 3. Interoperability Requirements: Does the application need to interface with other existing systems –Frequently these will be known ahead of time and plans can be made to provide for this requirement during design time. • Sometimes these systems can be quite different; different platforms, different databases, and more –Also, industry or standard application structures in areas can be specified as requirements.
  • 19. Galin, SQA from theory to implementation © Pearson Education Limited 2004 19 Alternatives • Some other SQA professionals have offered essentially renamed quality factors. • One has offered 12 factors; another 15 factors. • Totally five new factors were suggested • Evans and Marciniak offer two ‘new’ ones: – Verifiability and Expandability • Deutsch and Willis offer three ‘new’ ones. – Safety – Manageability, and – Survivability
  • 20. Galin, SQA from theory to implementation © Pearson Education Limited 2004 20 McCall's factor model and alternative models
  • 21. Galin, SQA from theory to implementation © Pearson Education Limited 2004 21 Alternatives Evans and Marciniak offer Verifiability and Expandability – 1. Verifiability Requirements addresses design and programming features that allow for efficient verification of design and programming; • This does not refer to outputs; rather, structure of code; design elements and their dependencies, coupling, cohesion; patterns… – apply to modularity, simplicity, adherence to documentation and programming guidelines, etc. – Look at the UML for dependencies, cohesion, coupling… – 2. Expandability Requirements really refers to scalability and extensibility to provide more usability. • Essentially this is McCall’s flexibility
  • 22. Galin, SQA from theory to implementation © Pearson Education Limited 2004 22 Alternatives Deutsch and Willis offer Safety, Manageability, and Survivability – 1. Safety Requirements address conditions that could bring the equipment or application down especially for controlling software, as in setting alarms or sounding warnings. •Especially important to process control / real time software such as that running conveyor belts or instrumentation for ordinance… – 2. Manageability Requirements refer to tools primarily administrative to control versions, configurations and change management / tracking. •We must have tools to manage versions and various configurations that may vary from customer to customer. – 3. Survivability Requirements refer to MTBF, or continuity of service, as well as MTTR (mean time to recover). • Appears to be quite similar to Reliability in McCall’s model
  • 23. Galin, SQA from theory to implementation © Pearson Education Limited 2004 23 Comparisons • These all are pretty close. • Both models do add Verifiability, • I like this one; addresses design and programming. (programming conventions / standards, etc.) – As we have developed as a discipline, I think this is essential. • Safety is clearly important as computers control more and more of what we do especially in both hardware and in software. – New cars will now sound an alarm as we back up; software will sound when power is interrupted. This is important.
  • 24. Galin, SQA from theory to implementation © Pearson Education Limited 2004 24 So, Who Cares? • Both developers and clients need to care. One group may care more than the other for certain quality factors. • Certainly the nature of the app dictates more concern on some of these factors than others (safety, for example) • In the Rational Unified Process, we call this component of the requirements the SRS (software requirement specifications, which contains these ‘non-functional requirements’ which are requirements in every sense of the word – just not functional requirements, as the term is normally used. • What are your feelings about these quality factors?
  • 25. Galin, SQA from theory to implementation © Pearson Education Limited 2004 25 Homework #3 You may work alone or with one student on this assignment: •1. Please address each of the McCall’s quality factors and address how each apply to software and/or hardware (not using the examples in the chapter). Please add verifiability and safety. – Develop a short paper in Word that has no less than a single paragraph addressing each of these quality factors. (This may take a two pages) – Table 3.3 may provide some assistance. •2. Answer question 3.2 •Due: Next Wednesday no later than (NLT) 4pm via Blackboard.
  • 26. Galin, SQA from theory to implementation © Pearson Education Limited 2004 26 Team Discussion • Team 3 is to lead the discussion on the following questions: • You must summarize the main points in the chapter, and lead discussions on: • 3.3 • 3.4 • 3.5