On the Representation of Intangible Objects such as Software in a Measurement Context

26
On the Representation of Intangible Objects such as Software in a Measurement Context Miguel Lopez Valérie Paulus Grégory Seront Simon Alexandre

description

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? - PowerPoint PPT Presentation

Transcript of On the Representation of Intangible Objects such as Software in a Measurement Context

Page 1: On the Representation of Intangible Objects such as Software in a Measurement Context

On the Representation of Intangible Objects such as Software in a Measurement

ContextMiguel Lopez

Valérie Paulus

Grégory Seront

Simon Alexandre

Page 2: On the Representation of Intangible Objects such as Software in a Measurement Context

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?

Page 3: On the Representation of Intangible Objects such as Software in a Measurement Context

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?

Page 4: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 5: On the Representation of Intangible Objects such as Software in a Measurement Context

Different Software Models

In the literature, a lot of languages for representing software can be found. UML Graphs Source Code ….

Page 6: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 7: On the Representation of Intangible Objects such as Software in a Measurement Context

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?

Page 8: On the Representation of Intangible Objects such as Software in a Measurement Context

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 A Set B

Page 9: On the Representation of Intangible Objects such as Software in a Measurement Context

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,…

Page 10: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 11: On the Representation of Intangible Objects such as Software in a Measurement Context

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 A Set A’ Set B

Page 12: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 13: On the Representation of Intangible Objects such as Software in a Measurement Context

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,…

Page 14: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 15: On the Representation of Intangible Objects such as Software in a Measurement Context

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

Page 16: On the Representation of Intangible Objects such as Software in a Measurement Context

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,…

Page 17: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 18: On the Representation of Intangible Objects such as Software in a Measurement Context

Entity, Meta-model, & Attribute

For example, measuring the functional size of a software product with Cosmic-FFP: Entity: Requirements Document Attribute: Functional size

Page 19: On the Representation of Intangible Objects such as Software in a Measurement Context

Entity, Meta-model, & Attribute

Meta-Model: Cosmic-FFP

Page 20: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 21: On the Representation of Intangible Objects such as Software in a Measurement Context

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?

Page 22: On the Representation of Intangible Objects such as Software in a Measurement Context

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.

Page 23: On the Representation of Intangible Objects such as Software in a Measurement Context

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

Page 24: On the Representation of Intangible Objects such as Software in a Measurement Context

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?

Page 25: On the Representation of Intangible Objects such as Software in a Measurement Context

Conclusion

Does the entity meta-model a critical activity in software measurement?

Must this activity be explored in details?

Page 26: On the Representation of Intangible Objects such as Software in a Measurement Context

Questions

?