Author:admin

Date:2008-09-19T07:55:09.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@27 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2008-09-19 10:22:25 +00:00
parent c7f7178710
commit 4087eb614e
367 changed files with 390 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
[[Property:title|Attributes, metrics and measures]]
[[Property:weight|1]]
[[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. }}

View File

@@ -1,5 +1,6 @@
[[Property:title|Criterion References]]
[[Property:weight|12]]
[[Property:uuid|52790486-55e8-86dc-67d7-5530d1b342a3]]
==Text Criterion==
'''name_is'''<br/>

View File

@@ -1,5 +1,6 @@
[[Property:title|Domains]]
[[Property:weight|9]]
[[Property:uuid|128ecc21-9d82-d590-fc3e-d0fe52991ac1]]
A domain is a list of code elements, it can contain different kinds of code elements. A domain is used as input to a metric, as output of a metric to review some details, and as an argument passed to some criteria. Domain is used to specify scope.
==Domain Convention==

View File

@@ -1,5 +1,6 @@
[[Property:title|Elementary and composite metrics]]
[[Property:weight|4]]
[[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/>

View File

@@ -1,5 +1,6 @@
[[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]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Measurement archive]]
[[Property:weight|10]]
[[Property:uuid|e1e3e779-e4ca-faee-12b5-f47c8adde174]]
If you want to perform measurements on a system that you are building, the scopes of interest are the first four listed: Feature, Class, Cluster and System. Information on either of these scopes will be provided by the development environment (as with EiffelStudio 5.x); alternatively, you could get it simply by parsing the source of your system. But what if you also need quantitative data on other systems, if only for purposes of seeing how your results compare to the quantitative properties of other people's work?
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.

View File

@@ -1,5 +1,6 @@
[[Property:title|Metric framework and theory]]
[[Property:weight|3]]
[[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. }}

View File

@@ -1,5 +1,6 @@
[[Property:title|Predefined raw metrics]]
[[Property:weight|7]]
[[Property:uuid|12906fea-78e3-3539-27d7-83662829b59e]]
The environment should make it possible, for any project, to apply the elementary metrics in the following table, each with an associated unit and a one-identifier name. Each of the major divisions of the table starts with a raw metric, for example Classes, and, when appropriate, continues with selection criteria that yield derived metrics based on that raw metric, for example Deferred_classes.
{|
|-

View File

@@ -1,5 +1,6 @@
[[Property:title|Raw metrics and selection criteria]]
[[Property:weight|5]]
[[Property:uuid|99f51fd0-4439-08f5-9419-53c8771b50f8]]
Elementary metrics measure patterns whose occurrences (in a product or process) can be counted. We need to decompose this notion further to avoid an explosion of the number of elementary metrics. For example the features of a class can be classified along several lines:
* Some are attributes (object fields), others are routines (algorithms).
* Some are inherited from a parent, others immediate (defined in the class).

View File

@@ -1,5 +1,6 @@
[[Property:title|Scopes]]
[[Property:weight|8]]
[[Property:uuid|303fb469-9f2b-d7cc-55e7-d657fb87b8fe]]
Every metric has a scope:
{{note| '''Scope of a metric''': <br/>

View File

@@ -1,5 +1,6 @@
[[Property:title|Selection Criteria]]
[[Property:weight|6]]
[[Property:uuid|d492c7f5-71ec-ae04-c62b-6845f30ed762]]
A selection criterion is used to filter out candidate code elements and only leave and count those satisfied elements. For example, criterion is_deferred in a basic class metric is only satisfied when a candidate class is deferred. A selection criterion can have modifiers which indicate how the associated criterion will perform its filtering task. There are four kinds of modifiers, shown as follows:
* Text modifier - String text, and this text is called criterion text
* Domain modifier - Domain, and this domain is called criterion domain

View File

@@ -1,5 +1,6 @@
[[Property:title|Under the Hood - How metrics work]]
[[Property:weight|11]]
[[Property:uuid|4b81b16a-0c46-8d5a-c5b5-346ea01c58ee]]
This part explains how a product basic metric is calculated.
==Domain Transformation==

View File

@@ -1,5 +1,6 @@
[[Property:title|Units]]
[[Property:weight|2]]
[[Property:uuid|fa08d5aa-7ea4-e7bb-bb59-e4982a583976]]
Metrics will be expressed in units, such as Line (numbers of source lines) or Feature (number of features).
{{note| '''Unit rule:''' The definition of any metric must specify an associated unit. }}

View File

@@ -1,5 +1,6 @@
[[Property:title|Metrics tool]]
[[Property:weight|-5]]
[[Property:uuid|e76d1c3b-773f-c051-bd94-3272f3ccadc6]]
* [[Metric tool: Introduction|Introduction]]
* [[Requirements|Requirements]]
* [[Definitions|Definitions]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Requirements]]
[[Property:weight|1]]
[[Property:uuid|834b134f-b4a5-08a7-e41c-804c0954b008]]
All engineering disciplines other than software rely on quantitative approaches to design their products, organize the production process, and assess the results. Software engineering too can benefit from measuring relevant properties of its products and processes.
Measurements are not an end in themselves; they must be related to broader goals of software engineering:

View File

@@ -1,5 +1,6 @@
[[Property:title|Detailed Result Panel]]
[[Property:weight|1]]
[[Property:uuid|35018218-cf90-5aca-dc47-205bb351592e]]
The Detailed result panel is where detailed metric result and archive comparison result are displayed. In the following two figures, a detailed metric result and an archive comparison result are shown.
Detailed metric result:

View File

@@ -1,5 +1,6 @@
[[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]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Metric Archive Panel]]
[[Property:weight|4]]
[[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==

View File

@@ -1,5 +1,6 @@
[[Property:title|Metric Definition Panel]]
[[Property:weight|2]]
[[Property:uuid|5a778f15-cefe-182d-a296-545ee77d3028]]
In the metric definition panel, you can do the following:
* Manage user-defined metrics, such as defining new metrics and modify or remove existing ones. Metrics with a small lock in their icons are predefined metrics which cannot be changed or remvoed
* Import metrics from other systems

View File

@@ -1,5 +1,6 @@
[[Property:title|Metric Evaluation Panel]]
[[Property:weight|0]]
[[Property:uuid|c31fddbb-7421-fe4b-57d3-7eea32f5e9e0]]
The Metric Evaluation panel is the place to do metric evaluation. After selecting a metric from the "Select metric" area and setting an input domain in the "Setup input domain" area, you can click the run button to start metric evaluation. You can start metric evaluation with and empty input domain and the result will be always zero.
[[Image:interface1|Defining an input domain]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Metric History Panel]]
[[Property:weight|3]]
[[Property:uuid|373d7403-eb3a-3c05-787e-b4a8cb5848cb]]
The metric history panel lists all recorded metric evaluations. You can select them and reevaluate them to see the new value and if it differs from the old result.
Lets have a look at the buttons in the main toolbar highlighted in the following figure: