NG Đ I Ế ƯỚ Ố

PHÂN TÍCH THI T K H Ế NG V I UML T Ớ ƯỢ

LOGO

www.themegallery.com

ế

GV: Phan Bá Trí Email: trip182@gmail.co m Hu , 2/2012 Website:

www.phanbatri.wo

rdpess.com

Chương 2: Tổng quan về UML

Nội dung:

Chương này nhằm giới thiệu về ngôn ngữ mô  hình hoá thống nhất UML và công cụ phát triển  phần mềm hướng đối tượng. Nội dung cụ thể  bao gồm: ­ Giới thiệu UML ­ Các biểu đồ trong UML ­ Các bước phân tích thiết kế hướng đối tượng  sử dụng UML ­ Giới thiệu bộ công cụ Enterprise Architecture

2.1 GI

I THI U V UML

ị ử ờ ủ

ố ầ ữ

ộ ữ

ươ ng đ i t ậ ng m i ra đ i: ờ ớ

2.1.1 L ch s ra đ i c a UML ­  Cu i nh ng năm 80, đ u nh ng năm 1990, ữ ng pháp lu n và ngôn ng mô m t lo t các ph ạ hình hóa h ố ượ ướ + Booch c a Grady Booch ủ + OMT c a James Rambaugh + OOSE c a Ivar Jacobson + OOA and OOD c a Coad và Yordon ủ

2.1.1 L ch s ra đ i c a UML ờ ủ ử ị

ượ

ẩ ả

ượ ệ ử ụ ữ

c đ a ra năm 1997 và sau đó - UML đ u tiên đ ư ầ c chu n hoá đ tr thành phiên b n 1.0. - đ ể ở Hi n nay chúng ta đang s d ng ngôn ng UML phiên b n 2.0. ả : ả James Rumbaugh, Grady Booch và - Tác gi Ivar Jacobson

2.1 GI

I THI U V UML

ể ặ ả

ề ề

ầ ầ

c xây d ng: ự ng đ i t ng ố ượ ng đ i t ng ố ượ ể

ng.

ữ ướ ng đ i ố

ướ

+ UML giúp người phát triển hiểu rõ và ra quyết định  liên quan đến phần mềm cần xây dựng. + UML bao gồm một tập các khái niệm, các ký hiệu, các biểu đồ và hướng dẫn.

2.1.2 UML – Ngôn ng mô hình hoá h ngượ t - UML (Unified Modelling Language) là ngôn ng ữ mô hình hoá t ng quát đ ượ ph n m m h + Đ đ c t ướ + Phát tri n ph n m m h ướ ể + Các tài li u đính kèm trong phát tri n ph n m m ệ ng đ i t h ố ượ

2.1 GI

I THI U V UML

ữ ng đ i ố ướ

ỗ ợ ướ ố

ự ắ ự ệ ạ

2.1.2 UML – Ngôn ng mô hình hoá h ngượ t - UML h tr xây d ng h th ng h t ượ tĩnh và các hành vi đ ng c a h th ng. ng đ i ố ệ ng d a trên vi c n m b t khía c nh c u trúc ấ ắ ủ ệ ố ộ

C U TRÚC TĨNH

ng ố ượ ể

ị ệ ố

ệ ữ ỉ

ấ ọ ặ ng đó. - Các c u trúc tĩnh đ nh nghĩa các ki u đ i t quan tr ng c a h th ng. ủ - Cài đ t và ch ra m i quan h gi a các đ i ố ố t ượ

HÀNH VI Đ NGỘ

ộ ị

ố ượ ạ ộ ủ

i đích. ng h ng t - Các hành vi đ ng (dynamic behavior) đ nh ng theo th i nghĩa các ho t đ ng c a các đ i t ờ gian. - T ươ ng tác gi a các đ i t ữ ố ượ ướ ớ

2.1 GI

I THI U V UML

ủ ữ

 Các m c đích c a ngôn ng mô hình hoá ụ th ng nh t UML: ấ

ố • Mô hình hoá các h th ng s d ng các khái ệ ố ử ụ

ng.

ướ ế ậ ậ

ng nh n th c c a con ứ ủ i đ n các s ki n c n mô hình hoá. ự ệ

ộ ừ ế ấ

ni m h ệ • Thi ườ ế • Gi ả ệ ố ứ ạ ế ộ ề

ng đ i t ố ượ t l p s liên h t ệ ừ ự ầ i quy t v n đ v m c đ th a k trong ề ề ứ các h th ng ph c t p v i nhi u ràng bu c khác ớ nhau.

ạ d ng đ • T o m t ngôn ng mô hình hoá có th s ể ử ữ i và máy. ộ c b i ng ở ượ ườ ụ

2.1 GI

I THI U V UML

ị ệ ắ ộ

ng d ướ ạ ố ượ ướ ề

 L u ý: ư UML quy đ nh m t lo t các ký hi u và quy t c ạ đ mô hình hoá các pha trong quá trình phát i d ng các ng đ i t tri n ph n m m h ầ bi u đ . ồ ể ể ể

2.1 GI

I THI U V UML

ơ ả ệ

2.1.3 Các khái ni m c b n trong UML a) Khái ni m mô hình ệ

Mô hình là một biểu diễn của sự vật hay một  tập  các  sự  vật  trong  một  lĩnh  vực  áp  dụng  nào  đó theo một cách khác.

Các mô hình thường được xây dựng sao cho  có  thể  vẽ  được  thành  các  biểu  đồ  dựa  trên  tập  ký hiệu và quy tắc đã cho.

MÔ HÌNH

@ Khi xây dựng các hệ thống, mô hình được

ắ ầ ứ

ắ ệ ố

t k d a trên vi c t k h th ng ế ế ệ ố ế ế ự ệ

ử ứ ổ

