Presentation is loading. Please wait.

Presentation is loading. Please wait.

Classification of UML Diagrams

Similar presentations


Presentation on theme: "Classification of UML Diagrams"— Presentation transcript:

1 Classification of UML Diagrams

2 Behavioral and Structural Perspectives of Unified Modeling Language UML
Any software system can have two aspects, static and dynamic. So a model is considered as complete when both the aspects are covered fully.

3 Structural Diagrams The structural diagrams represent the static aspect of the system. These static aspects represent those parts of a diagram which forms the main structure and therefore stable. Class Diagrams, Object Diagrams, Package Diagrams, Component Diagrams Deployment Diagrams

4 Behavioral Diagrams Behavioral diagrams basically capture the dynamic aspect of a system. Dynamic aspect can be described as the changing/moving parts of a system. Use case diagram Sequence diagram Collaboration diagram State chart diagram Activity diagram

5 Behavioral Diagram I Use case diagram

6 Use case Diagrams Use cases help with some of the most difficult aspects of a development process: model sequences of actions that are carried out by the system and that provide an observable result to someone or something outside the system; provide the basis for determining the interfaces to the system; model alternative scenarios for specific use cases that may result in different sequences of actions;

7 Use Case Diagrams Use case diagrams are a set of use cases, actors and their relationships. They represent the use case view of a system. A use case represents a particular functionality of a system. Use case diagram is used to describe the relationships among the functionalities and their internal/external controllers. These controllers are known as actors.

8 Use cases Define a piece of behavior of an “entity” without revealing the internal structure of the entity. The specification of sequences of actions, including variant sequences and error sequences, that a system or a class can perform by interacting with an external entity. Graphically, a use case is only given by

9 Actors Actor represents a coherent set of roles that users of use cases play when interacting with these use cases An actor represents a role that a human, a hardware device, or even another system plays with a system

10 Associations between Actors and Use Cases
Denote the participation of an actor in a use case, i.e. instances of the actor and instances of the use case communicate with each other. Are the only relationships between actors and use cases. May have adornments (such as multiplicity and names).

11 Use Case Diagram A use case diagram is a diagram that shows a set of use cases and actors and their relationship. Use case diagrams commonly contain Use cases, Actors, Dependency, Generalization, and Association relationships Use case diagrams are applied to model the static use case view of a system by modeling the context of a system and by modeling the requirements of a system

12 Communication between Actors and Use Cases
One actor may communicate with several use cases of an entity, i.e. the actor may request several services of the entity. One use case communicates with one or several actors when providing its service. Two use cases specifying the same entity cannot communicate with each other since each of them individually describes a complete usage of the entity.

13 Modeling the Requirements of a System
Establish the context of the system by identifying the actors that surround it For each actor, consider the behavior that each expects or requires the system to provide Name these common behaviors as use cases Factor common behavior into new use cases that are used by others Factor variant behavior into new use cases that extend more main line flows Model these use cases, actors, and their relationships in a use case diagram

14 Modeling the Requirements of a System

15 Identifying Use Cases Identify potential services by answering the following questions from the point of view of each actor: What is the actor trying to accomplish? What does the actor need to be able to do? What are the main tasks of the actor? What information does the actor require from the system? What information does the actor provide to the system?

16 Modeling the Context of a System
Identify the actors that surround the system by considering which groups require help from the system to perform their tasks; are needed to execute the system’s functions; interact with external hardware or other software systems; perform secondary functions for administration and maintenance Organize actors that are similar to one another in a generalization / specialization hierarchy Populate a use case diagram with these actors and specify the paths of communication from each actor to the system’s use cases

17 Modeling the Context of a System

18 Modeling the Behavior of an Element

19 EXAMPLE

20 Organizing Use cases Generalization between Actors
by adding <<include>>, <<extend>> and generalization relationships between use cases. by grouping them into packages to define functional blocks of higher level. Generalization between Use Cases

21 <<include>> relationships between use cases
An include relationship between use cases means that the base use case explicitly incorporates the behavior of another use case at a location specified in the base.

22 <<include>> relationships between use cases
The behavior of the include use case is common to two or more use cases The result of the behavior that the include use case specifies is important to the base use case An include relationship points from the CheckorderStatus use case to the Login use case to indicate that the CheckOrderStatus use case always includes the behaviors in the Login use case.

