4. 4
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
5. 5
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng (Functional Model)
4.3 Mô hình hóa cấu trúc (Structural Model)
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
6. 6
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Functional Model
Information that is used and created by system
-> How the system will behave -> OK
-> NOT
-> Structural Model
Mục đích của mô hình hóa cấu trúc:
Mô tả cấu trúc dữ liệu được sử dụng trong hệ thống.
Biểu diễn sự vật, ý tưởng hoặc khái niệm (objects) quan
trọng trong hệ thống và mối quan hệ giữa chúng.
Xây dựng hệ thống thuật ngữ chung cho người sử dụng và
người thiết kế hệ thống.
Rút ngắn khoảng cách giữa thế giới thực và phần mềm
Các mô hình cấu trúc: CRC card, classes diagrams, object
diagrams.
7. 7
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
8. 8
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Lớp (Classes)
Thuộc tính (Attributes)
Hoạt động (Operations)
Quan hệ (Relationships)
9. 9
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Khái niệm: Class là một khuôn mẫu chung dùng để tạo ra đối
tượng.
-> Các đối tượng của 1 lớp có cấu trúc và hành vi giống nhau chỉ
khác nhau về dữ liệu trong các thuộc tính của chúng.
Hai kiểu lớp:
Lớp cụ thể (Concrete): Dùng để tạo đối tượng.
Lớp trừu tượng (Abstract): Chỉ mang tính chất khái quát hóa,
không thể dùng để tạo đối tượng.
Ngoài ra, có thể phân loại theo sự vật thực tế mà lớp thể hiện:
Application domain classes, User interface classes, Data
structure classes, File structure classes, Operating environment
classes, Document classes, Multimedia classes.
10. 10
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Example
11. 11
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Khái niệm: Một thuộc tính là một đơn vị thông tin được lưu
trữ liên quan đến việc mô tả lớp nằm trong phạm vi của
ứng dụng xem xét.
Chỉ đưa vào các thông tin quan trọng liên quan đến
phạm vi ứng dụng quan tâm.
Các thuộc tính nên có kiểu dữ liệu cơ bản: integer,
double, string, date, time, Boolean,…
Các thuộc tính phức tạp nên được biểu diễn bằng
quan hệ (relationship) giữa các lớp
14. 14
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
15. 15
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động
17. 17
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Class: thành phần chính của sơ đồ lớp là những lớp, chúng lưu
trữ và quản lý thông tin trong hệ thống
Trong suốt pha phân tích: tập người, nơi chốn, sự kiện và đồ vật
trong hệ thống
Trong pha thiết kế: những cửa số, các form, …
Minh họa bởi một hình chữ nhật có 3 khoang: tên, thuộc tính và
thao tác
18. 18
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
A CLASS
AN ATTRIBUTE
AN OPERATION
AN ASSOCIATION
Class 1
-attribute
+operation ()
Attribute name/
derived attribute name
operation name ()
1..* 0..1
______verb phrase____
19. 19
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Các thuộc tính dẫn suất (Derived attributes)
- /tuổi, có thể tính được bằng ngày sinh và ngày hiện
tại
Visibility
- Public (+)
- Protected (#)
- Private (–)
20. 20
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
A public attribute: thuộc tính không bị ẩn bởi tất cả các đối tượng
khác. Như vậy, các đối tượng khác có thể thay đổi giá trị của nó
A protected attribute: là thuộc tính bị ẩn đối với tất cả các lớp trừ
các lớp con trực tiếp của nó.
A private attribute là thuộc tính bị che giấu hoàn toàn (bị ẩn) đối
với mọi lớp khác
Default visibility: tính hiện hữu mặc định của một thuộc tính bình
thường là private
21. 21
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Thao tác là những hành động hay chức năng mà một lớp có thể
thực hiên
Chú ý các dấu ngoặc () theo sau thao tác
Cũng tương tự như thuộc tính, thao tác cũng có tính hiện hữu (+,
#, -)
22. 22
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Constructor
– Để tạo ra đối tượng
Query
– Để tạo thông tin về trạng thái, không thay đổi đối tượng
Update
– Để thay đổi giá trị của một số hay tất cả các thuộc tính của đối
tượng
23. 23
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Minh họa mối quan hệ hay liên kết giữa các lớp là một
mục tiêu quan trọng của biểu đồ lớp
Một lớp có thể có quan hệ với lớp khác hay quan hệ
với chính nó.
Mỗi quan hệ được minh họa bởi một đường có mũi tên
và một nhãn hay tên một vài lớp trong quan hệ
24. 24
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Giữa các lớp có thể có 3 mối liên quan
Mối liên quan phụ thuộc
Mối liên quan khái quát
Mối liên quan liên kết
25. 25
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Thường dùng để diễn đạt một lớp (bên phụ thuộc) chịu
ảnh hưởng của mọi thay đổi trong một lớp khác (bên độc
lập), mà ngược lại thì không nhất thiết. Thường thì bên phụ
thuộc cần dùng bên độc lập để đặc tả hay cài đặt cho
mình. UML biểu diễn mối liên quan phụ thuộc bằng một
mũi tên đứt nét (từ bên phụ thuộc sang bên độc lập).
26. 26
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Khái quát hoá (generalization) là sự rút ra các đặc
điểm chung của nhiều lớp để tạo thành một lớp
giản lược hơn gọi là lớp trên (hay cha).
Lớp trừu tượng là các lớp không có cá thể, mà chỉ dùng
cho việc mô tả các đặc điểm chung của những lớp dưới
27. 27
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Kết nối và liên kết
Giữa các cá thể của hai lớp có thể tồn tại những
sự ghép cặp, phản ánh một mối liên hệ nào đó
trên thực tế. Gọi đó là một kết nối (link).
Tập hợp những kết nối cùng loại (cùng ý nghĩa)
giữa cá thể của hai lớp tạo thành một mối liên
quan giữa hai lớp đó, gọi là một liên kết (association).
28. 28
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
• Multiplicity of relationship
• Lớp liên kết (Association class)
29. 29
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Kết nhập
Mô hình hóa mối quan hệ "toàn thể/bộ phận" giữa một
lớp các vật thể lớn (cái "toàn thể") với một lớp các vật
thể bé (các "bộ phận") bao gồm trong chúng.
Được biểu diễn bằng cách gắn thêm một hình thoi nhỏ
vào một đầu của liên kết, phía cái toàn thể
30. 30
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Hợp thành
Một hợp thành (composition) là một loại kết nhập đặc
biệt với quan hệ sở hữu mạnh hơn, trong đó một bộ phận
chỉ thuộc vào một cái toàn thể duy nhất và cái toàn thể
có trách nhiệm tạo lập và hủy bỏ cái bộ phận. Như vậy
khi cái toàn thể bị hủy bỏ thì cái bộ phận cũng buộc phải
hủy bỏ theo.
Hợp thành được biểu diễn bằng cách thay
hình thoi rỗng trong kết nhập bởi hình thoi đặc
31. 31
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Biểu đồ đối tượng diễn tả lại cấu trúc tĩnh cho trong biểu
đồ lớp, song một cách cụ thể: các đối tượng thay cho các
lớp, các kết nối thay cho các liên kết.
32. 32
PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hà Nội, 4/8/2015
Chương 4. Phân tích hệ thống
4.1 Xác định yêu cầu hệ thống
4.2 Mô hình hóa chức năng
4.3 Mô hình hóa cấu trúc
4.3.1 Giới thiệu
4.3.2 Các phần tử của mô hình cấu trúc
4.3.3 Thẻ CRC ( Class-Responsibility-Collaboration)
4.3.4 Biểu đồ lớp
4.3.5 Xây dựng thẻ CRC và biểu đồ lớp
4.4 Mô hình hóa hoạt động