+ All Categories
Home > Documents > 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Date post: 29-Dec-2014
Category:
Upload: hossein-aria
View: 856 times
Download: 8 times
Share this document with a friend
Description:
Uploaded from Google Docs
24
UML Functional View Use Case Graphical Description Activity diagram, Sequence iagram, Include, extend, generalization Case Study : Automatic Teller Machine ATM Chapter 4 UML, Identify Actors, Hossein Tohidi 1
Transcript
Page 1: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

UML

Functional View

Use Case Graphical Description Activity diagram, Sequence iagram, Include, extend, generalization

Case Study : Automatic Teller Machine ATM

Chapter 4

UML, Identify Actors, Hossein Tohidi 1

Page 2: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Review A use case represents the specification of a sequence of actions, including variants, that a

system can perform, interacting with actors of the system.

For each actor identified previously, it is advisable to search for the different business goals, according to which is using the system.

Contrary to what we might believe, all actors do not necessarily use the system

We call the one for whom the use case produces an observable result the primary actor

In contrast, secondary actors constitute the other participants of the use case.

A use case diagram shows the relationships among actors and the subject (system), and use cases.

We draw use cases(ellipses) inside the ATM system (box) and linked by associations (lines) to their primary actors (the “stick man” icon).

As far as possible, place the primary actors to the left of the use cases and the secondary actors to the right.

Shared use case is a special case that one use case is connected to more than one actor while some of these actors for this use case need different secondary actor thus it wouldn't be possible to represent this concepts.

The solution would be to distinguish the shared use case to two or more use cases regarding to the actors that need different secondary actor.

In order to explain the dynamics of a use case in detail, the most obvious way of going about it involves textually compiling a list of all the interactions between the actors and the system

UML, Case Study 1 (ATM), Hossein Tohidi 2

Page 3: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Elements involved

Actor

Static Context Diagram

Use case

Use Case Diagram

Primary actor, Secondary Actor

Textual Description of a Use Case

Scenario, sequence

System Sequence Diagram

Activity Diagram

Inclusion, extension and generalization

Package use cases

UML, Case Study 1 (ATM), Hossein Tohidi 3

Page 4: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Use Case Graphical Description

However, the text also has its disadvantages as it difficult to show how the sequences follow one another, or at what moment the secondary actors are requested.

Besides, keeping a record of changes often turns out to be rather tiresome.

It is therefore recommended to complete the textual description with one or more dynamic UML diagrams.

UML, Case Study 1 (ATM), Hossein Tohidi 4

Page 5: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Dynamic d descriptions of a use case

UML, Case Study 1 (ATM), Hossein Tohidi 5

Page 6: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Dynamic d descriptions of a use case

For use cases, we recommend the activity diagram, as users find it far easier to understand since it resembles a traditional diagram. ◦ However, the state diagram may be useful for use cases

that are very interactive.

For certain scenarios, the sequence diagram works well.

We recommend that you present it by showing the primary actor on the left, then an object representing the system in a black box, and finally, any secondary actors that may be requested during the scenario on the right of the system.

We will use the title system sequence diagram as proposed by Larman.

UML, Case Study 1 (ATM), Hossein Tohidi 6

Page 7: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Creating Sequence Diagram

? Create a system sequence diagram that

describes the main success scenario of

the Withdraw money using a Visa card use

case.

We use sequence diagram to describe main

success scenario for a use case.

UML, Case Study 1 (ATM), Hossein Tohidi 7

Page 8: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Creating Sequence Diagram

For start to draw this diagram All you need to do is copy the interactions quoted in the textual scenario of Withdraw money using a Visa card use case into a sequence diagram by following the graphical conventions listed above:

1. According to the “Unique Actor Rule” for each use case we have just one primary actor, in result for each main success scenario we have just one main actor. We put that primary actor, Visa CardHolder (in this example), on the left.

2. An object representing the ATM system as a whole in the middle.

3. The secondary actor(s), Visa AS, to the right of the ATM.

