Tải bản đầy đủ (.pdf) (20 trang)

Bài giảng phân tích và thiết kế hướng đối tượng thiết kế kiến trúc đỗ ngọc như loan

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 (789.95 KB, 20 trang )

Thiết kế kiến trúc

7 – Thiết kế kiến trúc: Use-case & Class Diag.


Nội dung trước
 Các biểu đồ
 Activity Diagram
 State Diagram
 Component Diagram

 Deployment Diagram

7 – Thiết kế kiến trúc: Use-case & Class Diag.

2


Nội dung
 Thiết kế kiến trúc:

 Tìm hiểu mục đích Thiết kế kiến trúc
 Diễn giải về các cơ chế thiết kế, cài đặt và gán chúng
từ giai đoạn phân tích.
 Subsystems và interfaces
Thiết kế Use-Case
 Kiểm tra tính nhất quán trong Use- case
 Tinh chỉnh Use-case realization
Thiết kế Class
7 – Thiết kế kiến trúc: Use-case & Class Diag.


3


Các loại cơ chế kiến trúc
Các cơ chế phân tích (conceptual)
Các cơ chế thiết kế (concrete)
Các cơ chế cài đặt (actual)

7 – Thiết kế kiến trúc: Use-case & Class Diag.

4


Các cơ chế phân tích mẫu












Persistency: Cơ chế bền vững tồn tại lâu dài
Communication: Cơ chế trao đổi dữ liệu
Message routing: Cơ chế trao đổi thông điệp
Distribution: Cơ chế xử lý dữ liệu phân tán

Transaction management: Cơ chế quản lý giao tác
Process control and synchronization (resource contention):
quản lý các tiến trình
Information exchange, format coversion: trao đổi dữ liệu với
các phần mềm khác, chuyển đổi định dạng của dữ liệu
Security: cơ chế bảo mật
Error detection/ handling /reporting: cơ chế xử lý lỗi
Redundancy: cơ chế xử lý thông tin dư thừa
Legacy Interface: cơ chế giao tiếp với hệ thống đã tồn tại

7 – Thiết kế kiến trúc: Use-case & Class Diag.

5


Ví dụ
Các cơ chế phân tích sử dụng trong ứng
dụng “Đăng ký học phần:
Persistency
Security
Distribution
Legacy Interface

7 – Thiết kế kiến trúc: Use-case & Class Diag.

6


Ví dụ
 Ánh xạ các Analysis-Class với các cơ chế kiến trúc có từ


bước phân tích Use-case

7 – Thiết kế kiến trúc: Use-case & Class Diag.

7


Cơ chế thiết kế và cài đặt

7 – Thiết kế kiến trúc: Use-case & Class Diag.

8


Cơ chế Persistence
 Mô tả các hành vi liên quan đến cơ chế
Persistence
 Mô hình hóa các Transaction
 Lưu (ghi) các Persistent Object

 Đọc các Persistent Object
 Hủy các Persistent Object

7 – Thiết kế kiến trúc: Use-case & Class Diag.

9


Thiết kế kiến trúc

 Thiết kế lớp: thiết kế thuộc tính, method và mối kết hợp

 Kiến trúc ba tầng trong thiết kế phần mềm
 Thiết kế use case
 Quá trình thiết kế các lớp tầng truy cập dữ liệu: xác định các lớp,
thuộc tính, method và mối kết hợp qua việc phân tích use case
 Thiết kề các lớp tầng giao diện: xác định các lớp, xây dựng bản mẫu
(prototype), xác định thuộc tính và method qua việc phân tích use
case
 Mô hình hoá use case hiện thực hoá dùng sơ đồ lớp, sơ đồ tương tác

 Nâng cấp kiến trúc bằng việc phân chia hệ thống thành các
gói (package)
7 – Thiết kế kiến trúc: Use-case & Class Diag.

10


Kiến trúc 3 tầng
Tầng giao diện người dùng
(user interface layer),
Tầng tác nghiệp
(business layer),
Tầng truy cập dữ liệu
(data layer).

7 – Thiết kế kiến trúc: Use-case & Class Diag.

11



Kiến trúc mở rộng

Tầng Middleware: chứa các thành phần
xây dựng giao diện với các CSDL
(ODBC/JDBC driver)

Tầng System software: chứa các thành
phần về hệ điều hành, giao diện tới các
phần cứng (ví dụ: các driver phần cứng cụ
thể), v.v…

7 – Thiết kế kiến trúc: Use-case & Class Diag.

12


Xác định lớp ở tầng tác nghiệp
 Các class ở tầng tác nghiệp không nên quan tâm đến cách

