Bài giảng Phân tích thiết kế hướng đối tượng - Chương 4: Phân tích và thiết kế hệ thống ở trạng thái tĩnh - Lê Thị Minh Nguyện

Nội dung

1. Giới thiệu

2. Lớp, đối tượng

3. Cách tiếp cận xác định lớp

4. Lớp và đối tượng trong UML

5. Mối kết hợp (quan hệ)

6. Phân tích tĩnh

pdf14 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: yen2110 | Lượt xem: 286 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Phân tích thiết kế hướng đối tượng - Chương 4: Phân tích và thiết kế hệ thống ở trạng thái tĩnh - Lê Thị Minh Nguyện, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ept): một khái niệm là một quan niệm
hoặc sự hiểu biết riêng biệt về thế giới. Lớp khái niệm bao 
gồm các nguyên lý được dùng để tổ chức hoặc lưu trữ các
hoạt động và các trao đổi về mặt quản lý.
• Ví dụ: phương pháp, hiệu băng, mô hình
• Lớp sự kiện (event):
• Lớp sự kiện là các thời điểm thời gian cần được lưu trữ. Các sự việc
xảy ra tại một thời điểm hoặc một bước trong một dãy tuần tự các
bước.
• Ví dụ: đăng ký, hóa đơn, đơn hàng , phiếu nhập
3.2. Tiếp cận theo phân loại
• Lớp tổ chức (Organisation): tập hợp con người, tài nguyên, 
phương tiện, hoặc những nhóm xác định chức năng người dùng
• Ví dụ: đơn vị, bộ phận, phòng ban, chức danh.
• Lớp con người (people): lớp con người thể hiện vai trò khác
nhau của người dùng trong việc tương tác với hệ thống.
• Ví dụ: sinh viên, khách hàng, giáo viên, nhân viên.
• Vị trí (place): các vị trí vật lý mà hệ thống mô tả thông tin về nó
• Ví dụ: tòa nhà, kho, văn phòng, chi nhánh, đại lý
• Lớp sự vật hữu hình và thiết bị: lớp các đối tượng hoặc các
nhóm của đối tượng hữu hình mà có thể cảm nhận trực quan về
các thiết bị mà hệ thống tương tác.
• Ví dụ: xe hơi, máy bay.
8/30/2017
5
3.2. Tiếp cận theo phân loại
• Ví dụ: hệ thống ATM
• Các lớp khái niệm
• Các lớp sự kiện
• Các lớp tổ chức:
3.2. Tiếp cận theo phân loại
• Ví dụ: hệ thống ATM
• Các lớp con người
• Các lớp sự vật hữu hình và thiết bị
4. Lớp và đối tượng trong UML 
• UML thể hiện lớp bằng hình chữ nhật có 3 phần. 
• Phần thứ nhất chứa tên lớp. 
• Phần thứ hai là thuộc tính và các dữ liệu thành phần
• Phần thứ ba là các phương thức hay hàm thành phần của lớp.
Phân tích thiết kế hướng đối tượng 19
Visibility
Public
Protected
Private
Name
Attribute
Operation
Lớp và đối tượng trong UML 
Phân tích thiết kế hướng đối tượng 20
8/30/2017
6
Các nhóm lớp
• Ba nhóm lớp cơ sở sử dụng trong pha phân tích là
• Boundary: lớp biên (giao diện)
• Dành cho lớp nằm trên biên hệ thống với thế giới còn lại
• Chúng có thể là form, report, giao diện với phần cứng như máy in, scanner...
• Khảo sát biểu đồ UC để tìm kiếm lớp biên
Phân tích thiết kế hướng đối tượng 21
Các nhóm lớp
• Ba nhóm lớp cơ sở sử dụng trong pha phân tích là
• Boundary
• Entity: lớp thực thể
• Lớp thực thể là lớp lưu trữ thông tin sẽ ghi vào bộ nhớ
ngoài
• Tìm chúng trong luồng sự kiện và biểu đồ tương tác
• Thông thường phải tạo ra bảng CSDL cho lớp loại này
• Mỗi thuộc tính của lớp thực thể sẽ là trường trong bảng CSDL
• Control: lớp điều khiển
• Có trách nhiệm điều phối hoạt động của các lớp khác
• Thông thường mỗi UC có một lớp điều khiển
• Nó không thực hiện chức năng nghiệp vụ nào
• Các lớp điều khiển khác: điều khiển sự kiện liên quan đến
an ninh và liên quan đến giao dịch CSDL
Phân tích thiết kế hướng đối tượng 22
5. Mối kết hợp (Association)
• Mối kết hợp (Association): là quan hệ ngữ nghĩa được thiết lập giữa
hai hay nhiều lớp, biểu diễn bởi những thành phần sau:
• Tên quan hệ
• Vai trò quan hệ
Tên vai trò
Bản số
Phân tích thiết kế hướng đối tượng 23
Biểu diễn Ý nghĩa
Unspecified
1 chính xác 1
0..* 0 hoặc nhiều
* 0 hoặc nhiều
1..* 1 hoặc nhiều
0..1 0 hoặc 1
2..4 Specified Range
2, 4..6 Multiple, Disjoint Ranges
Mối kết hợp (Association)
Phân tích thiết kế hướng đối tượng 24
8/30/2017
7
Mối kết hợp (Association)
Phân tích thiết kế hướng đối tượng 25
Lớp kết hợp
• Lớp kế hợp (Association Classes): khi một mối kết hợp
có các đặc trưng (thuộc tính, hoạt động, và các mối kết
hợp), chúng ta tạo một lớp để chứa các thuộc tính đó và
kết nối với mối kết hợp, lớp này được gọi là lớp kết hợp
Phân tích thiết kế hướng đối tượng 26
Mối kết hợp thành phần
• Aggregation là kết hợp giữa tổng thể và bộ phận (Whole Parts)
• Trong quan hệ này, một lớp biểu diễn cái lớn hơn còn lớp kia biểu diễn
cái nhỏ hơn
• Biểu diễn quan hệ has-a
• Một đối tượng của lớp tổng thể có nhiều đối tượng của lớp thành phần
• Có 2 loại quan hệ thành phần:
• Tụ hợp
• Gộp
Phân tích thiết kế hướng đối tượng 27
Mối kết hợp thành phần
• Tụ hợp
• Tổng thể và bộ phận có thể hủy bỏ vào thời điểm khác nhau
• Tên khác: quan hệ tụ hợp bởi tham chiếu (by reference)
Phân tích thiết kế hướng đối tượng 28
8/30/2017
8
Mối kết hợp thành phần
• Gộp: là dạng đặc biệt (mạnh hơn) của quan hệ tụ hợp
• Tổng thể và thành phần được hình thành hay hủy bỏ vào cùng thời điểm
• Tên khác: quan hệ tụ hợp bởi giá trị (by value)
Phân tích thiết kế hướng đối tượng 29
Mối kết hợp tổng quát hóa (Generalization)
• Mối kết hợp tổng quát hóa (Generalization): là mối kết hợp
được thiết lập giữa một lớp tổng quát hơn đến một lớp chuyên
biệt. Quan hệ này dùng để phân loại một tập hợp đối tượng
thành những loại xác định hơn mà hệ thống cần làm rõ ngữ
nghĩa
Phân tích thiết kế hướng đối tượng 30
Kết hợp đa kế thừa
• Không khuyến khích vì phức tạp
Phân tích thiết kế hướng đối tượng 31
Kết hợp OR
Phân tích thiết kế hướng đối tượng 32
8/30/2017
9
Xác định mối kết hợp
Phân tích thiết kế hướng đối tượng 33
???
Xác định thuộc tính
• Câu hỏi
• Thông tin gì về đối tượng sẽ được quản lý?
• Nguyên tắc
• Tên: danh từ, cụm danh từ
• Đơn giản: chỉ dùng đủ thuộc tính để diễn đạt trạng thái đối
tượng ở giai đoạn phân tích (thuộc tính sẽ được bổ sung chi 
tiết ở các giai đoạn tiếp theo)
• Không quá quan tâm về việc phải khám phá hết các thuộc
tính
Phân tích thiết kế hướng đối tượng 34
Xác định thuộc tính
Phân tích thiết kế hướng đối tượng 35
Xác định phương thức
• Câu hỏi:
• Các đối tượng chịu trách nhiệm xử lý gì về thông tin của nó
để cung cấp dịch vụ cho hệ thống?
• Nguyên tắc:
• Tên: động từ + bổ từ
• Chỉ quan tâm tới các phương có phạm vi toàn cục (public), 
các phương thức có phạm vi cục bộ (private) sẽ được phát
hiện trong giai đoạn thiết kế cài đặt
• Các phương thức chịu trách nhiệm về các thao tác lên các
thuộc tính của đối tượng. Truy vấn, cập nhật, đọc ghi.
Phân tích thiết kế hướng đối tượng 36
8/30/2017
10
Xác định phương thức
• Xác định phương thức qua hoạt động use case
• Phân tích các dòng thông điệp trong sơ đồ tuần tự để xem có
thể chuyển một hoạt động thành một method không?
• Nếu có, đặt tên cho phương thức ứng với hoạt động đó
Phân tích thiết kế hướng đối tượng 37
Xác định phương thức
Phân tích thiết kế hướng đối tượng 38
6. Phân tích tĩnh
1. Xác định các lớp
2. Xác định quan hệ giữa các lớp
3. Xây dựng biểu đồ lớp
4. Xác định thuộc tính lớp
5. Cập nhật bảng thuật ngữ và các yêu cầu phi chức
năng (Tùy chọn)
Phân tích thiết kế hướng đối tượng 39
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 40
Bước 1: Xác định các lớp:
• Không phải là công việc dễ dàng
• Quá trình lặp đi lặp lại
• Danh sách lớp sẽ thay đổi theo thời gian
• Thông thường ban đầu người ta sẽ xây
dựng các lớp ứng viên (candidate 
class)
• Các lớp này là các danh từ được trích ra
từ các use case scenarios
8/30/2017
11
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 41
Bước 1: Xác định các lớp:
Các danh từ là lớp ứng viên
 Tác nhân (Actor): sinh viên, giảng viên, 
