Lecture # 2: Software System Quality
Lecture # 2: Software System Quality
LECTURE # 2
QUALITY MODELS
q Email: [email protected]
q Website: http://fms.uettaxila.edu.pk/Profile/ali.javed
q Contact No: +92-51-9047747
q Office hours:
n Monday, 11:00 - 12:00, Office # 7 S.E.D
q A Quality Model is defined as, “the set of characteristics and the relationships
between them which provides the basis for specifying quality requirements and
evaluating quality”
Classification into :
P They describe the external view of the software, as viewed by the users.
P Examples: correctness, reliability, efficiency, portability, maintainability e.t.c
P They describe the internal view of the software, as seen by the developer.
P Example: Modularity is an attribute of the architecture of a software system. A highly
modular software allows designers to put cohesive components in one module, thereby
increasing the maintainability of the system.
P They are defined and used to provide a scale and method for measurement.
q Product Operation
ü Correctness – Does it do what I want? A system is correct if it
behaves according to its specification
E.g Specifying the completeness of the outputs
provided
q Product Operation
q Product Revision
q Product Transition
q Verifiability
ü Deals with how easy it is to verify that the
software is working properly;
ü 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;
q Expandability
ü Deals with increasing the software’s
functionality or performance to meet new
needs or to provide more usability.
§ Essentially this is McCall’s flexibility
q Safety
ü address conditions that could bring the equipment or
application down especially for controlling software, as
in setting alarms or sounding warnings.
q Manageability
ü Manageability defines how easy it is for system
administrators to manage the application
ü 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.
q Survivability
ü survivability is the ability of a system to continue to
function during and after a natural or man-made
disturbance (or system failure)
§ Appears to be quite similar to Reliability in McCall’s
model
Dr. Ali Javed
Quality Models Comparison
16
ü Completeness (The degree to which the full implementation of the required functionalities has
been achieved)
ü Error Tolerance (The degree to which the continuity of operations is ensured under adverse
conditions)
ü Hardware Independence (The degree to which the software is dependent on the underlying
hardware)
ü Each quality factor is positively influenced by a set of quality criteria, and the same
quality criterion impacts a number of quality factors.
ü If an effort is made to improve one quality factor, another quality factor may be
degraded.
§ Example: An effort to improve the correctness of a system will increase its reliability.
ü A software quality characteristic may be refined into multiple levels of sub-characteristics. (ISO
9126:1991,3.13)
q Robert Grady at Hewlett Packard proposed a model called as FURPS Model in 1987
and later extended by IBM as FURPS+[12]
q Factors:
ü Functionality: represents all the system-wide functional requirements that we would expect
to see described
ü Usability: aesthetics, consistency, documentation
ü Reliability: Availability, Accuracy, Recoverability
ü Performance: response time, resource consumption, start up time, recovery time
ü Supportability: can it be extended, adapted, corrected?
Design Constraints
Implementation Constraints
Interface Requirements
q FURPS is originally a company specific quality model Physical Requirements
q FURPS+ is now widely used in the software industry.
q The + was later added to the model after various campaigns at HP to extend the
acronym to emphasize various attributes.
q Design Requirements
ü E.g. a relational database is required
q Implementation requirement
ü Constrains the coding or construction e.g. required standards, platform or
implementation language
q Interface requirement
ü A requirement to interact with an external item
q Physical requirement
ü A physical constraint imposed on the hardware; for example, shape, size and
weight
Classifying Requirements
q The persistence will be handled by a relational database is a -------
requirement
q The database will be Oracle 8i is -------------- requirement
q The system will run 7 days a week, 24 hours a day is a -----------
requirement
q An online help system is required is a ----------- requirement
q All presentation logic will be written in Visual Basic is --------- requirement
q Another software quality model called as Boehm’s quality model was given
by Barry W. Boehm in 1978.
q Boehm's quality model improves upon the work of McCall and his colleagues
q For Boehm and his colleagues, the prime characteristic of quality is what they
define as “general utility
q At the highest level of his model, Boehm defined three primary uses namely,
as-is utility, the extent to which the as-is software can be used (i.e. ease of
use, reliability and efficiency),
q Even though "quality is a perceptual, conditional and somewhat subjective attribute and
may be understood differently by different people", software structural quality
characteristics have been clearly defined by the Consortium for IT Software Quality (CISQ).
q Under the guidance of Bill Curtis, co-author of the Capability Maturity Model framework
and CISQ's first Director; and Capers Jones, CISQ's Distinguished Advisor, CISQ has defined
five major desirable characteristics of a piece of software needed to provide business
value. In the House of Quality model, these are "Whats" that need to be achieved:
ü Reliability
ü Efficiency
ü Security
ü Maintainability
ü Size
q GQM, the acronym for "goal, question, metric", is an approach to software metrics
q GQM approach provides a framework with 3 steps:
ü Conceptual level(Goal):: List the major goals of the project/Process
ü Operational level(Question):: Derive from each goal the questions that must be
answered to determine if the goals are being met
ü Quantitative level(Metric):: Decide what must be measured to answer the questions
adequately
q Dromey proposes a product-based quality model which recognizes that quality evaluation
differs for each product and that a more dynamic idea for modeling the process is needed
to be wide enough to apply for different systems.
q Dromey partitions the product into various components and gives the following examples
of what he means by software components for each of the different models:
q Variables, functions, statements, etc. can be considered components of the Implementation model;
q A requirement can be considered a component of the requirements model;
q A design/module can be considered a component of the design model;
q According to Dromey all these components possess fundamental properties that can be classified into
four categories:
q The software quality star is a conceptual model for presenting different perspectives of software
quality. The model is based on the Acquirer and Supplier as defined in ISO/IEC 12207 (1995)
q There are three significant elements in the star – the Procurer (Acquirer), the Producer (Supplier) and
the Product.
q In the model the procurer enters into a contract with the producer to create a software product. This
contract will clearly specify the quality characteristics of the product.
q The procurer’s perspective of the producer organisation is that they will use best project management
techniques and engage in first-rate processes to create a quality product.
q The model considers the Acquirer to be the lead party in any contractual arrangement as it is the
Acquirer’s users and technical support professionals who will dictate the success or failure of the
software product.
q The model also accommodates the producer’s perspective of software quality and focuses on the
maturity of the producer organisation as software developers and the development processes that
they used to create quality software products.
Dr. Ali Javed
References
45
1. http://www.bth.se/tek/besq.nsf/%28WebFiles%29/CF1C3230DB425EDCC1257069
00317C44/$FILE/chapter_1.pdf
2. http://www.heppenstall.ca/academics/doc/320/L01_SoftwareQuality.pdf
3. http://www.cis.gsu.edu/~ghubona/cis8300/ISO9126.pdf
4. http://en.wikipedia.org/wiki/ISO/IEC_9126
5. http://www.tol.oulu.fi/users/ilkka.tervonen/SQTe_2_11.pdf
6. http://agileinaflash.blogspot.com/2009/04/furps.html
7. http://www.architecting.co.uk/presentations/NFRs.pdf
8. https://en.wikipedia.org/wiki/Software_quality#CISQ.27s_quality_model
9. http://wwwagse-old.informatik.uni-kl.de/pubs/repository/basili94b/encyclo.gqm.pdf
10. http://www.iteva.rug.nl/gqm/GQM%20Guide%20non%20printable.pdf
11. http://msritse2012.wordpress.com/2013/01/27/quality-models-in-software-
engineering/
12. http://www.mecs-press.org/ijmecs/ijmecs-v5-n4/IJMECS-V5-N4-5.pdf
13. B. Kitchenham and S. Pfleeger, "Software quality: the elusive target", Software, IEEE, vol. 13, no. 1,
pp. 12–21, 1996.