23 <<extend>> relationships between use cases
The extend relationship contains a condition and references a sequence of extension points in the target use case. The condition must be satisfied if the extension is to take place, and the references to the extension points define the locations in the base use case where the additions are to be made.

24 specifyShippingInstuctions
Extension Points Details of the point or points in the use case at which the extension takes place can be shown in a extension point in the use case ellipse in the diagram. placeOnlineOrder specifyShippingInstuctions <<extend>> Extension point: conditions For example: The base use case is called placeOnlineOrder that has an extending use case called specifyShippingInstuctions. An extended relationship points from the specifyShippingInstuctions use case to the placeOnlineOrder use case to indicate that the behaviors in the specifyShippingInstuctions use case are optional and only occur in certain circumstances.

25 Include & Extend Relationships between Use Cases
An include relationship between use cases means that the base use case explicitly incorporates the behavior of another use case at a location specified in the base. An extend relationship between use cases means that the base use case implicitly incorporates the behavior of another use case at a location specified indirectly by the extending use case An extend relationship can be rendered as a dependency, stereotyped as extend. extension points are just labels that may appear in the flow of the base use case

26 Generalization- Include –Extend relationships between Use Cases

27 EXAMPLE

28 Key differences between «include» and «extend» relationships
Is this use case optional? Is the base use case complete without this use case? Is the execution of this use case conditional? Does this use case change the behavior of the base use case? Included use case Extending use case No Yes [ Source: Robert Maksimchuk & Eric Naiburg: UML for Mere Mortals, Addison-Wesley, ]

29 The nature of the «include» relationship

30 extending the primary Use Case

31 The Nature of the Generalization Relationship

32

33 Simple Use Case Example Online Bookshop Use Case Diagram

34 Simple Use Case Example Buy Goods

35

36 Example: Login Use Case?
BAD: GOOD: Landlord AddUser SetDevicePrefs Login AddUser SetDevicePrefs Landlord «include» Login

37 Another Exercise Who or what are the actors?
I am the manager of a theatre. I want to create an automated movie ticket machine. You are analysts who need to describe what the customer wants as a set of use cases Simplifying assumptions: One movie showing at a time Movie time is same every day, only one time, same price Only manager can change/add movie Customer can only buy tickets Who or what are the actors? What are the use cases (goals of actors)?

38

39 Use case diagram for Movie Ticket Machine
Why are there three Actors? Why three use cases for Customer? Which use cases look easy to write

40 Use cases for Manager Use case: Set title Use case: Set seats
Actors: Manager, Machine 1. Manager requests a change of movie title 2. Machine asks manager for new movie title 3. Manager enters movie title Use case: Set price 1. Manager requests a change of ticket price 2. Machine asks manager for new price for movie title 3. Manager enters ticket price Alternatives: Invalid price If manager enters price below $1 or greater than $10 3a. Machine asks manager to reenter price Use case: Set seats Actors: Manager, Machine 1. Manager requests a change in number of seats 2. Machine asks manager for number of seats in theatre 3. Manager enters number of seats Alternatives: Invalid number of seats If manager enters number less than 20 or greater than 999 3a. Machine asks manager to reenter number of seats

41 Use cases for Customer Use case: Buy tickets Actors: Customer, Machine
1. Customer requests tickets 2. Machine tells customer to put balance due in money slot 3. Customer enters money in money slot 4. Machine updates customer balance 5. Customer requests tickets 6. Machine prints tickets 7. Machine updates number of seats Alternative: Insufficient seats At step 1, if number of tickets requested is less than available seats, 1a. Display message and end use case Alternative: Insufficient funds At step 5, if money entered < total cost, 5a. Display insufficient amount entered 5b. Go to step 3

42 Behavioral Diagram II Sequence Diagram

43 Interaction Diagrams One of the subsets of Behavioral diagrams wherein Interaction diagrams graphically depicts the way objects interact with each other to give different behaviors. Interaction diagrams are sub classified into Sequence diagrams and Collaboration diagrams Sequence Diagrams are special type of Interaction Diagram which apart from graphically showing the object interaction specially focuses on the sequence and timing of interaction between the objects. Collaboration Diagrams are special type of Interaction diagrams which apart from graphically showing the object interaction focuses on the spatial distribution of the objects.

44 The Purposes of Interaction Diagrams
The interactive behavior of the system is visualized . Visualizing interaction is a difficult task. So the solution is to use different types of models to capture the different aspects of the interaction. The purposes of interaction diagram To capture dynamic behavior of a system. To describe the message flow in the system. To describe structural organization of the objects. To describe interaction among objects.

