MIRA.requirements_analysis.html 9.26 KB
Newer Older
1
2
3
4
5
6
7
8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!--
 Documentation of MIRA - Model-based Integrated Requirements Analysis.
 
 @author becker
 @author $Author$
 @version $Rev$
Florian Hölzl's avatar
GREEN    
Florian Hölzl committed
9
 @ConQAT.Rating GREEN Hash: C0D573BFE573CC5E7E4A8C245713AC00
10
11
12
13
14
15
16
17
18
19
20
-->

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<title>MIRA - Creating a Requirements Analysis using AutoFOCUS3 (AF3)</title>
</head>
<body>

<h2><u><font color="#336699">MIRA - Model-based Integrated Requirements Analysis</font></u></h2>

21
<h3><font color="#336699">Creating a Requirements Analysis</font></h3>
22

23
To create a requirements analysis inside an empty new project, open the context menu of the project by right-clicking on the project and select <i>Requirement Analysis</i>.
24
25
26
27
28
29
30

<br><br>
<img src="./pictures/MIRA.NewAnalysis.png">
<br><br>

In the same way, you can add more requirements analyses to your project.

31
<h3><font color="#336699">Specifying Requirements</font></h3>
32
33
34

Once you have created a requirements analysis, you can specify the contained requirements.

35
36
37
To add a requirement, open the context menu of the requirement analysis. You can choose between a general new
<i>Requirement</i> and a specific kind of a requirements, a new <i>Use Case</i>. 
A <a href="MIRA.glossary.html">Glossary</a> contains all important terms.
38
39
40
41
42
43
44

<br><br>
<img src="./pictures/MIRA.NewRequirement.png">
<br><br>

<br><br>

45
Requirements consist of four respectively five sections:
46
47
<ul>
  <li><i>General</i>: Here all requirements management fields are located together with the fields describing the requirement informal.</li>
48
  <li><i>Images</i>: Here you can add images to the entry.</li>
49
50
51
52
53
54
55
56
57
  <li><i>Detail</i>: For every specialized requirements type (e.g. Use Case) the specific fields for this requirements type are shown in this tab.</li>
  <li><i>Related Requirements</i>: All relations between requirements are managed here.</li>
  <li><i>Comment</i>: This tab is for comments.</li>
</ul>

<br><br>
<img src="./pictures/MIRA.RequirementsSections.png">
<br><br>

58
59
60
61
62
<br><br>
For further description of the entry you can add pictures. To add a picture click on the <i>Add</i> button and choose an image file in the dialog. 
You can add as many pictures as you want.
When you add a picture it is copied into the <i>images</i> folder in the <i>AF3-Project-Directory</i>, next to your .af3_20 file. 
If you want to send the model file to someone else, you should also send the <i>images</i> folder. 
Daniel Ratiu's avatar
Daniel Ratiu committed
63
64
Each image has a description field which can be used to give information about the picture and to number the pictures. 
If you click on an added picture, it should be displayed in full resolution in your systems picture viewer.  <br>
65
66
<br><br>

67
Requirements can be connected with each other using different relation types. The connection is set in the section <i>Related Requirements</i>. 
68
69
70
71
72

Relation types are:
<ul>
  <li><i>is refined with</i> - <i>refines</i>: specify refinement relations between requirements</li>
  <li><i>is contradicting to</i>: requirements are unresolvable contradicting each other</li>
73
  <li><i>is overridden by</i> - <i>overrides</i>: requirement replaces the other requirement</li>
74
75
76
77
78
79
80
81
82
83
84
85
86
  <li><i>is conflicted with</i>: a conflict between two requirements was detected, which has to be analyzed further</li>
</ul>

Differentiation of relation type in static relation types and process-dependent relation types:
<ul>
  <li>static relation types are conserved after the refining process</li>
  <li>process-dependent relation types like <i>is conflicted with</i> have to be removed during the refining process</li>
</ul>

Static relation types:
<ul>
  <li><i>is refined with</i> - <i>refines</i></li>
  <li><i>is contradicting to</i></li>
87
  <li><i>is overridden by</i> - <i>overrides</i></li>
88
89
90
91
92
93
94
95
96
97
98
</ul>

Process-dependent relation types:
<ul>
  <li><i>is conflicted with</i></li>
</ul>

<br><br>
<img src="./pictures/MIRA.RequirementTypes.png">
<br><br>

99
100
101
102
103
<h4><font color="#336699">Formal Specification</font></h4>

A requirement can be formalized to a partial formal model, a <i>Formal Specification</i>. 
To create a formal specification open the context menu of the requirement and 
select <i>Formal Specification</i>. 
104
105
106
107
108

<br><br>
<img src="./pictures/MIRA.NewFormalSpecification.png">
<br><br>

109
Within a formal specification different kind of models like component architectures, state machines, etc. can be used. 
Daniel Ratiu's avatar
Daniel Ratiu committed
110
111
112
For more information see <i>Modeling and simulation</i>. Formal specifications can be used as input for the generation of test cases 
<a href="model_testing.html">Model-based Testing</a>. The conformance of the architecture implementation with the formalized requirements 
can be tested as described in <a href="refinement_testing.html">Refinement Testing</a>. 
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132

<br><br>
<img src="./pictures/MIRA.FormalSpecification.png">
<br><br>

<h4><font color="#336699">Use Cases</font></h4>

<i>Use Cases</i> are a special type of requirements. Following Jackson, a use case describes the behavior of the machine to achieve the desired 
effect on the environment. Every use case contains one ore more <i>Scenarios</i> describing the interaction of the machine with its environment. 
Use cases and scenarios should describe the system under construction as a black-box.
<br><br>

