• No results found

Lecture 5

N/A
N/A
Protected

Academic year: 2020

Share "Lecture 5"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Quality Engineering

BS(SE)-VI

Dr. Assad Abbas

Department of Computer Science

(2)

Software Quality Models and Philosophies

n

What is quality?

5

Conformance to specifications

5

Meeting customer needs

n

Such general definitions of quality are not sufficient in

practice.

n

Thus software quality is described by specific quality

models

n

Causal relationship from intangible quality views to

(3)

McCall’s Quality Model (1977)

n

One of the most renown models Presented by Jim McCall

n

Originated from the US military (was developed for the US Air

Force, promoted within DoD) and is primarily aimed towards

the system developers and the system development process

n

attempts to bridge the gap between users and developers by

focusing on a number of software quality factor that reflect

both the users’ views and the developers’ priorities

n

The model has three major perspectives for defining and

identifying the quality of a software product:

5

product revision (ability to undergo changes)

5

product transition (adaptability to new environments)

(4)

McCall’s Quality Model (1977)

n Product revision includes maintainability (the effort required to locate and fix a fault in the program within its operating environment), flexibility (the ease of making changes required by changes in the operating

environment) and testability (the ease of testing the program, to ensure that it is error-free and meets its specification).

n Product transition is all about portability (the effort required to transfer a program from one environment to another), reusability (the ease of

reusing software in a different context) and interoperability (the effort required to couple the system to another system).

