Tải bản đầy đủ (.doc) (122 trang)

Framework và ứng dụng trong việc xây dựng phần mềm luận văn ths công nghệ thông tin 1 01 10

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 (6.53 MB, 122 trang )

U
Ngày nay, m t trong nh ng v n quan tr ng c a ngành công ngh ph n m m là v n s
d ng l i. Ngay t th i k u tiên, ng i ta ã c g ng s d ng l i ph n m m b ng cách xây d ng tr c
các th vi n l p. Trong các th vi n l p này có ch a các hàm và th t c th ng hay c s d ng
trong các ng d ng ph n m m. Tuy nhiên, cách s d ng l i này t ng i th ng, vì ch có th s d
ng l i các o n mã có s n, mà không th s d ng các thi t k . Ý t ng s d ng l i các thi t k có
s n ã c th hi n qua vi c s d ng các m u thi t k . M t m u thi t k là m t mô t có tên v m t c
p v n và gi i pháp, nó có th c áp d ng trong nh ng hoàn c nh khác nhau. Tuy nhiên, các
m u thi t k th ng khó s d ng vì có m c tr u t ng hóa cao. Do v y, có th s d ng l i các thi t
k có s n hi u qu h n, ng i ta ã a ra khái ni m framework. Gi ng v i các m u thi t k , các
framework c ng c s d ng l i d dàng b ng cách thu nh n l i các k ch b n phát tri n ph n m
m thành công. Tuy nhiên, khác v i m u thi t k , framework th ng g n v i m t mi n ng d
ng c th và bao g m c thi t k và mã th c hi n.

tài c a khóa lu n này là “Framework và ng d ng trong vi c xây d ng ph n m
m”. N i dung c a tài g m các ph n sau.
T ng quan v framework. Ph n này nêu ra khái ni m, các c m và phân lo i
framework.
Ph ng pháp phát tri n framework. Ph n này a ra m t ph ng pháp xây d ng
framework. Ph ng pháp này g m nhi u giai n là: thu th p yêu c u và phân tích, thi t k ,
tri n khai, xác minh và th m nh tính h p l .
Các v n trong vi c phát tri n framework. Ph n này nêu lên các v n g p ph i trong
khi phát tri n framework nh v n v ph m vi c a mi n ng d ng, v n
v l p tài li u cho framework, …
Mô t bài toán L p l ch và theo dõi ti n th c hi n d án. Ph n này là các phân tích, c
t yêu c u c a ng d ng Qu n lý d án.
Phân tích và thi t k h th ng. Ph n này là các k t qu c a vi c phân tích và thi t k h
th ng L p l ch và theo dõi ti n th c hi n d án.
Xây d ng framework Qu n lý l ch làm vi c. Ph n này a ra framework c a mi n ng
d ng Qu n lý l ch làm vi c, d a trên các k t qu c a vi c phân tích và thi t k bài toán L p l
ch và theo dõi ti n th c hi n d án.




2

Chng 1
GI I THI U CHUNG V
1.1. T ng quan v

FRAMEWORK

framework

Trong m t vài th p niên g n ây, vi c s d ng l i ph n m m ã và v n là m t v n quan tr
ng cho các t ch c phát tri n ph n m m. u tiên, ph n m m c s d ng l i d i hình th c là các
th vi n hàm API hay các th vi n l p. Ti p theo, các nhà phát tri n nh n th y không ch c n
s d ng l i các n mã mà còn c n ph i s d ng l i c các thi t k c a ph n m m. Do v y, ã xu t
hi n khái ni m v design pattern – m u thi t k và framework – khung làm vi c. Các m u
thi t k là m t mô t có tên v m t c p v n và gi i pháp. Các mô t chi ti t v m u thi t k s c
trình b y trong m t ch khác, còn n i dung c a ph n này s ch trình b y v framework và
ph m vi ng d ng c a nó.

1.1.1. Khái ni m v framework
1.1.1.1.

nh ngh a v framework

Thu t ng framework h ng i t ng có th c nh ngh a theo nhi u cách. M t framework
c nh ngh a nh là m t ph n c a thi t k và th c hi n, cho m t ng d ng trong m t l nh v c. u
này có c m giác m t framework không là m t h th ng hoàn ch nh. H th ng này có th c u
ch nh l i t o ra các ng d ng hoàn ch nh. Các framework nói chung c s d ng và c phát tri

n khi c n phát tri n m t vài ng d ng t ng t . M t framework th c hi n các ph n chung gi a
các ng d ng này. Do v y, m t framework gi m công s c c n thi t xây d ng các ng d ng.

Ph n l n các nh ngh a u nh t trí r ng, m t framework h ng i t ng là m t ki n trúc ph
n m m có th s d ng l i, bao g m c thi t k và mã th c hi n. Tuy nhiên, l i không có nh ngh
a nào c th ng nh t chung v framework và các thành ph n h p thành c a nó.
Sau ây là m t s các nh ngh a khác nhau ho c t ng t nhau v framework c nêu trong
[10]:
“M t framework ràng bu c các l a ch n chính xác v s phân chia tr ng thái và lu ng
u khi n, ng i dùng hoàn thi n ho c m r ng framework t o ra m t ng d ng th c t ”


3

“M t framework là m t t p các l p mà bao g m m t thi t k tr u t ng cho các gi i
pháp c a m t ho c các v n liên quan”
“M t framework là m t t p các i t ng mà c ng tác v i nhau t o ra m t t p các áp ng
cho m t ng d ng ho c m t vùng h th ng con”
“M t framework là m t t p các ký hi u c a các l p c ng tác mà t c c các m u ph m
vi nh và các c ch ch y u th c hi n các yêu c u chung và thi t k trong m t ph m vi ng d
ng c th ”
“M t t p các l p c ng tác v i nhau mà t o ra m t thi t k có th s d ng l i cho m t l p c
th c a ph n m m. M t framework cung c p các h ng d n có tính ki n trúc b ng cách phân
chia thi t k thành các l p tr u t ng và nh ngh a các áp ng và s c ng tác c a chúng. M t
nhà phát tri n tùy bi n framework thành m t ng d ng c th b ng cách t o ra các l p con và
t o ra các phiên b n c a các l p framework”
Nh v y, m t framework bao g m m t t p các l p mà các th hi n c a chúng c ng tác
v i nhau, c d nh m r ng, s d ng l i cho các ng d ng c th c a m t l nh v c. M t h các v n
liên quan, cho phép t ng h p trong m t framework. H n n a, các framework c bi u di n
thành m t ngôn ng l p trình, nh v y nó cung c p cho vi c s d ng l i c mã th c hi n và thi t

k.

1.1.1.2.

u trúc c a m t framework

M t framework h

ng

it

ng bao g m các thành ph n sau:

® Các tài li u thi t k
® Các giao di n
® Các l p tr u t ng
® Các thành ph n
® Các l p
M i quan h gi a các thành ph n khác nhau trong m t framework c mô t nh hình v
sau:


4

Các tài li u
thi t k
ph n ánh
Các giao di n
tri n khai

Các l p tr u
tri n khai

th a k
Các thành ph n
là m t ph n c a
Các l p

Hình 1.1. M i quan h gi a các thành ph n khác nhau trong m t framework [4]

Các thành ph n c a m t framework

c mô t nh sau:

® Các tài li u thi t k : thi t k c a m t framework có th bao g m các l c l p, vi t b ng v
n b n ho c chí ít là m t ý t ng trong u c a nhà phát tri n.
® Các giao di n: các giao di n miêu t áp ng bên ngoài c a các l p. Các giao di n có
th c s d ng mô hình các vai trò khác nhau trong h th ng, ví d nh các vai trò trong
m t m u thi t k . M t vai trò i di n cho m t nhóm nh c a các ph ng pháp trong giao
di n mà liên quan t i các ph ng pháp khác.
® Các l p tr u t ng: m t l p tr u t ng là m t s th c hi n ch a y c a m t ho c nhi u giao
di n. Nó có th c s d ng nh ngh a cách i x mà s là chung cho m t nhóm các thành
ph n th c hi n m t nhóm các giao di n.
® Các thành ph n: Gi ng nh các l p, các thành ph n có th c tích h p v i các l p khác.
Trong hình v , có m t m i tên “là m t ph n c a” gi a các l p và các thành ph n. N u
b n thân các l p có m t API c nh ngh a y thì t p k t qu c a các l p s c bi u hi n nh là
m t t h p các thành ph n. M t thành ph n c nh ngh a nh sau: “M t thành ph n ph n
m m là m t n v k t c u v i các giao di n c ghi rõ theo h p ng và các ph thu c



5

ng c nh rõ ràng. M t thành ph n ph n m m có th c tri n khai không ph thu c và c t
h p b ng các hãng th ba”
® Các l p: M c th p nh t c a m t framework là các l p. Các l p ch khác v i các thành
ph n là trong th c t , các API c công khai c a nó không c a ra trong các giao di n
c a m t framework. M t cách n hình là các l p
c s d ng b i các thành ph n i di n cho ch c n ng, ví d m t ng i dùng framework
th ng không nhìn th y các l p này tr khi anh ta làm vi c v i các thành ph n.
Cách th c làm vi c c a m t framework nh sau:
M t framework làm vi c b ng cách cung c p m t c t rõ ràng c a các t ng tác c
mong i gi a các thành ph n. Ví d , m t thành ph n có th trông ch nh ng gì t các thành
ph n khác và cái gì nên c cung c p t i chúng? M t framework nh ngh a các d ch v l a
ch n, và cung c p m t gi i thích cho vi c nh ngh a thành ph n nào là m t thành ph n
cung c p. Nh th , m t thành ph n s có kh n ng c m r ng r t l n và các thành ph n m i có
th t ng tác m nh m v i nh ng cái ã có. Chúng c ng tác v i các chi ti t, khía c nh c th c a
các v n
c cân nh c b i framework. Các thành ph n ng d ng có th v n còn ch ng minh
tính t ng thích v i các v n khác, nh ng ngh a c a d li u mà chúng chuy n qua. Các b ph
n ph thu c có th c gi i thi u nh là các thành ph n c a framework. S thi hành các thành
ph n này có th cùng framework xác nh m t d ch v và cung c p các d ch v này cho các
thành ph n khác.

1.1.1.3. Phân bi t framework v i các khái ni m khác
M t m u thi t k khác v i m t framework ba m. Th nh t, m t m u thi t k là tr u t ng
h n m t framework, b i vì m t framework c bao g m c mã, trong khi ó ch có các ví d c
a các m u thi t k m i c mã hóa. Các m u thi t k th m chí mô t m c ích, vi c cân b ng các
y u t khác t c s k t h p t t nh t và các k t qu c a m t thi t k . u này không là m t tr ng h p
cho các framework. Th hai, các m u thi t k là nh ng ki n trúc nh h n so v i các
framework. Do v y, m t framework có th ch a m t s các m u thi t k , nh ng i u ng c l i

là không th . Do v y, các m u thi t k không có nh h ng l n t i ki n trúc c a ng d ng. Cu i
cùng, các framework c chuyên môn hóa h n so v i các m u thi t k . Các framework
luôn luôn liên quan n m t mi n ng d ng c th , trong khi ó các m u thi t k là chung và có
th c ng d ng trong b t k mi n ng d ng nào.


6

Các ngôn ng m u khác v i framework theo cách mà m t ngôn ng m u miêu t :
làm nh th nào t o ra m t thi t k . Trong khi ó, m t framework h ng i
ng là m t thi t k . Các ngôn ng m u b sung cho m t framework, do chúng có th h ng
d n các k s ph n m m s d ng framework nh th nào, và mô t t i sao nó l i c thi t k nh v y.
M t ng d ng h ng i t ng khác v i m t framework ch , m t ng d ng mô t m t ch ng
trình th c hi n ph c t p mà th a mãn m t yêu c u c th . Framework t c các tính n ng c a
m t ng d ng nh ng nó không th thi hành b i vì nó không bao g m các t ng tác trong tr
ng h p ng d ng c th .
Các framework khác v i các th vi n l p ch : chúng nh m t i các mi n ng d ng c th .
Trong khi ó, các th vi n l p cung c p cho ng i s d ng các s th c hi n tr c c a thu t toán.
Các th vi n l p là th ng, ng i s d ng g i các ph ng pháp trong th vi n l p th c hi n m t s
ho t ng. Trong khi ó các framework nh ngh a khung cho m t ng d ng th c t và i u khi n
lu ng u khi n trong ng d ng. Các framework có th khác so v i th vi n l p, nh ng chúng
có th s d ng các th vi n l p ã có s n th c hi n các thu t toán chung và các c u trúc d li u.

Các thành ph n ph n m m ban u ã c d nh là các thành ph n ch c ng riêng l mà có
th c u t t nhà cung c p và tích h p vào trong các ng d ng. Các framework d ng nh là nh
ng thành ph n mà có th c u t t nh cung c p và nhi u h n m t framework có th c s d ng
trong m t ng d ng. Tuy nhiên, m t m khác d nh n th y gi a chúng là các framework
cung c p m t b r ng h n các d ch v so v i các thành ph n ph n m m. Chúng có kh n ng
tùy bi n nhi u h n, có các giao di n ph c t p h n và i u quan tr ng h n là chúng th c s nh
ngh a cho m t h ng d ng ho c m t di n r ng c a các ng d ng. Do v y, các framework là

khó h c h n i v i các nhà phát tri n, nh ng m t khi ã hi u
c h t framework thì s



cs

linh

ng cao h n và v i m t framework

c thi t k t t thì có th gi m c các n l c c n b ra xây d ng m t ng d ng ã c tùy bi n rõ r t
h n.
Trong khi các framework và các thành ph n là các k thu t khác nhau, chúng nên
c xem và c s d ng nh các k thu t c ng tác v i nhau. V i các framework có th s d ng các
thành ph n và các ng d ng c phát tri n s d ng các framework th m chí có th ti n d ng h
n các thành ph n. Ví d , m t ng d ng Visual C++ c t o v i MFC framework, th m chí có
th s d ng các thành ph n ActiveX trong giao di n c a nó gi ng nh vi c trao i v i các
thành ph n ActiveX c óng gói trong MFC framework. M t ví d khác cho s ph thu c l n
nhau


7

gi a các framework và thành ph n là vi c s d ng các framework t o các thành ph n m i,
ví d , framework Active Template Library (ATL) c a Microsoft c s d ng r ng rãi trong
vi c t o các thành ph n ActiveX.

1.1.2. Các


c

M t framework h

m c a framework
ng

it

ng có b n

c