sử dụng nhằm thoả mãn các mục đích sau: - N m b t chính xác yêu c u và tri th c mi n mà ề h th ng c n phát tri n. ể ầ duy v thi - Th hi n t ề ể ệ ư - Tr giúp ra quy t đ nh thi ế ị ợ phân tích yêu c u.ầ - T ch c, tìm ki m, l c, ki m tra và s a đ i ọ ổ ế thông tin v các h th ng l n. ệ ố ề - Làm ch đ ủ ượ ể ớ c các h th ng ph c t p ứ ạ . ệ ố

MÔ HÌNH

ầ ộ @ Các thành ph n trong m t mô hình bao

ễ ữ ư

ể ấ

ng pháp th ể ả ễ ằ ấ ủ ậ ể ươ

ể ấ

ch c bên trong, cách s d ng ả ổ ứ ử ụ ữ ả

g mồ : - Ng nghĩa và bi u di n: Ng nghĩa là nh m đ a ữ ra ý nghĩa, b n ch t và các tính ch t c a t p các ký hi u. Bi u di n là ph ệ hi n mô hình theo cách sao cho có th nhìn th y ệ đ c.ượ t - Ng c nh: mô t mô hình trong ti n trình ph n m m … ế ề ầ

2.1 GI

I THI U V UML

ơ ả ệ

2.1.3 Các khái ni m c b n trong UML b) Khung nhìn (View) trong UML

ộ ộ ậ

ể ễ ộ

M t khung nhìn trong UML là m t t p con các c xây d ng đ bi u di n m t ể ể ự ệ ố ủ ữ bi u đ UML đ ượ ồ khía c nh nào đó c a h th ng. ạ ệ ự

t gi a các khung nhìn là r t linh ng ể

S phân bi ạ ng đ c mô t ấ ho t. Các khung nhìn cùng các bi u đ t ồ ươ ứ trong b ng sau: ả ượ ả

KHUNG NHÌN (VIEW)

Khung nhìn

Các khái ni m chính

Khía c nhạ

Các bi u để ồ

Tĩnh (static view)

Bi u đ l p

ồ ớ

L p, k th a, ph thu c, giao di n ụ

ế ừ

C u trúc ấ h th ng ệ ố

use case (Use case view)

Bi u đ ồ use case

Use case, tác nhân,liên h ,ệ extend,include,..

Cài đ t ặ (implementation view)

Thành ph n, giao di n, quan h ệ ph thu c …

Bi u đ ồ thành ph nầ

Tri n khai (deployment view)

Bi u đ ồ tri n khai

ể ể

Node, thành ph n, quan h ph thu c, v trí (location) ị

Đ ngộ

Tr ng thái (state view)

Bi u đ ồ tr ng thái

ể ạ

Tr ng thái, s ki n, chuy n ạ ti p, hành đ ng ế

ự ệ ộ

ạ ộ

Ho t đ ng (activity view)

Bi u đ ồ ể ho t đ ng ạ ộ

Tr ng thái, s ki n, chuy n ể ạ ti p, k t h p, đ ng b … ế

ự ệ ồ

ế ợ

ng tác

ng, thông

ươ

T (interaction view)

Bi u đ ồ ể tu n tầ ự

T ng tác, đ i t ố ượ đi p, kích ho t ạ

ươ ệ

C ng tác,vai trò , thông đi p …

Bi u đ ồ ể c ng tác ộ

Qu n lý mô hình

Bi u đ l p

ồ ớ Gói, h th ng con, mô hình

ệ ố

Qu n lý ả mô hình

2.1 GI

I THI U V UML

ầ ử

2.1.3 Các khái ni m c b n trong UML ơ ả mô hình và quan h c) Các ph n t M t s ký hi u đ mô hình h ộ ố ệ ng g p trong UML đ ặ ườ ệ ướ ể ượ ng đ i t ng ố ượ c bi u di n trong ễ

th hình sau:

CÁC PH N T MÔ HÌNH Ầ Ử

ng đ i t ng ể ệ ướ ố ượ

th M t s ký hi u đ mô hình h ườ ộ ố ng g p trong UML: ặ

analysis Business Process Model

Business Context

+ Strategies

+ Stakeholders

The Business Context package contains models of all involved stakeholders, mission statements, business goals and physical structure of the business "as-is".

+ Topology

Business Obj ects

+ datastore

+ report1

The Business Objects package contains a domain model of all objects of interest and their respective data.

Business Workflow s

+ Process

+ Event1

+ Input

+ Result

The Workflows package documents business processes, drawing on stakeholders, structures and objects defined in the Context and Object packages showing how these work together to provide fundamental business activities.

Mô hình 1: Mô hình ti n trình nghi p v

ế

CÁC PH N T MÔ HÌNH Ầ Ử

custom Requirements Mo...

Functional Requirements

+ Business Rules

+ Features

+ User Interface

The Functional Requirements package details behavioral requirements that specify how a proposed system will process and handle information. It details the features and rules that must be present to fully implement the functionality desired.

Non-Functional Requirements

+ Performance

+ Scalability

+ Security

+ Persistence

+ Transport

The Non-Functional Requirements package specifies the various operational parameters that define the environment in which the system will exist. These are criteria which define performance levels, scalability, security requirements, backup, disaster recovery and other operational requirements.

Mô hình 2: Mô hình yêu c uầ

CÁC PH N T MÔ HÌNH Ầ Ử

uc Use Case Mo...

Actors

+ User

Actors are the users of the system being modeled. Each Actor will have a well- defined role, and in the context of that role have useful interactions with the system.

A person may perform the role of more than one Actor, although they will only assume one role during one use case interaction.

An Actor role may be performed by a non-human system, such as another computer program.

Primary Use Cases

+ Use Case1

+ Use Case2

This package contains use cases which define how an Actor will interact with the proposed system.

Each interaction may be specified using scenarios, sequence diagrams, communication diagrams and other dynamic diagrams or textual descriptions which together how the system when viewed as a "black-box" interacts wi th a user.

Mô hình 3: Mô hình use case

CÁC PH N T MÔ HÌNH Ầ Ử

class Domain Mo...

Domain Obj ects

+ Class1

+ Class2

+ Class3

T he Domain Model is a view of all the objects that make up an area of interest, and their relationships. It is used to capture the significant objects within a system, organization or any target domain.

