mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-04-05 01:29:28 +02:00
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:
@@ -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. }}
|
||||
|
||||
|
||||
@@ -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/>
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
[[Property:title|User interface basics]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|c2b8d8b6-661c-1cb5-a991-388e8374c696]]
|
||||
EiffelStudio includes a Metric tool based on the previously defined metric theory. This tool provides many facilities like computing measures over a project, including smaller scopes, defining new metrics according to users needs and handling archives to compare projects
|
||||
* [[Metric Evaluation Panel|Metric Evaluation panel]]
|
||||
* [[Detailed Result Panel|Detailed Result panel]]
|
||||
* [[Metric Definition Panel|Metric Definition panel]]
|
||||
* [[Metric History Panel|Metric History panel]]
|
||||
* [[Metric Archive Panel|Metric Archive panel]]
|
||||
|
||||
|
||||
|
||||
EiffelStudio includes a Metric tool based on the previously defined metric theory. This tool provides many facilities like computing measures over a project, including smaller scopes, defining new metrics according to users needs, and handling archives to compare projects.
|
||||
|
||||
|
||||
@@ -11,23 +11,40 @@ The following figure shows the layout of the metric definition panel:
|
||||
|
||||
[[Image:interface6|Metric definition panel]]
|
||||
|
||||
|
||||
Let's have a look at the buttons in the main toolbar which is highlighted in the following figure:
|
||||
|
||||
|
||||
[[Image:interface7|Main toolbar buttons]]
|
||||
|
||||
[[Image:metrics-tool--new-metric-icon|New metric]]
|
||||
|
||||
[[Image:metrics-tool--new-document-icon|Clone metric]]
|
||||
[[Image:metrics-tool--new-metric-icon|New metric]] New metric
|
||||
Use this button to create a new metric. First you need to select a metric type (basic, linear or ratio) and then you may need to select a unit (only for basic and linear metrics). Once a metric is created, its unit cannot be changed.
|
||||
|
||||
[[Image:metrics-tool--general-remove-icon|Remove metric]]
|
||||
|
||||
[[Image:metrics-tool--general-save-icon|Save metric]]
|
||||
[[Image:metrics-tool--new-document-icon|Clone metric]] Clone selected metric to a new metric
|
||||
If you want to define a new metric but the new metric is quite similar to an existing one, then you can use this button to simplify your work: just clone an existing one and do the modifications.
|
||||
|
||||
[[Image:metrics-tool--command-send-to-external-editor-icon|External editor]]
|
||||
|
||||
[[Image:metrics-tool--general-open-icon|Reload metrics]]
|
||||
[[Image:metrics-tool--general-remove-icon|Remove metric]] Remove metric
|
||||
Remove current selected metric. This button will be insensitive when the current selected metric is a predefined metric.
|
||||
|
||||
|
||||
[[Image:metrics-tool--general-save-icon|Save metric]] Save metric
|
||||
To make your newly defined or modified metric take effect, you need to save it first. This button will be insensitive when the current selected metric is a predefined metric.
|
||||
|
||||
|
||||
[[Image:metrics-tool--command-send-to-external-editor-icon|External editor]] Open user-defined metric file in external editor
|
||||
Metrics are stored in XML format, and this button opens the XML file of user-defined metrics in a an external editor which can be specified in the preferences.
|
||||
|
||||
|
||||
[[Image:metrics-tool--general-open-icon|Reload metrics]] Reload metrics
|
||||
This button reloads all metrics including predefined and user-defined metrics. It's useful when you modify the metric XML file in an external editor and want the changes to have an effect without restarting EiffelStudio.
|
||||
|
||||
|
||||
[[Image:metrics-tool--metric-export-to-file-icon|import]] Import metrics
|
||||
This button opens a dialog to backup or import metrics.
|
||||
|
||||
[[Image:metrics-tool--metric-export-to-file-icon|import]]
|
||||
|
||||
==Define New Metrics==
|
||||
|
||||
|
||||
@@ -7,29 +7,43 @@ Lets have a look at the buttons in the main toolbar highlighted in the following
|
||||
|
||||
[[Image:interface14|Metric history panel]]
|
||||
|
||||
[[Image:metrics-tool--debug-run-icon|Run history]]
|
||||
|
||||
[[Image:metrics-tool--debug-stop-icon|Stop history]]
|
||||
[[Image:metrics-tool--debug-run-icon|Run history]] Recalculate history<br/>Recalculate selected metric history items
|
||||
|
||||
[[Image:metrics-tool--metric-run-and-show-details-icon|Keep detailed result]]
|
||||
|
||||
[[Image:metrics-tool--metric-unit-assertion-icon|Check warning]]
|
||||
[[Image:metrics-tool--debug-stop-icon|Stop history]] Stop history recalculation<br/>Stop running metric history recalculation.
|
||||
|
||||
[[Image:metrics-tool--general-reset-icon|Remove detailed result]]
|
||||
|
||||
[[Image:metrics-tool--general-remove-icon|Remove history]]
|
||||
[[Image:metrics-tool--metric-run-and-show-details-icon|Keep detailed result]] Keep detailed metric result<br/>
|
||||
If this option is enabled, the detailed metric result will be kept and will be available after a metric history recalculation.
|
||||
|
||||
[[Image:metrics-tool--metric-group-icon|Show tree]]
|
||||
|
||||
[[Image:interface16|Hide old metrics]]
|
||||
[[Image:metrics-tool--metric-unit-assertion-icon|Check warning]] Check metric history warnings<br/>If this option is enabled, specified metric history warnings will be checked.
|
||||
|
||||
[[Image:select-all|select all history]]
|
||||
|
||||
[[Image:deselect-all|deselect all history]]
|
||||
[[Image:metrics-tool--general-reset-icon|Remove detailed result]] Remove detailed metric result<br/>Remove detailed metric result, if any.
|
||||
|
||||
[[Image:select-recalculatable|select all calculatable]]
|
||||
|
||||
[[Image:deselect-recalculatable|deselect all calculatable]]
|
||||
[[Image:metrics-tool--general-remove-icon|Remove history]] Remove metric history item<br/>Remove selected metric history items.
|
||||
|
||||
|
||||
[[Image:metrics-tool--metric-group-icon|Show tree]] Display tree view<br/>If this option is enabled, the metric history items will be displayed in a tree view.
|
||||
|
||||
|
||||
[[Image:interface16|Hide old metrics]] Hide old metric history<br/>Hide metric history items which are calculated before the specified number of days
|
||||
|
||||
|
||||
[[Image:select-all|select all history]] Select All<br/>Select all recorded metric history items.
|
||||
|
||||
|
||||
[[Image:deselect-all|deselect all history]] Deselect All<br/>Deselect all recorded metric history items.
|
||||
|
||||
|
||||
[[Image:select-recalculatable|select all calculatable]] Select all recalculatable history items<br/>Select all recalculatable metric history items. A metric history item is recalculatable if its associated metric is valid and its specified input domain is valid.
|
||||
|
||||
|
||||
[[Image:deselect-recalculatable|deselect all calculatable]] Deselect all recalculatable history items<br/>Deselect all recalculatable metric history items.
|
||||
|
||||
|
||||
==Recalculate Metric History==
|
||||
|
||||
|
||||
Reference in New Issue
Block a user