You are on page 1of 32

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
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
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
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

báchkhoa: TrườngĐH
Đối tượng

sưphạm: TrườngĐH

Lớp TrườngĐH

5
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
MathematicalObj ect

Shape Point Matrix

Shape2D Shape3D

Ellipse Polygon Line Plane

Circle Quadrilateral

Rectangle

9
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
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
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
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
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
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
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
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
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
Biểu đồ bố trí (deployment diagram)

 Bố trí, trình bày kiến trúc vật lý

Console

WebClient Web Server DB Server

20
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
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
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
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
Biểu đồ giao tiếp (communication diagram)

 Trình bày sự tương tác theo kết nối

25
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
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
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
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
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
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
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

You might also like