Mô hình 4: Mô hình mi n/ lĩnh v c ự

CÁC PH N T MÔ HÌNH Ầ Ử

class Data Mo...

Schema1

+ Table1

+ Table2

A schema package contains a logical grouping of tables

Mô hình 5: Mô hình d li u

ữ ệ

CÁC PH N T MÔ HÌNH Ầ Ử

class Class Mo...

System

+ Class1

+ Class2

Classes, interfaces and logical components for the new system

+ Class3

+ Interface1

Framew orks

Class libraries, API's and other re-usable components

Mô hình 6: Mô hình l pớ

CÁC PH N T MÔ HÌNH Ầ Ử

cmp Component Mo...

Components

+ Component1

+ Component2

The Components package contains modeled components and their structural constituents. These include additional exposed interfaces, ports and other gateways or internal structural components.

The connectivity and internal structure of these are further modeled in the Internal Structures and Connections packages

Internal Structures

Internal Structures provide a detailed view of the internal workings and dependencies of a component. Using a Composite Structure diagram, they illustrate how the component fulfills its behavioral contracts and provides interface behavior to other components within the system.

Connections

The Connections package models the dependencies and connectivity between the various components, and how each is used as part of a co-operative system to accomplish required tasks. Typically, Components expose interfaces and API's which are used by other Components.

Mô hình 7: Mô hình thành ph nầ

CÁC PH N T MÔ HÌNH Ầ Ử

deployment Deployment Mo...

Nodes

+ Clients

+ Devices

+ Servers

T he Nodes package contains models of all the processors, devices and hardware components that are required to be deployed or utilized in the final implementation of the modeled system.

Artifacts

T he Artifacts package contains models of all software and related components that will be deployed onto the Nodes.

Topology

T he Topology package models the connectivity, networks, physical locations and spatial characteristics of the system to be implemented.

Mô hình 8: Mô hình tri n khai

CÁC PH N T MÔ HÌNH Ầ Ử

custom Test Model

Test Plans

The Test Model describes and maintains a catalogue of tests, test plans and results that are executed against the current model.

Test Cases

Mô hình 9: Mô hình ki m th

CÁC PH N T MÔ HÌNH Ầ Ử

custom Maintenan...

Version

+ Build

The Maintenance Model captures issues, bugs, tests and other information related to maintaining and updating the software system. This model is typically created once the first release of the product is shipped, and is used to ensure all bugs and problems are stored and handled in the correct way.

Mô hình 10: Mô hình b o trì

CÁC PH N T MÔ HÌNH Ầ Ử

act Proj ect Mo...

Release Plan

The Project Model details the overall project plan, phases, milestones and resourcing requirements for the current project.

Resources

Mô hình 11: Mô hình d ánự

CÁC PH N T MÔ HÌNH Ầ Ử

custom User Interface Mo...

Primary Forms

+ Screen1

Main screens and pages exposed by the system

+ Screen2

Administrativ e Forms

Management and reference data screens and data entry forms

Help System

+ Content

Screens and pages providing user assistance

+ Help

+ Index

+ Search

Mô hình 12: Mô hình giao di n ng

i s d ng

ườ ử ụ

M I QUAN H

Quan hệ phụ thuộc

Quan hệ tổng quát

Quan hệ liên kết

Quan hệ kết tập

Hình 1: M t s d ng quan h trong UML

ộ ố ạ

2.2 BI U Đ UML

ơ ồ

ủ ệ ầ

ệ ố ố ầ ủ ề ệ

2.2.1 Bi u đ use case ể M c đích: - Bi u di n s đ ch c năng c a h th ng. ứ ễ ể - Bi u đ use case ch ra h th ng c n th c ự ỉ ồ ể i hi n đi u gì, tho mãn các yêu c u c a ng ườ dùng trong h th ng đó. - Đi kèm v i bi u đ use case là các k ch b n. ớ ả ệ ố ể ả ồ ị

2.2 BI U Đ UML

ồ ớ

ng trong h th ng ươ ớ

2.2.2 Bi u đ l p ể M c đích: - Ch ra các l p đ i t ố ượ ỉ - Các thu c tính và ph ộ các m i quan h gi a nh ng l p đó. ệ ữ ệ ố ứ ủ ừ ớ ng th c c a t ng l p và ữ ố

2.2 BI U Đ UML

ồ ạ

ng c a l p đó ủ ớ

các tr ng thái mà đ i t ứ

2.2.3 Bi u đ tr ng thái ể M c đích: ụ - Mô t ả có th có (t ể - S chuy n ti p gi a nh ng tr ng thái đó. ể ạ ng ng v i m i l p). ớ ươ ế ố ượ ỗ ớ ạ ự ữ ữ

2.2 BI U Đ UML

ng tác ồ ươ

ng trong ng v i các tác nhân ố ữ ố ượ ố ượ ớ

ng tác: ồ ươ

2.2.4 Bi u đ t ể M c đích: - Bi u di n m i liên h gi a các đ i t ể ệ ữ ễ h th ng và gi a các đ i t ệ ố bên ngoài. - Có hai lo i bi u đ t ể ạ + Bi u đ tu n t ồ ầ ự + Bi u đ c ng tác ồ ộ ể ể

2.2 BI U Đ UML

ồ ươ

:

ố ng tác ng tác d ng tu n t ầ ự ạ ể § Bi u di n m i quan h gi a các đ i t ệ ữ ố ượ

ng ng và tác nhân theo th ứ ố ượ

ệ ữ ố

§ Bi u di n m i quan h gi a các đ i t ố ượ ế ng tác.

ng ng và tác nhân nh ng ng ố ượ ư ố ượ ủ

2.2.4 Bi u đ t ể - Bi u đ t ồ ươ ễ ể và gi a các đ i t ữ th i gian. t ự ờ ễ ể và gi a các đ i t nh n m nh đ n vai trò c a các đ i t ạ ấ trong t ươ

2.2 BI U Đ UML

ồ ươ

ộ ệ ữ ố

ng ng và tác nhân nh ng ng ố ượ ư ố ượ ủ

