Author:halw

Date:2008-09-26T02:51:29.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@46 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2008-09-26 02:51:29 +00:00
parent 4f7b1b97bb
commit ea60447d34
25 changed files with 107 additions and 90 deletions

View File

@@ -3,36 +3,33 @@
[[Property:uuid|4e35583c-25e8-63e7-2c11-ea4d3ed2e2a3]]
The most general notion is "attribute":
{{note| '''Attribute''': An '''attribute''' is a property, qualitative or quantitative, of software products or processes. }}
{{definition|Attribute|An '''attribute''' is a property, qualitative or quantitative, of software products or processes. }}
<!--break-->
We may distinguish between the product and process cases:
{{note| '''Product attribute, process attribute''': A '''product attribute''' is an attribute that characterizes a software product or set of products. A '''process attribute''' is an attribute that characterizes a software-related process, such as development, maintenance, documentation, management, or multiple instances of such a process. }}
{{definition|Product attribute, process attribute|A '''product attribute''' is an attribute that characterizes a software product or set of products. A '''process attribute''' is an attribute that characterizes a software-related process, such as development, maintenance, documentation, management, or multiple instances of such a process. }}
Examples of attributes include reliability (a product attribute, non-quantitative) and total project cost (process, quantitative).
A metric is simply a quantitative attribute:
{{note| '''Metric''': A '''metric''' is an attribute whose values are numbers (integers or reals), expressed relative to a certain '''unit''' specified as part of the metric definition. }}
{{definition|Metric|A '''metric''' is an attribute whose values are numbers (integers or reals), expressed relative to a certain '''unit''' specified as part of the metric definition. }}
Examples of metrics include the number of source lines of a program (product) and the total cost of a project (process). The metric tool provides by default a set of metrics, they are available in the Metric Evaluation tab of the metric tool
Attributes other than metrics will be called "qualitative":
{{note| '''Qualitative attribute''': A '''qualitative attribute''' is an attribute other than a metric. }}
{{definition|Qualitative attribute|A '''qualitative attribute''' is an attribute other than a metric. }}
An example of qualitative attribute is the reliability of a software product.
The "process" vs. "product" distinction carries over to metrics:
{{note| '''Product metric, process metric''': A metric is a '''product metric''' if it is a product attribute, a '''process metric''' if it is a process attribute. }}
{{definition|Product metric, process metric|A metric is a '''product metric''' if it is a product attribute, a '''process metric''' if it is a process attribute. }}
"Relevance", as defined in the previous section, suggests that the purpose of metrics is to help us gain information about attributes that are of direct interest to us. Often these will be qualitative; for example we may want to estimate the reliability of our software. Metrics provide us with numerical values that can serve to assess or predict such attributes.
Applying a metric will give us measures:
{{note| '''Measure''':A '''measure''' is the value of a metric for a certain process or product. }}
{{definition|Measure|A '''measure''' is the value of a metric for a certain process or product. }}

View File

@@ -62,11 +62,11 @@
'''Applicable on:''' Class, Feature<br/>
'''Remark:''' This criterion will evaluate to True if candidate class (or feature) is descendant of any (if more than one are possible) of the class (or feature) specified in the criterion domain.<br/>
For example, in a class metric,
{{note|ancestor_is {<eiffel>STRING_8</eiffel>}}}
{{sample|ancestor_is {<eiffel>STRING_8</eiffel>} }}
<br/>
will evaluate to True when a candidate class is a descendant of class <eiffel>STRING_8</eiffel>.<br/>
In a class metric,
{{note|ancestor_is {<eiffel>LINKED_LIST</eiffel>, <eiffel>DS_LINKED_LIST</eiffel>} }}
{{sample|ancestor_is {<eiffel>LINKED_LIST</eiffel>, <eiffel>DS_LINKED_LIST</eiffel>} }}
will evaluate to True when a candidate class is a descendant of either <eiffel>LINKED_LIST</eiffel> or <eiffel>DS_LINKED_LIST</eiffel>.
'''proper_ancestor_is'''<br/>
@@ -201,6 +201,7 @@ only_current_verision modifier is a boolean modifier, if it's True, when the cri
'''is_implementors_of'''<br/>
'''Syntax:''' is_implementors_of {domain}<br/>
'''Applicable on:''' Feature<br/>
'''Remark:''' This criterion will evaluate to True if the candidate feature is an implementer of some features listed in criterion domain.<br/>

View File

@@ -1,20 +1,7 @@
[[Property:title|Definitions]]
[[Property:weight|2]]
[[Property:uuid|a562c37f-843c-cbbc-def5-32cda604f269]]
* [[Definitions: Introduction|Introduction]]
* [[Attributes, metrics and measures|Attributes, metrics and measures]]
* [[Units|Units]]
* [[Metric framework and theory|Metric frame work theory]]
* [[Elementary and composite metrics|Elementary and composite metrics]]
* [[Raw metrics and selection criteria|Raw metrics and selection criteria]]
* [[Selection Criteria|Selection Criterion]]
* [[Predefined raw metrics|Predefined raw metrics and predefined selection criteria]]
* [[Scopes|Scopes]]
* [[Domains|Domains]]
* [[Measurement archive|Measurement archives]]
* [[Under the Hood - How metrics work|Under the Hood - How Metrics Work]]
* [[Criterion References|Selection Criteria Reference]]
The metric tool needs a consistent metric theory on which to rely. Indeed, metrics are notoriously subject to abuse and we must be really accurate when defining metrics and related notions.
This section introduces a set of definitions essential to handle the metric tool.