Hue University

Download Report

Transcript Hue University

UML
UNIFIED MODELING LANGUAGE
Hoang Huu Hanh (PhD), Hue University
hanh-at-hueuni.edu.vn
based on online totorials and presentations
Định nghĩa





Những năm đầu của thập kỷ 90 có rất nhiều phương pháp
phân tích, thiết kế hệ thống hướng đối tượng và cùng với
chúng là các ký hiệu riêng cho từng phương pháp
Thời kỳ này còn được biết đến với tên gọi là cuộc chiến giữa
các phương pháp
Khoảng đầu năm 94, Booch đã cải tiến phương pháp của
mình trong đó có ứng dụng những ưu điểm của các phương
pháp của Rumbaugh và Jacobson
Các phương pháp đã bắt đầu hợp nhất, nhưng các kí hiệu sử
dụng ở các phương pháp vẫn còn nhiều điểm khác biệt
UML - một ngôn ngữ mô hình hóa hợp nhất đã trở thành một
quy trình chuẩn của tổ chức OMG (Object Management
Group)
Introduction to UML
2
UML History
UML 2.0
Publication circa ´05
Industrialization
UML 1.4
Publication ´01
Publication of UML 1.1 September ´97
UML 1.1
Publication of
UML 1.0, Jan ´97
Standardization
UML 1.0
public
feedback
June ´96 & Oct ´96
OOPSLA ´95 Unified Method 0.8
Booch ´93
Other methods Booch ´91
Unification
UML 0.9 & 0.91
UML Partners’
Expertise
OMT - 2
OMT - 1
OOSE
Fragmentation
Introduction to UML
3
UML là gì?
Nó là một ngôn ngữ mô hình hóa, không phải là
một phương pháp
 Một phương pháp thông thường bao gồm một tập
các quy tắc, một ngôn ngữ mô hình hóa và một
quy trình mô tả những công việc cần làm
 Một ngôn ngữ mô hình hóa bao gồm các ký hiệu
và các cách thức sử dụng cho việc thiết kế
 Quy trình là những sự hướng dẫn các bước trong
quá trình thiết kế
 Ngôn ngữ mô hình hóa là thành phần quan trọng
nhất trong một phương pháp, là yếu tố kết nối giữa
các thành phần

Introduction to UML
4
Tại sao lại sử dụng UML?




Giúp cho việc phân tích và thiết kế
Là công cụ giao tiếp (Communication)
Sử dụng các ưu điểm của OO
Tài liệu hóa (Documentation)
Như được đề cập trong The Unified Modeling
Language User Guide;
Ngôn ngữ UML dùng để:
• Trực quan hóa (Visualizing)
• Đặc tả (Specifying)
• Xây dựng (Constructing)
• Cung cấp tài liệu (Documenting)
Introduction to UML
5
Trực quan hóa (Visualizing)



Hiểu và giải quyết các vấn đề dễ dàng hơn
Khi trở thành một chuẩn trong việc lập mô hình,
mỗi kí hiệu mang một ý nghĩa rõ ràng và duy
nhất=> một nhà phát triển có thể đọc được mô
hình xây dựng bằng UML do một người khác viết.
Một mô hình rõ ràng, sáng sủa làm tăng khả năng
giao tiếp, trao đổi giữa các nhà phát triển
Introduction to UML
6
Đặc tả (Specifying)
Xây dựng các mô hình một các tỉ mỉ,
rõ ràng, đầy đủ ở các mức độ chi tiết
khác nhau
 Tất cả các công đoạn từ phân tích,
thiết kế cho đến triển khai đều có các
biểu đồ UML biểu diễn.

Introduction to UML
7
Kiến tạo(Constructing)




UML là một ngôn ngữ chuẩn với tập quy tắc về
cú pháp riêng.
Chúng ta có thể xây dựng các công cụ để
chuyển đổi các mô hình
Các mô hình của UML có thể kết nối với nhiều
ngôn ngữ lập trình. Tức là có thể ánh xạ các
mô hình UML về một ngôn ngữ lập trình như
C++, Java...
Việc chuyển các mô hình trong UML thành
Code trong ngôn ngữ lập trình  Forward
engineering (Ex: Rational Rose)
Introduction to UML
8
Tạo lập tài liệu (Documenting)

