G II THI U CHUN V FRAMEWORK
1.2. Ph ng pháp phát trin framework
1.2.3.2. Pha thi tk kin trúc
Trong su t pha thi t k ki n trúc, m t mô t m c cao c a framework và các ng d ng c làm d a trên các mô hình phân tích. Các ho t ng sau nên là chung cho thi t k ki n trúc trong h u h t các ph ng pháp h ng i t ng.
Hình 1.9. Các ho t ng trong pha thi t k ki n trúc
M c tiêu c a thi t k ki n trúc là nh n d ng các i t ng c c n th c hi n h th ng này và cách mà các i t ng c ng tác. Trong pha này, n u c n thi t, h th ng s c chia thành các h th ng con.
u vào c a pha thi t k ki n trúc là các yêu c u và các mô hình phân tích, c miêu t trong ph n phân tích. u ra c a pha thi t k ki n trúc là các mô hình theo d ng c a m t mô hình i t ng t nh ho c các mô hình ng (các l c
ng tác, các bi u tr ng thái và các mô hình lu ng d li u). Các mô hình này s nh d ng m t c s cho vi c nh n d ng cách th c hi n các l p.
1.2.3.2.1. Làm m n mô hình i t ng phân tích
Trong ho t ng này, các i t ng m i, mà không c gi i thi u trong các mô hình phân tích, có th c a ra u ch nh h th ng trong su t quá trình phát tri n. M t phân tích c a môi tr ng th c hi n c th c hi n song song v i vi c phân tích, ho c ít nh t tr c khi b t u pha thi t k . Các thay i khác có th là b , chia tách ho c sát nh p các i t ng có c t s phân tích. Các thay i này nên c ki m soát r t c n th n, vì chúng th ng có xu h ng làm gi m s c m nh c a h th ng.
Vi c hi u m t framework duy trì kh n ng l n v t gi a các mô hình phân tích và thi t k là quan tr ng. Nhi u i t ng thi t k có th c nh n d ng trong mô hình phân tích và tên c a các i t ng này nên gi ng nhau trong c hai mô hình.
M t l p i di n cho m t s tr u t ng c a các i t ng mà c n d t nó. N u m t l p có nhi u tác v , nó có th ch a m t vài s tr u t ng khác nhau. Tuy nhiên, m t l p không nên có nhi u h n 25 tác v [7], b i vì các l p v i m t s
ng l n các tác v thì d ng nh không chia s v i các ph n khác c a thi t k . kh c ph c v n này, m t l p l n v i nhi u tác v nên c chia thành nhi u ph n. M i ph n ó s c ki m tra và c a ra i di n cho m t vài s tr u ng. Khi ó, các ph n này có th c chia s v i m t s ph n khác c a thi t k .
1.2.3.2.2. Gán các trách nhi m h th ng t i các i t ng c th
Trách nhi m c a m t i t ng ho c m t h th ng c nh ngh a nh là “ki n th c duy trì và các ho t ng mà có th c th c hi n”. Trong h th ng này, trách nhi m h th ng s c phân ph i t i các i t ng mà ã c nh n d ng trong các pha s m h n.
Trong su t quá trình nh n d ng các ho t ng mà m t i t ng ch u trách nhi m th c hi n, và ki n th c gì v nó duy trì, m t cách chung di n t các trách nhi m t ng t nên c s d ng, b i vì vi c này có th giúp vi c nh n d ng các tr u t ng. Các trách nhi m nên c t t i l p mà v lôgíc chúng thu c v . Trong m t s tr ng h p bi t m t l p nào mà trách nhi m ó thu c v là không rõ ràng. Sau ó, ng i thi t k nên h ng t i m c cao nh t c a s tr u ng. N u m t trách nhi m có th thu c v m t vài l p t quan m c lôgic, thì trách nhi m này nên c t trong l p mà nó cho phép ng i thi t k nh n d ng s tr u t ng m c cao h n.
M t i t ng c ng tác v i m t i t ng khác n u nh nó c n n m t ho c nhi u các tác v c a các i t ng khác th c hi n y ch c n ng c a mình. Trong su t ho t ng này, các s c ng tác gi a các i t ng trong h th ng nên c nh n d ng. i v i m i i t ng và m i trách nhi m trong h th ng, s c ng tác nên c tìm ra n u nh trách nhi m này ch có th c áp ng y n u có s c ng tác v i các i t ng khác.
c t ng tác là m t công c h u d ng trong vi c xác nh các i t ng nên c c ng tác nh th nào trong h th ng. Các liên k t gi a các i t ng có th c thay i t s phân tích. u này h u nh ch c ch n s là thay i chung nh t t i mô hình phân tích. S th c hi n th c t c a các liên k t và s ng b gi a các quá trình là các ví d v các liên k t có th b thay i.
cho thi t k có kh n ng m r ng, thì không nên có s tham chi u t i các l p c th . C n m b o nh ngh a các s c ng tác gi a các l p tr u t ng nh hình v 1.10. Thông qua các s c ng tác gi a các l p tr u t ng nào ó, i u này m ng cho cách s d ng các ph ng pháp ng c gi i h n trong các l p c th .
Hình 1.10. Nguyên t c nh ngh a các s công tác gi a các l p tr u t ng1.2.3.2.4. Làm m n các c u trúc th a k và các s c ng tác 1.2.3.2.4. Làm m n các c u trúc th a k và các s c ng tác
Ho t ng này c th c hi n trong su t quá trình thi t k . N u các s tr u ng d ng nh không c nh ngh a m t l n, các nhà thi t k h u nh ch c ch n ph i l p l i thông qua các ho t ng tr c.
Vi c dò tìm nh n d ng các s tr u t ng, s cung c p các c u trúc phân c p th a k sâu và h p, b i vì thông tin c chia s b i các l p s c tr u t ng hóa thành các siêu l p. Các ki n trúc th a k r ng và không sâu ch ra r ng các s tr u
M t s quan tâm chính khi làm m n các c u trúc phân c p và các s c ng tác nên gi các ch c n ng chung và các tr u t ng ã c nh n d ng trong s phân tích. S làm m n sâu h n không nên vi ph m các tr u t ng có tính khái ni m này.
M t cách b t u s làm m n là tìm các siêu l p mà th c hi n cùng m t tác v và c g ng chuy n tác v này vào m t siêu l p m i. Cách ti p c n này có th tr v m t c u trúc phân c p sâu h n và có th là khó hi u h n, b i vì các tác v c a nó s c tr i dài trong c u trúc này. B t k khi nào, s th a k nên c thay th b i t h p. C g ng không m r ng c u trúc phân c p quá xa, nh ng rút ra thu c tính vào m t l p c u trúc phân c p m i và s d ng các n d c a l p m i này nh các thành ph n trong các n d c a c u trúc phân c p l p u tiên.
Các nhà thi t k nên tìm các l p ho c các tác v mà có các tên khác nhau, nh ng cung c p cùng ch c n ng. t tên l i cho chúng là m t cách n gi n có th ch p nh n c, và s làm nó d dàng h n xem các m chung, nh ng yêu c u m t s công vi c v so n th o v n b n.
N u có các tác v ho c các l p mà cung c p các ch c n ng g n gi ng nhau, thì có th s d ng tham s cho chúng. N u các s khác nhau có th c rút ra b ng vi c truy n các tham s , các l p t ng t trong các ng d ng khác có th c thay th b i m t l p chung trong framework. L p này s s d ng vi c truy n các tham s khác nhau, tùy thu c vào ng d ng s d ng l p này.
Hình 1.11. Các thu c tính chung c nh n d ng b ng cách i tên và s d ng tham s
Nói chung, vi c l p l i d ng nh là không th tránh kh i, nh vi c t t c các s tr u t ng d ng nh không th c tìm th y trong l p u tiên. i u này bu c các c u trúc phân c p l p s c c u trúc l i trong thi t k , và m t u ki n tiên quy t cho vi c c u trúc l i các c u trúc này là hi u chúng. Kh n ng hi u c có th c thu th p ho c b i tài li u chính xác ho c b ng cách n gi n hóa ho c là m t s k t h p c a c hai.
1.2.3.3. Pha thi t k chi ti t
Trong su t pha thi t k chi ti t, t t c các l p v i các thu c tính và các tác v c nh n d ng và c mô t , khi s d ng ngôn ng th c hi n d nh. u vào là các i t ng và các s c ng tác c nh n d ng trong thi t k ki n trúc, ã c miêu t trong mô hình i t ng t nh và các mô hình ng, ví d các l c t ng tác và các bi u chuy n d ch tr ng thái.
M t tác v v i m t s tham s , d ng nh là m t cách chung xây d ng m t l p h n là m t tác v v i quá nhi u tham s . Các tác v có tham s nên c làm m n l i và có th c chia thành nhi u tác v . Tuy nhiên có m t ngo i l là các c u t kh i t o i t ng.
M t tác v nên th c hi n nhi u h n m t nhi m v . M t tác v mà th c hi n nhi u nhi m v khác nhau nên c chia thành m t vài tác v , b i vì m t ph n c a tác v có th c chia s b i m t vài l p, trong khi các ph n khác nhau là duy nh t c a m t l p.
Các l p là s tr u t ng c a các i t ng c khái quát t nó. Các l p có nhi u h n 25 tác v mô t các s tr u t ng ph c t p, và có th ch a m t vài các s tr u t ng khác. Các s tr u t ng này nên có l p c a b n thân nó. Viêc làm ph c t p các giao di n chung th m chí càng làm cho framework khó hi u thêm.
Các s tr u t ng m i có th c tìm th y trong su t quá trình thi t k chi ti t. Các s tr u t ng có th c a ra trong các mô hình mà chúng thu c v , duy trì c u trúc c a tài li u. Các s tr u t ng mang tính khái ni m thu c v s phân tích.
nh n d ng c các l p sâu h n, các ký hi u tác v nên là th ng nh t, tính ch t ng d ng nên c chú tr ng h n là tính c th .
1.2.4. Tri n khai framework
N i dung chính c a pha này là s d ng m t ngôn ng l p trình h ng i ng c th , nh C++, Java, … tri n khai các thi t k ã c t o ra trong giai
o n thi t k . Vi c tri n khai này liên quan ch t ch n các yêu c u c a framework và ngôn ng th c hi n d nh. Do v y, trong ph n này, s không i sâu vào vi c th c hi n m t framework c th nào c , mà ch c p n k ch b n tri n khai và m t s tiêu chu n c n ph i áp ng trong khi xây d ng m t framework.
Khi tri n khai m t framework, m t cách ti p c n t trên xu ng nên là cách phù h p nh t, b t u t các l p m c cao. Các phát tri n này th c hi n ch c n ng chung c a các ng d ng và ti p t c th c hi n các i t ng m c th p. T t c các i t ng là không hi u l c t i th i m ki m tra framework, do v y m t u ki n thay th chúng ph i c tìm th y. Ho c là các cu ng mã có th c cung c p, ho c g i t i các i t ng m c th p có th c gi nh.
Ti p sau pha thi t k chi ti t, t t c các l p v i các thu c tính và ph ng pháp c xác nh khi s d ng ngôn ng c d ki n. Tuy nhiên, không có ranh gi i rõ ràng gi a thi t k chi ti t, tri n khai và ki m th , b i vì các s không nh t quán s c phát hi n trong khi tri n khai và s c ph n h i l i pha thi t k chi ti t. Các thành ph n th m chí còn c ki m tra trong su t pha tri n khai.
u vào c a pha tri n khai là m t mô t chi ti t c a các l p, các giao di n và các nh ngh a bên ngoài c c th v i hình th c c a ngôn ng th c hi n. u ra là m t t p các l p c th c hi n, s n sàng c ki m tra. i v i m i l p, vi c tri n khai g m hai b c sau:
® S tri n khai giao di n bên ngoài c a l p. Giao di n này, c xác nh trong su t pha thi t k chi ti t, c hoàn thành ch a nh ngh a bên trong c a l p này, ví d các thu c tính và tác v c b o v hay riêng t .
® S tri n khai các tác v , b t u v i m t tác v r ng (không ch a mã) v i ki u tr v úng. Các ng x n i b c xác nh b ng cách ki m tra các mô hình ng, ví d các l c t ng tác và các bi u chuy n d ch tr ng thái. Các c t ng tác th m chí ch a các mã gi (pseudocode), trên ó vi c th c hi n có th c d ng lên. ng x toàn b c a các tác v c th c hi n trong b c này.
Các quy c tiêu chu n v th c hi n nên c nh ngh a ho c c s d ng l i. Các quy c này bao g m xác nh các c u trúc file, các quy c t tên và các quy t c cho các tham chi u, .. Khi có m t mã ngu n theo chu n, vi c c mã s
c d dàng. Vi c có m t n mã mà d c s thu n l i cho vi c hi u framework, và ti t ki m c th i gian cho ng i s d ng.
1.2.5. Xác minh và th m nh tính h p l
N i dung chính s c trình b y bao g m ph n 1.2.5.1. là các khái ni m chung v vi c ki m th ph n m m, và ph n 1.2.5.2, là các s ki m th dành riêng cho framework.
M c ích c a vi c ki m th là ki m tra r ng h th ng ang c xây d ng áp ng c y các yêu c u ã c nêu trong phân tích mi n ng d ng ho c trong pha phân tích. M c ích c a vi c th m nh tính h p l là ki m tra s n ph m c xây d ng ã là s n ph m mà ng i t v n th c s mu n ch a.
M t trong các ho t ng c a pha này là ho t ng ki m th . Ho t ng ki m th này th ng c phân nhóm thành ki m th n v , ki m th tích h p và ki m th ng c. Các ho t ng khác là các i u tra mã và ánh giá, ki m th có tính ch t th ng kê. Các th m dò mã và ánh giá là không khác cho vi c phát tri n framework và s s d ng l i, nh i v i vi c phát tri n ph n m m khác. Do v y ây ch trình b y ki m th mang tính ch t th ng kê.
1.2.5.1. Các khái ni m v ki m th ph n m m
Trong ph n này, s trình b y khái ni m v ki m th n v , ki m th tích h p