Objectives of the Elaboration Phase

As Figure 7.1 shows, Elaboration is the second of the four phases in the RUP approach. The goal of the Elaboration phase is to define and baseline the architecture of the system in order to provide a stable basis for the bulk of the design and implementation effort in the Construction phase. The architecture evolves out of a consideration of the most significant requirements (those that have a great impact on the architecture of the system) and an assessment of risks.

Figure 7.1. The Elaboration Phase. Elaboration is the second phase of the RUP lifecycle; it has a well-defined set of objectives and is concluded by the Lifecycle Architecture Milestone. Use these objectives to help you decide which activities to carry out and which artifacts to produce.

graphics/07fig01.gif

This general goal translates into four major objectives, each addressing a major area of risk. You address risks associated with requirements (are you building the right application?) and risks associated with architecture (are you building the right solution?). You also address risks associated with costs and schedule (are you really on track?), and finally you need to address risks related to the process and tool environment (do you have the right process and the right tools to do the job?). Addressing these risks ensures that you can move into the Construction phase with a minimum of risk and issues.

  1. Get a more detailed understanding of the requirements. During Elaboration, you want to have a good understanding of a vast majority of the requirements, since most of them are only briefly described in Inception. This will allow you to create a more detailed plan. You also want to get buy-in from key stakeholders to ensure that these are the correct requirements. And finally, you want to gain an in-depth understanding of the most critical requirements to validate that the architecture has covered all the bases, something that can be achieved only by doing a partial implementation of these requirements.

  2. Design, implement, validate, and baseline the architecture. You want to design, implement, and test a skeleton structure of the system. The functionality at the application level will not be complete, but as most interfaces between the building blocks are implemented during Elaboration, you can compile and test your architecture. This is referred to as "executable architecture" (see the section Objective 2: Design, Implement, Validate, and Baseline the Architecture that follows ), to the extent that you can (and should) conduct some initial load and performance tests on the architecture. You make critical design decisions, including the selection of technologies, main components , and their interfaces; you assess the buy-versus-build options; and you design and implement architectural mechanisms and patterns.

  3. Mitigate essential risks, and produce more accurate schedule and cost estimates. During Elaboration, you address major risks. Most will be addressed as a result of detailing the requirements and designing, implementing, and testing the architecture. You also refine and detail the coarse project plan for the project (see Chapter 12 for more details on planning).

  4. Refine the development case and put the development environment in place. You refine the process you defined for Inception to reflect lessons learned. You also continue to implement the software development tools you need for our project.



The Rational Unified Process Made Easy(c) A Practitioner's Guide to Rational Unified Process
Programming Microsoft Visual C++
ISBN: N/A
EAN: 2147483647
Year: 2005
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net