Biểu đồ cấu trúc Biểu đồ lớp class diagram Biểu đồ đối tượng object diagram Biểu đồ thành phần component diagram Biểu đồ gói package diagram Biểu đồ triển khai deploymen
Trang 1Vũ Chí Cường, 2017
Trang 2 Giới thiệu về UML
Các biểu đồ trong UML
Giới thiệu các phần mềm
Trang 3 Lịch sử phát triển
Ngôn ngữ UML
Các khái niệm cơ bản trong UML
Trang 4 Giai đoạn (1960s – 1970s)
Giai đoạn (1980s – đầu 1990s)
Giai đoạn (cuối 1990)
11/1997)
Trang 5 UML là ngôn ngữ mô hình hóa tổng quát được xây dựng để đặc tả, phát triển và viết tài liệu cho các khía cạnh (view-
hướng nhìn) trong phát triển phần mềm hướng đối tượng
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 tập các khái niệm, ký hiệu, các biểu đồ và
hướng dẫn
UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa trên
việc nắm bắt khía cạnh cấu trúc tĩnh và các hành vi động của
Trang 6 Khái niệm mô hình
Mô hình (model) là một biểu diễn của sự vật, đối tượng hay một tập các sự vật trong một lĩnh vực ứng dụng nào đó theo một quan điểm nhất định
Mục đích của mô hình là nhằm nắm bắt các khía cạnh quan trọng của sự vật mà mình quan tâm và biểu diễn theo một tập ký hiệu hoặc quy tắc nào đó
thể vẽ được thành các biểu đồ dựa trên tập ký
hiệu và quy tắc đã cho
Trang 7 Kiến trúc hệ thống
Kiến trúc hệ thống là trừu tượng hóa các khía
cạnh quan trọng nhất của hệ thống Cung cấp
khung trong đó thiết kế được xây dựng
và cung cấp các giao thức trao đổi dữ liệu và giao tiếp giữa các modul
quản lý các hướng nhìn (view) khác nhau và điều khiển hệ thống tăng dần và lặp trong suốt chu kỳ sống
Trang 8 Các hướng nhìn
▪ Miêu tả chức năng của hệ thống sẽ phải cung cấp
Hướng nhìn logic ( logic view)
▪ Miêu tả phương thức mà các chức năng của hệ thống sẽ được cung cấp
▪ Miêu tả việc thực thi của các modul cũng như sự phụ
thuộc giữa chúng
▪ Nhằm tới việc chia hệ thống thành các qui trình
(process) và các bộ xử lí (processor)
Trang 9 Quan hệ phụ thuộc (dependency)
Quan hệ liên kết (association)
Quan hệ kết hợp (aggregation)
Quan hệ hợp thành (composittion)
Khái quát hóa (generalization)
Hiện thực hóa (realization)
Trang 10Tên quan hệ Ý nghĩa Ký hiệu
Quan hệ liên kết
(association)
Là quan hệ cấu trúc để mô tả tập liên kết (kết nối giữa các đối tượng) Đối tượng của lớp này có thể gửi/nhận thông điệp đến/từ lớp kia
Khái quát hóa
Trang 11 Biểu đồ cấu trúc
Biểu đồ lớp (class diagram)
Biểu đồ đối tượng (object diagram)
Biểu đồ thành phần (component diagram)
Biểu đồ gói (package diagram)
Biểu đồ triển khai (deployment diagram)
Biểu đồ cấu trúc phức hợp (composite structure diagram)
Biểu đồ gói mở rộng (profile package)
Biểu đồ ca sử dụng (use case diagram)
Biểu đồ hoạt động (activity diagram)
Biểu đồ tuần tự (sequence diagram)
Biểu đồ cộng tác (collaboration diagram)
Biểu đồ trạng thái (state diagram)
Biểu đồ bao quát tương tác (interaction overview diagram)
Biểu đồ thời khắc (timing diagram)
Trang 12 Ý nghĩa
các chức năng của hệ thống
tác nhân (actor) và hệ thống thông qua các ca sử dụng (use case)
sử dụng (use case) và các mối quan hệ
(relationship) giữa các ca sử dụng
(scenario) nhằm mô tả chi tiết quá trình thực hiện
ca sử dụng đó
Trang 13Tên gọi Ý nghĩa Ký hiệu
nào đó trong hoạt động của hệ thống
System
Customer
System Shutdown
Trang 14Tên gọi Ý nghĩa Ký hiệu
Đặc biệt hóa
(Specialization)
Tổng quát hóa
(Generalization)
Đặc biệt hóa (Specialization):
use case này kế thừa các chức năng từ use case kia, use case
sau được gọi là Tổng quát hóa (Generalization) của use case đầu
<<include>>
<<extend>>
Trang 16 Ý nghĩa
Biểu đồ lớp là một biểu đồ mô tả cách nhìn
tĩnh về một hệ thống bằng các khái niệm lớp, các thuộc tính, phương thức của lớp và mối quan hệ giữa chúng
Ký hiệu
Lớp (class): được biểu diễn bởi hình 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
Trang 17 Phạm vi: cho biết phạm vi truy nhập của thuộc tính
+: thuộc tính kiểu public
#: thuộc tính kiểu protected
-: thuộc tính kiểu private
~: thuộc tính được phép truy nhập tới từ các lớp trong cùng package
một Mặc_định: là giá trị khởi đầu mặc định (nếu có) của thuộc tính
không bắt buộc)
Phạm_vi Tên_thuộc_tinh: Kiểu[Số_đối_tượng] = Mặc_định (Giá_trị_giới_hạn)
Ví dụ: purchaseDate:Date[1] =”01-01-2000” (Saturday)
Trang 18Phạm_vi Tên_phương_thức(danh_sách_tham_số):
Kiểu_trả_lại {Kiểu_phương thức}
Phạm_vi: giống thuộc tính
Tên_phương thức: là xâu ký tự xác định tên của
phương thức
Kiểu_trả_lại: chỉ ra kiểu giá trị trả về của phương thức
danh_sách_tham_số: biểu diễn danh sách các tham số Mỗi tham số có dạng Tên_tham_số: Kiểu_giá_trị =
Giá_trị_mặc_định
Kiểu_phương_thức: cho biết kiểu phương thức
abstract: phương thức kiểu trừu tượng
query: phương thức kiểu truy vấn
Ví dụ: generatePurchaseList(prodID:int): String
Trang 19Tên gọi Ý nghĩa Ký hiệu
Lớp thực thể
(entity class)
là lớp đại diện cho các thực thể chứa thông tin về các đối tượng xác định nào đó Ví dụ, lớp Khách hàng, Hóa đơn
Lớp biên
(boundary class)
là lớp nằm ở ranh giới giữa hệ thống với môi trường bên ngoài nhằm thực hiện vai trò nhận yêu cầu trực tiếp từ
các tác nhân và chuyển các yêu cầu đó
cho các lớp bên trong hệ thống
Lớp điều khiển
(controller class)
thực hiện các chức năng điều khiển hoạt động của hệ thống tương ứng với các chức năng cụ thể nào đó của một nhóm các lớp biên hoặc nhóm các lớp thực thể
Trang 20Tên quan hệ Ví dụ Quan hệ liên kết
Trang 21Tên quan hệ Ví dụ Quan hệ hợp thành
Trang 23ATM CustomConsole
NetworkToBank EnvelopAcceptor
CashDispenser
Log
Message
Receipt Status
Money
1 1
1
1 1
1 1 1
1
1 1
Trang 24 Ý nghĩa
Biểu đồ trạng thái được sử dụng để 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
Mỗi lớp có một biểu đồ trạng thái (trừ trường hợp là lớp không có đối tượng)
Biểu đồ trạng thái biểu diễn dưới dạng máy trạng thái hữu hạn với các trạng thái và sự chuyển tiếp giữa các trạng thái đó
Có hai dạng biểu đồ trạng thái:
Biểu đồ trạng thái cho một use case
Biểu đồ trạng thái hệ thống mô tả tất cả các trạng thái của các đối tượng trong toàn bộ các hoạt động của hệ thống
Trang 25Tên gọi Ý nghĩa Ký hiệu Trạng thái
(state)
Biểu diễn một trạng thái của đối tượng trong vòng đời của đối tượng
Sự kiện tác động gây ra sự
chuyển đổi trạng thái
Trang 26Tên gọi Ý nghĩa
Sự kiện gọi (call
Trang 28OFF entry/display "Not available"
IDLE entry/display "Please insert card"
SERVING CUSTOMER
do/Secsion
switch turned on : / perform Startup
switch turned off : / perform Shutdown
session complete or aborted card inserted : / create session
Trang 29Card read successfully
PIN read successfully
Tracsaction chosen
Customer finished Customer wants to do another
Aborted due to too many invalid PINs - card retained
CANCEL pressed CANCEL pressed Card not readable : / display "Card not readable"
Trang 30 Ý nghĩa
Biểu diễn mối quan hệ giữa các đối tượng; giữa các đối tượng và tác nhân theo thứ tự thời gian
Biểu đồ trình tự nhấn mạnh thứ tự thực hiện của các tương tác
Trang 31Tên gọi Ý nghĩa/ký hiệu
Các đối tượng (object) Được biểu diễn bởi các hình chữ nhật, bên
trong là tên của đối tượng
Cách viết chung của đối tượng là: tên đối tượng: tên lớp
Các thông điệp (message) Được biểu diễn bằng các mũi tên hướng từ
đối tượng gửi sang đối tượng nhận (xem các loại thông điêp ở slide sau)
Đường vòng đời (lifeline) Là một đường kẻ nối dài phía dưới đối
tượng, mô tả quá trình của đối tượng trong tương tác thuộc biểu đồ
Chú thích Để người đọc dễ dàng hiểu được nội dung
Trang 32Tên gọi Ý nghĩa Ký hiệu
Gọi (call) Mô tả một lời gọi từ đối tượng
này đến đối tượng kia
Trả về (return) Trả về giá trị ứng với lời gọi
Gửi (send) Gửi một tín hiệu tới một đối
tượng
Tạo (create) Tạo một đối tượng
Hủy (destroy) Hủy một đối tượng
Trang 34 Các đối tượng: biểu diễn bởi hình chữ nhật, bên trong là
tên đối tượng
Các liên kết: giữa hai đối tượng có tương tác sẽ có một
liên kết nối 2 đối tượng đó
Các thông điệp: được biểu diễn bằng các mũi tên hướng
từ đối tượng gửi sang đối tượng nhận bên cạnh liên kết giữa hai đối tượng
Trang 36 Ý nghĩa
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 hoặc kết hợp giữa các lớp với nhau trong một chức năng cụ thể
▪ Xác định các hành vi phải thực hiện trong phạm vi một phương thức
▪ Xác định công việc của một đối tượng
▪ Chỉ ra một nhóm các hành động liên quan của các đối tượng được thực hiện như thế nào và chúng sẽ ảnh hưởng đến các đối tượng nằm xung quanh
Trang 37Tên gọi Ý nghĩa Ký hiệu Hoạt động
(activity)
là một qui trình được định nghĩa rõ ràng, có thể được thực hiện bới hàm hoặc một nhóm đối tượng
Điều kiện (guard
Trang 39 Ý nghĩa
mềm cấu thành hệ thống
nhỏ hơn, cung cấp một khối dạng hộp đen trong quá trình xây dựng phần mềm lớn
Các thành phần có thể là các gói được xây dựng cho quá trình phát triển hệ thống
Ví dụ
Java Bean, các gói thư viện liên kết động, lớp và các thư viện chức năng
Trang 40Tên gọi Ý nghĩa Ký hiệu Thành phần Mô tả thành phần của biểu đô
Giao tiếp Mô tả giao tiếp với mỗi thành phần
Mối quan hệ Mô tả quan hệ giữa các thành phần
Gói
(package)
Được sử dụng để nhóm một số thành phần lại với nhau
Trang 42 Ý nghĩa
Biểu đồ triển khai hệ thống 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 và các mối quan hệ giữa các node
Các node được kết nối với nhau thông qua
các liên kết truyền thông như các kết nối
mạng, liên kết TCP-IP, microware….và được đánh số thứ tự theo thời gian tương tự như biểu đồ cộng tác
Trang 43Tên gọi Ý nghĩa Ký hiệu Các node (thiết
bị)
Biểu diễn các thành phần không có bộ xử lí trong biểu đồ triển khai hệ thống
Các bộ xử lý Biểu diễn các thành phần có bộ
xử lí trong biểu đồ triển khai hệ thống
Trang 45 Rational Rose
StarUML
Visual Paradigm
Enterprise Architect