ng tác ng tác d ng c ng tác: ể ạ § Bi u di n m i quan h gi a các đ i t ố ượ ế ng tác. 2.2.4 Bi u đ t ể - Bi u đ t ồ ươ ễ ể và gi a các đ i t nh n m nh đ n vai trò c a các đ i t ạ ấ trong t ươ

2.2 BI U Đ UML

ạ ộ

ự ồ ộ

ể ễ ể

2.2.5 Bi u đ ho t đ ng ồ ể M c đích: - Bi u di n các ho t đ ng và s đ ng b , ể ộ chuy n ti p các ho t đ ng. ể - Th ượ ườ ng th c ph c t p c a các l p. ph ươ c s d ng đ bi u di n các ớ ứ ạ ạ ạ ộ ử ụ ủ ễ ế ng đ ứ

2.2 BI U Đ UML

ệ ố ầ

2.2.6 Bi u đ thành ph n ồ ể M c đích: - Đ nh nghĩa các thành ph n c a h th ng. - M i liên h gi a các thành ph n đó. ụ ị ố ủ ầ ệ ữ

2.2 BI U Đ UML

ồ ể

c tri n khai nh th nào. ư ế

h th ng s đ ẽ ượ ượ ể ặ ở

c cài đ t ặ đâu. ứ ề

2.2.7 Bi u đ tri n khai ể M c đích: ụ - Mô t ả ệ ố - Thành ph n nào đ - Các liên k t v t lý ho c giao th c truy n thông nào đ ầ ế ậ c s d ng. ượ ử ụ

2.2 BI U Đ UML

ư

ể ồ

ể ấ ủ ớ

Structural ể ấ

Behavioral ể

L u ý: - D a trên tính ch t c a các bi u đ , UML chia ự các bi u đ thành hai l p mô hình: ồ + Bi u đ mô hình hóa c u trúc ( ồ Modeling Diagrams). + Bi u đ mô hình hóa hành vi ( ồ Modeling Diagrams).

2.2 BI U Đ UML

Bi u đ mô hình hóa c u trúc ( ồ ấ ể

ể ề ễ ượ

ng và l p ớ

Structural Modeling Diagrams): bi u di n các c u trúc ấ tĩnh c a h th ng ph n m m đ c mô hình hoá. ầ ủ ệ ố Các bi u đ trong mô hình tĩnh bao g m: ồ ể - Bi u đ gói ồ - Bi u đ đ i t ồ ố ượ - Bi u đ thành ph n ầ ồ - Bi u đ tri n khai ồ ể ể ể ể ể

2.2 BI U Đ UML

Bi u đ mô hình hóa hành vi ( ồ ể

ủ ữ ệ ố ắ ự ươ

ồ ầ ử ể ộ ồ

ng tác d ng tu n t ạ ng tác d ng c ng tác ạ ầ ự ộ

Behavioral Modeling Diagrams): N m b t các ho t đ ng ạ ắ ng tác gi a các và hành vi c a h th ng, s t bên trong và bên ngoài h th ng. ph n t ệ ố Các bi u đ trong mô hình đ ng bao g m: - Bi u đ use case ồ - Bi u đ t ồ ươ - Bi u đ t ồ ươ - Bi u đ tr ng thái ồ ạ - Bi u đ đ ng ồ ộ ể ể ể ể ể

2.2 BI U Đ UML

ồ ể

2.2.1 Bi u đ use case a) Ý nghĩa - Bi u đ use case: ồ ể ơ ồ ễ ữ ể ươ ệ ố ệ ố

+ Bi u di n s đ ch c năng c a h th ng. ứ tác nhân và h th ng ng tác gi a các + T thông qua các use case. - Trong đó:

ả ộ ườ ệ ố ố

+ M i ỗ use case mô t + Tác nhân là con ng ấ m t ch c năng h th ng i hay h th ng th c ự ệ i h ệ ộ ớ

khác cung c p thông tin hay tác đ ng t th ng.ố

2.2 BI U Đ UML

ộ ể ể ồ ồ ợ

ộ ậ ố ệ ữ

2.2.1 Bi u đ use case - M t bi u đ use case là m t t p h p các tác nhân, các use case và các m i quan h gi a chúng. - Các use case trong bi u đ use case có th ể ể đ c phân rã theo nhi u m c khác nhau. ề ượ ứ

2.2 BI U Đ UML

ậ ộ ứ

ể ể

ườ ố ợ

b) T p ký hi u ệ mô  M t bi u đ Use Case ch a các ph n t ầ ử ồ hình bi u th h th ng, tác nhân cũng nh các ư ị ệ ố ng h p s d ng và các m i quan h gi a tr ệ ữ ử ụ các Use Case.

2.2 BI U Đ UML

i gi a - H th ng: ranh gi ữ bên trong và bên ngoài c a m t ch th trong ộ ủ ủ ph n m m chúng ta đang ề xây d ng.ự

ế

ườ

- H th ng không nh t ấ ệ t là ph n m m: có th thi ể ề là m t chi c máy, m t ế ộ ng ĐH, doanh nghi p, tr ệ …

b) T p ký hi u ậ - H th ng: ệ ố

2.2 BI U Đ UML

- Actor

uc Primary ...

i dùng c a h th ng. ủ ệ ố

i dùng th c ự ườ ườ ể

ộ ho c các h th ng máy tính khác.

Actor

ệ ộ

+ Là ng + Có th là m t ng ệ ố ặ + Th c hi n các use case ệ + M t tác nhân có th th c hi n ể ự i m t use c l ượ ạ c th c hi n b i ở ự ộ ệ

nhi u use case và ng case cũng có th đ ể ượ nhi u tác nhân. ề

2.2 BI U Đ UML

+ Là thành ph n c b n c a bi u đ ồ

ơ ả

use case.

- Use case

uc Primary Use Cases

+ use case đ

ượ

c bi u di n b i các ễ

hình elip.

Use Case1

+ Tên các use case th hi n m t ch c

ể ệ năng xác đ nh c a h th ng.

