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

Tu lieu KTHT - P4 - Phat trien mo hinh chuc nang

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 (369.47 KB, 12 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>



Vi t t li u ki n trúc ph n m m, Ph n 4:

Phát tri n



mơ hình ch c n ng


M c : Nh p môn


Tilak Mitra, Ki n trúc s c p cao Công ngh Thông tin c IBM công nh n, IBM
29 07 2008


Trong lo t bài này, hãy tìm hi u lý do và cách b n s vi t t li u ki n trúc ph n m m. Trong bài vi t này,
ta hãy tìm hi u cách phát tri n và vi t t li u các t o tác thi t k m c v mô c a các khía c nh ch c n ng
c a h th ng ki n trúc c a b n. Khung nhìn mơ hình ch c n ng nh m vào các k thu t mà b n có th s
d ng phân tách ph m vi bài toán thành m t t p các t o tác ki n trúc. Hãy tìm hi u cách xây d ng trên
chúng h n n a t o ra các c u trúc chi ti t nhi u h n n a. Ba m c ph bi n c a vi c ch t o — m c
logic, m c c t , và m c v t lý — c ng c th o lu n.


Gi i thi u



Trong Ph n 1 c a lo t bài này, b n ã tìm hi u v t m quan tr ng c a m t cách ti p c n có nguyên t c vi t t li u
ki n trúc ph n m m và v các c ch mà có th n m b t các t o tác ki n trúc s d ng trong m t quy trình phát tri n


i n hình. Ph n 2 t p trung vào ng c nh h th ng, nó là t o tác ki n trúc quan tr ng u tiên, và cách vi t t li u
thông tin ng c nh h th ng v i các s ! và lu!ng thông tin. Trong Ph n 3 b n ã tìm hi u cách phát tri n và vi t t
li u t ng quan ki n trúc cho h th ng ho c ng d ng c a b n.


Bài vi t này t p trung vào các thành ph n ki n trúc ch c n ng c a h th ng. Hãy tìm hi u cách các kh i c b n c a
ki n trúc c phân tách nh th nào thành các hình d ng m c thi t k mà cùng th c hi n các yêu c u ch c n ng c a


ng d ng ho c h th ng s c xây d ng.



M"i kh i c b n c a ki n trúc mô t , # m t m c cao, các tính n ng c a m t thành ph n trong ng c nh c a gi i pháp
toàn th . Các thành ph n giúp xác $nh k ho ch ki n trúc chi ti t và c c tr ng r ng rãi nh ch c n ng ho c tác
nghi p v b n ch t. Nh ng chúng c ng quá thô thi n ch a th chuy n ngay sang nhóm phát tri n chuy n i chúng
thành mã.


Bài vi t này c ng cung c p các l%i khuyên v cách chuy n i các thành ph n ch c n ng sang các t o tác thi t k m c
v mô. Tiêu i m là nh m vào vi c vi t t li u các t o tác thi t k v mơ, cịn g i là mơ hình ch c n ng. Hãy tìm hi u
v các m c khác nhau c a m t mơ hình thi t k ch c n ng, i t& chung n riêng nhi u h n, và cách vi t t li u các
m c k n ng khác nhau.


T ng quan mơ hình ch c n ng



Mơ hình ch c n ng, cịn g i là mơ hình thành ph n, t p trung vào xây d ng nên ki n trúc ch c n ng c a h th ng b ng
cách phân tách ph m vi bài toán thành m t t p các thành ph n không ch!ng chéo và c ng tác v i nhau. IBM


Rational® Unified Process® (RUP®) phát bi u r ng vi c mơ hình hố ph i c th c hi n ít nh t # hai m c khác
nhau: m c phân tích và m c thi t k . Khác bi t ch y u gi a hai m c là m c c tr ng mà chúng minh h a. Các
mơ hình thi t k xây d ng trên các mơ hình phân tích b ng cách b sung các chi ti t ch a thông tin thu n ti n
cho m c mơ hình hố th ba — t c mơ hình th c hi n. Các mơ hình phân tích và thi t k có th c g i là thi t k v
mơ, trong khi mơ hình hố th c hi n là thi t k vi mô.


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Vi t t li u mơ hình ch c n ng



Mơ hình ch c n ng c xây d ng thành ba b c l p, v i các thi t k #:
M c logic.


M c c t .
M c v t lý.


V i m"i b c k ti p nhau, b n chuy n t& các m c tr&u t ng cao h n sang các t o tác thi t k và th c hi n riêng h n.


Ph n còn l i c a bài vi t này bàn lu n v ba b c.


Thi t k m c logic



M t s tr %ng phái mu n m c logic c a thi t k # các quan ni m, v i các thông tin ch' theo thu t ng v khái ni m
nghi p v , khơng có trong cơng ngh thơng tin. M c khái ni m hố ó là có th ch p nh n c, nh ng hi n nay có
m t ngun lí g i là “ki n trúc nghi p v ”, mà t p trung vào vi c xác $nh ph m vi kinh doanh thông qua m t t p các
khái ni m và phác th o h ng kinh doanh. Ki n trúc kinh doanh ang tr# thành m t k thu t ph bi n xác $nh các
khía c nh kinh doanh c a m t ki n trúc doanh nghi p. Bài vi t này s không nh m t i các c u trúc khái ni m trong
thi t k m c logic c a ki n trúc ch c n ng.


Tr c khi tìm hi u v các hình d ng logic c a mơ hình ch c n ng, tr c tiên b n ph i hi u c kh n ng t o v t c a
các t o tác trong ph m vi kinh doanh. Kh n ng dị theo c các hình d ng ki n trúc công ngh thông tin cho ph m
vi kinh doanh là r t quan tr ng. B n có th sau ó m b o r ng các t li u ki n trúc là g n k t, th(ng hàng so v i các
tác ng i u h ng kinh doanh (business drivers), các ích, và các bài tốn mà ki n trúc ó s gi i. Các nhà phân tích
kinh doanh s phân tích ph m vi kinh doanh và n m b t các yêu c u kinh doanh # m t $nh d ng c l p v i công
ngh (technology-neutral). H c g ng n m b t “nh ng gì” s c xây d ng, và “cách làm th nào” cho các ki n
trúc s công ngh thông tin, các nhà thi t k , và nhóm th c hi n.


Th %ng thì, các nhà phân tích kinh doanh $nh tên t p các ph m vi kinh doanh mà mơ hình nghi p v c a kinh doanh
doanh nghi p c ph ho c ng ch m bài toán c n gi i. M"i ph m vi kinh doanh, ch(ng h n nh k tốn, hồn thi n


n hàng, v.v…, c phân tách sâu h n thành t p các vùng ch c n ng. Ph m vi c a s phân tích vùng ch c n ng yêu
c u nhà phân tích kinh doanh $nh danh t p các ch c n ng kinh doanh trong m t ph m vi kinh doanh, mà nó g n k t
v m t logic làm thành m t n v$ ch c n ng n. Nhà phân tích kinh doanh phân lo i theo vùng ch c n ng các
yêu c u trong ph m vi c a sáng ki n ó và cái mà sau ó c chuy n n nhóm cơng ngh thông tin.


<b>Thi t k h th ng con</b>


<i>M t h th ng con là hình d ng công ngh thông tin h ng nh t, là m t bi u di)n tr c ti p c a các vùng ch c n ng. M t </i>


vùng ch c n ng trong ph m vi kinh doanh có th c th hi n và th c hi n b#i m t ho c nhi u h th ng công ngh
thông tin con. M t h th ng con là m t nhóm các thành ph n g n k t mà có xu h ng thay i cho nhau, nên các thay


i (d i d ng c i ti n ho c s a ch a) có th c ki m sốt sao cho hi u qu c a chúng c c c b hoá trong biên
h th ng con. *úng nh các vùng ch c n ng c ánh x n và phân tách thành các h th ng công ngh thông tin
con, các ch c n ng kinh doanh c th c hi n b#i m t ho c nhi u các ch c n ng công ngh thông tin. Các ch c n ng
công ngh thông tin này v m t logic c nhóm v i nhau, bao gói, và th c hi n nh m t n v$ n l+. * n v$ ó là
h th ng công ngh thông tin con. B n có th th c hi n các ch c n ng công ngh thông tin b ng cách s d ng m t
nhóm các thành ph n ph n m m, nh v y m t h th ng con là m t nhóm các thành ph n ph n m m.


Các ch c n ng công ngh thông tin c l ra b#i m t t p các giao di n # m c h th ng con. M t ho c nhi u thành
ph n ph n m m bên trong h th ng con cài t m t giao di n. Các h th ng con nhóm l i cùng v i các thành ph n mà
có xu h ng thay i, nh v y các thay i (d i d ng c i ti n ho c s a ch a) c ki m soát và hi u qu c a chúng


c c c b hoá trong biên h th ng con. Các h th ng con nuôi d ,ng s phát tri n song song, v i các h th ng con
và giao di n c a chúng c thi t k tr c. Các i cài t phát tri n các chi ti t bên trong c a h th ng con, khi v-n
tuân th các ràng bu c v i giao di n bên ngoài.


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

c vi t t li u. * i v i m"i h th ng con, giao di n c p cao nào c a nó c ng u c n c $nh tên và vi t t li u.
Tôi khuyên b n nên vi t t li u các t o tác sau ây i v i m"i h th ng con:


<b>Mã nh n d ng h th ng con (Subsystem ID) </b>


Cung c p m t mã nh n d ng duy nh t i v i m"i h th ng con d) tham chi u n chúng trong thi t k .


<b>Tên h th ng con </b>


Cung c p m t tên cho m"i h th ng con, ch(ng h n nh qu n tr$ tài kho n, qu n tr$ giao d$ch, v.v….


<b>Các ch c n ng </b>



M t danh sách các ch c n ng công ngh thông tin mà h th ng con l ra qua cài t bên trong c a nó. Tơi
khun r ng nên xác $nh t p này b ng cách phân tích các ca s d ng h th ng, nhóm chúng theo logic, và gán
chúng cho h th ng con ã có tên.


<b>Các giao di n </b>


M t danh sách các giao di n mà h th ng con h" tr ho c l . Ví d , trong m t h th ng con qu n tr$ tài
kho n, m t giao di n có th g i là “rút ti n.” . m c này, m t mô t d ng v n b n v giao di n và các tác nghi p
c a nó s là .


Khuôn m-u c a b n s trông gi ng nh th này:


B n ph i t o ra th hi n UML c a các h th ng con và các m i ph thu c (interdependencies) c a chúng nh là m t
ph n t li u cho các t o tác thi t k # m c logic. Hình 1 trình bày m t ví d .


<b>Figure 1. Các h th ng con và các ph thu c c a chúng </b>



<b>Thi t k thành ph n (m c logic)</b>


Sau khi b n ã $nh tên các h th ng con và các nhi m v ã t li u hóa c a chúng, b c ti p theo là xác $nh m t t p
các thành ph n ph n m m m c cao mà cùng th c hi n các giao di n c h th ng con l ra. M t h th ng công
ngh thông tin con là m t bi u hi n cao c p nh t c a vùng ch c n ng i v i ph m vi công ngh thông tin. Nh v y,
các ch c n ng công ngh thông tin trong m t h th ng con có th c phân o n d a trên th c th kinh doanh c t lõi
mà chúng nh m n. Ví d , i v i h th ng con qu n tr$ tài kho n có th có m t thành ph n ph n m m mà cung c p


<b>B nh danh t o tác</b> <b>Ví d</b>


Mã nh n d ng h th ng con SUBSYS-01



Tên h th ng con My Subsystem


Ch c n ng F1,F2


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

các tài kho n ti t ki m, trong khi m t cái khác t p trung vào th c hi n các tính n ng c a tài kho n séc.


Sau khi các thành ph n c $nh danh # m t m c logic, b n c n $nh danh c các ca s d ng có ý ngh a ki n trúc.
Phân tích các ca s d ng, sau ó ch n các nhóm ph mà có ngh a t& quan i m ki n trúc. * i v i m"i ca s d ng có ý
ngh a ki n trúc, b n có th s d ng các s ! thành ph n-t ng tác chi ti t hố v cách ca s d ng có th c $nh
danh nh th nào qua các ch c n ng mà c l ra b#i các thành ph n mà b n ã $nh tên.


M t s ! c ng tác cho th y cách các thành ph n t ng tác b ng cách t o ra các liên k t gi a các thành ph n, và b ng
cách ính kèm các thông i p vào các liên k t này. Tên c a thông i p bi u th$ ý $nh g i thành ph n khi nó t ng tác
v i thành ph n liên quan. . m c logic này, b n có th ngh r ng các thơng i p là các phép toán gi trên các thành
ph n. Các phép toán gi này bi u hi n chính chúng nh là các trách nhi m c a thành ph n ó. Hình 2 gi i thi u m t s


! c ng tác m-u.


<b>Hình 2. T ng tác thành ph n cao c p </b>




Tôi khuyên b n nên vi t t li u các thông tin sau ây i v i m"i thành ph n và h th ng con:


<b>Mã nh n d ng h th ng con </b>


Bi u th$ $nh danh duy nh t c a h th ng con mà thành ph n c nh m n thu c v nó.


<b>Mã nh n d ng thành ph n </b>



Cung c p m t $nh danh duy nh t (ID) cho thành ph n.


<b>Tên thành ph n </b>


Cung c p tên cho thành ph n. Tên ph i theo d) hi u, d a trên các th c th kinh doanh mà thành ph n t p trung
vào.