Giúp xây dựng tài liệu đặc tả - requirements

Tài liệu kiến trúc (architecture)

Tài liệu thiết kế

Source code

Tài liệu để kiểm thử - Test

Tài liệu mẫu - Prototype

Tài liệu triển khai – Deployment
Introduction to UML
9
Cách sử dụng (Usages)

Định nghĩa các giới hạn của hệ thống và các chức năng
chính của nó
◦ Trường hợp sử dụng (Use cases) và các tác nhân (actor)

Minh họa các UC
◦ Biểu đồ tương tác (interaction diagram)

Định nghĩa cấu trúc tĩnh của hệ thống
◦ Biểu đồ lớp (class diagrams )

Mô hình hóa các hành vi của đối tượng
◦ Biểu đồ chuyển trạng thái (state transition diagrams)

Mô tả kiến trúc vật lý(phần cứng và phần mềm) của hệ
thống
◦ Biểu đồ thành phần và biểu đồ triển khai (component &
deployment diagrams)

Mở rộng
◦ Các khuôn mẫu (stereotypes)
Introduction to UML
10
Cơ bản về UML
Mô hình và các hướng nhìn (Views)
 Các biểu đồ chính
 Các thành phần cơ bản

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
«uses»
Interface2
*
-End1
*
-End2
Actor2
UseCase3
{}
Introduction to UML
12
Mô hình và hướng nhìn



Hướng nhìn chỉ ra những khía cạnh khác nhau của
hệ thống cần phải được mô hình hóa
Một hướng nhìn không phải là một bản vẽ, mà là
một sự trừu tượng hóa bao gồm một loạt các biểu
đồ khác nhau
Chỉ qua việc định nghĩa của một loạt các hướng
nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía
cạnh riêng biệt của hệ thống, người ta mới có thể
tạo dựng nên một bức tranh hoàn thiện về hệ
thống.
Introduction to UML
13
Core Elements
Construct Description
Syntax
a description of a set of objects
that share the same attributes,
operations, methods, relationships
and semantics.
a named set of operations that
interface
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.
a run-time physical object that
node
represents a computational
resource.
class
Introduction to UML
«interface»
14
Core Elements (cont’d)
Construct Description
constraint¹
Syntax
a semantic condition or restriction.
{constraint}
¹ An extension mechanism useful for specifying structural elements.
Introduction to UML
15
Biểu đồ




Các biểu đồ góp phần chi tiết hóa hệ thống
Mỗi biểu đồ là sự kết hợp của các thành phần
cơ bản
Dựa và các biểu đồ, các nhà phát triển có thể
giao tiếp với nhau và giải quyết các vấn đề
phức tạp của hệ thống
Biểu đồ lớp là loại biểu đồ thông dụng nhất,
dùng đề mô tả mối quan hệ giữa các lớp, giúp
cho nhà phát triển có thể hiểu cấu trúc lớp của
hệ thống
Introduction to UML
17
Hướng nhìn (View)





Mô hình hóa một hệ thống phức tạp là một việc làm khó khăn
Khi xem xét một hệ thống, chúng ta cần xây dựng các mô
hình từ những khía cạnh khác nhau, xuất phát từ thực tế là
những người làm việc với hệ thống với những vai trò khác
nhau sẽ nhìn hệ thống từ những khía cạnh khác nhau
Vì vậy một hệ thống thường được miêu tả trong một loạt các
hướng nhìn khác nhau
Mỗi hướng nhìn sẽ thể hiện một bức ảnh ánh xạ của toàn bộ
hệ thống và chỉ ra một khía cạnh riêng của hệ thống.
Mỗi một hướng nhìn được miêu tả trong một loạt các biểu đồ,
chứa đựng các thông tin nêu bật khía cạnh đặc biệt đó của
hệ thống.
Introduction to UML
18
Hướng nhìn (View)

UML có tất cả các hướng nhìn sau:
◦ Hướng nhìn UC
◦ Hướng nhìn thiết kế (Design)
◦ Hướng nhìn triển khai (Development)
◦ Hướng nhìn tiến trình (Process)
◦ Hướng nhìn vật lý (Physical)


