G II THI U CHUN V FRAMEWORK
1.3. Các vn trong vic phát trin framework
Các framework ã c nh ngh a cho m t s l ng l n các mi n ng d ng. u i m ã c kh ng nh c a các framework là t ng c ng kh n ng s d ng l i và gi m th i gian ti p c n các ng d ng. Nh ng ây có các v n và các tr ng i i kèm v i các framework, mà có th xu t hi n tr c khi chúng c s d ng trong các d án th t. Vi c s d ng l i m c các thành ph n l n là có th t o ra ph n l n h n c a h th ng và v i nh ng khía c nh c u ch nh cho phù h p, ã không c ch ra b i b n thân các m u h ng i t ng. Cách hi u này ã d n t i vi c phát tri n
các framework h ng i t ng; các ng d ng l n và tr u t ng trong m t vùng c th mà có th c u ch nh cho phù h p v i các ng d ng riêng bi t. M t framework ch a m t ki n trúc l n mà có th c s d ng l i nh t ng th ng d ng cho vi c xây d ng m t h th ng m i.
Các v n ch y u g p ph i trong quá trình phát tri n framework là xác nh kích th c chính xác c a mi n ng d ng, l p tài li u cho framework, ph bi n framework và xác nh n các ho t ng tr u t ng. Các v n này s c trình b y chi ti t trong các ph n sau.
1.3.1. Xác nh ph m vi c a mi n ng d ng
Khi quy t nh phát tri n m t framework cho m t mi n ng d ng c th , s có v n v xác nh chính xác kích th c c a mi n. N u nh mi n ng d ng quá l n, thì các nhà phát tri n s không th có kinh nghi m c a mi n ng d ng này. H n n a, có th là khó kh n ch ng minh tính ti n ích và kh n ng ng d ng c a m t framework cho m t mi n ng d ng l n. Th m chí, u t tài chính cho m t framework l n có th là quá nhi u nên s r t khó có c các tài nguyên c n thi t. Và cu i cùng, d án có th s không có c các l i ích s d ng l i ã c d nh t c trong m t th i gian có th .
Ng c l i, m t mi n ng d ng nh h n thì s có th s d ng các kinh nghi m ã bi t m t cách hi u qu h n. Tuy nhiên, có m t v n là framework k t qu có khuynh h ng nh y c m v i các thay i c a mi n ng d ng. Ví d , v i m t framework h p, m t ng d ng có th d dàng m r ng v t quá gi i h n c a framework, và do v y s yêu c u nhi u thay i c a ng d ng c th t i framework
ti n d ng h n, khi framework ph i bao trùm ng d ng hoàn ch nh.
T nh ng lu n m trên, có th th y r ng vi c xác nh gi i h n c a mi n ng d ng là m t quy t nh ph i c cân nh c r t c n th n. B i vì t ng lai là không oán tr c c, do v y s có m t v n là r t khó t c các gi i h n rõ ràng cho framework. M t v n th hai là, m t cách r t t nhiên, xu h ng c a ng i dùng là t ng kích th c c a framework trong su t quá trình thi t k , b i vì m t framework ã bao g m m t s các khía c nh khác d ng nh s ti n ích h n m t framework mà thi u các m t này.
Ngoài các v n trên, vi c l a ch n kích th c c a l nh v c là m t v n khó. M t framework không c quá chung chung n m c các thành ph n c a nó
t quá ng d ng d nh. M t cách ti p c n “m t kích c h p cho t t c ” s a ra các r i ro không c n thi t. Framework phù h p nh t cho m t l nh v c c th s
ph n ánh m t cách k càng, nh , t p trung trên m t v n c th hay m t nhóm các v n .
1.3.2. p tài li u cho framework
Các framework h ng i t ng n i lên nh là m t ph ng pháp quan tr ng ti p nh n vi c s d ng l i mã t t h n. Tuy nhiên, m t tr ng i chính v n còn trên con ng c a vi c s d ng r ng rãi chúng, ó là các framework có khuynh h ng tr nên l n và ch a các m i t ng quan ph c t p gi a các i t ng. Các nhà l p trình s ph i h c r t nhi u khi ti p c n v i m t framework m i. i v i ng i s d ng, m khác nhau ch y u gi a m t framework và m t l p các th vi n là ki n th c c yêu c u s d ng chúng. Nói chung, các framework là khó hi u h n các l p th vi n, b i vì framework nh là m t b nh d ng v sau, s thu nh n nhi u thông tin thi t k h n.
M t framework là d dàng s d ng, n u các giao di n u ch nh c c a nó là n gi n n m c có th và th ng nh t v bi u m u. M t tài li u t t c n miêu t các v n quan tr ng sau: ® M c ích c a framework ® T ng quan v ki n trúc và các t ng tác chính ® i m u ch nh và cách s d ng chúng
® Các thành ph n tiêu chu n c cung c p b i th vi n l p
M c ích c a vi c làm tài li u framework g m hai ph n. u tiên, thông tin v thi t k framework và thông tin liên quan khác c n c trao i trong su t quá trình phát tri n framework. Các thông tin trao i n gi n, không c u k là r t thu n l i m r ng ki n th c v framework c phát tri n. M t nhóm thi t k nh th ng s d ng các k thu t tùy h ng khác nhau trao i thông tin gi a các thành viên trong nhóm. V n là, các k thu t này r t không hi u qu và th ng không m b o r ng thông tin úng ã c a n.
Th hai, thông tin v cách s d ng framework nh th nào c n c chuy n t i ng i s d ng framework. Tr ng h p này quan tr ng h n, nh t là khi các kênh thông tin tiêu chu n là không hi u l c và t t c thông tin ph i c trao i theo m t cách nào ó có th phân phát cùng v i framework này. Ph ng pháp hi n t i th c hi n v n này là các gi i thích v các lo i s tay khác nhau, s d ng các ph ng ti n khác nhau. Tài li u này th ng là tùy h ng, u này làm nó khó hi u và so sánh. Vi c l p tài li u framework nên ch a m c ích c a framework,
thông tin v cách s d ng framework nh th nào, m c ích c a các ví d ng d ng, và thi t k th c t c a framework.
i v i m t framework, h p tr ng hay h p en, u c n ng i dùng hi u c các nguyên t c d i l p ho c ki n trúc c b n c a framework này. M t khác, các quy t c và ràng bu c chi ti t c nh ngh a b i các nhà phát tri n framework ph i c làm không c m tính và framework này có th không c s d ng nh d nh. Ví d v các quy t c và ràng bu c này là s các y u t trong t p h p các i
ng framework, vi c t o hay h y b các i t ng framework t nh và ng, tr t t c a các tr ng h p c th , s ng b và các v n v hi u qu th c hi n. Các quy t c và ràng bu c này th ng xuyên b che gi u tuy t i ho c không có trong các tài li u, và ây có m t nhu c u l n suy lu n và làm tài li u v chúng. V n c t ra là, thông tin này c n c chuy n t i nh th nào theo m t d ng ng n g n và súc tích t i ng i s d ng framework.
1.3.3. Các v n v ph bi n framework
Ph bi n m t framework phát tri n ng d ng ph i c d a trên m t s nguyên t c quan tr ng. V n là c n có nh ngh a và m b o các nguyên t c này cho framework. Framework này ph i có th c s d ng l i, có ch c ch n ch p nh n c trong l nh v c này và c làm tài li u t t.
V n c a vi c nh ngh a ch c ch n trong l nh v c có ph c t p s b nhân ôi. u tiên, b n thân l nh v c này tuy không ph i là ch c ch n, nh ng ph i không c thay i. Th hai, v n c a gi i h n l nh v c và các gi i h n th m chí làm ph c t p quy t nh v ph bi n framework này. Quy t nh framework này có c làm tài li u t t và hi u qu hay không là khó, do không có ph ng pháp l p tài li u chung nào c ch p nh n mà bao trùm t t c các m t c a framework, th m chí r t khó kh n nh ngh a tài li u này có là d hi u hay không i v i các ng i dùng d nh.
Vi c ph bi n m t framework không y có th s mang l i các h u qu nghiêm tr ng trong vi c duy trì và s d ng framework này c ng nh khi áp d ng cho các ng d ng c th .
1.3.4. Xác nh n các ho t ng tr u t ng
Khi phát tri n m t framework, các k t qu ph i c ki m th . Do m t framework có th c s d ng theo nhi u cách khác nhau và không c bi t tr c, v n có th ch n gi n là không th c hi n c vi c ki m th t t c các m t xác áng c a
n n a, vi c ki m th framework cho các l i, s d ng ph ng pháp truy n th ng, nh các ph n thi hành c a mã trong các l p ã c xác nh úng, s không làm vi c cho toàn b framework. Cách t t nh t là các ph n c a framework có th c ki m th theo cách này, nh ng khi framework d a trên ph n này c th c hi n b i ng i s d ng thì l i không th c ki m th hoàn toàn tr c khi framework c ph bi n. Chúng th m chí liên quan t i v n v ki m th các ph ng pháp tr u ng. Th t c ki m th tiêu chu n không cho phép vi c ki m th các thành ph n tr u t ng, nh là các l p c s tr u t ng.
Ch ng 2
MÔ T BÀI TOÁN L P L CH VÀ THEO DÕI TI N TH C HI N D ÁN
2.1. Mô t ho t ng nghi p v 2.1.1. Yêu c u chung v qu n lý d án
Qu n lý d án là m t ho t ng nghi p v bao g m m t lo t các công vi c nh c p nh t thông tin và theo dõi tình hình th c hi n d án, k t khi d án hình thành n khi d án k t thúc. Các công vi c này ch y u c ng i qu n tr d án th c hi n, còn các thành viên d án s ch u trách nhi m c p nh t, giám sát ti n và tr ng thái th c hi n các công vi c c a d án.
Qu n lý d án là m t l nh v c r ng, liên quan n nhi u nghi p v khác nh qu n lý ngu n nhân l c, qu n lý tài nguyên, qu n lý khách hàng, … Tuy nhiên, trong gi i h n c a lu n v n này, nghi p v qu n lý d án s ch t p trung vào v n l p l ch làm vi c và theo dõi tình hình th c hi n các công vi c c a d án. Các thông tin liên quan n nhân viên và khách hàng s c l y t các h th ng Qu n lý ngu n nhân l c và Qu n lý khách hàng.
Các công vi c c n ph i th c hi n trong nghi p v qu n lý d án là:
® T o m t d án m i. Khi m t d án m i hình thành, c n c p nh t các thông tin chung c a d án nh mã d án, tên d án, lo i d án, mô t d án, khách hàng, ngày b t u và ngày k t thúc. Sau khi d án m i ã c t o, ng i qu n tr d án có th c p nh t l i các thông tin này.
® T o danh sách thành viên th c hi n d án. Danh sách thành viên này c ng i qu n tr d án ch n t danh sách các nhân viên có trong h th ng. Thông tin v nhân viên s c l y t h con Qu n lý ngu n nhân l c. Ngoài ra, m i nhân viên khi tham gia vào m t d án s có m t vai trò nh “Qu n tr d án”, “Tr ng nhóm”, “L p trình viên”, …
® L p l ch làm vi c cho d án. M i d án s có m t l ch làm vi c. L ch làm vi c này bao g m nhi u công vi c. M i công vi c s có mã công vi c, tên công vi c, th i m b t u công vi c và th i m k t thúc công vi c. Ngoài ra,
“Thi t k h th ng” s có các công vi c con là “Thi t k t ng th ”, “Thi t k CSDL”, … Nh ng công vi c này do qu n tr d án xác nh và c l ng chi phí.
® Phân công th c hi n công vi c. V i m i công vi c có trong l ch làm vi c, ng i qu n tr d án s ti n hành phân công ng i th c hi n công vi c ó. M i công vi c có th có nhi u thành viên th c hi n, khi có nhi u thành viên cùng th c hi n m t công vi c chung thì ph i có m t thành viên ch u trách nhi m chính. Các thành viên này c l y t trong danh sách các thành viên tham gia d án.
® Theo dõi tình hình th c hi n công vi c. M i thành viên khi th c hi n các công vi c ã c phân công s ch u trách nhi m c p nh t ti n th c hi n và tr ng thái c a công vi c. D a trên các thông tin này, ng i qu n tr d án s l p báo cáo v tình hình th c hi n c a toàn b d án.
® T m d ng ho c h y b công vi c. Trong quá trình ho t ng c a d án, m t công vi c có th b t m ng ng ho c h y b . Khi t m ng ng hay h y b công vi c, ng i qu n tr d án c n ph i ghi rõ lý do mà công vi c ó ã b t m ng ng ho c h y b .
2.2.2.T ng h p các ch c n ng h th ng
Tham chi u Ch c n ng
R1 C p nh t d án
R1.1 C p nh t thông tin chung c a d án
R1.1.1 T o m i m t d án
R1.1.2 S a m t d án
R1.1.3 Xóa m t d án
R1.2 C p nh t thành viên c a d án
R1.2.1 Thêm nhân viên vào d án
R1.2.2 B t nhân viên kh i d án
R2 Qu n lý l ch làm vi c
Tham chi u Ch c n ng R2.1.1 T o m i m t công vi c R2.1.2 S a m t công vi c R2.1.3 Xóa m t công vi c R2.1.4 T m d ng công vi c R2.1.5 H y b m t công vi c
R2.2 Phân công th c hi n công vi c
R2.2.1 Thêm thành viên th c hi n công vi c
R2.2.2 B t thành viên th c hi n công vi c
R3 Theo dõi th c hi n công vi c
R3.1 C p nh t ti n th c hi n công vi c
R3.2 C p nh t tr ng thái c a công vi c
2.1.3. Bi u khái ni m l nh v c nghi p v
Hình 2.2. Bi u mô hình l nh v c c a h th ng Qu n lý d án2.1.4. T n thu t ng 2.1.4. T n thu t ng
STT Anh Vi t Gi i thích n i dung
1 Project D án D án có trong h th ng, bao g m các d án ti m n ng, các d án ang th c hi n và các d án s th c hi n
2 Employee Nhân viên Nhân viên có trong h th ng
3 ProjectMember Thành viên Nhân viên tham gia vào m t d án
4 Role Vai trò Vai trò c a các thành viên khi tham gia vào m t d án:
- Qu n tr d án