West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing...
-
Upload
aubrie-christal-griffith -
Category
Documents
-
view
219 -
download
1
description
Transcript of West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing...
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
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
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
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
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
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
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
West Virginia
University
External Quality Attributes
Maintainability Corrective Maintenance , Adaptive Maintenance , Preventive Maintenance, and Perfective Maintenance
Directly related to change propagation and requirements propagation
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
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
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
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
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
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.
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).
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
West Virginia
University
Questions...