260 likes | 427 Views
On the Representation of Intangible Objects such as Software in a Measurement Context. Miguel Lopez Valérie Paulus Grégory Seront Simon Alexandre. Questions. Are software so intangible that measurement of such abstract beings is impossible? Is the nature of software so impalpable?
E N D
On the Representation of Intangible Objects such as Software in a Measurement Context Miguel Lopez Valérie Paulus Grégory Seront Simon Alexandre
Questions • Are software so intangible that measurement of such abstract beings is impossible? • Is the nature of software so impalpable? • How can we formulate the software representation problem in order to allow measurement?
More Questions • Is it relevant to measure software representations in order to make decisions concerning this software? • Are the representations of software relevant and suitable for measurement?
Software Models • To measure, we need a representation of the software because of its intangible nature. • The representation of a software is called a model.
Different Software Models • In the literature, a lot of languages for representing software can be found. • UML • Graphs • Source Code • ….
Software Meta-Model • The concepts and their relations used for building a model are explained in a meta-model. • So, meta-models exist for UML, graphs, and so on.
Software Meta-Model Problem • How can we select a relevant and suitable meta-model in measurement context? • Is that always necessary to use meta-models in order to measure a software? • For an external measure, do we have to work with meta-models?
Meta-model for Measurement • Measure Definition: • Mapping between an empirical set onto a mathematical set. • A mapping between an empirical set of objects A and a mathematical set of objects B. Set B Set A
Set A Problem • Set A is a set of empirical objects. • By definition, tangible objects. • Are software tangible objects? • Is all the software intangible? • Or, just some parts, some attributes? • Some software attributes are intangible. • Coupling, cohesion, complexity,efficiency,…
Set A Problem • So, to perceive those attributes, they need representation or model. • Set A is replaced by a set A’ which contains representations of objects of set A. • The transformation A -> A’ transforms intangible objects into tangible objects.
Set A Problem • Does the transformation A -> A’ keeps the structure of Set A? • When measuring an element of A’, are we measuring the corresponding element of A? Set B Set A’ Set A
Build Set A’ • To build the set of representations or models, we need to define the elements used for modeling. • These elements are formalized in a meta-model.
Meta-Model • So, the meta-model must be relevant and suitable in regard with: • Measurement Goal • Entity: products, projects, process • Attribute: properties of the entity: efficiency, coupling,…
Measurement Method • A measurement method must at least define: • Its goal • The considered entity • The attribute to be measured • In regard with these three elements, a suitable and relevant meta-model must be built or selected.
Entity & Meta-model • In this presentation, only the entity software product is considered. • The meta-modelisation aims at modeling the entity. • Several types of software product entities exist: • Requirements Document • Design Document • Source Code • Executable
Entity & Meta-model • The meta-model depends on the type of entity. • For example: • Design Document: • Meta-model of UML: class, relations,… • Meta-model of graphs: nodes, edges,…
Entity, Meta-model, & Attribute • But, the meta-model also depends on the type of attribute. • In regard with the attribute, some meta-models are more relevant and suitable than others.
Entity, Meta-model, & Attribute • For example, measuring the functional size of a software product with Cosmic-FFP: • Entity: Requirements Document • Attribute: Functional size
Entity, Meta-model, & Attribute • Meta-Model: Cosmic-FFP
How to verify the meta-model? • Two methods: • Expert-based: the relevance and the suitability of the meta-model is evaluated by a set of experts. • Empirical: the relevance and the suitability is of the meta-model is evaluated within a set of entities coming real projects.
How to verify the meta-model? • Problems with these two methods: • Expert-based: • Reliability of the experts judgment. • Representativity of the experts sample. • Empirical: • What does mean suitable and relevant in operational terms? • How can we make representative samples?
Advantages to explicit the meta-model • An explicit meta-model allows to better understand the entity and the attribute to be measured. • To meta-model an entity like design, source code in terms of a given attribute (coupling,…), it is important to understand and clearly define these terms.
Advantages to explicit the meta-model • An explicit meta-model allows to identify early in the measurement method, the limits of measurement: • Cosmic-FFP meta-model does not take into account the complexity of the data movement. • So, the software with complex algorithms are not sized by COSMIC-FFP
Meta-model for all types of measurement • Meta-model in external measures are often implicit. • It is not necessary to explicit the meta-model of the entity for external measures. • Response time: which is the meta-model of the entity?
Conclusion • Does the entity meta-model a critical activity in software measurement? • Must this activity be explored in details?
Questions • ?