m chính sau [5]:

® Kh n ng mô un hóa
® Kh n ng s d ng l i
® Kh n ng m r ng
® Si chi u c au khi n
V c m th nh t, các framework t ng c ng kh n ng mô un hóa b ng cách óng gói các chi ti
t th c hi n không ch c ch n ng sau các giao di n ch c ch n. Kh n ng này giúp cho vi c t
ng c ng ch t l ng c a ph n m m b ng cách c c b hóa các tác ng c a nh ng thay i v ki n
trúc và s th c hi n. S c c b hóa này gi m các n l c c yêu c u hi u và duy trì ph n m m hi
n có.
M t khác, các giao di n ch c ch n
c cung c p b i các framework còn t ng
ng kh
n ng s d ng l i b ng cách
nh ngh a các thành ph n chung mà có th
c áp d ng t o ra các ng d ng m i. Kh n ng s d ng l i c a framework thúc y ki n th c c

a mi n ng d ng và u tiên n l c c a các nhà phát tri n kinh nghi m tránh vi c t o và làm h
p l l i các gi i pháp chung cho các yêu c u c a ng d ng l p l i và các thách th c trong thi
t k ph n m m. Vi c s d ng l i các thành ph n thi t k có th là m t s c i ti n áng k trong s n
xu t ch ng trình, c ng nh t t cho vi c nâng cao ch t l ng, tính hi u qu , tin c y và tính s n
sàng c a ph n m m.
V kh n ng m r ng, m t framework t ng c ng kh n ng m r ng b ng cách cung c p các m
nóng t ng minh mà cho phép các ng d ng m r ng các giao di n ch c ch n và cách ng x c
a vùng ng d ng v i các s thay i c yêu c u b i các tr ng h p c a ng d ng trong m t ng c nh
c th . Kh n ng m r ng c a framework là c n thi t m b o các s u ch nh có tính th i gian c
a các d ch v và tính n ng ng d ng m i.
Cu i cùng, c m c a ki n trúc th i gian ch y c a m t framework là s i chi u c a u khi n, th
ng c g i là “Nguyên t c Hollywood”- ng g i cho chúng tôi, chúng tôi s g i cho b n. Ki n
trúc này cho phép ng d ng h p v i các quy t c tiêu chu n b ng cách u ch nh t ng b c x
lý, b ng các i t ng qu n lý s ki n mà c vi n d n thông qua c ch g i kích h at l i c a
framework. Khi các s ki n x y ra, framework g i l i kích ho t b ng cách vi n d n ph ng
pháp móc n i trên các i t ng qu n lý s ki n ã c ng ký tr c, cái mà th c hi n


8

vi c x lý ng d ng c th trên các s ki n. i chi u u khi n cho phép framework nh ngh a m t t
p các ph ng pháp ng d ng c th áp ng v i các s ki n bên ngoài.

1.1.3. Phân lo i framework
Các framework h ng i t ng có th c phân lo i theo nhi u chi u khác nhau, trong ó
nh ng chi u quan tr ng nh t là vùng v n mà framework tr t i, c u trúc n i b c a
framework và framework c d nh s d ng nh th nào.
V cách phân lo i th nh t, ng i ta chia các framework thành các framework ng d
ng, các framework mi n ng d ng và các framework h tr . Các lo i framework này s c
trình b y chi ti t trong ph n 1.1.3.1.

Ph n 1.1.3.2. s trình b y các framework c u trúc và các lo i framework c chia
theo c u trúc n i b c a framework.
Và cu i cùng, n u phân lo i theo cách th c d nh s d ng framework, thì s có các
framework h p en, các framework h p tr ng và các framaework h p xám. Chi ti t v các
lo i framework này s c mô t trong ph n 1.1.3.3.

1.1.3.1. Phân lo i framework theo vùng v n
Tr c khi i vào chi ti t c a các lo i framework c phân theo vùng v n mà framework
ó tr t i, ta s c p t i hai khái ni m là các monolithic framework và fine-grained
framework.
Các tài li u hi n có [10] v các framework miêu t các kinh nghi m thu c t vi c s d
ng các monolithic framework, ví d nh các ki n trúc ph n m m
ng i t ng cho m t s l nh v c c th . Tuy nhiên, còn có m t cách ti p c n khác là tìm ra
các framework fine-grained nh và c ng tác l n nhau. M t ng d ng có th c “t ng h p” t m
t s các framework fine-grained này.
S phát tri n c a các fine-grained c ng t ng t nh vi c phát tri n các monolithic
framework. i m khác nhau ch y u là framework fine-grained ph i
c thi t k cho s tích h p b i vì ph m vi bao hàm c a framework không ph i là m t l nh
v c hoàn ch nh.
Vi c phân lo i theo vùng v n chia các framework thành ba lo i là các framework
ng d ng, các framework mi n ng d ng và các framework h tr . Các framework ng d ng
và mi n ng d ng th ng là các monolithic framework, còn các framework h tr là nh ng tr
ng h p n hình c a fine-grained framework.
M t framework ng d ng là m t t p c a các thành ph n v i m t thi t k ng d ng có th c
s d ng l i. u này có ngh a r ng, ng i dùng không nh ng


9

nh n c m t t p con mã ch c n ng mà còn b t u v i c m t thi t k v cách mà chúng làm vi c

nh th nào. i u này c ng có ngh a là, m t framework ng d ng có th cung c p nhi u tính n
ng h n các th vi n hàm, vì v c b n các th vi n hàm là không ph thu c vào nhau.
i v i m t nhà phát tri n, vi c s d ng m t framework ng d ng khác v i vi c s d ng
m t th vi n cách mà ng d ng c vi t. V i m t th vi n, nhà phát tri n vi t mã g i các hàm có
trong th vi n. u này có ngh a là, anh ta s ph i ch u trách nhi m cho cách mà các thành
ph n khác t ng tác v i nhau. Còn khi s d ng m t framework ng d ng, nhà phát tri n vi t
mã mà s c framework ng d ng g i. u này có ngh a là, framework ng d ng ch u trách nhi
m cho s
ng tác gi a các thành ph n. Trong khi u ki n này d ng nh không là m t l i ích l n nh
ng th c s ây l i là m t k t qu r t có ý ngh a thu c t cách ti p c n này. Framework ng d ng
c s d ng l i trong nhi u ng d ng b i nhi u nhà phát tri n khác nhau. u này có ngh a là,
framework ng d ng là m t khái ni m
c xác th c và vi c s d ng nó s thu c m t ng d ng t t h n. Các ví d c a framework ng d
ng là framework cho các giao di n ng i dùng [3].
Lo i th hai là phân lo i framework theo vùng v n c a m t mi n ng d ng. Các
framework này t c ki n th c và s tinh thông trong m t vùng v n c th . Các framework
cho u khi n s n xu t và a ph ng ti n là các ví d c a framework mi n ng d ng. Các
framework mi n ng d ng có th ti n d ng khi th c hi n các ch ng trình cho m t mi n ng d
ng xác nh. Nó th ng xuyên
c u ch nh cho v a v i các công ty ho c c phát tri n t u. Framework này gi m s l ng
công vi c mà c n th c hi n ng d ng và nó a ra m t ph n m m có ch t l ng cao h n cho mi
n ng d ng này. M t ví d c th c a các framework thu c lo i này là nh Java Media
Framework (JMF). Framework này nhúng các ch c n ng c n thi t cho vi c phát tri n
các ng d ng v x lý các file audio và video (d n kênh, tách kênh, mã hóa, các b l c hi u
ng), các u khi n v trình di n và các ph ng ti n t c các khóa cho s ng b c a các ph ng ti n
khác nhau nh u vào ti ng và u vào hình.
Lo i cu i cùng theo cách phân lo i này là các framework h tr . Các framework h
tr là các framework mà ph c v cho các d ch v m c th p c a h th ng nh các trình i u khi n
cho các thi t b và b u khi n truy nh p file. Nhà phát tri n ng d ng s d ng các framework
h tr tr c ti p ho c s d ng các s i u ch nh c t o ra b i các trình cung c p c a h th ng. Các

