Tải bản đầy đủ (.ppt) (34 trang)

Cs 353 - Phan Tich Thiet Ke Huong Doi Tuong - 2020F - Lectures Slides - 13.Ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (634.11 KB, 34 trang )

Click to edit Master title
style
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level

PHÂN TÍCH VÀ THIẾT KẾ
HƯỚNG ĐỐI TƯỢNG
Trần Thị Thanh Lan
Khoa Công Nghệ Thông Tin
Đại học Duy Tân


CHƯƠNG 7

THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Trần Thị Thanh Lan
Khoa Công Nghệ Thông Tin
Email:
Thời gian: 120 phút

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 2


MỤC TIÊU


Cung cấp cho sinh viên những kiến thức về:
Thiết kế kiến trúc hệ thống
Thiết kế use case, xây dựng các biểu đồ trình tự, biểu đồ
cộng tác, biểu đồ trạng thái, biểu đồ hoạt động.
Thiết kế lớp, thiết kế phương thức/hành vi của lớp.
Thiết kế kế cơ sở dữ liệu hệ thống: chuyển đổi đối tượng
sang mơ hình quan hệ, chuyển đổi từ lớp – bảng…
Thiết kế hệ thống con

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 3/64


NỘI DUNG
 Thiết kế các use case
 Biểu đồ hoạt động
 Biểu đồ tương tác
 Biểu đồ tuần tự
 Biểu đồ cộng tác
 Biểu đồ trạng thái
 Thiết kế lớp
 Biểu đồ triển khai
Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 4/64



NỘI DUNG
 Thiết kế các use case
 Biểu đồ hoạt động
 Biểu đồ tương tác
 Biểu đồ tuần tự
 Biểu đồ cộng tác
 Biểu đồ trạng thái
 Thiết kế lớp
 Biểu đồ triển khai
Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 5/64


THIẾT KẾ LỚP
Một tiến trình thiết kế lớp bao gồm:
Tinh chế thuộc tính
Thiết kế hành vi (method) và nghi thức (protocol) sử dụng
sơ đồ trong UML
Tinh chế quan hệ giữa các lớp
Tinh chế sự phân cấp và thiết kế sự kế thừa

Wednesday, October 11, 2023

Faculty Of Information Technology


Page: 6/64


THIẾT KẾ LỚP
 Nhắc lại: giai đoạn elaboration đã xây dựng biểu đồ
lớp phân tích
 Giai đoạn construction xây dựng biểu đồ lớp (class
diagram) chi tiết hay còn gọi là biểu đồ lớp thiết kế
(design class diagram)

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 7/64


THIẾT KẾ LỚP
 Biểu đồ lớp định nghĩa:
 Các lớp (class)
 Các thuộc tính (attribute) của lớp: các biến và
kiểu của chúng
 Các thao tác (operation) của lớp: các phương thức
(method), các tham đối và có thể giá trị trả về
 Các quan hệ giữa các lớp

Wednesday, October 11, 2023

Faculty Of Information Technology


Page: 8/64


THIẾT KẾ LỚP
 Biểu đồ lớp thiết kế có cùng quy tắc cú pháp với
biểu đồ lớp phân tích
 Thực ra, biểu đồ lớp phân tích sử dụng các cú pháp của
biểu đồ lớp trong UML
 Tất cả các kí hiệu và quy tắc (đã trình bày) đối với biểu đồ
lớp phân tích đều được sử dụng để xây dựng biểu đồ lớp
thiết kế.

 Biểu đồ lớp thiết kế được xây dựng dựa trên biểu đồ
lớp phân tích
 Biểu đồ lớp thiết kế sẽ là nền tảng cho bước mã hóa

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 9/64


THIẾT KẾ LỚP
 Tinh chế các thuộc tính
<Phạm vi> <tên> : <kiểu thuộc tính> = <giá trị khởi tạo>
Trong đó, sẽ là:
+ : toàn cục (public protocol)
# : bảo vệ (protected protocol)
- : cục bộ (private protocol)