thức nó được hiển thị và được hiển thị bởi ai. Các đối tượng
này được thiết kế để độc lập với bất kỳ một giao diện cụ

thể, và vì vậy cách thức chi tiết để hiển thị một đối tượng
nên tồn tại trong tầng giao diện thay vì trong tầng tác
nghiệp.
 Các đối tượng ở tầng tác nghiệp cũng không nên quan tâm
đến nguồn gốc của nó hình thành. Có nghĩa là các đối
tượng này sẽ độc lập về dữ liệu của nó được lấy từ truy cập
CSDL hay là từ truy xuất tập tin.

7 – Thiết kế kiến trúc: Use-case & Class Diag.

13


Sơ đồ lớp của hệ thống ATM tầng nghiệp vụ

Ví dụ

7 – Thiết kế kiến trúc: Use-case & Class Diag.

14


User interface layer
 Các class ở tầng này đảm nhận hai công việc chính:
 Trả lời tương tác người dùng: các đối tượng mức này
phải được thiết kế để chuyển dịch những hành động
của người dùng tới một tình huống xử lý phù hợp. Có
thể là mở hoặc đóng một giao diện khác, hoặc gởi
một thông điệp xuống tầng tác nghiệp hoặc khởi động
một vài tiến trình ở tầng tác nghiệp
 Hiển thị các đối tượng tác nghiệp: tầng này phải trình
bày một hình ảnh tốt nhất các đối tượng tác nghiệp
tới người dùng trong một giao diện. Điều này có
nghĩa là một hình ảnh trực quan thao tác được có thể
bao gồm: các textbox, listbox, commbobox, page,
form, menu, toolbar, ….
7 – Thiết kế kiến trúc: Use-case & Class Diag.


15


User interface layer
Xác định các lớp tầng giao diện:

 Xây dựng sơ đồ lớp mô tả các đối tượng giao
diện
 Tạo bản mẫu giao diện (prototype)
 Xác định hành vi và thuộc tính cho các lớp
giao diện
 Yêu cầu đọc thêm tài liệu về thiết kế giao diện
7 – Thiết kế kiến trúc: Use-case & Class Diag.

16


Xác định lớp ở tầng truy cập dữ liệu
 Đối tượng tầng này phải truy cập vật lý CSDL ở các vị trí

(CSDL quan hệ, tập tin, internet,…) và xử lý nó. Hai nhiệm
vụ chính của tầng này là:
 Chuyển dịch các yêu cầu: chuyển dịch tất cả các yêu cầu
liên quan đến dữ liệu từ tầng tác nghiệp đến một phương
thức truy cập dữ liệu thích hợp (dạng SQL, truy xuất
file,…)
 Chuyển dịch kết quả: chuyển dịch tất cả dữ liệu truy cập
được tới các đối tượng tác nghiệp thích hợp.
7 – Thiết kế kiến trúc: Use-case & Class Diag.


17


Xác định các đối tượng lưu trữ và persistence
 Mỗi dữ liệu sẽ có một thời gian sống (lifetime) khác nhau
 phân loại:
 Là kết quả tạm thời để đánh giá một biểu thức
 Các biến trong quá trình thực thi một thủ tục (các tham
số và biến trong phạm vi cục bộ)
 Các biến toàn cục và các biết cấp phát một cách tự
động
 Dữ liệu tồn tại giữa các lần thực thi một chương trình
 Dữ liệu tồn tại giữa các phiên bản của một chương
trình
 Dữ liệu tồn tại vượt ngoài phạm vi sống của một
chương trình
7 – Thiết kế kiến trúc: Use-case & Class Diag.

18


Xác định các đối tượng lưu trữ và persistence
Các loại dữ liệu persistent sẽ được quản lý bởi hệ

quản trị cơ sở dữ liệu hoặc hệ thống lưu trữ tập
tin. (3 loại sau)

Ba loại dữ liệu đầu tiên đều gọi là dữ liệu tạm thời
(transient data). Là dữ liệu có thời gian sống phụ
thuộc vào thời gian sống của tiến trình sử dụng

nó. Khi tiến trình kết thúc thì dữ liệu này bị giải
phóng
7 – Thiết kế kiến trúc: Use-case & Class Diag.

19


Chuyển đổi các đối tượng RDBMS
Các thành phần tương ứng như sau:
 Một cột ứng với một thuộc tính (persistent) lớp
 Một dòng của bảng ứng với một đối tượng (thể
hiện của một lớp)
 Một thủ tục lưu trữ nội (stored procedure) có
thể tương ứng với một method.

7 – Thiết kế kiến trúc: Use-case & Class Diag.

20



×