Chủ đề 8: Thiết kế kiến trúc vật lý
OOAD CH8 - 1 HIENLTH
Thiết kế kiến trúc vật lý
• The objective of designing the physical architecture layer is to determine what parts of the application software will be assigned to what hardware.
OOAD CH8 - 2 HIENLTH
Các thành phần cơ bản của hệ thống
• Phần mềm có thể chia thành 4 phần cơ bản:
• Data storage: thành phần lưu trữ dữ liệu của hệ thống • Data access logic: thành phần giúp liên lạc với thành phần lưu
trữ
• Application logic: thành phần xử lý các quy trình nghiệp vụ • Presentation logic: thành phần xử lý giao diện
• Phần cứng có thể chia thành 3 loại:
• Client: là thiết bị tiếp nhận input/output từ người dùng. Thường là
máy tính để bàn, máy tính xách tay, điện thoại di động
• Server: là những máy tính đảm nhận 1 số nhiệm vụ xử lý quan
trọng, là trung tâm của hệ thống
• Network: là những thiết bị đảm bảo các client và server kết nối
với nhau
OOAD CH8 - 3 HIENLTH
Các kiểu kiến trúc vật lý
OOAD CH8 - 4 HIENLTH
Kiến trúc Server – Based
• Client chỉ đóng vai trò nhận input/output từ thao tác chuột và bàn phím của người dùng
• Các xử lý về giao
diện, nghiệp vụ, lưu trữ đều diễn ra trên server
• Ví dụ: ssh tunel,
remote desktop,…
OOAD CH8 - 5 HIENLTH
Kiến trúc Client - Based
• Tất cả thực thi trên client
• Một số kiến trúc tách phần data storage cho 1 server đảm nhận
• Các ứng dụng local như: chương trình đọc sách, chương trình quản
lý tiền lương dạng local,…
OOAD CH8 - 6 HIENLTH
Kiến trúc Client – Server
• Server chỉ đảm nhận 1 số nhiệm vụ quan trọng như quản lý dữ liệu
• Client đảm nhận về xử lý đồ họa và 1 số quy trình nghiệp vụ
OOAD CH8 - 7 HIENLTH
Kiến trúc Client – Server nhiều tầng
• Client chỉ đảm nhận công việc xử lý đồ họa
• Công việc trên server sẽ chia sẻ thành nhiều tầng để tăng tốc độ,
hiệu năng xử lý
• Có thể có 3 tầng, 4 tầng hoặc n – tầng
OOAD CH8 - 8 HIENLTH
Chọn kiến trúc nào hợp lý?
• Chi phí của kiến trúc:
• Chi phí phần cứng cần phải có trong kiến trúc • Lượng băng thông di chuyển trong mạng
• Chi phí phát triển phần mềm:
• Kiến trúc càng nhiều phần cứng tham gia đòi hỏi
phải có thêm nhiều lớp đảm nhận nhiệm vụ liên lạc giữa các bên
• Vấn đề bảo mật khi liên lạc giữa các bên • Mức độ mở rộng của hệ thống
OOAD CH8 - 9 HIENLTH
PACKAGE DIAGRAM
OOAD CH8 - 10 HIENLTH
What is package?
• Package groups model elements base on their role or meaning together • Maintenance will be more effective • It is possible to have other package into package itself
OOAD CH8 - 11 HIENLTH
Package diagram elements
OOAD CH8 - 12 HIENLTH
Sample for grouping model elements by package
OOAD CH8 - 13 HIENLTH
Modify class name with package name
• It is possible to modify class name into name of class and package that it belongs for more clearly • Package name :: class name
OOAD CH8 - 14 HIENLTH
Dependency among packages
• Unilateral dependency relationship
• Classes in package P can use classes in package Q, but the reverse is
impossible
• Bilateral dependency relationship
– Classes in package R can use classes in package S, and the
reverse is possible
OOAD CH8 - 15 HIENLTH
Dependency among packages (cont.)
• Though classes in package P have changes but package R is not effective.
OOAD CH8 - 16 HIENLTH
Dependency among packages (cont.)
• When class in package P changes, maybe it effects to other package
OOAD CH8 - 17 HIENLTH
Display the structure
• It is possible to display the stage of package
OOAD CH8 - 18 HIENLTH
Exercise
• Select the best package diagram for class diagram as below
OOAD CH8 - 19 HIENLTH
COMPONENT DIAGRAM
OOAD CH8 - 20 HIENLTH
What is a Component diagram?
• Show the structural relationships between the
components of a system
• Display structure inside of components or subsystem
• An architecture-level artifact
: Order : Customer
<
: Product
OOAD CH8 - 21 HIENLTH
Component & Interface
• Component
• Interface
• Provided: Interface that support to outside • Required: Interface that request to outside
• Autonomous, encapsulated unit inside of software • Physical phase: business component, process component • Logical phase: EJB, CORBA, COM+, .NET, WSDL • There are more one interface be public to outside
OOAD CH8 - 22 HIENLTH
Component & Interface (cont.)
• Notation of component
<
<
• Interfaces is connecting point among components
<
: Order : Order : Order
<
: Customer : Order
OOAD CH8 - 23 HIENLTH
Interface
• Interface can be displayed in several kinds
OrderEntry
<
<
<
<
<
Create() FindByName()
<
Person
Create() FindByName()
OOAD CH8 - 24 HIENLTH
Display structure inside of component
port
part
Provided interface
<< component>> Component name
Part
Part
Required interface
connector
• Part: Element that compose component • Port: Element for boundary of outside and inside • Connector
• This is linking object between parts • Same as relationship among classes, it is possible to set multiplicity at each
connect point.
OOAD CH8 - 25 HIENLTH
Display structure inside of subsystem
• Transfer connector: Transfer request to interface that public to
outside or parts inside.
• Assembly connector: Show the connect between provide interface
and require interface
OOAD CH8 - 26 HIENLTH
DEPLOYMENT DIAGRAM
OOAD CH8 - 27 HIENLTH
Deployment Diagrams
• Lược đồ triển khai (Deployment Diagram) mô tả kiến trúc cài đặt vật lý các thành phần bên trong hệ thống và tương tác giữa chúng, cho biết mối quan hệ giữa phần mềm và phần cứng. • Lược đồ triển khai thường được sử dụng trong Deployment View.
OOAD CH8 - 28 HIENLTH
Deployment Diagram
• Một hệ thống có thể được triển khai theo nhiều lược đồ khác nhau: • Hệ thống được triển khai trên máy đơn? • Hệ thống được triển khai theo mô hình
Client/Server?
• Hệ thống được triển khai tại văn phòng công ty? Các
phòng ban?
• Yêu cầu phần cứng máy tính? • ….
OOAD CH8 - 29 HIENLTH
Deployment Diagram
• Một hệ thống có thể được triển khai theo nhiều lược đồ khác nhau.
Triển khai hệ thống LAN (1)
OOAD CH8 - 30 HIENLTH
Deployment Diagram
• Một hệ thống có thể được triển khai theo nhiều lược đồ khác nhau.
Triển khai hệ thống LAN – WLAN (2)
OOAD CH8 - 31 HIENLTH
Phương án triển khai
1. Các hạng mục thiết bị
STT
Thiết bị
SL Giá dự kiến
Mục đích
(USD)
Thành tiền (USD)
1
Web Server
3
-Hosting Website -01 server IIS (ASP.NET) -01 Server Apache (PHP)
2
Database Server
-Lưu trữ database của các Website -Hỗ trợ MS SQL Server và MySQL
Sử dụng IE, FireFox để truy cập hệ thống
3
Workstation (máy trạm)
4
Switch
Tổng
OOAD CH8 - 32 HIENLTH
Phương án triển khai
• Cấu hình/thông số kỹ thuật của từng thiết bị, ví dụ:
OOAD CH8 - 33 HIENLTH
Phương án triển khai
2. Các hạng bản quyền phần mềm
STT
Tên phần mềm
SL
Mục đích
Giá dự kiến (USD)
Thành tiền (USD)
1
Windows Server 2008
-Hosting Website -01 server IIS (ASP.NET) -01 Server Apache (PHP)
2
SQL Server Stand/Ent 2008
-Lưu trữ database của các Website -Hỗ trợ MS SQL Server và MySQL
Sử dụng IE, FireFox để truy cập hệ thống
3
Windows 7 Basic/Pro
4
Tổng
OOAD CH8 - 34 HIENLTH
Deployment Diagram
• Một hệ thống có thể được triển khai theo nhiều lược đồ khác nhau.
Triển khai hệ thống LAN – WLAN – WLAN (3)
OOAD CH8 - 35 HIENLTH
Ví dụ: Xét ứng dụng quản lý TKB
• Hệ thống cho phép bộ phận giáo vụ Khoa nhập thời khóa biểu, cập nhật thời khóa biểu của tất cả các lớp • Hệ thống cho phép sinh viên tra cứu thời khóa biểu theo từng học kỳ của lớp • Hệ thống cho phép giảng viên tra cứu thời khóa biểu giảng dạy trong học kỳ
OOAD CH8 - 36 HIENLTH
Ví dụ minh họa
• Deployment diagram mô tả hệ thống quản lý thời khóa biểu
OOAD CH8 - 37 HIENLTH
Deployment diagram elements
OOAD CH8 - 38 HIENLTH
Các thành phần trong Deployment Diagram
• Node
• Component Instance
• Quan hệ giữa các thành phần
OOAD CH8 - 39 HIENLTH
Các thành phần trong Deployment Diagram
• Node
• Là các tài nguyên trong hệ thống. • Mỗi Node tương ứng với một thiết bị phần cứng
• Server • PC • Printer • Scanner • Router • ….
• Stereotype cho biết loại phần cứng. Stereotype có
thể là: device, mobile device, application server, web server, database server, client workstation
• Mỗi Node có thể có nhiều component
OOAD CH8 - 40 HIENLTH
Các thành phần trong Deployment Diagram
• Component Instance
• Là một thể hiện của một component (trong
component diagram) sẽ được cài đặt trong Node
• Thuộc tính của Component Instance
• Cardinality • Component
OOAD CH8 - 41 HIENLTH
Các thành phần trong Deployment Diagram
• Quan hệ giữa các thành phần • Quan hệ giữa Node và Node • Quan hệ giữa Node và Component Instance • Quan hệ giữa Component Instance và Component
Instance
• Các loại quan hệ • Node Association • Dependency
OOAD CH8 - 42 HIENLTH
Ví dụ minh họa 1
OOAD CH8 - 43 HIENLTH
Ví dụ minh họa
• Deployment diagram mô tả hệ thống quản lý thời khóa biểu • Sử dụng mô hình Client server • Sử dụng công nghệ Web (Asp.net) • Sử dụng IIS Web sever 7 • Sử dụng trình duyệt (IE) version 8.0 trở lên • Sử dụng CSDL SQL server 2005 • Sử dụng công nghệ nhắn tin di động SMS
OOAD CH8 - 44 HIENLTH
Ví dụ minh họa
• Deployment diagram mô tả hệ thống quản lý thời khóa biểu
OOAD CH8 - 45 HIENLTH
Ví dụ minh họa
• Deployment diagram mô tả hệ thống quản lý thời khóa biểu
OOAD CH8 - 46 HIENLTH
Ví dụ minh họa
• Deployment diagram mô tả hệ thống quản lý thời khóa biểu
OOAD CH8 - 47 HIENLTH
Bài tập
Sử dụng Power Designer để xây dựng lược đồ Deployment cho các bài sau: • Quản lý giải bóng đá vô địch quốc gia • Quản lý bình chọn bài hát hay Làn sóng xanh • Quản lý giáo vụ trường đại học • Quản lý giáo vụ trường phổ thông • Quản lý bán hàng • Quản lý nhân sự - Tiền lương
OOAD CH8 - 48 HIENLTH
Câu hỏi và thảo luận
OOAD CH8 - 49 HIENLTH
Thank you!!!
OOAD CH8 - 50 HIENLTH