Tài liệu Phân tích thiết kế hệ thống hướng đối tượng dùng UML - Module 12: Thiết kế Subsystem - Pdf 10

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
1
Phân tích và Thiết kế Hướng đối tượng
dùng UML
Module 12: Thiết kế Subsystem
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
2
Mục tiêu:
w Tìm hiêu mục đích của bước thiết kế
Subsystem và vò trí của công đoạn này trong
qui trình
w Đònh nghóa các hành vi đươc mô tả trong
interfaces của subsystem dưới dạng
collaboration của các class chưa bên trong
w Lập sưu liệu về cấu trúc bên trong của
subsystem
w Xác đònh các phụ thuộc cào các phần tử bên
ngoài subsystem
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
3
Vò trí của Thiết kế Subsystem
Architect
Designer
Architectural
Analysis
Architecture
Reviewer
Review the

Design
Guidelines
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
5
w Subsystem là sự “kết hợp” giữa package và
class
w Hiện thực hóa 1 hoặc nhiều interfaces đònh
nghóa hành vi của nó
<<subsystem>>
Subsystem Name
Interface Subsystem
<<subsystem>>
Subsystem Name
Interface
Realization (Canonical form)
Realization (Elided form)
<<interface>>
Interface
Nhắc lại: Subsystems và Interfaces
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
6
Chìa khóa là abstraction và encapsulation
A
<<subsystem>>
B
<<subsystem>>
C
<<subsystem>>

w Lập sưu liệu về các phần tử của Subsystem
w Mô tả các phụ thuộc của Subsystem
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
9
Các bước thiết kế Subsystem
w Phân bố các hành vi của Subsystemcho các
phần tử của nó
w Lập sưu liệu về các phần tử của Subsystem
w Mô tả các phụ thuộc của Subsystem
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
10
CourseCatalogSystem
<<subsystem>>
ICourseCatalogSystem
getCourseOfferings()
<<interface>>
subsystem responsibility
Các nhiệm vụ của Subsystem
w Các interface operation xác đònh nhiệm vụ của
Subsystem
w Interface operations được hiện thực hóa bởi
§ Internal class operations
§ Internal subsystem operations
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
11

interactions
Không hiển thò Subsystem interface
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
13
Ví dụ: CourseCatalogSystem Subsystem
subsystem interface
: Student
: RegisterFor
CoursesForm
: Registration
Controller
: Schedule : Student: ICourseCatalog
System
A list of the available
course offerings for this
semester are displayed
Student wishes to
create a new
schedule
1: // create schedule( )
4: // display course offerings( )
2: // get course offerings( )
9: // add schedule(Schedule)
3: getCourseOfferings(Semester)
5: // display blank schedule( )
At this, point the Submit Schedule subflow is executed.
6: // select 4 primary and 2 alternate offerings( )
7: // create schedule with offerings( )
8: // create with offerings( )

15
w Cung cấp khả năng truy suất đến thư viện các class cần
để cài đặt JDBC
§ Cung cấp java.sql package
w Tạo các DBClass cần thiết
§ Một DBClass/một persistent class
§ Course Offering persistent class =>
DBCourseOffering
Nhắc lại: Các bước tích hợp JDBC

√ - Done
(còn tiếp)
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
16
w Tích hợp các DBClass vào thiết kế
§ Gán cho các package/layer
• DBCourseOffering đặt vào
CourseCatalogSystem subsystem
§ Thêm các quan hệ với persistency clients
• Persistency clients là CourseCatalogSystem
subsystem clients
w Tạo/Hiệu chỉnh các interaction diagram mô tả:
§ Việc khởi tạo Database
§ Truy xuất đến Persistent class: Create, Read,
Update, Delete
Nhắc lại: Các bước tích hợp JDBC (tt.)
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
17

element returned from the
executeQuery() command.
The CourseOfferingList is loaded
with the data retrieved from the
database.
The getData and setData
operations are called for each
attribute in the each retrieved
class instance.
3. setData( )
Create a list to hold all
retrieved course offerings
Add the retrieved course offering
to the list to be returned
2. getString( )
1.1.3. new( )
4. add(CourseOffering)
1.1.2.1. // executeQuery( )
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
18
Ví dụ: Billing System Subsystem
Send student and tuition to
the Billing System, which will
do the actual billing to the
student for the schedule.
: Registrar
:
CloseRegistrationForm
:

offering once all
leveling has occurred
1. // close registration( )
2. // close registration( )
2.2. // close registration( )
1.1. // is registration open?( )
2.6. submitBill(Student, double)
2.3. // level( )
2.1. getCourseOfferings(Semester)
2.4. // close( )
2.5. getTuition( )
subsystem interface
subsystem responsibility
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
19
Ví dụ: Local BillingSystem Subsystem Interaction
Billing System
Client
:
BillingSystem
:
StudentBillingTransaction
:
BillingSystemInterface
: Billing System
: Student.
1. submitBill(Student, double)
1.1. create(Student, double)
1.2. submit(StudentBillingTransaction)

getCourseOfferings(forSemester : Semester) : CourseOfferingList
(from External System Interfaces)
<<Interface>>
Statement
executeQuery()
executeUpdate()
(from java.sql)
Connection
createStatement()
(from java.sql)
1
1
CourseOfferingList
new()
add()
(from University Artifacts)
CourseOffering
new()
setData()
(from University Artifacts)
<<entity>>
1
0 *
ResultSet
getString()
(from java.sql)
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
22
Ví dụ: Billing System Subsystem Elements

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
24
Mềm dẻo
Describing Subsystem Dependencies
w Subsystem phụ thuộc vào một subsystem
w Subsystem phụ thuộc vào package
Server
Client Support
<<subsystem>>
Server Support
<<subsystem>>
Dùng nhưng cẩn
thận
Client Support
<<subsystem>>
Supporting
Types
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
25
Ví dụ:
CourseCatalogSystem Subsystem
Dependencies
java.sql
(from Middleware)
CourseCatalogSystem
(from Business Services)
<<subsystem>>
External System


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status