Các hướng nhìn phải phù hợp với nhau vì cùng mô tả về một
hệ thống
Có thể được sử dụng để kiểm tra tính hợp lệ giữa các hướng
Introduction to UML
19
Hướng nhìn Use Case





Mô tả ứng xử của hệ thống theo cách nhìn nhận của người
dùng, người phân tích hệ thống.
Các thuật ngữ sử dụng trong hướng nhìn mang ý nghĩa rõ
ràng về một lĩnh vực nào đó
người dùng có thể kiểm tra xem các yêu cầu của mình đã
được đáp ứng đầy đủ hay chưa hoặc có chức năng nào của
hệ thống là không cần thiết.
Được miêu tả qua các biểu đồ Use case (use case diagram)
và thỉnh thoảng cũng bao gồm cả các biểu đồ hoạt động
(activity diagram). .
Hướng nhìn Use case mang tính trung tâm, bởi nó đặt ra nội
dung thúc đẩy sự phát triển các hướng nhìn khác
Introduction to UML
20
Hướng nhìn thiết kế (Design View)



Hướng nhìn thiết miêu tả phương thức mà các
chức năng của hệ thống sẽ được cung cấp
Chủ yếu nó được sử dụng cho các nhà thiết kế và
nhà phát triển.
Biểu đồ thường được sử dụng là biểu đồ lớp và
biểu đồ tương tác
Introduction to UML
21
Hướng nhìn triển khai
(Development View)
Là một lời miêu tả của việc thực thi các
modul cũng như sự phụ thuộc giữa chúng
với nhau
 Nó thường được sử dụng cho nhà phát
triển và thường bao gồm nhiều biểu đồ
thành phần
 Hướng nhìn này mang tính tùy chọn

Introduction to UML
22
Hướng nhìn tiến trình (Process View)




Chia hệ thống thành các tiến trình(process) và
luồng(thread), mô tả việc đồng bộ hóa và các xử lý
đồng thời.
Các tiến trình và luồng thường được xác định dựa
vào biểu đồ lớp thông qua các lớp động (active
class)
Bên cạnh việc chia hệ thống thành các tiểu trình có
thể được thực thi song song, hướng nhìn này cũng
phải quan tâm đến vấn đề giao tiếp và đồng bộ
hóa các tiểu trình đó
Bao gồm các biểu đồ động (trạng thái, trình tự,
tương tác và hoạt động) cùng các biểu đồ thực thi
(biểu đồ thành phần và biểu đồ triển khai)
Introduction to UML
23
Hướng nhìn vật lý (Physical View)
Chỉ cho chúng ta sơ đồ triển khai về mặt
vật lý của hệ thống
 Hướng nhìn triển khai giành cho các nhà
phát triển, người tích hợp cũng như người
thử nghiệm hệ thống và được thể hiện
bằng các biểu đồ triển khai
 Ánh xạ các thành phần của hệ thống vào
cấu trúc vật lý

Introduction to UML
24
Hướng nhìn
Danh sách các hướng nhìn là không giới
hạn
 Phụ thuộc vào cách nhìn nhận hệ thống, ta
có thể tạo ra một hướng nhìn mới

◦ Ví dụ: hướng nhìn về Security
Introduction to UML
25
Các phần tử mô hình

Phần tử cấu trúc (Structural elements)
◦ class, interface, collaboration, use case, active
class, component, node

Phần tử hành vi(Behavioral elements)
◦ interaction, state machine

Nhóm (grouping elements)
◦ package, subsystem

Các thành phần khác
◦ note
Introduction to UML
26
Các loại biểu đồ

Biểu đồ Use Case
◦ Mô tả các yêu cầu

Biểu đồ hoạt động (Activity Diagrams)
◦ Nó chỉ ra các bước thực hiện, các hành động, các nút quyết định và
điều kiện rẽ nhánh để điều khiển luồng thực hiện của hệ thống

