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

Bài giảng Nhập môn Công nghệ học phần mềm (Introduction to Software Engineering) – Chương 6: Phương pháp thiết kế hệ thống

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 (459.09 KB, 56 trang )

Nhập mơn 
Cơng nghệ học Phần mềm
Introduction to Software Engineering
Department of Software Engineering
Faculty of Information Technology
Hanoi University of Technology
TEL: 04­8682595  FAX: 04­8692906 
Email: cnpm@it­hut.edu.vn
 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.1


Phần IV
Thiết kế và Lập trình
Design and Programming
Chương 6: 
Phương pháp thiết kế hệ thống
6.1. Thiết kế hệ thống là gì?  
6.2. Phương pháp thiết kế hệ 
thống
 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.2


6.1.



Thitkhthngl
gỡ?

ã Lthitkcuhỡnhphncngvcu
trỳcphnmm(gmcchcnngv
dliu)cúchthngtha
móncỏcyờucura
ã CúthxemnhThitkcutrỳc
(WHAT),chkhụngphilThitk
Logic(HOW)
HUT,Falt.

ê Dept.ofSE,2001

SEưIV.3


Quytrỡnhthitkhthng
ã Phõnchiamụhỡnhphõntớchracỏch
con
ã Tỡmrastngtranh(concurrency)
tronghthng
ã Phõnbcỏchconchocỏcbxlý
hoccỏcnhimv(tasks)
ã Phỏttrinthitkgiaodin
ã Chnchinlccitquntrd
HUT,Falt.
ê Dept.ofSE,2001
SEưIV.4

liu


Quytrỡnhthitkhthng
(tip)
ã Tỡmranguntinguyờnchungvc
chiukhintruynhpchỳng
ã Thitkcchiukhinthớchhp
chohthng,kcqunlýnhimv
ã Xemxộtcỏciukinbiờncxlý
nhthno
ã Xộtduytvxemxộtcỏcthahip
(tradeưoffs)
HUT,Falt.

ê Dept.ofSE,2001

SEưIV.5


Các điểm lưu ý khi thiết kế hệ 
thống
(1) Có thể trích được luồng dữ liệu từ 
hệ thống: đó là phần nội dung đặc tả 
u cầu và giao diện
(2) Xem xét tối ưu tài ngun kiến trúc 
lên hệ thống rồi quyết định kiến trúc
(3) Theo q trình biến đổi dữ liệu, hãy 
xem những chức năng được kiến trúc 
như thế nào

 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.6


Các điểm lưu ý (tiếp)
(4) Từ kiến trúc các chức năng theo (3), hãy 
xem xét và chỉnh lại, từ đó chuyển sang 
kiến trúc chương trình và thiết kế chi 
tiết
(5) Quyết định các đơn vị chương trình theo 
các chức năng của hệ phần mềm có dựa 
theo luồng dữ liệu và phân chia ra các 
thành phần
(6) Khi cấu trúc chương trình lớn q, phải 
phân chia nhỏ hơn thành các mơđun
 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.7


Các điểm lưu ý (tiếp)
(7) Xem xét dữ liệu vào­ra và các tệp 
dùng chung của chương trình. Truy 
cập tệp tối ưu
(8) Hãy nghĩ xem để có được những thiết 

kế trên thì nên dùng phương pháp 
luận và những kỹ thuật gì ?

 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.8


Thitkhthng
ã Thitkhthng
Thitkhthngphncng[(1),(2)]
Thitkhthngphnmm[(3)ư(7)]

ã Thitkhthngphnmm
Thitktp(filedesign)[(7)]
Thitkchcnnghthng[(3)ư(6)]

HUT,Falt.

ê Dept.ofSE,2001

SEưIV.9


6.2Phngphỏpthitkh
thng
ã Phngphỏpthitkcutrỳchúa
(StructuredDesign)caConstantine

ã Ngoiracũncỏcphngphỏpkhỏc,
nhPhngphỏpthitktnghp
(CompositeDesign)caMyers

HUT,Falt.

ê Dept.ofSE,2001

SEưIV.10


Thitkcutrỳchúa
ã Btnguntmodularity,topưdown
design,structuredprogramming
ã CũnxemnhPhngphỏpthitk
hnglungdliu(Dataflowưoriented
design)
ã Quytrỡnh6bc:(1)tokiulungthụng

tin;(2)chrabiờncalung;(3)ỏnhxDFD
sangcutrỳcchngtrỡnh;(4)xỏcnhphõn
cpiukhin;(5)tinhlccutrỳc;(6)chn
mụtkintrỳc

HUT,Falt.

ê Dept.ofSE,2001

SEưIV.11



Thiết kế cấu trúc hóa
(1) Mơđun và tham số
(2) Lưu đồ bong bóng và cấu trúc phân cấp
Lưu đồ bong bóng (Bubble chart)
Cấu trúc phân cấp (Hierarchical structured chart)

(3) Phương pháp phân chia STS 
(Source/Transform/Sink) và TR (Transaction)
(4) Phân tích cấu trúc hóa
(5) Chuẩn phân chia mơđun
 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.12


(1)Mụun
ã Dóycỏclnhnhmthchinchc
nng(function)noú
ã Cúthcbiờndchclp
ã Mụunócdchcúthc
mụunkhỏcgiti
ã Giaodingiacỏcmụunthụngqua
cỏcbinthams(arguments)
HUT,Falt.

