<?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="-EytH4BCNGiHF6pZrp8ISCw" name="new_concept,_eFElAOK2EdqHEo0wLIc5jg" guid="-EytH4BCNGiHF6pZrp8ISCw" authors="Mark Dickson" changeDate="2008-10-15T08:24:39.000-0700" changeDescription="First Draft" version="1.0">
  <mainDescription>&lt;p>&#xD;
    Architecturally significant requirements are those requirements that play an important role in determining the&#xD;
    architecture of the system.&amp;nbsp; Such requirements require special attention. Not all requirements have equal&#xD;
    significance with regards to the architecture.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Architecturally significant requirements&amp;nbsp;are a subset of the requirements that need to be satisfied before the&#xD;
    architecture can be considered &quot;stable&quot;. Typically, these are requirements that are technically challenging,&#xD;
    technically constraining, or central to the system's purpose. Furthermore, the system will generally be more sensitive&#xD;
    to changes&amp;nbsp;against architecturally significant requirements, so identifying and communicating this subset will&#xD;
    help others understand the potential implications of change.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Requirements can be explicitly or implicitly architecturally significant. Explicitly significant requirements are often&#xD;
    overtly technical in nature, such as performance targets; the need to interface to other systems; the number of users&#xD;
    that must be supported; or security requirements. Implicitly significant requirements may define the essence of the&#xD;
    functional behaviour of the system (for example, making a purchase from an on-line store).&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Deciding whether a specific requirement is architecturally significant is often a matter of judgment. The selection of&#xD;
    requirements that are considered &quot;architecturally significant&quot; is driven by several key driving factors:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        The benefit of the requirement to stakeholders: critical, &lt;b>important&lt;/b>, or &lt;b>useful&lt;/b>.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The architectural impact of the requirement: &lt;b>none&lt;/b>, &lt;b>extends&lt;/b>, or &lt;b>modifies&lt;/b>. There may be critical&#xD;
        requirements that have little or no impact on the architecture and low-benefit requirements that have a big impact.&#xD;
        Low-benefit requirements with big architectural impacts should be reviewed by the project manager for possible&#xD;
        removal from the scope of the project.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The risks to be mitigated: performance, availability of a product, and suitability of a component.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The completion of the coverage of the architecture.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Other tactical objectives or constraints, such as demonstration to the user, and so on.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    There may be two requirements that hit the same components and address similar risks. If you implement A first, then B&#xD;
    is not architecturally significant. If you implement B first, then A is not architecturally significant. Thus these&#xD;
    attributes can depend on the order the requirements are realized, and should be re-evaluated when the order changes, as&#xD;
    well as when the requirements themselves change.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The following are good examples of Architecturally Significant Requirements:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        The system must record every modification to customer records for audit purposes.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The system must respond within 5 seconds.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The system must&amp;nbsp;deploy on Microsoft Windows XP and Linux.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The system must encrypt all network traffic.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        The ATM system must dispense cash on&amp;nbsp;demand&amp;nbsp;to validated account holders with sufficient cleared funds.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Architecturally significant requirements also describe key behaviors that the system needs to perform.&amp;nbsp; Such&#xD;
    scenarios represent the important interactions between key abstractions.and should be identified as architecturally&#xD;
    significant requirements. For example, for an on-line book store describing the way the software handles the scenarios&#xD;
    for ordering a book and checking out the shopping cart are often enough to communicate the essence of the architecture.&#xD;
&lt;/p>&lt;br />&#xD;
&lt;br />&#xD;
&lt;br /></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