<b>Các trách nhi m c a thành ph n </b>


M t mô t d ng v n t v m t t p các trách nhi m c gán cho thành ph n và mong c th c hi n.


Khuôn m-u c a b n s trông gi ng nh th này:


<b>B nh danh t o tác</b> <b>Ví d</b>


Mã nh n d ng h th ng con SUBSYS-01


Mã nh n d ng thành ph n COMP-01


Tên thành ph n My Component


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Thi t k m c c t



Thi t k m c c t là tên g i khác c a thi t k chi ti t. B n xây d ng trên các hình d ng m c logic, và b sung các
chi ti t cho t&ng thành ph n n khi nào:


Các giao di n cho m"i thành ph n là xác $nh t t.


Các ph n t d li u do các h th ng con s# h u c $nh danh và c chi ti t hóa.


Các trách nhi m c a các thành ph n c b sung chi ti t h n.


Tôi khuyên b n nên ti n hành b n b c chính trong th c hành thi t k c t . *o n còn l i c a ph n này bàn lu n v
t&ng b c.


<b>1. B ng ma tr n trách nhi m c a thành ph n </b>


. b c này, b n xây d ng lên b ng ma tr n ban u, c phát tri n trong lúc thi t k # m c logic. Các b
sung ch y u vào b ng matrix hi n t i là m t t p nhi u chi ti t h n và g n l c h n c a các trách nhi m c a
thành ph n.


