Skip to main content

Use Case Management with Rational Rose and Rational RequisitePro

Rational staff, Staff, IBM, Software Group
This article is brought to you by the Rational staff at developerWorks.

Summary:  Combining Rational Rose and RequisitePro gives you Integrated Use Case Management by enhancing use-case modeling with powerful requirements management capabilities. Integrated Use Case Management enables you to extend use cases beyond diagrams with sortable attributes, documents, and raceability and helps you to manage large numbers of use cases across your team.

Date:  24 Nov 2003
Level:  Introductory
Activity:  1222 views

Introduction

  1. How do you organize your use cases?
  2. Can you tell in which release a particular use case is implemented?
  3. How do you know that the entire system functionality is tested?
  4. Which tests are affected by a change in a use case?

If the inability to answer these questions has caused you frustration, schedule setbacks, or the delivery of products that have missed the mark, read on.

Integrated Use Case Management enhances Rational Rose use-case modeling with powerful requirements management capabilities. By extending use cases beyond diagrams with sortable attributes, documents, and traceability, Integrated Use Case Management helps manage large numbers of use cases across your team. This is the tightest and most robust integration in the market between a visual modeling tool and a requirements management tool.


Why Manage Requirements?

Requirements management is a systematic approach to finding, documenting, and managing requirements. Without it, more than two-thirds of projects end up missing user needs, are late or over budget (Standish Group, CHAOS Report available at www.standishgroup.com). Why so many? Primarily because managing requirements is about managing change -- and managing change is hard. Plus change is pervasive. We live in a dynamic world: customers change their minds, competitors come up with better solutions before we deliver ours, the business environment changes. Being open to this changing environment is a good thing, but it can bog you down. Change in itself isn't bad. The evil beast is uncontrolled change -- change whose impact is not measured before it happens. By managing requirements you are more likely to deliver a timely solution that solves your customers' real problems.


Why Manage Use Cases?

By providing a user's view of what the system should do, use cases are requirements. As such, use cases should participate in the management of all system requirements. Most software projects have numerous use cases, all of which have different priorities and dependencies -- just like any other requirement. For example, a use case describing the processing of an order on the Web might stem from the business need of generating more revenue through the Web. By establishing a tangible dependency between the use case and its business need, you can better respond to change affecting either of these requirements. And prioritizing the importance of implementing this use case versus another helps you know where to start.

Managing use cases along with all other requirements is key to understanding the state of your project and better enables you to deliver the right system. The value of Integrated Use Case Management is that it seamlessly integrates uses cases with your requirements information.


Setting up the Integration

Integrated Use Case Management begins by associating your Rational Rose model with a Rational RequisitePro project. This association provides the context for selecting use-case document templates and use-case attributes from the Rose environment. You can establish this association either at the model level or at the package level, where each package may be associated with its own RequisitePro project. The package association lends itself to large software projects that might use either multiple RequisitePro projects (typically one per subsystem) or different use case document templates (for business use cases vs. system use cases).

A Rational RequisitePro project consists of a number of Microsoft Word documents and a database (Microsoft Access, Microsoft SQL Server or Oracle) to organize the requirement information. Use case documents in RequisitePro contain use-case textual descriptions, just like what you may be writing today. Requirements in these documents are linked to a database that stores additional requirement information, such as attributes, traceability links, versioning, change history, project security and more. From the RequisitePro database, you can query the requirement information to check coverage and measure the impact of change. You can also easily navigate to the RequisitePro Word environment and back to Rose.


Requirements Management Capabilities in Rational Rose

Requirement management capabilities are visible from the standard shortcut menu in the Rational Rose browser -- right-click on a use case in Rose to view the new use-case menu options (see Figure 1). They include:

  • Use Case Document to create a new use-case document or associate the use case with an existing RequisitePro use-case document
  • Requirement Properties to view and edit attributes and traceability links to the use case
  • View RequisitePro Association to view the Rational RequisitePro context for that use case (the associated use case document template and use case attributes -- set via a requirement "type")
New options on the use-case shortcut menu in Rose
Figure 1: New options on the use-case shortcut menu in Rose

Lets look at these capabilities in more detail.

Use Case Document

If you are an existing Rose user, you may be writing use-case documents and attaching them to your use-case model via the Rose External File property. The new Integrated Use Case Management capability goes beyond simply attaching a file to a Rose use case. Because the documents attached to your use cases are Rational RequisitePro documents, you benefit from the following advantages:

  • Use case documents are based on proven use-case document templates.
    Integrated Use Case Management provides Rational Unified Process use case templates. These templates contain informative guidelines as well as use case formatting, saving you time and providing consistency from document to document.
  • Requirement text is clearly marked.
    Requirement text is visually differentiated from additional descriptive information in the document (See Figure 2.). This makes it easier to "see the trees in the forest."
