1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Framework và ứng dụng trong việc xây dựng phần mềm

122 26 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 2,21 MB

Nội dung

U Ngày nay, m t nh ng v n quan tr ng c a ngành công ngh ph n m m 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 th vi n l p Trong th vi n l p có ch a hàm th t c th ng hay c s d ng ng d ng ph n m m Tuy nhiên, cách s d ng l i t ng i th ng, ch có th s d ng l i o n mã có s n, mà không th s d ng thi t k Ý t ng s d ng l i thi t k có s n ã c th hi n qua vi c s d ng m u thi t k M t m u thi t k m t mơ t có tên v m t c p v n gi i pháp, có th c áp d ng nh ng hồn c nh khác Tuy nhiên, m u thi t k th ng khó s d ng có m c tr u t ng hóa cao Do v y, có th s d ng l i thi t k có s n hi u qu h n, ng i ta ã a khái ni m framework Gi ng v i m u thi t k , framework c ng c s d ng l i d dàng b ng cách thu nh n l i 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 bao g m c thi t k mã th c hi n tài c a khóa lu n “Framework ng d ng vi c xây d ng ph n m m” N i dung c a tài g m ph n sau T ng quan v framework Ph n nêu khái ni m, lo i framework c m phân Ph ng pháp phát tri n framework Ph n a m t ph ng pháp xây d ng framework Ph ng pháp g m nhi u giai n là: thu th p yêu c u phân tích, thi t k , tri n khai, xác minh th m nh tính h p l Các v n vi c phát tri n framework Ph n nêu lên v n g p ph i 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 tốn L p l ch theo dõi ti n th c hi n d án Ph n phân tích, c t yêu c u c a ng d ng Qu n lý d án Phân tích thi t k h th ng Ph n k t qu c a vi c phân tích thi t k h th ng L p l ch 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 a framework c a mi n ng d ng Qu n lý l ch làm vi c, d a k t qu c a vi c phân tích thi t k toán L p l ch theo dõi ti n th c hi n d án Ch ng 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 n m t v n quan tr ng cho 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 th vi n hàm API hay th vi n l p Ti p theo, nhà phát tri n nh n th y không ch c n s d ng l i n mã mà c n ph i s d ng l i 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 framework – khung làm vi c Các m u thi t k m t mơ t có tên v m t c p v n gi i pháp Các mô t chi ti t v m u thi t k s c trình b y m t ch khác, n i dung c a ph n s ch trình b y v framework ph m vi ng d ng c a 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 m t ph n c a thi t k th c hi n, cho m t ng d ng m t l nh v c u có c m giác m t framework khơng m t h th ng hồn ch nh H th ng có th c u ch nh l i t o ng d ng hồn ch nh Các framework nói chung c s d ng c phát tri n c n phát tri n m t vài ng d ng t ng t M t framework th c hi n ph n chung gi a ng d ng Do v y, m t framework gi m công s c c n thi t xây d ng ng d ng Ph n l n nh ngh a u nh t trí r ng, m t framework h ng i t ng m t ki n trúc ph n m m có th s d ng l i, bao g m c thi t k mã th c hi n Tuy nhiên, l i nh ngh a c th ng nh t chung v framework thành ph n h p thành c a Sau ây m t s c nêu [10]: nh ngh a khác ho c t ng t v framework “M t framework ràng bu c l a ch n xác v s phân chia tr ng thái lu ng u n, ng i dùng hoàn thi n ho c m r ng framework t o m t ng d ng th c t ” “M t framework m t t p l p mà bao g m m t thi t k tr u t gi i pháp c a m t ho c v n liên quan” “M t framework m t t p i t ng mà c ng tác v i t p áp ng cho m t ng d ng ho c m t vùng h th ng con” ng cho t o m t “M t framework m t t p ký hi u c a l p c ng tác mà t cc m u ph m vi nh c ch ch y u th c hi n yêu c u chung thi t k m t ph m vi ng d ng c th ” “M t t p l p c ng tác v i mà t o 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 h ng d n có tính ki n trúc b ng cách phân chia thi t k thành l p tr u t ng nh ngh a áp ng 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 l p t o phiên b n c a l p framework” Nh v y, m t framework bao g m m t t p l p mà 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 ng d ng c th c a m t l nh v c M t h v n liên quan, cho phép t ng h p m t framework H n n a, framework c bi u di n thành m t ngơn ng l p trình, nh v y cung c p cho vi c s d ng l i c mã th c hi n 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 thành ph n sau: fi Các tài li u thi t k fi Các giao di n fi Các l p tr u t ng fi Các thành ph n fi Các l p M i quan h gi a thành ph n khác m t framework nh hình v sau: c mơ t 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 m t ph n c a Các l p Hình 1.1 M i quan h gi a thành ph n khác m t framework [4] Các thành ph n c a m t framework c mô t nh sau: fi Các tài li u thi t k : thi t k c a m t framework có th bao g m l c l p, vi t b ng v n b n ho c chí m t ý t ng u c a nhà phát tri n fi Các giao di n: giao di n miêu t áp ng bên c a l p Các giao di n có th c s d ng mơ hình vai trò khác h th ng, ví d nh vai trò m t m u thi t k M t vai trò i di n cho m t nhóm nh c a ph ng pháp giao di n mà liên quan t i ph ng pháp khác fi Các l p tr u t ng: m t l p tr u t ng 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 chung cho m t nhóm thành ph n th c hi n m t nhóm giao di n fi Các thành ph n: Gi ng nh l p, thành ph n có th c tích h p v i l p khác Trong hình v , có m t m i tên “là m t ph n c a” gi a l p thành ph n N u b n thân l p có m t API c nh ngh a y t p k t qu c a l p s c bi u hi n nh m t t h p 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 m t n v k t c u v i giao di n c ghi rõ theo h p ng ph thu c ng c nh rõ ràng M t thành ph n ph n m m có th thu c c t h p b ng hãng th ba” c tri n khai không ph fi Các l p: M c th p nh t c a m t framework l p Các l p ch khác v thành ph n th c t , API c cơng khai c a khơng a giao di n c a m t framework M t cách n hình l c s d ng b i 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 l p tr làm vi v i 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 t ng tác c mong i gi a thành ph n Ví d , m t thành ph n có th trơng ch nh ng t thành ph n khác nên c cung c p t i chúng? M t framework nh ngh a d ch v l a ch n, cung c p m t gi i thích cho vi c nh ngh a thành ph n 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 thành ph n m i có th t ng tác m nh m v i nh ng ã có Chúng c ng tác v i chi ti t, khía c nh c th c a v n c cân nh c b i framework Các thành ph n ng d ng có th v n ch ng minh tính t ng thích v i 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 thành ph n c a framework S thi hành thành ph n có th framework xác nh m t d ch v cung c p d ch v cho thành ph n khác 1.1.1.3 Phân bi t framework v i 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 tr u t ng h n m t framework, b i m t framework c bao g m c mã, ó ch có ví d c a 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 y u t khác t cs k th p t t nh t k t qu c a m t thi t k u không m t tr ng h p cho framework Th hai, m u thi t k nh ng ki n trúc nh h n so v i framework Do v y, m t framework có th ch a m t s m u thi t k , nh ng i u ng c l i không th Do v y, 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, framework c chun mơn hóa h n so v i m u thi t k Các framework luôn liên quan n m t mi n ng d ng c th , ó m u thi t k chung có th c ng d ng b t k mi n ng d ng 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 t o m t thi t k Trong ó, m t framework h ng i ng m t thi t k Các ngôn ng m u b sung cho m t framework, chúng có th h ng d n k s ph n m m s d ng framework nh th nào, mô t t i 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 tính n ng c a m t ng d ng nh ng khơng th thi hành b i khơng bao g m t ng tác tr ng h p ng d ng c th Các framework khác v i th vi n l p ch : chúng nh m t i mi n ng d ng c th Trong ó, th vi n l p cung c p cho ng i s d ng s th c hi n tr c c a thu t toán Các th vi n l p th ng, ng i s d ng g i ph ng pháp th vi n l p th c hi n m t s ho t ng Trong ó framework nh ngh a khung cho m t ng d ng th c t i u n lu ng u n 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 th vi n l p ã có s n th c hi n thu t toán chung c u trúc d li u Các thành ph n ph n m m ban u ã cd nh thành ph n ch c ng riêng l mà có th c u t t nhà cung c p tích h p vào ng d ng Các framework d ng nh nh ng thành ph n mà có th c u t t nh cung c p nhi u h n m t framework có th c s d ng m t ng d ng Tuy nhiên, m t m khác d nh n th y gi a chúng framework cung c p m t b r ng h n d ch v so v i thành ph n ph n m m Chúng có kh n ng tùy bi n nhi u h n, có giao di n ph c t p h n i u quan tr ng h n 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 ng d ng Do v y, framework khó h c h n i v i nhà phát tri n, nh ng m t ã hi u c h t framework s có c s linh ng cao h n v i m t framework c thi t k t t có th gi m c n l c c n b xây d ng m t ng d ng ã c tùy bi n rõ r t h n Trong framework thành ph n k thu t khác nhau, chúng nên c xem c s d ng nh k thu t c ng tác v i V i framework có th s d ng thành ph n ng d ng c phát tri n s d ng framework th m chí có th ti n d ng h n 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 thành ph n ActiveX giao di n c a gi ng nh vi c trao i v i thành ph n ActiveX c óng gói MFC framework M t ví d khác cho s ph thu c l n gi a framework thành ph n vi c s d ng framework t o thành ph n m i, ví d , framework Active Template Library (ATL) c a Microsoft cs d ng r ng rãi vi c t o 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 sau [5]: fi Kh n ng mơ un hóa fi Kh n ng s d ng l i fi Kh n ng m r ng fi S i chi u c a u n V c m th nh t, framework t ng c ng kh n ng mơ un hóa b ng cách óng gói chi ti t th c hi n không ch c ch n ng sau giao di n ch c ch n Kh n ng 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 tác ng c a nh ng thay i v ki n trúc s th c hi n S c c b hóa gi m n l c c yêu c u hi u trì ph n m m hi n có M t khác, giao di n ch c ch n c cung c p b i framework t ng ng kh n ng s d ng l i b ng cách nh ngh a thành ph n chung mà có th c áp d ng t o 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 u tiên n l c c a nhà phát tri n kinh nghi m tránh vi c t o làm h p l l i gi i pháp chung cho yêu c u c a ng d ng l p l i thách th c thi t k ph n m m Vi c s d ng l i thành ph n thi t k có th m t s c i ti n k 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 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 m nóng t ng minh mà cho phép ng d ng m r ng giao di n ch c ch n cách ng x c a vùng ng d ng v i s thay i c yêu c u b i tr ng h p c a ng d ng m t ng c nh c th Kh n ng m r ng c a framework c n thi t m b o s u ch nh có tính th i gian c a d ch 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 s i chi u c a u n, th ng c g i “Nguyên t c Hollywood”ng g i cho chúng tôi, s g i cho b n Ki n trúc cho phép ng d ng h p v i quy t c tiêu chu n b ng cách u ch nh t ng b c x lý, b ng 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 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 i t ng qu n lý s ki n ã c ng ký tr c, mà th c hi n vi c x lý ng d ng c th s ki n i chi u u n cho phép framework nh ngh a m t t p ph ng pháp ng d ng c th áp ng v i s ki n bên 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, ó nh ng chi u quan tr ng nh t vùng v n mà framework tr t i, c u trúc n i b c a framework framework cd nh s d ng nh th V cách phân lo i th nh t, ng i ta chia framework thành framework ng d ng, framework mi n ng d ng framework h tr Các lo i framework s c trình b y chi ti t ph n 1.1.3.1 Ph n 1.1.3.2 s trình b y framework c u trú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, s có framework h p en, framework h p tr ng framaework h p xám Chi ti t v lo i framework s c mô t ph n 1.1.3.3 1.1.3.1 Phân lo i framework theo vùng v n Tr c i vào chi ti t c a 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 monolithic framework fine-grained framework Các tài li u hi n có [10] v framework miêu t kinh nghi m thu c t vi c s d ng monolithic framework, ví d nh 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ó m t cách ti p c n khác tìm framework fine-grained nh c ng tác l n M t ng d ng có th c “t ng h p” t m t s framework fine-grained S phát tri n c a fine-grained c ng t ng t nh vi c phát tri n monolithic framework i m khác ch y u framework fine-grained ph i c thi t k cho s tích h p b i ph m vi bao hàm c a framework không ph i m t l nh v c hoàn ch nh Vi c phân lo i theo vùng v n chia framework thành ba lo i framework ng d ng, framework mi n ng d ng framework h tr Các framework ng d ng mi n ng d ng th ng monolithic framework, framework h tr nh ng tr ng h p n hình c a fine-grained framework M t framework ng d ng m t t p c a thành ph n v i m t thi t k ng d ng có th c s d ng l i u có ngh a r ng, ng i dùng không nh ng nh n c m t t p mã ch c n ng mà b t u v i c m t thi t k v cách mà chúng làm vi c nh th i u 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 th vi n hàm, v c b n th vi n hàm không ph thu c vào 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 hàm có th vi n u có ngh a là, s ph i ch u trách nhi m cho cách mà thành ph n khác t ng tác v i Còn 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 có ngh a là, framework ng d ng ch u trách nhi m cho s ng tác gi a thành ph n Trong u ki n d ng nh không m t l i ích l n nh ng th c s ây l i m t k t qu r t có ý ngh a thu c t cách ti p c n Framework ng d ng c s d ng l i nhi u ng d ng b i nhi u nhà phát tri n khác u có ngh a là, framework ng d ng m t khái ni m c xác th c vi c s d ng s thu c m t ng d ng t t h n Các ví d c a framework ng d ng framework cho giao di n ng i dùng [3] Lo i th hai phân lo i framework theo vùng v n c a m t mi n ng d ng Các framework t c ki n th c s tinh thông m t vùng v n c th Các framework cho u n s n xu t a ph ng ti n ví d c a framework mi n ng d ng Các framework mi n ng d ng có th ti n d ng th c hi n 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ông ty ho c c phát tri n t u Framework gi m s l ng công vi c mà c n th c hi n ng d ng a m t ph n m m có ch t l ng cao h n cho mi n ng d ng M t ví d c th c a framework thu c lo i nh Java Media Framework (JMF) Framework nhúng ch c n ng c n thi t cho vi c phát tri n ng d ng v x lý file audio video (d n kênh, tách kênh, mã hóa, b l c hi u ng), u n v trình di n ph ng ti n t c khóa cho s ng b c a ph ng ti n khác nh u vào ti ng u vào hình Lo i cu i theo cách phân lo i framework h tr Các framework h tr framework mà ph c v cho d ch v m c th p c a h th ng nh trình i u n cho thi t b b u n truy nh p file Nhà phát tri n ng d ng s d ng framework h tr tr c ti p ho c s d ng s i u ch nh c t o b i trình cung c p c a h th ng Các framework h tr có th c tùy bi n, ví d phát tri n m t h th ng m i ho c trình i u 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 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 khái ni m v ki n trúc ph n m m Nh ng ki n trúc c g i “các framework ki n trúc”, chúng c thi t k theo cách t c c u trúc 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 Các framework có tính ki n trúc ã c mơ t là: fi Layered (Phân t ng), giúp cho c u trúc ng d ng có th thành nhóm c a cơng vi c v i m c tr u t t ng khác c phân rã ng khác nh v fi Pipes and Filters ( ng b l c), có th c dùng c u trúc ng d ng mà có th c chia thành m t vài công vi c 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 fi Model-View-Controller (MVC), c xác nh m t cách rõ nh ngh a m t ki n trúc cho 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 ch c n ng ch y u c a fi Presentation-Abstraction-Controller (Trình di n-Tr u t ng- i u n), ki n trúc thích h p c u trú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 n trình b y c a mơ hình tr u t ng c a h th ng có th c t o bên ch c n ng c l p v i m i khác fi Reflective (Ph n ánh), có kh n ng áp d ng cho ng d ng mà c n ph i cân nh c v m t s thích nghi t ng lai s thay i môi tr ng, công ngh yêu c u, mà khơng c n có ph i thay i v ki n trúc cách th c hi n c a fi Microkernel, phù h p cho h th ng ph n m m c n cung c p khung nhìn khác d a ch c n ng c a chúng ph i thích nghi v i yêu c u c a h th ng Ví d c a microkernel h u hành fi Blackboard (B ng en), giúp c u trúc ng d ng ph c t p mà liên quan t i m t vài h th ng chuyên bi t cho l nh v c khác Các h th ng ph i h p tác xây d ng gi i pháp cho vi c gi i quy t v n 108 fi C p nh t d án Hình 5.2 Giao di n c p nh t d án 109 fi C p nh t thành viên c a d án Hình 5.3 Giao di n c p nh t thành viên d án 110 fi Tìm ki m cơng vi c Hình 5.4 Giao di n tìm ki m cơng vi c 111 fi C p nh t cơng vi c Hình 5.5 Giao di n c p nh t công vi c 112 fi Phân cơng th c hi n cơng vi c Hình 5.6 Giao di n phân công th c hi n công vi c 113 T LU N Trên ây toàn b n i dung c a khóa lu n “Framework ng d ng vi c xây d ng ph n m m” N i dung c a khóa lu n t p trung vào m y v n sau: fi nh ngh a, c u trúc, fi Ph c m phân lo i framework ng pháp phát tri n framework fi Xây d ng framework cho mi n ng d ng “Qu n lý l ch làm vi c” Hai v n u tiên ã c trình b y chi ti t ch ng – Gi i thi u chung v framework Trong ch ng ã nêu lên nh ngh a khác ho c ng t v framework Tuy nhiên, ph n l n nh ngh a u th ng nh t r ng, m t framework h ng i t ng m t ki n trúc ph n m m có th s d ng l i, bao g m c thi t k mã th c hi n làm rõ h n khái ni m v framework, ch ng a i m gi ng khác gi a framework khái ni m khác là: m u thi t k , ngôn ng m u, ng d ng h ng i t ng, th vi n l p thành ph n ph n m m Trong khái ni m này, c n ý nhi u n s khác gi a khung làm vi c m u thi t k M t m u thi t k khác v i m t khung làm vi c ba m: tr u ng h n, ki n trúc nh h n c chun mơn hóa h n tránh nh m l n framework v i khái ni m trên, ch ng nêu c tr ng c a framework là: 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 n Các khái ni m k s ch gi ng v i framework m t vài c m, ví d nh m u thi t k c ng có c m kh n ng s d ng l i kh n ng m r ng Tuy nhiên, m t m u thi t k s khơng có c m nh kh n ng mơ un hóa s i chi u c a u n N i dung cu i c a ph n T ng quan v framework 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, nhiên ph n ch nêu nh ng cách phân lo i quan nh t là: theo vùng v n , theo c u trúc n i b theo cách s d ng V i cách phân lo i theo vùng v n , có ba lo i là: framework ng d ng, framework mi n ng d ng framework h tr V i cách phân lo i theo c u trúc n i b s có nhi u lo i nh phân t ng, ng l c, MVC, môi gi i, … V i cách phân lo i theo cách s d ng, có ba lo i framewok h p tr ng, framework h p en framework h p xám 114 Ph n ti p theo c a ch ng c p n v n ph ng pháp phát tri n framework Hi n t i, c ng có m t s ph ng pháp phát tri n framework khác nhau, nhiên, khóa lu n ã ch n a ph ng pháp phát tri n framework theo cách t ng h p t ng d ng c th ã có c a m t mi n ng d ng Lý ch n ph ng pháp ph ng pháp t ng i d hi u g n v i ph ng pháp phân tích thi t k h ng i t ng Trong p ng pháp c ng có c t ng ng nh xây d ng m t ng d ng c th là: thu th p yêu c u phân tích; thi t k ; tri n khai; xác minh th m nh tính h p l Nh c m l n nh t c a ph ng pháp yêu c u i phát tri n ph i r t tinh thông v mi n ng d ng mà d nh phát tri n framework H n n a, vi c phát tri n framework theo ph ng pháp c ng òi h i nhi u th i gian nhân l c Chính nh c m mà xây d ng framework cho mi n ng d ng “Qu n lý l ch làm vi c”, ã ch n m t ph ng pháp n gi n h n xây d ng framework b ng cách s d ng m u thi t k tr u t ng hóa k t qu phân tích thi t k c a tốn “L p l ch theo dõi ti n th c hi n d án” u i m c a ph ng pháp có th phát tri n c framework th i gian ng n h n n n a, theo ph ng pháp c ng không yêu c u i phát tri n ph i n m ch c hi u sâu v mi n ng d ng, ki n th c ã c thu th p trình phân tích c t yêu c u c a toán Do v y, ch ng ti p theo c a khóa lu n t p trung vào vi c mơ t tốn “L p l ch theo dõi ti n th c hi n d án”, phân tích thi t k h th ng D a k t qu này, ch ng ti p theo ã trình b y cách th c xây d ng framework Qu n lý l ch làm vi c Ch ng cu i c a khóa lu n gi i thi u v ch ng trình qu n lý d án Ch ng trình m i ch th c hi n ch c n ng ch y u c a h th ng qu n lý l ch làm vi c nh c p nh t d án, c p nh t thành viên d án, c p nh t công vi c phân công th c hi n công vi c ng nghiên c u ti p theo c a tài ti p t c hoàn thi n framework Do framework m i ch c xây d ng t m t ng d ng c th nên r t có th framework ch a phù h p v i t t c ng d ng c a mi n ng d ng Qu n lý l ch làm vi c có th hồn thi n c framework, cơng vi c ti p theo s th nghi m vi c tri n khai framework m t s ví d c a mi n ng d ng, nh l p th i khóa bi u, qu n lý công vi c c a m t d án xây d ng, … TÀI LI U THAM KH O Ti ng Vi t Nguy n V n V (2004), “Phân tích thi t k h th ng ph n m m theo h ng”, Tr ng i h c Công ngh , i h c Qu c gia Hà N i ng i Ti ng Anh Gabriela B Arevalo (2000), “Architectural description of Object-Oriented Frameworks” Maurice de Beijer (1997), “VFP-Frame”, http://www.theproblemsolver.nl/vfp.htm J van Gurp and J Bosch (2001), “Design, implementation and evolution of object oriented frameworks: concept and guidelines”, University of Groningen Fayad M E., D C Schmidt, R E Johnson (1999), “Building Application Frameworks: Object-Oriented Foundations of Framework Design”, NY: John Wiley and Sons, New York Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissades (1994), “Design patterns: Elements of Reusable Object-Oriented Software”, Reading, MA: Addsion – Wesley Ralph E Johnson, Brian Foote (1991), “Design Reusable Classes”, Journal of Object-Oriented Programming Niklas Landin, Axel Niklasson (1995), “Development of Object-Oriented Frameworks” , Lund University, Lund, Sweden Graig Larman (1998), “Applying UML and Patterns: An introduction to ObjectOriented Analysis and Design” 10 Michael Mattsson (1996), “Object-Oriented frameworks, A survey of methodological issues”, Lund, Sweden 11 Desmond Francis D’Souza (1999), Alan Cameron Wills, “Objects, Components, and Frameworks with UML: The CatalysisSM Approach”, Reading, AddisonWesley CL C U CH NG GI I THI U CHUNG V FRAMEWORK 1.1 ng quan v framework 1.1.1 Khái ni m v framework 1.1.1.1 nh ngh a v framework 1.1.1.2 C u trúc c a m t framework 1.1.1.3 Phân bi t framework v i khái ni m khác 1.1.2 Các c m c a framework 1.1.3 Phân lo i framework 1.1.3.1 Phân lo i framework theo vùng v n 1.1.3.2 Phân lo i framework theo c u trúc n i b 10 1.1.3.3 Phân lo i framework theo cách s d ng 11 1.2 Ph ng pháp phát tri n framework .13 1.2.1 Chu n b cho vi c phát tri n framework 14 1.2.2 Thu th p yêu c u phân tích 15 1.2.2.1 Thu th p yêu c u 16 1.2.2.2 Phân tích .21 1.2.2.3 Các k t qu mơ hình b sung 24 1.2.3 Thi t k framework 25 1.2.3.1 Quá trình thi t k framework 25 1.2.3.2 Pha thi t k ki n trúc .28 1.2.3.3 Pha thi t k chi ti t 32 1.2.4 Tri n khai framework 32 1.2.5 Xác minh th m nh tính h p l 34 1.2.5.1 Các khái ni m v ki m th ph n m m 34 1.2.5.2 Các ki m th dành riêng cho framework .35 1.3 Các v n vi c phát tri n framework 36 1.3.1 Xác nh ph m vi c a mi n ng d ng 37 1.3.2 L p tài li u cho framework 38 1.3.3 Các v n v ph bi n framework 39 1.3.4 Xác nh n ho t ng tr u t ng 39 CH MÔ T NG 41 BÀI TOÁN L P L CH VÀ THEO DÕI TI N TH C HI N D ÁN 41 2.1 Mô t ho t ng nghi p v .41 2.1.1 Yêu c u chung v qu n lý d án .41 2.2.2.T ng h p ch c n ng h th ng .42 2.1.3 Bi u khái ni m l nh v c nghi p v 44 2.1.4 T n thu t ng .44 2.2 Phát tri n mơ hình ca s d ng 45 2.2.1 Xác nh tác nhân .45 2.2.2 Xác nh ca s d ng 46 2.2.3 Mơ hình ca s d ng 47 2.2.3.1 Mơ hình ca s d ng m c g p 47 2.2.3.2 Mơ hình ca s d ng C p nh t d án 47 2.2.3.3 Mơ hình ca s d ng Qu n lý l ch làm vi c 49 2.2.3.4 Mơ hình ca s d ng Theo dõi th c hi n công vi c .50 2.2.4 Mô t chi ti t ca s d ng 50 2.2.4.1 Nh p d án m i 50 2.2.4.2 C p nh t thông tin chung c a d án 51 2.2.4.3 C p nh t thành viên c a d án 52 2.2.4.4 C p nh t công vi c 53 2.2.4.5 Phân công th c hi n công vi c 53 2.2.4.6 C p nh t ti n th c hi n công vi c 54 2.2.4.7 C p nh t tr ng thái c a công vi c 55 CH NG 56 PHÂN TÍCH VÀ THI T K H TH NG 56 3.1 Phân tích h th ng 56 3.1.1 Phân tích t ng ca s d ng 56 3.1.1.1 Ca s d ng “C p nh t thông tin chung c a d án” .56 3.1.1.2 Ca s d ng “C p nh t thành viên c a d án” .61 3.1.1.3 Ca s d ng “C p nh t công vi c” 64 3.1.1.4 Ca s d ng “Phân công th c hi n công vi c” 69 3.1.1.5 Ca s d ng “Theo dõi th c hi n công vi c” .72 3.1.2 T n d li u 74 3.2 Công c phát tri n môi tr ng ng d ng 77 3.3 Thi t k h th ng 78 3.3.1 Thi t k cho t ng ca s d ng 78 3.3.1.1 Ca s d ng “Tìm ki m d án” .78 3.3.1.2 Ca s d ng “C p nh t thông tin chung c a d án” .79 3.3.1.3 Ca s d ng “C p nh t thành viên c a d án” .80 3.3.1.4 Ca s d ng “Tìm ki m cơng vi c” .82 3.3.1.5 Ca s d ng “C p nh t công vi c” 82 3.3.1.6 Ca s d ng “Phân công th c hi n công vi c” 84 3.3.1.7 Ca s d ng “Theo dõi th c hi n công vi c” .85 3.3.2 Bi u l p 86 CH NG 87 XÂY D NG FRAMEWORK QU N LÝ L CH LÀM VI C 87 4.1 L a ch n m u 87 4.1.1 M u Chi n l c 88 4.1.2 M u y quy n 89 4.2 Áp d ng m u vào s l p 91 4.2.1 Áp d ng m u Strategy cho l p Project .91 4.2.2 Áp d ng m u Proxy cho l p Project 100 4.2.3 Áp d ng m u Proxy cho l p Task 102 4.2.4 Bi u l p cu i 105 CH NG 106 GI I THI U CH 5.1 Môi tr NG TRÌNH TH NGHI M 106 ng h th ng công c phát tri n 106 5.2 Các ch c n ng c a ch 5.3 M t s giao di n c a ch ng trình 106 ng trình .107 T LU N 113 DANH C NG BI U, HÌNH U CH NG GI I THI U CHUNG V FRAMEWORK Hình 1.1 M i quan h gi a thành ph n khác m t framework [4] Hình 1.2 Quá trình phát tri n framework .13 Hình 1.3 Các trình s n ph m c a pha Thu th p u c u Phân tích .16 Hình 1.4 Các ho t ng c a m t trình thu th p yêu c u 17 Hình 1.5 S phân chia yêu c u 19 Hình 1.6 M i quan h gi a mơ hình Ca s d ng mơ hình khác c a trình phát tri n h th ng 21 Hình 1.7 M t framework nh ng ph n chung c a ng d ng m t mi n ng ng .26 Hình 1.8 Các ho t ng pha thi t k framework 27 Hình 1.9 Các ho t ng pha thi t k ki n trúc 28 Hình 1.10 Nguyên t c nh ngh a s công tác gi a l p tr u t Hình 1.11 Các thu c tính chung CH MƠ T c nh n d ng b ng cách ng 30 i tên s d ng tham s 32 NG 41 BÀI TOÁN L P L CH VÀ THEO DÕI TI N TH C HI N D ÁN 41 ng 2.1 T ng h p ch c n ng h th ng 43 Hình 2.2 Bi u ng 2.3 T mơ hình l nh v c c a h th ng Qu n lý d án 44 n thu t ng .45 ng 2.4 Tác nhân h th ng 46 Hình 2.5 Ca s d ng m c t ng th c a h th ng Qu n lý d án .47 Hình 2.6 Ca s d ng “C p nh t d án” 47 Hình 2.7 Ca s d ng “C p nh t thông tin chung c a d án” 48 Hình 2.8 Ca s d ng “C p nh t thành viên c a d án” 48 Hình 2.9 Ca s d ng “Qu n lý l ch làm vi c” 49 Hình 2.10 Ca s d ng “C p nh t công vi c” 49 Hình 2.11 Ca s d ng “Phân công th c hi n công vi c” 50 Hình 2.12 Ca s d ng “Theo dõi th c hi n công vi c” 50 CH NG 56 PHÂN TÍCH VÀ THI T K H TH NG 56 Hình 3.1 Bi u tu n t h th ng “C p nh t thông tin chung c a d án” 56 Hình 3.2 Bi u l p phân tích th c thi ca s d ng “C p nh t thông tin chung c a d án” 57 Hình 3.3 Bi u tu n t phân tích th c thi ca s d ng “Tìm ki m d án” .57 Hình 3.4 Bi u tu n t phân tích th c thi ca s d ng “C p nh t thông tin chung c a d án” 58 Hình 3.5 Giao di n c p nh t thông tin chung c a d án 59 Hình 3.6 Bi u tu n t h th ng “C p nh t thành viên c a d án” 61 Hình 3.7 Bi u l p phân tích th c thi ca s d ng “C p nh t thành viên c a d án” 62 Hình 3.8 Bi u tu n t phân tích th c thi ca s d ng “C p nh t thành viên c a d án”.62 Hình 3.9 Giao di n c p nh t thành viên c a d án 63 Hình 3.10 Bi u tu n t h th ng “C p nh t cơng vi c” .64 Hình 3.11 Bi u l p phân tích th c thi ca s d ng “C p nh t công vi c” 65 Hình 3.12 Bi u tu n t phân tích th c thi ca s d ng “Tìm ki m cơng vi c” 65 Hình 3.13 Bi u tu n t phân tích th c thi ca s d ng “C p nh t công vi c” 66 Hình 3.14 Giao di n tìm ki m công vi c 67 Hình 3.15 Giao di n c p nh t công vi c 68 Hình 3.16 Bi u tu n t h th ng “Phân công th c hi n cơng vi c” .69 Hình 3.17 Bi u l p phân tích th c thi ca s d ng “Phân công th c hi n cơng vi c” 70 Hình 3.18 Bi u tu n t phân tích th c thi ca s d ng “Phân công th c hi n công vi c” 70 Hình 3.19 Giao di n phân công th c hi n công vi c 71 Hình 3.20 Bi u tu n t h th ng “Theo dõi th c hi n công vi c” 72 Hình 3.21 Bi u l p phân tích th c thi ca s d ng “Theo dõi th c hi n cơng vi c” 73 Hình 3.22 Bi u tu n t phân tích th c thi ca s d ng “Theo dõi th c hi n công vi c” 73 ng 3.23 T n d li u .77 Hình 3.24 Bi u tu n t th c thi ca s d ng “Tìm ki m d án” 78 Hình 3.25 Bi u tu n t th c thi ca s d ng “C p nh t thông tin chung c a d án” 80 Hình 3.26 Bi u tu n t th c thi ca s d ng “C p nh t thành viên c a d án” 81 Hình 3.27 Bi u tu n t th c thi ca s d ng “Tìm ki m cơng vi c” 82 Hình 3.28 Bi u tu n t th c thi ca s d ng “C p nh t cơng vi c” .83 Hình 3.29 Bi u tu n t th c thi ca s d ng “Phân công th c hi n công vi c” .84 Hình 3.30 Bi u tu n t th c thi ca s d ng “Theo dõi th c hi n cơng vi c” 85 Hình 3.31 Bi u l p thi t k c a h th ng Qu n lý d án .86 CH NG 87 XÂY D NG FRAMEWORK QU N LÝ L CH LÀM VI C 87 Hình 4.1 Bi u l p c a m u Chi n l Hình 4.2 Bi u l pc am u c .89 y quy n 90 Hình 4.3 Áp d ng m u Strategy cho l p Project 91 Hình 4.4 Áp d ng m u Proxy cho l p Project .100 Hình 4.5 Áp d ng m u Proxy cho l p Task 102 Hình 4.6 Bi u CH l p thi t k sau áp d ng m u 105 NG 106 GI I THI U CH NG TRÌNH TH NGHI M 106 Hình 5.1 Giao di n tìm ki m d án 107 Hình 5.2 Giao di n c p nh t d án 108 Hình 5.3 Giao di n c p nh t thành viên d án .109 Hình 5.4 Giao di n tìm ki m cơng vi c 110 Hình 5.5 Giao di n c p nh t công vi c 111 Hình 5.6 Giao di n phân công th c hi n công vi c 112 T LU N 113 ... vùng v n mà framework tr t i, c u trúc n i b c a framework framework cd nh s d ng nh th V cách phân lo i th nh t, ng i ta chia framework thành framework ng d ng, framework mi n ng d ng framework. .. d ng framework, framework h ng i t ng c chia thành hai lo i framework h p tr ng framework h p en Nh ng ph n l n ng d ng d ng nh m t t h p c a c hai lo i framework c g i framework h p xám Trong. .. vi bao hàm c a framework không ph i m t l nh v c hoàn ch nh Vi c phân lo i theo vùng v n chia framework thành ba lo i framework ng d ng, framework mi n ng d ng framework h tr Các framework ng

Ngày đăng: 07/03/2020, 18:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w