Các trách nhi m hi n th%i ã c $nh danh d a trên các c t ch c n ng (thu c b ng cách phân tích các
ca s d ng). Các yêu c u phi ch c n ng NFR (nonfunctional requirements) ã c l y ra kh/i ng d ng. Các
NFR th %ng c vi t t li u trong m t t o tác t li u riêng r . B n nên ti n hành phân tích c0n th n m"i NFR,
xác $nh ra m t thành ph n, và gán vi c thi hành trách nhi m ó cho thành ph n c xác $nh.


Các lu t nghi p v hi n ã tr# thành m t thành ph n ch o c a b t k1 ng d ng nào. Các lu t nghi p v là
m t bi u hi n c a các quy t $nh kinh doanh trong l nh v c l p trình cơng ngh thơng tin. Các lu t và chính
sách kinh doanh thay i th %ng xuyên n n"i các doanh nghi p ph i c m nh n c và ph n h!i các thay i
trên th$ tr %ng và nhanh chóng thích ng v i các h th ng công ngh thông tin c a chúng duy trì m t l i th
c nh tranh và n i b t.


Các lu t nghi p v không th nhúng vào logic l p trình lõi. Vi c nhúng vào các lu t nghi p v s làm cho các
h th ng h p l khó thay i. Các lu t nghi p v c n c a ra ngồi chúng có th c thay i vào th%i
gian ch y. Tuy nhiên, các nguyên t c nh v y c n c $nh danh và ch' $nh nh m t trách nhi m c a m t
thành ph n. Các thành ph n nh v y có th t n d ng các tính n ng c a m t ph ng ti n các lu t nghi p v


