1Phân tích và thiết kế 
hướng đối tượng với UML
Bài 1. Mô hình hoá hướng đối tượng
Bài 2. Mô hình hoá môi trường và nhu cầu
Bài 3. Mô hình hoá cấu trúc
Bài 4. Mô hình hoá hành vi
Bài 5. Thiết kế
Giới thiệu môn học
 Giảng viên : Nguyễn Hữu Đức
 Điện thoại : 0975651915
 Email: 
[email protected]
 Email: 
[email protected]
 Thời gian:
 Tài liệu tham khảo:
 Nguyễn Văn Ba, “Phát triển hệ thống hướng đối tượng với UML 
2.0 và C++”
 Grady Booch, “Object Oriented Analysis and Design with 
Applications”
 Philippe Kruchten, “The Rational Unified Process – an 
introduction”
 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 
“Design Patterns – Elements of Reusable Object Oriented 
Software”
2
3 Bài 1
MÔ HÌNH HOÁ HƯỚNG ĐỐI TƯỢNG
1. Giới thiệu môn học
2. Đại cương về tiếp cận hướng đối 
tượng
3. Đại cương về mô hình hoá
4. Ngôn ngữ UML
5. Tiến trình RUP
Tiếp cận hướng đối tượng
Đối tượng (object)
Là thực thể đóng gói cả dữ liệu và hành vi
Đối tượng được phân loại thành các lớp (class)
Mỗi đối tượng là một cá thể (instance) của lớp
Lớp
Là một “loại” các đối tượng có chung thuộc 
tính, thao tác, quan hệ và ngữ nghĩa
Tất cả các đối tượng đều là cá thể của lớp nào 
đó
4
Tiếp cận hướng đối tượng
5
báchkhoa: TrườngĐH
s ph m: Tr ngĐHư ạ ườ
TrườngĐH
Đối tượng
Lớp
Tiếp cận hướng đối tượng
Thuộc tính
Là tên chung được đặt cho một dữ kiện về 
trạng thái của các đối tượng trong một lớp
Thông thường được che dấu
Thao tác
Mô tả hành vi của đối tượng thuộc lớp
Được xây dựng như các phương thức
Tham số vào
Kết quả trả về
6
Tiếp cận hướng đối tượng
Tính đóng gói (encapsulation)
Dữ liệu và hành vi được giữ bên trong lớp và 
được che giấu đối với thế giới bên ngoài
Liên kết bên trong : mạnh
Liên kết bên ngoài : yếu
7
Tiếp cận hướng đối tượng
Khái quát hóa (generalization)
Là quan hệ giữa lớp khái quát và lớp cụ thể
Lớp cụ thể thường có thêm các thuộc tính và 
hành vi so với lớp khái quát
Kế thừa (Inheritance)
Là kỹ thuật để thực hiện việc khái quát hóa
8
Tiếp cận hướng đối tượng
9
Rectangle
QuadrilateralCircle
Ellipse Polygon PlaneLine
Shape3DShape2D
MatrixShape Point
MathematicalObject
Tiếp cận hướng đối tượng
Đa hình (polymorphism)
Là khả năng đối tượng thuộc nhiều lớp khác 
nhau có thể trả lời khác nhau cho cùng một 
thông điệp
Poly = nhiều, morphism = hình thái
10
Tiếp cận hướng đối tượng
11
12
1. Đại cương về mô hình hoá
1.1 Mô hình
Mô hình là một dạng biểu diễn trừu tượng của một 
hệ thống thực, được diễn tả:
 ở một mức độ trừu tượng hoá nào đó,
 theo một góc nhìn nào đó,
 bởi một hình thức diễn tả hiểu được (chẳng 
hạn văn bản, đồ thị)
Diễn tả hệ thống bằng mô hình (bao gồm cả khi 
phân tích và khi thiết kế) được gọi là mô hình 
hoá.
13
1. Đại cương về mô hình hoá
1.2 Phương pháp mô hình hoá
Là sự kết hợp của ba thành phần:
 một ký pháp,
 một tiến trình,
 một (hay một số) công cụ hỗ trợ (CASE).
1.3 Hai xu hướng mô hình hoá
 hướng chức năng,
 hướng đối tượng.
14
2. Ngôn ngữ mô hình hoá UML
2.1 Xuất xứ
 1/94 hình thành dự án (Booch, Rumbaugh),
 10/95 UML 0.,
 6/97 UML 0.9,
 1/97 UML 1.1, OMG công nhận là chuẩn,
 6/98 UML 1.2,
 10/98 UML 1.3,
 5/2001 UML 1.4,
 2004 UML 2.0
15
2. Ngôn ngữ mô hình hoá UML
2.2 Các góc nhìn của UML
 Góc nhìn Góc nhìn
 thiết kế thực thi
 Góc nhìn 
 ca sử dụng
 Góc nhìn Góc nhìn
 quá trình bố trí