ệ ố

ể ượ

c th c ự

ủ + M t use case cũng có th đ ệ

hi n b i nhi u tác nhân. ề

ộ ở

2.2 BI U Đ UML

- M i quan h gi a các use case  extend: (M r ng) ệ ữ ở ộ

uc Primary Use Cases

Use Case2

Use Case1

«extend»

+ use case này m r ng t

use case kia b ng ừ ằ

cách thêm vào m t ch c năng c th . ụ ể ộ ở ộ ứ

2.2 BI U Đ UML

ố ệ ữ

- M i quan h gi a các use case  include: (Bao hàm)

uc Primary Use Cases

Y

X

«include»

+ X<>Y ch ra r ng ti n trình th c ệ Y ít

ỉ ằ ự ế

ự ế ệ

hi n ệ X luôn luôn liên quan đ n vi c th c hi n nh t m t l n.

ộ ầ ả ủ Y ứ ề ề ệ

c khi bao hàm nó. tr ấ + X ph i đáp ng các đi u ki n ti n c a ướ

2.2 BI U Đ UML

ố ệ ữ

- M i quan h gi a các use case  Generalization: (Khái quát)

uc Primary Use Cases

Use Case1

Use Case2

+ use case này đ

c k th a các ch c năng t ượ ế ừ ứ ừ

use case kia

2.2 BI U Đ UML

ố ệ ữ

- M i quan h gi a các use case  dependency: (ph thu c) ụ ộ

uc Primary Use Cases

Y

X

«Dependency»

ố ệ ằ ộ

ụ ộ ộ ậ

+ Ph thu c là m i quan h có nghĩa r ng m t yêu c u mô ầ ặ ho c th c ặ

ầ ử khác cho các đ c t ầ ử ặ ả ự

ho c m t t p mô hình các ph n t hình các ph n t thi c a chúng. ủ

2.2 BI U Đ UML

- M i quan h gi a các use case ệ ữ  Realization: (th c thi) ự

uc Primary Use Cases

Y

X

«Realization»

ệ ừ ượ

+ Th c thi là m i quan h tr u t ố t gi a 2 t p mô hình các ph n t ệ ệ

ậ ự ữ ầ ử ộ

ể ặ ấ

ỹ ệ ệ

ng chuyên : m t là đ i bi ạ di n cho đ c đi m k thu t (Nhà cung c p) và hai ậ là đ i di n cho vi c th c thi sau này (Khách ự ạ hàng).

2.2 BI U Đ UML

- M i quan h gi a các Actor ệ ữ  Generalization: (Khái quát)

uc Actors

Actor1

Actor2

ể ệ

ỗ ể ệ ạ

Khái quát là m t m i quan h phân lo i gi a phân ộ ữ ế . M i th hi n t lo i t ng quát và m t phân lo i chi ti ộ ạ ổ c a phân lo i chi ti t cũng là m t th hi n gián ộ ế ủ ti p c a phân lo i t ng quát. Vì v y, phân lo i chi ậ ạ ổ ế t k th a các tính năng c a phân lo i t ng ti ế quát.

ạ ạ ổ ủ ế ừ ủ

2.2 BI U Đ UML

ố ệ ữ

- M i quan h gi a Actor và use case  Association: (Liên k t)ế

uc Primary Use Cases

X

Actor2

ố ạ

m t m i quan h ng nghĩa mà nó Liên k t đ t t ệ ế ặ ả ộ có th x y ra các d ng th hi n. Nó có ít nh t hai ở ể ả đ u cu i đ i di n b i các thu c tính, m i trong s đó ở ệ c liên k t v i d ng c a k t thúc. đ ế ớ ạ

ể ệ ộ ế

ầ ượ

2.2 BI U Đ UML

2.2.1 Bi u đ use case ể c) Ví d :ụ

2.2 BI U Đ UML

ồ ớ

ộ ng có chung m t s ộ ố ố ượ ng th c. ứ

ươ ồ ươ ộ

ệ ẽ ạ ố ớ

ồ ớ ứ ể

ồ ạ ớ ộ

ữ ứ ệ ố

2.2.2 Bi u đ l p ể a) Ý nghĩa - L p: ớ m t nhóm đ i t ộ thu c tính và ph - Các l p (bao g m c các thu c tính và ph ng ả ớ th c) cùng v i các m i quan h s t o thành bi u đ l p. - Bi u đ l p là m t bi u đ d ng mô hình tĩnh ể ể ồ ớ nh m mô các khái ni m l p, các thu c tính, ằ ệ ng th c và m i quan h gi a chúng v i ph ớ ươ nhau.

2.2 BI U Đ UML

ồ ớ

class System

Employee

+ IdCode: int + FirstName: string + LastName: string + Address: string + Salary: long

+ Display() : void + EmployeeDelete(int) : void

2.2.2 Bi u đ l p ể b) Ký hi uệ - Ký hi u l p: ệ ớ

ượ ể ở

ỗ ớ ầ ộ

c bi u di n b i hình - Trong UML, m i l p đ ễ ch nh t g m 3 ph n: Tên l p, các thu c tính và ớ ữ các ph ng th c. ậ ồ ươ ứ

2.2 BI U Đ UML

ồ ớ

ớ ủ ớ

2.2.2 Bi u đ l p ể - Tên l p: Là tên c a chính l p đó - Các thu c tính (Attributes):  Quy ộ c: ướ

+ Tên_thu c_tính + Giá tr thu c tính ị + Ph m vi truy c p c a thu c tính ậ ủ ạ ộ

2.2 BI U Đ UML

ồ ớ

ng c a các l p này. 2.2.2 Bi u đ l p ể  Các m i quan h trong bi u đ l p: ồ ớ ệ ố là m t s n i - Quan h liên k t (Association): ộ ự ố ế k t gi a các l p, cũng có nghĩa là s n i k t ế ự ố ế ữ gi a các đ i t ữ ớ ố ượ ủ ớ

class System

Employee

Departement

IdDepartement: int

+ + DepartementName: string