n Quality of product operations depends on correctness (the extent to which a program fulfils its specification), reliability (the systems’ ability not to fail), efficiency (further categorized into execution efficiency and storage

(5)

McCall’s Quality Model (1977)

(6)

McCall’s Quality Model (1977)

n The model furthermore details the three types of quality characteristics (major perspectives) in a hierarchy of factors, criteria and metrics:

5 11 Factors (To specify): They describe the external view of the software, as viewed by the users.

5 23 quality criteria (To build): They describe the internal view of the software, as seen by the developer.

5 Metrics (To control): They are defined and used to provide a scale and method for measurement.

n The quality factors describe different types of system behavioral

characteristics, and the quality criterions are attributes to one or more of the quality factors. The quality metric, in turn, aims to capture some of the aspects of a quality criterion.

5 The actual quality metric is achieved by answering yes and no questions that then are put in relation to each other. That is, if answering equally amount of

(7)
(8)

Boehm’s Quality Model (1978)

n

Boehm’s models attempts to qualitatively define software

quality by a given set of attributes and metrics.

n

Boehm's model is similar to the McCall Quality Model in that it

also presents a hierarchical quality model structured around

high-level characteristics, intermediate level characteristics,

primitive characteristics - each of which contributes to the

overall quality level.

n

The high-level characteristics represent basic high-level

requirements of actual use to which evaluation of software

quality could be put – the general utility of software. The

high-level characteristics address three main questions that a

buyer of software has:

5 As-is utility: How well (easily, reliably, efficiently) can I use it as-is?

5 Maintainability: How easy is it to understand, modify and retest?

(9)

Boehm’s Quality Model (1978)

n The intermediate level characteristic represents Boehm’s 7 quality factors that

together represent the qualities expected from a software system:

5 Portability (General utility characteristics): Code possesses the characteristic portability to the extent that it can be operated easily and well on computer configurations other than its current one.

5 Reliability (As-is utility characteristics): Code possesses the characteristic reliability to the extent that it can be expected to perform its intended functions satisfactorily.

5 Efficiency (As-is utility characteristics): Code possesses the characteristic efficiency to the extent that it fulfills its purpose without waste of resources.

5 Usability (As-is utility characteristics, Human Engineering): Code possesses the

characteristic usability to the extent that it is reliable, efficient and human-engineered.

5 Testability (Maintainability characteristics): Code possesses the characteristic

testability to the extent that it facilitates the establishment of verification criteria and supports evaluation of its performance.

5 Understandability (Maintainability characteristics): Code possesses the characteristic understandability to the extent that its purpose is clear to the inspector.

5 Flexibility (Maintainability characteristics, Modifiability): Code possesses the

(10)

Boehm’s Quality Model (1978)

(11)

Boehm’s Quality Model (1978)

n Though Boehm’s and McCall’s models might appear very similar, the difference is that McCall’s model primarily focuses on the precise

measurement of the high-level characteristics “As-is utility” whereas

Boehm’s quality model is based on a wider range of characteristics with an extended and detailed focus on primarily maintainability.

n Boehm focuses a lot on the models effort on software maintenance cost effectiveness which, he states, is the primary payoff of an increased

(12)
(13)

FURPS

n Perhaps somewhat less renown, model that is structured in basically the same manner as the McCall and Boehm’s models, is the FURPS model originally presented by Robert Grady(and extended by Rational Software now IBM Rational Software – into FURPS+). FURPS stands for:

5 Functionality – may include feature sets, capabilities and security

5 Usability - may include human factors, aesthetics, consistency in the user interface, online and context sensitive help, wizards and agents, user

documentation, and training materials

5 Reliability - frequency and severity of failure, recoverability, predictability, accuracy, and mean time between failure (MTBF)

5 Performance - imposes conditions on functional requirements such as speed, efficiency, availability, accuracy, throughput, response time, recovery time, and resource usage

5 Supportability - which may include testability, extensibility, adaptability, maintainability, compatibility, configurability, serviceability, installability, localizability (internationalization)

n The FURPS-categories are of two different types: Functional (F) and Non-functional (URPS). These categories can be used as both product

(14)

ISO 9126

n

This standard was based on the McCall and Boehm models.

(15)
(16)
(17)

ISO 9126

n Functionality: A set of attributes that relate to the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.

5 Suitability: Attribute of software that relates to the presence and appropriateness of a set of functions for specified tasks.

5 Accuracy: Attributes of software that bare on the provision of right or agreed results or effects.

5 Security: Attributes of software that relate to its ability to prevent unauthorized access, whether accidental or deliberate, to programs and data.

5 Interoperability: Attributes of software that relate to its ability to interact with specified systems.

5 Compliance: Attributes of software that make the software adhere to

(18)

ISO 9126

n Reliability: A set of attributes that relate to the capability of software to maintain its level of performance under stated conditions for a stated period of time.

5 Maturity: Attributes of software that relate to the frequency of failure by faults in the software.

5 Fault tolerance: Attributes of software that relate to its ability to maintain a specified level of performance in cases of software faults or of infringement of its specified interface.

5 Recoverability: Attributes of software that relate to the capability to re-establish its level of performance and recover the data directly affected in case of a failure and on the time and effort needed for it.

(19)

ISO 9126

n

Usability: A set of attributes that relate to the effort needed for

use, and on the individual assessment of such use, by a

stated or implied set of users.

5

Understandability: Attributes of software that relate to the users'

effort for recognizing the logical concept and its applicability.

5

Learnability

: Attributes of software that relate to the users' effort

for learning its application (for example, operation control,

input, output).

5

Operability: Attributes of software that relate to the users' effort

for operation and operation control.

5

Attractiveness: visually appealing

(20)

ISO 9126

n Efficiency: A set of attributes that relate to the relationship between the level of performance of the software and the amount of resources used, under stated conditions.

5 Time behavior: Attributes of software that relate to response and processing times and on throughput rates in performing its function.

5 Resource behavior: Attributes of software that relate to the amount of resources used and the duration of such use in performing its function.

5 Compliance: As above

.

n Maintainability: A set of attributes that relate to the effort needed to make specified modifications.

5 Analyzability: Attributes of software that relate to the effort needed for diagnosis of deficiencies or causes of failures, or for identification of parts to be modified.

5 Changeability: Attributes of software that relate to the effort needed for modification, fault removal or for environmental change.

5 Stability: Attributes of software that relate to the risk of unexpected effect of modifications.

5 Testability: Attributes of software that relate to the effort needed for validating the modified software.

(21)

ISO 9126

n

Portability: A set of attributes that relate to the ability of

software to be transferred from one environment to another.

5

Adaptability: Attributes of software that relate to on the

opportunity for its adaptation to different specified environments

without applying other actions or means than those provided for

this purpose for the software considered.

5

Installability: Attributes of software that relate to the effort

needed to install the software in a specified environment.

5

Conformance: Attributes of software that make the software

adhere to standards or conventions relating to portability.

5

Replaceability: Attributes of software that relate to the

(22)

Capability Maturity Models – CMM and CMMI

assessment methodology

n

The CMMI framework is the current stage of work on process

assessment and improvement that started at the Software

Engineering Institute (SEI) in the 1980s.

5

The SEI’s mission is to promote software technology

transfer particularly to US defense contractors.

5

It has had a profound influence on process improvement

5

Capability Maturity Model introduced in the early 1990s.

(23)

The Principles of the CMM

n

CMM assessment is based on the following concepts and principles:

5 Application of more elaborate management methods based on quantitative approaches increases the organization’s capability to control the quality and improve the productivity of the software development process.

5 The vehicle for enhancement of software development is composed of the five-level capability maturity model. The model enables an

organization to evaluate its achievements and determine the efforts needed to reach the next capability level by locating the process areas requiring improvement.

5 Process areas are generic; they define the “what”, not the “how”. This approach enables the model to be applied to a wide range of

implementation organizations because: g It allows use of any life cycle model

g It allows use of any design methodology, software development tool and

programming language

(24)

The SEI CMM

n

Initial

5

Essentially uncontrolled

n

Repeatable

5

Product management procedures defined and used

n

Defined

5

Process management procedures and strategies

defined and used

n

Managed

5

Quality management strategies defined and used

n

Optimising

(25)
(26)

The CMMI model

n

An integrated capability model that includes software

(27)

CMMI model components

n

Process areas

5

22 process areas that are relevant to process

capability and improvement are identified. These are

organized into 4 groups.

n

Goals

5

Goals are descriptions of desirable organizational

states. Each process area has associated goals.

n

Practices

(28)
(29)
(30)
(31)

CMMI Assessment

n 1. Incomplete At least one of the specific goals associated with the process area is not satisfied.

n 2. Performed The goals associated with the process area are satisfied, and for all processes the scope of the work to be performed is explicitly set out and communicated to the team members.

n 3. Managed Resource management and process monitoring procedures must be in place across the institution. For example, documented project plans

n 4. Defined This level focuses on organizational standardization and deployment of processes.

n 5. Quantitatively managed At this level, there is an organizational

responsibility to use statistical and other quantitative methods to control subprocesses

n 6. Optimizing At this highest level, the organization must use the process and product measurements to drive process improvement. Trends must be

(32)

Six Sigma

n Six Sigma (6σ) is a set of techniques and tools for process improvement. It was introduced by Engr. Bill Smith while working at Motorola in 1986.

n Six Sigma strategies seek to improve the quality of the output of a process by identifying and removing the causes of defects and minimizing variability in manufacturing and business processes.

n It uses a set of quality management methods, mainly empirical, statistical methods, and creates a special infrastructure of people within the organization who are experts in these methods.

n Each Six Sigma project carried out within an organization follows a defined sequence of steps and has specific value targets, for example: reduce process cycle time, reduce pollution, reduce costs, increase customer satisfaction, and increase profits.

(33)

Six Sigma

n

The term

Six Sigma

originated from terminology associated

with statistical modeling of manufacturing processes.

n

The maturity of a manufacturing process can be described by

a

sigma

rating indicating its yield or the percentage of

defect-free products it creates.

n

A six sigma process is one in which 99.99966% of all

opportunities to produce some feature of a part are

statistically expected to be free of defects

(34)

Six Sigma—Doctrine

n

Six Sigma doctrine asserts:

5 Continuous efforts to achieve stable and predictable process results are of vital importance to business success.

5 Manufacturing and business processes have characteristics that can be defined, measured, analyzed, improved, and controlled.

5 Achieving sustained quality improvement requires commitment from the entire organization, particularly from top-level management.

5 Features that set Six Sigma apart from previous quality-improvement initiatives include:

g A clear focus on achieving measurable and quantifiable financial returns

from any Six Sigma project.

g An increased emphasis on strong and passionate management

leadership and support.

g A clear commitment to making decisions on the basis of verifiable data

(35)
https://en.wikipedia.org/wiki/Six_Sigma

References

Related documents

The fault detection is the testing technique which is applied to detect faults from the software or from the input test cases. The Mutation is the algorithm which is