Professional Documents
Culture Documents
Yếu tố
– Lớp thiết kế
– Hệ thống con
– Giao diện hệ thống con
Machine Translated by Google
[Sớm
Xây dựng
[Khởi đầu
Lặp lại] Lặp lại (Tùy chọn)]
Thiết kế Thiết kế
Các thành phần Cơ sở dữ liệu
Machine Translated by Google
Phần mềm
Dự án cụ thể
Ngành kiến trúc Hướng dẫn
Tài liệu
bổ sung
Thông số kỹ thuật
Nhận dạng
Thiết kế
Yếu tố
Mẫu thiết kế
Yếu tố thiết kế
<<kiểm soát>>
<< hệ thống con>>
Hệ thống con
<<thực thể>>
Ánh xạ nhiều-nhiều
Machine Translated by Google
quan hệ, hoạt động, thuộc tính và ngữ nghĩa Tên lớp
Gói
• Bạn có thể căn cứ vào tiêu chí đóng gói của mình
dựa trên một số yếu tố khác nhau, bao gồm:
– Đơn vị cấu hình
– Phân bổ nguồn lực cho sự phát triển
đội
Nếu có khả năng giao diện hệ Nếu không chắc giao diện
thống sẽ có những thay hệ thống sẽ trải qua
đổi đáng kể những thay đổi đáng kể
Các lớp ranh giới được đặt Các lớp ranh giới được đóng
trong các gói riêng biệt gói với các lớp liên quan đến chức năng
Machine Translated by Google
• Tiêu chí để xác định xem các lớp có hoạt động hay không
có liên quan:
– Những thay đổi trong hành vi và/hoặc cấu trúc của một lớp
đòi hỏi phải có những thay đổi trong lớp khác
Mẹo đóng gói: Các lớp liên quan đến chức năng (tiếp theo)
• Tiêu chí để xác định xem các lớp có liên quan về mặt chức
năng hay không (tiếp theo):
• Hai lớp có mối quan hệ với nhau
• Một lớp tạo các thể hiện của lớp khác
Hiển thị
GóiA
MỘT
+ Lớp A1
+ Lớp A2
+ Lớp A3
B
Chỉ các lớp công khai
mới có thể được tham
Gói B chiếu bên ngoài
gói sở hữu
+ Lớp B1
Khả năng hiển thị công khai
- Lớp B2
MỘT B
• Các gói hàng không được X
ghép chéo
Phía trên
• Nói chung,
các phần phụ thuộc không C
1 1
0..1 0..1
1 11
Sự khái quát
<<thực thể>>
<<thực thể>>
Học sinh
Lịch trìnhThông tin chào hàng
<<thực thể>>
<<thực thể>> <<thực thể>>
Lịch trình chínhThông tin cung cấp
Sinh viên toàn thời gian Sinh viên bán thời gian
Machine Translated by Google
<<thực thể>>
<<thực thể>>
Lịch trình
Học sinh
1 0..*
0..* 0..*
0..2
0..4
0..*
<<thực thể>> người hướng dẫn
<<thực thể>> <<thực thể>>
Giáo sư khóa học cung cấp Khóa học
0..*
0..1 0..* 0..* 1
Giao diện
<<giao diện>>
Tên giao diện
<< hệ thống con>>
Tên hệ thống con
• Hệ thống con:
– Thể hiện khả năng độc lập với các giao diện rõ ràng (có khả năng
tái sử dụng)
LớpA1 LớpA2
Dễ dàng thay
Có thể không dễ
thế dàng thay thế
Gói B
LớpB1
LớpB2
<< hệ thống con>>
Hệ thống con A
• Các lớp phân tích có thể phát triển thành các hệ thống con:
– Các lớp cung cấp các dịch vụ và/hoặc tiện ích phức tạp
– Các lớp ranh giới (giao diện người dùng và giao diện hệ
thống bên ngoài)
• Các sản phẩm hiện có hoặc hệ thống bên ngoài trong thiết kế
(ví dụ: các bộ phận):
X()
W()
<<Giao diện>>
<< hệ thống con>>
Giao diệnK Hệ thống conA
LớpA1 LớpA2
X()
X() W()
W()
Machine Translated by Google
• Mục đích
– Để xác định các giao diện của các hệ thống con dựa
trên trách nhiệm của chúng
• Các bước
– Xác định một tập hợp các giao diện ứng viên cho tất cả
các hệ thống con.
– Tìm kiếm sự tương đồng giữa các giao diện.
Các giao diện ổn định, được xác định rõ ràng là chìa khóa cho một
kiến trúc ổn định, linh hoạt.
Machine Translated by Google
• Mô tả giao diện
– Truyền đạt trách nhiệm
Hệ thống ICourseCatalog
Tất cả các lớp phân tích khác ánh xạ trực tiếp tới các lớp thiết kế.
Machine Translated by Google
Khóa họcDanh mụcHệ thống Hệ thống con Hệ thống danh mục khóa học
+ khởi
Hệ thống ICourseCatalog
tạo() + getCourseOfferings()
<<kiểm soát>>
0..1 + saveSchedule()
+ getCourseOfferings()
1
+danh mục khóa học + setSession()
<<Giao diện>> + <<class>> new()
Hệ thống ICourseCatalog
+ getStudent()
+ khởi tạo ()
+ thêm()
cấp được xác định << hệ thống con>>
Khóa họcDanh mụcHệ thống
+ khởi tạo()
+ getCourseOfferings()
Machine Translated by Google
<<kiểm soát>>
+ // đăng ký có mở không?()
0..1
<<Giao diện>>1
IHệ thống thanh toán <<thực thể>>
Học sinh
Những cơ hội
• Mục đích
– Để xác định nơi các hệ thống
con và/hoặc thành phần hiện có có thể
được tái sử dụng dựa trên giao
diện của chúng.
• Các bước
– Tìm kiếm giao diện tương tự
Y()
Z() Y()
Lớp C
Z()
Lớp E
Lớp C Y()
Lớp D Z() Y()
Y() Z()
Z()
Y()
Z()
Machine Translated by Google
Tiếp cận
Chức
năng cụ thể Các hệ thống con ứng dụng riêng biệt tạo
nên một ứng dụng - chứa phần mềm gia
Ứng dụng tăng giá trị do tổ chức phát triển.
• Hiển thị
– Chỉ phụ thuộc trong lớp hiện tại và
dưới
• Biến động
– Các lớp trên bị ảnh hưởng bởi những thay đổi yêu cầu
– Các lớp dưới bị ảnh hưởng bởi sự thay đổi của môi trường
– Nhiều phần tử mô hình trừu tượng hơn ở các lớp thấp hơn
• Số lớp
– Hệ thống nhỏ: 3-4 lớp
– Hệ thống phức tạp: 5 – 7 lớp
Mục tiêu là giảm sự ghép nối và giảm bớt nỗ lực bảo trì.
Machine Translated by Google
Lớp 1
Lớp 2
Lớp 3
Machine Translated by Google
<<lớp>>
Ứng dụng
Cần thiết vì
Lớp ứng dụng phải có
quyền
Có quyền
truy
truy
cậpcập
vàovào
lõilõi
cơ chế phân phối
Dịch vụ
toàn cầu
<<lớp>>
Phần mềm trung gian
Machine Translated by Google
thống • Bí
Gói A
MỘT
B
Gói B
Machine Translated by Google
<<lớp>>
Ứng dụng
Sự đăng ký
Machine Translated by Google
Bối cảnh
<<lớp>> <<lớp>>
Ứng dụng Ứng dụng
Sự đăng ký
<<lớp>>
Việc kinh doanh
Dịch vụ
<<lớp>>
Dịch vụ kinh doanh
Bảo vệ
Lớp
<<lớp>>
Dịch vụ kinh doanh
Bảo vệ
Cửa hàng đối tượng GUI << hệ thống con>>
Ủng hộ Khung
Bảo vệ
Giám đốc
Chắc chắn
Trường đại học
Giao diện
Hiện vật
Machine Translated by Google
Bối cảnh
<<lớp>>
<< hệ thống con>> Dịch vụ kinh doanh << hệ thống con>>
Hệ thống thanh toán Khóa họcDanh mụcHệ thống
Dịch vụ
Cửa hàng đối tượng
GUI << hệ thống con>>
Ủng hộ
Khung
Bảo vệ
Giám đốc
<<lớp>>
Phần mềm trung gian
com.odi java.sql
Machine Translated by Google
<<lớp>>
Phần mềm trung gian
com.odi java.sql
• Tổng
quát – Nó có cung cấp bức tranh
toàn cảnh về dịch vụ của các gói
khác nhau không?
– Bạn có thể tìm được cấu trúc tương tự
giải pháp nào có thể được sử dụng
rộng rãi hơn trong lĩnh vực vấn đề?
• Lớp
– Có nhiều hơn bảy lớp không?
• Hệ thống con
– Việc phân vùng hệ thống con có được thực
hiện một cách nhất quán về mặt logic trên
toàn bộ mô hình không?
Machine Translated by Google
• Gói
– Tên của các gói có mang tính
mô tả không?
– Mô tả gói có phù hợp với trách
nhiệm của các lớp được chứa
không?
– Các phần phụ thuộc của gói có tương ứng với
mối quan hệ giữa các lớp được chứa không?
– Các lớp chứa trong một gói có thuộc về gói đó
theo tiêu chí phân chia gói không?