framework h tr có th c tùy bi n, ví d khi phát tri n m t h th ng m i ho c trình i u khi n
thi t b m i.


10

1.1.3.2. Phân lo i framework theo c u trúc n i b
N u nh c u trúc n i t i c a framework c miêu t thì nó có th làm cho vi c hi u cách
ng x c a framework d dàng h n. C u trúc n i t i c a m t framework liên quan t i các khái
ni m v các ki n trúc ph n m m. Nh ng ki n trúc này c g i là “các framework ki n trúc”,
do chúng c thi t k theo cách t
c c u trúc chính c a m t ki n trúc ph n m m h ng i t ng. Nguyên t c t ng th cho c u
trúc n i t i c a m t framework c mô t b i framework có tính ki n trúc c a nó. Các
framework có tính ki n trúc ã c mô t là:
® Layered (Phân t ng), giúp cho c u trúc các ng d ng có th c phân rã thành các
nhóm c a các công vi c con v i m c tr u t ng khác nhau nh v
t ng khác nhau.
® Pipes and Filters ( ng và b l c), có th c dùng c u trúc các ng d ng mà có th c chia
thành m t vài các công vi c con hoàn toàn c l p, c th c hi n theo trình t n i ti p ho
c song song ã c xác nh m t cách rõ ràng.
® Model-View-Controller (MVC), nh ngh a m t ki n trúc cho các ng d ng có tính t
ng tác, chia tách gi a giao di n c a ng d ng v i các ch c n ng ch y u c a nó.
® Presentation-Abstraction-Controller (Trình di n-Tr u t ng- i u khi n), ki n trúc
này là thích h p c u trúc các h th ng ph n m m mà có tính t ng tác cao v i ng i s d
ng, cho phép nh ng u khi n và trình b y c a các mô hình tr u t ng c a h th ng có th
c t o bên ngoài các ch c n ng con và c l p v i m i cái khác.
® Reflective (Ph n ánh), có kh n ng áp d ng cho các ng d ng mà c n ph i cân nh c v
m t s thích nghi trong t ng lai do s thay i môi tr ng, công ngh và các yêu c u, mà
không c n có ph i thay i v ki n trúc và cách th c hi n c a nó.
® Microkernel, là phù h p cho các h th ng ph n m m c n cung c p các khung nhìn

khác nhau d a trên các ch c n ng c a chúng và ph i thích nghi v i các yêu c u c a
h th ng. Ví d c a microkernel là các h u hành.
® Blackboard (B ng en), giúp c u trúc các ng d ng ph c t p mà liên quan t i m t vài
h th ng con chuyên bi t cho các l nh v c khác nhau. Các h th ng con này ph i h p
tác xây d ng các gi i pháp cho vi c gi i quy t các v n .


11

® Broker (Môi gi i), c u trúc các h th ng ph n m m phân tán, trong ó các thành ph n
t ng tác khác nhau giao ti p v i nhau khi v n hành thông qua truy n thông nh
trong m t mô hình ch khách.
Vi c s d ng các ki n trúc này nh là m t nguyên t c thi t k ch y u cho m t
framework. u ó có ngh a là, các ki n trúc này là các ng c viên t t cho vi c ng d ng các
m u thi t k h ng i t ng c ng nh cho vi c phát tri n framework.

1.1.3.3. Phân lo i framework theo cách s

d ng

D a trên cách s d ng framework, các framework h ng i t ng c chia thành hai lo i
chính là các framework h p tr ng và các framework h p en. Nh ng ph n l n các ng d ng
d ng nh là m t t h p c a c hai lo i framework này và c g i là các framework h p xám.
Trong m t framework h p tr ng, ki n trúc c a framework c bi t nh là các thành ph
n và ng d ng c a nhà phát tri n s xây d ng trên nó. Thi t k hoàn toàn ph i c vi t thành tài
li u, b i vì, các ki n trúc này c n thay i framework cho phù h p v i m t ng d ng c th . Do
v y, ng i s d ng ph i có ki n th c và n m v ng ki n trúc c a framework tùy bi n
framework thành m t ng d ng c th .
Ng c l i, các framework h p en d u c u trúc n i t i c a chúng. Ng i s d ng ch c n bi
t các m nóng (hot spot) c a h th ng và m t miêu t chung v cách s d ng framework h n

là ph i có ki n th c toàn di n v ki n trúc c a framework. C ch này th ng c s d ng cung c
p tính linh ho t là s t ng h p. Trong khi các m nóng c a h th ng c n ph i c làm rõ ràng,
thì n l c xây d ng m t framework h p tr ng, th ng c làm b ng cách t ng quát hóa t m t s
ng d ng hoàn ch nh, có th t ng i nh . B t l i c a lo i framework h p tr ng là ng i s d ng
cu i s d ng c n ph i n m, hi u các ki n th c v ki n trúc t ng th . u này d n n m t quá trình
h c lâu và s r i ro v l i cao. Ng c l i v i các h th ng h p tr ng, vi c s d ng framework h p
en d dàng h n, b i vì ng i dùng ch c n bi t các ki n th c v các ph n t có th thay i c và i m

b n c a h th ng. Tuy nhiên, các framework h p en là khó xây d ng h n các
framework h p tr ng.
Framework h p en và h p tr ng nh d ng ng bao ngoài c a thi t k framework và các
nguyên t c s d ng. Ph n l n các framework có th trong vùng gi a hai thái c c này, và c
coi nh là m t framework h p xám. Các framework h p xám c g ng th c hi n các l i ích c
a các thi t k h p en và h p tr ng, trong


12

khi c g ng lo i b các gi i h n nh n bi t c c a hai lo i framework này. Tuy nhiên, các
framework h p xám d ng nh là m t lý thuy t không ai mu n th c hi n, b i vì m i ng i u
cho r ng m t framework h p en ã là .
Vi c s d ng framework h p tr ng là t ng ph n v i vi c s d ng framework h p en.
Khi s d ng l i framework h p en, ng i s d ng không c n bi t ph n m m c th c hi n nh th
nào và c ng không c n bi t chúng th c hi n các i
ng mà có th
c s d ng l i trong t h p các i t ng nh th nào.
Framework h p tr ng c s d ng t o ra các l p c th . M t s các l p c th này là các
thành ph n, b i vì chúng th c hi n các giao di n t framework h p tr ng. Các thành ph n
này cùng v i các l p c ng tác c g i là framework h p en.
i u khác nhau ch y u gi a m t framework h p en và m t framework h p tr ng là

