Tải bản đầy đủ (.pdf) (67 trang)

CÔNG NGHỆ PHẦN MỀM Chương 6 Thiết kế phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.59 MB, 67 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
MÔN HỌC
CÔNG NGHỆ PHẦN MỀM

Chương 6

Thiết kế phần mềm

CNPM/NN

1


Thiết kế phần mềm
1.
2.
3.
4.
5.

Thiết kế?
Thiết kế mơ hình hệ thống.
Thiết kế điều khiển.
Thiết kế Module.
Các mẫu thiết kế.

CNPM/NN

2



CNPM/NN

3


1. Thiết kế?

CNPM/NN

4


Thiết kế là gì?




Thiết kế tạo ra một biểu diễn hay mơ hình của phần mềm
hướng thực thi
Mơ hình thiết kế cung cấp các thông tin về kiến trúc
(architecture), Giao tiếp (interfaces), thành phần
(components) và dữ liệu (data)

CNPM/NN

5


2 hướng thiết kế



Hướng dẫn thiết kế


Một thiết kế phải đưa ra một kiến trúc mà










Dùng mẫu (pattern) hay kiểu (style) kiến trúc được thừa
nhận
Gồm những thành phần (component) có đặc trưng thiết kế
tốt
Có thể thi hành theo cách tiến hóa

Thiết kế phải có tính module, thiết kế phải đưa ra những
thành phần mà độc lập chức năng
Thiết kế được đưa ra từ việc dùng phương pháp lặp

CNPM/NN

7



Kiến trúc (Architecture)?






Kiến trúc phần mềm là một sự tổ chức có tính căn bản
của một hệ thống chứa những thành phần, những mối
quan hệ lẫn nhau của các thành phần này và của các
thành phần này với môi trường, nó chứa đựng những
nguyên lý định hướng cho việc thiết kế và tiến hóa kiến
trúc
Kiến trúc có tính tổng thể
Kiến trúc cho ta một hình ảnh về hệ thống phần mềm
Module và hệ thống con (sub-systems):



CNPM/NN

Module là một thành phần hệ thống mà cung cấp dịch vụ cho
những thành phần khác nhưng không được xem là một hệ thống
riêng biệt
Một hệ thống con hoạt động có tính độc lập cao
8


customer requirements
"four bedrooms, three baths,

lots of glass ..."

architectural design

Kiến trúc
CNPM/NN

9


Ví dụ : ACD
(Architectural Context
Diagram) của
SafeHome

Superordinate systems
Safehome
product

Internet-based
system
Used by

Peers
Control panel

Target system:
Security function

Surveillance

system
uses

Homeowner
uses
Actors

Depends on

Sensors

Sensors

Subordinate systems

10


CNPM/NN

11


Thiết kế dữ liệu ở mức kiến trúc




Thiết kế một hay nhiều cơ sở dữ liệu để hỗ trợ kiến trúc ứng
dụng

Thiết kế cách thức khai thác nhiều CSDL



Duyệt các CSDL
Kho dữ liệu (data warehouse) có thể truy cập tới nhiều CSDL

Thiết kế dữ liệu ở mức thành phần


CNPM/NN

Xây dựng các cấu trúc dữ liệu

12


2. Thiết kế mơ hình hệ thống




Trong q trình thiết kế kiến trúc hệ thống, hoạt động đầu
tiên phải thực hiện là xây dựng mơ hình tổ chức hệ
thống.
Phương pháp tổ chức hệ thống thường được sử dụng:






CNPM/NN

Mơ hình Kho dữ liệu dùng chung.
Kiến trúc gọi trả về.
Mơ hình Phân lớp.
Mơ hình client – server.

13


Mơ hình trung tâm dữ liệu

CNPM/NN

14


Kho dữ liệu


Hệ thống con phải biến đổi dữ liệu có thể theo 2 cách:





Chia sẻ dữ liệu trung tâm
Dùng CSDL riêng và truyền dữ liệu cho hệ thống khác


