Uml Intro H1

  • Uploaded by: thanhluantink30c
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Uml Intro H1 as PDF for free.

More details

  • Words: 3,966
  • Pages: 82
Hoang Huu Hanh, PhD [email protected]



UML UNIFIED MODELING LANGUAGE

Hue University

ue University b a se d o n o n lin e co u rse s a n d p re se n ta tio n s

ue University

DEFINITION Unified Modeling Language is the successor to the wave of Object-Oriented Analysis and Design methods that appear in the late `80s and early `90s. Most directly unifies the methods of Booch, Rumbaugh (OMT), and Jacobson, but its reach is wider than that. UML went through a standardization process with the OMG (Object Management Group) and is now an OMG Introduction to UML

2

UML History

ue University Introduction to UML

3

ue University

WHAT IT IS UML is a modeling language, not a method Most methods consist, at least in principle, of both a modeling language and a process. Modelling Language is the (mainly graphical) notation that methods use to express designs. Process is their advice on what steps to take in doing a design. Modeling Language is the most important part of the method, which is the key part of communication. Introduction to UML

4

ue University

WHY USE UML  Helps Analysis and Design  Used for communication  Use the advantages of OO  Documentation 

As stated in The Unified Modeling Language User Guide; UML is a language for: • Visualizing • Specifying • Constructing • Documenting 



Introduction to UML

5

Visualizing It

makes it easier to understand and work through problem Since it is a formal language, it enables other developers familiar with the language to more easily interpret our drawings.

ue University Introduction to UML

6

Specifying We

must communicate our software system using some common, precise, and unambiguous communication mechanism. Again the formal nature of the UML facilitates this specification quite nicely.

ue University Introduction to UML

7

ue University

Constructing  We

know that the UML is a formal language with its own set of syntactical rules.  Because of this formality, we can create tools that interpret our models.  They can map the elements to a programming language, such as Java, C++.  Many tools such as Rational Rose, supports this forward engineering. In fact this is one of the advantages of using a formal modeling tool. Introduction to UML

8

Documenting The

models we create are just one of the articats produced throughout the development lifecycle. Using the UML in a consistent fashion produces a set of documentation that can serve as a blueprint of our system.

ue University Introduction to UML

9

ue University

USAGES Define the boundaries of a system & its major functions ◦ use cases and actors

Illustrate use cases

◦ interaction diagrams

Define the static structure of a system ◦ class diagrams

Model the behavior of objects ◦ state transition diagrams

Document the physical implementation architecture ◦ component & deployment diagrams

Provide for growth ◦ stereotypes

Introduction to UML

10

FUNDAMENTAL UML Models

and Views Core Diagrams Fundamental Elements

ue University Introduction to UML

11

Model Views Class Diagrams Sequence Diagrams

Class Diagrams (Packages)

Individual Diagrams «utility» utility1

«interface» Interface3

UseCase1

Class3 UseCase2 Actor1

Fundamental Elements Interface2

*

«uses»

-End1 *

Actor2

UseCase3

-End2

{}

ue University Introduction to UML

12

ue University

Models and Views UML

is more than disjointed diagrams Turn attention to an illustration of the UML from three different perspectives Further insight into these divisions enables us to realize one of the greatest benefits of modeling, which is creating different views of our software system. Introduction to UML

13

Core Elements Construct Description

Syntax

class

a description of a set of objects that share the same attributes, operations, methods, relationships and semantics. interface a named set of operations that characterize the behavior of an element. component a modular, replaceable and significant part of a system that packages implementation and exposes a set of interfaces. node a run-time physical object that represents a computational resource. ue University

« in

Introduction to UML

14

Core Elements (cont’d) Construct

Description

Syntax

constraint ¹

a semantic condition or restriction. { c o

n

s t r a

i n

t }

¹ An extension mechanism useful for specifying structural elements.

ue University Introduction to UML

15

Fundamental Elements These

are the elements of which diagrams are composed Understanding the intent of each element enables us to create precise diagrams, because each of them has unambiguous meaning.

ue University Introduction to UML

16

ue University

DIAGRAMS  Individual

diagrams contribute more to the specification of a software system.  They are composition of many of the fundamental elements.  Are mechanism that developers use to communicate and solve problems in the complex aspects of the system.  The most common diagram is the Class Diagram, which describe the structural relationships that exist among the classes, can guide developers in understanding our software system’s class structure. Introduction to UML

17

ue University