khi s d ng m t framework h p tr ng, ng i s d ng ph i m r ng các l p và th c hi n các giao
di n. Ng c l i, m t framework h p en bao g m các thành ph n và các l p mà có th t o c
các th hi n và c c u hình b i ng i s d ng. Các thành ph n và các l p trong các framework
h p en th ng là các th hi n c a các ph n t trong các framework h p tr ng. B t h p và c u
hình c a các thành ph n trong framework h p en có th c h tr b i các công c và s d dàng
h n cho nhà phát tri n so v i vi c s d ng các ph n c a m t framework h p tr ng. Các
framework h p en là d dàng c u ch nh do ch c n bi t các giao di n c a các m nóng. Các
framework h p tr ng th ng có kh n ng s d ng l i nhi u h n nh ng l i khó hi u chi ti t c u
trúc n i b và th m chí, có th t o ra m t s bùng n các l p con.


13

1.2. Ph

ng pháp phát tri n framework

Vi c phát tri n framework có m t s m khác so v i vi c phát tri n m t ng d ng chu n bình
th ng. m khác bi t quan tr ng là framework ph i c xây d ng bao c t t c các khái ni m
xác áng trong m t mi n ng d ng. Quá trình phát tri n framework c mô t nh hình 1.2.

Hình 1.2. Quá trình phát tri n framework

Nh v y, m t quá trình phát tri n framework s

bao g m các pha sau:

® Phân tích mi n ng d ng. ây là giai o n chu n b cho vi c phát tri n framework. N i
dung chi ti t c a ph n này s c nêu trong ph n 1.2.1.
® Thu th p các yêu c u và phân tích. Các ho t ng chính c a giain này s

c trình b y trong ph n 1.2.2.


14

® Thi t k framework. Chi ti t v các ho t ng c a pha thi t k framework s
c nêu trong ph n 1.2.3.
® Tri n khai framework. ây là giai o n th c hi n các thi t k c a framework b ng m t
ngôn ng l p trình h ng i t ng c th . N i dung c a ph n này s c trình b y trong ph n
1.2.4.
® Ki m th . Ph n 1.2.5. s trình b y ng n g n v các ho t ng c n th c hi n trong giai o n
này.

1.2.1. Chu n b cho vi c phát tri n framework
Ph n này a ra m t gi i thi u ng n v các ho t ng c th c hi n tr c khi b t u quá trình
phát tri n framework và xác nh các u vào nào s là c n thi t b t u quá trình phát tri n.
xây d ng c m t framework, các nhà phát tri n c n ph i có c các ki n th c b sung v mi n
ng d ng mà framework d nh t c. Do v y, m t phân tích mi n ng d ng ng n g n nên c th c
hi n tr c ho c nh là m t s kh i u c a m t quá trình phát tri n framework.
Vi c phân tích mi n ng d ng là s nh n d ng các l p và các i t ng mà là chung cho t
t c các ng d ng trong cùng mi n ng d ng ang phân tích. Mô hình mi n ng d ng nên ch t
p trung vào các ch tác chính c a mi n mà không c n i vào các chi ti t. M t mô hình mi
n ng d ng là m t công c t t khi b t u phát tri n m t khung nhìn lôgíc c a h th ng. Nó nên
miêu t các khái ni m mà m t ng i dùng trong mi n ng d ng th ng s d ng và k t qu phân
tích mi n c dùng nh m t công c giao ti p v i nh ng ng i liên quan t i vi c phát tri n h th
ng. Mô hình mi n ng d ng không nên miêu t l nh v c t góc nhìn c a nhà phát tri n, vì i u
này s c n tr vi c trao i và làm n y sinh các r i ro. Không nên a ra các chi ti t thi t k quá
s m trong quá trình phát tri n framework.
M t phân tích mi n ng d ng th m chí còn cung c p s h tr t t khi xác nh rõ các ca s
d ng. Nên có ít nh t hai tài li u là k t qu c a vi c phân tích mi n ng d ng là ph m vi c a

mi n ng d ng và mô hình t nh ch a các i t ng và l p quan tr ng trong mi n ng d ng này.
i u quan tr ng trong giai n này là ph i xác nh m t ph m vi rõ ràng c a mi n ng d
ng. Vi c a ra m t framework bao trùm toàn b các l nh v c s là m t i u không t ng. Ph m
vi này s c s d ng nhi u trong vi c thu th p các yêu c u c a quá trình phát tri n. H n n a,
ph m vi này làm cho vi c thu th p yêu c u rõ ràng h n. N u m t yêu c u là trong mi n ng
d ng thì yêu c u này s là h p l , và ng c l i, n u yêu c u này ngoài mi n ng d ng thì yêu c
u này s là không h p


15

l . Ph m vi c a mi n ng d ng th m chí còn óng vai trò nh m t công c cho vi c s d ng l i
m t framework, khi ng i s d ng ph i quy t nh m t framework có là phù h p s d ng cho m
t ng d ng c yêu c u hay không ?
Vi c xác nh ph m vi c a mi n ng d ng th ng là khó kh n, c ng khó nh vi c quy t nh
nh ng gì n m ngoài mi n, và nh ng gì mi n nên có. Vi c phát tri n m t framework cho m
t vùng h p d h n cho m t l nh v c r ng. Do v y, c n ph i có th i gian cho h at ng quan tr
ng này.
Bên c nh vi c xác nh ph m vi c a mi n ng d ng, trong giai n này, còn c n ph i làm
m t tài li u n a là mô hình t nh. Mô hình t nh này nên ch a các i
ng và các l p quan tr ng nh t c a mi n ng d ng. Chúng nên là các i t ng trong th gi i
th c hay các i t ng t th gi i c a ng d ng này. Các i t ng và các l p nên c t tên theo cách hi
u c a ng i s d ng vì mô hình này s là m t công c cho vi c trao i gi a các nhà phát tri n
và ng i s d ng c a các ng d ng t ng lai.
Các k t qu c a giai n phân tích mi n ng d ng s là u vào cho m t quá trình phát tri
n framework. T t nhiên, quá trình phát tri n framework luôn cung c p l i các ph n h i
hoàn thi n h n các phân tích mi n ng d ng.

1.2.2. Thu th p yêu c u và phân tích
M c tiêu c a pha này là thu nh n t t c các yêu c u h p l v mi n ng d ng và phác th

o ý t ng v m t h th ng s áp ng y các yêu c u này. Pha này g m hai ho t ng chính là: Thu
th p yêu c u và Phân tích. Tuy hai ho t ng này c phân chia nh ng th c ra chúng ch là m
t, do v y chúng c n c th c hi n song song.
Các k t qu c a pha này là mô hình yêu c u và mô hình phân tích. Các mô hình
yêu c u s xác nh các yêu c u mà h th ng ph i áp ng và các mô hình phân tích s phác th
o các khái ni m chính c a h th ng này.


16

Hình 1.3. Các quá trình con và s n ph m c a pha Thu th p yêu c u và Phân tích

M t yêu c u xác nh m t ràng bu c trên h th ng ho c m t d ch v mà h th ng nên
cung c p. Các yêu c u là các công c cho quá trình t o ra các mô hình phân tích chính
xác. Trong khi phân tích, các yêu c u m i s c nh n d ng và các i m không th ng nh t
trong mô hình yêu c u s c tìm ra. Không th tìm ra t t c các yêu c u và m b o tính nh t
quán c a các yêu c u trong l n thu th p u tiên; c ng ch a th có ngay các yêu c u chính
xác làm u vào cho mô hình phân tích. Do v y hai ho t ng này ph i c th c hi n song
song.
M t phân tích mi n ng d ng cùng v i m t danh sách các yêu c u nên c cung c p nh
u vào cho pha phân tích và c n có ít nh t hai ng d ng cùng v i các yêu c u trong t ng lai
c a framework. Vi c cung c p các yêu c u c a framework trên m t c p ng d ng s làm cho
vi c tìm ra các i m chung d dàng h n.

