15
03/05/2018 1 Chương 4. MÔ HÌNH HÓA CU TRÚC TS. Vũ Chí Cường Các phương pháp phân tích và thiết kế hệ thống hiện đại Ni dung Đối tượng và lớp Quan hệ giữa các lớp

Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

1

Chương 4. MÔ HÌNH HÓA CẤU TRÚC

TS. Vũ Chí Cường

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Nội dung

� Đối tượng và lớp� Quan hệ giữa các lớp

Page 2: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

2

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Đối tượng là một kháiniệm, một sự trừu tượnghó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 đối tượng• Trạng thái - state (thuộc

tính, tính chất)• Hành vi - behavior

(phương thức, hành động)• Định danh – identify (duy

nhất)

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Các đặc trưng trongmô hình đối tượng• Tính trừu tượng

• Tính đóng gói• Tính modun• Tính phân cấp (kế thừa)• Tính đồng thời

Page 3: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

3

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Các đặc trưng trongmô hình đối tượng• Tính trừu tượng• Tính đóng gói

• Tính modun• Tính phân cấp (kế thừa)• Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Các đặc trưng trongmô hình đối tượng• Tính trừu tượng• Tính đóng gói• Tính modun

• Tính phân cấp (kế thừa)• Tính đồng thời

Page 4: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

4

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Các đặc trưng trongmô hình đối tượng• Tính trừu tượng• Tính đóng gói• Tính modun• Tính phân cấp (kế

thừa)

• Tính đồng thời

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Các đặc trưng trongmô hình đối tượng• Tính trừu tượng• Tính đóng gói• Tính modun• Tính phân cấp (kế thừa)• Tính đồng thời

Page 5: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

5

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Lớp là một mô tả củamột tập các đối tượngcó chung các thuộctính, các hành vi, cácmối liên quan, cácràng buộc và ngữnghĩa

� Lớp là kiểu� Đối tượng thuộc lớp

là một thể hiện(instance)

Page 6: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

6

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Xác định đối tượng• Cách tốt nhất là khảo sát danh từ trong luồng sự

kiện hay tìm trong tài liệu kịch bản• Danh từ trong kịch bản có thể là tác nhân, là đối

tượng, là thuộc tính của đối tượng.• Nếu chỉ cho thông tin thì đó là thuộc tính• Nếu có hành vi thì đó là đối tượng

� Chú ý• Mẫu báo cáo (forms) không có trong luồng sự kiện

-> đối tượng để nhập hay xem dữ liệu• Đối tượng điều khiển không có trong luồng sự kiện

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Xác định thuộc tính của lớp• Thuộc tính của lớp mô tả các đặc tính của các

đối tượng trong lớp• Thuộc tính của lớp có cấu trúc

� Tên của thuộc tính� Kiểu xác định các loại giá trị thuộc tính

• Kiểu nguyên thủy: số nguyên (Integer, int), số thực(Real, Float), giá trị logic (Boolean), ký tự (Character),thời gian (Time),...

• Kiểu mới

� Giá trị mặc định (khởi đầu)� Phạm vi thuộc tính: public, protected, private,

implementation.

Page 7: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

7

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Đối tượng và lớp

� Xác định thuộc tính của lớp• Đọc kỹ các mô tả bài toán, nghiên cứu hồ sơ các chức năng

hệ thống, các đặc tả ca sử dụng, các kịch bản để tìm tất cảnhững thông tin, dữ liệu cần phải lưu trữ, xử lý và cậpnhật. Các mục này thường là các danh từ, hoặc mệnh đềdanh từ đơn, được xem như là đại biểu của các thuộc tính.

• Sử dụng các quy tắc� Liên kết các khái niệm với nhau bằng quan hệ kết hợp, không

bằng các thuộc tính phức hợp� Phần tử của kiểu dữ liệu thuần túy có thể được xác định trong một

thuộc tính của một lớp, mặc dù nó cũng có thể được sử dụng nhưmột khái niệm (lớp) tách biệt trong mô hình

� Nên kết nối các khái niệm với nhau bằng các quan hệ kết hợp,không sử dụng thuộc tính (khóa ngoại).

• Đọc những giả thiết, sự phân loại hay những quy ước cầnáp dụng cho hệ thống hiện thời để khẳng định lại nhữngthuộc tính của từng lớp.