thành viên, ...
 Đối tượng cụ thể trong mô tả hệ thống: 
tín chỉ, môn học, ...
 Biên (Boundary): giao diện interface 
(như giao diện nhập thông tin môn học)
 Một số kiểu dữ liệu thông dụng
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 42
Bước 1: Xác định các lớp – VD:
“FastData, Inc. employees may order office
supplies via the Internal Web and receive a receipt
confirming the order. The order must include the user
name, user password, account number, and the list of
supplies. A receipt must be generated containing an
order number, ship date, and total cost. If the order is
valid, it must be entered into an order database. If the
order is invalid, an error message must be
generated.”
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 43
Bước 1: Xác định các lớp – VD:
“FastData, Inc. employees may order office
supplies via the Internal Web and receive a receipt
confirming the order. The order must include the
user name, user password, account number, and
the list of supplies. A receipt must be generated
containing an order number, ship date, and total
cost. If the order is valid, it must be entered into an
order database. If the order is invalid, an error
message must be generated.”
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 44
Bước 1: Xác định các lớp:
Loại bỏ bớt các thành phần trong lớp ứng viên
 Các danh từ nằm ngoài miền ứng dụng
 Các danh từ trừu tượng (sẽ thành các
thuộc tính cho các lớp)
 Các danh từ bị trùng lắp