1.2.2.1. Thu th p yêu c u
M c tiêu c a ho t

ng này là

tìm ra t t c


các yêu c u c a h

th ng s

c d nh phát tri n. Các yêu c u không nh t quán, có m u thu n ho c trùng l p c ng có
th c tìm th y và c gi i quy t.
Danh sách các yêu c u c b n c l y t quá trình thu th p các yêu c u. Mô hình mi n
là m t công c cho vi c trao i và nó cung c p m t thu t ng chung gi m thi u các l i do vi c
hi u nh m trong các th o lu n và các ph n c quan tâm.


17

Tài li u u ra c a ho t ng này là c t yêu c u chi ti t và Mô hình ca s d ng. Hai mô
hình này k t h p v i nhau t o thành Mô hình yêu c u. Chúng là m t công c vi c trao i gi
a các nhà phát tri n, ng i t v n bán hàng và ng i s d ng. Do v y, chúng nên c d hi u cho t
t c các ph n liên quan. Các yêu c u này nên c nh d ng t góc nhìn c a ng i s d ng ho c c a
khách hàng h n là t góc nhìn c a nhà phát tri n.
Các mô hình yêu c u này th m chí c ng là m t nh d ng c s cho pha ki m th và th
m nh. Ngoài hai tài li u c xu t này, các tài li u khác có th c thêm vào trong Mô hình
yêu c u. Các tài li u yêu c u nên th a mãn 6 yêu c u sau:
® Nên ch rõ các ng x bên ngoài c a h th ng
® Nên ch rõ các ràng bu c i v i vi c th c hi n
® D dàng thay i
® Nên ph c v nh m t công c cho ng i b o trì h th ng
® Nên ghi l i các dnh v vòng i c a h th ng
® Nên mô t các áp ng có th ch p nh n c i v i các s ki n không mong mu n
1.2.2.1.1. Quá trình thu th p yêu c u
M c tiêu c a quá trình này là tìm t t c các yêu c u h p l trên h th ng. Quá trình này

có th c xem nh m t vòng l p c a ba ho t ng: Làm l ra, c t và Th m tra.

Hình 1.4. Các ho t

Ba ho t

ng này

ng c a m t quá trình thu th p yêu c u

c nh ngh a nh sau:

® Làm l ra là quá trình nh n bi t c t t c các ki n th c c n thi t s c s d ng trong vi c t o
ra các yêu c u theo nh d ng chu n.


18

® c t là quá trình ti p nh n các phát hi n ki n th c làm u vào t o ra m t mô hình chu n
cho các yêu c u.
® Th m tra là quá trình c g ng ánh giá và ki m nh n xem mô hình các yêu c u chu n
c t o ra ã th a mãn v i các yêu c u c a ng i dùng hay ch a.
Thông tin trên c thu th p t t t c các ng i liên quan, nh ng s d ng khác nhau s có
các yêu c u khác nhau i v i h th ng. M t h th ng ch d a trên quan i m c a m t ng i dùng
thì s không th áp ng c y t t c các yêu c u c n có c a h th ng. Ngoài ra, thông tin còn có
th tìm c trong các s n ph m c nh các c t , phân tích, thi t k , mã, các ca ki m th , …
Ti n trình xác nh yêu c u là m t pha quan tr ng trong quá trình phát tri n
framework, b i vì n u có l i trong vi c tìm ra t t c các yêu c u, và trong vi c tìm ra các
yêu c u úng s d n t i các thay i v sau trong các pha ti p theo. Chi phí ph i tr cho vi c s a
l i do các thay i trong yêu c u s r t cao do c n ph i vi t l i các thi t k và mã. Chi phí này

s t ng lên qua m i pha khi các l i không c phát hi n k p th i. Do v y, c n nhi u n l c
trong pha phân tích m b o có c m t c t yêu c u úng, hoàn thi n và nh t quán.
1.2.2.1.2.

c t yêu c u

Các yêu c u nên c chia thành hai nhóm: các yêu c u c a framework và các yêu c
u c a ng d ng c th . Sau ó chúng ti p t c c chia thành các yêu c u ch c n ng và các yêu c
u phi ch c n ng. u này là phù h p vì vi c phân chia các yêu c u nh v y s làm cho vi c nh
n d ng các thu c tính và các i m chung trong các yêu c u c a các ng d ng nhanh h n.


19

Hình 1.5. S

phân chia các yêu c u

Các yêu c u ch c n ng xác nh các ch c n ng và d ch v mà h th ng s cung c p. Các
yêu c u phi ch c n ng xác nh các ràng bu c mà h th ng ph i tuân theo khi phát tri n và
m r ng. Các ràng bu c yêu c u ng i dùng này có th t ng lên do các chính sách c a công
ty, các tiêu chu n, các ràng bu c c d a trên các h th ng có liên quan và nhi u cái khác n
a.
Có ba l p khác nhau c a các yêu c u phi ch c n ng:
® Các yêu c u v s n ph m, nh tính hi u qu , kích th c và tính kh chuy n
® Các yêu c u v quá trình phát tri n, nh các tiêu chu n, các quy c v t tên, …
® Các yêu c u t bên ngoài, các ch c n ng bao trùm t t c các yêu c u phi ch c ng khác
nh các yêu c u v chi phí, các yêu c u t các h th ng khác và các yêu c u không th c
a vào hai nhóm k trên.
Các yêu c u phi ch c n ng c a m t framework nói chung là khác so v i các yêu c u

phi ch c n ng c a các ng d ng. Các yêu c u phi ch c n ng c a các framework h ng vào
thi t k h n so v i các yêu c u phi ch c n ng c a ng d ng. Nguyên nhân là vì, các
framework có các ng i s d ng khác so v i các ng d ng


20

thông th ng. Ng i s d ng các framework l i chính là nh ng nhà phát tri n ng d ng. M t
framework c s d ng phát tri n m t ng d ng mà s c xây d ng th a mãn các yêu c u c a ng
i dùng. Trong h u h t các tr ng h p, nh ng ng i phát tri n ng d ng s là ng i thi t l p các
yêu c u cho framework.
Các yêu c u ch c n ng th ng xuyên c ki m th và th m nh, nh t là các yêu c u ch c n
ng ã c nh d ng v i các ca s d ng. Các yêu c u phi ch c ng khó ki m tra h n. Các yêu c u
phi ch c n ng c ng có th khó c xác nh b ng cách s d ng m t ngôn ng t nhiên, b i vì
chúng có xu h ng là r t ph c t p. Vi c s d ng các ngôn ng t nhiên r t khó kh n phát hi n s
không nh t quán gi a các yêu c u, b i vì s không nh t quán n m trong m i quan h gi a
chúng. Ngôn ng t nhiên có th gây ra nh m l n gi a nh ng ng i liên quan trong quá trình
phát tri n b i vì nh ng ng i khác nhau s d ng các thu t ng khác nhau cho cùng m t khái
ni m.
1.2.2.1.3. Mô hình Ca s