$nh danh các ph n trách nhi m, c xác $nh t& danh m c các lu t nghi p v . Trong m t vài tr %ng h p, m t
thành ph n t ng th có th c dùng làm giao di n v i các API, th hi n qua h th ng lu t (rule engine).
Lúc này, b ng ma tr n trách nhi m c a thành ph n c t ng lên v i các chi ti t c vi t t li u tr c ó. M t


trích xu t tin (snippet) c a khn m-u có th trơng gi ng nh th này:


<b>2. c t giao di n i v i các thành ph n </b>


Trong lúc thi t k # m c logic, b n ã $nh tên các giao di n và liên k t chúng v i các h th ng con. Bây gi%
b n ã có mô t chi ti t các trách nhi m mà m"i thành ph n mong c th c hi n, b n có th t p trung vào xác


$nh và thi t k giao di n.


<i>M t giao di n là c ch mà qua ó m t thành ph n l các ch c n ng c a nó ra th gi i bên ngồi. V m t k </i>
thu t, giao di n là t p các phép toán ho c ph ng th c. * c t giao di n òi h/i thách th c t i vi c $nh tên các


<b>B nh danh t o tác</b> <b>Ví d</b>


Mã nh n d ng h th ng con SUBSYS-01


Mã nh n d ng thành ph n COMP-01


