Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Thiết kế kiến trúc

w Tìm hiểu mục đích của công đoạn Thiết kế

kiến trúc và thời điểm thực hiện công đoạn

này

w Diễn giải về các cơ chế thiết kế và cài đặt

và cách gán chúng từ các cơ chế phân tích

w Tìm hiểu về subsystems aà interfaces và vai

trò của chúng trong kiến trúc hệ thống

w Mô tả quy trình xác định các interfaces và

subsystems

w Tìm hiểu các lý lẽ và các cở sở hỗ trợ cho

các quyết định về kiến trúc

pdf68 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 2492 | Lượt tải: 3download
Tóm tắt nội dung Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Thiết kế kiến trúc, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ned
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 38
BillingSystem
submitBill(forStudent : Student, forTuition : double)
>
IBillingSystem
submitBill(forTuition : Double, forStudent : Student)
>
Student
>
0..1
1
+Biller
CloseRegistrationController
// is registration open?()
// close registration()
>
Ví dụ: Subsystem Context: Billing System 
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 39
Bài tập: Architectural Design, phần 1
w Cho biết các vấn đề sau:
§ Các analysis class và mối quan hệ của chúng
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 40
(còn tiếp)
Bài tập: Architectural Design, phần 1 (tt.)
w Hãy xác định:
§ Các Subsystem, các interface và các quan hệ của 
chúng với các phần tử thiết kế khác
§ Ánh xạ các analysis class thành các phần tử thiết 
kế
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 41
Bài tập: Architectural Design, Part 1 (tt.)
w Hãy xây dựng các lược đồ sau:
§ Với mỗi subsystem, xây dựng 1 subsystem context 
class diagram 
§ Xây dựng bảng ánh xạ các analysis class thành 
các phần tử thiết kế (design element)
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 42
Architectural Design Topics
w Các khái niệm then chốt
w Các cơ chế thiết kế và cài đặt
w Các Design Class và Subsystem
w Các khả năng tái sử dụng
w Tổ chức mô hình thiết kế
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 43
Xác định các khả năng dùng lại
wMục đích
§ Để xác định nơi đâu có thể dùng lại các subsystem
hay các component đã xây dựng dựa trên interface 
của chúng.
w Các bước
§ Tìm kiếm các interface tương tự nhau
§ Hiệu chỉnh các interface mới để phù hợp hơn
§ Thay thế các interface cần có bằng các interface 
có sẵn
§ Ánh xạ các subsystem cần có với các component 
có sẵn
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 44
Những cơ hội dùng lại
w Bên trong hệ thống đang xây dựng:
§ Nhận biết sự giống nhau giữa các package và các 
subsystem
w Bên ngoài hệ thống đang xây dựng:
§ Các component thương mại
§ Các component từ các ứng dụng đã xây dựng trước 
đó
§ Các component đã được reverse engineered
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 45
?
Cơ hội dùng lại ngay bên trong hệ thống
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 46
Architectural Design Topics
w Các khái niệm then chốt
w Các cơ chế thiết kế và cài đặt
w Các Design Class và Subsystem
w Các khả năng tái sử dụng
w Tổ chức mô hình thiết kế
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 47
Hướng tiếp cận phân lớp truyền thống
General 
functionality
Specific 
functionality
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 48
Mục đích là giảm sự chồng lắp và tăng khả năng bảo trì nâng cấp
Layering Guidelines
w Tính khả kiến
§ Chỉ có các phụ thuộc giữa layer hiện tại và layer kế
w Tính dễ thay đổi
§ Các layer ngoài bị thay đổi khi y/c đ/v HT thay đổi
§ Các layer trong bị thay đổi khi môi trường hoạt động 
thay đổi
w Tính tổng quát
§ Các phần tử có chức năng tổng quát ở các layer thấp
w Số lượng các layer
§ Hệ thống nhỏ: 3-4 layer
§ Hệ thống phức tạp: 5-7 layer
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 49
Layer 1 >
> >
Layer 2
>
>
>
>
>
Layer 3
> >
>
>
Các Design Element và Kiến trúc
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 50
Base Reuse
global
Middleware
>
Application
>
Business 
Services
>
Ví dụ: Architectural Layers
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 51
Các tiêu chuẩn phân chia
w Sự chồng lắp và kết dính
w Tổ chức của đơn vị sử dụng
w Năng lực và kỹ năng
w Sự phân bố của hệ thống
w Tính bảo mật
w Khả năng biến đổi
Hãy thử loại bỏ các phụ thuộc xoay vòng
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 52
B
A Package A
Package B
Ví dụ: Partitioning
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 53
RegistrationController
>
MainStudentForm
RegisterForCoursesForm
>
1
1
1
0..1
CloseRegistrationController
>
MainRegistrarForm
CloseRegistrationForm
>
1
1
1
0..1
Ví dụ: Registration Package
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 54
FulltimeStudent
>
ParttimeStudent
>
PrimaryScheduleOfferingInfo
>
ScheduleOfferingInfo
>
Student
>
Course
>
Professor
>
Schedule
>
CourseOffering
>
CourseOfferingList
1
preRequisites
0..*
0..*
1
instructor
0..1
0..*
0..*0..*
0..*
0..4
primaryCourses
0..*
0..2
alternateCourses
0..*
1
Vó dụ: University Artifacts Package
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 55
IBillingSystem
>
ICourseCatalogSystem
>
Ví dụ: External System Interfaces Package
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 56
Registration
>
Application
Ví dụ: Application Layer
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 57
Application
>
Business 
Services
>
Security
Registration
GUI Framework
External System 
Interfaces
University Artifacts
>
Application
>
Business Services
Secure Interfaces
Ví dụ: Application Layer Context
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 58
BillingSystem
>
CourseCatalogSystem
>
External System 
Interfaces
University 
Artifacts
ObjectStore 
Support
>
Business Services
GUI
Framework
Secure
Interfaces
Security
>
Security
Manager
Ví dụ: Business Services Layer
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 59
Middleware
>
Business 
Services
>
java.sqlcom.odi
>
Middleware
BillingSystem
>
CourseCatalogSystem
>
External System 
Interfaces
University 
Artifacts
ObjectStore 
Support
>
Business Services
GUI
Framework
Secure
Interfaces
Security
>
Security
Manager
Ví dụ: Business Services Layer Context
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 60
com.odi
Database
(from com.odi)
Session
(from com.odi)
Transaction
(from com.odi)
Map
(from com.odi)
java.sql
ResultSet
(from com.odi)
Connection
(from com.odi)
Statement
(from com.odi)
DriverManager
(from com.odi)
Ví dụ: Middleware Layer
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 61
Architectural Design Topics
w Các khái niệm then chốt
w Các cơ chế thiết kế và cài đặt
w Các Design Class và Subsystem
w Các khả năng tái sử dụng
w Tổ chức mô hình thiết kế
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 62
Checkpoints
w Tổng quát
§ Kiến trúc có cung cấp 1 bức tranh dề hiểu về
những dịch vụ của các package khác nhau không?
§ Kiến trúc có cung cấp 1 bức tranh dề hiểu về các 
cơ chế không?
§ Bạn có thể tìn được lời giải có thể dùng rộng rãi 
hơn trong lãnh vực của ứng dụng không ?
w Layers
§ Có nhiều hơn 7 layers không?
w Subsystems
§ Việc phân chia thành các subsystem có logic và 
phù hợp với toàn bộ mô hình không?
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 63
Checkpoints (tt.)
w Packages
§ Tên của các package có dễ hiểu, có ý nghĩa 
không?
§ Mô tả về package có khớp với trách nhiệm của 
các class chứa bên trong không?
§ Sự phụ thuôc giữa các package có tương ứng với 
các quan hệ giữa các class chứa bên trong 
không?
§ Các class bên trong package có phù hợp với các 
tiêu chuẩn phân chia package không?
§ Có thể phân chia một package thành hai 
package?
§ Tỉ lệ giữa số package và số các classcó hợp lý?
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 64
Checkpoints (tt.)
wCác Class
§ Tên mỗi class có phản ánh đúng vai trò của 
nó ? 
§ Liệu class có kết dính như một thể thống 
nhất ?
§ Toàn bộ các thành phần trong class có cần 
thiết cho use-case realizations? 
§ Tên của role trong các aggregation và
association có diễn tả chính xác mối quan 
hệ?
§ Các bản số trong mối quan hệ có chính xác?
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 65
Nhắc lại: Architectural Design
wMục tiêu của Architectural Design là gì?
w Thiết kế và cài đặt là gì?
wMechanisms? Cho ví dụ.
w Interface là gì?
w Subsystem là gì? Khác package chỗ nào?
w Subsystem dùng để làm gì và làm sao để xác 
định được nó?
w Phân lớp và chia nhóm như thế nào?
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 66
Bài tập: Architectural Design, Part 2
w Làm các việc sau:
§ Xây dựng layers, packages, và các phụ thuộc
§ Xây dựng các design elements (chẳng hạn, các 
class, subsystem, interface) và quan hệ của chúng
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 67
(continued)
Bài tập: Architectural Design, Part 2 (tt.)
w Hãy xác định
§ Vị trí của các design element (như, subsystem và
design class) trong kiến trúc (nghĩa là, xác định 
các package/layer chứa các design element)
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức 68
Bài tập: Architectural Design, Part 2 (tt.)
w Hãy xây dựng:
§ Bảng liệt kê các design element và các package 
“sở hữu” chúng

File đính kèm:

  • pdfBài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Thiết kế kiến trúc.pdf
Tài liệu liên quan