Advertisement

The Unified Process

The Unified Process (UP), or Unified Software Development Process, is an iterative and incremental software development framework from which a customized process can be defined. The key characteristics of the Unified Process are: 
  • It is an iterative and incremental development framework
  • It is architecture-centric with major work being done to define and validate an architectural design for most coding is done
  • It is risk-focused and emphasizes that highest-risk factors be addressed in the earliest deliverables possible
  • It is use-case and UML driven with nearly all requirements being documented in one of those forms
The Unified Process is a design framework which guides the tasks,people and products of the design process. It is a framework because it provides the inputs and outputs of each activity, but does not restrict how each activity must be performed.

It is comprised of a number of different hierarchical elements (See above Fig.).
  • The Unified Process actually comprises low-level activities (such as finding classes).
  • Activities are combined together into disciplines (formerly known as workflows) which describe how one activity feeds into another.
  • These disciplines are organized into iterations. Eachiteration identifies some aspect of the system to be considered.
  • Iterations themselves are organized into phases. Phases focus on different aspects of the design process, for example requirements, analysis, design and implementation.
  • In turn phases can be grouped into cycles. Cycles focus on the generation of successive releases of a system (for example, version 1.0, version 1.1 etc.).

Characteristics of UP

There are four key characteristics behind the Unified Process. They are:
  • Iterative and incremental
  • Use case-driven
  • Architecture-centric
  • Acknowledge risks
Iterative and Incremental
An iterative approach advocates an increasing understanding of the problem through successive refinements and an incremental growth of an effective solution over multiple cycles. Built into the iterative approach is the flexibility to accommodate new requirements or tactical changes in business objectives. It also allows the project to identify and resolve risks sooner rather than later.

Use case-driven
The Unified Process is also use case-driven.  The use cases help to identify who uses the system and what they need to do with the system (i.e. the top-level functionality). Thus use cases help identify the primary requirements of the system. In the Unified Process use cases are used to ensure that the evolving design is always relevant to what the user required.

Architecture - Centric
One problem with having an iterative and incremental approach is that while one group may be working on part of the implementation another group may be working on part of the design. To ensure that all the various parts fit together there needs to be something. That something is an

Life Cycle Phases
The Unified Process is composed of four distinct phases. These four phases focus on different aspects of the design process. The four phases are:
  1. Inception
  2. Elaboration
  3. Construction and
  4. Transition.

Inception Phase
The Inception Phase is the part of the framework. This phase defines:
  • Scope of the project.
  • Defining the business case 
  • Establishes the feasibility of the system to be built.
  • Creating a vision document with core requirements, features, and constraint
  • Creating an initial risk assessment.
  • Creating early use cases (10-20% complete, mostly use-case models).
  • Creating a initial project plan and
  • Creation of one or more prototypes (especially architectural prototypes)
Elaboration Phase
This phase captures the functional requirements of the system. It should also specify any non-functional requirements to ensure that they are taken into account. The other primary task for this phase is the creation of the architecture to be used throughout the remainder of the Unified Process. 

Construction Phase
This phase concentrates on completing the analysis of the system, performing the majority of the design and the implementation of the system. That is, it essentially builds the product.
The specific activities of this phase include:
  • The software is built, integrated, and tested.
  • The user manuals have been created (or updated).
  • The details of the software developed are documented and ready to be provided to end users or support staff (including changes, etc.)
Transition Phase
The transition phase moves the system into the user’s environment. This involves activities such as deploying the system and maintaining it.
The specific activities of this phase include:
  • “beta testing” or “user acceptance testing” by end users to validate the new software against user expectations
  • Users and maintainers of the software are fully trained.
  • The software is fully rolled-out.
Milestones
Each phase has a set of major milestones that are used to judge the progress of the overall Unified Process. A milestone is the conclusion of a phase and comprises a set of artifacts  which are the product of the disciplines in that phase.The primary milestones (or products) of the four phases are illustrated in Figure.


  • Inception. The output of this phase is the vision for the system. This includes a very simplified use case model and a very tentative architecture, and the most significant risks are identified and the elaboration phase is planned.
  • Elaboration. The primary output of this phase is the architecture, along with a detailed use case model and a set of plans for the construction phase.
  • Construction. The end result of this phase is the implemented product which includes the software as well as the design and associated models. The product may not be without defects, as some further work has yet to be completed in the transition phase.
  • Transition. The transition phase is the last phase of a cycle. The major milestone met by this phase is the final production-quality release of the system.

Post a Comment

0 Comments