+ IdCode: int + FirstName: string + LastName: string + Address: string + Salary: long +

IdDepartement: int

+ Display() : void + DepartementAdd(int) : void

+ Display() : void + EmployeeDelete(int) : void + SetDay(date) : date

2.2 BI U Đ UML

ồ ớ

2.2.2 Bi u đ l p ể - Quan h khái quát (Generalization): ệ

ố ệ ữ ặ

ư ộ ớ ơ ộ ớ

+ Là m i quan h gi a m t l p có các đ c tr ng mang tính khái quát cao h n và m t l p có tính ch t đ c bi t h n. ấ ặ

l p khác. ệ ơ ơ ồ ớ chính là s k th a c a m t l p t ủ + Trong s đ l p, m i quan h khái quát ệ ố ộ ớ ừ ớ ự ế ừ

class System

Employee

Person

+ Birthday: date + Country: string

+ IdCode: int + FirstName: string + LastName: string + Address: string + Salary: long +

IdDepartement: int

+ Display() : void + SetDay(date) : date

+ Display() : void + EmployeeDelete(int) : void + SetDay(date) : date

2.2 BI U Đ UML

ệ ộ ớ

ph n c a l p B và l p A có th t n t ạ ủ ớ

ớ ệ ế ậ ằ

ắ m t l p A là m t ả ể ồ ạ ộ ậ c bi u di n b ng m t ễ ể ng v l p đ u h ướ ở ầ ộ i đ c l p. ộ ề ớ

2.2.2 Bi u đ l p ồ ớ ể - Quan h k t t p (Aggregation): ệ ế ậ + Là d ng quan h mô t ầ + Quan h k t t p đ ượ mũi tên g n hình thoi r ng ỗ bao hàm.

class System

Bill

Custumer

IdBii: int

IdCustomer: int

+ + TypeBill: string IdCustomer: int +

+ + CustomerName: string + Address: string

+ GetBill(int) : void

+ GetCustomer(int) : void + GetBill(int) : void

2.2 BI U Đ UML

ồ ớ

ệ ợ

+ M t quan h h p thành bi u di n m t quan 2.2.2 Bi u đ l p ể - Quan h h p thành (Composition): ễ ệ ợ ể ộ ộ

ể ộ ệ ể ổ

+ L p A có quan h h p thành v i l p B n u ế ớ ớ i c a ự ồ ạ ủ i c a đ i ố ạ ủ ự ồ

h ki u t ng th -b ph n. ậ ệ ợ l p A là m t ph n c a l p B và s t n t ộ ớ ủ ớ ng l p B đi u khi n s t n t đ i t ớ ể ề ố ượ ng l p A. t ớ ượ

class System

Custumer

Address

IdCustomer: int

+ + CustomerName: string + Address: string

IdAddress: int + + StreetName: string + StreetNumber: int + hasProvince: string

+ GetCustomer(int) : void + GetBill(int) : void

+ GetAddress(int) : void

2.2 BI U Đ UML

2.2.2 Bi u đ l p ể - Quan h ph thu c (Dependency): ộ ệ ệ ữ ụ ồ ớ ụ ộ ố ớ

t ượ

+ Ph thu c là m i quan h gi a hai l p đ i ố ng. + M t l p đ i t ộ ậ ộ

ng đ n l p ph thu c B. ộ ớ l p đ i t ố ượ ớ đ i c a A s nh h ổ ủ ng A có tính đ c l p và m t ố ượ ng B ph thu c vào A; m t s thay ụ ưở ẽ ả ộ ế ớ ộ ự ộ ụ

class System

Bill

SellGoods

IdBii: int

+ + TypeBill: string IdCustomer: int +

+ IdSellGoods: int + SellGoodsName: int + SellPercent: int

+ GetBill(int) : void

+ GetSellGoods(int) : void

2.2 BI U Đ UML

ồ ớ

+ Bi u di n m i quan h ng nghĩa gi a các ể 2.2.2 Bi u đ l p ể - Quan h th c thi (Realization): ữ ữ

ố ể ầ ạ

ộ ồ ầ m t công vi c d ng ệ i th c hi n h p ệ ự ạ ợ

ệ ự ệ ễ thành ph n c a bi u đ l p. ồ ớ ủ + M t thành ph n mô t ả ộ h p đ ng và thành ph n còn l đ ng đó. ợ ồ

class System

Bill

IdBii: int

«interface» Counter

+ + TypeBill: string IdCustomer: int +

+ GetBill(int) : void

2.2 BI U Đ UML

ồ ớ

2.2.2 Bi u đ l p ể c) Ví dụ

class System

Bill

SellGoods

IdBii: int

«interface» Counter

+ + TypeBill: string IdCustomer: int +

+ IdSellGoods: int + SellGoodsName: int + SellPercent: int

+ GetBill(int) : void

+ GetSellGoods(int) : void

Custumer

Address

IdCustomer: int

+ + CustomerName: string + Address: string

+ IdAddress: int + StreetName: string + StreetNumber: int + hasProvince: string

+ GetCustomer(int) : void + GetBill(int) : void

+ GetAddress(int) : void

2.2 BI U Đ UML

ể ồ ạ

ế ể

ự ố ượ ữ ộ ớ ạ ủ

ồ ạ ườ ẽ ể ộ

ng, m i l p s có m t bi u đ tr ng ng là l p không có đ i ố ớ ỗ ớ ượ ừ

