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

công nghệ phần mềm chương 6 thiết kế kiến trúc

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 (1.24 MB, 77 trang )

Công Nghệ Phần Mềm
1
CÔNG NGHỆ PHẦN MỀM
Chương 6
Thiết kế kiến trúc
MÔN HỌC
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
Công Nghệ Phần Mềm
2
5.1 Thi
5.1 Thi
ế
ế
t k
t k
ế
ế
trong công ngh
trong công ngh


ph
ph


n m
n m


m
m


Analysis Model
use-cases - text
use-case diagrams
act ivit y diagrams
swim lane diagrams
dat a f low diagrams
cont rol-flow diagrams
processing narrat ives
flow-oriented
elements
behavioral
elements
class-based
elements
scenario-based
elements
class diagrams
analysis packages
CRC models
collaboration diagrams
st at e diagrams
sequence diagrams
Dat a/ Class Design
Architectural Design
Interface Design
Component -
Level Design
Design Model
Công Nghệ Phần Mềm
3

Chương
Chương
6: Thi
6: Thi
ế
ế
t k
t k
ế
ế
ki
ki
ế
ế
n tr
n tr
ú
ú
c
c
• 6.1 Kiến trúc?
• 6.2 Loại kiến trúc (style)
• 6.3 Thiết kế kiến trúc
• 6.4 Ánh xạ data flow thành kiến trúc
• 6.5 Tạo mô hình điều khiển
• 6.6 Đánh giá kiến trúc
• 6.7 Một số mô hình ứng dụng
Công Nghệ Phần Mềm
4
6.1 Ki

6.1 Ki
ế
ế
n tr
n tr
ú
ú
c?
c?
• Kiến trúc của chương trình hay hệ thống tính toán
là một cấu trúc hay những cấu trúc của hệ thống
mà bao gồm những thành phần phần mềm, tính
chất có thể thấy được từ bên ngoài của những
thành phần này và những quan hệ của chúng
• Kiến trúc cho phép kỹ sư phần mềm thực hiện
 Phân tích hiệu quả việc đáp ứng các yêu cầu phần
mềm
 Dễ chọn lựa kiến trúc trong các giai đoạn kế tiếp
 Làm giảm rủi ro trong việc xây dựng phần mềm
Công Nghệ Phần Mềm
5
T
T


i sao ki
i sao ki
ế
ế
n tr

n tr
ú
ú
c l
c l
à
à
quan tr
quan tr


ng
ng
• Cho phép truyền thông giữa các stakeholder
• Kiến trúc rõ ràng giúp cho những quyết định thiết
kế dễ dàng
• Kiến trúc là mô hình cho biết cấu trúc của hệ thống
các thành phần làm việc với nhau như thế nào
Công Nghệ Phần Mềm
6
Thi
Thi
ế
ế
t k
t k
ế
ế
d
d



li
li


u
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ế phương thức cho việc khai thác nhiều
CSDL
• Duyệt các CSDL
• Kho dữ liệu (data warehouse) là CSDL độc lập mà có
thể truy cập tới nhiều CSDL
Công Nghệ Phần Mềm
7
Data mining v
Data mining v
à
à
data warehourse
data warehourse
• Kỹ thuật data mining còn gọi là khám phá tri thức
trong CSDL, sẽ trích dẫn thông tin cần thiết qua
nhiều CSDL
• Data warehourse là một CSDL độc lập lớn mà có
thể truy xuất dữ liệu từ một số CSDL nhằm phục vụ
cho một sốứng dụng

• Danh sách đầy đủ những công cụ data mining/data
warehourse ở WWW.dwinfocenter.org
Công Nghệ Phần Mềm
8
Thi
Thi
ế
ế
t k
t k
ế
ế
d
d


li
li


u (tt)
u (tt)
• Ở mức thành phần
 Tinh chế các đối tượng dữ liệu và phát
triển một tập những trừu tượng dữ liệu
 Hiện thực những thuộc tính dữ liệu như
là một hay nhiều cấu trúc dữ liệu
 Kiểm tra cấu trúc dữ liệu để đảm bảo