VIEWS  As

we become more proficient in modeling, we begin to realize that using a combination of diagrams to communicate is most effective.  We may need to combine class diagram with a diagram whose intent is to give systems dynamics.  By combining these called views.  View is a depiction of our system from a particular perspective.  By making different views, we can represent our system from different perspectives. Introduction to UML

18

ue University

VIEWS (cont’d) There are five main views, ◦ ◦ ◦ ◦ ◦

Use case Design Development Process Physical

They must be consistent with each other, because all of them are representing the same system. Can be used to validate each other. Introduction to UML

19

ue University

USE CASE VIEW  This

view documents the system from the customer’s perspective.  Terminology used in this view should be domain specific.  Depending on the technical nature of our audience, we should avoid obscure technical terms.  Diagrams most common in this view are the use case diagrams and, less common, activity diagrams.  Organizations transitioning to the UML may wish to work only with use case diagrams early and experiment with activity diagrams over time. Introduction to UML 20

ue University

Design VIEW This

view documents the system from designer’s and architect’s perspective. Diagrams most common in this view are class and interaction diagrams (either sequence or collaboration), as well as package diagrams illustrating the package structure of our Java application. 

Introduction to UML

21

ue University

Development VIEW This

view documents the components that the system is composed of. This view typically contains component diagrams. Except for the most complex Java applications, this view is optional.  Introduction to UML

22

ue University

Process VIEW This

view documents the processes and threads that compose our application. These processes and threads typically are captured on class diagrams using an active class. Because of the advanced nature of active classes, coupled with the volume of use, active classes are beyond the scope of this discussion. Introduction to UML

23

Physical VIEW This

view documents the system topology. Deployment diagrams that compose this view illustrate the physical nodes and devices that make up the application, as well as the connections that exist between them. 

ue University Introduction to UML

24

VIEWS (cont.) We

are not limited with the listed views. If there is something that architecturally important, for example security, then we may create a new view (ex: security view) into the system from that perspective.

ue University Introduction to UML

25

ue University

Modeling Elements Structural

elements

◦ class, interface, collaboration, use case, active class, component, node Behavioral

elements

◦ interaction, state machine Grouping

elements

◦ package, subsystem Other

elements

◦ note Introduction to UML

26

ue University

Diagrams - The foundation of UML  Use Case Diagrams ◦ Requirements

 Activity Diagrams ◦ Generally what, not who - good to detect parallelism

 Interaction Diagrams ◦ Collaboration/Communication Diagrams (object centered) ◦ Sequence Diagrams (timeline)

 Static Structure Diagrams ◦ Objects/Classes/Packages

 Statechart Diagrams ◦ States of objects with interesting lifecycles

 Implementation Diagrams ◦ Component Diagrams ◦ Deployment Diagrams Introduction to UML

27

ue University

DIAGRAMS  As we’ve seen, we can combine diagrams that form models and that can serve as views into our system.  If an advantage in modeling is to combine diagrams to form views into our system, then it only makes sense that each diagram has a different focus on what it communicates.  Each falls into one of two categories: behavioral, and structural.  Most commonly used

Introduction to UML

28

ue University

Behavioral diagrams  Behavioral diagrams depict the dynamic aspects of our system.They are most useful for specifying the collaborations among elements that satisfy the behavior of our system’s requirements.  Five diagrams that fall into this category are; ◦ Use case ◦ Activity ◦ State ◦ Sequence ◦ Collaboration (Communication)  Mostly used are use case, sequence, and collaboration.  Activity and state diagrams are used on an asneeded basis.  Activity diagrams visually represent behaviors captured by use cases.  State diagrams, on the other hand, are used to illustrate complex transitions in behavior for a single class. Introduction to UML

29

Core Relationships Construct

Description

association

a relationship between two or more classifiers that involves connections among their instances. A special form of association that specifies a whole -part relationship between the aggregate (whole) and the component part. a taxonomic relationship between a more general and a more specific element. a relationship between two modeling elements, in which a change to one modeling element (the independent element) will affect th e other modeling element (the dependent element).

aggregation

generalization

dependency

ue University

Syntax

Introduction to UML

30

Core Relationships (cont’d) Construct

Description

Syntax

realization

a relationship between a specification and its implementation.

ue University Introduction to UML

31

ue University

Relationships  An

association is a bi-directional connection between classes ◦ An association is shown as a line connecting the related classes

 An