UML, Case Study 1 (ATM), Hossein Tohidi 8

Page 9: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Sequence Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 9

Page 10: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

As we mentioned, sequence diagram is useful to present main success scenario, so the question is that how we can present all of the main and alternative and also error scenario for while of a use case. The answer is activity diagram.

Unlike the previous sequence diagram that only describes the main success scenario, the activity diagram can represent all the activities that are carried out by the system, with all the conditional branches and all the possible loops.

The activity diagram is essentially a flowchart, showing flow of control from activity to activity.

The transitions are triggered at the end of activities or actions; steps can be carried out in parallel or in sequence.

UML, Case Study 1 (ATM), Hossein Tohidi 10

Page 11: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Elements of Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 11

1. Activity states explained next slide

2. Action state explained next slide

3. Transition show what activity state

follows after another.

4. Decisions (branch) for which a set of

guard conditions are defined. These are

conditions that must be met to trigger

the transition.

5. Synchronization bars, which you can

use to show parallel subflows.

Synchronization bars allow you to show

concurrent threads - fork or join.

Page 12: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity state vs. Action state

An activity state models the realisation of an activity that: ◦ is complex and can be broken down into activities or

actions,

◦ can be interrupted by an event.

In general activity state, is a collection of some atomic action is packaged in one unit.

An action state models the realisation of an action that: ◦ is simple and cannot be broken down,

◦ is atomic, which cannot be interrupted.

UML, Case Study 1 (ATM), Hossein Tohidi 12

Page 13: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Start!!

For a given use case, by considering all of

the main success and alternative and

error scenario, we start to draw the

activity diagram from initial state.

For alternative sequence and also error

sequences we use conditional branches

and also Failed State.

UML, Case Study 1 (ATM), Hossein Tohidi 13

Page 14: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 14

Page 15: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Diagrams

Page 16: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 16

Page 17: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 17

Page 18: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 18

Page 19: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 19

Page 20: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Activity Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 20

Page 21: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

An improvement!

It is possible to show alternative and error sequence over sequence diagram.

We can do this one when a diagram that is less complex to read than an activity diagram, as there are fewer symbols, but it nevertheless retains an informative content for the specialist.

This possibility is useful in order to introduce the following: ◦ The main internal activities of the system

by means of messages that it sends to itself.

◦ References to “alternative” and error sequences by means of notes.

In the next slide you can see the updated version of the last sequence diagram.

UML, Case Study 1 (ATM), Hossein Tohidi 21

Page 22: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Improved Sequence Diagram

UML, Case Study 1 (ATM), Hossein Tohidi 22

Page 23: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Summary and Conclusion

However, the text also has its disadvantages as it difficult to show how the sequences follow one another, or at what moment the secondary actors are requested.

We use sequence diagram to describe main success scenario for a use case. Sequence diagram is a graphical presentation for the main success Scenario.

As we mentioned, sequence diagram is useful to present main success scenario, so the question is that how we can present all of the main and alternative and also error scenario for while of a use case. The answer is activity diagram.

Unlike the previous sequence diagram that only describes the main success scenario, the activity diagram can represent all the activities that are carried out by the system, with all the conditional branches and all the possible loops.

It is possible to show alternative and error sequence over sequence diagram, but still activity diagram is better.

Page 24: 3.UML Functional View ATM Chapter 4 UsecaseGrphicalDes

Future Works

We continue our discussion with the other case studies to make the previous concepts more clear.

We continue the main topic by start to talk about static and dynamic parts, and also class diagram.

On the basis of a new case study, we will allow us to outline the main difficulties, step by step, that the construction of UML class diagrams poses.

The class diagram has always been the most important diagram in all object oriented methods.

This is the diagram that automatic code generation tools use first and foremost.

This is also the diagram that contains the widest range of notationsand variants; hence the difficulty in using all these concepts correctly.

UML, Case Study 1 (ATM), Hossein Tohidi 24


Recommended