ê Dept.ofSE,2001


SEưIV.13


(2a) Lưu đồ bong bóng (Bubble 
chart)
• Biểu thị luồng xử lý dữ liệu
• Ký pháp
Tên dữ liệu

Tên
chức năng

Tên dữ liệu

(Dữ liệu vào) (Bong bóng)

 HUT, Falt. 

 ª  Dept. of SE, 2001

(Dữ liệu ra)

SE­IV.14


(2b) Cutrỳcphõncp
(Hierarchicalstructuredchart)
ã Lphõncpbiuthquanhphthucgia
cỏcmụunvgiaodin(interface)giachỳng
ã Cỏcquyc:

Khụngliờnquanntrỡnhtgicỏcmụun,nhng
ngmnhlttrỏiquaphi
Mimụunxuthintrongcutrỳc1ln,cúth
cginhiuln
Quanhtrờndi:khụngcnnờuslngi

HUT,Falt.

ê Dept.ofSE,2001

SEưIV.15


Hierarchicalstructuredchart
ã Cỏcquyc(tip):

Tờnmụunbiuthchcnng(lmgỡ),ttờn
saochocỏcmụunphớaditnghplis
biuthchcnngcamụuntngngphớa
trờn
Bins(arguments)biuthgiaodingiacỏc
mụun,binscỏcmụungi/bgicúth
khỏcnhau
Mitờnviuụitrũntrngbiuthdliu,uụi
trũnen(hng)biuthflag
Chiucamitờnlhngtruynthams

HUT,Falt.

ê Dept.ofSE,2001


SEưIV.16


Hierarchical structured chart
Module A
1
Module B

Module C

Luồng dữ liệu

Module D

Module E

Luồng flag
 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.17


(3)PhngphỏpphõnchiaSTS,TR
ã Thitkcutrỳc:
PhngphỏpphõnchiaSTS
(Source/Transform/Sink:
Ngun/Bini/Hpth)

PhngphỏpphõnchiaTR(Transaction)

ã Minhhaphõnchiachcnngtheo
bongbúngcaDFD(biulungd
liu)
HUT,Falt.

ê Dept.ofSE,2001

SEưIV.18


(3a) Phương pháp phân chia STS
1) Chia đối tượng “bài tốn” thành các 
chức năng thành phần

Bài tốn
Problem

 HUT, Falt. 

F1

F3
F2

 ª  Dept. of SE, 2001

F4


SE­IV.19

F5


Quyết định luồng dữ liệu 
chính
2) Tìm ra luồng dữ liệu chính đi qua các chức 
năng: từ đầu vào (Input) tới đầu ra (Output)
INPUT
F3
Luồng dữ 
liệu chính

 HUT, Falt. 

F1

F4
F2

 ª  Dept. of SE, 2001

F5
OUTPUT

SE­IV.20


Quyết định bong bóng và dữ 

liệu
3) Theo luồng dữ liệu chính: thay từng 
chức năng bởi bong bóng và làm rõ dữ 
liệu giữa các bong bóng
Data1

INPUT

F1

Data2

 HUT, Falt. 

F2

Data3

F3

Data4

F4

 ª  Dept. of SE, 2001

Data5

F5


Data6

OUTPUT

SE­IV.21


Từ sơ đồ bong bóng sang 
sơ đồ phân cấp
4) Xác định vị trí trừu tượng hóa tối đa 
đầu vào và đầu ra
Data1

INPUT

F1

Data2

F2

Data3

F3

Data4

F4

Trừu tượng hóa

tối đa đầu vào

Source Module

 HUT, Falt. 

Data5

F5

Trừu tượng hóa
tối đa đầu ra

Transform Module

 ª  Dept. of SE, 2001

Data6

OUTPUT

Sink Module

SE­IV.22


5)Chuynsangsphõncp
Data1

INPUT


F1

Data2

F2

Data3

F3

Data4

Trừu tượng hóa
tối đa đầu vào

S o urc e Mo dule

HUT,Falt.

Transform
Module

F5

Trừu tượng hóa
tối đa đầu ra

Trans fo rmMo dule


Control
Module

Source
Module

Data5

F4

Data6

OUTPUT

S inkMo dule

0

1
2
 ª  Dept. of SE, 2001

Sink 
Module

3
SE­IV.23


6) Xác định các tham số giữa các mơđun 

dựa theo quan hệ phụ thuộc
Module 0
3
3

Module 1

 HUT, Falt. 

1

5

Module 2

0
5

2

 ª  Dept. of SE, 2001

Module 3

3

SE­IV.24


7) Với từng mơđun (Source, Transform, Sink) 

lại áp dụng cách phân chia STS lặp lại các 
bước từ 1) đến 6). Đơi khi có trường hợp 
khơng chia thành 3 mơ đun nhỏ mà thành 2 
hoặc 1
8) Tiếp tục chia đến mức cấu trúc lơgic khi 
mơđun tương ứng với thuật tốn đã  biết thì 
dừng. Tổng hợp lại ta được cấu trúc phân 
cấp: mỗi nút là 1 mơđun với số nhánh phía 
dưới khơng nhiều hơn 3

 HUT, Falt. 

 ª  Dept. of SE, 2001

SE­IV.25


×