520 likes | 527 Views
Explore the Software Architecture Evaluation Model (SAEM) based on ISO standards, predicting product quality and user/developer views, involving stakeholders, metrics, and evaluation techniques.
E N D
A Survey on Software Architecture Analysis Methods Liliana Bobrica and Eila Niemela IEEE TOSE July 02
A Software Architecture Evaluation ModelSAEM Presented by: Jeff Hank, Ping Li, Zhihong Zeng Gregory Matthews, Yong Peng
Summary • SAEM is based on ISO/IEC 14598-1 quality evaluation model • SAEM implements this standard as a means of predicting quality of a product based on it’s SA. • SAEM Identifies quality attributes • External quality expresses the user’s view • Internal quality expresses the developer’s view
Presentation Outline • Context in terms of Dobrica’s Survey of SA Analysis Methods • Explain The Software Architecture Evaluation Model • Walkthrough a Quick Example • Evaluation of the SAEM as an SA Analysis Method
Scenarios Scenarios development Scenarios evaluation The framework for SA analysis methods comparison Specific Goal of the method Stakeholders involvement The evaluation technique The number of considered Quality attributes Questioning techniques Software architecture Description Reusability of the existent knowledge Quality attribute Analytic model Measuring techniques Method’s validation Metrics Main elements of Dobrica’s comparison framework
Goal of SAEM • Establishes the basis for the SA quality evaluation. • Attempts to predict the quality of the final system. the assessment of quality is based upon developers ability to match the needs and desires of the user.
Quality Model (SAEM) • The number of attributes can vary with the quality model selected and the attributes deemed important within that model
Reusability of the Existent Knowledge (SAEM) • Not Applied but assumed to exist in order to define the expected internal attributes and their target values.
Stakeholders Involvement (SAEM) • Experts’ knowledge and a company’s accumulated data are used in the mapping of quality requirements to internal attributes (user specified qualities mapped to the internal attributes that must satisfy the user quality requirements) • The development team specifies all the quality requirements
The Evaluation Technique (SAEM) • Measuring technique using intrinsic or defined metrics
SA Description (SAEM) • Considered from two viewpoints, the developer and the user • The SA is considered either an intermediate or final product in the software system process • The intrinsic properties can only be detected by measuring techniques applied to the SA representation formalized through an ADL (Architecture Description Language)
ADL( Architectural Description Language) • What is ADL • Is a kind of language used to describe a software architecture • ( An ADL may be a formal or semi-formal descriptive language, a graphics language, or include both) • Why use ADL • * Lies in the ability to rigorously specify an architecture so that it can be analyzed • * to improve software quality and correctness • How many different ADLs? • * A lot • * The link of different ADLs
SAEM’s Validation • SAEM has not been validated on any software system • Duenas’ paper on SAEM suggests the method was to be validated on a telecommunication package, but no results have ever been published. Nor have any other examples of the application of SAEM been published.
Elements Required for SA Quality Evaluation • From ISO/IEC 14598-1 • The quality model • The method for evaluation • The metrics • The supporting tools • SAEM implements this standard as a means of predicting quality of a product based on it’s SA.
Software Architecture Evaluation Model • The Quality Model: ISO/IEC 9126-1 • The Quality Specification: ISO 8402 and/or Quality Function Deployment (QFD) • The Metrics Specification: from intrinsic metrics and/or defined by Goal-Question-Metric (GQM) • The Quality Evaluation: data collection, measurement, analysis of results
1: The Quality Model: ISO 9126-1 • What is it? • ISO 9126-1is the software product evaluation standard from the International Organization for Standardization. This international standard defines six characteristics that describe, with minimal overlap, software quality. • What is the benefit? • ISO 9126-1 intends to eliminate any misunderstanding between purchaser and supplier.
Elements of the ISO 9126-1 Quality Reference Model • Functionality • Reliability • Usability • Efficiency • Maintainability • Portability
Functionality Functionality is the set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.
Reliablility Reliability is the set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time.
Usability Usability is the set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users.
Efficiency Efficiency is the set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions.
Maintainability Maintainability is the set of attributes that bear on the effort needed to make specified modifications.
Portability Portability is the set of attributes that bear on the ability of software to be transferred from one environment.
2: Quality Specification: ISO 8402 • The quality specification contains the totality of the characteristics bearing on the product’s ability to satisfy the stated and implied needs. • The user view is expressed in the external quality specification. • The developer is express in the internal quality specification.
Quality Specification: QFD Quality Function Deployment (QFD) is a structured approach to defining customer needs or requirements and translating them into specific plans to produce products to meet those needs. The "voice of the customer" is the term to describe these stated and unstated customer needs or requirements. The voice of the customer is captured in a variety of ways: direct discussion or interviews, surveys, focus groups, customer specifications, observation, warranty data, field reports, etc. This understanding of the customer needs is then summarized in a product planning matrix or "house of quality". These matrices are used to translate higher level "what's" or needs into lower level "how's" - product requirements or technical characteristics to satisfy these needs.
QFD ( Quality Function Deployment) What is QFD Is a systematic process for motivation a business to focus on its customers Why use QFD * to improve the communication of customer wants throughout the organization * to improve the completeness of specifications and to make them traceable directly to customer wants and needs What are the basic tools of QFD * Project Roadmaps, Documents, Lists and Matrices What are the approaches to QFD * Four-Phase approach: uses a QFD matrix to translate Customer wants into Product Characteristics * Matrix of Matrices: used to a address a wide variety of development issues * etc.
3: Metrics Specification • The Metrics Specification must contain: • The selected measure for each quality characteristic • A measurement scale • The set of methods for measurement • Divided into external and internal metrics specification • Metrics can be determined with a tool such as the Goal-Quality-Metric method
External Metrics Specification • Purpose: Provide data for the evaluation of SA as a product itself, focusing on its usage during development. • Metrics: Have to be evaluated as part of the working environment for the intended usage. Eg. Mean time for analysis = total analysis times / number of analyses
Internal Metrics Specification • Purpose: Provide data for the SW product evaluation regardless of its environment and is used to evaluate product quality before its usage. • Metrics: Special elements: Eg. Data encryption ratio = number of encrypted components / specified number of components requiring encryption Intrinsic properties: Eg. Size, complexity, coupling, modularity, cohesion.
GQM (Goal-Question–Metric) GQM: Used to define measurement on the software project, process, and product in such a way that 1) resulting metrics are tailored to the organization and its goal, 2) resulting measurement data play a constructive and instructive role in the organization and 3) metrics and their interpretation reflect the values and the viewpoints of the different groups affected (e.g., developers, users, operators). Three steps: 1. to define the goal in terms of purpose, perspective and environment 2. to establish the questions that indicate the attributes related with the goal 3. to answer each question and proposal new existing metrics.
GQM ( Goal-Question-Metrics) 2 What are the GQM phases *The Planing phase, during which the project for measurement application is selected, defined, characterized, and planned, resulting a project plan. *The Definition phase, during which the measurement programs is defined (goal, questions, metrics and hypotheses are defined) and documented. *The Data collection phase, during which the actual data collection takes place, resulting in collected data. *The Interpretation phase, during which the collected data is processed with respect to the defined metrics into measurement results, that provide answers,to the defined questions, after which goal attainment can be evaluated.
4: Quality Evaluation • Data collection, measurement, analysis of results • End result: the measurement result can be used as feedback for the improvement of the SA development process.
Example • Select the quality model and the characteristics of interest • Define the sub-characteristics in terms of the external and internal views • Define the attributes to measure the internal and external characteristics • Define the metrics for the attributes • Select the target values for the metrics • Perform the quality evaluation on the measured values
1. Select the quality model and the characteristics of interest:ISO 9126-1
2. Define the sub-characteristics in terms of the external and internal views: ISO8402
3. Define the attributes to measure the internal and external characteristics
Analysis of SAEM • Is SAEM useful? On paper, SAEM would appear useful in demonstrating a quantifiable level of SA quality. However, in practice, it’s never been used.
Analysis of SAEM • What’s good about SAEM? • It’s adaptable • Uses established standards and proven analysis tools such as ISO documents, QFD, GQM
Analysis of SAEM • What’s bad about SAEM? • SAEM has never been validated and therefore not used
In Conclusion SAEM does not establish optimal values for the measured quality attributes, but just formalizes a framework providing the means to measure these values and predict the quality of the final product from the SA evaluation.
REFERENCES • J.C. Duenas, W. L. de Oliceira, and J.A. de la Puente, “A Software Architecture Evaluation Model ”, Proc. Second Int’l ESPRIT ARES Workshop. Pp.148-157, Feb.1998 • http://www.isaca.org.za/Iso9126.htm • http://www3.sqi.gu.edu.au/~dannyp/SQM/lectures/lw2a.pdf • http://www.qfdi.org/ • http://ivs.cs.uni-magdeburg.de/sw-eng/us/java/GQM/link4.shtmlvv • http://www.npd-solutions.com/qfdsteps.html
Evaluation and Comparison 5 methods