rằng các quan hệ thích hợp đã được tạo
 Đơn giản cấu trúc dữ liệu

Công Nghệ Phần Mềm
9
Nguyên lý khi thi
Nguyên lý khi thi
ế
ế
t k
t k
ế
ế
d
d


li
li


u
u


m
m


c th
c th
à
à

nh ph
nh ph


n
n
• Những nguyên lý phân tích có tính hệ thống áp dụng
cho chức năng và hành vi cũng được áp dụng cho dữ
liệu: biểu diễn luồng dữ liệu và nội dung phải được phát
triển và kiểm tra, xác định đối tượng dữ liệu, những tổ chức
dữ liệu thay thế, những tác động của mô hình dữ liệu trên
thiết kế phần mềm sẽ được thẩm định.
• Phải xác định tất cả cấu trúc dữ liệu và những tác vụ
thực hiện trên mỗi cấu trúc
• Dùng kỹ thuật xác định nội dung cho mỗi đối tượng
dữ liệu dùng để xác định dữ liệu và tác vụ được áp
dụng. Dùng mô hình class với thuộc tính và phương thức
Công Nghệ Phần Mềm
10
Thi
Thi
ế
ế
t k
t k
ế
ế
d
d



li
li


u
u


m
m


c th
c th
à
à
nh ph
nh ph


n (tt)
n (tt)
• Những quyết định thiết kế dữ liệu mức thấp phải trì
hoãn cho đến cuối của quá trình thiết kế
• Biểu diễn cấu trúc dữ liệu phải được biết chỉ cho
những module trực tiếp sử dụng dữ liệu trong cấu
trúc
• Tạo thư viện cấu trúc dữ liệu hữu dụng và những
tác vụ sử dụng chúng

• Thiết kế phần mềm và ngôn ngữ lập trình phải hỗ
trợ đặc tả và hiện thực những loại cấu trúc dữ liệu
trừu tượng
Công Nghệ Phần Mềm
11
ATM Ki
ATM Ki
ế
ế
n tr
n tr
ú
ú
c ba t
c ba t


ng (tree
ng (tree
-
-
layer)
layer)
Data layer
CSDL
CSDL
Business layer
User interface layer
System software
Middleware

Data layer
Business layer
User interface
layer
Trả lời tương tác người dùng: chuyển
dịch những hành động của người dùng
tới một tình huống xử lý phù hợp
Hiển thị các đối tượng tác nghiệp :
trình bày một hình ảnh tốt nhất các đối
tượng tác nghiệp tới người dùng trong
một giao diện
Thực hiện các giao tác xử lý liên quan
đến nghiệp vụ mà không quan tâm đến
hiển thị chúng như thế nào? Và CSDL
được lấy ở đâu?
Chuyển dịch yêu cầu: chuyển dịch tất cả
các yêu cầu liên quan đến dữ liệu từ tầng
tác nghiệp đến một phương thức truy cập
dữ liệu thích hợp (dạng SQL, truy xuất
file,…)
Chuyển dịch kết quả
Công Nghệ Phần Mềm
12
Ki
Ki
ế
ế
n tr
n tr
ú

ú
c ba t
c ba t


ng (tt)
ng (tt)
Đối tượng mô tả
thế giới thực
Giao diện
Giao di
Giao di


n
n
Giao diện
Xử lý
Truy cập dữ liệu
Công Nghệ Phần Mềm
13
Thi
Thi
ế
ế
t k
t k
ế
ế
l

l


p t
p t


ng nghi
ng nghi


p v
p v


Hệ thống thực tế
Sơ đồ lớp
Tầng giao diện
Tầng nghiệp vụ
Tầng truy cập dữ liệu
Công Nghệ Phần Mềm
14
X
X
á
á
c đ
c đ



nh l
nh l


p t
p t


ng truy c
ng truy c


p d
p d


li
li


u
u
Tập tin
Bảng
Bảng
Bảng
Tầng nghiệp vụ
Tầng truy cập dữ liệu
CSDL vật lý
Công Nghệ Phần Mềm

15
Thi
Thi
ế
ế
t k
t k
ế
ế
t
t


