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.

Slides:



Advertisements
Similar presentations
Advanced Information Systems Development (SD3043)
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Object-Oriented Software Development CS 3331 Fall 2009.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
The Architecture Design Process
Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Evaluating the impact of refactorings on internal and external quality indicators.
CSE 300: Software Reliability Engineering Topics covered: Software metrics and software reliability.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Software Process and Product Metrics
Methodology for Architectural Level Reliability Risk Analysis Lalitha Krothapalli CSC 532.
Software Architecture Risk Assessment (SARA) Tool Khader Basha Shaik Problem Report Defense Master of Science in Computer Science Lane Department of Computer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
CS 4310: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
CPIS 357 Software Quality & Testing
IV&V Facility 1 FY2002 Initiative: Software Architecture Metrics Hany Ammar, Mark Shereshevsky, Nicholay Gradetsky, Diaa Eldin Nassar, Walid AbdelMoez,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
Software Architecture Metrics Hany Ammar, Mark Shereshevsky, Ali Mili, Walid Rabie and Nicholay Gradetsky Lane Department of Computer Science & Electrical.
Software System Engineering: A tutorial
CSE 303 – Software Design and Architecture
Research Heaven, West Virginia 1 FY 2004 Initiative: Risk Assessment of Software Architectures Hany Ammar, Katerina Goseva-Popstojanova, Ajith Guedem,
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Reliability SEG3202 N. El Kadri.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Measuring UML Conceptual Modeling Quality Samira SI-SAID CHERFI* Jacky AKOKA* Isabelle COMYN-WATTIAU* * CEDRIC - CNAM – Paris (France)
SOFTWARE DESIGN.
Software Measurement & Metrics
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
This chapter is extracted from Sommerville’s slides. Text book chapter
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
Version control – Project repository, version management capability, make facility, issue/bug tracking Change control Configuration audit – compliments.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
West Virginia University Towards Practical Software Reliability Assessment for IV&V Projects B. Cukic, E. Gunel, H. Singh, V. Cortellessa Department of.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
IV&V Facility 1 FY 2002 Initiative IV&V of UML Hany Ammar, Katerina Goseva-Popstojanova, V. Cortelessa, Ajith Guedem, Diaa Eldin Nassar, Walid AbdelMoez,
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Research Heaven, West Virginia FY2003 Initiative: Hany Ammar, Mark Shereshevsky, Walid AbdelMoez, Rajesh Gunnalan, and Ahmad Hassan LANE Department of.
April 28, 2003 Early Fault Detection and Failure Prediction in Large Software Systems Felix Salfner and Miroslaw Malek Department of Computer Science Humboldt.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Software Architecture Risk Assessment (SARA) Tool Khader Shaik, Wallid Abdelmoez, Dr. Hanny Ammar Lane Department of Computer Science and Electrical Engineering,
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
CSE 303 – Software Design and Architecture
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Prof. Hany H. Ammar, CSEE, WVU, and
Software Measurement: A Necessary Scientific Basis By Norman Fenton Presented by Siv Hilde Houmb Friday 1 November.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
Emilia Mendes Professora Visitante CAPES/ Associate Professor Univ. Auckland, NZ. Introdução a Métricas, Qualidade e Medição de Software.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Software Metrics and Reliability
A Hierarchical Model for Object-Oriented Design Quality Assessment
Model-Driven Analysis Frameworks for Embedded Systems
Modeling Architectures
Chapter 13 Quality Management
Introduction to Pattern Oriented Analysis and Design (POAD)
Chapter 19 Technical Metrics for Software
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Methodology for Architectural Level Reliability Risk Analysis
State of The Art and Future Directions Dept. of Computer Science
Presentation transcript:

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 Computer Sc. and Electrical Engineering Department West Virginia University 6 th ISSAT Conference on Reliability and Quality in Design August 2000

West Virginia University Outlines  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 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

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 University Objective  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,Testa bility, Reliabiblity, Computable Metrics: Coupling, cohesion, complexity, etc. Error Propagation, ChangePropagation, Requirements Propagation impacts computed for Analytical Definitions Mathematic al Formula have Historical Data MeasurementValues produce Validation Analytical 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

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  Reusability Genericity 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 University External 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 University Defining Quantitative Factors  Focus on quantitative factors for software architectures  Error Propagation The 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 Propagation The 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 University Conclusions  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...