Home | | Software Design | Use Case - In Unified Process

Chapter: Software Design : Structured System Analysis and Design

Use Case - In Unified Process

In the Unified Process, use cases are used to capture the functional requirements and to define the contents of the iterations. Each iteration takes a set of use cases or scenarios from requirements all the way through implementation, test and deployment.

Use Case



ü   In the Unified Process, use cases are used to capture the functional requirements and to define the contents of the iterations. Each iteration takes a set of use cases or scenarios from requirements all the way through implementation, test and deployment.


Architecture Centric


ü   The Unified Process insists that architecture sit at the heart of the project team's efforts to shape the system. Since no single model is sufficient to cover all aspects of a system, the Unified Process supports multiple architectural models and views.


ü   One of the most important deliverables of the process is the executable architecture baseline which is created during the Elaboration phase. This partial implementation of the system serves and validate the architecture and act as a foundation for remaining development.


Risk Focused


ü   The Unified Process requires the project team to focus on addressing the most critical risks early in the project life cycle. The deliverables of each iteration, especially in the Elaboration phase, must be selected in order to ensure that the greatest risks are addressed first.


Project Lifecycle

ü   The Unified Process divides the project into four phases:


ü   Inception


ü   Elaboration


ü    Construction


ü    Transition



Inception Phase


ü  Inception is the smallest phase in the project, and ideally it should be quite short. If the Inception Phase is long then it may be an indication of excessive up-front specification, which is contrary to the spirit of the Unified Process.

ü  The following are typical goals for the Inception phase.


ü  Establish a justification or business case for the project


ü  Establish the project scope and boundary conditions


ü  Outline the use cases and key requirements that will drive the design tradeoffs


ü  Outline one or more candidate architectures


ü  Identify risks


ü  Prepare a preliminary project schedule and cost estimate


ü  The Lifecycle Objective Milestone marks the end of the Inception phase.


Elaboration Phase


ü    During the Elaboration phase the project team is expected to capture a healthy majority of the system requirements. However, the primary goals of Elaboration are to address known risk factors and to establish and validate the system architecture. Common processes undertaken in this phase include the creation of use case diagrams, conceptual diagrams (class diagrams with only basic notation) and package diagrams (architectural diagrams).


ü    The architecture is validated primarily through the implementation of an Executable Architecture Baseline. This is a partial implementation of the system which includes the core, most architecturally significant, components. It is built in a series of small, timeboxed iterations. By the end of the Elaboration phase the system architecture must have stabilized and the executable architecture baseline must demonstrate that the architecture will support the key system functionality and exhibit the right behavior in terms of performance, scalability and cost.


ü    The final Elaboration phase deliverable is a plan (including cost and schedule estimates) for the Construction phase. At this point the plan should be accurate and credible, since it should be based on the Elaboration phase experience and since significant risk factors should have been addressed during the Elaboration phase.


ü    The Lifecycle Architecture Milestone marks the end of the Elaboration phase.



Construction Phase


ü    Construction is the largest phase in the project. In this phase the remainder of the system is built on the foundation laid in Elaboration. System features are implemented in a series of short, timeboxed iterations. Each iteration results in an executable release of the software. It is customary to write full text use cases during the construction phase and each one becomes the start of a new iteration. Common UML (Unified Modelling Language) diagrams used during this phase include Activity, Sequence, Collaboration, State (Transition) and Interaction Overview diagrams. The Initial Operational Capability Milestone marks the end of the Construction phase.


ü    s. Normally this phase would take between two to six weeks for large projects and may be only a few days for smaller projects. The following should be done during this phase:



1.  Project idea is developed.


2.  Assess the capablilities of any current system that provides similar functionality to the new project even if the current system is a manual system. This will help determine cost savings that the new system can provide.


3.  Utilize as many users and potential users as possible along with technical staff, customers, and management to determine desired system features, functional capabilities, and performance requirements. Analyze the scope of the proposed system.


4.  Identify feature and functional priorities along with preliminary risk assessment of each system feature or function.


5.  Identify systems and people the system will interact with.


6.  For large systems, break the system down into subsystems if possible.


7.  Identify all major use cases and describe significant use cases. No need to make expanded use cases at this time. This is just to help identify and present system functionality.


8.  Develop a throw away prototype of the system with breadth and not depth. This prototype will address some of the greatest technical risks. The time to develop this prototype should be specifically limited. For a project that will take about one year, the prototype should take one month.


9.  Present a business case for the project (white paper) identifying rough cost and value of the project. The white paper is optional for smaller projects. Define goals, estimate risks, and resources required to complete the project.



10.Set up some major project milestones (mainly for the elaboration phase). A rough estimate of the overall project size is made.