Biểu đồ tương tác (Interaction Diagrams)
◦ Biểu đồ cộng tác (tập trung vào đối tượng) – Collaboration Diagrams
◦ Biểu đồ tuần tự (mang yếu tố thời gian) – Sequence Diagrams

Biều đồ cấu trúc tĩnh (Static Structure Diagrams)
◦ Objects/Classes/Packages

Biểu đồ trạng thái
◦ Mô tả trạng thái của đối tượng ứng với từng thời điểm trong vòng đời
của nó

Biểu đồ thực thi (Implementation Diagrams)
◦ Biểu đồ thành phần (Component Diagrams)
◦ Biểu đồ triển khai( Deployment Diagrams)
Introduction to UML
27
Biểu đồ
Các biểu đồ kết nối lại
với nhau tạo nên một
cái nhìn tổng quát về
hệ thống
 Mỗi biểu đồ mô tả một
khía cạnh khác nhau
của hệ thống.
 Có thể chia thành hai
loại: biểu đồ hành vì và
biểu đồ cấu
 Biểu đồ UC, tuần tự và
biểu đồ lớp thường
được sử dụng nhất

Introduction to UML
28
Biểu đồ hành vi






Biểu đồ hành vi đưa ra một cách nhìn động về hệ thống.
Nó thường được sử dụng để đặc tả sự cộng tác giữa các
thành phần nhằm đáp ứng lại các yêu cầu về hành vi của
hệ thống
Có thể chia ra 5 loại biểu đồ:
◦ Use case
◦ Hoạt động
◦ Trạng thái
◦ Tuần tự
◦ Cộng tác
Biều đồ UC, tuần tự, cộng tác hay được sử dụng
Biểu đồ hoạt động, trạng thái thường được sử dụng để mô
tả các yêu cầu cơ bản
Biểu đồ hoạt đông mô tả một cách trực quan các hành vi
được lấy ra từ các UC
Biểu đồ trạng thái nhằm minh họa các giao tác hành vi
(transition) phức tạp trong các lớp đơn
Introduction to UML
29
Các kiểu quan hệ
Construct
Description
Syntax
a relationship between two or more
classifiers that involves connections
among their instances.
A special form of association that
aggregation
specifies a whole-part relationship
between the aggregate (whole) and
the component part.
generalization a taxonomic relationship between a
more general and a more specific
element.
a relationship between two modeling
dependency
elements, in which a change to one
modeling element (the independent
element) will affect the other modeling
element (the dependent element).
association
Introduction to UML
30
Các kiểu quan hệ
Construct
Description
Syntax
realization
a relationship between a specification
and its implementation.
Introduction to UML
31
Mối quan hệ
ScheduleAlgorithm
RegistrationForm
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
Quan hệ nối kết
Job


Company
employer employee
Job
salary
Person
boss
worker 
0..1
Manages
Person
Account
{X or}
Corporation
Introduction to UML
36
Các đầu liên kết
1
Polygon
+vertex
3..
Contains
{ordered}
Point
1
1
-bundle
GraphicsBundle
color
texture
density
Introduction to UML
37
Quan hệ hợp thành (Composition)
Window
scrollbar [2]: Slider
title: Header
body: Panel
Window
1
scrollbar
Slider
2
1
1
title
1
Header
body
1
Panel
Introduction to UML
39
Quan hệ khái quát hóa
(Generalization)
Shape
Separate Target Style
Polygon
Ellipse
Spline
. ..
Shape
Polygon
Ellipse
Shared Target Style
Spline
...
Introduction to UML
41
Quan hệ khái quát hóa
Vehicle
venue
power
power
{overlapping}
WindPowered
Vehicle
Truck
venue
MotorPowered
Vehicle
{overlapping}
Land
Vehicle
Water
Vehicle
Sailboat
Introduction to UML
42
Quan hệ phụ thuộc (Dependencies)
ClassA
ClassD
ClassB
«friend»
«friend»
operationZ()
«instantiate»
«call»
ClassC
«refine»
ClassD
ClassC combines
two logical classes
ClassE
Introduction to UML
43
Quan hệ phụ thuộc
Controller
«access»
«access»
«access»
Diagram
Elements
«access»
«access»
Domain
Elements
Graphics
Core
Introduction to UML
44
Derived Attributes and Associations
Person
birthdate
/age
{age = currentDate - birthdate}
1
Company
1
 Department
