blob: 6f0a3def3a29f507fb655d4363c0bc4d8ada6e89 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<!-- VERSION rmc:7.1.0 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<!-- START NON-TRANSLATABLE -->
<title>\openup_basic\tasks\develop_arch.xmi</title>
</head>
<!-- WARNING: do not modify the generated comments in this file below this line. They are used as markers for the import process. -->
<body>
Element Name: develop_arch.xmi<br/><br/>
<!-- END NON-TRANSLATABLE -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: presentationName<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:presentationName,_0gRJgMlgEdmt3adZL5Dmdw CRC: 514934396 -->Develop the Architecture<!-- END:presentationName,_0gRJgMlgEdmt3adZL5Dmdw -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: briefDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:briefDescription,_0gRJgMlgEdmt3adZL5Dmdw CRC: 3868901055 -->Make concrete decisions about the architecture to provide guidance and direction to the development work for the iteration.<!-- END:briefDescription,_0gRJgMlgEdmt3adZL5Dmdw -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: mainDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:mainDescription,_rUis8LBKEdm7Eph_l9Cn9w CRC: 2181898083 --><p>
This task&nbsp;builds on&nbsp;the work&nbsp;performed during <a class="elementLink"
href="./../../openup_basic/tasks/analyze_arch_reqs,_0f-1oMlgEdmt3adZL5Dmdw.html" guid="_0f-1oMlgEdmt3adZL5Dmdw">Analyze
the Architectural Requirements</a>&nbsp;to produce a concrete approach for the main development work to follow.
</p>
<p>
The objective is to resolve the overarching issues which affect the design and development activity for the current
iteration. These are:
</p>
<ul>
<li>
To specify&nbsp;common mechanisms or patterns to be used.
</li>
<li>
To&nbsp;specify what use will be made of existing software assets and how they will integrate with the overall
solution.
</li>
<li>
To&nbsp;specify what new software needs to be developed.
</li>
<li>
To ensure that the appropriate hardware and software resources are&nbsp;specified to support the development and
testing of the solution.
</li>
<li>
To ensure that the architecture is useful to and used by the project team.
</li>
</ul>
<p>
The technical decisions&nbsp;taken as part of this task&nbsp;are concrete and unambiguous. Capture architectural
decisions in the <a class="elementLink"
href="./../../openup_basic/workproducts/architecture_notebook,_0XAf0MlgEdmt3adZL5Dmdw.html"
guid="_0XAf0MlgEdmt3adZL5Dmdw">Architecture Notebook</a>. Make sure that this is communicated across the team.
</p>
<p>
This task is applied iteratively; iterations after the first will need to take account of the <a class="elementLink"
href="./../../openup_basic/workproducts/design,_0WuL8slgEdmt3adZL5Dmdw.html"
guid="_0WuL8slgEdmt3adZL5Dmdw">Design</a>&nbsp;and <a class="elementLink"
href="./../../openup_basic/workproducts/build,_0YuXEMlgEdmt3adZL5Dmdw.html"
guid="_0YuXEMlgEdmt3adZL5Dmdw">Build</a>&nbsp;products that have been developed so far.
</p><!-- END:mainDescription,_rUis8LBKEdm7Eph_l9Cn9w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: keyConsiderations<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:keyConsiderations,_rUis8LBKEdm7Eph_l9Cn9w CRC: 608248401 --><p>
The architect should perform this task&nbsp;through collaboration with the whole&nbsp;team to promote consensus and a
common understanding of the overall solution. The architect should be working to coordinate and guide the technical
activities of the team, rather than seeking to do all the work alone.&nbsp;The architect should place emphasis&nbsp;on
involving&nbsp;the developer(s) throughout this task.
</p><!-- END:keyConsiderations,_rUis8LBKEdm7Eph_l9Cn9w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: purpose<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:purpose,_rUis8LBKEdm7Eph_l9Cn9w CRC: 1093268120 --><p>
Provide a skeletal design to enable more&nbsp;comprehensive design activities to be performed coherently by the team.
</p><!-- END:purpose,_rUis8LBKEdm7Eph_l9Cn9w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_P28vkMP3EdmWKcx6ixEiwg CRC: 1090065480 -->Identify architectural priorities<!-- END:name,_P28vkMP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_P28vkMP3EdmWKcx6ixEiwg CRC: 3577363164 --><p>
Determine&nbsp;the&nbsp;priorities for this iteration of&nbsp;architecture work.&nbsp;Balance the objectives for the
current iteration against the overall project objectives, ensuring that the architecture can support current and future
needs.
</p><!-- END:sectionDescription,_P28vkMP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_0qoQ8CikEduQBKSg5n118w CRC: 249519268 -->Refine architectural mechanisms<!-- END:name,_0qoQ8CikEduQBKSg5n118w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_0qoQ8CikEduQBKSg5n118w CRC: 1838413154 --><p>
Refine&nbsp;each architectural mechanism into a <a class="elementLink"
href="./../../openup_basic/guidances/concepts/design_mechanism,_w2ACwA4LEduibvKwrGxWxA.html"
guid="_w2ACwA4LEduibvKwrGxWxA">Design Mechanism</a> by looking at the requirements in the context of the current
iteration. Include each architecturally significant&nbsp;scenario in scope. Look for commonality across scenarios and
propose common components and patterns for their solution. Work with the developers and analysts&nbsp;to gain consensus
on&nbsp;the architecture mechanisms.
</p><!-- END:sectionDescription,_0qoQ8CikEduQBKSg5n118w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_QtKuoCilEduQBKSg5n118w CRC: 852188111 -->Identify business patterns<!-- END:name,_QtKuoCilEduQBKSg5n118w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_QtKuoCilEduQBKSg5n118w CRC: 4180485019 --><p dir="ltr" style="MARGIN-RIGHT: 0px">
The architecture of the system can often be best&nbsp;communicated by showing how it handles important areas business
behaviour.
</p>
<p dir="ltr" style="MARGIN-RIGHT: 0px">
See <a class="elementLink" href="./../../openup_basic/guidances/concepts/business_pattern,_Z53x0BapEduSTJywppIxVQ.html"
guid="_Z53x0BapEduSTJywppIxVQ">Business Pattern</a>. Work with the stakeholders to assure the business patterns are
based on&nbsp;sound knowledge.
</p><!-- END:sectionDescription,_QtKuoCilEduQBKSg5n118w -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_Vdln8MP3EdmWKcx6ixEiwg CRC: 617336826 -->Identify reuse opportunities<!-- END:name,_Vdln8MP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_Vdln8MP3EdmWKcx6ixEiwg CRC: 4144782941 --><p dir="ltr" style="MARGIN-RIGHT: 0px">
Leverage reuse of existing components by evaluating their interfaces and the behavior that they provide. Reuse
components when their interfaces are similar or match the interfaces of components you would need to develop from
scratch. If not similar, modify the newly identified interfaces so you improve the fit with existing components
interfaces.
</p>
<p dir="ltr" style="MARGIN-RIGHT: 0px">
Work with developers to gain consensus on the suitability of using existing components.
</p><!-- END:sectionDescription,_Vdln8MP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_G_k1kBaqEduSTJywppIxVQ CRC: 3203302437 -->Identify architecturally significant design elements<!-- END:name,_G_k1kBaqEduSTJywppIxVQ -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_G_k1kBaqEduSTJywppIxVQ CRC: 1102330509 --><p align="left">
Refine the key abstractions to decide on the important design elements (such as classes and&nbsp;subsystems)&nbsp;that
make up the architecture, and provide at least a name and brief description for each. Add them to the <a
class="elementLink" href="./../../openup_basic/workproducts/design,_0WuL8slgEdmt3adZL5Dmdw.html"
guid="_0WuL8slgEdmt3adZL5Dmdw">Design</a>. Gain consensus with the developers on architecturally significant design
choices.
</p><!-- END:sectionDescription,_G_k1kBaqEduSTJywppIxVQ -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_xIIVkMUbEdu5GrwIlTJV7g CRC: 3066678315 -->Map the software to the hardware<!-- END:name,_xIIVkMUbEdu5GrwIlTJV7g -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_xIIVkMUbEdu5GrwIlTJV7g CRC: 81186899 -->Map the architecturally significant design elements to the target deployment environment. Work with hardware and network
specialists to ensure that the hardware is sufficient to meet the needs of the system; and that any new hardware is
available in time.<!-- END:sectionDescription,_xIIVkMUbEdu5GrwIlTJV7g -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_LsyLkBaqEduSTJywppIxVQ CRC: 302179484 -->Define development architecture and test architecture<!-- END:name,_LsyLkBaqEduSTJywppIxVQ -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_LsyLkBaqEduSTJywppIxVQ CRC: 1956169730 --><p>
Ensure that the development and test architectures are defined.&nbsp;Note any architecturally significant differences
between these environments and work with the team to devise strategies to mitigate any risks these may introduce.
</p><!-- END:sectionDescription,_LsyLkBaqEduSTJywppIxVQ -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_Zlw-QMP3EdmWKcx6ixEiwg CRC: 1717202689 -->Validate the architecture<!-- END:name,_Zlw-QMP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_Zlw-QMP3EdmWKcx6ixEiwg CRC: 949711322 --><p>
Verify that the architecture decisions are appropriate for their purpose.&nbsp;
</p>
<p>
Development work should be performed to&nbsp;produce a&nbsp;<a class="elementLink"
href="./../../openup_basic/workproducts/build,_0YuXEMlgEdmt3adZL5Dmdw.html" guid="_0YuXEMlgEdmt3adZL5Dmdw">Build</a>
that shows that the software architecture is viable. This should provide the definitive basis for validating the
suitability&nbsp;of the architecture.&nbsp;As the software&nbsp;should be developed iteratively, more than one
increment of the build may be required to prove the architecture.&nbsp;During the early stages of the project (up to
the end of <a class="elementLinkWithUserText"
href="./../../openup_basic/deliveryprocesses/elaboration_phase_iteration,_0Spa4BOKEduCNqgZdt_OaA.html"
guid="_0Spa4BOKEduCNqgZdt_OaA">Elaboration</a>), it may be&nbsp;acceptable for the software to have a incomplete or
prototypical feel, as it&nbsp;will be&nbsp;primarily concerned with baselining the architecture to provide a stable
foundation for the&nbsp;<a class="elementLinkWithUserText"
href="./../../openup_basic/deliveryprocesses/construction_phase_iteration,_3CqrAROKEduCNqgZdt_OaA.html"
guid="_3CqrAROKEduCNqgZdt_OaA">Construction</a> phase.
</p><!-- END:sectionDescription,_Zlw-QMP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: name<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:name,_aRCI0MP3EdmWKcx6ixEiwg CRC: 2281511155 -->Communicate decisions<!-- END:name,_aRCI0MP3EdmWKcx6ixEiwg -->
<br/><br/><br/>
<!-- START NON-TRANSLATABLE -->
Attribute: sectionDescription<br/><br/>
<!-- END NON-TRANSLATABLE -->
<!-- START:sectionDescription,_aRCI0MP3EdmWKcx6ixEiwg CRC: 2969611872 --><p>
Ensure that those who need to act upon the architectural work&nbsp;understand&nbsp;it and are able to work with
it.&nbsp;Make sure that the description of the architecture clearly conveys not only the solution but also the
motivation and objectives related to the&nbsp;decisions that have been made in shaping the architecture. This will make
it easier for others to understand the architecture and to adapt it over time.
</p><!-- END:sectionDescription,_aRCI0MP3EdmWKcx6ixEiwg -->
</body>
</html>