Bài giảng Các phương pháp phân tích và thiết kế hệ thống hiện đại - Chương 2: Mô hình hóa hệ thống và ngôn ngữ UML được biên soạn với các nội dung khái niệm, mục đích và mô hình hóa hệ thống phần mềm; lịch sử phát triển ngôn ngữ UML, các phần tử của UML.
Trang 2Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ở một mức độ trừu tượng hóa nào đó
Theo một quan điểm (hay một góc nhìn) nào đó
Bởi một hình thức diễn tả hiểu được (văn bản, phương
• Giúp hiểu và thực hiện được sự trừu tượng
hóa, tổng quát hóa các khái niệm cơ sở nhằm
giảm thiểu độ phức tạp của hệ thống
• Giúp quan sát được hệ thống như nó vốn có và
nó phải có
• Giúp đặc tả được cấu trúc và hành vi của hệ
thống
• Giúp tạo khuôn mẫu và hướng dẫn cách xây
dựng, thử nghiệm, mô phỏng, thực hiện, hoàn
thiện theo mô hình
• Là cơ sở để trao đổi
Trang 3Các phương pháp phân tích và thiết kế hệ thống hiện đại
Mô hình hóa hệ thống phần mềm
• Mô hình hóa hướng chức năng (từ 1970, với
Youndon, Constantine, DeMacro, ) lấy chức
năng làm đơn vị phân rã hệ thống
• Mô hình hóa hướng đối tượng (từ 1990, với
Booch, Rumbaugh, Jacobson, Yourdon, ) lấy
đối tượng làm đơn vị phân rã hệ thống
Trang 4Các phương pháp phân tích và thiết kế hệ thống hiện đại
Trang 5Các phương pháp phân tích và thiết kế hệ thống hiện đại
Các đối tượng
Các góc nhìn
Các biểu đồ
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Trang 6Các phương pháp phân tích và thiết kế hệ thống hiện đại
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Trang 7Các phương pháp phân tích và thiết kế hệ thống hiện đại
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Trang 8Các phương pháp phân tích và thiết kế hệ thống hiện đại
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Trang 9Các phương pháp phân tích và thiết kế hệ thống hiện đại
Đối tượng là một khái niệm, một sự trừu
tượng hóa hay một sự vật có nghĩa trong
bài toán đang khảo sát
Đặc trưng của mô hình đối tượng
Trang 10Các phương pháp phân tích và thiết kế hệ thống hiện đại
Biểu đồ ca sử dụng, biểu đồ tương tác, biểu đồ trạng
thái, biểu đồ hoạt động.
Là góc nhìn vào bên trong hệ thống
Là cách nhìn của những người thiết kế hệ thống
Biểu đồ lớp, biểu đồ đối tượng
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt
động.
• Góc nhìn tiến trình (quá trình)/tương tranh
• Góc nhìn cài đặt (thực thi)/thành phần
• Góc nhìn triển khai/bố trí
Trang 11Các phương pháp phân tích và thiết kế hệ thống hiện đại
• Góc nhìn tiến trình (quá trình)/tương tranh
Phản ánh các lộ trình điều khiển, các quá trình thực hiện
Cho thấy sự hoạt động song hành hay đồng bộ của hệ
thống
Biểu đồ lớp, biểu đồ đối tượng (lớp chủ động)
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt
Là góc nhìn đối với dạng phát hành của phần mềm
Bao gồm các thành phần, các tệp tương đối độc lập có
thể được lắp ghép theo nhiều cách
Biểu đồ thành phần
Biểu đồ tương tác, biểu đồ trạng thái, biểu đồ hoạt động
• Góc nhìn triển khai/bố trí
Trang 12Các phương pháp phân tích và thiết kế hệ thống hiện đại
hình và mối quan hệ của chúng
Biểu đồ thường được thể hiện như một đồ thị
liên thông với các đỉnh (là các sự vật) và các
cung (là các mối quan hệ)
Sự vật
• Sự vật cấu trúc (lớp, giao diện, ca sử dụng, thành
phần, nút, )
• Sự vật hành vi (sự tương tác, trạng thái, )
Các mối quan hệ (phụ thuộc, kết hợp, tổng
quát hóa, hiện thức họa)
Trang 13Các phương pháp phân tích và thiết kế hệ thống hiện đại
• Biểu đồ giao tiếp
• Biểu đồ máy trạng thái
• Biểu đồ lớp phô bày cấu trúc tĩnh cùa các lớp trong
hệ thống Các lớp biểu diễn cho các sự vật mà hệ
thống quan tâm
• Hệ thống có thể được mô tả bởi một số biểu đồ lớp
và một lớp có thể tham gia vào nhiều biểu đồ
Trang 14Các phương pháp phân tích và thiết kế hệ thống hiện đại
Trang 15Các phương pháp phân tích và thiết kế hệ thống hiện đại
Trang 16Các phương pháp phân tích và thiết kế hệ thống hiện đại
Trang 17Các phương pháp phân tích và thiết kế hệ thống hiện đại
Trang 18Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Thể hiện các đối tượng cụ thể thay cho các lớp,
cho thấy các đối tượng đang tồn tại và hoạt
động
Ký hiệu
• Sử dụng các ký hiệu của biểu đồ lớp
• Tên của đối tượng được gạch dưới và mọi liên
kết cụ thể đều được vẽ
Ví dụ
Trang 19Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Trình bày cấu trúc vật lý của hệ thống dưới dạng các thành
phần, cùng với các mối liên quan phụ thuộc giữa chúng.
• Một thành phần có thể là thành phần mã nguồn, thành
phần mã nhị phân, hoặc thành phần exe.
• Mỗi thành phần tương ứng với một hay nhiều lớp, giao diện
hay hợp tác trong biểu đổ lớp.
• Biểu đồ thành phần được dùng để trình bày góc nhìn thực
Trang 20Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Biểu đồ triển khai (deployment diagram)
• Trình bày kiến trúc vật lý của phần cứng và
phần mềm của hệ thống Cho thấy các máy
tính và thiết bị (các nút), cùng vói các kết nối
giữa chúng
• Các thành phần thực hiện được (exe) được
phân bổ vào các nút, cho thấy các đơn vị phần
mềm được thực hiện trên các nút nào
Ký hiệu
• Các nodes: hình hộp ba chiều
Trang 21Các phương pháp phân tích và thiết kế hệ thống hiện đại
• Sự phụ thuộc: mũi tên mở nét đứt
Đuôi mũi tên: phần tử có phụ thuộc
Đầu mũi tên (mở): phần tử hỗ trợ
Sự phụ thuộc có thể gán nhãn: trong cặp dấu <<>>
Ví dụ
Trang 22Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Trang 23Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Trình bày một số đối tác (tác nhân ngoài) và sự liên hệ
của chúng với các ca sử dụng mà hệ thống cung cấp.
• Ca sử dụng diễn tả một chức năng mà hệ thống có khả
năng cung cấp
• Tác nhân là con người hay hệ thống thực khác cung cấp
thông tin hay tác động tới hệ thống
• Các ca sử dụng có thể được phân rã theo nhiều mức với
nhiều biểu đồ ca sử dụng
Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Trang 24Các phương pháp phân tích và thiết kế hệ thống hiện đại
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Trang 25Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
• Generalization: (Khái quát)
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Ví dụ
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
• Association: (Liên kết)
Mối quan hệ giữa các ca sử dụng
Ví dụ
Trang 26Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
• extend: (Mở rộng)
• include: (Bao hàm)
• Generalization: (Khái quát)
Ví dụ
Trang 27Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
Ký hiệu
Mối quan hệ giữa các tác nhân
Mối quan hệ giữa tác nhân và ca sử dụng
Mối quan hệ giữa các ca sử dụng
• Trình bày một số đối tượng với các thông điệp được
chuyển giao giữa chúng, đặc biệt làm rõ trình tự
các thông điệp chuyển giao này dọc theo trục thời
gian (trục thẳng đứng)
• Dùng để diễn tả một sự hợp tác (hay tương tác)
của một nhóm đối tượng
Ký hiệu
• Đối tượng (object)
• Các thông điệp (message)
• Đường lifeline
• Chú thích
Ví dụ
Trang 28Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Trình bày sự hợp tác (tương tác) của một nhóm đối
tượng (giống biểu đồ trình tự), nhấn mạnh tới bối
cảnh của sự hợp tác
• Trình bày nhóm các đối tượng cùng với các kết nối
giữa chúng (giống biểu đồ đối tượng), vẽ thêm các
thông điệp (mũi tên nhỏ) dọc theo các kết nối đó
• Các thông điệp được đánh số để phân biệt trước
Trang 29Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Trình bày các trạng thái có thể của đối tượng và chỉ rõ
các sự kiện nào sẽ làm cho đối tượng thay đổi từ trạng
thái này sang trạng thái khác.
• Chỉ sử dụng cho các lớp mà đối tượng có khả năng ứng
xử trước các sự kiện xảy đến tuỳ thuộc vào trạng thái
hiện tại.
Ký hiệu
• Trạng thái (state)
• Trạng thái khởi đầu (initial state)
• Trạng thái kết thúc (final state)
• Các chuyển tiếp (transition)
• Sự kiện (event)
Ví dụ
Trang 30Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Trình bày luồng dịch chuyển từ hành động này
sang hành động khác (dịch chuyển tuần tự, rẽ
nhánh theo điều kiện hay rẽ nhánh song song)
• Được dùng để đặc tả một thao tác của một lớp
• Dùng đế mô tả các luồng hoạt động khác (ca sử
dụng, tương tác)
Ký hiệu
• Hoạt động (activity)
• Trạng thái khởi đầu (intial)
• Trạng thái kết thúc (final intial)
• Thanh đồng bộ hóa (synchronisation bar)
• Quyết định (decission)
Ví dụ
Trang 31Các phương pháp phân tích và thiết kế hệ thống hiện đại
Ý nghĩa
• Trình bày luồng dịch chuyển từ hành động này
sang hành động khác (dịch chuyển tuần tự, rẽ
nhánh theo điều kiện hay rẽ nhánh song song)
• Được dùng để đặc tả một thao tác của một lớp
• Dùng đế mô tả các luồng hoạt động khác (ca sử
dụng, tương tác)
Ký hiệu
• Hoạt động (activity)
• Trạng thái khởi đầu (intial)
• Trạng thái kết thúc (final intial)
• Thanh đồng bộ hóa (synchronisation bar)
• Quyết định (decission)
Ví dụ
Ý nghĩa
• Trình bày luồng dịch chuyển từ hành động này
sang hành động khác (dịch chuyển tuần tự, rẽ
nhánh theo điều kiện hay rẽ nhánh song song)
• Được dùng để đặc tả một thao tác của một lớp
• Dùng đế mô tả các luồng hoạt động khác (ca sử
dụng, tương tác)
Ký hiệu
• Hoạt động (activity)
• Trạng thái khởi đầu (intial)
• Trạng thái kết thúc (final intial)
• Thanh đồng bộ hóa (synchronisation bar)
• Quyết định (decission)
Ví dụ
Trang 32Các phương pháp phân tích và thiết kế hệ thống hiện đại