Tên thành ph n My Component


Trách nhi m c a thành ph n F1, F2, F3


NFR 001 - Mô t và liên k t n tài li u NFR
NFR 005


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

phép toán và nhóm chúng trong biên giao di n.


* b t u, b n ph i phân tích t&ng ca s d ng mà m t thành ph n s# h u, gi trong u các nhân t ch y u v
ph c t p và s g n k t. Các ca s d ng h th ng mà r t nh/ v b n ch t, ch(ng h n vi c l y m t h! s khách
hàng, s c x p là m t phép toán (trên m t giao di n).



M c dù v y, các ca s d ng th %ng c vi t t li u # các m c khác nhau và ôi khi # các m c không nh t
quán v m c chi ti t. M t vài ca s d ng c vi t ra sao cho lu!ng chính là t o ra m t th c th riêng, n i
mà các lu!ng ch n l a thay th c a nó là c p nh t ho c xoá th c th ó. Các ca s d ng nh v y c n c
x lý b ng m t trong hai cách:


Thay i l i (refactor) ca s d ng, và tách nó các ho t ng chính trên th c th n m trong các ca s
d ng riêng c a chúng.


X lý ca s d ng # m c m t giao di n, n i mà giao di n là t ng t p các phép toán g n k t v m t logic.


Sau khi b n ã $nh danh các phép toán qua vi c phân tích ca s d ng, giao di n ph i c xác $nh chính th c.
Cách ti p c n mà tôi khuyên b n, nh ã nói trên ây, là nhóm các phép tốn mà ang có s c k t v m t
logic, tác ng n cùng m t t p các th c th kinh doanh, và b$ lo i tr& l-n nhau t& ph n còn l i c a t p phép
tốn ó. M t vi c nhóm logic c a các phép tốn nh v y c $nh ngh a nh là m t giao di n, nó là m t c u
trúc h ng cao c p nh t trong L p trình H ng * i t ng. Bài t p này xác $nh m t t p các giao di n nh v y
mà sau ó c l b#i m t thành ph n cho tr c.


B c u tiên c a thi t k giao di n là vi t t li u và mơ hình hố các giao di n và các phép toán c a chúng v i
danh sách các tham s và ký hi u riêng thích h p. Ví d :


Ph n th hai c a nhi m v này là xác $nh cách giao di n ph thu c vào các giao di n khác. Có hai ki u ph
thu c c a giao di n: khi chúng miêu t các ph thu c v giao di n mà n m trong m t ranh gi i h th ng con, và
khi chúng miêu t các ph thu c v giao di n mà c l ra b#i các h th ng con khác. S ph thu c th %ng


# d ng t li u nh m t s ! l p UML, n i m"i l p c r p khuôn nh là m t giao di n, và các %ng liên
h p (association lines) c s d ng miêu t rõ ràng các ph thu c.


T li u y t o ra m t b c ti n xa h n và cung c p m t mô t b ng v n b n mà có t cách và chi ti t
hoá v tính chính xác c a s ph thu c. Ví d , Interface1::Operation11 có m t s ph thu c h u i u ki n


(post-condition dependency) v Interface2::Operation21. *ây là c cách ti p c n nên ti n hành, nh ng các
th c t v th%i gian và chi phí có th ơi khi h n ch s t do c a chúng ta khi làm nh v y.


Hình 3 trình bày m t s ! i n hình c a s ph thu c giao di n. Các ranh gi i h th ng con cho giao di n c ng
c th hi n.


<b>Hình 3. S ph thu c giao di n bên trong và gi a các h th ng con </b>


<b>B nh danh t o tác</b> <b>Ví d</b>


Mã nh n d ng thành ph n (nó thu c v ) COMP-01


Tên và mã nh n d ng giao di n My Interface, INT-001


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>



<b>3. Xác nh và liên k t d li u n các h th ng con </b>


* n bây gi%, tr ng tâm là các trách nhi m c a thành ph n. M t trong nh ng nguyên lý quan tr ng c a thành
ph n thi t k là $nh danh các th c th d li u c s# h u b#i m t h th ng con và cách chúng c s d ng
b#i các thành ph n trong h th ng con th c hi n các trách nhi m c a chúng.


Mơ hình d li u logic c s d ng nh m t u vào cho nhi m v này. Mơ hình d li u logic $nh tên các
th c th kinh doanh c t lõi, trong ph m vi c a h th ng s c xây d ng. M t h th ng con có m t t p các
trách nhi m c n hoàn thành, c cài t nh% các thành ph n c gói trong h th ng con. Các thành ph n hi n
các trách nhi m thông qua các giao di n, và c th h n là qua các phép toán giao di n.


M"i phép toán giao di n òi h/i d li u c tính th c hi n các ch c n ng. Các tham s v các phép tốn
giao di n là có tính g i m# c a m t nhóm c a các th c th d li u mà c s d ng trong các k t h p óng. S
d ng nguyên t c ch' o n gi n này giúp $nh danh các th c th d li u và liên k t chúng v i các h th ng


con:


1. Phân tích danh sách tham s v các giao di n.


2. Ánh x các tham s n các th c th kinh doanh g n nh t ho c ki u d li u trong mơ hình d li u logic.
3. L p l i b c 1 và 2 i v i m"i giao di n trên m t thành ph n.


4. Gi m t danh sách ch y c a các ki u d li u mà c xác $nh.
5. L p l i b c 1 - 4 i v i các thành ph n trong m t h th ng con.
6. H p nh t danh sách các ki u d li u ã xác $nh trong b c 1 - 5.


Hãy v m t ranh gi i quanh ki u d li u ã có tên t& mơ hình d li u logic, và liên k t các ki u d li u v i h
th ng con. Sau khi b n làm vi c này i v i t t c các h th ng con, b n có th g p m t tình hu ng ph bi n mà
m t vài ki u d li u c $nh tên ôi khi thu c v h n m t h th ng con. * i v i các ki u d li u nh v y,
vi c h p lý hoá ki n trúc ịi h/i ph i:


Phân tích và ánh giá h th ng con nào th c hi n các phép toán ban u v ki u d li u.
Xác $nh h th ng con mà s ch y u ch$u trách nhi m s# h u ki u d li u.


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

th c s áng giá hàng nghìn l n t& khi vi t t li u các t o tác ki n trúc ph n m m. Trong tr %ng h p này, t t
h n là s d ng các t o tác mơ hình UML miêu t h th ng con và s s# h u thành ph n c a các th c th d
li u. Th %ng khơng ịi h/i ph i cung c p các mô t v n b n i v i m"i ki u d li u. B n s tham chi u t li u
mơ hình d li u logic có các mơ t chi ti t.


<b>4. S T ng tác-thành ph n </b>


Trong khi thi t k # m c logic, b n ã phát tri n và vi t t li u m t s ! t ng tác-thành ph n m c cao c p. .
m c ó, các thành ph n ã c g i ch' qua các phép tốn gi . T& ó cho n nay, nhi u c t chi ti t ã


c phát tri n, b ng ma tr n trách nhi m c a thành ph n ã c xây d ng, các giao di n ã c quy $nh, và


các ki u d li u ã c xác $nh và s s# h u c gán cho các h th ng con.


Các ca s d ng c ch n mà khai thác t&ng phép toán trên các giao di n mà các thành ph n l ra. Các ca s
d ng có ý ngh a ki n trúc có th c n c b sung các ca s d ng khác cung c p bao ph i v i t t c
các phép toán trên m"i giao di n. * i v i m"i ca s d ng, s d ng các s ! chu"i UML v ra s ! thành
ph n-t ng tác. M"i s ! thành ph n-t ng tác b t u t& m t bên yêu c u ngu!n (originating requester) (tác
nhân), g i các phép toán riêng trên m t lo t các thành ph n mà cùng th c hi n ca s d ng, và tr l i k t qu cho
bên yêu c u ngu!n. Hình 4 trình bày m t ví d .