aggregation is a stronger form of relationship where the relationship is between a whole and its parts ◦ An aggregation is shown as a line connecting the related classes with a diamond next to the class representing the whole

A

dependency relationship is a weaker form of relationship showing a relationship between a client and a supplier where the client does not have semantic knowledge of the supplier  A dependency is shown as a dashed line Introduction to UML 32

Relationship Notation 1

- one and only one 4 - four and only 4 0..1 - zero or 1 5..10 - five to and including 10 0..* - zero or more 4..* - four or more

ue University Introduction to UML

33

Finding Relationships Relationships

are discovered by examining interaction diagrams ◦ If two objects must “talk” there must be a pathway for communication

Registration Manager

RegistrationManager Math 101: Course

3: add student(joe) Course

ue University Introduction to UML

34

Relationships ScheduleAlgorithm

RegistrationForm

ue University

RegistrationManager addStudent(Course, StudentInfo)

Course name numberCredits

Student

open() addStudent(StudentInfo)

name major

Professor name tenureStatus

CourseOffering location open() addStudent(StudentInfo)

Introduction to UML

35

Associations Job 1..∗ ∗ Company employer employee

Job salary

Person

boss

worker ∗

0..1

Manages

Person Account

{X or} Corporation

ue University Introduction to UML

36

Association Ends 1 Polygon

+vertex 3..∗ Contains {ordered}

Point

1 1 -bundle

GraphicsBundle color texture density

ue University Introduction to UML

37

Relationship Notation 1

- one and only one 4 - four and only 4 0..1 - zero or 1 5..10 - five to and including 10 0..* - zero or more 4..* - four or more

ue University Introduction to UML

38

ue University

Ternary Associations Year season ∗

Team



∗ goalkeeper

team

Player

Record goals for goals against wins losses ties

Introduction to UML

39

Composition Window scrollbar [2]: Slider title: Header body: Panel

Window 1 scrollbar Slider

2

1 1 title

1 Header

body

1 Panel

ue University Introduction to UML

40

Composition (cont’d) Window

scrollbar:Slider

2

1 title:Header

body:Panel

1

ue University Introduction to UML

41

ue University

Generalization Shape Separate Target Style

Polygon

Ellipse

Spline

. ..

Shape

Polygon

Ellipse

Shared Target Style

Spline

...

Introduction to UML

42

Generalization Vehicle venue

power power

{overlapping} WindPowered Vehicle

Truck

venue

MotorPowered Vehicle

{overlapping} Land Vehicle

Water Vehicle

Sailboat

ue University Introduction to UML

43

Dependencies ClassA

ClassD

ClassB

«friend»

«friend» «instantiate»

«call»

ClassC «refine»

ClassD

operationZ()

ClassC combines two logical classes

ClassE

ue University Introduction to UML

44

Dependencies Controller «access»

«access» «access»

Diagram Elements

«access»

«access» Domain Elements

Graphics Core

ue University Introduction to UML

45

Derived Attributes and Associations Person birthdate /age

{age = currentDate - birthdate}

Company

1

employer 1 employer

∗ Department 1

department WorksForDepartment



∗ Person

/WorksForCompany { Person.employer=Person.department.employer }

ue University Introduction to UML

46

Links officer

treasurer downhillSkiClub:Club president

Jill:Person

member member

Joe:Person

member Chris:Person officer

ue University Introduction to UML

47

Constraints and Comments ∗

M em b e r - of

P e rs o n

∗ C o m m itt e e

{ s ub s e t} 1

C h ai r -o f



e m p lo y e e



0 .. 1

P e r so n



R ep r e s en ts a n in c o r po r a te d e n ti ty .

em p l o y e r 0 .. 1

C om pa ny

b os s

{ P e r s o n. em p l oy e r = P e rs o n. bo s s .e m p lo y e r }

ue University Introduction to UML

48

ue University

Actors An

actor is someone or some thing that interacts with the system External Forces ◦ Human interaction ◦ Automated System Driver User

Keyboard Operator

Traffic Control System

<> <> Introduction to UML

49

ue University

Use Cases A use case is a pattern of behavior the system exhibits ◦ Each use case is a sequence of related transactions performed by an actor and the system in a dialogue ◦ Details what the system must provide to the actor when the use cases is executed

A flow of events document is created for each use case ◦ Written from an actor point of view ◦ Actors are examined to determine their how they interact with the system

§ Break down into the most atomic actions possible

