mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-04-04 09:09:22 +02:00
Author:halw
Date:2008-09-26T17:52:50.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@50 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
[[Property:uuid|ef89f3c3-180e-3390-74b5-d6d537921453]]
|
||||
Some of our metrics will be elementary and some composite. An elementary metric is measured directly from the product or a project record:
|
||||
|
||||
{{note| '''Elementary_metric''': <br/>
|
||||
{{definition|Elementary product metric, elementary process metric|<br/>
|
||||
- An '''elementary product metric''' is a product metric whose values (integers) indicate the number of occurrences of a certain pattern in a product. <br/>
|
||||
- An '''elementary process metric''' is a process metric whose values reflect measurements drawn directly from project records. }}
|
||||
|
||||
@@ -13,11 +13,11 @@ Elementary metrics are provided by default by the metric tool. There is no means
|
||||
|
||||
From these elementary metrics we may define composite ones:
|
||||
|
||||
{{note| '''Composite metric ''': A '''composite metric''' is a metric whose values are defined by a mathematical formula involving other metrics (elementary, or previously defined composite metrics). }}
|
||||
{{definition|Composite metric|A '''composite metric''' is a metric whose values are defined by a mathematical formula involving other metrics (elementary, or previously defined composite metrics). }}
|
||||
A later section will introduce a number of operations for defining composite metrics out of elementary ones.
|
||||
Again we may distinguish between product and process:
|
||||
|
||||
{{note| '''Composite product metric, composite process metric:''' <br/>
|
||||
{{definition|Composite product metric, composite process metric|<br/>
|
||||
- A '''composite product metric''' is a composite metric defined entirely in terms of product metrics. <br/>
|
||||
- A '''composite process metric''' is a composite metric whose definition involves one or more process metrics. }}
|
||||
|
||||
|
||||
@@ -6,11 +6,10 @@ If you want to perform measurements on a system that you are building, the scope
|
||||
It would be impractical in this case to require tools that have access to as much information on external systems as on your own. All we really need is a record of previous measurements on these systems. This explains the fifth scope type, Archive: beyond the scope of the current system, all we require to define a scope is a '''measurement archive''', or just "archive" for short. This is simply a file (or part of a file) that retains, in a suitable format (XML-based), the results of measurements made earlier on one system. The file can be local or accessible as a URL on the Internet.
|
||||
|
||||
The ability to use a measurement archive as a scope means that:
|
||||
*
|
||||
A project may set up a measurement archive as the record of its measures.
|
||||
|
||||
*
|
||||
A department or company may set up a measurement archive for all projects on which it keeps metric information.
|
||||
* A project may set up a measurement archive as the record of its measures.
|
||||
|
||||
* A department or company may set up a measurement archive for all projects on which it keeps metric information.
|
||||
|
||||
* The provider of the development environment, such as Eiffel Software, may publish a set of measurement archives giving metric information for reference projects, such as the EiffelBase library (designed in part as a showcase of Eiffel technology). Eiffle Software indeed intends to include a '''metrics''' directory, with a set of measurement archives for reference tools and libraries, in forthcoming releases of EiffelStudio and at [http://www.eiffel.com/ http://www.eiffel.com/] .
|
||||
|
||||
|
||||
@@ -3,13 +3,12 @@
|
||||
[[Property:uuid|5e76bd87-b7a7-8307-0e9e-ca9bb31db0f9]]
|
||||
You will want to rely not on a single metric but on a combination of metrics:
|
||||
|
||||
{{note| '''Metric framework''': A '''metric framework''' is a set of definitions of metrics. }}
|
||||
|
||||
{{definition|Metric framework|A '''metric framework''' is a set of definitions of metrics. }}
|
||||
|
||||
|
||||
Any metric work should be backed by a theory:
|
||||
|
||||
{{note| '''Metric theory''': A '''metric theory''' is a combination of: <br/>
|
||||
{{definition|Metric theory|A '''metric theory''' is a combination of: <br/>
|
||||
- A metric framework <br/>
|
||||
- A set of definitions of attributes (qualitative or quantitative) <br/>
|
||||
- A mapping from the framework to the set of attributes, representing the hypothesis that each metric is a good predictor of the associated attribute }}
|
||||
|
||||
@@ -10,7 +10,7 @@ and so on. Many combinations of these properties may be worth counting on their
|
||||
|
||||
To avoid this we must identify a subset of elementary metrics as '''raw metrics''': metrics whose results are counted directly. "Number of features in a class" is a raw metric. From a raw metric, we may then derive other elementary metrics by applying '''selection criteria''' such as "Is this feature an attribute?" or "Is this feature exported?" Here are the definitions:
|
||||
|
||||
{{note| '''Raw metric, selection criterion, derived metric:''' <br/>
|
||||
{{definition|Raw metric, selection criterion, derived metric|<br/>
|
||||
An elementary metric is either '''raw''' or '''derived'''. A '''selection criterion''' for a raw metric is a property, with a fixed set of possible values (two or more), characterizing the patterns or events being counted by the metric. <br/>
|
||||
A '''derived metric''' is an elementary metric defined from a raw metric by counting only the patterns satisfying a certain combination of its selection criteria. }}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[[Property:uuid|303fb469-9f2b-d7cc-55e7-d657fb87b8fe]]
|
||||
Every metric has a scope:
|
||||
|
||||
{{note| '''Scope of a metric''': <br/>
|
||||
{{definition|Scope of a metric|<br/>
|
||||
The '''scope''' of a metric is defined as follows: <br/>
|
||||
- For a raw product metric, the type of product over which the metric is counted, such as: a feature, a class, a group, an archive built for a given system to make it possible to compare systems. <br/>
|
||||
- For a raw process metric, the type of process on which the metric is measured, such as analysis, documentation, entire project etc. <br/>
|
||||
@@ -14,7 +14,7 @@ The '''scope''' of a metric is defined as follows: <br/>
|
||||
|
||||
This notion also applies to measures:
|
||||
|
||||
{{note| '''Scope of a measure''': <br/>
|
||||
{{definition|Scope of a measure|<br/>
|
||||
The '''scope''' of a measure is defined as follows: <br/>
|
||||
- For an elementary measure (the application of an elementary metric, raw or derived), the set of products or processes to which the associated metric has been applied to yield the measure. <br/>
|
||||
- For a composite measure, the union of (recursively) the scopes of its constituent measures. }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
[[Property:uuid|c8793405-c91d-c04b-10ed-07739728f697]]
|
||||
The metric archive panel is used to calculate and restore metric archives and to do metric archive comparison.
|
||||
|
||||
==Metric Archiv Calculation==
|
||||
==Metric Archive Calculation==
|
||||
|
||||
Let's have a look at the buttons and options related to metric archive calculataion:
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@ Let's first have a look at the buttons in the main toolbar, see the following fi
|
||||
[[Image:metrics-tool--debug-run-icon|Defining an input domain]] Start metric evaluation <br/>
|
||||
Press this button to start evaluating the currently selected metric.
|
||||
|
||||
[[Image:metrics-tool--debug-stop-icon|Defining an input domain]] Stope metric<br/>
|
||||
[[Image:metrics-tool--debug-stop-icon|Defining an input domain]] Stop metric<br/>
|
||||
Press this button to terminate a running metric evaluation.
|
||||
|
||||
[[Image:metrics-tool--metric-send-to-archive-icon|Defining an input domain]] Send last result to metric history<br/>
|
||||
After a metric evaluation this button will be sensitive and clicking it will record the evaluated metric as well as it's input domain and result in the metric history. This faciliates to evaluate it again and let's you compare different metric runs.
|
||||
After a metric evaluation this button will be sensitive and clicking it will record the evaluated metric as well as its input domain and result in the metric history. This facilitates evaluating it again and lets you compare different metric runs.
|
||||
|
||||
[[Image:metrics-tool--metric-run-and-show-details-icon|Defining an input domain]] Keep detailed result when evaluating metric<br/>
|
||||
Normally, evaluating a metric will give you a number as result, but sometimes, you want to investigate into those items which make up that value. For example, evaluating '''Classes''' metric over the base library gives you 242, which means there are 242 classes in the base library, and sometimes, you want to know which they are. With this option enabled, you'll have a detailed result listed in the detailed result panel after a metric evaluation. This option only has effect when evaluating basic metrics, because the detailed result has no meaning for derived metrics (linear or ratio metrics) in general. Suppose you have a linear metric defined as 5 * Classes, then the notion of detailed result has no meaning. Another use of this option is for performance: keeping a detailed result can be quite expensive in some cases, such as when you calculate the metric '''Lines of code''' for a large system, which may result in hundred of thousands of lines in the result. So turning it off in such as case may be a good idea.
|
||||
|
||||
Reference in New Issue
Block a user