• Gán các thuộc tính cho các lớp đối tượng trong sơ đồ lớp.

Page 8: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

8

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Xác định hành vi của lớp

� Hành vi của lớp được mô tả bởi: phạm vi, tên gọi,danh sách các tham số và kiểu giá trị trả về

� Cú phápvisibility name (arg1: DataType1, arg2:DataType2,…, argn: DataTypen): ReturnType• visibility khai báo phạm vi quan sát (public, protected,

private, hay mặc định)• name là tên gọi của thao tác, quy ước thường là các

động từ (cụm động từ), viết hoa các chữ cái đầu tiên củacác từ trừ từ đầu tiên.

• argk là tên của tham số hình thức thứ k trong danhsách.

• DataTypek là các kiểu thuộc tính.• ReturnType là kiểu dữ liệu trả lại sau khi thao tác kết

thúc.

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Phân loại hành vi

� Hành vi nghiệp vụ/cài đặt (implementor)� Hành vi quản lý (manager)� Hành vi truy cập (access)� Hành vi trợ giúp (helper)� Hành vi hiển thị, trao đổi thông tin

Page 9: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

9

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Cách xác định hành vi

� Khảo sát biểu đồ tương tác� Các hành vi quản lý (bổ sung cấu tử, hủy

tử)� Các hành vi truy cập (get, set)� Chú ý:

• Nếu lớp chỉ có 1 hay 2 hành vi thì nên gộp vàolớp khác

• Nếu lớp không có hành vi nào thì nên mô hìnhhóa nó như là thuộc tính

• Nếu lớp có quá nhiều hành vi thì nên chia sẻcho các lớp khác

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Xác định mối quan hệ giữa các lớp

� Quan hệ kết hợp (association)� Quan hệ tụ hợp (aggregation)� Quan hệ tổng quát hóa, kế thừa

(generalization)� Quan hệ phụ thuộc (dependencies)

• Dùng để diễn đạt một lớp (bên phụ thuộc) chịuảnh hưởng của mọi thay đổi trong một lópkhác (bên độc lập), mà ngưọc lại thi khôngnhất thiết

� Quan hệ thực hiện hóa (realisation)

Page 10: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

10

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Quan hệ kết hợp

� Định nghĩa• là quan hệ giữa hai lớp xác định cách các đối

tượng của các lớp có thể liên kết với nhau đểthực hiện công việc

� Vai trò (role)� Cơ số (multiplicity)

• 1, 0..1, m..n, 0..*, 1..*

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Quan hệ tụ hợp

� Định nghĩa• Tụ hợp (aggregation)

là một loại của quanhệ kết hợp, tập trungthể hiện quan hệ giữatổng thể và bộ phận.

• Tụ hợp thường biểudiễn cho quan hệ “cómột”, “là bộ phậncủa”, hoặc “baogồm”,... thể hiện mốiquan hệ một lớp tổngthể có, gồm, chứa hayliên kết với một hoặcnhiều lớp thành phần.

Page 11: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

11

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Quan hệ tổng quát hóa

� Định nghĩa• là quan hệ kế thừa

giữa hai lớp. Nó chophép lớp con (lớpdưới, lớp kế thừa,hay lớp dẫn xuất)kế thừa trực tiếp cácthuộc tính và cáchàm thuộc loại côngkhai, hay được bảovệ (protected) củalớp cha (lớp cơ sở,lớp trên).

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Quan hệ thực hiện hóa

� Định nghĩa• Quan hệ thực hiện

hóa thể hiện sự kếtnối giữa các lớp vàgiao diện thườngđược sử dụng vớicác giao diện vànhững lớp làmnhiệm vụ cài đặt cácdịch vụ (thao tác)đã được khai báotrong các giao diện

Page 12: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

12

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Phân nhóm lớp (stereotype)

� Lớp biên (Boundary Class)• là lớp nằm trên đường biên của hệ thống

với phần thế giới bên ngoài.• có thể là biểu mẫu (form), báo cáo

(report), giao diện với các thiết bị phầncứng như máy in, máy đọc ảnh(Scanner),... hoặc là giao diện với các hệthống khác

� Lớp thực thể (Entity Class)• là lớp lưu giữ các thông tin mà nó được