* i v i m"i s ! chu"i UML, m t mô t d ng v n b n v vi c g i t&ng b c các phép toán trên các thành
ph n c ng c vi t t li u.


. giai o n này, m"i h th ng con u c xác $nh chính xác, v i m"i thành ph n có m t t p các trách nhi m
mà n l t mình c l ra qua m t ho c nhi u giao di n. M"i giao di n c xác $nh b ng m t t p các phép
toán, và m"i phép toán c xác $nh thông qua m t danh sách các tham s vào và ra. M"i tham s c ánh x


n m t ki u d li u mà c h th ng con s# h u.


Các h th ng con c ng òi h/i vi c tinh l c (refinement) và thay i l i (refactoring). N u m t h th ng con ã
phát tri n m nh n quá nhi u trách nhi m, có th nó s quá ph c t p th c hi n. N u xem nó là quá m/ng
manh v các c tính, b n có th c n h p nh t l i và tr n nó vào h th ng con liên quan khác. Và, không ph i
t t c các h th ng con u c t o ra theo n hàng riêng. M t s th hi n các tài s n ho c s n ph0m hi n
hành (ch(ng h n h th ng lu t nghi p v ), và vi c s d ng các h th ng con nh v y là m t c h i 0y m nh tái
s d ng.


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>


Vi c này hoàn t t các b c c khuyên ti n hành vi t t li u các t o tác thi t k # m c c t .


Thi t k m c v t lý




Thi t k # m c v t lý v b n ch t xoay quanh vi c phân ph i ng d ng và các h th ng con trên các nút s b , nh
v y chúng có th c cài t và ch y trên các nút ph n c ng v t lí, mà cùng th hi n topo h t ng c a h th ng. Thi t
k # m c v t lý c ng c s d ng tác ng n h t ng k thu t và các thành ph n ph n m và các h th ng con
khác.


Các h th ng con c n c tri n khai trên m t t p các các nút ph n c ng. C u hình ph n c ng c a h th ng có các c
tính và c t khác nhau i v i m"i nút.


M t s có th c i u ch'nh i v i t ng tác khách hàng thông qua giao di n ng %i s d ng tân ti n.
S khác có th c i u ch'nh i v i các h th ng giao d$ch kh i l ng cao.


M t s òi h/i an ninh # m c ph n c ng.


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

con c a chúng. Khi các h th ng con m i c $nh danh theo cách này, m t giao di n ch a rõ ràng v công ngh
(technology agnostic interface) c $nh ngh a, thông qua cái mà các h th ng con khác trong ph m vi ng d ng
nh n t ng tác. Vi c này cung c p m t m t ti n (facade) trên các cài t c thù công ngh (technology-specific
implementations) và a ra kh n ng tái s d ng c t ng c %ng trong thi t k c a h th ng. B n nên c g ng thu


c kh n ng tái s d ng t i m"i l p c a ki n trúc (xem Ph n 3 c a lo t bài này).


M t khi b n ã phân tích và hi u c các c tính c a nút, và ã xác $nh c các h th ng con m i (n u yêu c u),
ho t ng chính là k t h p các h th ng con (d a trên các c tính ch c n ng và k thu t và các yêu c u NFR) v i nút
ph n c ng mà là ng c viên t t nh t $nh danh các tính n ng c a h th ng con. Sau phân tích này, m"i h th ng
con có th c t lên m t nút trong c u trúc liên k t ho t ng c a h th ng. M t nút có th th %ng là m t thùng
ch a c a nhi u h th ng con, m c dù có th có các nút c chun mơn hoá mà c tinh ch'nh i v i ch' m t ki u
h th ng con c bi t.


Có m t vài ch!ng chéo c a các t o tác thi t k v t lý v i khung nhìn
mơ hình ho t ng c a ki n trúc ph n m m.



Có các tr %ng phái khác nhau c g ng $nh ngh a và vi t t li u ki n
trúc ph n m m theo các cách khác nhau. Có m t thuy t cho r ng thi t
k m c v t lý là thiên v vi thi t k (micro design) c a các thành ph n.
Vi thi t k là ph m vi trong ó m t thành ph n c xem là m c cao
nh t c a s tr&u t ng. M"i thành ph n c phân tích thành m t t p


các l p tham gia mà cùng th c hi n các phép toán, mà thành ph n l ra thông qua các giao di n c a nó. Nhà thi t k áp
d ng các m-u thi t k n i ti ng và ã c th thách gi i quy t m t mơ hình riêng c a m t bài tốn/v n . Các
m-u có th k t h p v i nhau phát tri n các m-u thi t k ph c h p mà cùng gi i m t ph m vi bài toán ã cho trong
thành ph n. Các s ! chu"i chi ti t c s d ng chi ti t hoá b n ch t ng c a cách mà m"i phép tốn (trên giao
di n ó) c th c hi n, qua các l p tham gia trong mơ hình l p. Thi t k chi ti t nh v y c th c hi n i v i m"i
thành ph n trong ph m vi ng d ng.


Tôi coi các ho t ng thi t k chi ti t này là n m d i quy t c thi t k r ng h n, và khơng nh t thi t ph i có tính ki n
trúc v b n ch t. Lo t bài này không ch ý vi c c g ng minh h a t li u c a các t o tác # m c thi t k .


K t lu n



Mơ hình ch c n ng là m t trong nh ng l nh v c quan tr ng nh t c a ki n trúc ph n m m. M t vài ki n trúc s t p
trung vào l nh v c này và coi nó là ki n trúc ph n m m c a h . Khung nhìn mơ hình ch c n ng nh m n các k thu t
ki n trúc dùng :


Phân tách ph m vi bài toán thành m t t p các t o tác ki n trúc.


Xây d ng lên d n các t o tác b ng cách gia t ng vi c chuy n hình d ng ki n trúc t& tóm t t sang chi ti t.


Bài vi t này bàn lu n v khung nhìn mơ hình ch c n ng c a ki n trúc ph n m m. B n ã tìm hi u v ba m c chi
ti t hoá th %ng s d ng nh t: thi t k # m c logic, m c c t , và m c v t lý. B n ã tìm hi u nh ng gì ph i vi t t
li u và cách vi t t li u các t o tác # m"i m c tr&u t ng.



Tôi khuyên b n nên c m t vài bài vi t u tiên trong lo t bài tìm hi u v b n ch t c a ki n trúc ph n m m,
nguyên nhân và cách vi t t li u, và kích th c c a ki n trúc mà các khung nhìn khác nh m t i. Hãy i các bài vi t
s p t i s t p trung vào các kích th c mà ch a c c p n.


Tài nguyên



<b>H c t p </b>


Xem các ph n khác c a lo t bài này:


Ph n 1, "Ki n trúc ph n m m là gì, và t i sao vi c vi t t li u nó l i là quan tr ng".
Ph n 2, "Phát tri n ng c nh h th ng".


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

BM, bi u t ng c a IBM, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, và WebSphere là các nhãn hi u hàng
hoá ho c nhãn hi u hàng hoá ã ng ký c a T p oàn International Business Machines Corporation t i Hoa K1, các qu c
gia khác, ho c c hai. Các nhãn hi u này và các thu t ng khác ã c ánh d u th ng hi u IBM vào l n xu t hi n u
tiên c a chúng trong thông tin này v i bi u t ng (® ho c ™) thích h p, bi u th$ ó là nhãn hi u hàng hố ã ng ký
ho c theo lu t $nh mà IBM s# h u t i th%i i m thông tin này c công b . Các nhãn hi u hàng hoá nh v y c ng có
th là nhãn hi u hàng hố ã ng ký ho c theo lu t $nh t i các qu c gia khác. M t danh m c hi n hành c a các nhãn


Ph n 3, "Phát tri n t ng quan ki n trúc"


Nh n m t %ng cung c p RSS cho lo t bài này.


<i>Tìm hi u thêm v SOA trong Th c hi n SOA: M t H ng d n Th c hành v Ki n trúc H ng D ch v , m t </i>
cu n sách v lo t bài developerWorks c xu t b n g n ây mà Tilak là !ng tác gi . S d ng mã phi u
IBM3748 nh n chi t kh u 35%.


* c n i dung tóm t t c a các $nh ngh a ki n trúc ph n m m ã xu t b n.



<i>Quy trình Phát tri n Ph n m m Th ng nh t c a Jacobson, và c ng s a ra m t cách x lý tr i h n h(n v </i>
cách Quy trình H p nh t Rational (RUP) c s d ng vi t t li u các t o tác ph n m m.


<i>M t Ngôn ng M u Phát tri n D a trên Thành ph n , Arsanjani A., H i ngh$ Châu Âu v Các Ngôn ng M-u </i>
c a L p trình, 2001.


Trong Khu v c ki n trúc trên developerWorks, nh n các tài nguyên b n c n nâng cao các k n ng c a b n
trong v ài ki n trúc.


Duy t nhà sách công ngh có các sách v ch này và các k thu t khác.


<b>L y s n ph m và công ngh </b>


T i v các b n ph n m m ánh giá s n ph0m IBM và b t tay vào các công c phát tri n ng d ng và các s n
ph0m ph n s n t& DB2®, Lotus®, Rational®, Tivoli® và WebSphere®.


<b>Th o lu n </b>


Xem các blog developerWorks và tham gia vào c ng !ng developerWorks.


ôi nét v tác gi





</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12></div>

<!--links-->

×