11.Preliminary determination of iterations and requirements for each iteration. This outlines system functions and features to be included in each iteration. Keep in mind that this plan will likely be changes as risks are further assessed and more requirements are determined.


12.Management Approval for a more serious evaluation of the project.


13.This phase is done once the business case is presented with major milestones determined (not cast in stone yet) and management approves the plan. At this point the following should be complete:


-  Business case (if required) with risk assessment.


-  Preliminary project plan with preliminary iterations planned.


-  Core project requirements are defined on paper.


-  Major use cases are defined.

ü    The inception phase has only one iteration. All other phases may have multiple iterations.


ü    The overriding goal of the inception phase is to achieve concurrence among all stakeholders on the lifecycle objectives for the project. The inception phase is of significance primarily for new development efforts, in which there are significant business and requirements risks which must be addressed before the project can proceed. For projects focused on enhancements to an existing system, the inception phase is more brief, but is still focused on ensuring that the project is both worth doing and possible to do.



ü    The primary objectives of the Inception phase include:


ü    Establishing the project's software scope and boundary conditions, including an operational vision, acceptance criteria and what is intended to be in the product and what is not.


ü    Discriminating the critical use cases of the system, the primary scenarios of operation that will drive the major design tradeoffs.


ü    Exhibiting, and maybe demonstrating, at least one candidate architecture against some of the primary scenarios


ü    Estimating the overall cost and schedule for the entire project (and more detailed estimates for the elaboration phase that will immediately follow)


ü    Estimating potential risks (the sources of unpredictability)


ü    Preparing the supporting environment for the project.



Essential Activities


The essential activities of the Inception include:


1. Formulating the scope of the project.


ü This involves capturing the context and the most important requirements and constraints to such an extent that you can derive acceptance criteria for the end product.


2. Planning and preparing a business case.


ü    Evaluating alternatives for risk management, staffing, project plan, and cost/schedule/profitability tradeoffs.




3. Synthesizing a candidate architecture


ü    Evaluating tradeoffs in design, and in make/buy/reuse, so that cost, schedule and resources can be estimated. The aim here is to demonstrate feasibility through some kind of proof of concept. This may take the form of a model which simulates what is required, or an initial prototype which explores what are considered to be the areas of high risk. The prototyping effort during inception should be limited to gaining confidence that a solution is possible - the solution is realized during elaboration and construction.


4. Preparing the environment for the project


ü    Assessing the project and the organization, selecting tools, deciding which parts of the process to improve.



ü    The Lifecycle Objectives Milestone evaluates the basic viability of the project.


Tailoring Decisions


ü    The example iteration workflow shown at the top of this page represents a typical Inception iteration in medium sized projects. The Sample Iteration Plan for Inception represents a different perspective of the breakdown of activities to undertake in an Inception iteration. This iteration plan is more complete in terms of workflow details and activities, and as such, more suitable for large projects. Small projects might decide to do only a subset of these workflow details, deviations should be challenged and documented as part of the project-specific process.


Inception Phase includes:

ü    Refining the scope of the project


ü    Project planning


ü    Risk identification and analysis


ü    Preparing the project environment

ü    Estimating the Budget


The Use Case Model


ü    The Use Case Model describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between a user (human or machine) and the system. A Use Case is a single unit of meaningful work; for example login to system, register with system and create order are all Use Cases. Each Use Case has a description which describes the functionality that will be built in the proposed system. A Use Case may 'include' another Use Case's functionality or 'extend' another Use Case with its own behaviour.

ü    Use Cases are typically related to 'actors'. An actor is a human or machine entity that interacts with the system to perform meaningful work


A Use Case description will generally include:


1.     General comments and notes describing the use case.


2.     Requirements


3.     Constraints


4.     Scenarios


5.     Scenario diagram




ü    An Actor is a user of the system. This includes both human users and other computer systems. An Actor uses a Use Case to perform some piece of work which is of value to the business. The set of Use Cases an actor has access to defines their overall role in the system and the scope of their action.


Constraints, Requirements and Scenarios


The formal specification of a Use Case includes:


1.  Requirements. These are the formal functional requirements that a Use Case must provide to the end user. They correspond to the functional specifications found in structured methodologies. A requirement is a contract that the Use Case will perform some action or provide some value to the system.


2.  Constraints. These are the formal rules and limitations that a Use Case operates under, and includes pre- post- and invariant conditions. A pre-condition specifies what must have already occurred or be in place before the Use Case may start. A post-condition documents what will be true once the Use Case is complete. An invariant specifies what will be true throughout the time the Use Case operates.


3. Scenarios. Scenarios are formal descriptions of the flow of events that occurs during a Use Case instance. These are usually described in text and correspond to a textual representation of the Sequence Diagram.


Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Software Design : Structured System Analysis and Design : Use Case - In Unified Process |

Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.