The Unified Process Elaboration Phase: Best Practices in Implementing the UP

Domain component reuse is a highly effective form of reuse a type of reuse that is obtained as the result of organization/enterprise-wide (enterprise) architectural modeling. A large-scale component is a collection of classes that together provide cohesive behavior. A bank may have domain components such as Customer, Account, and Portfolio Management whereas a manufacturing company may have domain components such as Customer, Supplier, Inventory, and Shipping. Both organizations may have similar technical components/frameworks such as Security, System Manager, and Transaction Manager. The development of large-scale, common, reusable components and frameworks require effective infrastructure management to achieve reusable domain components and frameworks only pay for themselves when they are used by several projects. To effectively identify large-scale components, you must first understand the requirements that you are trying to support, and because large-scale components are meant to support your organization as a whole, your enterprise-level requirements should be your starting point.
Infrastructure-driven modeling is a key enabler of high-impact reuse.
In the articles Object-Oriented Architectural Modeling: Parts 1 & 2 ( Software Development, September 1999 and October 1999), I present the fundamental concepts of infrastructure-driven modeling. These articles present a detailed look at the processes and organization structures needed to support infrastructure-driven modeling, as depicted in Figure 5.2. The reality is that architecture is both an organization/enterprise-level infrastructure issue and a project-level modeling issue organizations that do not recognize this fact will never be able to...