Đăng ký Đăng nhập

Tài liệu 3csev_thietkedt

.PDF
54
212
81

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 7: Thiết kế hướng đối tượng NguyễnVănVỵ Nội dung VÊn ®Ò tån t¹i trong h−íng kiÕn tróc Kh¸i niÖm liªn quan ®Õn ®èi t−îng Ng«n ng÷ UML Ph©n tÝch h−íng ®èi t−îng ThiÕt kÕ h−íng ®èi t−îng Sö dông mÉu thiÕt kÕ 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 KiÕn tróc phÇn mÒm truyÒn thèng NguyễnVănVỵ Bộ môn Công nghệ phần mềm – ĐHCN 4 VÊn ®Ò cña thiÕt kÕ h−íng thñ tôc NguyễnVănVỵ D÷ liÖu lμ chung cho c¶ hÖ thèng Mäi thñ tôc thao t¸c trªn CSDL chung, ®Æc tr−ng cho tr¹ng th¸i toμn hÖ thèng Thao t¸c sai cña 1 thñ tôc lªn d÷ liÖu g©y sai lan truyÒn sang phÇn kh¸c sö dông dông d÷ liÖu nμy Söa ®æi 1 thñ tôc cã nguy c¬ ¶nh h−ëng tíi phÇn kh¸c liªn quan Thay ®æi cÊu tróc d÷ liÖu dÉn ®Õn thay ®æi tæng thÓ hÖ thèng d÷ liÖu cÇn tæ chøc tèt HÖ thèng lín, phøc t¹p: b¶o tr× khã kh¨n Bộ môn Công nghệ phần mềm – ĐHCN 5 ThiÕt kÕ h−íng ®èi t−îng- OOD NguyễnVănVỵ HiÖn ®ang trë nªn phæ biÕn Lμ mét c¸ch tiÕp cËn kh¸c, nh×n nhËn hÖ thèng theo c¸c quan ®iÓm: tËp c¸c ®èi t−îng cã t−¬ng t¸c víi nhau mçi ®èi t−îng bao gãi c¶ d÷ liÖu vμ c¸c xö lý trªn chóng T−¬ng t¸c gi÷a c¸c ®èi t−êng b»ng truyÒn th«ng b¸o C¸c ®èi t−îng cã thÓ kÕ thõa nhau Bộ môn Công nghệ phần mềm – ĐHCN 6 VÝ dô kiÕn tróc h−íng ®èi t−îng NguyễnVănVỵ Customer customer# name address credit period Receipt Invoice invoice# date amount customer# invoice# date amount customer Payment invoice# date amount customer# Bộ môn Công nghệ phần mềm – ĐHCN issue () sendReminder () acceptPayment () sendReceipt () 7 ¦u ®iÓm cña OOD NguyễnVănVỵ DÔ b¶o tr×: c¸c ®èi t−îng ®−îc hiÓu nh− c¸c thùc thÓ ho¹t ®éng ®éc lËp Bao gãi th«ng tin liªn kÕt láng lÎo (trao ®æi b»ng truyÒn th«ng b¸o) DÔ t¸i sö dông: ®é ®éc lËp cao cã kh¶ n¨ng kÕ thõa DÔ hiÓu: mét vμi hÖ thèng, cã sù ¸nh x¹ t−êng minh gi÷a thùc thÓ thùc thÕ giíi thùc vμ ®èi t−îng hÖ thèng Bộ môn Công nghệ phần mềm – ĐHCN 8 Néi dung cña OOD NguyễnVănVỵ X¸c ®Þnh c¸c tËp ®èi t−îng (gäi lμ líp) vμ c¸c ®Æc tr−ng cña chóng Ph©n ®Þnh vai trß vμ tr¸ch nhiÖm cña chóng trong hÖ thèng ThiÕt lËp ®−îc sù t−¬ng t¸c cña chóng ®Ó thùc hiÖn chøc n¨ng cña hÖ thèng phÇn mÒm ®Æt ra Bộ môn Công nghệ phần mềm – ĐHCN 9 C¸c kh¸i niÖm cña OOD NguyễnVănVỵ d1. §èi t−¬ng Lμ c¸c trõu t−îng hãa thùc thÓ cña thÕ giíi thùc hoÆc cña mét hÖ thèng Bao gåm: ®Þnh danh, c¸c thuéc tÝnh vμ c¸c ph−¬ng thøc thao t¸c trªn c¸c d÷ liÖu thuéc tÝnh cña nã §éc lËp vμ ®ãng gãi tr¹ng th¸i thÓ hiÖn b»ng gi¸ trÞ c¸c thuéc tÝnh cña nã ë mét thêi ®iÓm Cung cÊo dÞch vô cho ®èi t−îng kh¸c hay yªu cÇu c¸c ®èi t−îng kh¸c thùc hiÖn mét dÞch vô Bộ môn Công nghệ phần mềm – ĐHCN 10 Líp ®èi t−îng NguyễnVănVỵ Líp ®èi t−îng lμ khu«n mÉu ®Ó t¹o ra tËp ®èi t−îng cã c¸c ®Æc tr−ng chung Líp ®èi t−îng cã thÓ kÕ thõa thuéc tÝnh vμ dÞch vô tõ líp ®èi t−îng kh¸c Líp ®−îc x¸c ®Þnh b»ng: Sinh vien Tªn Bé c¸c thuéc tÝnh C¸c ph−¬ng thóc Bộ môn Công nghệ phần mềm – ĐHCN maSV hotenSV diachi lop Tao( ) Capnhat( ) Xoa( ) 11 Trõu t−îng hãa NguyễnVănVỵ Trõu t−îng hãa cung cÊp c¸i nh×n ®¬n gi¶n ®èi víi thùc thÓ cÇn xö lý chØ m« t¶ c¸c tÝnh chÊt chóng ta quan t©m che giÊu c¸c th«ng tin kh«ng cÇn thiÕt §−îc cμi ®Æt nh− lμ: kiÓu d÷ liÖu trõu t−îng, líp ®èi t−îng c¸c kiÓu d÷ liÖu c¬ së cã s½n: int, double Bộ môn Công nghệ phần mềm – ĐHCN 12 Bao gãi vμ che giÊu th«ng tin NguyễnVănVỵ Lμ kh¸i niÖm c¬ së cña thiÕt kÕ/lËp tr×nh h−íng ®èi t−îng Che giÊu th«ng tin ®Ó ®èi t−îng kh«ng cÇn thiÕt kh«ng thÓ sö dông ChØ cung cÊp chøc n¨ng, dÞch vô cÇn Che giÊu c¸c yÕu tè cã kh¶ n¨ng thay ®æi cÊu tróc d÷ liÖu c¸ch thøc cμi ®Æt Bộ môn Công nghệ phần mềm – ĐHCN 13 CÊu tróc d÷ liÖu NguyễnVănVỵ M« t¶ mèi quan hÖ gi÷a c¸c kho¶n môc d÷ liÖu CÊu tróc vËt lý chØ ra c¸ch thøc ch−¬ng tr×nh thao t¸c víi d÷ liÖu C¸c cÊu tróc c¬ së kho¶n môc v« h−íng m¶ng (mét chiÒu, nhiÒu chiÒu) danh s¸ch mãc nèi c©y ph©n cÊp Bộ môn Công nghệ phần mềm – ĐHCN 14 VÝ dô NguyễnVănVỵ struct Date { int year, mon, day; }; struct Date { int year; int mon_and_day; } Bộ môn Công nghệ phần mềm – ĐHCN 15 Tæng qu¸t hãa vμ kÕ thõa NguyễnVănVỵ Mét líp cã thÓ lμ líp con cña 1 líp c¸c ®èi t−îng tæng qu¸ h¬n, vμ gäi lμ kÕ thõa cña líp tæng qu¸t trªn c©y kÕ thõa, líp cha (super class) cã thÓ lμ tæng qu¸t hãa cña 1 sè c¸c líp con (sub-class) Líp con kÕ thõa c¸c thuéc tÝnh vμ ph−¬ng thøc cña líp cha vμ cã thÓ thªm/thay ®æi ph−¬ng thøc, thuéc tÝnh Sö dông kÕ thõa gióp ta m« t¶ líp con chØ gåm c¸c ®Æc trung kh¸c líp cha Bộ môn Công nghệ phần mềm – ĐHCN 16 VÝ dô c©y kÕ thõa NguyễnVănVỵ Employee Manager Programmer budgetsControlled dateAppointed project progLanguage Project Manager projects Dept. Manager dept Bộ môn Công nghệ phần mềm – ĐHCN Strategic Manager responsibilities 17 ¦u ®iÓm cña kÕ thõa NguyễnVănVỵ Lμ c¬ chÕ trõu t−îng ®Ó ph©n lo¹i c¸c líp (thùc thÓ) T¸i sö dông c¶ ë møc thiÕt kÕ vμ møc lËp tr×nh t¸i sö dông cÊu tróc d÷ liÖu t¸i sö dông ph−¬ng thøc: giao diÖn cμi ®Æt (m·) BiÓu ®å kÕ thõa lμ nguån th«ng tin mang tÝnh tæ chøc vÒ bμi to¸n Bộ môn Công nghệ phần mềm – ĐHCN 18 T−¬ng t¸c gi÷a c¸c ®èi t−îng NguyễnVănVỵ o1: C1 state o1 ops1() o3:C3 state o3 ops3 () o4: C4 o2: C3 o6: C1 o5:C5 state o2 ops3 () state o6 ops1 () Bộ môn Công nghệ phần mềm – ĐHCN state o4 ops4 () state o5 ops5 () 19 T−¬ng t¸c gi÷a c¸c ®èi t−îng NguyễnVănVỵ C¸c ®èi t−îng giao tiÕp b»ng trao ®æi th«ng b¸o Th«ng b¸o Tªn dÞch vô ®−îc yªu cÇu Th«ng tin dïng ®Ó thùc hiÖn dÞch vô C¸c lo¹i ®èi t−îng actor: chØ göi th«ng b¸o agent: göi vμ nhËn th«ng b¸o server: chØ nhËn th«ng b¸o Thùc tÕ, th«ng b¸o ®−îc cμi ®Æt b»ng lêi gäi hμm Tªn = tªn hμm Th«ng tin = danh s¸ch tham sè Bộ môn Công nghệ phần mềm – ĐHCN 20
- Xem thêm -

Tài liệu liên quan