8/30/2017
12
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 45
Bước 1: Xác định các lớp:
Các thành phần nằm trong lớp ứng viên
 employee
 item 
 receipt
 order
 order database
 error message
1. Xác định các lớp
Phân tích thiết kế hướng đối tượng 46
Bước 1: Xác định các lớp:
2. Xác định quan hệ giữa các lớp
Phân tích thiết kế hướng đối tượng 47
Bước 2: Xác định quan hệ giữa các lớp
 Quan hệ: Association, Aggregation, Composition
 Quan hệ: Generalization, Realization
 Quan hệ: Dependency
2. Xác định quan hệ giữa các lớp
Phân tích thiết kế hướng đối tượng 48
8/30/2017
13
3. Xây dựng biểu đồ lớp
Phân tích thiết kế hướng đối tượng 49
4. Xác định thuộc tính lớp
Phân tích thiết kế hướng đối tượng 50
Một số kinh nghiệm khi thiết kế:
Phân tích thiết kế hướng đối tượng 51
• Tên lớp, tên diagram cần rõ ràng, có ý nghĩa
• Các thành phần và quan hệ cần xác định trước
• Ứng với từng class: trong giai đoạn phân tích chỉ
cần xác định các thuộc tính quan trọng nhất
• Sử dụng “Comment” mỗi khi cần
Một số kinh nghiệm khi thiết kế:
Phân tích thiết kế hướng đối tượng 52
• Quá trình trên cần được lặp lại
• Ta cần phân tích và bổ sung thêm các lớp ngoài
các danh từ đã được nêu trực tiếp trong bảng mô
tả mà ta thấy cần thiết
• Quá trình bổ sung này thường được thực hiện
song song với giai đoạn phân tích động
(Dynamic Analysis)
8/30/2017
14
Phân tích thiết kế hướng đối tượng 53

File đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_huong_doi_tuong_chuong_4_phan_t.pdf
Tài liệu liên quan