ghi vào bộ nhớ ngoài.• Ví dụ lớp SinhVien là lớp thực thể

� Lớp điều khiển (Control Class)• là lớp làm nhiệm vụ điều phối hoạt động

của các lớp khác

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Xây dựng biểu đồ lớp

� Bước 1: Xác định mục đích của mỗi ca sửdụng

� Bước 2: Dựa vào các mục đích để xác địnhcác thực thể (lớp)

� Bước 3: Xác định các mối quan hệ chủ yếu(kết hợp) giữa các lớp

� Bước 4: Xác định các hành vi/hàm thànhphần thể hiện sự cộng tác của các lớptrong ca sử dụng

� Bước 5: Kiểm tra các sơ đồ ca sử dụng

Page 13: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

13

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Bước 1

� Tìm cách trả lời những câu hỏi sau:• Mục tiêu của ca sử dụng là gì?• Ca sử dụng này cung cấp những dịch vụ nào?• Những giá trị hay những đáp ứng nào mà ca sử

dụng có thể cung cấp.

� Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Bước 2

� Thực thể là người nào đó, cái gì đó đóng một vaitrò nhất định trong ca sử dụng để thực hiện đượcnhững mục đích của ca sử dụng

� Tìm cách trả lời các câu hỏi sau• Những thực thể nào là cần thiết và quan trọng để thực

hiện được mục đích của ca sử dụng?• Những thuộc tính nào của thực thể là cần thiết và quan

trọng để thực hiện được mục đích của ca sử dụng?

� Ví dụ

Page 14: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

14

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Bước 3

� Một ca sử dụng có thể liên quan tới nhiều thựcthể, những thực thể đó kết hợp với nhau để thựchiện được mục đích của ca sử dụng.

� Các câu hỏi• Với mỗi thực thể, nó được sinh ra dựa vào hay bị phụ

thuộc vào những thực thể khác? Nếu có, nó phải thamchiếu tới những thực thể đó.

• Với mỗi thực thể, nó có thể tác động vào hay bị tác độngbởi những thực thể khác? Nếu có, nó phải tham chiếu tớinhững thực thể đó.

� Ví dụ

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Bước 4

� Những thực thể liên quan đến một ca sử dụng thìchúng cộng tác với nhau để thực hiện một số côngviệc nhằm đạt được mục đích của ca sử dụng. Nhữngcông việc đó chính là các hàm thành phần của lớp.

� Các câu hỏi• Ca sử dụng này cần làm gì với mỗi thực thể liên quan với

nó?• Ca sử dụng này cần biết gì về mỗi thực thể liên quan với

nó?• Mỗi thực thể liên quan có thể đóng góp được gì trong ca sử

dụng này?� Ví dụ

Page 15: Ch ươ ng 4. MÔ HÌNH HÓA C ẤU TRÚChome.vinhuni.edu.vn/cuongvcc/wp-content/uploads/sites/109/2017/1… · •là quan hệ giữa hai lớp xác định cách các đối tượng

03/05/2018

15

Các phương pháp phân tích và thiết kế hệ thống hiện đại

Bước 5

� Kiểm tra các yêu cầu chức năng xem:• Tất cả các ca sử dụng có thực hiện được hết các yêu cầu chưa?• Mục đích của mỗi ca sử dụng có đúng như các tác nhân yêu cầu

không?� Kiểm tra các thực thể của các ca sử dụng:

• Các thực thể trong sơ đồ lớp có cần và đủ để thực hiện các mụcđích của mçi ca sử dụng hay không?

• Các thuộc tính của mỗi thực thể có phải là những cái mà ca sửdụng cần biết hay không?

• Các hàm thành phần của lớp có cần và đủ để thực hiện các mụcđích của mỗi ca sử dụng hay không?

� Loại bỏ các dư thừa• Lớp dư thừa: khi có 2 lớp trở lên định nghĩa cho cùng một thực thể

thì chỉ cần giữ lại một.• Lớp biệt lập: những lớp không có quan hệ với các lớp khác trong

hệ thống thì cần phải loại bỏ.• Lớp mơ hồ: những lớp không có chức năng rõ ràng thì phải định

nghĩa lại chính xác hoặc loại bỏ đi./.