Typical contents ◦ ◦ ◦ ◦

How the use case starts and ends Normal flow of events Alternate flow of events Exceptional flow of events Introduction to UML

50

ue University

Use case diagrams Use case diagrams are centered around the business processes that our application must support. Most simply, use case diagrams enable us to structure our entire application around the core processes that it must support. Doing so enables us to use these use cases to drive the remainder of the modeling and development effort. Shows a set of actors and use cases, and the relationships between them. Use case diagrams contribute to effective model organization, as well as modeling the core behaviors of a system. Introduction to UML

51

ue University

Use Case Diagram Captures system functionality as seen by users Built in early stages of development Purpose ◦ Specify the context of a system ◦ Capture the requirements of a system ◦ Validate a system’s architecture ◦ Drive implementation and generate test cases

Developed by analysts and

Introduction to UML

52

Use Case Diagram Use

case diagrams are created to visualize the relationships between actors and use cases Pay toll Driver

Passager Lost Luggage

Customer Service Agent

ue University

Ramp Maintenance Mechanic

Introduction to UML

53

Use Case Diagram Captures

system functionality as seen by users

ue University Introduction to UML

54

ue University

Collaboration Diagrams A

type of interaction diagram that describes the organizational layout of the objects that send and receive messages. Semantically equivalent to a sequence diagram. It uses class diagrams layout, and can be used to make more cohesive and less coupled classes. Introduction to UML

55

ue University

Collaboration Diagram A

collaboration diagram displays object interactions organized around objects and their links to one another course form : 1: set course info 2: process

CourseForm

3: add course

: Registrar

theManager : CurriculumManager

aCourse : Course 4: new course

Introduction to UML

56

ue University

Sequence Diagrams Semantically

equivalent to a collaboration diagram. sequence diagram is a type of interaction diagram that describes time ordering of messages sent between objects. Almost in all software development activity, this diagram is used. Introduction to UML

57

Sequence Diagram A

sequence diagram displays object interactions arranged in a time sequence

Passenger

Counter Agent

Ticket

Gate Agent

Plane

1: Give Info 2: Questions 3: Answer 5: Safeguard

4: Print 6:Present

7: Board 8: Overbook

9: Return

ue University Introduction to UML

58

The State of an Object A

state transition diagram shows ◦ The life history of a given class ◦ The events that cause a transition from one state to another ◦ The actions that result from a state change

State

transition diagrams are created for objects with significant dynamic behavior

ue University Introduction to UML

59

State Transition Diagrams Illustrates

internal state-related behavior of an object. Transitions between states help identify, and validate, complex behavior. A class can have at most a single state diagram. 

ue University Introduction to UML

60

State Transition Diagram Add student[ count < 10 ] Initialization

Add Student / Set count = 0

do: Initialize course

Open entry: Register student exit: Increment count

Cancel Cancel

[ count = 10 ]

Canceled do: Notify registered students

Cancel

Closed do: Finalize course

ue University Introduction to UML

61

Activity Diagrams Models

the flow of activity between processes. These diagrams are most useful in detailing use case behavior. An activity diagram doesn’t show collaboration among objects. 

ue University Introduction to UML

62

ue University

STRUCTURAL DIAGRAMS  Diagrams in this category are focused on specifying the static aspects of our system.  Of these four diagrams, the class diagram is most often used.  when transitioning to the UML, most organizations tend to use class diagrams first because they are excellent mechanisms for communication among developers, as well as tools that can be used for problem solving.  There are two forms of class diagrams.  The first is the most commonly understood and consists of the classes that compose our system and of the structure among these classes.  Unfortunately, the second is not often used but is of equal importance and can be most effective in helping developers understand our system from a high level.  A type of class diagram, called a package diagram, often represents the Java packages and the dependencies between them that our application consists of. Introduction to UML

63

Class Diagrams Illustrates

a set of classes, packages, and relationships detailing a particular aspect of a system. This diagram is likely the most common one used in modeling. 

ue University Introduction to UML

64

ue University

Class Diagrams  A class diagram shows the existence of classes and their relationships in the logical view of a system  UML modeling elements in class diagrams ◦ Classes and their structure and behavior ◦ Association, aggregation, dependency, and inheritance relationships ◦ Multiplicity and navigation indicators ◦ Role names

 Attributes ◦ The structure of a class is represented by its attributes ◦ Attributes may be found by examining class definitions, the problem requirements, and by applying domain knowledge

 Operations ◦ The behavior of a class is represented by its operations interaction ◦ Operations may be found by examining Introduction to UML