ng) 2.2.3 Bi u đ tr ng thái a) Ý nghĩa - Bi u di n các tr ng thái và s chuy n ti p gi a ễ ể các tr ng thái c a các đ i t ng trong m t l p ạ xác đ nh. ị - Thông th thái (tr l p tr u t ừ ớ t ượ

2.2 BI U Đ UML

ồ ạ

ộ ể ạ ồ ạ

ế ạ

mô t ể

t c các t ng trong toàn b ho t ệ ố ộ ố ượ ả ấ ả ộ ạ

2.2.3 Bi u đ tr ng thái ồ ạ  Có hai d ng bi u đ tr ng thái: ể các mô t - Bi u đ tr ng thái cho m t use case: ả tr ng thái và chuy n ti p tr ng thái c a m t đ i ộ ố ủ ể ạ ng thu c m t l p nào đó trong ho t đ ng c a t ủ ạ ộ ộ ớ ộ ượ m t use case c th ụ ể ộ - Bi u đ tr ng thái h th ng: ồ ạ tr ng thái c a m t đ i t ủ đ ng c a c h th ng ả ệ ố ạ ộ ủ

2.2 BI U Đ UML

miêu t

các bi n tr ng thái ạ ng ng v i tr ng ớ ạ

ế ứ

ươ

ể ồ ạ

tr ng thái đ u

ng.

ế

k t thúc vòng đ i ờ ế

ng.

ế

bi u di n các ễ

ể ổ ữ

ạ ự ệ

s ki n tác đ ng gây ra s ự ộ

ể ự ệ ể

2.2.3 Bi u đ tr ng thái - Tr ng thái (state): ho c các hành đ ng (action) t ặ thái đó. - Tr ng thái kh i đ u (initial state): ở ầ ạ tiên khi kích ho t đ i t ạ ố ượ - Tr ng thái k t thúc (final state): ạ đ i t ố ượ - Các chuy n ti p (transition): chuy n đ i gi a các tr ng thái. - S ki n (event): chuy n đ i tr ng thái. ổ ạ

2.2 BI U Đ UML

c) Ví d :ụ

act Proj ect Model

Begin

Login

Request

Request

Check

Username,Passw ord

Inv alid

Check

Valid

Request

BooksComposition

End

2.2 BI U Đ UML

ầ ự ồ ươ ng tác d ng tu n t ạ

ng, ố ượ th i ứ ự ờ

2.2.4 Bi u đ t ể a) Ý nghĩa : - Bi u đ tu n t ồ ầ ự ể + Bi u di n m i quan h gi a các đ i t ễ ệ ữ ố ể ng và tác nhân theo th t gi a các đ i t ố ượ ữ gian.

nh n m nh th t ạ ứ ự ấ th c ự

ầ ự ng tác. + Bi u đ tu n t ồ ể hi n c a các t ủ ươ ệ

2.2 BI U Đ UML

ồ ươ ng tác d ng tu n t ạ ầ ự

ng (object): đ c bi u di n b i các hình ượ

ở ng. 2.2.4 Bi u đ t ể b) Ký hi uệ - Đ i t ễ ố ượ ch nh t, bên trong là tên c a đ i t ố ượ ậ ữ ể ủ

ng t ướ đ ượ đ i t ừ ố ượ c bi u di n ể ng g i sang ử

ng nh n. ậ

- Các thông đi p (message): ệ b ng các mũi tên h ằ đ i t ố ượ

2.2 BI U Đ UML

ầ ự

ng, mô t ng k n i dài phía ng ẻ ố ủ ố ượ

ườ i đ i t ướ ố ượ ươ

ượ ể ễ ộ

ng tác d ng tu n t 2.2.4 Bi u đ t ạ ồ ươ ể là m t đ - Đ ng lifeline: ườ ộ quá trình c a đ i t d ả ng tác thu c bi u đ . trong t ồ ể ộ cũng có th có chú - Chú thích: bi u đ tu n t ồ ầ ự ể c n i dung i đ c d dàng hi u đ thích đ ng ườ ọ ể c a bi u đ đó. ồ ể ủ

2.2 BI U Đ UML

c) Ví dụ

2.2 BI U Đ UML

ng tác d ng c ng tác ộ ạ ồ ươ

ệ ữ

ng tác. ng; ng và tác nhân, vai trò c a các ươ

2.2.5 Bi u đ t ể a) Ý nghĩa - Bi u di n m i quan h gi a các đ i t ố ượ ễ ể gi a các đ i t ủ ữ đ i t ố ượ - Bi u đ c ng tác cũng có các thông đi p v i ớ ể n i dung t ng t ệ nh trong bi u đ tu n t . ồ ầ ự ể ố ố ượ ng trong t ồ ộ ươ ư ự ộ

2.2 BI U Đ UML

đ

ượ

ố ượ

ễ ố ượ

c bi u di n b i các hình ch ữ ở ng. ủ ng có t

ố ượ

ng tác s ẽ ươ ng đó. Liên k t này

ế

ữ ố

ố ượ

ằ ng g i sang đ i t

ng t

bi u di n b ng các mũi tên ng nh n bên ậ

ố ượ

ượ

ố ứ ự

use case t

theo th t ứ ự ng ươ

ng tác d ng c ng tác ộ ạ ồ ươ

2.2.5 Bi u đ t ể b) Ký hi uệ - Các đ i t ng: nh t, bên trong là tên c a đ i t - Các liên k tế : gi a hai đ i t có m t liên k t n i 2 đ i t ế không có chi u.ề - Các thông đi p: ệ ể đ i t h ử ừ ố ượ ướ ng đó. c nh liên k t gi a 2 đ i t ữ ố ượ ế ạ c đánh s th t - Các thông đi p đ ệ xu t hi n trong k ch b n mô t ị ấ ng.ứ

2.2 BI U Đ UML

ng tác d ng c ng tác ồ ươ ạ ộ

bi u đ t ng t ự ể

2.2.5 Bi u đ t ể c) Ví dụ - Bi u đ c ng tác: t ồ ộ ể d ng tu n t ầ ự ạ ng tác ồ ươ . trên nh ng có đánh s th t ố ứ ự ươ ư

2.2 BI U Đ UML

ể ạ ộ

ạ ộ ễ ự ồ ộ ộ

ệ ố ủ ế ạ

ớ ợ ộ

2.2.6 Bi u đ ho t đ ng ồ a) Ý nghĩa - Bi u đ ho t đ ng: ồ ể + Bi u di n các ho t đ ng và s đ ng b , ạ ể chuy n ti p các ho t đ ng c a h th ng trong ộ ể m t l p, ộ ớ + K t h p gi a các l p v i nhau trong m t ớ ế ứ ữ ch c năng c th . ụ ể

