Mô hình phát triển theo Framework cho các sản phẩm phần mềm

Chia sẻ: Quanghai Quanghai | Ngày: | Loại File: DOC | Số trang:6

0
143
lượt xem
15
download

Mô hình phát triển theo Framework cho các sản phẩm phần mềm

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hiện nay trong nước, các sản phẩm phần mềm thường được viết theo dạng các lời gọi hàm, hướng cấu trúc và hướng đối tượng. Khi có sự thay đổi về nghiệp vụ hoặc bổ sung thêm các dịch vụ, tính năng mới, các hệ thống này thường phải sửa đổi lại phần lớn m• nguồn. Điều này gây nhiều khó khăn cho việc quản lý, bảo hành, bảo trì và rất dễ gây lỗi (lỗi dây chuyền). Các sản phẩm phần mềm khi áp dụng mô hình framework sẽ khắc phục được các nhược điểm này. Nó làm tăng......

Chủ đề:
Lưu

Nội dung Text: Mô hình phát triển theo Framework cho các sản phẩm phần mềm

  1. LÜnh vùc C«ng nghÖ th«ng tin M¤ H×NH PH¸T TRIÓN THEO FRAMEWORK CHO C¸C S¶N PHÈM PHÇN MÒM KS. §Æng Xu©n ThÞnh Trung t©m C«ng nghÖ th«ng tin 1. §Æt vÊn ®Ò HiÖn nay trong níc, c¸c s¶n phÈm phÇn mÒm th êng ®îc viÕt theo d¹ng c¸c lêi gäi hµm, híng cÊu tróc vµ híng ®èi tîng. Khi cã sù thay ®æi vÒ nghiÖp vô hoÆc bæ sung thªm c¸c dÞch vô, tÝnh n¨ng míi, c¸c hÖ thèng nµy th êng ph¶i söa ®æi l¹i phÇn lín m· nguån. §iÒu nµy g©y nhiÒu khã kh¨n cho viÖc qu¶n lý, b¶o hµnh, b¶o tr× vµ rÊt dÔ g©y lçi (lçi d©y chuyÒn). C¸c s¶n phÈm phÇn mÒm khi ¸p dông m« h×nh framework sÏ kh¾c phôc ®îc c¸c nhîc ®iÓm nµy. Nã lµm t¨ng tÝnh linh ho¹t, t¸i sö dông vµ kh¶ n¨ng ghÐp nèi cña hÖ thèng. Bµi viÕt bµy giíi thiÖu tãm t¾t kh¶ n¨ng ¸p dông m« h×nh ph¸t triÓn theo framework cho c¸c s¶n phÈm phÇn mÒm. 2. §Þnh nghÜa framework Framework lµ mét ph¬ng ph¸p kü thuËt t¸i sö dông híng ®èi t îng. §Þnh nghÜa vÒ framework còng cã nhiÒu c¸ch kh¸c nhau. §Þnh nghÜa th êng sö dông lµ “ framework lµ mét thiÕt kÕ t¸i sö dông cña toµn bé hay mét phÇn hÖ thèng ®îc ®¹i diÖn bëi c¸c líp trõu tîng vµ c¸ch c¸c tr êng hîp cña chóng t¬ng t¸c víi nhau” . Mét ®Þnh nghÜa phæ biÕn kh¸c lµ “ framework lµ bé khung cña tr×nh øng dông mµ cã thÓ ®îc tuú biÕn bëi c¸c nhµ ph¸t triÓn phÇn mÒm øng dông”. §©y kh«ng ph¶i lµ nh÷ng ®Þnh nghÜa m©u thuÉn nhau; ®Þnh nghÜa thø nhÊt miªu t¶ cÊu tróc cña framework trong khi ®Þnh nghÜa hai miªu t¶ môc ®Ých cña nã 3. C¸c u ®iÓm sö dông framework TÝnh t¸i sö dông cña framework cã thÓ ®îc thóc ®Èy bëi nhiÒu nh©n tè. Mét lµ ®Ó tiÕt kiÖm thêi gian vµ tiÒn b¹c cña trong suèt qua tr×nh ph¸t triÓn. Môc ®Ých chÝnh cho nhiÒu c«ng ty lµ ®Ó gi¶m thêi gian ®Õn thÞ tr êng. Nh ng hä nhËn thÊy r»ng tÝnh chÊt gièng nhau do c¸c framework mang tíi còng quan träng. C¸c framework giao diÖn ngêi dïng ®å ho¹ ®a ra mét bé c¸c tr×nh øng dông cã c¸ch nh×n vµ c¶m nhËn t ¬ng tù nhau, vµ mét giao diÖn m¹ng t¸i sö dông cã nghÜa lµ tÊt c¶ c¸c tr×nh øng dông sö dông nã theo c¸c giao thøc gièng nhau. Hai lµ tÝnh gièng nhau lµm gi¶m chi phÝ b¶o tr×, tõ ®ã nh÷ng ngêi lËp Häc viÖn C«ng nghÖ BCVT
  2. Héi nghÞ Khoa häc lÇn thø 5 ch¬ng tr×nh b¶o tr× cã thÓ chuyÓn tõ tr×nh øng dông nµy sang tr×nh øng dông tiÕp theo mµ kh«ng ph¶i häc thiÕt kÕ míi. Lý do cuèi cïng cho c¸c framework lµ lµm cho c¸c kh¸ch hµng cã kh¶ n¨ng x©y dùng hÖ thèng më , v× thÕ hä cã thÓ trén lÉn vµ lµm phï hîp c¸c thµnh phÇn tõ c¸c nguån cung cÊp kh¸c nhau. C¸c u ®iÓm chÝnh cña framework øng dông híng ®èi t îng xuÊt ph¸t tõ kh¶ n¨ng m« ®un phÇn mÒm, kh¶ n¨ng t¸i sö dông, kh¶ n¨ng më réng, vµ sù ®¶o ngîc ®iÒu khiÓn chóng cung cÊp cho nhµ ph¸t triÓn nh miªu t¶ díi ®©y: Kh¶ n¨ng m« ®un: Framework t¨ng cêng kh¶ n¨ng m« ®un phÇn mÒm b»ng c¸ch gãi gän c¸c chi tiÕt thùc thi linh ®éng ®»ng sau c¸c giao diÖn æn ®Þnh. Kh¶ n¨ng m« ®un cña framework gióp c¶i thiÖn chÊt lîng phÇn mÒm nhê viÖc khoanh vïng ¶nh hëng cña m« h×nh vµ nh÷ng thay ®æi vÒ thùc thi. Kh¶ n¨ng t¸i sö dông: C¸c giao diÖn æn ®Þnh cung cÊp qua c¸c framework t¨ng cêng kh¶ n¨ng t¸i sö dông theo ®Þnh nghÜa c¸c thµnh phÇn chung cã thÓ ®îc ¸p dông l¹i ®Ó t¹o ra c¸c tr×nh øng dông míi. Kh¶ n¨ng t¸i sö dông framework tËn dông ®îc sù ®Çu t trÝ tuÖ vµ nç lùc tr íc ®ã cña c¸c nhµ ph¸t triÓn giµu kinh nghiÖm. Sö dông l¹i c¸c thµnh phÇn framework cã thÓ mang l¹i sù c¶i tiÕn ®¸ng kÓ hiÖu suÊt cña lËp tr×nh viªn, còng nh lµ t¨ng cêng chÊt lîng, sù thùc thi, tÝnh tin cËy, vµ thao t¸c gi÷a c¸c phÇn cña phÇn mÒm. Kh¶ n¨ng më réng: Framework t¨ng cêng kh¶ n¨ng më réng nhê viÖc cung cÊp c¸c ph¬ng ph¸p mãc nèi râ rµng cho phÐp c¸c tr×nh øng dông më réng c¸c giao diÖn æn ®Þnh cña nã. C¸c ph¬ng ph¸p mãc nèi cã tÝnh hÖ thèng t¸ch riªng ra c¸c giao diÖn vµ c¸c ®¸p øng æn ®Þnh cña mét lÜnh vùc øng dông. Kh¶ n¨ng më réng framework lµ thiÕt thùc ®Ó ®¶m b¶o sù tuú biÕn hîp thêi cña c¸c dÞch vô vµ tÝnh n¨ng øng dông míi. Sù ®¶o ngîc ®iÒu khiÓn: KiÕn tróc runtime cña framework lµ ®Æc tr ng cña sù ®¶o ngîc ®iÒu khiÓn. KiÕn tróc nµy lµm cho c¸c bíc xö lý tr×nh øng dông cã thÓ hîp qui ®îc tuú biÕn qua c¸c ®èi t îng bé ®iÒu khiÓn sù kiÖn mµ ®îc kÝch ho¹t qua c¬ chÕ göi ®i t¸c ®éng trë l¹i cña framework. Khi c¸c sù kiÖn x¶y ra, bé göi ®i cña framework t¸c ®éng trë l¹i qua viÖc kÝch ho¹t c¸c ph ¬ng ph¸p mãc nèi trªn c¸c ®èi t îng ®iÒu khiÓn ®¨ng kÝ tr íc, bé ®iÒu khiÓn nµy thùc hiÖn qu¸ tr×nh xö lý tr×nh øng dông ®Æc tr ng dùa trªn c¸c sù kiÖn. §¶o ngîc sù ®iÒu khiÓn cho phÐp framework ®Þnh râ bé c¸c ph¬ng ph¸p tr×nh øng dông ®Æc tr - ng nµo kÝch ho¹t ®¸p øng ®Õn c¸c sù kiÖn bªn ngoµi (vÝ dô nh c¸c tin nh¾n window ®Õn tíi ngêi sö dông cuèi cïng hay c¸c gãi tin ®Õn tõ c¸c cæng th«ng tin). 4. C«ng cô ph¸t triÓn framework Häc viÖn C«ng nghÖ BCVT
  3. LÜnh vùc C«ng nghÖ th«ng tin Tr íc ®©y ®Ó ph¸t triÓn m« h×nh framework cho c¸c bµi to¸n øng dông th«ng th - êng, ta cã thÓ kÓ ra mét sè ng«n ng÷ chÝnh Smalltalk, MFC, Java. Ngµy nay cïng víi sù ph¸t triÓn cña Internet, c¸c øng dông ph¸t triÓn trªn m¹ng ngµy cµng nhiÒu. Hai tËp ®oµn ph¸t triÓn hÖ thèng lín lµ Microsoft vµ Sun Microsystems ®· ®a 2 gi¶i ph¸p c«ng nghÖ chÝnh ®Ó ph¸t triÓn c¸c bµi to¸n framework lµ Microsoft .NET framework vµ J2EE Framework. Microsoft .NET framework cña Microsoft cã u ®iÓm lµ dÔ sö dông, th©n thiÖn víi c¸c øng dông truyÒn thèng trªn flatform Window nh Visual Basic, Visual C++,... Tuy nhiªn ®Êy còng lµ nhîc ®iÓm cña Microsoft .NET framework. C«ng nghÖ nµy bÞ trãi buéc trªn nÒn Window vµ ®Õn nay chØ cã Microsoft ph¸t triÓn. §iÒu nµy dÉn ®Õn c«ng nghÖ kÐm tÝnh c¹nh tranh vµ s¶n phÈm hoµn toµn lÖ thuéc vµo mét nhµ s¶n xuÊt. Tr¸i l¹i J2EE Framework cña Sun Microsystems lµ chuÈn chung ®îc nhiÒu tËp ®oµn phÇn mÒm lín ph¸t triÓn, kh«ng phô thuéc flatform vµ ®· ®îc kiÓm chøng lµ ho¹t ®éng æn ®Þnh vµ hiÖu qu¶ qua nhiÒu n¨m. Trªn thÕ giíi hiÖn nay, nhiÒu nhµ s¶n xuÊt phÇn mÒm øng dông ®Òu ¸p dông c«ng nghÖ J2EE Framework. Trªn thÕ giíi, ta cã thÓ kÓ ra mét sè tªn tuæi lín nh Bea, IBM, Oracle, Sun One, Fujitsu, Inprise, Macromedia, Sysbase, IONA Technologies, SPSS, Isocra, MultiTEL,... V× vËy khi ph¸t triÓn c¸c bµi to¸n phÇn mÒm øng dông theo m« h×nh framework, chóng ta nªn sö dông c«ng nghÖ J2EE Framework vµ c¸c c«ng cô ph¸t triÓn theo dßng Java nh JavaBean, JSP, Java Script. 5. Chu kú sèng vµ c¸c bíc thiÕt kÕ mét framework 5.1. Chu kú sèng cña framework Qu¸ tr×nh x©y dùng vµ ph¸t triÓn framework lµ mét qu¸ tr×nh lÆp ®i, lÆp l¹i cña ph¸t triÓn vµ øng dùng framework. Mét phÇn mÒm øng dông bao giê còng xuÊt ph¸t tõ mét yªu cÇu thùc tÕ. C¸c s¶n phÈm ban ®Çu (s¶n phÈm mÉu) th - êng lµ ®¬n gi¶n. Sau qu¸ tr×nh øng dông thùc tÕ, nhiÒu yªu cÇu míi n¶y sinh nh yªu cÇu vÒ tÝnh dÔ sö dông, linh ho¹t, yªu cÇu ®¸p øng c¸c dÞch vô míi,... V× vËy m« h×nh cò cÇn ®îc ®a vµo ph¸t triÓn tiÕp ®Ó ngµy cµng hoµn thiÖn h¬n. H×nh 1 lµ m« h×nh chu kú sèng cña framework. Häc viÖn C«ng nghÖ BCVT
  4. Héi nghÞ Khoa häc lÇn thø 5 Ph¸t t r iÓn øng dông S¶n phÈm S¶n phÈm Fr amewor mÉu k H×nh 1: Chu kú sèng cña framework: øng dông vµ ph¸t triÓn 5.2. C¸c bíc thiÕt kÕ framework Nh ®· tr×nh bµy ë trªn, khi ph¸t triÓn mét bµi to¸n ¸p dông m« h×nh framework, ta th êng ®i tõ c¸c bµi to¸n ®¬n gi¶n, cô thÓ råi tõ ®ã míi ph¸t triÓn thµnh c¸c bµi to¸n phøc t¹p, ®a d¹ng vµ trõu t îng. Qu¸ tr×nh x©y dùng mét framework (h×nh 4) gåm 4 bíc sau: - T¹o c¸c m« h×nh øng dông cè ®Þnh. - Ph©n tÝch vµ m« t¶ hot-spot gåm ph©n tÝch møc cao hot-spot, vµ ph©n tÝch vµ m« t¶ chi tiÕt hot-spot. - ThiÕt kÕ møc cao hot-spot. - Tæng hîp ho¸ sù chuyÓn ®æi. T ¹o c¸c m« h×nh øng dông cè Ph©n tÝch møc cao hot-spot n ... 2 Ph©n tÝch vµ m« t¶ chi tiÕt n ... 2 T hiÕt k Õ møc cao hot- n ... BiÕn ®æi m« h×nh líp víi sù 2 Häc viÖn C«ng nghÖ BCVT qu¸t tæng
  5. LÜnh vùc C«ng nghÖ th«ng tin H×nh 2: C¸c bíc thiÕt kÕ framework 6. KÕt luËn Bµi viÕt nµy chØ nh»m giíi thiÖu vÒ kh¸i niÖm framework vµ c¸c u ®iÓm cña mét bµi to¸n phÇn mÒm øng dông khi ¸p dông m« h×nh framework. Trong bµi viÕt chóng t«i còng ®Ò cËp ®Õn híng lùa chän c«ng cô ph¸t triÓn còng nh quy tr×nh tæng qu¸t ®Ó ph¸t triÓn mét framework. M« h×nh nµy ®· ®îc chóng t«i ¸p dông thµnh c«ng cho bµi to¸n b¸o c¸o thèng kª vµ in ho¸ ®¬n t¹i c¸c bu ®iÖn tØnh thµnh phè. Vµ víi nh÷ng kÕt qu¶ mµ chóng t«i ®· ®¹t ®îc cho thÊy chóng ta hoµn toµn cã thÓ ¸p dông réng r·i m« h×nh framework vµo c¸c s¶n phÈm phÇn mÒm øng dông phôc vô c«ng t¸c qu¶n lý, s¶n xuÊt, kinh doanh cña c¸c c¬ quan, xÝ nghiÖp. Tµi liÖu tham kh¶o [1] B¸o c¸o nghiÖm thu ®Ò tµi: X©y dùng m« h×nh ph¸t triÓn theo framework cho c¸c bµi to¸n b¸o c¸o thèng kª vµ in ho¸ ®¬n. [2] Building Application Framework. Wiley. [3] Domain- Specific Application Framework. Wiley. [4] Implementing Application Framework. Wiley. [5] Design Patterns Elements of Reusable Object-Oriented Software. [6] Object-Oriented Frameworks. Michael Mattsson [7] A Software Architecture For Structuring Complex Web Applications. Rinton Häc viÖn C«ng nghÖ BCVT
  6. Héi nghÞ Khoa häc lÇn thø 5 Häc viÖn C«ng nghÖ BCVT
Đồng bộ tài khoản