ng giao di
ng giao di


n h
n h


th
th


ng ATM
ng ATM
• Thiết kế mẫu giao diện:
 MáyATM_GD
Công Nghệ Phần Mềm

16
GiaoD
GiaoD


chGD (R
chGD (R
ú
ú
t ti
t ti


n)
n)
Công Nghệ Phần Mềm
17
Thi
Thi
ế
ế
t k
t k
ế
ế
t
t


ng giao di

ng giao di


n h
n h


th
th


ng ATM
ng ATM
: KháchHàng
: MáyATM_GD : GiaoDịchGD
: KháchHàng : TàiKhoản : GiaoDịch
: NgânHàngDB
: ĐiềuKhiểnGiaoDịch
Chọn nút rút tiền
Chọn đồng ý rút tiền
Nhập số tiền rút
tạoGiaoTác()
tạoMới()
gánThôngTin()
cậpNhậtGiaoDịch()
hiểnThị("Rút")
thôngBáo()
Kết quả thông báo cho khách hàng
đọcTàiKhoản()
tạoTàiKhoản()

tk:TàiKhoản
lấy_TàiKhoản()
rútTiền()
rútTiền()
Rút thành công
Rút không thành công
Kết quả
inHoáĐơn()
Công Nghệ Phần Mềm
18
6.2 Lo
6.2 Lo


i ki
i ki
ế
ế
n tr
n tr
ú
ú
c (style)
c (style)
• (1) Tập các thành phần (component) (e.g., a
database, computational modules)
• (2) Một tập những bộ kết nối (connector) cho phép
“communication, coordination and cooperation”
giữa các thành phần
• (3) Những ràng buộc (constraint) trong việc tích

hợp hệ thống
• (4) Những mô hình ngữ nghĩa (semantic model)
Cho phép người thiết kế hiểu những thuộc tính
tổng thể của hệ thống
Công Nghệ Phần Mềm
19
Lo
Lo


i ki
i ki
ế
ế
n tr
n tr
ú
ú
c (style)
c (style)
• Data-centered architectures
• Data flow architectures
• Call and return architectures
• Object-oriented architectures
• Layered architectures
•Cóthể kết hợp nhiều loại kiến trúc:
•Vd: kiến trúc tầng kết hợp với kiến trúc trung
tâm dữ liệu trong nhiều ứng dụng CSDL
Công Nghệ Phần Mềm
20

Ki
Ki
ế
ế
n tr
n tr
ú
ú
c trung tâm d
c trung tâm d


li
li


u
u
Công Nghệ Phần Mềm
21
Ki
Ki
ế
ế
n tr
n tr
ú
ú
c lu
c lu



ng d
ng d


li
li


u
u
Công Nghệ Phần Mềm
22
Ki
Ki
ế
ế
n tr
n tr
ú
ú
c g
c g


i tr
i tr



v
v


(tt)
(tt)
• Kiến trúc chương trình chính/chương trình con
(main program/subprogram)
• Kiến trúc RPC (remote procedure call): các chương
trình phân bổ qua nhiều máy tính trên mạng
Công Nghệ Phần Mềm
23
Chương tr
Chương tr
ì
ì
nh ch
nh ch
í
í
nh/c
nh/c
hương tr
hương tr
ì
ì
nh con
nh con
Công Nghệ Phần Mềm
24

Ki
Ki
ế
ế
n tr
n tr
ú
ú
c t
c t


ng
ng
Công Nghệ Phần Mềm
25
M
M


u ki
u ki
ế
ế
n tr
n tr
ú
ú
c (Pattern)
c (Pattern)

• Concurrency: Xử lý đồng thời
 Mẫu quản lý quá trình hệ điều hành (operating
system process management )
 Định thời tác vụ (task scheduler)
• Persistence (sự tồn tại): Dữ liệu tồn tại nếu nó vẫn
còn khi quá trình tạo ra nó chấm dứt. Có 2 mẫu:
 Hệ thống quản lý CSDL
 Mẫu tồn tại mức ứng dụng (application level
persistence), Vd: xử lý từ

×