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

<> OrderEntry

<> Order

<> Order

<> Order

<> OrderEntry <> Person

Create() FindByName()

<> Person

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