intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng môn học Phân tích và thiết kế hướng đối tượng - TS. Nguyễn Văn Hiệp

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

79
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Phân tích và thiết kế hướng đối tượng" cung cấp cho người học các kiến thức: Các khái niệm cơ bản của mô hình hướng đối tượng, thí dụ về ngôn ngữ OOP, quy trình hợp nhất và UML, nguyên tắc dịch OOP, phân tích hướng đối tượng,... Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn học Phân tích và thiết kế hướng đối tượng - TS. Nguyễn Văn Hiệp

Trương Đai hoc Bach Khoa Tp. Hö̀ Chñ Minh<br /> Khoa Cöng Nghï Thöng Tin<br /> <br /> Mön hoc<br /> <br /> PHÊN TÑCH & THIÏT KÏ<br /> HƯƠNG ĐÖI TƯƠNG<br /> <br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Slide 1<br /> <br /> Tai liïu tham khao chñnh<br /> [1] The Unified Software Development Process, Ivar Jacabson,<br /> Grady Booch, James Rumbaugh, Addison-Wesley, 1999.<br /> [2] Software Engineering - A practitioner's approach, R.S.<br /> Pressman, McGraw-Hill, 1997<br /> [3] Design Patterns, Erich Gamma, Richard Helm, Ralph<br /> Johnson, John Vlissides, Addison-Wesley, 1998.<br /> [4] OMG Unified Modeling Language Specification, version 1.3,<br /> Object Management Group (www.omg.org), 1999<br /> [5] UML Toolkit, Hans-Erik Eriksson & Magnus Penker, 1998<br /> [6] Object-Oriented Software Engineering, A Use-Case Driven<br /> Approach, I. Jacobson, ACM Press/Addison-Wesley, 1992<br /> [7] Object-Oriented Analysis and Design with Applications, G.<br /> Booch, The Benjamin Cummings Publishing Company, 1994<br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Slide 2<br /> <br /> 1<br /> <br /> Trương Đai hoc Bach Khoa Tp. Hö̀ Chñ Minh<br /> Khoa Cöng Nghï Thöng Tin<br /> <br /> Chương 1<br /> <br /> CAC KHAI NIÏM CƠ BAN CUA<br /> MÖ HÒNH HƯƠNG ĐÖI TƯƠNG<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 3<br /> <br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Nöi dung<br /> 1.1 Tư lêp trònh co cếu truc ₫ḯn OOP<br /> 1.2 Đö́i tương, thuöc tñnh, tac vu.<br /> 1.3 Abstract type va class.<br /> 1.4 Tñnh bao ₫ong.<br /> 1.5 Tñnh thưa kḯ va cơ chḯ 'override'.<br /> 1.6 Tñnh bao göp.<br /> 1.7 Thöng ₫iïp, tñnh ₫a hònh va kiï̉m tra kiï̉u.<br /> 1.8 Tñnh tö̉ng quat hoa.<br /> 1.9 Tñnh vưng bï̀n.<br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 4<br /> <br /> 2<br /> <br /> Tư lêp trònh co cếu truc ₫ḯn OOP<br /> 1. May tñnh sö́ la thiḯt bị co thï̉ thưc hiïn 1 sö́ hưu han cac chưc năng<br /> cơ ban (têp lïnh), cơ chḯ thưc hiïn cac lïnh la tư ₫öng tư lïnh ₫ều<br /> cho ₫ḯn lïnh cuö́i cung. Danh sach cac lïnh ₫ươc thưc hiïn nay<br /> ₫ươc goi la chương trònh.<br /> 2. bết ky cöng viïc ngoai ₫ơi nao cung co thï̉ ₫ươc chia thanh trònh tư<br /> nhiï̀u cöng viïc nho hơn. Trònh tư cac cöng viïc nho nay ₫ươc goi<br /> la giai thuêt giai quyḯt cöng viïc ngoai ₫ơi. Mö̃i cöng viïc nho hơn<br /> cung co thï̉ ₫ươc chia nho nưa,... ⇒ cöng viïc ngoai ₫ơi la 1 trònh<br /> tư cac lïnh may (chương trònh).<br /> 3. vến ₫ï̀ mếu chö́t cua viïc dung may tñnh giai quyḯt vến ₫ï̀ ngoai<br /> ₫ơi la lêp trònh. Cho ₫ḯn nay, lêp trònh la cöng viïc cua con ngươi<br /> (vơi sư trơ giup ngay cang nhiï̀u cua may tñnh).<br /> 4. cac lïnh cua chương trònh (code) phai tham khao hoăc xư ly (truy<br /> xuết) thöng tin (dư liïu).<br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 5<br /> <br /> Tư lêp trònh co cếu truc ₫ḯn OOP<br /> 5. Dư liïu cua 1 chương trònh co thï̉ rết nhiï̀u va ₫a dang. Đï̉ truy<br /> xuết ₫ung 1 dư liïu ta cền :<br /> - tïn nhên dang.<br /> - kiï̉u dư liïu miïu ta cếu truc dư liïu.<br /> - tềm vưc truy xuết miïu ta giơi han khach hang truy xuết dư<br /> liïu.<br /> 6. Chương trònh cö̉ ₫iï̉n = giai thuêt + dư liïu.<br /> 7. Chương trònh con (function, subroutine,...) cho phep cếu truc<br /> chương trònh, sư dung lai code...<br /> 8. Chương trònh cö̉ ₫iï̉n co cếu truc phên cếp như sau :<br /> <br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 6<br /> <br /> 3<br /> <br /> Tư lêp trònh co cếu truc ₫ḯn OOP<br /> Chương trònh = cếu truc dư liïu + giai thuêt<br /> module<br /> (package)<br /> entry 'start'<br /> <br /> global data<br /> local data<br /> of module<br /> <br /> local data<br /> of function<br /> <br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 7<br /> <br /> Tư lêp trònh co cếu truc ₫ḯn OOP<br /> Chương trònh = têp cac ₫ö́i tương tương tac nhau<br /> ₫ö́i tương<br /> (object)<br /> entry<br /> <br /> local data<br /> of object<br /> <br /> local data<br /> of operation<br /> <br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 8<br /> <br /> 4<br /> <br /> Tö̉ng quat vï̀ hương ₫ö́i tương<br /> ƒ<br /> <br /> Mö hònh hương ₫ö́i tương giơi thiïu 1 quan ₫iï̉m lêp trònh<br /> (va phên tñch/thiḯt kḯ) khac hăn so vơi trương phai cö̉ ₫iï̉n<br /> (co cếu truc).<br /> <br /> ƒ<br /> <br /> Băt ₫ều nhen nhom vao nhưng năm cuö́i 60s va ₫ḯn ₫ều<br /> 90s thò trơ nïn rết phö̉ biḯn trong cöng nghiïp phền mï̀m.<br /> <br /> ƒ<br /> <br /> Nhưng ngön ngư hương ₫ö́i tương ₫ều tiïn : Smalltalk,<br /> Eiffel. Sau ₫o xuết hiïn thïm : Object Pascal, C++, Java,<br /> C#,…<br /> <br /> ƒ<br /> <br /> Hònh thanh cac phương phap phên tñch/thiḯt kḯ hương ₫ö́i<br /> tương.<br /> <br /> ƒ<br /> <br /> Va hiïn nay ta co 1 qui trònh phat triï̉n phền mï̀m hơp nhết<br /> dưa trïn ngön ngư UML.<br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> 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 cac ₫ö́i<br /> tương sinh sö́ng va tương tac vơi nhau.<br /> ~ Đö́i tương bao gö̀m :<br /> ƒ thuöc tñnh (dư liïu) : mang 1 gia trị nhết ₫ịnh tai tưng thơi ₫iï̉m.<br /> ƒ tac vu (operation) : thưc hiïn 1 cöng viïc nao ₫o.<br /> Implementation<br /> <br /> (class)<br /> Interface<br /> (abstract type)<br /> <br /> Bộ môn Công nghệ phần mềm<br /> Khoa CNTT<br /> ĐH Bách Khoa Tp.HCM<br /> <br /> Mön TK. Hương ₫ö́i tương<br /> Chương 1: Cac khai niïm cơ ban cua mö hònh hương ₫ö́i tương<br /> Slide 10<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2