employer
1
employer


department
WorksForDepartment
Person
/WorksForCompany
{ Person.employer=Person.department.employer }
Introduction to UML
45
Nối kết (Links)
officer
Jill:Person
treasurer
downhillSkiClub:Club
president
member
member
Joe:Person
member
Chris:Person
officer
Introduction to UML
46
Các ràng buộc và lời chú thích
 Member-of 
Person
Committee
{subset}
1

Person
0..1
boss
Chair-of
Represents
an incorporated entity.

employee

employer
0..1
Company
{Person.employer =
Person.boss.employer}
Introduction to UML
47
Tác nhân (Actors)
Một tác nhân là một người hoặc một vật
nào đó tương tác với hệ thống, sử dụng hệ
thống
 External Forces

◦ Tương tác giữa người (Human interaction)
◦ Các hệ thống tự động (Automated System)
Driver
User
Keyboard
Operator
Traffic Control
System
<<Backup System>>
<<toll booth>>
Introduction to UML
48
Use Cases

Một UC là một mô tả về một hành vi của hệ thống

A flow of events document is created for each use case
◦ Là một chuỗi các giao tác (transaction) có quan hệ với
nhau được thực hiện bởi một tác nhân trong hệ thống
◦ Chi tiết những gì hệ thống cần cung cấp cho tác nhân khi
một UC được thực thi
◦ Xuất phát từ quan điểm của tác nhân
◦ Các tác nhân sẽ được phỏng vấn để xác định cách thức
mà họ tương tác với hệ thống
 Phân tách các hành vi đến mức chi tiết nhất

Các nội dung chủ yếu:
◦ Một UC bắt đầu và kết thúc như thế nào?How the use case
starts and ends
◦ Các dòng sự kiện thông thường (Normal flow of events)
◦ Các dòng sự kiện tùy chọn (Alternate flow of events)
◦ Các dòng sự kiện ngoại lệ (Exceptional flow of events)
Introduction to UML
49
Biểu đồ Use case
Nắm bắt các chức năng của hệ thống
theo cách nhìn bởi người sử dụng
 Built in early stages of development
 Mục đích

◦
◦
◦
◦
Xác định rõ các ngữ cảnh của hệ thống
Nắm bắt các yêu cầu của hệ thống
Xác định tính hợp lệ kiến trúc hệ thống
Hướng dẫn thực thi và kiểm tra tính đầy đủ
chức năng
◦ Được xây dựng bởi các nhà phân tích và các
chuyên gia
Introduction to UML
51
Biểu đồ Use case

Biểu đồ Use case nhằm trực quan
hóa các mối quan hệ giữa tác nhân và
Use case
Pay toll
Driver
Passager
Lost Luggage
Customer Service Agent
Ramp Maintenance
Mechanic
Introduction to UML
52
Biểu đồ Use case

Nắm bắt các yêu cầu của hệ thống
theo cách nhìn của người sử dụng
Introduction to UML
53
Biểu đồ cộng tác
Là một dạng của biểu đồ tương tác mô tả
cách thức tổ chức các đối tượng gửi và
nhận các thông điệp
 Xét về mặt ngữ nghĩa gần giống như biểu
đồ trình tự
 Khác với biểu đồ trình tự là ở đây tập trung
vào ngữ cảnh và không gian thực hiện
công việc

Introduction to UML
54
Biểu đồ cộng tác

Biểu đồ cộng tác mô tả cách tổ chức các
tương tác của đối tượng và sự kết nối của
chúng với đối tượng khác
1: set course info
2: process
course form :
CourseForm
3: add course
: Registrar
theManager :
CurriculumManager
aCourse :
Course
4: new course
Introduction to UML
55
Biểu đồ trình tự

Tương đương với biểu đồ cộng tác.

Mô tả trật tự thời gian của các thông điệp
được gởi giữa các đối tượng

Được sử dụng trong hầu hết các quy trình
phát triển phần mềm
Introduction to UML
56
Biểu đồ trình tự