45 Sequence Diagram A sequence diagram is an interaction diagram.
The diagram deals with some sequences, which are the sequence of messages flowing from one object to another. Interaction among the components of a system is very important from implementation and execution perspective. Sequence diagram is used to visualize the sequence of calls in a system to perform a specific functionality.

46

47 Behavioral Diagram III
Collaboration Diagram

48 Collaboration Diagram
Collaboration diagram is another form of interaction diagram. It represents the structural organization of a system and the messages sent/received. Structural organization consists of objects and links. The purpose of collaboration diagram is similar to sequence diagram. But the specific purpose of collaboration diagram is to visualize the organization of objects and their interaction.

49

50 MSG Foundation Information System
Case Study MSG Foundation Information System

51 The Initial Functional Model: MSG Foundation
Recall the seventh iteration of the use-case diagram

52 Use Case Manage a Mortgage
One possible extended scenario

53 Use Case Manage a Mortgage
A second extended scenario

54 Use Case Estimate Funds Available for Week
One possible scenario

55 Use Case Produce a Report
One possible scenario

56 Use Case Produce a Report
Another possible scenario

57 The Initial Class Diagram: MSG Foundation
The aim of entity modeling step is to extract the entity classes, determine their interrelationships, and find their attributes Usually, the best way to begin this step is to use the two-stage noun extraction method

58 Noun Extraction: MSG Foundation
Stage 1: Describe the information system in a single paragraph Weekly reports are to be printed showing how much money is available for mortgages. In addition, lists of investments and mortgages must be printed on demand.

59 Noun Extraction: MSG Foundation
Nouns report and list are not long lived, so they are unlikely to be entity classes (report will surely turn out to be a boundary class) money is an abstract noun This leaves two candidate entity classes Mortgage Class and Investment Class 

60 Noun Extraction: MSG Foundation (contd)
Stage 2: Identify the nouns in this paragraph Weekly reports are to be printed showing how much money is available for mortgages. In addition, lists of investments and mortgages must be printed on demand. The nouns are report, money, mortgage, list, and investment

61 Second Iteration of the Initial Class Diagram
Operations performed on the two entity classes are likely to be very similar Insertions, deletions, and modifications All members of both entity classes have to be printed on demand Mortgage Class and Investment Class should be subclasses of a superclass called Asset Class

62 Eighth Iteration of the Use-Case Diagram
The new use case is shaded

63 Initial Class Diagram: MSG Foundation
Finally, we add the attributes of each class to the class diagram For the MSG Foundation case study, the result is shown on the next slide The empty rectangle at the bottom of each box will later be filled with the operations of that class

64 Second Iteration of Initial Class Diagram (contd)

65 Estimate Funds Available for Week Use Case

66 Estimate Funds Available for Week Use Case
Description of use case

67 Estimate Funds Available for Week Use Case
The six classes that enter into this use case are: User Interface Class This class models the user interface Estimate Funds for Week Class This control class models the computation of the estimate of the funds that are available to fund mortgages during that week Mortgage Class This class models the estimated grants and payments for the week Investment Class This class models the estimated return on investments for the week MSG Application Class Estimated Funds Report Class This class models the printing of the report  

68 Estimate Funds Available for Week Use Case
Scenario (one possible instance of the use case)

69 Estimate Funds Available for Week Use Case
Sequence diagram equivalent to the collaboration diagram (of the realization of the scenario of the use case)

70 Manage an Asset Use Case

71 Manage an Asset Use Case
One scenario of the use case

72 Manage an Asset Use Case
Sequence diagram equivalent to the collaboration diagram (of the realization of the scenario of the use case)

73 Manage an Asset Use Case
A different scenario of the use case

74 Manage an Asset Use Case
Boundary class User Interface Class appears in all the realizations The same screen will be used for all commands of the information system

75 Update Annual Operating Expenses Use Case
Equivalent sequence diagram

76 Produce a Report Use Case

77 Produce a Report Use Case
Description of use case

78 Produce a Report Use Case
One scenario of the use case

79 Produce a Report Use Case (cont’d)
Sequence diagram

80 Produce a Report Use Case (cont’d)
Sequence diagram for second scenario


Download ppt "Classification of UML Diagrams"

Similar presentations


Ads by Google