Every use case has a <i>Detail</i> section with typical use case information. This information can be connected to the architecture.
Every scenario can be described as structured text or as a formal <a href="MSC.html">MSC</a>. 
Additionally, every use case can be formalized to a <i>Formal Specification</i>.

<br><br>
<img src="./pictures/MIRA.UseCase.png">
<br><br>

Sabine Teufl's avatar
Help    
Sabine Teufl committed
133
<h4><font color="#336699">Change the Requirements Type</font></h4>
Chen Wenwen's avatar
Chen Wenwen committed
134

Sabine Teufl's avatar
Help    
Sabine Teufl committed
135
To change from <i>Use Cases</i> to <i>Requirement</i> or inversely, click the combo box labeled <i>Type</i>, and then choose the desired type.
Chen Wenwen's avatar
Chen Wenwen committed
136
137
138
139
140
141
142
143
144
145
146
<br><br>
<img width="192" height="89" src="./pictures/MIRA.ChangeUseCase1.png">
<img width="192" height="89" src="./pictures/MIRA.ChangeUseCase2.png">
<br><br>

Attention please, changing the requirements type deletes all information that is not contained in the new requirements type. To continue, click the button "OK" on the confirm dialog. 
<br><br>
<img src="./pictures/MIRA.ChangeDialog.png">
<br><br>


147
<h3><font color="#336699">Requirement Hierarchy</font></h3>
148
149

The button <i>Show Requirement Hierarchy</i> opens a view, 
Sabine Teufl's avatar
Sabine Teufl committed
150
151
where all relations of the current requirement are shown, divided by relation types. 
Double-clicking on the requirements in the hierarchy opens the corresponding requirement in the editor.
152
153
154
155
156

<br><br>
<img src="./pictures/MIRA.ShowRequirementHierarchy.png">
<br><br>

157
<h3><font color="#336699">Export</font></h3>
Sabine Teufl's avatar
Sabine Teufl committed
158

159
<h4>Report </h4>
160

Sabine Teufl's avatar
Sabine Teufl committed
161
The button <i>Export Report</i> opens a dialog, where the actual requirement can be saved as a htm- and doc-file (doc-files: Windows only!). 
162
163
The button <i>Export Report Summarization</i> saves all requirements into a report.

164
<h4>ReqIF</h4>
Sabine Teufl's avatar
Sabine Teufl committed
165
166
167

The button <i>Export in ReqIF standard</i> opens a dialog, where all textual requirements descriptions and their hierarchy can be exported to ReqIF-format. 

168
<br><br>
Sabine Teufl's avatar
Sabine Teufl committed
169
<img src="./pictures/MIRA.ReqIfExport.png">
170
171
<br><br>

172
<h3><font color="#336699">Verification</font></h3>
173

Daniel Ratiu's avatar
Daniel Ratiu committed
174
MIRA offers support for automatic verification of requirements. Furthermore, it also offers the possibility to save the results of manual checks. 
175
176
177
178

<br><br>

The button <i>Verify</i> verifies the actual requirement automatically with predefined checks. 
Kisslinger's avatar
Kisslinger committed
179
Requirements, that do not pass verification, are marked with a decoration and details on the results are shown in the warning list of the <i>Model Markers</i>.
180
181
182
183
184
185
186

<br><br>
<img src="./pictures/MIRA.Verification.png">
<br><br>

<br><br>

Sabine Teufl's avatar
Sabine Teufl committed
187
During the creation of each requirement automatically a list of checks is created in a second tab called <i>Checklist</i>. 
188
189
190
191
192
193
The list is extracted from a XML-Template, which can be modified. At the moment, this XML-Template is contained in the source-folder of MIRA.

<br><br>
<img src="./pictures/MIRA.Checklist.png">
<br><br>

194
<h3><font color="#336699">Connection of use case and component architecture</font></h3>
195

Daniel Ratiu's avatar
Daniel Ratiu committed
196
In the section <i>Detail</i> of a use case, a simple connection between use case and component architecture can be done:
197
<ul>
Daniel Ratiu's avatar
Daniel Ratiu committed
198
199
200
  <li>setting the scope of the use case to be a component of the component architecture</li>
  <li>connecting the trigger of the use case with an input port of the component architecture</li>
  <li>connecting the pre-condition, min. guarantee, success guarantee of the use case with states of a state automaton of the component architecture</li>
201
202
</ul>

Florian Rosenberger's avatar
Florian Rosenberger committed
203
When the scope of a use case is connected with a component, then the reference to this use case is also listed below the component. So you can easily see which use cases belong to one component.
Sabine Teufl's avatar
   
Sabine Teufl committed
204
Double-clicking on the reference opens the corresponding Requirement-Editor.
205
206
207
208
209

<br><br>
<img src="./pictures/MIRA.ConnectionToArchitecture.png">
<br><br>

210
<h3><font color="#336699">Requirements overview</font></h3> 
211

212
By double-clicking on the requirement analysis node, an overview over all requirements opens.
213
214
215
216
217

<br><br>
<img src="./pictures/MIRA.RequirementsOverview.png">
<br><br>

218
The list of requirements can be sorted by clicking on the column headers of the requirements overview. 
Kisslinger's avatar
Kisslinger committed
219

220
You can filter the requirements by inserting a filter text in the filter section. Double-clicking on a column opens the corresponding requirement.
Kisslinger's avatar
Kisslinger committed
221

222
223
224

</body>
</html>