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

Ebook phát triến hệ thống hướng đối tượng với UM l2 0 và c++ phần 2 nguyễn văn ba

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 (3.56 MB, 185 trang )

Chương VI
T H ia K ễ

Sau khi Ihực hiện xong 6 bước đầu của tiến trình 10 bước, chúng ta
đã xây dựng xong mỏ hình phân tích cúa hệ thống. Trong phân tích ta
luôn luôn tự hạn ch ế trong câu hói "Là gi?" hay "Làm gì?", mà không
bao giờ lấn sang câu hỏi "Làm như thế nào?". Tới đây, ta bắt đầu
c h u y ể n s a n g ih iế t k ế , n g h ĩa là n g u v ê n cứii s ự th ự c thi h ệ th ố n g v à đ ư a

ra những quyết định về cài đặt. phù li(Tp \ớ i điều kiện công nghệ có
được và đáp ứng các đòi hói phi chức nãng từ phía người dùng (như là
hiệu nãng, tính kliả dụng, lính bdo mật.v.v,..).
Ba bước 7. 8. 9 sẽ lần lượt dề cập ba vãn đề cua thiết kế;


Làm nguyên mẫu giao diện người dùng;

• Thiết kế hệ thống:
• Thiết k ế chi tiết.
7’rong thiết kế, ta klió tránh khói đi sâu vào việc chọn lựa và vận
đụng các công cụ cài đật (như là cúc ngòii ngữ lập trình, các hệ quản
trị cơ sỏ dữ liệu, các hệ lạo lập giao diện, các thư viện thành
phần.v.v...), Tuy nhiên, vì sự hạn chô' của khuôn khổ cuốn sách, ta
khóng thế (rình bày vé các cóng cụ đó ỏ đày. mà chỉ trình bày sự thiết
kế ở mức độ độc lặp với côni’ ru cài (!ậl, Mãt khác một vấn đề rất thú
vị và đ ồ n g ihời là xu hướng tâì y ố u c ú a thiết kế hiện đ ạ i là v ấ n đề mẩi(
ỉhiết /iré'(design patterns) cũng không lliể irình bày một cách c ó hệ
thống, mà chí có thể được giới tliiộu qua. mổi khi cần đến. Đ ể đi sâu
vào mầu thiết ké, bạii dọc có tho ihain kháo 113].



184

Chương VI. Th iết k ế

§1. BƯỚC 7: LẢM NGUYÊN MẪLI
G IA O D IỆ N N G Ư Ờ I DÙ N G

1. MỤC ĐÍCH
Cõn« việc ở bước 7 nàv là dưa vào các bộ tạo lập GUI (Gruphiciil liscr
Uìteiiace builder) thàrứi lập sớin \ ’à Dhaiili một nguyên mảu (protoíype)
p.iao diên người dùnc, có íínli thãm dò. nhẳm vào các rnục đích sau:


Tạo ra một mối irườiig làm việc cụ ihế. dễ tiến xúc. dề làm thử.
làm cho nsười dùng irở nên yên tâm hơn. không như khi chí được
Ihấy nhữiic cì ve irẽn eiấ)'. \'à !iọ cũng iró' ncn nìiiic độnạ !iciì tr:Mìg
'. iộc dona góp cl'0 \'iộc phái iriến t'>ệ Ihốiig




Quii quá irình dùng tliú. ta ihu Ihập dược nhiẽu ý kicn phánhổi
ícli lù pliía người dùng.

bố

S ớ m p h á t h iệ n d ư ợ c c á c y ê u c ầ u h a v c h ứ c n â n g bị b ỏ s ó t, s ớ m n lììn

thấy các chỗ yếu. chỗ khó khăn nhất cúa hộ ihống.
Vì mục đích thăm dò cúa nguyên inảu. ta nên làm nguyên mảucàng

sớin caní! lổt (dù rầna ta gọi đây là bước 7). Oiáng hạn có the báí đáu làm
ncuyên mầu ngay sau khi đưa ra các ca sử dụng (bước 2). Nguyên inảu có
ỉhé dược làm đi làm lại nlìiổu lấn. lìan đẩu có ihể dó chi là các hình vẽ trên
giấy. Iiliưiig sau đ ó sẽ đ ư a lên m à n hìiìli. Ban đầu c ó ihể n ó chi đưa ra các

dử liệu giá, nhuiig sau dó nó phái đề cập dữ liệu Ihật với kliối lượiig lãng
dán. Quá liinh phái triển nguyên inău làiiì dòng ihc/i với tịuá trìiili pliân lích
v a ih i c l k c . %'à lìi) l i ọ ciiO piiìiii líciì / à i h ì ẽ i k ẽ .

2. M Ô 'IẢ C Á C ( ; iA ( ) D IỆ N C Ú A H Ệ T H Ổ N í ;
Như ta đã biết (§ 3 .2 0 , Chưmig IV), cứ m ỗi cặp dối tác - ca sử dụng
licn quan, có ít nhất một lớp biên de chuyến dổi các ihòng tin vào-ra.
The hiện của lớp biên chính là giao diện mà bây giờ ta cẩn phái mô tả.
Muổn vậy, ta dõi íhco từng bước trong kịch bản của mỗi ca sử dụng,
xét nội dung ciia tươiìg tác giữa đối tác và hệ thống, các thõng lin vào và
ra. các hàiih động dược ycu câu để tố hợp vào mộl phán tứ giao diện.
Chảng hạn, trong Bủng VI. 1. la thực hiện sự phân bố các giao diện cho
từng bước trong ca sử dụng 'Chọn inôn học để giáng dạy'.


§ 1. Bưóc 7: Làm nguyên m àu giao diện người dùng

185

Báiiii V l . ỉ . Ẩ^hân b ố cúc ịiiao diộn cho các bước irong
ca sử dụng 'Chọn môn học J ể ^iảng dạy'

Các bước/ hoạt động trong ca sử dụng

Phần tử giao diện cần có


Đ ãng nhập người dùng
Yêu cầu mã số người dùng

Màn hình đãng nhập

Xác định người dùng
Ghi nhận ý định người dùng
Chọn học kỳ

Màn hlnh chọn việc

Chọii việc (thêm, bò. xem , in, ra)
TTièm ỉớp giíing
Nhập lên. mã số môn học

Màn hình chọn lúp giảng

Hiến lliị các lớp giảng
Chọn m ộl lớp giáng
Kết nối tháy với lớp giảng
Bỏ lớp giảng
Hiến ihị các lớp giảng của thầy

Màn hình bò lớp giảng

Bó một lớp giáng
Xein

lịc h


biểu

Hicn ihị lịch bicu cúa thầy

M àn hìn h lịch biểu

In lịch bicu

Tiếp đó, ta m ỏ tả lìm g giao diện theo các cliểm sau:


'ĩẽn c ú a giao diện;



Diền tá ngắn độ 2 - 10 dòng vãn



Mức độ phức tạp của giao diện (phức tạp/chuẩn/dơn giản);



Ghi chú thêm, nếu có.

tự;

Có bốn [oại giao diện, mà đặc điểm kv ihuật có những khác biệt,
cần dược bổ sung thêm chi tiết. Đ ó là;



Các giao diện đối thoại;


186__________________________________________ Chương VI. Thiết kế


Các thông tin xuất (thư. báo cáo v.v,..):



Các giao diện dữ liệu từ và đến các hệ thống ngoài;



Các giao diện chức nãng đến các hệ thống

ngoài.

Đ ối với hai loại cuối (giao diện chức nãng và giao diện dữ liệu),
các chi liết m ô tá sau đây cần được bổ sung;


Tòn của hệ Ihóng ngoài có liên liệ (tên cliươiig irìiih. lèn giao
tác.v.v...):



Loại gr.ic diên' đống bộ (,gi‘i0 diện chức

khòng đổn(trao dổi dữ liệu, chăng hạn llìông qua lẹp. báng lìay ỉiàng đợi):



Hướng của giao diện: đọc, viết;



Tấn suất kícli hoạt và. nốu cần. í'.ự phủn bố rrong ngày, chang hạn
rnộl íáii Ircng ngiV. Iiuv knoáiig lOũ lần irong iigày, v.v...;



K h ố i l ư ị í n g d ữ l iệ u ( i h c o b a i ) ĩối d a . l ố i thicii Vd (iLing b i n l i c h o

mỗi lấn kích [loạt;


Tầm quan trong cúu giao diện Iquan trọng/chuấn/ihứ yếu);



C á c đ ặ c đ iế iT i r i ê n g b i ệ l .

Đ ối với hai loại giao diện đầu (giao diện đối Ihoại và thông tin
xuât) cũng có tliể bỏ sung thêm cỉii tièì m iêu tả.


A i dùng đối thoại hay thông tin xuất (số lượng, Irình độ,...):




Đ ối thoại hay xuất thông lin vào lúc nào và nhiều hay íl (lính trung
bình theo người dùng, phân bố Irong ngày, luẩn hay tháng,v.v...),
chẳng hạn một lần trong ngay hay khoảng 100 lần trong ngày,v.v...;



Tầm quan trọng của giao diện (quan trọng/chuẩn/thứ yếu);



Các đặc cliém n ên g biệí.
Các bủng V I.2 và V I.3 ch o các thí dụ về iniêu lả giao diẻn.
Bảng VỈ.2. Miêu lả đổi ỉhoại: Thâm một lớp giảng

Tên: Đ ối thoại Thêm một lớp giảng
Miêu td ngổn:
Đ ối thoại này cho phép thầy giáo nhận thêm lớp giảng cho mình
vào học kỳ mới.
Sử dụng:


§1 . Bườc 7: Làm nguyên m ẫu giao diện người dũng _______________ 187

Mỗi tháy giáo có thế Ihực hiện dối thoại ngay trên máy tính ở
phòng làm việc ciia inìnli (nối mạng cục bộ của trường). Mỗi thầy
thưc hiện vài ba lần. tập trung vào một tuần trước kiii bước vào học
kv mới.

Mức đô phức íạp:
Chuán
CỚC' Iriỉờ/I^ nhập d ữ liệu
Tên thấy, học kỳ, m ôn học. mã số môn học.
C á c ĩn ỉờ n ^ Itiểii lỉìị:
Dunlì sách các lớp giảng ứng VỚI mòn học và học kỳ (mã số lớp
giảng, đối iượns học, khối lượng, dự kiến thời gian biếu).
C á c khả nãng r ẽ ngang:
Thoát. Kết thúc, Bỏ lớp giảng.
C á c hành động
Đánh dấu lớp giáng, Nhận lớp giáng. Hoàn lại lớp giảng.

Bdnỵ VI.3. Miêu id iliônỊỉ tin xiuíi: Lịch trình giảng dạy

Tên: Lịch irinh giáng dạy
M iẽỉt

ỉii

n^âii:

M ộl
ôl thòng báo viêt
viết (trẽn màn iiiiìli
liiiìh liay
hay in ra giấy, về lịch Irình
giáng dạy cúa các lớp giáng cùa Ilìộí riiiìy giáo.
SửclựnịỊ:
Tiìầy giáo c ó llìể xem lịch trình hay in lịch trình cúa mình Irên máy
tính (nối m ạng) ó phòng làm việc của 'rhầy,

Mức d ộ phức tạp:
Chuẩn
C á c Irư ờ n íỊ xuất:
Lịch giáng cúa từng m ón học (tên Tliầy giáo, tên học kỳ, lên môn
học. mã số m ôn học, mã số lớp giáng, dối tượng học, khối lượng,
ngày Irong tuán, giờ, địa điểm).


188

Chương VI. Th iết k ế

3. DI C H U Y Ể N G IỮ A C Á C G IA O D IỆ N N C Ư Ờ I D Ù N G
Cách phái hiện \’à m iêu tả các giao diện như trên là đơn gián, dễ
làm, Nhươc dicm chính cùa nó là bỏ qua sắc thái động cùa giao d'ện.
V'ị \’ãy. cých iàm dó nếu có tlĩể đã ihành công với nliững giuo diện dơn
aiáii, Ihì lại trớ nên khá lúng túng khi sập các giao diện phức tạn.
Cháng hụn với các giao diện ircn mộl NVebsile, với cúc đơn chọn, các
kết nối. các siêu kếí nố'„ các núl dản d:U v.v. .. ih.ì việc '0 hơp các yếii
tố giao diện đó lại với nhau thành một giao diện hcíp lý. uyến chuyến
và đẻ dùng không phái là việc ỉàm gián đơn.
ƯML cung cấp cho lii m ệt ccng cụ lốl đe dicn lả inối các!i chír.h
xác. khóns bỏ sót các sắc Ihái độriL’ của ;nột hộ tliông gi.io rìiện, đó là
bieu đổ hoạt động (xem § 3 , C'hươiìg V). Vốn là m ỏ hìiih cúa luỏng
còng việc, nó được áp dụng vào đày đc diỗn tá sự di chuycn giữa các
yếu tố giao diện đối với một người dùng.
Đ ế áp dụng cho giao diện, khái niệm 'hoạt động' trong biếu dồ hoạt
động được chuyên biệt hoá thành năm loại (Hình VI. 1), mang các
khuờn dập thích hợp, nliư sau:



Một trang



Một kliiuìg nằm trong inột trang ( « f r a m e » ) ;



Một hành íiộnịỊ đơn giàn ( « a c t i o n » ) ;



Một

sơi

đ ầ y đú

lồi

cùa

hav

V V e b sile

hành

vi


(« p a g e » );

không

cbờ íỉợi

của

hệ

thống

( « e x c e p t i o n » , được tô màu ẹhi nhạt):


Một mõĩ nổi lới một biểu đổ hoạt dộng khác,nhằm

thực hiệii sự

cấu trúc hoá, \ ’à nhằm làm cho biểu đồ dễ đọc hơn ( « c o n n e c l o r » ,
được tò màu ghi đạm).
Các khái niệm trang và khung tươiig ứng trực tiếp vứi các lớp biên
( § 3 , Chương IV). Khái niệm hành động nói chung là tương ứng với
m ội thao túc trong một lớp biên hoặc trong một lớp điểu khiển.


§7. Bưởc 7; Làm nguyên mẫu giao diện người dùng

«p ages»


189

« a c tio n »

« fr a in e »

« e x c e p tio n »

« c o n n e c to r »

L

Hìiilì V I . i . C ác qii\' ước d ổ lìoạ chuyên biệt
V iệc m ô hình hoú di chuycn bắt dấu lừ một đối tác (Hình VĨ.2).
Tliường thì mội đối tác liên kết với nhiểu ca sử dụng. Nếu các ca sử
đụng đó là độc lập hoàn loàn \ ’ới nhau, thì la xây dựng m ộl biểu đổ di
chuyến ch o m ỗi ca sừ dụng đó. và các biểu đổ đó ià đơn gián và dẻ
dọc. Trái lại nếu các ca sử dụtig đó lại có liên hệ và ràng buộc lẫn
nhau, Ihì la phái xây clLm a một biếu đổ thống nhất, và các ràng buộc
dược thc hiện bằng các cảnh giới trẽn các di chuyển giữa các trang
iươiig ứng. Và như vậy, các biếu đồ di chuyên lại cho la một cách diễn
đạt các ràng buộc một cách hình iliức và minh bạch.

D ối

Đối tác
• intranet

lác




/
«pagcs» \
1 Trang đón liếp ]
\
- /

4'

(

« fra m e »
Đăng nhập

« e x c e p tio n » \ ỊkhôngỊ__ A
Lỗi đãng nhập ^
^

>

x a c n liỊn '

* ‘_______

v_

/ «pages»
1 Trang đón tiếp


/
có]

H ĩnh VỊ.2. K h ỏ i cỉâii ciía hiểu đồ


190

Chương VI. Thiết kế

T h í dụ
Hãy lập biểu đổ di chuyển cho một khách hàng trên \Vcbsite
thương mại điện lử của một hiệu sách. Ta có biểu đồ các ca sir dụng
cùa khách hàng nhir trẽn Hình V I.3.
c

')

Thực hiên một đơii hàng

\ « e x ĩe n d »
V
\
\

c

_______


Sữ dụng giỏ xách
/
/
/
' « ex ten d »

c
^
CZ^
l ì m nhanh

Tim sách


í

c

n m theo chủ để

'Hin sáu
Hinli Vỉ.3. Biểu đ ồ ca sửdụnỊỊ của khácìì hàiiị’
Ta xét lần lưọt từng ca sử dụng.
Tìm sách
Thông thường khách hàng irưỏc liên tìm và chọn sách, cho sách
Lfng ý vào giỏ xách và cuối cùng thực hiện đơn mua hàng. V ậ) :ừ trang
đón tiếp, khách hàng có thể tìm nhanh các sách, hoặc tìm sâu theo một
ý định nào đó, hoặc xem qua một lập hợp các trang như là: Sá;h mới.
Sách bán chạy nhất, v.v... (Hình VI.4).



191

§1. Bước 7: Làm nguyên mẫu giao diện người dùng

Tim nhanh dựa trên một vài từ klioá. chi cần thực hiện bằng một
« f r a m e » luôn có mặl trên tiang lìm kiô’m. Trái lại tim sâu với nhiều
liêu ch í lại được tliực hiện bãng niội Uaiig nguyên. Tim kiếm là một
« a c t i o n » mà kết quả là một framc chứa danh sách các sách lìm
được hoặc một thông báo lổi khi khòng tìm dược sách.
«page»
Sách mới
«page»
Trang đón tiếp

«page»
Sách bán
chạy nhất
«page»

«page»
Tim sâu

V

V
« a c tio n »
Tìm kiếm
« e x c e p tio n »
Lỗi: không tìm )<■

được sách

không

tìm được?


______ <*________

(
« fra m e»
\^Kếi quả tìm kiếm

ỉ i ì i i h V ỈA . D i chuyển dể lini kiếm (khởi (ỉáii)

C hú ý: Trong biểu đổ, la không ghi rõ sự kiện kích thích trên mỗi
bước dịcli chuyến (do người dùng khới phát), để cho biểu đô được
quang dãng hơn. Thực ra sự kiện đó luôn luòn trùng tên với trang
chuyển đến. Chảng hạn đến trang sách mới, Ihì người dùng kích chuột
lên một kết nối Sách m ói trẽn irang đón liếp, vì vậy có viết Ihêm sự
kiện dó vào biểu đồ. thì cũng không đưa thêm được thông tin gì mới.
Các dịch chuyển trờ lại trang trước cùng bị bỏ qua.
Từ kết quả lìm kiếm, khách hàng có thế chọn một cuốn sách để
nhạn dược một phiếu giới thiệu sách chi liết. hoặc có ihc cho luôn sách


192

Chương VI. T hiết k ế


vào giỏ xách (ảo), hoặc có thế sắp xếp lại các kết quá. Nếu có nhiều
sách tìm được, khách hàng có thể duyệt các Irans kết quá {Hình V I.5).
Phiếu sách lại cũng cho phép dưa sách vào giỏ xách hoặc yêu cầu
xein phiếu tác giá bao gồm tiếu sứ và danh sách các sách cúa lác giả
đó. N ó cũng cho pbcp I.niy cập các thỏpg tin bổ sun*’ như la: ảnli
phóng dại, lời bình, mục iục chi liết, tóm láỉ cac chuơiig,
Vì sự
rườm rà kéo đài từ phiếu sách này. ta cắỉ phẩn di chuycn kc từ phiếu
sách ''ào một biểu đồ hoạt động khác, bằng cách dùng mối nối
« c o n n e c t o r » (Hình VI,6). Cũng tifcf!ig tự, phấn Sừ dựiiíí G iỏ xách
chưa triến khai cũng được ihay Ihế bằng một mối nối « c o n n e c i o r » .

•Sávb Tiì /
------------- '



(

A^v,vhicvsach í-or.i

< < pãgẽ» \
Sách b án
1^
chạy ah ăt

H ỉn h V I.5. D i ch uyển đ ể tìm kiếm (m à thêm )


§1. Bưóc 7; Làm nguyên m ẫu giao diện người dùng


193

P h iế u sá ch

Hình Vỉ.6. D i chuyển ỉừphiếu iỉiới thiệu sách
Siỉ dung giỏ xách
Xem lại biểu đổ ca sử dụng ờ Hình V I.3, ta ihấy ca sử dụng 'Thực
hiện mộl đcm hàng' m ớ rộng ca sử dụng 'Sừ dụna giỏ xách'. Đ iểu đó có
nghĩa là đang sừ dụng giỏ xách, ta có thc cliu\’ến sang ihực hiện đcm
mua hàng. Tuy nhiôn ờ đây phải có inộl ràng buộc: G iỏ xách phải
khòiig lồn g tlìì mới chuyển sang Ihực hiện rnua hàng được. Đ ể thể hiện
sự ràng buộc này la phải đưa ihêin một trang "Cìiỏ xách rỗng', iruy cập
đưực từ nhiều trang, kể cả Irang dón tiép. nhưna nó ngăn không cho
chuyến sang trang Đặt hàng. Bới việc lách irang G ió xách thành hai
(rỗng và không rỗng), nên « c o n n e c t o r » Giỏ xách trên hình V I.5 nay
lại tương ứng với « p a g e » G iỏ xách ở Hình VI.7, mà không phải
tương ứng với m ội điểm vào biểu đổ mới như trường hợp trên.


i i i n h V 1 7 . ỈỈU'II d ồ íli clniYCíì cho s ứ c l ụ n i i ÍỊÌÓ xách

!'/ntc hiện mội (ừ/n ìiảini
« c o n n e c t o r » Đơn hùng trên Hình V I.7 trớ thành điểin vào cho
biểu đồ di chuyến để thực hiện một đơn hàng trèn Hình V I.8.
D ơ n ìià n g
[K h á c h đ ã đ a n g k
/

« jn ìg c »

P h iế u k liá c h
y h ù n g d iẻ u sá n

z

2
« 'a c i i o n »
Đ i c u c h in h
tà i k h o ả n

K h á c h c h ư a đ ỉln g k ý l
« p a g c »
P h iế u k h á c h
h à n g rỏ n g

« a c L io n »
N h ậ n t h ô n g tiìì
m ua hàng
/< ^ x c c p tío n > >
(
Đ cm h à n g
\
chưa đụt

« p a G e »
p h iê í m ua

hùnM

V


/

-< ề >
n

ỉỉìiih Vỉ.8. Biển d ố dì cìuivểii clioTliực hiện m ột dơn hủiiíi


§ í, Bườc 7: Làm nguyên m ấu giao diện người dùng

195

Cuối cùng thì la có thế lổng hợp vào một biếu đổ di chuyển chung
ciia một khách hàng, như trên Hình VII,9. Trẽn biểu đổ này ta lược bớt
các báo lỗi « e x c e p t i o n » và các rẽ nhánh Iheo điều kiện. Đ iều thú vị
là ta thấy chỉ với một trang giấy mà la có thc thâu tóm mọi quy tắc
dịch chuyển trên m ộl W ebsite.
« page»
S ách m ớ i
« page»
bán
nhất

« fra m e »
T im n h a n h

ỉ « a c iio n »
1


« pagc»
T rợ g iú p

«pagc»
T rang đón tií p

^
j

«page»
T ìm s â u

.

j

« a c tio ii»
c h o v ào giò

R à lại

[còn ít
nhất 1 cuốnl
«page»
G iỏ sách

í«

a c tio n » \


/
«page»
VyPhiếu giới th iệ u s á c íy

VL ập d ự toán 1
> •

« fra n ie » \
D ự to á n Ị

Đ ặ t h àn g



« p ag c» \
P h iế u k h á c h
y h à n g rỗ n g j

í

« a c tio n »
Đ iể u ch in h
tài k h o ả n

/

«page»
1 P h iéu khách
\ h à n g đ ié n sẩn




« p ag e»
\
1 P h iế u m u a h à n g ì

« a c tia n »
N h ạ p thỏng tin
m u a tìàng

í
\

Kết thúc bình Ihuờng
có mua %ách

« a c tio n » 1
M ua
J

H ìn h V ỉ. 9. B iểu đồ d i chuyển tổn ^ íỉìể c ủ a khách hàng


196___________________________________________ Chương VI. Thiết k ế
4. L À M N G U Y Ê N M Ẫ U
N gày nay có nhiều bộ tạo ỉập giao diện người dùng (GUI builders)
cho phép làm các nguyên mảu giao diện mà khỏng tốn mấv công sức.
Bước đầu thì các trường là rỗng hoạc cho giá trị giá, Các núi và các
phần lử đối thoại khác có thê’ chưa có 'liệu ứng rõ rêi và cJìn giái thích
"miệng". Song dần dần qua nhiêu \ ’òng lạp, tli: giao diện tiớ nên sinli

động hcfn và đi gần tới phương án cuối. Và như vậy người dùng có Ihc
làm việc ihử vứi các nguyên mầu.
Các bước ihực hiện nguyẽn inẫu có Ihể là như sau:


X ciĩi xét lừng ca sử dụng dế phát hiệti yêu cáu \'ề giao cliẹn cửa
c h ú n g . D Õ ! i h e o c á c b ư ớ c f o n g k ị c h b ả n c ử a C'd s ử đ ụ n g m à la p h á t
la ii iư ợ i c iíc

phán

i ừ g i a o c l i ệ ') c â n

th iế t. C -ẩn p h á ’ c h ú

V sụ

iư<'nis: ỉicn RÌữi'. các ca sử dụng đế ỉìir. cách ihe niện các inối ĩcing
buộc giửu chúng ngay trên giao diện.


M ô lá các phán lứ giao diện đã phát hiện. Trong trường hợp giao
diện là phức tạp. vẽ biểu đổ di chuyến trên giao diện.



Lùm nguyên mẫu. Chú ý rằng nguyên mẫu chỉ có V nghía ihãm dò.
''ậv nên làm nhanh và kliông cầu toàn. Chưa nên chú V nhiều về
irình bày, về m ỹ thuật mà cần chú ý nội dung (các trường, các
frame) và luồng dẫn dắt từ phần tử giao diện này sang phấn tứ giao

diện khác.



D ùng ihử và đánh giá. Qua dùng thứ trong nội bộ nhóm thiết k ế và
trong các người dùng, mà thu Ihâp các ý kiến phản hổi. Cũng có thể
tổ chức hội thảo để phân lích, góp ý kỹ hơn. M ọi ý kiến phản hồi
đéu phải ghi nhận và nghiên cứu lại, để có ihc sứa chữa nguyên
mău và đưa ra phiên bản mới.

Cần chú ý rằng nguyên mẫu và giao điộn nói chung chi là mặt
ngoài cùa hệ thống, nó chưa phản ánh hốt tầm sâu cừu hệ liiống. Vậy
cần nói rõ với người dùng lù chớ ào tưởng ở nguyên mảu. Người dùng
khi thấy nguyên mẩu đã có vẻ chững chạc, thì đã vội nghĩ thế là hệ
thống đã "hòm hòm ” rổi. Thực ra làm nguyên mẫu chí là một sự hỗ trợ
tốt, chứ khõng thể là sự Ihay thế ch o các bước phân tích và thiẻì k ế hệ
thống một cách nghiêm túc được.


§2. Bưôc 8: Thiết k ế hệ thống

197

§2. BƯỚC 8: THIẾT KÊ HÊ THỐNG
l. MỤC ĐÍCH
Thiêì k ế hệ thống chính là thiết k ế kiẽii Irúc tổng thể của nó.
Kiến írúc (architechture) là tập họp các quy tắc về sự hợp thành và
sấp đặt các Ihành phần của một hệ thống phức tạp, nhờ đ ó mà nó hoạt
đ ộ n s được.
Các thành phần lạo nên hệ thống là gì và các m ối ỉiên quan giữa

chúng ra sao, cái đó lại phụ thuộc vào lừng cách nhìn đối với hệ thống.
U M L miêu tả năm góc nhìn đối với hệ ihống (xem § 2 .1 , Chưcíng II)
và đó cũng chính là nãm cách nhìn khác nhau \ ề kiến trúc. Có thể tách
năm góc nhìn đ ó thành hai nhóm:


C á c góc nhìn v é kiến trúc lôgic: Kiến trúc lôgic đề cập tới các
chức núng của hộ thống, sự phân bổ cùa cúc chức năng đó vào các
phấn khiíc nhau của hệ thống và cho thấy vì sao các giải pháp đã
làin việc được và đáp ứng yêu cầu. Kiến trúc lôgic chứa lôgic của
ứng dụiig, nhưng không chứa sự bố trí vật iý cúa lôgic đó vào các
quá Irình, các chương Irình hay các máy tính. Vậy kiến trúc lôgic
thể hiện trên ba góc nhìn cùa ƯML:
-

G óc nhìn ca sứ dụng, ch o thấy hệ Ihnng phãi có các chức năng
(lớn) nào đổ đáp ứng các yêu cầu của người dùng.

-

G óc nhìn thiết kế, cho thấy hệ thống dirơc thiết k ế với các lớp
và dối tượng nào, hoạt động của chúng ra sao và chúng được
gom vào các hệ con ra sao.

-

G óc nhìn quá trình, cho thấy sự thực hiện của hệ thống diễn ra
t h e o c á c t u y ế n đ i ể u k h i ề n n à o , thiíộc loiỊÌ h ì n h đ i ể u k h i ể n gì

(đcfn, song hành-..)•


C á c góc nhìn v é kiến trúc vật lý: Kiến trúc vật lý đề cập sự hợp
thành của hệ thống từ các bộ phận tổn tại thực sự trong thực lế (chứ
không phải trong sự hình dung của con người) bao gồm các phần
mềm (các mã nguồn, các mã khả thi, các thư viện chương trình...)
và các phẩn cứng (các m áy lính, các thiết bị, các đường kết nối)
cùng với sự b ố trí của các phẩn m ềm chạv được trên các phần cứng.


198__________________________________________ Chương VI. Thiết k ế
Như vậy kiến trúc vật lý thể hiện trên hai góc nhìn còn lại cúa
ƯML:
-

G óc nhìn thành phần, ch o thấy hệ thống bao gồm các Ihành
phần phần mềm nào, các mối liên quan giữa chúng ra sao.

-

Góc nhìn bỏ’ trí. cho thấy ỉiệ thống bao gổni oác pỉiầii cúng
nào; các nút (các bộ xử lý. các thiết bị), các k ít nôi (đường
truyền) giữa các nút đó và sự bố li’í các Ihàrih phần pliầa mém
trèn các núỉ.



Rốt cục, nếu hiểu kiến trúc là sự m ó lả hệ thỗng theo nãm góc nhin
írôn, ihì chắng phủi mãi đến bước 8 này ta mới đế cập tới kiến trúc.
Tlìậl vậy, dọc theo quá tpnh phàn 'ích nhiều khía cạnh của kiến
trú.: h ị ‘hứng, (lậc biộĩ là kiến irúc íôgic do được xcrn xét, vớ; nhiềii

loại biếii dổ, nhu ìà biểu đổ ca sử dụng, biếu đồ lop, bieii đò doi
tượng, các biểu đổ lương tác, biểu đổ máy trạng thái, biểu đổ hoại
động... Vậy ò đây. irong bước 8 này, ta chi còn phài để cặp lới bốn
ván để còn lại cùa kiến trúc hệ thống, là:
-

V ỡ hệ thống thành các hệ con (các gói).

-

Chọn lựa loai hình điều khiển

-

M iêu tả các thành phần vật lý của hệ thống.

-

Bố trí các thành phần khả thi vào các nút phần cứng.

2. V Ớ H Ệ T H Ố N G T H À N H C Á C H Ệ C O N

a) K h ái niệm về hệ con
Các lớp là những thực thể cấu trúc quá nhỏ bé so với một hệ thống
thực. Bời vậy khi số các ỉớp trong hệ thống đã lên lới hàng chục, thì ta
nên gom các lớp liên quan mạnh với nhau thành từng nhóm gọi là các
hệ con.
H ệ con (subsystem ) là một sự gom nhóm lôgic các lớp c ó sự c ố kết
bên trong mạnh và sự tương liên bên ngoài yếu.
Thuật ngữ hệ con được nhiều tác giả dùng, và G. Booch lại g ọ i là

phạm trù (category), ihực ra không phải íà thuật ngũ chuẩn của UM L.
Trái lại UM L dùng thuật ngữ gói (package). Tuy nhiên khái niêm gói
(xem lại Chương IV § 1 .1 0 và § 2 .6 ) lại có ý nghĩa khái quát hơn;


§2. Bưởc 8: Thiết k ế hệ thống

199



Gói là một cơ ch ế gom nhóm nliiC'1.1 pÍKiii lử. Các phần tứ nói dày
có thế là các lớp, các giao diện, các ihàiili pỉum. các hợp tác. các ca
.sứ dụng, các nút. bicu đồ và cũni’ có (hc là c.k' gói khác.



Gói và biéu đổ gói có thế được vận dụng á inọi giai đoạn phá! tricn
hệ thống. Khi ta có một bicu dổ lùio dó (ci) ihế là biểu đổ lớp. biểu
đổ ca sử dụng...) là quá lớn, quá phức lap. \à ta muốn diẻn tá nó lại,
sơ lược hơn, nhưng dỗ nắm bắt hơn, (iỏ phãii công nghiên cứu và
Iriến khui hơn. ihì ta dùng gói và biéu đỏ ụói.

Còn \'ề các hệ con mà ta ihiết lặp tion<2 '2.'m đoạn Ihiết kê' kiến trúc
cùa hệ lliống, thì;


Đ ó chí là gói cúa các lớp. thưừiiỵ mang thêm khuôn dập
« s u b s y s t e m » . như trên Hình VI.ỈO. Sô cúc lớp trong một hệ con
klìông nên ít quá. mà cũng chắni’ iiC-11 iiliicu quá (thường thì có

l:hoảng mươi lớp là vừa).

« s u b s y s te m »
Lich biểu

ỉỉiỉilt

V ỉ . i O .

B i ể u

d i ề n

Ììệ

v o n

Nội dung của một hệ con (gồm các lóp \'à các mối liên quaii giữa
chúag) dược U M L 2.0 diễn tả irong n\ộl kìuút^ (íiain e). vứi niột lựa ỏc
viếi trong một hình chữ nhật cắt góc (lu;o khuôn dụng [<loại>] Tên
<iham số>], như trên Hình V I.11.


Sự có' kếĩ của các lớp irong cùng ipột lìc ':«'n thc hiên ờ chỗ:
-

V é mục đích; Chúng phái cuny cãp các dịch vụ CC) cùng bán
chất cho người dùng. Như vậy chúng pliái ihuộc vùo cùng mộl
lĩnh vực và đề cập một số thuậl ngữ chung (cháng hạn hệ con
giao diện để cập các thuật ngữ như: cửa sổ. đơn chọn, nút hành

động v.v...).

-

V ề xu thế phát triển: Người tu tác h các !ớp bền vững \'ới các
lớp còn nhiều khả nãna thay đối. phát triến. Đặc biệt là tii


200

Chương VI. Thiết k ế

thường tách các lớp nghiệp \'ÌỊ với các iớp ửììi’ clụniỊ và xếp
chúng vào các hệ con khác nhau.
V ề ứng dụng các công nghệ: để tận dụng các dịch \ụ còng
nghệ có sẵn, như các thư viện chương trình (lớp/thành phan),
các GUI, các hệ quản irị cơ sờ dữ liệu v.v..., ta thường tách các
hệ .-:on giao tiếp, hệ con quàn trị dữ liệu ra khói phần lõi {ưiig
dung và nghiệp vu) của hè thống.
T

Hệ t'on Lịch biêu

Hin/ì V Ỉ . Ị ỉ . N ội dung cứa hệ con Lịch biêu
Sự tưcíng liên giữa các hệ con thể hiện ở mổi liên quan phụ thuộc
giữa chúng. Mà sự phụ Ihuộc giữa hai hệ con phản ánh các mối liên
quan tĩnh (thừa kế, liên kết...) và các m ối liên quan động {trao đổi,
thông điệp) giữa các lớp ihuộc hai hệ con đó. Sự phụ thuộc giữa các
hệ con phải càng đơn giản, càng lỏng lẻo càng tốt. Đ ể đảm bảo tính
tương liên yếu này, khi thành lập hệ con, ta áp dụng các quy tắc

sau:
-

Các lớp thuộc vào cùng m ội pha hệ thừa kế nên đưực xếp vào
cùng một hệ con.

-

Các lớp có m ối liên quan kết nhập và hợp thành với nhau
thường được xếp vào cùng một hệ con.


§2. Bưóc 8: Thiết k ế hệ thống
-

201

Các lớp cộng tác với nhau nhiéu. irao đối thông tin nhiều, thế
hiện qua các biổu dổ tương tác. ihì nên đặt chung vào m ộl hệ
con.

-

Nên tránh sự phụ thuộc vòng quanh giữa các lớp.

b) Kiến trú c p h â n tầng
Một hệ con ihường được định nghĩa bỏi các dịch vụ mà nó cung
cấp. M ối liên quan giữa một hệ con với phần còn lại của hệ thống có
thể là ngang hàng hay ỉà khách hàng/dịch vụ.
Trong m ối liên quan níỊang lìàii^ (peer-lo-peer) thì mỗi bèn đều có

thể truy cập các dịch vụ của bẽn kia. Bấy giờ sự giao tiếp không nhất
thiết là ờ dạng câu hỏi và trả lời liền sau đó, mà có thể là một sự giao
tiếp loanh quanh, rất dễ dẫn tới những sai ỉỗí đáng liếc về thiết kế.
Còn mới liên quan khách lìàngklịclí vụ (client/server) thì đơn giản
hcfn: bên khách hàng gọi bên dịch vụ và bên dịch vụ thực hiện một
dịch vụ theo yêu cầu và trá kết quá cho bên khách hàng. Bên khách
hàng thì phải biết giao diện của bèn dịch vụ, song bẽn dịch vụ ihì
không cần biếl giao diện cùa bên khách hàng.
Từ hai hình thức giao tiếp đó mà ta có hai cách để vỡ hệ thống
thành các hệ con;


Tổ chức hệ thống thànli các tầng iheo chiều ngang, với m ối quan
hệ khách hàng/dịch vụ luôn luôn hướng từ tầng trèn xuống (các)
láng dưới. Mộl thí dụ của hệ thống phãii Ihành tầng là hệ thống tạo
cứa sổ trong giao diên người dùng cứa máv tính.



Tố chức hộ thống thành lát theo chiều đứng, với quan hệ ngang
hàng giửa các lát. tuy nhiên các lát là khá độc lập hoặc tương liên
yếu vói nhau. Một thí dụ của hệ thống phân lát là m ộl hệ điều hành,
ihường gổm các hệ con như là các hệ quản lý tệp, điều khiển thiết
bị, quản lý sự kiện và ngắt...
R õ r à n g l à t ổ c h ứ c p h â n t ầ n g l à đ á n g đ ư ợ c UTJ l i ê n h c í n , v ì n ó m a n g

lại nhiều ưu thế Irong ihiết kế, trong cài đặt cũng như trong sử dụng
lại. Song đối với các hệ thống lớn thì ta thường phải phối hợp cả hai
cách tổ chức phân tầng và phân lái, chẳng hạn phân hệ ihống thành
tầng, nhưng trong mồi tầng thi lại phân thành lát.



202__________________________________________ Chương VI. T tiế t k ế
Khi thực hiện phân tầng, thì s ố tầng là tuỳ thuộc sự phức lạp của hộ
ihống;


Trong một hệ đơn giản, thì số tầng có thổ chi là hai (2-tiers . Bâv
giờ tầng khách hàng thì quán lý-giao diện người dùng và các quá
trìnb k h a i I.hác. c ò n l á n g d i c h vụ tbì x ử lý víêc c ấ t í i ữ c á c d ữ liệu.



Trong mộr hệ phức tạp hơi‘i. thì người ĩa íácti tổng trên ihun^. tầng
giao diện - ứng dụng, và ở dưới né là tầng nghiệp vụ (hay lĨ!ih vực),
bổn vững hơii và có nhiều khả nâng sứ dụng lại hơn. Vậy đó là một
kiến tĩúc khách hàng/dịch vụ ba táníỉ (3- liers),



Cuối cùng ihì trong các bộ lớn. số tầng còn có thế nhiều hưn (ntiers). mà điển hình ỉà kiếii trúc nãni tầng, với các lầng kê' tư trẽn
:«uổ()g l;l:
-

'rrùig ti-ình bà>: Chuyến các dữ lìèu cho Iiỵư(íi. dỉjng vu blcri
đổi các hành động cùa người dùng thành các sự kiện vào của
hệ thống.

-


Tầng ứng dụng; bao gổm các đối tượng điểu khiển và dần dát
các quy luật của ứng dụng.

-

Tầng nghiép vụ; bao gổm các đối lượng nghiệp vụ (huv lĩnh
vực), cùng sự cài đặt các quy lắc quản lý chúng.

-

Tầng truy cập dữ liệu: phục hổi các đối tượng nghiệp vụ từ các
phương tiện lưu trữ.

-

Táng lưu trữ dữ liệu; bảo dảin sự lưu giữ làu dài các dừ liệu.

Một thí dụ về kiến trúc khdch hùng/dịch \ụ nărn tầng cho irong
Hình

Irong đó m ỗi gói (hệ con) đcu có mang khuôr dập Ihícb

hợp. như là « u s e í interíace fr a m e w o r k » (khuón khổ giao diện người
dùng), « u s e r in te r f a c e » (giao diện người dùng), « d o m a i n » (lĩnh
vực), « in fr a s t r u c t u r e » (cơ sở hạ tầng), « d a t a b a s e » (cơ sở dữ
liệu).

3. CHỌN LựA LOẠI HÌNH ĐlỂU KHlỂN
Đ â y là v ấ n đ ề đ ặ t ra từ g ó c n h ìn h ệ th ố n g v ề q u á trìn h t h J c h iệ n ,


nghĩa là xein xél các luồng diều khiển trong hệ tliống khi bệ tiiống
đang làm việc.
Có hai loại luồng điều khiển ớ trong một hệ thống phần inềTi, đó là
luồng điều khiển ngoài và luồng điều khiển trong. Đ iều khiển ngoài là


203

§2, Bưởc 8: T hiết k ế hệ thống

luồng các sự kiện xẩy ra giữa các đối lượng trong hệ thống mà ta có
thế Ihấy được từ bên ngoài. Còn điều khiến {rong là luồng điểu khiển ở
bẽn trong một phưcmg thức.

Apache Struts
« u s e s interface
fra m ew o rk »

G ia o h à n g
« u s e r in te rfa c e »

Đ ặ t h à n g ư ự c tu y ế n
< < oiser i n t e 'r f a c é »

•• 1
1

j
1


1
L.
■ 1
1
11 Vi

^

1
1
^

>ỉ/

K h á ch hàng

« d o m a in > >

1

'

Đem đ ặ t h à n g

«dOTnain>>
1



I


_____________ J

:

1
||

í

B ảo m ật
« ijìfra stru c tu re »



ú

!
;

T ru ờ n g cữu
« in fra stn a c tu re »

C S D L th àn h viên
«d atab ase»

Hình VỈ.Ỉ2. M ột kiến ỉrúc khách hànỵldịtlì vụ năm lầng
Đ iẻu khiển ngoài có thể thực hiện theo ba cách; tuần tự dựa vào thủ
tục (proceđure-driven sequential), tuần tự dựa vào sự kiện (eventdriven sequenlial) và đồng thời (concurrent). Cũng tương tự, điều
khiển trong c ó thể thực hiện theo ba cách: gọi ihủ tục, gọi tựa đồng

thời giữa các nhiệm vụ (inlerlask) và gọi đổng thời giữa các nhiệm vụ.
Sự lưa chọn loại hình cho cả điều khiciì ngoài lẫn diều khiển trong đều


204__________________________________________ Chương VI. Thiểt kế
phụ thuộc nhiều vào các tài nguyên (ngôn ngữ, hệ điều hành, v.v...) mà
la có, và khuôn dạng của sự tương tác trong ứng dụng.
Bời vì phẩn lớn các ngôn ngữ lập trình hướng dối lượng, như là
Smalltalk. C++ và Objective c . là các ngôn ngữ thú tục, cho nên tưần
tự dựa vào thủ tục là phương cách thônp dụng nhất dế điều khiển ỉuổng
n g o à i. T ro n g

l o ạ i h ìn ỉi n à y . th ì đ i ề u

k h iế n

nám

tìg a y

t r o n g ITHÌ ứ i i g

dụng. Chính mã ứng dụns đưa ra các vêu cáu vé các cái vào từ ngoài,
và chờ chúng đến. Khi chúng đến, thì diều khiển được thu \'ề bên trong
Ttiií nic (J3 đưa rit iời gọi Mặc d'j loại hình riíiv là dồ \'ộn dụng, song
người phát triến hệ thống phái chuyến đổi các sự kiện ngoài thànli các
lời gọi giữa các dối tượng. Đ iều này là khống thuận ìợi khi xứ lý các
sư kiên khòng đổng bọ. các điều Kiẹn về sai lỗi, các giao diẹn người
dùng liíih hoat và các hẽ thống đieu khiển quú irìiib.
Trong ioại hình tuan tự dựa vào sự kiện, [hì diéu khiển nằm trong

một bộ phạn riẽng gọi là dispatcher hay monitor. được cung cấp bởi
ngòn ngữ. hệ thỗng con, hay hệ điều hành. Các tliù tục ứng dụng gắn
kết với các sự kiện, và sè được gọi từ dispatcher mỗi khi các sự kiện
tương ứng xuất hiện. Phưcmg cách này là tưcmg lự với việc gọi qua
tổng dài trong bưu điện và ihưừng gọi là sự gọi lại (callback). Các mã
ứng dụng đưa ra các lời gọi thù tục tới dispalcher đế có cái vào/cáí ra,
song không chờ đợi chúng. Dispatcher quản lý các sự kiện một cách
tập trung, còn các thủ lục ứng dụng thì trả ngay điều khiển về
dispatchcr thay VI giữ lấy điều khiển cho tới khi cái vào đc'n. Loại hình
diều khiển bầng sự kiện là khổ cài đạt hơn trong các ngôn ngữ lập
trình thông dụng như Smalltalk. C++, hay O biective c . Tuy nhiên nó
là linh hoạt hơn, vì nó mô phỏng trực tiếp các quá tiình hợp lác với
nhau bẽn trong m ội nhiệm vụ đa luyến. Mật khác nó đẩy cao phong
cách lập Irình Iheo môđun và quản lý các điều kiện sai lỗi tốt hơn.
Trong loại hình đổng thời, thì điểu khiển nằm trong nhiều dối
tượng độc lập nhau, và m ỗi đối tượng dó là một nhiệm vụ (lask) riêng
biệt. M ột nhiệm vụ có thể nằm chờ cái vào, trong khi những nhiệm vụ
khác liếp tục thực hiện. Có m ộl cơ ch ế hàng đợi cho các sự kiện, và hệ
điều hành giải loả sự đụng độ giữa các nhiệm vụ. JAVA là một ngôn
ngữ hướng đối tượng hổ trợ trực tiếp sự thực hiện các nhiệm vụ đồng
»hời.


§2. Bước 8; Thiết k ế hệ thống

205

4. M IÊ U T Ả C Á C T H Ả N H P H Ầ N v ậ t l ý c ủ a h ệ T H Ố N G

a) T h à n h p h á n và biêu đồ th à n h p h ầ n

Nếu như biểu đổ gói (hệ con) mà la nói ờ phần irên phản ánh cho
góc nhìn về cấu trúc lôQÌc cùa hệ thống (ở mức cao so với biểu đồ lớp),
thì biểu đồ thành phần, với các đơn nguyên trong đó là các thành phần,
lại cho ta một cách nhìn về cấu irúc \’ậ! lÝ của hệ thống. Chữ "vật lý" ở
đây được hiểu theo nghĩa là sự miêu tả hướng tói các sản phẩm phần
m ềm. là kết quá của sự cài đặt và là thực sự tổn tại, chứ không phải là
các sản phám lôgic, kết quá cúa quá trình phân tích. Tuy nhiên ỏ đây
la cũng chưa đề cập lới phần cứng, mặc dù tính vật lý cùa nó cũng thật
là đương nhiên.
UM L định nghĩa íliùiìli phán "'(component) là một bộ phận vật lý
và ihay thế được của hệ ihống. thích ứng và cung cấp sự ihực hiện
cho một tập các giao diện.
Nói đcm giàn hơn . thì thành phần là một cài đật của một tập hợp
các phần tử lỏgic, như các lớp hav các hợp tác.
Có ba loại thành phần:


C á c ihàiìỉi plìàn h ố u i (dcployincnt components): Đ ó là các thành
phần cần và đủ để tạo nên m ội hệ ihống khả thi, như là các thư viện
dộng (DLL) \ ’à các mã khà ihi (executables). Định nghĩa thành
phun của UM L là đủ rộng đế bao hàm cả các m ô hình đối tượng
kinh điển, như ỉà COM+. CORBA. và Enterprise Java Beans, cũng
như các m ò hình đối lượng khác biệt nliư là các trang W eb động,
các báng cơ sờ dữ liệu, và các mà khũ (hi sừ dụng những cơ chế
truyền thông ricng.



Ccìc iliànìi phần sán pliíím làm việc (work product components):
Đ ó là các thành plìầii lồii lích từ quá liình phát triển hệ thống, bao

gổin các ihứ như la các lệp mă nguón, các tệp dữ liộu. lừ đó mà la
dã tạo lập ra các thành phán phân bố. Các thành phần này không
trực tiếp tham gia vào hệ thống thực thi, nhưng không có chúng thì
khống tạo được hệ Ihống thực Ihi.

Có địch giả dùng th u ậ t ngũ "cấu kiện", lấy từ môi trường xây dựng, để
dịch từ componeni. Có lẽ dó là một để xuất hay.


206__________________________________________ Chương VI. T h iẽ tk ế


C ác thành phần thực hiện (execution com ponenls); Đ ó là các
Ihàiih phần được tạo nên như là một kết quả của một hệ thực hiộn,
chẳng hạn một đối tượng COM +, được cá thể hoá từ một DLL.

Có thể phán loại tỷ mỷ hơn nhờ sứ dụng các khuôn dập. Có rãm
khuôn dập chuẩn cúa UM L. Đ ó là:
« e x e c u la b )e »

Một ĩhàr.h phần có thể thực l)iện trên một nút.

« lib r a r y »

Một rhir \ ’iện đối tượng tĩnh hav động.

« tiib le »

Mộl thành obán


biểu diền mỏf bâng CSDI...

« t'ile »

Mộl thành phán

biếu diẻn một tư liệu chứa

mã nguỏn hay dữ liệu.
« ũ o c u m e n t»

Mộl thàiih pliần biểu diễn một fu liệu.

Nụoải ra, ta cũng có thể dùng các khuòn dập khong chuán, nbư ià« a p p ỉic a lio n »

Mặt liền của liộ thống, chẳng hạn một sưu tập
các trang HTML và các ASP/JSP làm việc \ ’ới
chúng trong một hệ dựa trên trình duyệt sưu tập
các màn hình và các lớp điểu khiển trong mộE
hệ dựa irén GUI.

« d a ta b a se »

Một cơ sớ dữ liệu quan hộ, đối tượng/quan hệ,
hướng đối lượng, hay phân tán...

« in fr a s t r u c t u r e » Một thành phần kỹ thuật, như là một dịch vụ
lưu trữ, một kiểm soái đãng nhập.
«sou rce c o d e »


Một tệp mã nguồn, như tệp .cpp hay java.

« w e b s e r v ic c »

Một hay nhiều dịch vụ web.

«X M L D T D »

M ộ tX M L D T D .

Đ ể tổ chức các thành phần lại với nhau, ta có hai cách:


Gom các thànli phầii vào các gói, nghĩa là đưa chúng vào các hệ con;



Thiết lập các m ối liên quan phụ thuộc giữa chúng, và như thế ta có
một biểu đ ổ thành phán.
Các Hình V I.13 và V I.14 lần lượi cho các biểu đổ thành phần của

cùng một hệ thống Trường ĐH , nhưng theo hai quy định khác nhau
cùa U M L 2.0 và ƯML 1.X. So sánh chúng, ta nhận Ihấy;


§2. Bưởc 8: Thiết k ế hệ thống


207


Trong ƯML 2.0. Ilìành phần ctược biếu diẻn m ộl cách đơn giản
bằng niột hình chữ nhật, còn trong UM L l.x thành phần được biểu
diền bằng một hìnli chừ nhật với hai hình chữ nhật con trên biên
trái. Hình này lại được dùng làm khuôn dập hình tượng cho thành
phán trong UM L 2.0 và cũng có ilìế ihay bằng khuôn dập văn tự
« c o m p o n e n t» .



Trong cá hai mó hlnh, mối liên quan phụ thuộc đều có thể vẽ giữa
hai llìành phần hoặc giữa m ội thành phần và một giao diện, còn
giao diện ihì đều được biểu diễn dưới dạng trống bỏi. Tuy nhiên
Irong UM L 2 .0 lại có thêm loại giao diện yèu cầu dưới dạng cái
ngàm, giao diện này là tươiig đương m ối liên quan phụ thuộc với
khuôn dập « r e q u i r e s » .

Một biếu đồ thành phần, như trên Hình V I.13, thường được gọi là một
"biếu đổ nối dây", vì nó chỉ ru rằng các thcUih phần phần mém đã được "nối
d â v ” r a s a o đ ế t ạ o n ê n m ộ l ứ n g d ụ n g . C á c iTìối n ố i c h í n h l à n h ữ n g c o n

đưòng chuvến tái các loụi tlióng điệp nào đó giữa các thành phần.

H ình V U 3. M ộ t hicii d ồ ilìàiìlì phíhì trong U M L 2.0


×