blob: f341e66910050fe5dcdf88b67635283d6347810c [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="-AJQLv2ldVv5KN9eUbdQe_g" name="new_guideline,_6jXzYNcKEdqz_d2XWoVt6Q" guid="-AJQLv2ldVv5KN9eUbdQe_g" changeDate="2006-05-01T03:33:21.000-0700" version="7.1.0">
<mainDescription>&lt;p>&#xD;
To write a good requirement, you must write it as a complete sentence, with a subject and a predicate (usually a verb).&#xD;
The subject&amp;nbsp;is an Actor, a stakeholder, the system under development, or a design entity that is related to the&#xD;
requirement. The predicate specifies a condition, action, or intended result that is done for, by, with, or to the&#xD;
subject.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Consistent use of the verb &lt;strong>to be&lt;/strong> solidifies the link between the subject and the predicate. Thus, you&#xD;
can analyze a requirement from a grammatical point of view.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Beware of lists, bullets, and words such as &lt;strong>all&lt;/strong>, &lt;strong>every&lt;/strong>, and &lt;strong>some&lt;/strong>.&#xD;
For example:&#xD;
&lt;/p>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The order entry clerk must be able to complete 10 customer orders in less than two hours.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;p>&#xD;
This requirement has a subject (the order entry clerk, who is an Actor), a specific and measurable end state (10&#xD;
customer orders completed), and a performance criterion (in less than two hours).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Follow these simple guidelines in writing any requirement. For consistency, these examples are all in the context of an&#xD;
aircraft. [[WAS: is used throughout.]] &lt;a class=&quot;elementlinkwithusertext&quot;&#xD;
href=&quot;./../../../core.tech.common.base/guidances/supportingmaterials/references.tech_6CCF393.html&quot;&#xD;
guid=&quot;_9ToeIB83Edqsvps02rpOOg&quot;>[TEL06]&lt;/a>&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Define one requirement at a time. &#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The pilot shall be able to control the aircraft's angle of climb with one hand.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The pilot shall be able to feel the angle of climb from the climb control.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Avoid conjunctions (and, or) that make multiple requirements.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;blockquote>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The navigator shall be able to view the aircraft's position relative to the route's radio beacons.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
The navigator shall be able to view the aircraft's position as estimated by inertial guidance.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/blockquote>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Avoid let-out clauses or words that imply options or exceptions (unless, except, if necessary, but).&#xD;
&lt;/li>&#xD;
&lt;li style=&quot;list-style: none&quot;>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The design shall provide a rear-facing seat for each cabin crew member.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Use simple, direct sentences.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
&lt;li style=&quot;list-style: none&quot;>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The pilot shall be able to see the airspeed indicator.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Use a limited (500-word) vocabulary, especially if your audience is international. &#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The airline shall be able to convert the aircraft from business to holiday charter use in less than 12&#xD;
hours&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;li style=&quot;list-style: none&quot;>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
&lt;strong>Note:&lt;/strong> There is no need to use words such as &lt;strong>reconfigured.&lt;/strong>&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Identify the type of user who needs each requirement.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
&lt;li style=&quot;list-style: none&quot;>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
The navigator shall be able to...&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Focus on stating what result you will provide for that type of user.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
&lt;li style=&quot;list-style: none&quot;>&#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
...view storm clouds by radar...&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Define verifiable criteria &#xD;
&lt;blockquote>&#xD;
&lt;p>&#xD;
...at least 100 miles ahead.&#xD;
&lt;/p>&#xD;
&lt;/blockquote>&#xD;
&lt;/li>&#xD;
&lt;/ul></mainDescription>
</org.eclipse.epf.uma:ContentDescription>