Mô tả sự tương tác giữa các đối
tượng theo một trật tự thời gian
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
Introduction to UML
57
Trạng thái của đối tượng

Biểu đồ trạng thái mô tả:
◦ Quá trình sống của một lớp
◦ Các sự kiện nào gây ra sự thay đổi từ trạng thái
này đến trạng thái khác
◦ Các hành động là kết quả của sự thay đổi trạng
thái

Biểu đồ dịch chuyển trạng thái được tạo
cho các đối tượng có hành vi không cố định
Introduction to UML
58
Biểu đồ dịch chuyển trạng thái
Mô tả các trạng thái bên trong liên quan
đến các hành vi của đối tượng
 Việc dịch chuyển giữa các trạng thái giúp
cho việc xác định, xác thực các hành vi
phức tạp
 Mỗi lớp có ít nhất một biểu đồ trạng thái

Introduction to UML
59
Biểu đồ dịch chuyển trạng thái
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
Introduction to UML
60
Biểu đồ hoạt động

Mô hình hóa các dòng hoạt động giữa các
quy trình

Rất hữu ích trong việc chi tiết hóa các hành
vi của UC

Biểu đồ hoạt động không chỉ ra sự cộng tác
giữa các đối tượng
Introduction to UML
61
Biểu đồ cấu trúc
Các loại biểu đồ dạng này thường tập trung phân tích vào
khía cạnh tĩnh của hệ thống
 Biểu đồ lớp là loại biểu đồ thường được sử dụng
 Khi chuyển sáng phân tích thiết kế bằng UML, hầu hết các
tổ chức có xu hướng sử dụng biểu đồ lớp trước tiên vì:

 Giúp cho việc giao tiếp giữa các nhà phát triển thuận lợi và dễ dàng
 Là công cụ để giải quyết các vấn đề nảy sinh

Biểu đồ lớp thường có hai dạng
 Dạng thứ nhất thường được sử dụng, bao gồm các lớp đối tượng
cấu tạo nên hệ thống và cấu trúc của nó
 Dạng thứ hai ít được sử dụng nhưng có tầm quan trọng không kém,
đặc biệt rất hữu ích trong việc phát triển hệ thống từ mức cao

Biểu đồ gói (package diagram), một dạng của biểu đồ lớp,
thường được mô tả dưới dạng các gói của ngôn ngữ Java
và mối quan hệ giữa chúng
Introduction to UML
62
Biểu đồ lớp
Mô tả tập các lớp, gói và mối quan hệ
giữa chúng theo một hướng nhìn cụ
thể về hệ thống
 Thường được sử dụng trong việc mô
hình hóa hệ thống

Introduction to UML
63
Class Diagrams
Biểu đồ lớp đưa ra các lớp tồn tại và mỗi quan hệ giữa chúng
theo hướng nhìn logic về hệ thống
 Các phần tử mô hình hóa UML trong biểu đồ lớp

◦
◦
◦
◦

Lớp, cấu trúc lớp và hành vi
Các quan hệ nối kết, kết tập, phụ thuộc , kế thừa
Chỉ số quan hệ và hướng của quan hệ
Các quy tắc đặt tên
Thuộc tính
◦ Thuộc tính cho biết cấu trúc của lớp
◦ Thuộc tính có thể được xác định thông qua địnhg nghĩa lớp, các yêu
cầu và các tri thức về lĩnh vực phân tích

Phương thức
◦ Hành vi của lớp được thể hiện thông qua các phương thức
◦ Các phương thức có thể xác định thông qua sự tương tác giữa các
biểu đồ
Introduction to UML
64
Class Diagram

Xác định các từ vựng của hệ thống
Introduction to UML
65
Bộ số quan hệ và hướng quan hệ

Bộ số quan hệ định nghĩa số lượng đối tượng
tham gia vào quan hệ
◦ Cho biết số lượng thể hiện của một lớp quan hệ với
một thể hiện của lớp khác
◦ Với mỗi quan hệ nối kết hay kết tập, có hai dạng bộ
số quan hệ cần phải xác: one for each end of the
relationship


