Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational Unified Process (RUP) A Use-Case-Driven Process
Definitions In this Lesson: we focus primarily on one method of understanding and modeling the problem. An effective method, and one recommended by the RUP, is the technique of use-case modeling 2
Definitions Use cases: provide a means of expressing the problem in a way that is understandable to a wide range of stakeholders: users, developers, and customers 3
Organizing Use Cases There are three ways to exploit commonality among use cases: Inclusion Extension Generalization/specialization 4
Organizing Use Cases- Inclusion Several use cases can include a common flow- of-event text organized as a use case. In the ATM example, both Withdraw Money and Check Balance include "User enters PIN." There is no need to express the flow of events associated with the entry of the PIN two or three times in the same model. Both use cases could include a use case "Authenticate the User." 5
6 Organizing Use Cases- Inclusion
The extension can be thought of as: "injecting" additional descriptive text into the extended use case, at the extension point, under particular conditions. 7 Organizing Use Cases- Extension
Unlike "include" in which the basic flow of events is incomplete without the inclusion, when you use "extend," the basic flow of events should still be complete; 8 Organizing Use Cases- Extension
A use case can specialize more general one by adding to or refining the original flow of events. For example, in an air traffic control system, the Entry of an ICAO Flight Plan follows the same basic principles and sequences of actions as the general Entry of a Flight Plan but has some refinements as well as specific steps or attributes 9 Organizing Use Cases- Generalization
10
The Rational Unified Process is a use-case-driven approach. This means that the use cases defined for a system are the basis for the entire development process 11 Use Cases in the Process
12 Use Cases in the Process
13 Use Cases in the Process