2.2 BI U Đ UML

ể ạ ộ

2.2.6 Bi u đ ho t đ ng ồ b) Ký hi uệ - Ho t đ ng ạ ộ nghĩa rõ ràng, có th đ hàm ho c m t nhóm đ i t ộ th hi n b ng hình ch nh t tròn c nh. c đ nh (Activity): là m t quy trình đ ị ượ ộ c th c hi n b i m t ể ượ ộ ở ệ c ng. Ho t đ ng đ ượ ạ ộ ố ượ ạ ậ ữ ể ệ ằ

act Activ ity1

Activ ity2

2.2 BI U Đ UML

2.2.6 Bi u đ ho t đ ng ạ ộ ồ - Tr ng thái kh i đ u (Intial): ở ầ cho phép b t đ u khi m t ho t đ ng đ ắ ầ ạ ộ ộ là nút đi u khi n ề ượ ể c g i. ọ

act Activ ity1

ActivityInitial

ạ ế ộ

ể ề ộ ơ

i t ạ ấ ả ạ ừ ầ

M t ho t đ ng - Tr ng thái k t thúc (Final Intial): ạ ộ có th có nhi u h n m t tr ng thái k t thúc. ế t c các Tr ng thái k t thúc đ u tiên d ng l lu ng ho t đ ng. ế ạ ộ ạ ồ

act Activ ity1

ActivityFinal

2.2 BI U Đ UML

ạ ộ ộ

cho i các nhánh ch y ạ ồ ở ạ

2.2.6 Bi u đ ho t đ ng ồ - Thanh đ ng b hóa (Synchronisation bar): phép ta m ra ho c là đóng l song song trong ti n trình. ặ ế

act Activ ity1

Mô t m t l a ch n ị ả ộ ự ọ

- Quy t đ nh (Decission): đi u ki n. ế ệ ề

act Act...

2.2 BI U Đ UML

2.2.6 Bi u đ ho t đ ng ồ ạ ộ ể

2.2 BI U Đ UML

ạ ộ

2.2.6 Bi u đ ho t đ ng ồ ể c) Ví dụ

2.2 BI U Đ UML

ầ ể

ể ể ượ ầ

ử ụ ấ ề ầ

2.2.7 Bi u đ thành ph n ồ a) Ý nghĩa c s d ng đ bi u đ - Bi u đ thành ph n: ồ ể di n các thành ph n ph n m m c u thành nên ễ ầ h th ng. ệ ố

2.2 BI U Đ UML

ầ ể

ả ộ

ủ ầ ề ớ ể ặ ứ ể ồ ỗ

ầ ng trình con. 2.2.7 Bi u đ thành ph n ồ b) Ký hi uệ m t thành ph n c a bi u - Thành ph nầ : Mô t đ , m i thành ph n có th ch a nhi u l p ho c nhi u ch ề ươ

cmp Components

Component3

ế ả ắ ớ ỗ

ầ ổ

giao ti p g n v i m i thành - Giao ti p: ế Mô t ph n. Các thành ph n trao đ i thông tin qua các ầ giao ti p.ế

2.2 BI U Đ UML

ầ ể

ụ ữ ầ

2.2.7 Bi u đ thành ph n ồ b) Ký hi uệ - M i quan h ph thu c gi a các thành ph n ộ ệ ố (Dependency):

cmp Components

Component3

Component4

Dependency

ộ ố ể i ầ ạ

cmp Components

- Gói (Package): Đ nhóm m t s thành ph n l v i nhau. ớ

Package1

2.2 BI U Đ UML

2.2.7 Bi u đ thành ph n ồ ể c) Ví dụ

2.2 BI U Đ UML

ể ồ ể ệ ố

ặ ế ể

ứ ự ượ

th i gian t 2.2.8 Bi u đ tri n khai h th ng a) Ý nghĩa - Bi u di n ki n trúc cài đ t và tri n khai h ệ ễ ể th ng d i d ng các nodes, ướ ạ - Các m i quan h gi a các node đó. ệ ữ ố - Các nodes k t n i v i nhau thông qua các liên ế ố ớ k t truy n thông: ề ế + K t n i m ng ạ ế ố + Liên k t TCP/IP ế + Microwave,… và đ ng t ờ c đánh s theo th t ố ồ ộ nh trong bi u đ c ng tác. ể ươ ư ự

2.2 BI U Đ UML

ể ồ ể ệ ố

ặ ầ

ộ ượ ư ặ

2.2.8 Bi u đ tri n khai h th ng b) Ký hi uệ - Các nodes: Node ho c là m t thành ph n ph n ầ c hi n th nh là c ng ho c ph n m m. Nó đ ứ ị ầ i đây. m t hình h p ba chi u, nh hình d ộ ể ướ ề ề ư ộ

deployment Nodes

Node1

ể ể

ễ ộ

- Node minh h aọ (Instance Node): Node minh h a có th bi u di n b ng m t bi u đ . Nó có ể ộ ằ c t v i m t node th c t th phân bi ự ế ệ ớ g ch chân và có d u 2 ch m tr ướ ồ là tên đ ượ c node c s . ơ ở ọ ể ạ ấ ấ

2.2 BI U Đ UML

2.2.8 Bi u đ tri n khai h th ng ệ ố ồ ể ể

c cung c p cho các node: ẩ ượ ấ

- Node khuôn m uẫ (Stereotypes Node): M t s ộ ố khuôn m u chu n đ ẫ «cd-rom»,«computer»,«disk array», «pc», «pc client»,«pc server»,«secure»,«server», «storage», «unix server»,«user pc».

2.2 BI U Đ UML

ệ ố ồ ể

2.2.8 Bi u đ tri n khai h th ng ể c) Ví dụ

2.3 GI

I THI U ENTERPRISE ARCHITECT

1. Enterprise Architect Download: Enterprise Architect 7.0 2. Rational Rose Download: Rational Rose 9.0

Reference: www.sparxsystems.com.au/resources/ www.visual-paradigm.com/VPGallery/diagrams/

That’s all