Requirements in a Rational RequisitePro document
Figure 2: Requirements in a Rational RequisitePro document
(click here to enlarge)
  • Any modification to use case documents is automatically tracked.
    Information about who modifies what, when, and why is stored in the Rational RequisitePro database. These revisions help you gain control of use case changes.
  • Requirements in use case documents can be linked to other requirements they may relate to.
    By tracing use cases to business requirements, feature-level requirements, tests, or even other use cases you can more easily measure the impact of change on related requirements and verify coverage.

To associate a use case document with a Rose use case, right-click on the use case in the Rose browser, and select Use Case Document>New from the shortcut menu. The RequisitePro Word environment is launched and your template-based document is displayed, ready for editing. You can also associate an existing RequisitePro document to a Rose use case by using the Use Case Document>Associate menu item.

Requirements Properties

The second new addition to the use-case shortcut menu is "Requirements Properties." Requirements, and similarly use cases, are not just text. They have additional properties, such as attributes, traceability links, revision history, and particularly for use cases-diagrams.

Attributes help manage scope. Especially helpful in iterative development, attributes provide an easy way to scope manage each iteration of your project. They make the process of deciding the use cases to implement in a particular release more objective. Too often organizations decide which use cases to implement based on personal agendas, emotions, or pet peeves. Poor decisions made early carry through to implementation and are more costly to change the farther the project gets in its lifecycle. Attributes provide a simple way to assign non-emotional weight to use cases and requirements alike.

Traceability helps measure the impact of change and ensure requirements coverage. For instance, if a business need changes, what use cases might be impacted? By establishing traceability links, you can query the requirements to answer questions like "Are all business needs implemented at the use case level?" or "Are there test requirements for all the use cases?"

(Note for Rational Unified Process users: you may want to review the Traceability Strategies for Requirements Management With Use Cases white paper available in RUP. The paper outlines various traceability approaches, depending on your needs.)

Revisions helps you track who changes what, when and why, to provide an audit trail of requirement changes. This helps you measure the stability of requirements and concentrate on more stable requirements first, inherently diminishing the amount of change.

To set use case attributes and relationships in Rational Rose, right-click on the use case in the Rose browser, and select Requirement Properties>Open from the shortcut menu. In the dialog box (see Figure 3), click the Attributes tab, and set attribute values. Note that you can change the out-of-the-box use case attributes and their values in the RequisitePro project associated with your model. From this same dialog box, click the Traceability tab to establish traceability between the use case and other requirements.

Viewing and editing use case requirement properties in Ratioanl Rose
Figure 3: Viewing and editing use case requirement properties in Ratioanl Rose

Benefits of Managing Use Cases

Once you've attached a use case document, or assigned requirement properties to a use case in Rational Rose, the use case is part of your requirement set in RequisitePro. As such you can use all Rational RequisitePro capabilities to sort your use cases (by priority, by iteration number, etc.), to query on specific use cases (only the use cases planned for the next iteration), and even produce requirements metrics.

Using an Attribute Matrix View in Rational RequisitePro (see Figure 4), you can view all or a select subset of use cases and their respective attributes. This helps you organize the use case information answering the first question at the beginning of this article: How do you organize your use cases? You can run queries to determine which use cases are assigned to which designer, how difficult they are to implement, or in which release they should be implemented (Can you tell in which release a particular use case is implemented?).

Use case Attribute Matrix View in Rational RequisitePro
Figure 4: Use case Attribute Matrix View in Rational RequisitePro
(click here to enlarge)

Once you have selected the use cases to be implemented in the next iteration, you should verify that test requirements are traced to use cases ensuring that all the functionality will be tested. The Traceability Matrix View in Figure 5 shows the relationships established between use cases and test cases. Using Traceability Matrices, you can query on use cases not yet traced to test requirements (answering the question How do you know that the entire system functionality is tested?). Additionally, testers can query test requirements potentially impacted by modifications in use cases ensuring that they're testing the latest functionality. A suspect link (red slashed arrow in Figure 5) indicates that test case TC1.2 may need to be revisited due to a change in use case UC1.3. Querying on suspect links answers our last question, which tests are affected by a change in a use case?

Traceability relationships between use cases and test cases in Rational RequisitePro
Figure 5: Traceability relationships between use cases and test cases in Rational RequisitePro

Summary

Integrated Use Case Management extends use cases with requirement information. This benefits the Rational Rose user by establishing a real-time window to modify use case attributes, traceability and view revision history from Rose. And the Rational RequisitePro use case document is just a click away. Integrated Use Case Management provides requirements managers more accurate and timely information to work with because that information is available from the Rose users' fingertips. By managing use cases in conjunction with other requirements your project can be better scope managed, change can be controlled and coverage can be verified. In short, Integrated Use Case Management helps ensure that you are implementing the functionality that was agreed upon, and that this functionality will be fully tested.

Click here to download a PDF of this article. (564 KB)


About the author

This article is brought to you by the Rational staff at developerWorks.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=835
ArticleTitle=Use Case Management with Rational Rose and Rational RequisitePro
publish-date=11242003
author1-email=ibmrationalstaff@bogusemail.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers