This link has been bookmarked by 104 people . It was first bookmarked on 12 Oct 2006, by Kuba Nowak.
-
02 May 15
-
all of its available functionality
-
that UCDs are fundamentally different from sequence diagrams or flow charts because they do not make any attempt to represent the order or number of times that the systems actions and sub-actions should be executed
-
actors
-
services
-
use cases
-
system
-
relationships
-
top-down perspective
-
exception behavior
-
Action/Response
-
The most obvious candidates for actors are the humans in the system
-
top-level diagram
-
only used by other parts of the system should not appear in the system box
-
these behaviors are not done in isolation
-
part of a more high-level use case
-
Since you can only have one system on the diagram
-
UCDs represent functionality in a top-down way
-
flow charts represent behavior in a linear
-
the process of doing X always involves doing Y at least once
-
rawn from a use case X to another use case Y
-
uses edge
-
uses arrow
-
aggregation operator,
-
X uses Y means that "X has a Y" as part of it's behavior.
-
diagram for the top-level services, and then you would add new use cases that make up the top-level ones
-
airline reservation system
-
extends arrow
-
extends edge
-
X to a use case Y to indicate that the process X is a special case behavior of the same type as the more general process Y.
-
airline reservation system.
-
"X" has a subtask "Y"
-
but "X" is a special, more specific case of doing "Y
-
"X" is a task fo the same type as "Y
-
consider using a different diagramming style.
-
-
15 Nov 13
-
-
UCDs have only 4 major elements: The actors that the system you are describing interacts with, the system itself, the use cases, or services, that the system knows how to perform, and the lines that represent relationships between these elements
-
If your system interacts with other systems (databases, servers maintained by other people, legacy systems) you will be best to treat these as actors, also, since it is not their behavior that you are interested in describing
-
the humans that you must interact with will all be actors
-
The system box only appears on the top-level diagram (remember that a typical UML Use Case description will be composed of many diagrams and sub-diagrams), and should contain use case ovals, one for each top-level service that your system provides to its actors. Any kind of internal behavior that your system may have that is only used by other parts of the system should not appear in the system box. One useful way to think of these top-level services is as follows: if a use case represents a top-level service, then it should make sense for the actors who interact with it to request only that service of your system in a single session (in whatever sense a "session" is intelligible in your system.
-
Example:
-
you can only have one system on the diagram
-
-
28 Aug 13
-
21 Aug 13
-
11 Aug 13
-
13 Jun 13
-
I am trying to represent a sequence of actions that the system performs. How do I do it?
Using a UML Use Case Diagram, you can't. UCDs are meant to be a top-down, horizontal description of functionality, not a blow-by-blow desrciption of behavior. For the most part, it isn't a good idea to try to represent sequences of actions with Use Case diagrams. You should use a Sequence Diagram or a traditional flow chart instead. (It is possible to represent simple branching conditions with a UCD, as described below, but you should use this technique sparingly because it can render a diagram unreadable.) -
How is a UML Use Case Diagram different from a traditional flow chart?
As mentioned above, UCDs represent functionality in a top-down way, whereas flow charts represent behavior in a linear, time-based way. Also, the way you develop them is all-together different. -
- "X uses Y" indicates that the task "X" has a subtask "Y"; that is, in the process of completing task "X", task "Y" will be completed at least once.
- "X extends Y" indecates that "X" is a task fo the same type as "Y", but "X" is a special, more specific case of doing "Y". That is, doing X is a lot like doing Y, but X has a few extra processes to it that go above and beyond the things that must be done in order to complete Y. -
The scenario I want to describe branches into several possible outcomes, or has some error conditions. How can I represent that with Use Case Diagrams?
Representing failure and branching conditions is often best done with a Sequence Diagram or flow chart, but there are some grey-area cases when it isn't clear whether or not a Use Case Diagram is appropriate. A rule of thumb: if in representing the branching actions in the Use Case Diagram you must add significantly more use case ovals, and the resulting diagram is muddy or confusing, consider using a different diagramming style.
With that said, it is possible to represent simple branching behavior with UCDs, although I would like to again stress that UCDs ARE NOT FLOW CHARTS. This is done by realizing that if the use case, or process that you are trying to represent can have two significantly different outcomes (success and failure, for example), then that means that you really have two different use cases: one in which the process succeeds, and one in which the process fails. Of course, these two use cases are related in that they are both extensions of the original use case, so you would draw the original use case with the two branches extending from it. I consider this almost an abuse of the meaning of the extends edge, because it really isn't being used here to represent a taxonomy of use cases (which is its purpose) but is instead taking advantage of the specific abstract definition of the relation to hack flow-chart-like behavior out of the UCD style. Again, USE THIS TECHNIQUE SPARINGLY; IT CAN QUICKLY MAKE A DIAGRAM UNREADABLE.
-
-
10 May 13
-
14 Mar 13
-
the process of doing X always involves doing Y at least once
-
(although it may involve doing it many times, "at least once" is the only relationship guaranteed by this symbol.)
-
X uses Y means that "X has a Y" as part of it's behavior.
-
X is a special case behavior of the same type as the more general process Y.
-
both processes extend a common, more general process (assigning seats.)
-
-
08 Jan 13
-
05 Dec 12
-
used to describe the functionality of a system in a horizontal way
-
system
-
actors
-
use cases, or services
-
relationships
-
use UCDs to represent the functionality of your system from a top-down perspective
-
Use Sequence diagrams to show these design features
-
NOT use UCDs to represent exception behavior (when errors happen) or to try to illustrate the sequence of steps that must be performed in order to complete a task
-
If a certain use case uses several others, that means that all of the component use cases must be completed in the process of completing the aggregate use case,
-
the process of doing X always involves doing Y at least once
-
at least once
-
aggregation
-
-
31 Oct 12
-
used to show all of its available functionality.
-
or services, that the system knows how to perform,
-
relationships between these elements.
-
NOT use UCDs to represent exception behavior (
-
System's Response" column are components
-
Action/Response table,
-
actors are the humans in the system
-
only use the services that it provides, it makes sense for that system to be an actor.
-
-
02 Aug 12
Alexis Dstem from a top-down perspective (that is, at a glance the system's functionality is obvious, but all descriptions are at a very high level. Further detail can later be added to the diagram to elucidate interesting points in the system's behavior.)
Example: A UCD is well suited to the task of describing all of the things that can be done with a database system, by all of the people who might use it (administrators, developers, data entry personnel.) -
09 Jul 12
-
15 Jun 12
-
23 Mar 12
-
29 Jan 12
-
31 Oct 11
-
How do you know who the actors are in a UCD?
-
the actors are typically those entities whose behavior cannot control or change
-
The most obvious candidates for actors are the humans in the system
-
If your system interacts with other systems (databases, servers maintained by other people, legacy systems)
-
How do you know what to put in the "System" box?
-
The system box only appears on the top-level diagram
-
The actors in my diagram have interactions. How do I represent them?
-
-
28 Oct 11
-
21 Jul 11
-
23 Feb 11
-
15 Dec 10
-
30 Nov 10
-
03 Oct 10
-
22 Jul 10
-
25 Jan 10
-
31 Dec 09
-
30 Nov 09
-
12 Nov 09
-
14 Oct 09
-
30 Sep 09
-
15 Sep 09
-
03 Aug 09
-
29 Jun 09
-
31 May 09
-
30 Mar 09
-
21 Mar 09
-
19 Jan 09
-
06 Jan 09
-
15 Oct 08
-
01 Oct 08
-
02 Jul 08
-
22 Apr 08
-
08 Apr 08
-
23 Mar 08
-
14 Feb 08
-
16 Nov 07
Travis StilesUML Use Case Diagrams can be used to describe the functionality of a system in a horizontal way. That is, rather than merely representing the details of individual features of your system, UCDs can be used to show all of its available functionality. It is
-
30 Aug 07
-
14 Aug 07
-
25 Jul 07
-
14 Jun 07
-
11 May 07
-
08 Dec 06
-
22 Nov 06
-
12 Oct 06
-
19 Jun 06
-
21 Mar 06
-
25 Feb 05
-
23 Sep 04
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.