Khi cần chia sẻ dữ liệu lớn thì thường dùng kho dữ liệu
trung tâm

CNPM/NN

15


Thuận lợi – bất lợi


Thuận lợi






Hiệu quả trong chia sẻ
Hệ thống con không quan tâm tới việc xử lý dữ liệu của
trung tâm dữ liệu (an tồn, backup…)
Dùng chung mơ hình chia sẻ

Bất lợi





CNPM/NN


Tất cả phải theo mơ hình dữ liệu của kho
Tiến hóa dữ liệu thì khó và đắt
Khơng dùng được chính sách quản lý riêng
Khó phân bố một cách hiệu quả

16


Kiến trúc gọi trả về


Có 2 loại:




CNPM/NN

Kiến trúc chương trình chính /chương trình con (main
program /subprogram)
Kiến trúc gọi thủ tục từ xa (remote procedure call
architecture): các thành phần được phân bổ trên nhiều
máy tính

17


Chương trình chính /chương trình con


Main program

Controller
subprogram

Application
subprogram

Controller
subprogram

Application Application Application Application
subprogram subprogram subprogram subprogram

Application
subprogram
CNPM/NN

Controller
subprogram

Application
subprogram
18


Mơ hình phân lớp


Mơ hình phân lớp tổ chức hệ thống thành nhiều lớp và mỗi

lớp cung cấp một tập các dịch vụ. Hệ thống này tương đối
phức tạp.

CNPM/NN

19


Mơ hình phân lớp







Tổ chức hệ thống thành một tập những tầng (hay máy
trừu tượng), những tầng sẽ cung cấp một tập những dịch
vụ
Các hệ thống con tương tác với nhau qua tầng giao tiếp
Khi một tầng thay đổi chỉ những tầng liền kề mới bị ảnh
hưởng
Việc cấu trúc hệ thống theo mơ hình này rất khó

CNPM/NN

20


Mơ hình client - server





Mơ hình kiến trúc client-server bao gồm một tập hợp các
server cung cấp dịch vụ và các client truy nhập và sử
dụng các dịch vụ đó.
Các thành phần chính của mơ hình này bao gồm:




CNPM/NN

Tập hợp các server sẽ cung cấp những dịch vụ cụ thể như:
in ấn, quản lý dữ liệu…
Tập hợp các client truy nhập đến server để yêu cầu cung
cấp dịch vụ.
Hệ thống mạng cho phép client truy cập tới dịch vụ mà
server cung cấp.

21


Mơ hình client - server

CNPM/NN

22



Thuận lợi - bất tiện


Thuận lợi






Dễ phân bố dữ liệu
Hiệu quả, chi phí thấp
Dễ mở rộng (tăng số server) và cập nhật

Bất tiện



CNPM/NN

Tổng quát hóa của kiến trúc Client /Server
Client cũng có thể đóng vai trị server và ngược lại

23


3. Thiết kế điều khiển



Có 2 loại điều khiển:
 Điều khiển tập trung: một hệ thống con chính chịu
trách nhiệm kiểm sốt, khởi tạo hoặc dừng các hệ
thống con khác.
Mơ hình gọi - trả lời (call-return)
 Mơ hình quản lý




Điều khiển hướng sự kiện: mỗi hệ thống đáp ứng với
các sự kiện xảy ra từ các hệ thống con khác hoặc từ
mơi trường của hệ thống.
Mơhình lan truyền (Broadcast)
 Mơ hình hướng ngắt (Interrupt-driven)


CNPM/NN

24


Mơ hình gọi - trả lời (call-return)


Gồm các thủ tục con được sắp xếp phân cấp, thủ tục điều
khiển nằm ở đỉnh của cấu trúc phân cấp và di chuyển dần
xuống dưới. Mơ hình này thường được áp dụng cho các hệ
thống tuần tự (khơng là mơ hình cấu trúc)


CNPM/NN

25


×