Vì vây phải xác định và mô tả các hoạt động của hệ thống mà một Actor yêu cầu, xác định các sự kiện vào hệ thống bằng cách xem kỹ các UC và kịch bản của nó... Biểu đồ cộng tác và Các ký
Trang 1Chương 5: Thiết kế hệ thống hướng
đối tượng
Trang 2Nhiệm vụ và các bước trong giai đoạn
mô tả các Real UC
xây dựng biểu đồ tương tác
Thiết kế biểu đồ lớp chi tiết
Vẽ biểu đồ thành phần và biểu đồ triển khai
Trang 3Ví dụ: hệ thống ATM
Bước 1: Từ kịch bản UC xây dựng:
Biểu đồ tuần tự
Biểu đồ cộng tác
Trang 4- Biểu đồ tuần tự của hệ thống mô tả tương tác
giữa toàn bộ hệ thống với một Actor bên ngoài Nhìn vào biểu đồ sẽ biết hệ thống làm cái gì? Không cần giải thích làm như thế nào
Vì vây phải xác định và mô tả các hoạt động của hệ thống mà một Actor yêu cầu, xác định các sự kiện vào hệ thống bằng cách xem kỹ các UC và kịch bản của nó
Trang 5Biểu đồ cộng tác và Các ký hiệu dùng trong biểu đồ
-Thể hiện (hoặc đối tượng) sử dụng cùng ký hiệu đồ họa như
kiểu (hoặc lớp) của nó, nhưng tên được gạch chân và được đặt trước bỡi một dấu hai chấm
-Liên kết: là đường nối giữa hai đối tượng đó, thể hiện chiều
hướng và khả năng nhìn thấy nhau giữa các đối tượng
-Thông điệp: Các thông điệp giữa các đối tượng được biểu
diễn bằng mũi tên được gán nhãn Bất cứ thông điệp nào
có thể gởi dọc theo liên kết này, cùng với một con số để chỉ thứ tự thông điệp được gởi Thông điệp có thể được truyền giữa 2 đối tượng của 2 lớp có quan hệ liên kết hoặc quay vòng (đệ quy) gởi thông điệp cho chính nó
Trang 6Quy tắc đánh số trong biểu đồ cộng tác
-Message đầu tiên không đánh số
-Các đó message gửi tới cho các đối tượng tiếp theo được
đánh số tăng dần 1:-, 2:-, …
-Các đó message gửi tới cho các đối tượng tiếp theo nữa
được đánh số theo quy tắc dấu chấm 1.1:-, 2.1:-, 2.2:- ,
…
-Biểu diễn các điều kiện trên đường truyền message 2a:-,
2b:-, 2a.1:-, 2a.2:-,…
Trang 7Tham số: Tham số có thể được chỉ ra trong dấu ngoặc đơn sau tên thông điệp, kiểu của tham số có thể chỉ ra một cách tùy ý.
Các ký hiệu khác
+ Thông điệp đã gởi sang đối tượng yêu cầu thì một giá trị
có thể được trả về cho đối tượng gởi Biến chứa giá trị trả về được đặt trước thông điệp bằng phép gán, kiểu của giá trị trả về có thể chỉ ra tùy ý Biến nhận kết quả trả lại có cú pháp:
Return:=message(parameter: parameter kiểu): returnKiểu
Ví dụ: nd:=layThongtin(): String
Trang 8+Thông điệp lặp: đối tượng có thể gởi lặp đi lặp lại một
thông điệp cho đối tượng khác, điều này được biểu diễn bằng dấu hoa thị “*” đằng trước thông điệp và mệnh đề lặp được đặt trong dấu ngoặc vuông
*[x<5]: thông điệp sẽ được gởi lặp đi lặp lại cho đến khi
x>=5
*[i:=1 5]msg3()
+ Thông điệp tạo create() gởi tới đối tượng được tạo lập
+ Thông điệp điều kiện: thông điệp được gởi từ đối tượng
này sang đối tượng khác khi điều kiện được thoả mãn, các điều kiện được đặt trong cặp dấu [], trong điều kiện
có thể sử dụng or, and, not, đôi khi có cả cấu trúc for, while
Trang 9Kịch bản UC Rút tiền:
Tên UC: Rút tiền
Các tác nhân liên quan:
5 Nhập PIN 6 Yêu cầu chọn chức năng giao dịch
7 Chọn chức năng rút tiền 8 Hiện cửa sổ yêu cầu nhập số tiền
9.Nhập số tiền cần rút 10.Trả số tiền cho khách hàng
11 Trả biên nhận
12 Trả thẻ và đóng hệ thống
Trang 10đọc số thẻ Văn: Khách hàng Màn hình
ATM Tài khoản ông Văn Máy trả tiền 1: Chấp nhận thẻ
2: đọc số thẻ 3: khởi động màn hình
4: Mở tài khoản 5: Yêu cầu nhập pin
6: Nhập PIN(1234)
7: Kiểm tra PIN 8: Yêu cầu giao dịch
9: Chọn giao dịch(Rút tiền) 10: Yêu cầu nhập số tiền 11: Nhập số tiền(100000đ)
12: Rút tiền(100000đ) 13: Kiểm tra tài khoản(>=100000đ)
14: Giảm tài khoản(100000đ)
Biểu đồ trỡnh tự rỳt tiền của hệ thống ATM
Trang 11Biểu đồ cộng tác khách hàng rút 100000đ
: Khach hang
Màn hình ATM
Tài khoan
Máy doc the
1: Nhap the
2: Doc the
3: Khoi dong
4: Ycnhap pin 5: Nhap pin
6: KT pin 7: Mo TK 8: YC chon GD
9: Chon Rut tien
10: Nhap so tien 11: Nhap 100000
12: Rut 100000
13: KT TK 14: Tru 100000
17: Tra the
Trang 12Ví dụ: hệ thống thang máy …
Trang 13Ví dụ: hệ thống thang máy …
Biểu đồ cộng tác
Trang 14Bước 2: Xây dựng biểu đồ lớp chi tiết
Biểu đồ lớp chỉ ra sự tồn tại của các lớp và quan hệ của chúng dưới khung nhìn logic của
hệ thống
Một lớp là một tập hợp các đối tượng có cấu trúc chung, ứng xử chúng, quan hệ chung và ngữ nghĩa chung
Phát hiện lớp dựa trên việc kiểm tra các đối tượng trong biểu đồ tuần tự và biểu đồ cộng tác
Trang 15RegistrationForm
RegistrationManager
Course Student
CourseOffering Professor
ScheduleAlgorithm
Trang 16form registration manager
3: add course(joe, math 01)
RegistrationManager
addCourse(Student,Course)
Trang 17Each course offering
has a number, location
and time
CourseOffering number
location time
Trang 18name major
CourseOffering
location open() addStudent(StudentInfo)
Professor
name tenureStatus
ScheduleAlgorithm
Trang 20Ví dụ: hệ thống thang máy …
Trang 21Biểu đồ dịch chuyển trạng thái
Biểu đồ dịch chuyển trạng thái biểu diễn
Trang 22Biểu đồ trạng thái trong UML mô tả các sự kiện quan trọng, trạng thái và hành vi của đối tượng trong việc phản ứng với sự kiện Sự chuyển trạng thái được chỉ ra bằng các mũi tên,
có nhãn và tên sự kiện gây ra nó Có 2 trạng thái đặc biệt là trạng thái bắt đầu và trạng thái kết thúc Mỗi biểu đồ có duy nhất một trạng thái bắt đầu và có thể có nhiều trạng thái kết thúc – mô tả trạng thái khi một đối tượng bị
Trang 23Ví dụ về các trạng thái của đối tượng:
- Hóa đơn (đối tượng) đã được trả tiền (trạng thái)
- Chiếc xe ô tô (đối tượng) đang đứng yên (trạng thái)
- Động cơ (đối tượng) đang chạy (trạng thái)
- Jen (đối tượng) đang đóng vai trò người bán hàng (trạng thái)
- Kate (đối tượng) đã lấy chồng (trạng thái)
Trang 24Một số lời mách bảo cho việc tạo dựng biểu
Trang 25Biểu đồ dịch chuyển trạng thái
do: Initialize course
do: Finalize course do: Notify registered students
Add Student / Set count = 0
Add student[ count < 10 ]
[ count = 10 ]
Cancel
Cancel
Cancel
Trang 26BIỂU ĐỒ HOẠT ĐỘNG (ACTIVITY DIAGRAM)
Sử dụng cho những mục đích sau
- Để nắm bắt công việc (hành động) sẽ phải được thực thi khi một thủ tục được thực hiện
- Để nắm bắt công việc nội bộ trong một đối tượng.
- Để chỉ ra một nhóm hành động liên quan có thể được thực thi ra sao, và chúng sẽ ảnh hưởng đến những đối tượng nằm xung quanh chúng như thế nào.
- Để chỉ ra một trường hợp sử dụng có thể được thực thể hóa như thế nào, theo khái niệm hành động và các sự biến đổi trạng thái của đối tượng.
- Để chỉ ra một doanh nghiệp hoạt động như thế nào theo
Trang 27BIỂU ĐỒ HOẠT ĐỘNG (ACTIVITY DIAGRAM)
Yếu tố quan trọng ở đây là tất cả các thay đổi đồng thời phải được thực hiện trước khi chúng được thống nhất lại với nhau (nếu có) Một đường thẳng nằm ngang kẻ đậm (còn được gọi là thanh đồng hộ hóa – Synchronisation Bar) chỉ rằng một sự thay đổi được chia thành nhiều nhánh khác nhau và chỉ ra một sự chia sẻ thành các hành động song song Cũng đường thẳng đó được sử dụng để chỉ ra sự thống nhất các nhánh.
Trang 28BIỂU ĐỒ HOẠT ĐỘNG (ACTIVITY DIAGRAM)
Kí hiệu UML cho các thành phần căn bản của biểu đồ hoạt động:
thể được thực thi qua một hàm hoặc một nhóm đối tượng Hoạt động được thể hiện bằng hình chữ nhật bo tròn cạnh.
- Thanh đồng bộ hóa (Synchronisation bar): chúng cho phép ta mở
ra hoặc là đóng lại các nhánh chạy song song nội bộ trong tiến trình
trị hoặc đúng hoặc sai Điều kiện canh giữ được thể hiện trong ngoặc vuông, ví dụ:
[Customer existing].
Trang 29BIỂU ĐỒ HOẠT ĐỘNG (ACTIVITY
DIAGRAM)
Trang 31Biểu đồ thành phần: Cần phải xây dựng bao nhiêu chương trình, các chương trình kết hợp với nhau như thế nào?
Thành phần là mô đun vật lý mã trình, thành phần phần mềm có thể là thư viện mã nguồn và các tệp chạy được Mặc định mỗi lớp trong mô hình sẽ có phần đặc tả và phần thân Đặc tả chứa ghép nối lớp, thân chứa cài đặc của cùng lớp đó.
- Thành phần mã nguồn: có ý nghĩa vào thời điểm dịch chương trình Thông thường nó là tệp mã nguồn cài đặt một hay nhiều lớp.
- Thành phần nhị phân: thường là mã trình có được sau khi dịch thành phần mã nguồn Thành phần nhị phân có ý nghĩa vào thời
Trang 32Billing System
Trang 33Biểu đồ triển khai
Biểu đồ triển khai mô tả cấu hình của các
thành phần trong lúc thực thi và các phân mềm chạy trên hệ thống
Biểu đồ triển khai trực quan hoá sự phân bố
các thành phần của hệ thống
Trang 34Biểu đồ triển khai:
-Biểu đồ triển khai mô tả kiến trúc hệ thống của phần cứng khác nhau như bộ xử lý, các thiết bị
và các thành phần phần mềm thực hiện trên kiến trúc đó Nó là mô tả vật lý của tôpô hệ thống, mô tả cấu trúc của các đơn vị phần cứng
và phần mềm chạy trên nó 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
-Nút là các thiết bị, có thể là máy tính, máy in, đọc thẻ từ, thiết bị truyền tin, Các nút được kết nối thông qua kết hợp giao tiếp, các nút trao
Trang 35Biểu đồ triển khai
Library
Dorm
Main Building
Trang 36Hệ thống cũ họat động như thế nào?
Xác định hệ thống mới phải làm như thế nào?
Hệ thống cũ làm gì?
Tìm hiểu yêu cầu thực tế và yêu cầu
sử dụng.
Mã hóa, chuyển giao, bảo trì.
Bắt đầu
THỰC HIỆN
Hệ thống mới phải làm gì?
Trang 37Bước 1: Xác định bài toán
Một công ty kinh doanh các mặt hàng, cần xây dựng hệ thống phần mềm để phục vụ và quản
lý các hoạt động kinh doanh của mình Công
ty có nhiều điểm bán hàng (POST-point of sale terminal) và hệ thống cần phải ghi nhận các hoạt động kinh doanh và xử lý những công việc thanh toán với khách hàng chủ yếu là khách hàng mua lẻ Tại mỗi POST đều có các thiết bị phần cứng (máy tính, máy đọc mã
Trang 38Bước 1: Xác định bài toán
Kiến trúc của hệ thống: 3 mức
Mức vật lý: Thiết kế các giao diện
Chất lượng Tổng tiềnNhap MH Ban hang Thanh toán Thanh toán
Trang 39Bước 1: Xác định bài toán
Xác định các đối tượng dịch vụ: là những đối tượng không nằm trong phạm vi hoạt động của bài toán nhưng cung cấp các dịch vụ cho hệ thống
Trang 40Bước 1: Xác định bài toán
Kiến trúc của hệ thống: 3 mức
Tổ chức và lưu trữ: xác định cơ chế để tổ chức lưu trữ CSDL đồng thời lựa chọn phương pháp biến đổi
mô hình dữ liệu
Trang 41Bước 2 Phân tích yêu cầu
Tìm hiểu các yêu cầu của bài toán
Định nghĩa các yêu cầu thông qua các UCLập biểu đồ UC
Trang 42Bước 2 Phân tích yêu cầu
Tìm hiểu các yêu cầu của bài toán
Phát biểu tóm tắt cô đọng bài toán: POST là hệ thống bán hàng đầu cuối phục vụ bán lẻ hàng cho Khách hàng ở cửa hàng
Xác điịnh AC
Khách hàng Nhân viên thu tiền Cửa hàng trưởng Người quản trị Xác định mục tiêu của HT
Trang 43Bước 2 Phân tích yêu cầu
Tìm hiểu các yêu cầu của bài toán
Xác định nhiệm vụ của hệ thống: nhiệm vụ tường
minh, hay che dấu đều phải đánh số
Trang 44Nhân viên thu ngân Đăng nhập Xây dựng cơ chế lưu trữ nhất quán Xây dựng cơ chế trao đổi và truyền tin Hiển thị các ttin về mặt hàng đã xử lý Thu tiền mặt
Thu tiền qua thẻ
Hiển thị
Hiển thị Hiển thị Che giấu Che giấu Che giấu Che giấu Hiển thị Hiển thị
Trang 45Bước 2 Phân tích yêu cầu
Tìm hiểu các yêu cầu của bài toán
Định nghĩa các yêu cầu thông qua các UCLập biểu đồ UC
Trang 46Bước 2 Phân tích yêu cầu
Định nghĩa các yêu cầu thông qua các UC
Mua hàng (buy item)
Trả tiền (refund item)
Đăng nhập (login)
Thu tiền
Quản trị Hệ thống (khởi động, thoát Hệ thống)
Quản trị người dùng (Thêm, bớt người dùng)
Trang 47Bước 2 Phân tích yêu cầu
Trang 48Định nghĩa chi tiết các UC
Mua hàng
Phương thức thanh toán
Bước 2 Phân tích yêu cầu
Trang 49Bước 3: Phân tích hệ thống
Xác định mô hình khái niệm, danh sách ĐTXác định các lớp và mối quan hệ giữa chúngXác định thuộc tính
Xây dựng mô hình trạng thái
Trang 50Bước 3: Phân tích hệ thống
Xác định mô hình khái niệm, danh sách ĐT
Dựa vào văn bản mô tả bài toán -> danh từ
+ Khách hàng sau khi đã chọn đủ hàng thì đến quầy trả tiền
+ Nhân viên nhập mã sản phẩm
+ Hệ thống hiển thị giá bán và các thông tin mô tả về sản phẩm
Trang 51Bước 3: Phân tích hệ thống
Xác định mô hình khái niệm, danh sách ĐT
-> cửa hàng (post), hàng (item), quầy trả tiền (store), hình thức thanh toán(payment), thông tin sản phẩm (product specification), danh mục các sản phẩm
(product catolog)…
Trang 52Bước 3: Phân tích hệ thống
Xác định mối quan hệ liên kết giữa các đối tượng, vẽ mô hình đối tượng