Bài giảng môn học Kỹ nghệ phần mềm: Bài 7 - PGS.TS. Nguyễn Văn Vỵ

Chia sẻ: Na Na | Ngày: | Loại File: PDF | Số trang:54

0
42
lượt xem
8
download

Bài giảng môn học Kỹ nghệ phần mềm: Bài 7 - PGS.TS. Nguyễn Văn Vỵ

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

Bài giảng môn học Kỹ nghệ phần mềm: Bài 7 trình bày vấn đề thiết kế hướng đối tượng. Các nội dung được đề cập trong bài học này bao gồm: 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ế.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn học Kỹ nghệ phần mềm: Bài 7 - PGS.TS. Nguyễn Văn Vỵ

  1. 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: vynv@coltech.vnu.vn
  2. 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
  3. TÀI LiỆU THAM KHẢO NguyễnVănVỵ 1. 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 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. 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
  4. 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
  5. 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
  6. 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
  7. VÝ dô kiÕn tróc h−íng ®èi t−îng NguyễnVănVỵ Customer Receipt customer# invoice# name date address Invoice amount credit period customer# invoice# date amount customer Payment issue () invoice# sendReminder () date acceptPayment () amount sendReceipt () customer# Bộ môn Công nghệ phần mềm – ĐHCN 7
  8. ¦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
  9. 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
  10. 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
  11. 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 maSV hotenSV  Bé c¸c thuéc tÝnh diachi  C¸c ph−¬ng thóc lop Tao( ) Capnhat( ) Xoa( ) Bộ môn Công nghệ phần mềm – ĐHCN 11
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. VÝ dô c©y kÕ thõa NguyễnVănVỵ Employee Manager Programmer budgetsControlled project progLanguage dateAppointed Project Dept. Strategic Manager Manager Manager projects dept responsibilities Bộ môn Công nghệ phần mềm – ĐHCN 17
  18. ¦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: y giao diÖn y 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
  19. T−¬ng t¸c gi÷a c¸c ®èi t−îng NguyễnVănVỵ o1: C1 o3:C3 o4: C4 state o1 state o3 state o4 ops1() ops3 () ops4 () o2: C3 o6: C1 o5:C5 state o2 state o6 state o5 ops3 () ops1 () ops5 () Bộ môn Công nghệ phần mềm – ĐHCN 19
  20. 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

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản