1. Phâ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ế
1
2. Giới thiệu môn học
Giảng viên : Nguyễn Hữu Đức
Điện thoại : 0975651915
Email: ducnh-fit@mail.hut.edu.vn
Email: ducnh.hut@gmail.com
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
3
4. 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
5. Tiếp cận hướng đối tượng
báchkhoa: TrườngĐH
Đối tượng
sưphạm: TrườngĐH
Lớp TrườngĐH
5
6. 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
7. 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
8. 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
9. Tiếp cận hướng đối tượng
MathematicalObj ect
Shape Point Matrix
Shape2D Shape3D
Ellipse Polygon Line Plane
Circle Quadrilateral
Rectangle
9
10. 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
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á.
12
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.
13
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
14
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í
15
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.
16
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 Person
use
Computer
Phụ thuộc +name: String +model: String
+age: Integer 0..1 * +memory: Integer
17
18. Biểu đồ đối tượng (Object diagram)
Ảnh của hệ thống tại một thời điểm
pc1 : Computer
model = IBM X40
director : Person memory = 1000
name = John Smith
age = 40
pc2 : Computer
model = Dell
memory = 512
18
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
<<document>> <<executable>> <<library>>
find.html find.exe nateng.dll
<<document>> <<library>>
index.html dbacs.dll
19
20. Biểu đồ bố trí (deployment diagram)
Bố trí, trình bày kiến trúc vật lý
Console
WebClient W Server
eb DB Server
20
21. Biểu đồ gói (Package Diagram)
Gom nhóm các phần tử
Phân rã hệ thống
User Service Business Service Data Service
21
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
connect
rearWheels engine
22
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
KhachHang NhanVienBanHang
ThongKeKhachHang
23
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
Máy BH
Người Khách
BH kiểmhàng(mãsố,sốlượng
Với mỗi )
mặt hàng giá&môt giá&môt
ả ả
kếtthúcHàng()
tổngtiền tổ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
24
25. Biểu đồ giao tiếp (communication diagram)
Trình bày sự tương tác theo kết nối
25
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
26
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
27
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
28
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
29
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.
30
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á
31
32. Một tiến trình 10 bước
Khởi đầu 1. Nghiên cứu sơ bộ
2. MHH ca sử dụng 3. MHH lĩnh vực ứng dụng
Triển khai 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
Xây dựng và
9. Thiết kế chi tiết
chuyển giao
10. Cài đặt
32