Trương Đai hoc Bach Khoa Tp. Hö̀ Chñ Minh Khoa Cöng Nghï Thöng Tin<br />
<br />
Mön hoc<br />
<br />
PHÊN TÑCH & THIÏT KÏ HƯƠNG ĐÖI TƯƠNG<br />
<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM<br />
<br />
Mön TK. Hương ₫ö́i tương Slide 1<br />
<br />
Tai liïu tham khao chñnh<br />
[1] The Unified Software Development Process, Ivar Jacabson, Grady Booch, James Rumbaugh, Addison-Wesley, 1999. [2] Software Engineering - A practitioner's approach, R.S. Pressman, McGraw-Hill, 1997 [3] Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Addison-Wesley, 1998. [4] OMG Unified Modeling Language Specification, version 1.3, Object Management Group (www.omg.org), 1999 [5] UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998 [6] Object-Oriented Software Engineering, A Use-Case Driven Approach, I. Jacobson, ACM Press/Addison-Wesley, 1992 [7] Object-Oriented Analysis and Design with Applications, G. Booch, The Benjamin Cummings Publishing Company, 1994<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM Mön TK. Hương ₫ö́i tương Slide 2<br />
<br />
1<br />
<br />
Trương Đai hoc Bach Khoa Tp. Hö̀ Chñ Minh Khoa Cöng Nghï Thöng Tin<br />
<br />
Chương 1<br />
<br />
CAC KHAI NIÏM CƠ BAN CUA MÖ HÒNH HƯƠNG ĐÖI TƯƠNG<br />
<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM<br />
<br />
Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 3<br />
<br />
Nöi dung<br />
1.1 Tư lêp trònh co cếu truc ₫ḯn OOP 1.2 Đö́i tương, thuöc tñnh, tac vu. 1.3 Abstract type va class. 1.4 Tñnh bao ₫ong. 1.5 Tñnh thưa kḯ va cơ chḯ 'override'. 1.6 Tñnh bao göp. 1.7 Thöng ₫iïp, tñnh ₫a hònh va kiï̉m tra kiï̉u. 1.8 Tñnh tö̉ng quat hoa. 1.9 Tñnh vưng bï̀n.<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 4<br />
<br />
2<br />
<br />
Tư lêp trònh co cếu truc ₫ḯn OOP<br />
1. May tñnh sö́ la thiḯt bị co thï̉ thưc hiïn 1 sö́ hưu han cac chưc năng cơ ban (têp lïnh), cơ chḯ thưc hiïn cac lïnh la tư ₫öng tư lïnh ₫ều cho ₫ḯn lïnh cuö́i cung. Danh sach cac lïnh ₫ươc thưc hiïn nay ₫ươc goi la chương trònh. 2. bết ky cöng viïc ngoai ₫ơi nao cung co thï̉ ₫ươc chia thanh trònh tư nhiï̀u cöng viïc nho hơn. Trònh tư cac cöng viïc nho nay ₫ươc goi la giai thuêt giai quyḯt cöng viïc ngoai ₫ơi. Mö̃i cöng viïc nho hơn cung co thï̉ ₫ươc chia nho nưa,... ⇒ cöng viïc ngoai ₫ơi la 1 trònh tư cac lïnh may (chương trònh). 3. vến ₫ï̀ mếu chö́t cua viïc dung may tñnh giai quyḯt vến ₫ï̀ ngoai ₫ơi la lêp trònh. Cho ₫ḯn nay, lêp trònh la cöng viïc cua con ngươi (vơi sư trơ giup ngay cang nhiï̀u cua may tñnh). 4. cac lïnh cua chương trònh (code) phai tham khao hoăc xư ly (truy xuết) thöng tin (dư liïu).<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 5<br />
<br />
Tư lêp trònh co cếu truc ₫ḯn OOP<br />
5. Dư liïu cua 1 chương trònh co thï̉ rết nhiï̀u va ₫a dang. Đï̉ truy xuết ₫ung 1 dư liïu ta cền : - tïn nhên dang. - kiï̉u dư liïu miïu ta cếu truc dư liïu. - tềm vưc truy xuết miïu ta giơi han khach hang truy xuết dư liïu. 6. Chương trònh cö̉ ₫iï̉n = giai thuêt + dư liïu. 7. Chương trònh con (function, subroutine,...) cho phep cếu truc chương trònh, sư dung lai code... 8. Chương trònh cö̉ ₫iï̉n co cếu truc phên cếp như sau :<br />
<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM<br />
<br />
Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 6<br />
<br />
3<br />
<br />
Tư lêp trònh co cếu truc ₫ḯn OOP<br />
Chương trònh = cếu truc dư liïu + giai thuêt module (package) entry 'start' global data local data of module<br />
<br />
local data of function<br />
<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM<br />
<br />
Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 7<br />
<br />
Tư lêp trònh co cếu truc ₫ḯn OOP<br />
Chương trònh = têp cac ₫ö́i tương tương tac nhau ₫ö́i tương (object) entry local data of object<br />
<br />
local data of operation<br />
<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM<br />
<br />
Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 8<br />
<br />
4<br />
<br />
Tö̉ng quat vï̀ hương ₫ö́i tương<br />
Mö hònh hương ₫ö́i tương giơi thiïu 1 quan ₫iï̉m lêp trònh (va phên tñch/thiḯt kḯ) khac hăn so vơi trương phai cö̉ ₫iï̉n (co cếu truc). Băt ₫ều nhen nhom vao nhưng năm cuö́i 60s va ₫ḯn ₫ều 90s thò trơ nïn rết phö̉ biḯn trong cöng nghiïp phền mï̀m. Nhưng ngön ngư hương ₫ö́i tương ₫ều tiïn : Smalltalk, Eiffel. Sau ₫o xuết hiïn thïm : Object Pascal, C++, Java, C#,… Hònh thanh cac phương phap phên tñch/thiḯt kḯ hương ₫ö́i tương. Va hiïn nay ta co 1 qui trònh phat triï̉n phền mï̀m hơp nhết dưa trïn ngön ngư UML.<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 9<br />
<br />
Đö́i tương (Object)<br />
Mö hònh ₫ö́i tương quan niïm chương trònh bao gö̀m cac ₫ö́i tương sinh sö́ng va tương tac vơi nhau. Đö́i tương bao gö̀m :<br />
thuöc tñnh (dư liïu) : mang 1 gia trị nhết ₫ịnh tai tưng thơi ₫iï̉m. tac vu (operation) : thưc hiïn 1 cöng viïc nao ₫o. Implementation<br />
<br />
(class) Interface (abstract type)<br />
<br />
Bộ môn Công nghệ phần mềm Khoa CNTT ĐH Bách Khoa Tp.HCM<br />
<br />
Mön TK. Hương ₫ö́i tương Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương Slide 10<br />
<br />
5<br />
<br />