Đăng ký Đăng nhập

Tài liệu 3bsev_thietkend

.PDF
61
200
136

Mô tả:

Kỹ nghệ phần mềm Software Engeneering NguyÔn V¨n Vþ Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN Email: [email protected] Bài 6: Các hoạt động thiết kế NguyễnVănVỵ Nội dung ThiÕt kÕ kiÕn tróc ThiÕt kÕ giao diÖn Bộ môn Công nghệ phần mềm – ĐHCN 2 TÀI LiỆU THAM KHẢO NguyễnVănVỵ 1. 2. 3. 4. 5. 6. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008 Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. Ian Sommerville, Software Engineering. Sixth Edition, AddisonWasley, 2001. Nguyễn Văn Vỵ. Phân tích thiết kế hệ thống thông tin hiện đại. Hướng cấu trúc và hướng đối tượng, NXB Thống kê, 2002, Hà Nội. Bộ môn Công nghệ phần mềm – ĐHCN 3 ThiÕt kÕ kiÕn tróc phÇn mÒm software achitecture design NguyễnVănVỵ Kh¸i niÖm kiÕn tróc KiÕn tróc phÇn mÒm chØ cÊu tróc tæng thÓ cña 1 phÇn mÒm vµ c¸ch thõc tổ chức qua ®ã cho ta 1 sù tÝch hîp vÒ mÆt kh¸i niÖm cña 1 hÖ thèng [SHA95a] Th«ng th−êng: thÓ hiÖn b»ng mét biÓu ®å ph©n cÊp cña c¸c thμnh phÇn vμ quan hÖ gi÷a chóng §Çy ®ñ: thÓ hiÖn cÇu tróc hÖ thèng theo nhiÒu gãc nh×n kh¸c nhau: tÜnh, ®éng, d÷ liÖu, triÓn khai [SHA95a] Shaw,M and D.Garlan, Formulation and formalisms in software achitecture, volume 100-lecture Notes in computer Science, Springer-verlag,1995 Bộ môn Công nghệ phần mềm – ĐHCN 4 Vai trß kiÕn tróc phÇn mÒm NguyễnVănVỵ Kh«ng ph¶i lμ m« h×nh ho¹t ®éng lμ m« h×nh ph©n ho¹ch theo những c¸ch nh×n kh¸c nhau (chøc n¨ng, d÷ liÖu, tiÕn tr×nh, tÜnh hay ®éng..) gióp kÜ s− hÖ thèng: Ph©n tÝch tÝnh hiÖu qu¶ cña thiÕt kÕ ®¸p øng ®−îc yªu cÇu cña phÇn mÒm T×m c¸c gi¶i ph¸p thay thÕ cÊu tróc ë giai ®o¹n sím Gi¶m c¸c rñi ro liªn quan tíi cÊu tróc Bộ môn Công nghệ phần mềm – ĐHCN 5 Kh¸i niÖm thiÕt kÕ kiÕn tróc NguyễnVănVỵ Qu¸ tr×nh x¸c ®Þnh c¸c hÖ con lËp thµnh hÖ thèng vµ khung lµm viÖc ®Ó ®iÒu khiÓn & giao tiÕp gi÷a c¸c hÖ con víi nhau B¾t ®Çu sím ngay tõ giai ®o¹n ®Çu cña thiÕt kÕ hÖ thèng, tiÕn hμnh cïng víi mét sè ho¹t ®éng ®Æc t¶ Nã bao gåm viÖc x¸c c¸c thμnh phÇn chÝnh cña hÖ thèng sù truyÒn thèng gi÷a chóng Bộ môn Công nghệ phần mềm – ĐHCN 6 C¸c b−íc thiÕt kÕ kiÕn tróc NguyễnVănVỵ 1. CÊu tróc hãa hÖ thèng: ph©n chia hÖ thèng thμnh c¸c hÖ con (sub-system) ®éc lËp vμ x¸c ®Þnh trao ®æi th«ng tin gi÷a c¸c hÖ con x¸c định c¸c giao diÖn cña chóng 2. M« hinh hãa ®iÒu khiÓn: x¸c lËp m« hinh ®iÒu khiÓn gi÷a c¸c phÇn kh¸ nhau cña hÖ thèng ®· ®−îc x¸c ®Þnh 3. Ph©n r· thμnh c¸c module: ph©n r· c¸c hÖ con thμnh c¸c module. HÖ con: phÇn hÖ thèng ho¹t ®éng ®éc lËp víi c¸c dÞch vô mμ c¸c hÖ con kh¸c cung cÊp M«dun: phÇn hÖ thèng cung cÊp dÞch vô vμ t−¬ng t¸c cïng phÇn kh¸c ®Ó t¹o ra dÞch vô hay s¶n phÈm Bộ môn Công nghệ phần mềm – ĐHCN 7 C¸c m« h×nh kiÕn tróc NguyễnVănVỵ C¸c m« h×nh kiÕn tróc kh¸c nhau ®−îc t¹o ra trong qu¸ tr×nh thiÕt kÕ Mçi m« h×nh biÓu diÔn mét c¸ch nh×n cña kiÕn tróc M« h×nh kiÕn tróc tÜnh chØ ra c¸c thμnh phÇn chÝnh cña hÖ thèng (biÓu ®å ph©n r·) M« h×nh ®éng chØ ra cÊu tróc tiÕn tr×nh cña hÖ thèng (biÓu ®å luång d÷ liÖu) M« h×nh giao diÖn x¸c ®Þnh hÖ thèng giao diÖn cña hÖ thèng (hÖ thèng giao diÖn t−¬ng t¸c) M« h×nh mèi quan hÖ nh− m« h×nh kh¸I niÖm thùc thÓ miÒn d÷ liÖu cña hÖ thèng Bộ môn Công nghệ phần mềm – ĐHCN 8 Mét sè m« h×nh kiÕn tróc NguyễnVănVỵ 1. KiÕn tróc d÷ liÖu tËp trung (Data-centered architectures) 2. KiÕn tróc kh¸ch/dÞch vô (Client-server architectures) 3. Kiªn tróc ph©n tÇng (Layered architectures) 4. KiÕn tróc gäi vμ tr¶ l¹i (Call and return architectures) 5. KiÕn tróc luång d÷ liÖu (Data flow architectures) 6. KiÕn tróc h−íng ®èi t−îng (Object-oriented architectures) Bộ môn Công nghệ phần mềm – ĐHCN 9 KiÕn tróc d÷ liÖu tËp trung NguyễnVănVỵ PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch Kho d÷ liÖu (repository) PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch Bộ môn Công nghệ phần mềm – ĐHCN PhÇn mÒm kh¸ch PhÇn mÒm kh¸ch 10 KiÕn tróc cña bé c«ng cô CASE NguyễnVănVỵ Bé ph©n tÝch thiÕt kª Bé biªn tËp thiÕt kÕ Bé biªn tËp ch−¬ng tr×nh Kho d÷ liÖu cña dù ¸n (präject repository) Bé dÞch thiÕt kÕ Bộ môn Công nghệ phần mềm – ĐHCN Bé t¹o sinh m· Bé t¹o sinh b¸o c¸o 11 KiÕn tróc d÷ liÖu trung t©m(t) NguyễnVănVỵ ¦u ®iÓm TiÖn lîi cho chia sÎ d÷ liÖu lín Ph©n hÖ kh«ng cÇn biÕt d÷ liÖu ®−îc qu¶n lý vμ t¹o ra nh− thÕ nμo (sao l−u, b¶o mËt,..) Nh−îc ®iÓm C¸c hÖ con ph¶i theo m« h×nh d÷ liÖu cña kho ViÖc tiÕn ho¸ d÷ liÖu lμ khã kh¨n vμ ®¾t ®á Khã cã chÝnh s¸ch qu¶n lý riªng cho c¸c hÖ con Khã ph©n bè d÷ liÖu mét c¸ch hiÖu qu¶ Bộ môn Công nghệ phần mềm – ĐHCN 12 KiÕn tróc client-server NguyễnVănVỵ M¸y kh¸ch 1 M¸y kh¸ch 2 M¸y kh¸ch 3 M¸y kh¸ch 4 M¹ng b¨ng th«ng réng server server server server Danh môc fim ¶nh sè web HTML Bộ môn Công nghệ phần mềm – ĐHCN 13 KiÕn tróc client-server (t) NguyễnVănVỵ ¦u ®iÓm Ph©n phèi d÷ liÖu trùc tiÕp Sö dông hiÖu qu¶ m¹ng, dïng thiÕt bÞ rÎ h¬n DÔ dμng më réng, thªm dÞch vô Nh−îc ®iÓm C¸c hÖ con dïng cÊu tróc d÷ liÖu kh¸c nhau kh«ng chia sÎ ®−îc, trao ®æi d÷ liÖu cã thÓ kh«ng hiÖu qu¶ Qu¶n lý ë mçi server lμ d− thõa Kh«ng l−u gi÷ chung tªn vμ dÞch vô -> khã t×m server hay dÞch vô rçi §ang lμ m« h×nh ph¸t triÓn øng dông phæ biÕn Bộ môn Công nghệ phần mềm – ĐHCN 14 KiÕn tróc ph©n tÇng Layered Architecture C¸c thμnh phÇn NguyễnVănVỵ tÇng giao diÖn ng−êi dung tÇng øng dông tÇng tiÖn Ých tÇng lâi M« h×nh m¸y trõu t−îng Bộ môn Công nghệ phần mềm – ĐHCN 15 KiÕn tróc ph©n tÇng (t) NguyễnVănVỵ Dïng ®Ó m« hinh hãa giao diÖn cña c¸c ph©n hÖ (sub-systems) Ph©n r· hÖ thèng thμnh c¸c tÇng, mçi tÇng lμ mét tËp c¸c dÞch vô Hç trî sù ph¸t triÓn t¨ng tr−ëng cña c¸c tÇng, khi giao diÖn mçi tÇng thay ®æi thi chØ ¶nh h−ëng tíi c¸c tÇng liÒn kÒ Kh«ng ph¶i hÖ thèng nμo còng dÔ dμng ph©n chia theo m« hinh nμy Bộ môn Công nghệ phần mềm – ĐHCN 16 KiÕn tróc ph©n tÇng tham kh¶o OSI NguyễnVănVỵ tầng ứng dụng tầng ứng dụng tầng trình diễn tầng trình diễn tầng phiên tầng phiên tầng giao vận tầng giao vận tầng mạng Tầng mạng tầng mạng tầng liên kết dữ liệu tầng liên kết dữ liệu tầng liên kết dữ liệu tầng vật lý tầng vật lý tầng vật lý Phương tiện giao tiếp Hình 3.15 Kiến trúc của mô hình tham chiếu OSI Bộ môn Công nghệ phần mềm – ĐHCN 17 KiÕn tróc gäi & tr¶ l¹i Call and Return Architecture NguyễnVănVỵ s« m« ®un ra ®é s©u s« m« ®un vμo ®é réng Bộ môn Công nghệ phần mềm – ĐHCN 18 KiÕn tróc luång d÷ liÖu Data Flow Architecture LËp ho¸ ®¬n §¬n hµng Ho¸ ®¬n T×m tµI kho¶n TT ®äc ®¬n hµng LËp giÊy nh¾c t.to¸n NguyễnVănVỵ KiÓm tra thanh to¸n GiÊy nh¾c PhiÕu thanh to¸n HÖ thèng xö lý ®¬n hμng Bộ môn Công nghệ phần mềm – ĐHCN 19 KiÕn tróc h−íng ®èi t−îng Object-oriented architecture Customer NguyễnVănVỵ Receipt customer# name address credit period Invoice invoice# date amount customer# invoice# date amount customer Payment issue () sendReminder () acceptPayment () sendReceipt () invoice# date amount customer# HÖ thèng xö lý ®¬n hμng Bộ môn Công nghệ phần mềm – ĐHCN 20
- Xem thêm -

Tài liệu liên quan