16
2. Ngôn ngữ mô hình hoá UML
2.3 Các biểu đồ của UML
 Các biểu đồ về cấu trúc:
 Biểu đồ lớp,  Biểu đồ đối tượng,
 Biểu đồ bố trí,  Biểu đồ gói,
 Biểu đồ thành phần,  Biểu đồ cấu trúc đa hợp,
 Các biểu đồ về hành vi:
 Biểu đồ ca sử dụng,  Biểu đồ hoạt động,
 Biểu đồ máy trạng thái,  Biểu đồ trình tự
 Biểu đồ giao tiếp,  Biểu đồ thời khắc,
 Biểu đồ bao quát tương tác.
17
Biểu đồ lớp (class diagram)
 Cấu trúc tĩnh của lớp
 Thuộc tính
 Phương thức
 Quan hệ giữa các lớp
Liên kết
Khái quát hóa
Phụ thuộc
Person
+name: String
+age: Integer
Computer
+model: String
+memory: Integer
use
*0..1
18
Biểu đồ đối tượng (Object diagram)
 Ảnh của hệ thống tại một thời điểm
director : Person
name = John Smith
age = 40
pc1 : Computer
model = IBM X40
memory = 1000
pc2 : Computer
model = Dell
memory = 512
19
Biểu đồ thành phần (component diagram)
 Cấu trúc vật lý của chương trình 
 Thành phần
 Mối liên quan
find.html
>
index.html
>
find.exe
>
dbacs.dll
>
nateng.dll
>
20
Biểu đồ bố trí (deployment diagram)
 Bố trí, trình bày kiến trúc vật lý
DB ServerWeb ServerWebClient
Console
21
Biểu đồ gói (Package Diagram)
 Gom nhóm các phần tử 
 Phân rã hệ thống
Data ServiceBusiness ServiceUser Service
22
Biểu đồ cấu trúc đa hợp (composite structure 
diagram)
 Diễn tả cấu trúc bên trong của một loài
Car
+rearWheels
+engine
rearWheels engineconnect
23
Biểu đồ ca sử dụng (Use case diagram)
 Trình bày chức năng hệ thống dưới góc 
độ người sử dụng
KyHopDong
ThongKeBan
ThongKeKhachHang
KhachHang NhanVienBanHang
24
Biểu đồ trình tự (sequence diagram)
 Trình bày một hoạt cảnh (senario) giữa các đối tượng
 Giao tiếp giữa các đối tượng theo thời gian
KháchNgười 
BH
Máy BH
Với mỗi 
mặt hàng
kiểmhàng(mãsố,sốlượng
)
giá&môt
ả
giá&môt
ả
kếtthúcHàng()
tổngtiềntổngtiền
tiềnphảitrả
trảtiềnmặt(sốtiền)
nhậptiềntrả(sốtiền)
trảlại(sốtiền)
tiềndư
phiếuthanhtoán
phiếuthanhtoán
25
Biểu đồ giao tiếp (communication diagram)
 Trình bày sự tương tác theo kết nối
26
Biểu đồ máy trạng thái ( Statechart diagram)
 Biểu diễn các phản ứng của hệ thống (đối 
tượng) trước các tình huống khác nhau
27
Biểu đồ hoạt động
 Trình bày luồng hoạt động dich chuyển 
(tuần tự, rẽ nhánh, song song
28
Biểu đồ bao quát tương tác (Interaction 
overview diagram)
 Là biến thể của biểu đồ hoạt động với các 
nút là các biểu đồ tương tác khác
29
Biểu đồ thời khắc (Timing diagram)
 Diễn tả các giai đoạn trải qua của 1 hay 
nhiều đối tượng
30
2. Ngôn ngữ mô hình hoá UML
2.4 Mở rộng ý nghĩa của các yếu tố MH
 Đặc tả,
 Tô điểm,
 Khuôn dập,
 Tính chất và giá trị gắn nhãn,
 Ràng buộc.
2.5 Mô hình hoá với UML
 Theo nhiều góc nhìn,
 Theo nhiều mức độ trừu tượng.
31
3. Tiến trình RUP
3.1 Các nguyên tắc cơ bản của RUP
 Lặp và tăng trưởng,
 Tập trung vào kiến trúc,
 Dẫn dắt theo các ca sử dụng,
 Khống chế bởi các nguy cơ.
3.2 Các pha và công đoạn của RUP
RUP gồm 4 pha: Khởi đầu, Triển khai, Xây dựng, 
Chuyển giao. 
Mỗi pha gồm nhiều vòng lặp. 
Mỗi vòng lặp thường gồm năm công đoạn: Xác định 
nhu cầu, Phân tích, Thiết kế, Cài đặt, Đánh giá
32
 Một tiến trình 10 bước
1. Nghiên cứu sơ bộ
2. MHH ca sử dụng 3. MHH lĩnh vực ứng dụng
4. Tìm lớp tham gia Ca SD
5. MHH tương tác 6. MHH ứng xử
7. Làm nguyên mẫu 8. Thiết kế hệ thống
9. Thiết kế chi tiết
10. Cài đặt
Khởi đầu
Triển khai
Xây dựng và 
chuyển giao