Baseline an Executable Architecture Early On

A lot of project risks are associated with the architecture, especially when developing the first generation of an application. That is why you want to get the architecture right. In fact, the ability to baseline a functioning architecture ”that is, to design, implement, and test the architecture ”early in the project is considered so essential to a successful project that the RUP treats this as the primary objective of the Elaboration phase, which is phase two of this four-phase process.

First, what do we mean by architecture? [3] The architecture comprises the software system's most important building blocks and their interfaces, that is, the subsystem, the interfaces of the subsystems, and the most important components and their interfaces (see Figure 2.5). The architecture provides a skeleton structure of the system, comprising perhaps 10 to 20 percent of the final amount of code. The architecture also consists of so-called "architectural mechanisms." These are common solutions to common problems, such as how to deal with persistency or garbage collection. Getting the architecture right is difficult, which is why you typically use your most experienced people for this task. We will discuss architecture in more detail in Chapters 7 and 16.

[3] For a good discussion on this topic, see Kruchten 2000a.

Figure 2.5. A System Architecture. The architecture provides an understanding of the overall system and a skeleton structure for the application. It includes, among other things, the subsystems and their interfaces and the most common components and their interfaces.

graphics/02fig05.gif

Having the skeleton structure in place and properly tested provides a sound understanding of the building blocks or components needed for the final product. And, having followed the RUP's iterative process, your team will already have gained some valuable experience in doing analysis, design, implementation, and testing, so you will usually have a firm grasp of what it will take to complete the system. Baselining an executable architecture also lays the groundwork for more accurate assessments of how many resources are needed and how long it will take to complete the project. Early understanding of this enables you to optimize your resource profile and manage scope to best address your business needs.

When the architecture is in place, you have addressed many of the most difficult parts of building the system. It is now much easier to introduce new members to the project; boundaries are provided for additional code through the definition of key components and baselining of interfaces, and the architectural mechanisms are ready to be used, providing ready-made solutions to common problems.

Summary

The architecture is the system's skeleton structure. By designing, implementing, and testing the architecture early in the project, you address major risks and make it easier to scale up the team and to introduce less-experienced team members. Finally, since the architecture defines the system's building blocks or components, it enables you to more accurately assess the effort needed to complete the 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