<kiểu thuộc tính> là một đặc tả cài đặt thuộc tính độc lập ngôn
ngữ.
<giá trị khởi tạo> là một biểu thức độc lập ngôn ngữ xác định giá
trị khởi tạo khi một đối tượng được tạo mới. tham số này là
tuỳ chọn.

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 10/64


THIẾT KẾ LỚP
 Tinh chế các thuộc tính
Thuộc tính đa trị được xác định bằng việc thêm vào chỉ số mảng
theo sau tên thuộc tính. Ví dụ:
Địa_chỉ[3]: string
Ngoaingu[2]:string
Tập_hợp_điểm[2..*]: điểm

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 11/64


THIẾT KẾ LỚP
 Ví dụ: tinh chế thuộc tính các lớp của hệ thống

ATM
Lớp KháchHàng
#tênKháchHàng: String
#họKháchHàng: String
#mãPIN: String
#sốThẻ: String
#tàiKhoản: TàiKhoản (thuộc tính tham chiếu)

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 12/64


THIẾT KẾ LỚP
 Ví dụ: tinh chế thuộc tính các lớp của hệ thống
ATM
Lớp TàiKhoản
#sốTàiKhoản: String
#loạiTàiKhoản: String
#sốDư: float
#giaoTác: GiaoTác (cài đặt mối kết hợp giữa lớp
TàiKhoản và lớp GiaoTác)
#kháchHàng: KháchHàng (cài đặt mối kết hợp giữa lớp
TàiKhoản và lớp KháchHàng)
Wednesday, October 11, 2023

Faculty Of Information Technology


Page: 13/64


THIẾT KẾ LỚP
 Ví dụ: tinh chế thuộc tính các lớp của hệ thống
ATM
Lớp GiaoTác
#giaoDịchID: String
#ngàyGiaoDịch: Date
#thờiGianGiaoDịch: Time
#loạiGiaoDịch: String
#sốTiền: float
#sốDư: float

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 14/64


THIẾT KẾ LỚP

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 15/64



THIẾT KẾ LỚP
 Thiết kế các phương thức
Một lớp có thể có những loại hành vi sau:
- Constructor: method tạo thể hiện (đối tượng) của lớp
- Destructor: method huỷ thể hiện của lớp
- Conversion: method chuyển đổi một đơn vị đo lường này sang một đơn vị đo lường
khác
- Copy: method sao chép nội dung của một thể hiện sang một thể hiện khác
- Attribute set: method gán giá trị cho một hoặc nhiều thuộc tính
- Attribute get: method trả về giá trị của một hoặc nhiều thuộc tính
- I/O method: method cung cấp tới hoặc nhận dữ liệu từ một thiết bị
- Domain specific: method xác định tới các ứng dụng của đối tượng
Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 16/64


THIẾT KẾ LỚP
 Thiết kế các phương thức
Theo UML một hành vi của lớp được trình bày theo cú pháp:
<tên> <(danh sách tham số)> : <kiểu trả về>
Trong đó,
được qui định giống như của thuộc tính
<danh sách tham số>: mỗi tham số cách nhau bởi dấu phẩy và
có cú pháp như sau: <tên tham số>: <kiểu dữ liệu> = mặc định>.
<kiểu trả về> là một đặc tả độc lập ngôn ngữ về cài đặt giá trị trả
về của một hành vi. Nếu mục này bị bỏ qua thì hành vi khơng

trả về giá trị

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 17/64


THIẾT KẾ LỚP
 Thiết kế các phương thức
Ví dụ:
+get_Tên(): String
+get_SốTàiKhoản(vtàiKhoản : TàiKhoản):
String

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 18/64


THIẾT KẾ LỚP
 Thiết kế các phương thức
Ví dụ:
+get_Tên(): String
+get_SốTàiKhoản(vtàiKhoản : TàiKhoản):
String


Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 19/64


THIẾT KẾ LỚP

Wednesday, October 11, 2023

Faculty Of Information Technology

Page: 20/64



×