1
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 1
Trương Đai hoc Bach Khoa Tp. Hö Chñ Minh
Khoa Cöng Nghï Thöng Tin
Mön hoc
PHÂN TÍCH & THIT K
HƯỚNG ĐỐI TƯỢNG DÙNG UML
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 2
1. n lai 1 s khai nim cơ ban cua hương ₫i tương, cac ngn ngư
hương ₫i tương thương dung, cơ ch dch cac type/class sang ngn
ngư c in (ngn ngư may).
2. n lai qui trnh phat trin phn mm hơp nht.
3. n lai ngn ngư UML ₫ươc dung ₫ miu ta cac artifacts cua qui
trnh phat trin phn mm hơp nht.
4. Giơi thiu cac mu thit k hương ₫i tương ₫ươc dung ph bin
trong cac ưng dung hin hanh va cac ưng dung tương lai.
i dung mön hoc
2
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 3
Tai liïu tham khao chñnh
[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
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 4
Trương Đai hoc Bach Khoa Tp. Chñ Minh
Khoa Cöng Nghï Thöng Tin
Chương 1
CAC KHAI NIÏMCƠ BAN CUA
HÒNH HƯƠNG ĐÖI TƯƠNG
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương
3
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 5
i dung
1.1 Tưp trònh cou 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ưakï va cơ chï 'override'.
1.6 Tñnh bao göp.
1.7 Thöng 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.
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 6
1. May tnh 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 trnh.
2. bt ky cng vic ngoai ₫ơi nao cung co th ₫ươc chia thanh trnh tư
nhiu cng vic nho hơn. Trnh tư cac cng vic nho nay ₫ươc goi
la giai thut giai quyt cng vic ngoai ₫ơi. Mi cng vic nho hơn
cung co th ₫ươc chia nho nưa,... cng vic ngoai ₫ơi la 1 trnh
tư cac lnh may (chương trnh).
3. vn ₫ mu cht cua vic dung may tnh giai quyt vn₫ ngoai
₫ơi la lp trnh. Cho ₫n nay, lp trnh la cng vic cua con ngươi
(vơi sư trơ giup ngay cang nhiu cua may tnh).
4. cac lnh cua chương trnh (code) phai tham khao hoăc xư ly (truy
xut) thng tin (dư liu).
Tưp trònh cou truc ïn OOP
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương
4
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 7
Tưp trònh cou truc ïn OOP
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương
5. Dư liu cua 1 chương trnh co th rt nhiu va a dang. Đ truy
xut ung 1 dư liu ta cn :
-tn nhn dang.
-kiu dư liu miu ta cu truc dư liu.
-tm vưc truy xut miu ta giơi han khach hang truy xutdư
liu.
6. Chương trnh c in = giai thut + dư liu.
7. Chương trnh con (function, subroutine,...) cho phep cu truc
chương trnh, sư dung lai code...
8. Chương trnh c in co cu truc phn cp như sau :
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 8
Chương trnh = cu truc dư liu + giai thut
entry 'start'
global data
module
(package)
local data
of module
local data
of function
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương
Tưp trònh cou truc ïn OOP
5
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 9
Chương trnh = tp cac ₫i tương tương tac nhau
entry
₫i tương
(object)
local data
of object
local data
of operation
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương
Tưp trònh cou truc ïn OOP
mön Cöng nghï phên mïm
Khoa CNTT
ĐHBach Khoa Tp.HCM
Mön Phân tích & Thiết kế hướng ₫ối tượng dùng UML
Slide 10
ng quat vï hương öi tương
M hnh hương ₫i tương giơi thiu 1 quan im lp trnh
(va phn tch/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ơ nn rt ph bin trong cng nghip phn mm.
Nhưng ngn ngư hương ₫i tương ₫u tin : Smalltalk,
Eiffel. Sau o xut hin thm : Object Pascal, C++, Java,
C#,…
Hnh thanh cac phương phap phn tch/thit k hương ₫i
tương.
Va hin nay ta co 1 qui trnh phat trin phn mm hơp nht
dưa trn ngn ngư UML.
Chương 1: Cac khai nim cơ ban cua m hnh hương ₫i tương