65

Class Diagram  Captures

the vocabulary of a system

ue University Introduction to UML

66

ue University

Object Diagrams  Provides

a snapshot of the system illustrating the static relationships that exist between objects.  Object diagrams depict the structural relationship that exists among the objects within our running application at a given point in time.  When we think of the runtime version of our system, we typically think of behavior.  Many people have found that object diagrams are most useful in fleshing out the instance relationships among objects, which in turn can help verify our class diagrams.  Beyond this, object diagrams are not often used. Introduction to UML

67

ue University

Relationships Relationships provide a pathway for communication between objects Sequence and/or collaboration diagrams are examined to determine what links between objects need to exist to accomplish the behavior -- if two objects need to “talk” there must be a link between them Three types of relationships are: ◦ Association ◦ Aggregation ◦ Dependency

Introduction to UML

68

ue University

Multiplicity and Navigation Multiplicity

defines how many objects participate in a relationships ◦ Multiplicity is the number of instances of one class related to ONE instance of the other class ◦ For each association and aggregation, there are two multiplicity decisions to make: one for each end of the relationship

Although

associations and aggregations are bi-directional by default, it is often desirable to restrict navigation to one direction If navigation is restricted, an Introduction to UML

69

Multiplicity and Navigation ScheduleAlgorithm

RegistrationForm 0..*

1 RegistrationManager addStudent(Course, StudentInfo)

Course

1 0..* Student

name numberCredits open() addStudent(StudentInfo)

major

1 3..10 Professor tenureStatus

4 1

1..* CourseOffering location

0..4

open() addStudent(StudentInfo)

ue University Introduction to UML

70

ue University

Inheritance Inheritance

is a relationships between a superclass and its subclasses There are two ways to find inheritance: ◦ Generalization ◦ Specialization Common

attributes, operations, and/or relationships are shown at the highest applicable level in the hierarchy Introduction to UML

71

Inheritance ScheduleAlgorithm

RegistrationForm RegistrationManager addStudent(Course, StudentInfo)

Course name numberCredits

RegistrationUser name

Student

open() addStudent(StudentInfo)

major

Professor tenureStatus

CourseOffering location open() addStudent(StudentInfo)

ue University Introduction to UML

72

The Physical World Component

diagrams illustrate the organizations and dependencies among software components A component may be ◦ A source code component ◦ A run time components or ◦ An executable component

ue University Introduction to UML

73

ue University

Component Diagrams Addresses

the static relationships existing between the deployable software components. Examples of components may be .exe, .dll, .ocx, jar files, and/or Enterprise JavaBeans. Component diagrams might be used to show the software components within our application. Components aren’t equivalent to Introduction to UML

74

Component Diagram Captures

the physical structure of the implementation

ue University Introduction to UML

75

Deploying the System The

deployment diagram shows the configuration of run-time processing elements and the software processes living on them The deployment diagram visualizes the distribution of components across the enterprise.

ue University Introduction to UML

76

Deployment Diagram Captures

the topology of a system’s hardware

ue University Introduction to UML

77

Extensibility Mechanisms Stereotype Tagged

value Constraint

ue University Introduction to UML

78

ue University

Extending the UML Stereotypes can be used to extend the UML notational elements Stereotypes may be used to classify and extend associations, inheritance relationships, classes, and components Examples: ◦ Class stereotypes: boundary, control, entity, utility, exception uses ◦ Inheritance stereotypes: Introduction to UML and 79

ue University

Deployment Diagrams  Describes

the physical topology of a

system.  Typically includes various processing nodes, realized in the form of a device (for example, a printer or modem) or a processor (for example, a server).  Deployment diagrams are most useful when we have a complex configuration environment.  If our application is to be deployed to multiple servers, across locations, a deployment diagram might be useful. 

Introduction to UML

80

Q&A

… time to ask questions

ue University Introduction to UML

81

Thank you! … take a break

ue University Introduction to UML

82

Related Documents

Uml Intro H1
June 2020 16
Uml Intro
November 2019 5
Uml Historia Intro
December 2019 11
H1
October 2019 30
H1
May 2020 14
H1
June 2020 11

More Documents from ""

Uml Use Case Modeling
June 2020 22
Uml Activitydiagram
June 2020 13
Uml Intro H1
June 2020 16
Uml Class Diagram
June 2020 22