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

(LUẬN văn THẠC sĩ) 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 (2.26 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
lo i framework.

c



m và phân

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 tố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.

TIEU LUAN MOI download :


2

Ch


ng 1

GI I THI U CHUNG V FRAMEWORK
1.1. T ng quan v 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 hồn ch nh. H th ng này có th
c
u ch nh l i
t o ra các
ng d ng hồ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
c nêu trong [10]:

nh ngh a khác nhau ho c t

ng t nhau v framework

“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 ”

TIEU LUAN MOI download :



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
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 p các áp ng cho m t ng d ng ho c m t vùng h th ng con”

ng cho

t o ra m t

“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
cc
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,
cd
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
nh hình v sau:

c mơ t

TIEU LUAN MOI download :



4

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

tri n khai

Các l p tr u
ng
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

TIEU LUAN MOI download :


5

ng c nh rõ ràng. M t thành ph n ph n m m có th
thu c và
c t h p b ng các hãng th ba”


c tri n khai khơng ph

® 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
các thành ph n là trong th c t , các API
c công khai c a nó khơng
a ra trong các giao di n c a m t framework. M t cách
n hình là các l
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
dùng framework th ng khơng nhìn th y các l p này tr khi anh ta làm vi
v i các thành ph n.

i
c
p
i
c

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
cs k th 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 chun 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.

TIEU LUAN MOI download :



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 ã
cd

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 có
c s 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

TIEU LUAN MOI download :


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
cs
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
®S

i chi u c a

u 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

TIEU LUAN MOI download :


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
cd
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
chia theo c u trúc n i b c a framework.

c

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

TIEU LUAN MOI download :



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.

TIEU LUAN MOI download :


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
thành các nhóm c a các cơng vi c con v i m c tr u t
t ng khác nhau.

c phân rã

ng khác nhau

nh v


® 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 ã
ràng.
® Model-View-Controller (MVC),

c xác

nh m t cách rõ

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 ngồ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 .

TIEU LUAN MOI download :


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 hồ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

TIEU LUAN MOI download :


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.

TIEU LUAN MOI download :


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. Q 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
® Thu th p các yêu c u và phân tích. Các ho t
c trình b y trong ph n 1.2.2.

c nêu trong ph n 1.2.1.
ng chính c a giai

n này s

TIEU LUAN MOI download :



14

® Thi t k framework. Chi ti t v các ho t
c nêu trong ph n 1.2.3.

ng c a pha thi t k framework s

® 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
trong giai o n này.

ng c n th c hi n

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

TIEU LUAN MOI download :


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 ngồ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

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 hồ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 u c u và mơ hình phân tích. Các mơ
hình 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.

TIEU LUAN MOI download :


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 q 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 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 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
cd
nh phát tri n. Các yêu c u khơng nh t qn, 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 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.

TIEU LUAN MOI download :


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 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 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 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
® D dàng thay

i v i vi c th c hi n

i

® Nên ph c v nh m t cơng c cho ng
® Nên ghi l i các d

nh v vòng

i b o trì h th ng

i c a h th ng

® Nên mơ t các áp ng có th ch p nh n
mu n

c

i v i các s ki n không mong


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. Q
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

c

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

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
d ng trong vi c t o ra các yêu c u theo nh d ng chu n.

cs

TIEU LUAN MOI download :


18


®

c t là q trình ti p nh n các phát hi n ki n th c làm
mơ hình chu n cho các yêu c u.

u vào

t o ra m t

® Th m tra là q 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. Ngồ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ó
cm t

c t u c u úng, hồ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.

TIEU LUAN MOI download :


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

cv

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
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.
Ngun 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

TIEU LUAN MOI download :


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 qn 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 q 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 ngồ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.
Ngồ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

TIEU LUAN MOI download :


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 qn 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 q 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 q 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 tồ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.

TIEU LUAN MOI download :


22


M t khi nhà phát tri n ã nh n d ng
cv 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
cd
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 i t ng t nh. Các i t 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
Q 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.
Q 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 n

® Yêu c u

mà framework s làm vi c

u vào t các khách hàng và thay

i cách ti p c n

TIEU LUAN MOI download :


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
s
gi
ki
hi

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
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
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
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
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
n
c.

Ti p theo, phân tích các c u trúc d li u và các thu t tố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

ng


c 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

TIEU LUAN MOI download :


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 i t 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
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
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à
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
c th c hi n theo m t cách h t s c t nhiên..

ng
ng
cịn
nê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
cd
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à

TIEU LUAN MOI download :


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 sốt trong su t pha phân tích.

1.2.3.1. Q 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.

TIEU LUAN MOI download :


×