d ng

M t mô hình Ca s d ng ch a các tác nhân và các ca s d ng. M t ca s d ng nh ngh a
cách mà h th ng s c s d ng và cách th c mà nó áp ng l i m t yêu c u c th . M i ca s d ng
là m t cách c th s d ng h th ng. Theo nh ngh a c a Jacobson, thì “M i ca s d ng thi t l p
m t quá trình c a các s ki n
c b t u b i m t tác nhân và nó ch rõ t ng tác gi a m t tác nhân và h th ng”.
Các ca s d ng c ng nên c phân chia nh các yêu c u, thành các ng x chung và các
ng x c th . S phân chia này làm cho nó d dàng nh n d ng cái gì là chung gi a các ng d

ng khác nhau và ng x nào ch là riêng c a m i ng d ng. S phân chia c a các yêu c u tuân
theo k ch b n chính c a quá trình phát tri n framework, quá trình mà t p trung vào cái
gì là i m chung và cái gì là c th gi a các ng d ng nh n c.
M t tác nhân là m t khái ni m mô hình hóa c a các ng i s d ng ho c các h th ng
khác và nó là m t s tr giúp nh ngh a nh ng gì t n t i ngoài h th ng này. Các tác nhân có
nh ng th hi n c th , ó là các ng i s d ng, mà th c hi n m t t p các thao tác trên h th ng.
Các yêu c u ch c n ng n u có th nên c nh d ng b ng các ca s d ng. Các ca s d ng s
h u d ng h n cho vi c tìm các i m chung gi a các ng d ng, các ng x chung mà nên c a
vào trong framework.
Ngoài ra, mô hình Ca s d ng còn là m t ph ng ti n trao i thông tin t t gi a nh ng
ng i s d ng và các nhà phát tri n, b i vì, các ca s d ng c trình


21

b y theo nh ng khái ni m mà g n g i v i ng i s d ng. M t mô hình Ca s d ng th m chí còn
là m t công c t t cho vi c tìm ra các i m không nh t quán gi a các yêu c u khác nhau, b i
vì các ca s d ng có tính chu n hóa cao h n ngôn ng thông th ng. Tính chu n hóa này
còn làm cho vi c nh n d ng các quan h gi a các yêu c u d dàng h n.
M t mô hình Ca s d ng th m chí còn là c s cho quá trình ki m th . N u nh các yêu
c u c chu n hóa b i các ca s d ng và các ki m th c thi t k theo các ca s d ng này thì s có
m t quan h tr c ti p gi a vi c v t qua các ki m th và vi c áp ng y c các yêu c u. M i quan
h gi a mô hình Ca s d ng và các mô hình khác c a quá trình phát tri n c mô t nh hình v
sau.

Hình 1.6. M i quan h gi a mô hình Ca s d ng và các mô hình khác c a quá trình phát tri n
h th ng

1.2.2.2. Phân tích
M c tiêu c a phân tích là phác th o m t mô hình c a h


th ng mà áp ng

y

các ch c n ng. S phân tích nên t p trung toàn b vào v n và ph i c th c hi n xong mà
không c n có s cân nh c n môi tr ng thi hành. Lý do cho cách ti p c n này là mô hình
phân tích nên gi c tính t ng thích ngay c khi môi tr ng th c hi n thay i. M t lý do khác
là, các chi ti t th c hi n d y các nhà phát tri n t p trung vào các v n c a vi c th c hi n
theo m t môi tr ng thi hành nào ó, và do v y, s làm cho v n mà h th ng d nh gi i quy t n
m ngoài tr ng tâm c a vi c phát tri n.


22

M t khi nhà phát tri n ã nh n d ng c v n c a mi n ng d ng và các yêu c u ã nh ngh
a, nh ng ph n nào c a mi n ng d ng mà framework ho c h th ng c d nh t c, h th ng này
ph i c phác th o và các framework cùng v i h th ng này nên c nh n d ng.
Mô hình phân tích bao g m m t mô hình

it

ng t nh. Các

it

ng này

c xây d ng t các i t ng c a th gi i th c gi ng nh vi c phân tích mi n ng d ng. Các i t
ng có c trong mô hình mi n ng d ng và mô hình phân tích nên c t cùng tên m b o có th

theo dõi và gi m các l i phát sinh do s hi u nh m.
Ý t ng v i m t mô hình là t c các khái ni m quan tr ng và l c ra nh ng cái nào là
không quan tr ng. T t c s tr u t ng là các t p con c a th c t
c ch n l a cho m t m c ích c bi t. u này làm cho các nhà phát tri n t p trung vào v n
d dàng h n mà không quan tâm t i các chi ti t ng sau v n này. T t c mô hình nên có m c
ích c th c a nó. Các mô hình h tr vi c phát tri n framework nên có kh n ng t p trung s
chú ý c a nhà phát tri n vào cái gì s là t ng t gi a các ng d ng và cái gì là không.
1.2.2.2.1. Th c hi n vi c phân tích
Quá trình t o ra mô hình phân tích là l p l i m t cách t nhiên và m t mô hình phù
h p nh m t n n t ng cho pha thi t k , t c b ng cách làm m n và t ng m c c a vi c chu n
hóa. Không có ranh gi i rõ ràng gi a vi c phân tích và thi t k . M t s các ho t ng bình th
ng thu c v pha thi t k nh ng l i c th c hi n xong trong su t pha phân tích, v i m c ích là
tìm ra t t c các l p và các m i quan h quan tr ng trong các mô hình phân tích.
Phác th o tr ng thái và v n , miêu t chúng t góc nhìn c a ng i s d ng. M t khi các tr
ng thái và v n này c phác th o, nó có th nh n d ng các s tr u t ng c n thi t và b t u vi c
xây d ng các mô hình phân tích.
Quá trình phân tích nên g m các b

c sau:

® Phác th o tr ng thái và v n
® Ki m tra các gi i pháp hi n có
® Nh n d ng các s tr u t ng chính
® Nh n d ng các s tr u t ng m c cao
® Nh n d ng nh ng ph n nào c a v nmà framework s làm vi c
® Yêu c u u vào t các khách hàng và thay i cách ti p c n


23


