You are on page 1of 9

The Rational Unified Process: The Implementation

MATERIA: Anlisis y Diseo de Sistemas II PROFESOR: ISC Carlos A. Solano Ros M. en C.

REFERENCIAS: The Rational Unified Process: An Introduction Philippe Kruchten

Purpose
To define the organization of the code in terms of implementation subsystems organized in layers To implement classes and objects in terms of components (source files, binaries, executables, and others) To test the developed components as units To integrate into an executable system the results produced by individual implementers or teams
2

Builds
A build is an operational version of a system or part of a system that demonstrates a subset of the capabilities to be provided in the final product. They represent ongoing attempts to demonstrate the functionality developed to date. Each build is placed under configuration control in case there is a need to roll back to an earlier version when added functionality causes breakage or otherwise compromises build integrity. Typically, projects try to produce builds at regular intervals, up to one each day, but at least one per week toward the end of an iteration.
3

Integration
The term integration refers to a software development activity inwhich separate software components are combined into a whole. The Rational Unified Process approach to integration is that the software is integrated incrementally. Incremental integration means that code is written and tested in small pieces and then is combined into a working whole by the addition of one piece at a time. The contrasting approach is phased integration. Phased integration relies on integrating multiple (new and changed) components at the same time. The major drawback of phased integration is that it introduces multiple variables and makes it hard to locate errors. Incremental integration offers the following benefits: Faults are easy to locate The components are tested more fully Some part of the system is running earlier
4

Prototypes
Prototypes are used in a directed way to reduce risk. Prototypes can reduce uncertainty surrounding the following issues: The business viability of a product being developed The stability or performance of key technology Project commitment or funding (through the building of a small proof-ofconcept prototype) The understanding of requirements The look and feel, and ultimately the usability, of the product A prototype can help to build support for the product by showing something concrete and executable to users, customers, and managers. The nature and goal of the prototype, however, must remain clear throughout its lifetime.

Prototypes
Types of Prototypes By what they explore
A behavioral prototype, which focuses on exploring specific behavior of the system A structural prototype, which explores architectural or technological concerns

By how they evolve (their outcome)


An exploratory prototype, also called a throwaway prototype, which is thrown away after it is finished and you have learned whatever you wanted from it An evolutionary prototype, which evolves to become the final system

Workers and Artifacts

Workflow

Tool Support
Today code-level tools are assembled into integrated development environments and share semantic knowledge. An example is the Rational Apex development environment for Ada and C++. Rose provides support for round-trip engineering, closely tying together design and the implementation activities. Tools such as Purify and Quantify support the detection of defects in code. ClearCase provides support for individual workspaces as well as "staging" workspaces for subsystem and system integration. ClearQuest is the tool of choice for tracking change requests and defects and tracing them to the source code.

You might also like