Mặc dù các quan hệ nối kết và kết tập là các
quan hệ hai chiều nhưng chúng thường được
giới hạn lại thành quan hệ một chiều
Khi hướng quan hệ được xác định, đầu mũi
tên sẽ được thêm vào nhằm thông báo chiều
của quan hệ
Introduction to UML
68
Bội số quan hệ và hướng quan hệ
ScheduleAlgorithm
RegistrationForm
0..*
1 RegistrationManager
addStudent(Course, StudentInfo)
Course
1
0..*
Student
name
numberCredits
open()
addStudent(StudentInfo)
major
1
3..10
Professor
4
tenureStatus
1
1..*
CourseOffering
location
0..4
open()
addStudent(StudentInfo)
Introduction to UML
69
Kế thừa
Quan hệ kế thừa là quan hệ giữa lớp cha
và các lớp con của nó
 Có hai phương để xác định mối quan hệ kế
thừa:

◦ Khái quát hóa
◦ Chuyên biệt hóa

Với các thuộc tính, phương thức hay các
mối quan hệ tồn tại chung thường được đặt
ở mức cao nhất của cây phân cấp
Introduction to UML
70
Kế thừa
ScheduleAlgorithm
RegistrationForm
RegistrationManager
addStudent(Course, StudentInfo)
Course
name
numberCredits
RegistrationUser
name
Student
open()
addStudent(StudentInfo)
major
Professor
tenureStatus
CourseOffering
location
open()
addStudent(StudentInfo)
Introduction to UML
71
Các yếu tố vật lý
Biểu đồ thành phần chỉ ra cấu trúc và
sự phụ thuộc giữa các phần của phần
mềm
 Một thành phần có thể là:

◦ Thành phần mã nguồn
◦ Thành phần mã nhị phân
◦ Thành phần thực thi
Introduction to UML
72
Biểu đồ thành phần

Nhấn mạnh các mối quan hệ tĩnh giữa các
thành phần phần mềm thực thi

Đó có thể là các loại file .exe, .dll, .ocx, jar
files, hay là Enterprise JavaBeans.

Có thể được sử dụng để chỉ ra các phần
mềm bên trong ứng dụng

Các thành phần không phải là các lớp
Introduction to UML
73
Biểu đồ thành phần

Mô tả cấu trúc vật lý của quá trình
thực thi
Introduction to UML
74
Triển khai hệ thống

Biểu đồ triển khai chỉ ra cấu hình các phần tử xử lý
lúc chương trình chạy, các nút trên mạng và các
tiến trình phần mềm thực hiện trên những phần tử
đó

Nó chỉ ra mối quan hệ giữa các phần cứng và
phần mềm của hệ thống

Trực quan hóa các thành phần riêng biệt của ứng
dụng
Introduction to UML
75
Biểu đồ triển khai

Mô tả mối quan hệ của hệ thống phần cứng
Introduction to UML
76
Biểu đồ trển khai

Mô tả cấu trúc vật lý của hệ thống

Biểu đồ triển khai chỉ ra toàn bộ các nút
trên mạng, kết nối giữa chúng và các tiến
trình chạy trên chúng

Rất hữu ích đối với các hệ thống có môi
trường cấu hình phức tạp
Đối với các ứng dụng triển khai trên nhiều
server và vùng lãnh thổ, việc sử dụng biểu đồ
trển khai là cần thiết

Introduction to UML
77
Mở rộng UML
Khuông mẫu (Stereotype)
 Giá trị đính kèm (Tagged value)
 Hạn chế (Constraint)

Introduction to UML
78
Mở rộng UML
Khuôn mẫu có thể được sử dụng để mở
rộng các phần tử ký hiệu của UML
 Phân loại các quan hệ mở rộng như nối kết,
kế thừa, lớp và thành phần
 Ví dụ:

◦ Các khuôn mẫu lớp: biên, điều khiển, thực thể,
tiện ích, ngoại lệ
◦ Khuôn mẫu kế thừa: sử dụng(uses) và mở
rộng(extends)
◦ Khuôn mẫu thành phần: hệ thống con
Introduction to UML
79
Q &A
… time to ask questions
Introduction to UML
80
Thank you!
… take a break
Introduction to UML
81