Trong quá trình làm m n, các l p t mô hình mi n ng d ng không c n thi t b xóa b .
Các l p m i nên c a ra càng nhi u càng t t, khi có th , chúng s là các m c cao h n c a s tr
u t ng. Vi c a ra các m c cao h n c a s tr u t ng s d n t i vi c t ng các m chung c a h th
ng. B ng cách a ra các s tr u
ng m c cao, nhi u m t ng ng gi a các ng d ng c tìm th y, các s ng ng này s c a vào
trong framework.
Các s tr u t ng m c cao làm cho các thành ph n này b n v ng h n tr c các thay i
trong các yêu c u. M t thành ph n v i m t ki n trúc ch a các tr u
ng m c cao có th c thay i mà không c n c u trúc l i ki n trúc c a nó. Các thay i c n
thi t c a vào b ng cách t o ra s chuyên bi t hóa c a s tr u
ng m c cao. Các yêu c u s luôn luôn thay i b i vì th gi i xung quanh ph n m m h th
ng là luôn luôn thay i. S thay i ó s ph n ánh b ng các thay i
c áp t cho h th ng. Do v y, vi c tìm ra các i m chung là m t v n quan tr ng l n
không ch trong phân tích framework.
Vi c tìm ra các l p chung này là b c u tiên trong ho t ng phân tích c a vi c nh n d
ng các framework trong h th ng. Cách d dàng nh t nh n d ng các s tr u t ng là m t ti p c
n t d i lên. B t u s nh n d ng t vi c ki m tra các gi i pháp hi n có. Vi c ki m tra các gi i
pháp ho c h th ng hi n có có th sinh ra ki n trúc h u d ng và cung c p thông tin quan tr
ng v các framework có th th c hi n c.
Ti p theo, phân tích các c u trúc d li u và các thu t toán, sau ó t ch c các s tr u t
ng hóa. Th ng xuyên nh n d ng các i t ng tr c khi b n s p t s
l p có c u trúc và các s ph thu c. Nh n d ng các gi i pháp nào có i m chung và cái gì
là duy nh t t i m i ch ng trình. M t g i ý là các framework ti m n ng có th c tìm th y
trong:
® Các mô hình th gi i th c
® Các ho t ngc th c hi n b i ng i s d ng cu i
® Mã ngu n cho gi i pháp ph n m m hi n t i
M t s các m chung c nh n d ng có th c a vào trong framework t ng c ng các m
chung c a framework phù h p v i các yêu c u t ng lai. Các tr u t ng có th t n t i trong
các ng d ng ã c phát tri n. Tuy nhiên, th ng là khó kh n quy t nh m t m chung nào là c

n thi t hay không? M t i m chung làm t ng s ph c t p và có th t ng chi phí cho vi c phát
tri n và s d ng l i. Do v y, nó ph i c cân nh c gi a m chung và ph c t p c a framework.
Gi ng nh m t quy t c, s tr u t ng m c cao c a vào nên trong


24

cùng ph m vi c a framework. Các quy t nh v các m chung nên c làm tài li u, nh t là
trong các tr ng h p không rõ ràng. H n n a, framework không nên quá l n. Các
framework l n nên c phân chia thành các framework nh h n và c t p trung h n. Các
framework nh h n thì d s d ng h n.
1.2.2.2.2. Mô hình

it

ng t nh

M c tiêu c a mô hình này là mô t

các

it

ng, các quan h

gi a các

i

ng và các khái ni m khác c a th gi i th c mà chúng là quan tr ng i v i h th ng nh xây

d ng. Mô hình i t ng t nh cung c p m t bi u di n h a c hi u m t cách d dàng và phù h p
cho s trao i, không nh ng gi a các nhà phát tri n mà còn gi a các nhà phát tri n và các
ng i s d ng.
Mô hình i t ng t nh không nên ch a b t k c u trúc máy tính nào tr khi v n ang c gi
i quy t là m t v n v máy tính. Vi c t tên cho các i
ng và các khái ni m trong mô hình này nên c th c hi n t góc nhìn c a ng i s d ng.
Nh ã c p trên, m i i t ng ã c a ra trong mô hình mi n ng d ng thì nên c t cùng tên
trong mô hình i t ng t nh. Mô hình i t ng t nh là m t tài li u tham kh o, không ch xuyên
su t quá trình phát tri n mà còn trong pha b o trì. Do v y, tên c a các i t ng và khái ni m
trong mô hình nên c th c hi n theo m t cách h t s c t nhiên..
Mô hình i t ng t nh nên bao g m các i t ng phân tích và các liên k t gi a các i t ng.
Các quan h k t h p không ph i là m t u quan tr ng nh ng n u chúng c tìm th y thì nên c
a vào trong mô hình. Các c u trúc th a k phù h p nên c tìm th y và chú ý nên tìm các c
u trúc và các i t ng chung c a nhi u h n m t trong các ng d ng mà framework c d nh t c.
Vi c phát tri n m t mô hình
i t ng t nh cho m i
ng d ng là phù h p.
Vi c phát tri n này nên
c th c hi n cho t t c các ng d ng m t cách song song.
Khi tìm th y các s tr u t ng chung, chúng nên
c a vào trong mô hình
i
ng t nh c a framework.

1.2.2.3. Các k t qu

và mô hình b sung

Các mô hình c gi i thi u trên ôi khi là các mô hình không ti n d ng mà còn có th
không phù h p cho m i t ch c. Tuy nhiên, các mô hình này là th ng là chung cho ph n l

n các ph ng pháp phát tri n, nh ng m i s phân tích l i yêu c u m t t p các mô hình c th .
ôi khi, không ph i m i mô hình c gi i thi u trên là c n thi t, và ôi khi chúng là không .
N u vi c s d ng các mô hình mà


25

không bao trùm t t c các yêu c u ho c các mô hình c s d ng không làm n i b t c các v n
quan tr ng, thì th ng s d ng m t mô hình b sung.
Mô hình nên h tr s nh n d ng các khái ni m chung, có th c hi u m t cách d dàng
càng t t. Các ghi chú c s d ng duy trì tính n gi n và tránh
c s hi u nh m. Trong tr ng h p này, các mô hình h a là t t nh t. M t ví d có th là, s d
ng các m u khác nhau trong mô hình i t ng di n t các khái ni m, các quan h và nhi u h
n th n a. M t mô hình d hi u s làm gi m các l i do vi c hi u nh m và là c n thi t cho vi c
s d ng l i m t cách hi u qu . Ng i s d ng l i s hi u mô hình nhanh chóng và d dàng n.

1.2.3. Thi t k framework
Pha thi t k bao g m thi t k ki n trúc, mà ó xác nh các i t ng và s c ng tác gi a
chúng, và thi t k chi ti t, mà ó các l p và các ph ng pháp c a nó
c mô t chi ti t h n. u ra t pha thi t k là m t mô hình i t ng t nh và các mô hình ng
mô t các s c ng tác. Các mô hình này nên t o thành m t n n t ng y cho s th c hi n h th
ng.
Lý do cho vi c có pha thi t k , mà không b t u vi t mã tr c ti p sau khi phân tích là
vì: mô hình phân tích không thích h p chuy n thành mã ngu n. Các mô hình phân tích
xem xét h th ng t quan m mang tính khái ni m, mà không
c p n môi tr ng th c hi n. cung c p m t n n t ng v ng ch c cho s th c hi n, các i t ng
ph i c làm m n, và các mô hình ph i c m r ng. Các i
ng và mô hình này ph i c nh ngh a các ho t ng nào nên c cung c p và chính xác nh
ng gì c trao i gi a các i t ng. Pha thi t k th m chí s ph c v cho vi c th m nh các k t qu
phân tích và các i u ch a rõ ràng s c khám phá.

Các mô hình phân tích có th c thay i theo nhi u cách thích nghi v i môi tr ng th c
hi n. Các thay i này nên c ki m soát m t cách c n th n. Các thay i nên th c hi n là thêm
ho c thay i các ch c n ng liên quan t i môi tr ng th c hi n. Các thay i liên quan n các ch
c n ng khác thu c v mô hình lôgíc và mang tính khái ni m thì ã c ki m soát trong su t
pha phân tích.

1.2.3.1. Quá trình thi t k

framework

M t thi t k framework là m t thi t k ph n m m mà khi c tri n khai s cung c p các
ch c n ng chung và tr u t ng ã c nh n d ng trong vi c phân tích. Framework s là m t s th
c hi n c a các ph n chung c a các ng d ng trong mi n ng d ng.


×