West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing...

17
West Virginia University A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili Sherif Yacoub, Hany H. Ammar, and Ali Mili Computer Sc. and Electrical Engineering Department West Virginia University [email protected], [email protected],[email protected] 6 th ISSAT Conference on Reliability and Quality in Design August 2000

description

West Virginia University Introduction  In building a model for a successful software measurement process, one has to address the following concerns: a) Distinguish between what we can measure and what we want to measure b) Conduct theoretical or empirical evaluation c) Defining the artifacts to be measured  In a model for software product quality, Dromey (TSE’95) distinguishes between (internal) product characteristics and (externally observable) quality attributes  Morasca and Briand in their theoretical framework for measuring software attributes (metrics’97), distinguish between characterizing (internal) software qualities and predicting (external) attributes

Transcript of West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing...

Page 1: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

A UML Model for Analyzing Software Quality

Sherif Yacoub, Hany H. Ammar, and Ali Mili Sherif Yacoub, Hany H. Ammar, and Ali MiliComputer Sc. and Electrical Engineering Department

West Virginia University [email protected], [email protected],[email protected]

6th ISSAT Conference on Reliability and Quality in Design

August 2000

Page 2: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

UniversityOutlines Introduction

Objective and Approach

The UML Model of Software Quality

External Quality Attributes

Quantitative factors

Computable metrics

Conclusions

Current and Future Work

Questions

Page 3: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

UniversityIntroduction In building a model for a successful software

measurement process, one has to address the following concerns:

a) Distinguish between what we can measure and what we want to measure

b) Conduct theoretical or empirical evaluation c) Defining the artifacts to be measured

In a model for software product quality, Dromey (TSE’95) distinguishes between (internal) product characteristics and (externally observable) quality attributes

Morasca and Briand in their theoretical framework for measuring software attributes (metrics’97), distinguish between characterizing (internal) software qualities and predicting (external) attributes

Page 4: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

Introduction

Fenton and Neil [Journal of Systems and Software, July 1999]

The credibility of metrics as a whole has been lowered because of the crude way in which these metrics have been used.

We need models that can handle the following range of features: diverse processes and products; genuine cause and effect relationships

Page 5: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

UniversityObjective Develop formal understanding of the

relationships between quality attributes, computable metrics, and quality factors

Approach Develop an Object-Oriented model using UML

• Define the objects in the software quality measurement model

• Define the relationships between these objects

Page 6: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

         

Product Artifacts Architecture,

Design, Code,

External Attributes: Maintainability,Testability, Reliabiblity,

Computable Metrics: Coupling, cohesion,

complexity, etc.

Error Propagation, ChangePropagation,

Requirements Propagation

impacts

computed for

Analytical Definitions

Mathematical Formula

have

have

Historical Data

MeasurementValuesproduce

ValidationAnalytical

Derivations

Quantified

 

The UML Model•McCall's model of software quality [McCall 1977],

Three-level hierarchy of software attributes

Page 7: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

The UML Model

Mathematical DefinitionsMathematical FormulaeAnalytical Relationship

Quantitative FactorsError PropagationChange PropagationRequirements Propagation

Empirical Validation

Mathematical Derivation

Historical DataError ReportsChange Reports

<<uses>>

External Quality AttributesMaintainabilityReusabilityReliabilityTestability

Computable MetricsEntropy-based couplingEntropy-based cohesion

Software ProductProduct Artifacts

Architecture SpecificationDesign ModelsCode

<<uses>>

Internal Quality AttributesCouplingCohesionComplexity

Impact

measured by

have

have have

Quant. Factors Measurements

produce

Measurements

produce

correlation

has

has

has

Page 8: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

External Quality Attributes

Maintainability Corrective Maintenance , Adaptive Maintenance , Preventive Maintenance, and Perfective Maintenance

Directly related to change propagation and requirements propagation

Page 9: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

External Quality Attributes

ReusabilityGenericity of a component, usage dependency, and requirements propagation between components Price and Demurjian [October 97], assumes that a set of related components in an architecture is more reusable if it has less dependencies to other parts of the system

Page 10: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

UniversityExternal Quality Attributes Reilability

The probability of occurrence of a fault, the probability of executing that fault to produce an error, and the probability that the error causes a failure

Directly related to error propagation as a quantitative factor

Page 11: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

UniversityDefining Quantitative Factors

Focus on quantitative factors for software architectures

Error PropagationThe error propagation from component A to

component B in system S, EP(A;B), is the mean of probability EPP (x; x') = P (B(x) B(x')| x x'), for all information x and x' in the channel X connecting A and B,

Error propagation from A to B reflects the likelihood that an error in unit A causes an error in unit B, given that A feeds information to B

Page 12: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

Defining Quantitative Factors

Change PropagationThe change propagation from A to B in S is the mean of probability CPP (A'; B') = P(B B' | A A' ^ S = S' ), for all units A' and B' Change propagation from A to B reflects the likelihood that a change in unit A requires a change in unit B in order to preserve the overall function of system S

Page 13: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

Defining Quantitative Factors

Requirements Propagation The requirements propagation from A to B in S is the mean of probability RPP(A' ; B' ; S' ) = P(B' B | A' A ^ S' S);

where S' is obtained from S by replacing A and B by (respectively) A' and B' , for all values of A' , B' and S' reflects the likelihood that a change of A to accommodate the new system requirement S' requires a change of B as well

Page 14: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

Defining Computable Metrics

Computable metrics are those that we can measure from a product artifact given well-defined mathematical formulae

Coupling, cohesion, and complexity are some of the most well-known and well defined computable metrics at the architecture level

coupling and cohesion can be used to assess the likelihood of error propagation, change propagation, and requirements propagation from one module to its neighbors.

Page 15: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

UniversityConclusions We proposed a UML model for software quality

measurement The model helps us to distinguish what we want

to measure (external attributes) and what we are able to measure (internal attributes),

Distinguish which product artifacts that we use in the measurement process

Distinguish between theoretical and empirical approaches to correlate computable metrics (such as coupling and cohesion) with quantifiable factors (such as error propagation and change propagation).

Page 16: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

Future Work

Establishing the analytical relationship between the Quantitative Factors and the Computable Metrics

Empirical Validation of the Proposed Metrics

Automate the computation of metrics from a formal description of the architecture

Page 17: West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.

West Virginia

University

Questions...