Home > Articles > Software Development & Management > UML

  • Print
  • + Share This
This chapter is from the book

The rational unified process

CONTROL FOR AN iterative and incremental life cycle is supported by employing the Rational Unified Process—an extensive set of guidelines that address the technical and organizational aspects of software development focusing on requirements analysis and design.

The Rational Unified Process is structured along two dimensions:

  • Time—division of the life cycle into phases and iterations

  • Process components—production of a specific set of artifacts with well-defined activities

Both dimensions must be taken into account for a project to succeed.

Structuring a project along the time dimension involves the adoption of the following time-based phases:

  • Inception—specifying the project vision

  • Elaboration—planning the necessary activities and required resources; specifying the features and designing the architecture

  • Construction—building the product as a series of incremental iterations

  • Transition—supplying the product to the user community (manufacturing, delivering, and training)

Structuring the project along the process component dimension includes the following activities:

  • Business Modeling—the identification of desired system capabilities and user needs

  • Requirements—a narration of the system vision along with a set of functional and nonfunctional requirements

  • Analysis and Design—a description of how the system will be realized in the implementation phase

  • Implementation—the production of the code that will result in an executable system

  • Test—the verification of the entire system

  • Deployment—the delivery of the system and user training to the customer

Figure 1-4 shows how the process components are applied to each time-based phase.

Figure 1-4 Figure 1-4 The Development Process

Each activity of the process component dimension typically is applied to each phase of the time-based dimension. However, the degree to which a particular process component is applied is dependent upon the phase of development. For example, you may decide to do a proof of concept prototype during the Inception Phase, and thus, you will be doing more than just capturing requirements (you will be doing the analysis, design, implementation, and test needed to complete the prototype). The majority of the analysis process component occurs during the Elaboration Phase. However, it is also advisable to complete the first few iterations of the system during this phase. These first few iterations typically are used to validate the analysis decisions made for the architecture of the system.

Hence, you are doing more than just analyzing the problem. During the Construction Phase of development, the system is completed as a series of iterations. As with any type of development structure, things always crop up as the system is built; thus, you are still doing some analysis.

The diagram is meant to be a guideline for the life cycle of your project. The main point is if you are still trying to figure out what you are supposed to be building as you are writing the code, you are probably in trouble. You should also note that testing is applied throughout the iteration process—you do not wait until all the code is done to see if it all works together!

This book uses a simplified version of the Rational Unified Process, which concentrates on the use of the UML to capture and document the decisions made during the Inception and Elaboration phases of development. The last few chapters lightly cover construction of the system. Although testing is a very integral part of system development, it is beyond the scope of this book.

  • + Share This
  • 🔖 Save To Your Account