| <?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.5/uma.ecore" |
| xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="_17Ve8Nd6EdmIm-bsRSNCgw" |
| name="architecture_notebook,_17PYUNd6EdmIm-bsRSNCgw" guid="_17Ve8Nd6EdmIm-bsRSNCgw" |
| authors="Chris Doyle, Mark Dickson" changeDate="2007-03-03T09:34:09.111-0800" |
| changeDescription="(Mark Dickson) formatted & applied changes from Chris Doyle |Major re-|Major re-write in line with Supporting Requirements checklist" |
| version="1.3"> |
| <mainDescription><p> The items in this checklist represent good practices for creating and communicating 
 |
| a robust architecture. It may not be possible to address every item, and you 
 |
| may be able to address some items to only a limited extent. In these cases, 
 |
| be sure that there are good reasons for only partially addressing an item or 
 |
| not addressing an item at all. </p>
 |
| <p> Architectural revisions can occur every day. Use this checklist regularly 
 |
| to ensure that the results are robust, consistent, and understandable. Make 
 |
| the architecture good enough for the specific goals being addressed by using 
 |
| this checklist to identify areas that have been skipped, ignored, or not sufficiently 
 |
| addressed. </p></mainDescription> |
| <sections xmi:id="_LqpmkCALEduY2JH31Kkn-A" name="Is the overall structure of the architecture clear?" |
| guid="_LqpmkCALEduY2JH31Kkn-A"> |
| <sectionDescription><ul>
 |
| <li>
 |
| Are the key abstractions adequately defined?
 |
| </li>
 |
| <li>
 |
| Have&nbsp;necessary&nbsp;<a class="elementLink" href="./../../../openup/guidances/concepts/arch_mech_2932DFB6.html" guid="_mzxI0A4LEduibvKwrGxWxA">Architectural Mechanism</a>s been identified and described?
 |
| </li>
 |
| <li style="list-style: none">
 |
| <ul>
 |
| <li>
 |
| Is it clear when&nbsp;each mechanism should be applied?
 |
| </li>
 |
| <li>
 |
| Is there a clearly defined design pattern in place to support&nbsp;each mechanism?
 |
| </li>
 |
| <li>
 |
| Does each mechanism adequately address the requirements it is intended to meet?
 |
| </li>
 |
| </ul>
 |
| </li>
 |
| <li>
 |
| Does the architecture divide the system’s responsibilities into well-defined subsystems with well-defined
 |
| interfaces?
 |
| </li>
 |
| <li>
 |
| Does the packaging approach reduce complexity and improve understanding?
 |
| </li>
 |
| <li>
 |
| Is subsystem and package partitioning and layering logically consistent?
 |
| </li>
 |
| <li>
 |
| Are packages defined to be highly cohesive within the package, while the packages themselves are loosely coupled?
 |
| </li>
 |
| <li>
 |
| Are all of the subsystem components for the iteration identified?
 |
| </li>
 |
| <li>
 |
| Do the dependencies between subsystems and packages correspond to dependency relationships between the contained
 |
| classes?
 |
| </li>
 |
| <li>
 |
| Do the classes in a subsystem support the services identified for the subsystem?
 |
| </li>
 |
| <li>
 |
| Are the number and types of components reasonable?
 |
| </li>
 |
| </ul></sectionDescription> |
| </sections> |
| <sections xmi:id="_pWBfQMm9EduiAPR4gd-qxA" name="Have the supporting requirements been adequately addressed?" |
| guid="_pWBfQMm9EduiAPR4gd-qxA"> |
| <sectionDescription><ul>
 |
| <li>
 |
| Does the architecture adequately address&nbsp;the global Functional requirements?
 |
| </li>
 |
| <li>
 |
| Does the architecture adequately address&nbsp;the&nbsp;Usability requirements?
 |
| </li>
 |
| <li>
 |
| Does the architecture adequately address&nbsp;the&nbsp;Reliability requirements?
 |
| </li>
 |
| <li>
 |
| Does the architecture adequately address&nbsp;the&nbsp;Performance requirements?
 |
| </li>
 |
| <li>
 |
| Does the architecture adequately address&nbsp;the&nbsp;Supportability requirements?
 |
| </li>
 |
| <li>
 |
| Does the architecture adequately address&nbsp;the other needs identified in the&nbsp;<a class="elementLink" href="./../../../openup/workproducts/supporting_requirements_spec_7D9DD47C.html" guid="_BVh9cL-CEdqb7N6KIeDL8Q">Supporting Requirements Specification</a>?
 |
| </li>
 |
| </ul></sectionDescription> |
| </sections> |
| <sections xmi:id="_PHv_kCALEduY2JH31Kkn-A" name="Can the architecture be delivered by the team?" |
| guid="_PHv_kCALEduY2JH31Kkn-A"> |
| <sectionDescription><ul>
 |
| <li>
 |
| Does the component architecture provide a suitable basis for organizing the development teams?
 |
| </li>
 |
| <li>
 |
| Does each team have the skills required to implement their allocated components?
 |
| </li>
 |
| <li>
 |
| Are responsibilities divided well between teams?
 |
| </li>
 |
| <li>
 |
| Do all team members share the same understanding of the architecture as the one presented by the architect?
 |
| </li>
 |
| <li>
 |
| Can team members understand enough from the architecture to successfully design and code their allocated
 |
| components?
 |
| </li>
 |
| </ul></sectionDescription> |
| </sections> |
| <sections xmi:id="_A8m2YMm7EduiAPR4gd-qxA" name="Is architecture showing appropriate stability?" |
| guid="_A8m2YMm7EduiAPR4gd-qxA"> |
| <sectionDescription><ul>
 |
| <li>
 |
| If in Inception, is&nbsp;a candidate&nbsp;architecture emerging?
 |
| </li>
 |
| <li>
 |
| If in Elaboration, is the architecture beginning to stabilize?
 |
| </li>
 |
| <li>
 |
| If in Construction, is the architecture generally stable?
 |
| </li>
 |
| <li>
 |
| If in Transition, is the architecture very stable?
 |
| </li>
 |
| </ul></sectionDescription> |
| </sections> |
| <sections xmi:id="_aOKkwMm8EduiAPR4gd-qxA" name="In general, does the architecture seem sensible?" |
| guid="_aOKkwMm8EduiAPR4gd-qxA"> |
| <sectionDescription><ul class="noindent">
 |
| <li>
 |
| Is the&nbsp;architecture&nbsp;at an appropriate level of detail, given the objectives?
 |
| </li>
 |
| <li>
 |
| Are concepts&nbsp;handled in the simplest way possible?
 |
| </li>
 |
| <li>
 |
| Can the&nbsp;architecture easily evolve,&nbsp;so that&nbsp;expected changes can be easily accommodated?
 |
| </li>
 |
| 
 |
| <li> Has the&nbsp;architecture been overly structured to handle unlikely change 
 |
| at the expense of simplicity and comprehensibility? (Hint: "Yes" to this question 
 |
| is not good.)</li>
 |
| 
 |
| <li> Are the key assumptions and decisions that the&nbsp;architecture is based 
 |
| on documented and visible to reviewers and those who will use the architecture? 
 |
| </li>
 |
| <li>
 |
| Is the architecture description current?
 |
| </li>
 |
| <li>
 |
| Have the design guidelines been followed?
 |
| </li>
 |
| <li>
 |
| Are all technical risks either mitigated or addressed in a contingency plan?
 |
| </li>
 |
| </ul></sectionDescription> |
| </sections> |
| </org.eclipse.epf.uma:ContentDescription> |