Buoi 7 - Chapter 4 - Diagram

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 58

MÔ HÌNH HÓA TIẾN TRÌNH

VÀ DỮ LIỆU
BIỂU DIỄN MÔ HÌNH HÓA TIẾN TRÌNH
▪ Biểu diễn bằng tiếng Anh cấu trúc theo pseudo code
▪ Biểu diễn bằng bảng quyết định (decision table)
▪ Biểu diễn bằng cây quyết định (decision tree)
▪ Biểu diễn bằng biểu đồ chuyển trạng thái (State
transition diagram)
▪ Biểu diễn bằng bảng chuyển trạng thái (State
transition table)
Biểu diễn bằng tiếng Anh cấu trúc (Pseudo code)

Pseudo code_Mã giả


Sử dụng các quy ước cấu trúc của một ngôn ngữ lập trình
kết hợp với ngôn ngữ tự nhiên và một số ký hiệu toán học để
mô tả nguyên tắc hoạt động của một chương trình máy tính
hoặc một thuật toán.
Các ký hiệu toán học phổ biến sử dụng trong Pseudo code

Biểu thức Ký hiện Ví dụ


Phép gán ← hoặc : = c ← 2πr, c := 2πr
So sánh =, ≠, <,>, ≤, ≥
Tính toán +, -, ×, /, mod
Sàn / Trần ⌋, ⌈ a ← ⌊b⌋ + ⌈c⌉
Logic và , hoặc
Tổng Σ h ← Σa∈A 1/a
Ví dụ:

Procedure tìm bội của 3 hoặc 5;


For i := 1 to 100 do
If i mod 3 = 0 then
Print “Bội của 3";
If i mod 5 = 0 then
Print “Bội của 5";
End
Biểu diễn bằng tiếng Anh cấu trúc (Pseudo code)
Ví dụ:
if điểm giữa kỳ ≥ 3 then
Print “đủ điều kiện thi"
else
Print “Không đủ điều kiện thi”
Biểu diễn bằng bảng quyết định (decision table)
Ví dụ: Rút tiền ở ATM. Cây ATM phải đưa ra quyết định
xem khách hàng có được phép rút tiền hay không? 1

Điều kiện rút tiền R1 R2 R3


Số tiền rút <= Số dư T F F
Thẻ tín dụng - T F
Hành động
Rút tiền T T F

1. https://reqtest.com/requirements-blog/a-guide-to-using-decision-tables/
Biểu diễn bằng bảng quyết định (decision table)
Các bước để tạo bảng quyết định
1 Phân tích yêu cầu và tạo cột đầu tiên
2 Tính toán để thêm các cột tiếp theo
3 Điền các trường hợp có thể xảy ra

4 Xác định các hành động

5 Viết các trường hợp


1 Phân tích các điều kiện và khởi tạo cột thứ nhất

Tiêu đề của điều kiện

Điều kiện rút tiền


Điều kiện 1
Số tiền rút <= Số dư
Điều kiện 2
Thẻ tín dụng Tiêu đề của Hành động

Hành động
Rút tiền Hành động
2 Tính toán để thêm các cột phương án

Số cột để thêm được tính theo công thức 2n (n là số điều kiện)


Số điều kiện Số cột cần thêm
1 2
2 4
3 8
4 16
5 32
... ...
2 Tính toán để thêm các cột phương án

Điều kiện rút tiền


Số tiền rút <= Số dư
2 Điều kiện 22 = 4
Thẻ tín dụng
Hành động KL: Cần thêm 4 cột
Rút tiền
2 Tính toán để thêm các cột phương án

Điều kiện rút tiền R1 R2 R3 R4


Số tiền rút <= Số dư T F T F
Thẻ tín dụng
Hành động
Rút tiền
2 Tính toán để thêm các cột phương án

Điền giá trị T (true) và F (False) tương ứng với các điều
kiện trong từng cột theo thứ tự:
▪ Dòng 1: TF
▪ Dòng 2: TTFF
▪ Dòng 3: TTTTFFFF
Chú ý: Sử dụng Excel để điền.
2 Tính toán để thêm các cột phương án

Điều kiện rút tiền R1 R2 R3 R4


Số tiền rút <= Số dư T F T F
Thẻ tín dụng T T F F
Hành động
Rút tiền
3 Tối ưu bảng theo các quy tắc

- Đánh dấu trường hợp vô nghĩa bằng dấu “-”


- Loại bỏ các cột giống nhau (chỉ để lại 1 cột)
Điều kiện rút tiền R1 R2 R3 R4
Số tiền rút <= Số dư T F T F
Thẻ tín dụng T T F F
Hành động
Rút tiền
Điều kiện rút tiền R1 R2 R3 R4
Số tiền rút <= Số dư T F T F
Thẻ tín dụng T T F F
Hành động
Rút tiền

Điều kiện rút tiền R1 R2 R3 R4


Số tiền rút <= Số dư T F T F
Thẻ tín dụng - T - F
Hành động
Rút tiền
Điều kiện rút tiền R1 R2 R3 R4
Số tiền rút <= Số dư T F T F
Thẻ tín dụng - T X- F
R1 = R3
Hành động
Rút tiền

Điều kiện rút tiền R1 R2 R4


Số tiền rút <= Số dư T F F
Thẻ tín dụng - T F
Hành động
Rút tiền T T F
5 Viết các trường hợp

Điều kiện rút tiền R1 R2 R4 Căn cứ vào bảng


Số tiền rút <= Số dư T F F quyết định viết ra
Thẻ tín dụng - T F các quy tắc quản
Hành động lý tưng ướng với
Rút tiền T T F mỗi cột điều kiện.
5 Viết các trường hợp
Điều kiện rút tiền R1 R2 R4
Số tiền rút <= Số dư T F F
Thẻ tín dụng - T F
Hành động
Ví dụ: Rút tiền T T F
Trường hợp ở cột 1: Số dư >= 200, yêu cầu rút tiền = 200.
Kết quả dự kiến: Cho phép rút
Trường hợp ở cột 2: Số dư <=200, yêu cầu rút tiền = 200 mà
có thẻ tín dụng. Kết quả dự kiến: Cho phép rút tiền.
Trường hợp ở cột 3: Số dư <=200, yêu cầu rút tiền = 200 mà
không có thẻ tín dụng. Kết quả dự kiến: Không cho phép rút tiền.
Bài tập thực hành:
Một cửa hàng quy định: Giảm giá 10% cho khách hang
là thương binh. Giảm giá 5% cho khách hang là con liệt sỹ.
Khách hàng không được hưởng cùng lúc hai tiêu chuẩn, mà
được hưởng mức cao nhất.
Hãy môt tả bài toán trên thông qua bảng quyết định và
viết ra các quy tắc bán hàng của cửa hàng.
Bài tập thực hành:

Điều kiện
Là thương binh T T F F
Là con liệt sỹ T F T F
Hành động
Giảm giá 10% T T
Giảm giá 5% T
Giảm giá 0% T
Cây quyết định (decision tree)
Cây quyết định (decision tree)
▪ Giới thiệu về cây quyết định
▪ Ví dụ
▪ Cách xây dựng cây quyết định
▪ Các vấn đế liên quan đến cây quyết định
▪ Tổng quan
Giới thiệu về cây quyết định

New
- Sử dụng cây quyết định để dự Events
đoán danh mục các sự kiện mới
- Sử dụng dữ liệu (thử) để xây Training
Decision
dựng cây quyết định Events and
Categories
Tree

Category
Giới thiệu về cây quyết định
❑Cây quyết định là một cấu trúc phân cấp của các nút và các nhánh
▪ Cây quyết định có 3 loại nút:
• Nút gốc
• Nút nội bộ: mang tên thuộc tính của CSDL
• Nút lá: mang tên lớp Ci
▪ Nhánh: mang giá trị có thể của thuộc tính
❑Cây quyết định được sử dụng trong phân lớp bằng cách duyệt từ nút
gốc của cây cho đến nút lá, từ đó rút ra lớp của đối tượng cần xét
Biểu diễn trên cây quyết định
Nút gốc: thường biểu diễn bằng hình vuông
Nút nội bộ: mang tên thuộc tính của CSDL_Thường
biểu diễn bằng hình tròn
Nút lá: mang tên lớp Ci_Thường biểu diễn bằng hình
tam giác
Ví dụ: Decision
Tree

Condition Condition
1 2

Action 1 Action 2 Action 3 Action 4


Ví dụ: Cây quyết định
Bạn
đang đói
à?

Có Không

30
nghìn Lên
không? giường
đi ngủ
Có Không

Đi ăn Mua
phở xôi
Thời
Ví dụ: tiết

Nắng U ám Mưa

Tốc
Độ độ Mỗi nút mang một thuộc tính (biến
ẩm gió độc lập)

Cao TB Thấp Mỗi nhánh tương ứng với một giá trị
của thuộc tính

Mỗi nút lá là một lớp (biến phụ


Có Không
thuộc)
Ví dụ: Trường hợp Thời tiết Độ ẩm Tốc độ gió Quyết định
1 Nắng Cao Yếu Không
Thời
tiết

Nắng U ám Mưa

Tốc
Độ độ
ẩm gió

Cao TB Thấp

Không
Ví dụ: Biểu thức lý luận
Trường hợp Thời tiết Độ ẩm Tốc độ gió Quyết định
1 Nắng Cao Yếu Không
Thời
tiết

Chơi golf = Thời tiết = nắng và Độ ẩm = trung bình hoặc thấp


và Tốc độ gió = Trung bình hoặc thấp Nắng U ám Mưa

Tốc
Độ độ
ẩm gió

Cao TB Thấp

Không
Cách xây dựng cây quyết định
 Cây được thiết lập từ trên xuống dưới
 Rời rạc hóa các thuộc tính dạng phi số
 Các mẫu huấn luyện nằm ở gốc của cây
 Chọn một thuộc tính để phân chia thành các nhánh. Thuộc tính
được chọn dựa trên độ đo thống kê hoặc độ đo heuristic
 Tiếp tục lặp lại việc xây dựng cây quyết định cho các nhánh
Cách xây dựng cây quyết định
 Điều kiện dừng
◼ Tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá)
◼ Không còn thuộc tính nào có thể dùng để phân chia mẫu nữa
◼ Không còn lại mẫu nào tại nút
Lựa chọn thuộc tính
 Độ đo để lựa chọn thuộc tính: Thuộc tính được chọn là thuộc tính có lợi nhất
cho quá trình phân lớp (tạo ra cây nhỏ nhất)
 Có 2 độ đo thường dùng
◼ 1. Độ lợi thông tin (Information gain)
 Giả sử tất cả các thuộc tính dạng phi số
 Có thể biến đổi để áp dụng cho thuộc tính số
◼ 2. Chỉ số Gini (Gini index)
 Giả sử tất cả các thuộc tính dạng số
 Giả sử tồn tại một vài giá trị có thể phân chia giá trị của từng thuộc tính
 Có thể biến đổi để áp dụng cho thuộc tính phi số
Các vấn đế liên quan đến cây quyết định

- Thời gian để xây dựng cây quyết định có thể cao


hơn các loại phân loại khác
- Gây ra lỗi lan truyền trên cây nếu tại một note
trung gian nào đó gắp lỗi (thường xảy ra khi số
lượng mẫu tăng)
Tổng quan
Ưu điểm của cây quyết định
▪ Cây quyết định dễ hiểu
▪ Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc
không cần thiết
▪ Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ
liệu có giá trị là tên thể loại
▪ Cây quyết định là một mô hình hộp trắng
▪ Có thể thẩm định một mô hình bằng các kiểm tra thống kê
▪ Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời
gian ngắn
Tổng quan
Nhược điểm
▪ Không phù hợp để dự đoán thuộc tính liên tục.
▪ Hiệu quả kém với nhiều lớp dữ liệu và dữ liệu nhỏ
▪ Tốn thời gian tính toán
▪ Tại mỗi nút, việc phân chia thành nhánh con phải được sắp xếp
để tìm ra nhánh con tốt nhất.
▪ Trong một số thuật toán, thường kết hợp các trường dữ liệu, trên
cơ sở tìm kiếm các trọng số kết hợp tối ưu
▪ Các thuật toán cắt nhánh cũng gây tốn kém bộ nhớ do phải so
sánh các nhánh với nhau
Bài tập thực hành: Thời
tiết

Vẽ cây quyết định đầy đủ, xây


dựng bảng quyết định và đưa ra Nắng U ám Mưa

các biểu thức lý luận.


Tốc
Độ độ
ẩm gió

Cao TB Thấp

Không
Biểu diễn bằng biểu đồ chuyển trạng thái
(State transition diagram)2
▪ Biểu đồ chuyển trạng thái
▪ Trạng thái đối tượng
▪ Biểu đồ trạng thái
▪ Biểu đồ trạng thái với trạng thái ẩn
▪ Biểu đồ hoạt động
Biểu đồ chuyển trạng thái3
▪ Mô tả chu kỳ tồn tại của đối tơợng từ khi nó sinh ra đến khi nó bị phá
hủy
▪ Sử dụng để mô h hóa khía cạnh động của lớp
▪ Biểu đồ bao gồm các thông tin sau:
✓ Các trạng thái của đối tơợng
✓ Hành vi của đối tượng
✓ Sự kiện tác động làm thay đổi trạng thái
▪ Thông thường
✓ Xây dựng biểu đồ chuyển trạng thái cho một vài đối tượng của lớp có
nhiều hành vi động trong dự án
✓ Không phải mọi dự án sử dụng biểu đồ loại này
3. https://baigiang.violet.vn/present/show/entry_id/999940
Trạng thái đối tượng
▪ Trạng thái đối tượng là kết quả của các hoạt động trước đó của đối tượng
▪ Đối tượng luôn ở trong một trạng thái xác định tại một thời điểm
✓ Trạng thái được xác định bởi giá trị của thuộc tính và liên kết với đối
tư khác
▪ Thí dụ:
✓ Con người cụ thể của lớp Person có các trạng thái: Người lao động,
thất nghiệp, về hưu.
✓ Hoa đơn mua hàng: Đã thanh toán, chưa thanh toán
✓ Xe ô tô: Đang chạy, đang đứng
▪ Thay đổi trạng thái đối tượng
✓ Có sự kiện xảy ra
✓ Thí dụ: ai đó thanh toán hóa đơn hàng
Biểu đồ trạng thái
▪Thí dụ biểu đồ trạng thái
Unpaid
Paying
Invoice Created
Paid

Invoice destroyed

▪Sử dụng biểu đồ trạng thái để làm gì?


➢Phân tích viên, người thiết kế và người sử dụng hiểu hành vi đối
tượng
➢Người phát triển hiểu hành vi đối tượng để cài đặt nó.
Biểu đồ trạng thái
Các phần tử đồ họa
▪ Trạng thái khởi đầu: Khi đối tượng được tạo ra:
▪ Trạng thái dừng: Khi đối tượng bị phá hủy
▪ Trạng thái (State)
✓ Hoạt động
✓ Hành động vào
✓ Hành động ra
▪ Quá độ
✓ Sự kiện
✓ Điều kiện cạnh tranh
✓ Hành động
▪ Trạng thái ẩn
Trạng thái (State)
▪Trạng thái được xác định từ khảo sát thuộc tính lớp và quan hệ
giữa các lớp
▪Ký pháp đồ họa

▪Khi đối tượng trong thạng thái nào đó nó thực hinej vài hoạt
động (Activity): Phát sinh báo cáo, Thực hiện tính toán và Gửi
thông điệp đến đối tượng khác
▪Có năm loại thông tin có thể gộp trong trạng thái: Hoạt động,
hành động vào, hành động ra, sự kiện, lịch sử trạng thái.
Hoạt động (Activity):
▪ Là hành vi mà đối tượng thực hiện khi nó đang ở trạng
thái cụ thể

▪ nó là hành vi có thể ngắt được

▪ biểu diễn trong phần tử biểu đồ: do hay /


Hành động vào (Entry Action):

▪Là hành vi xảy ra khi đối tượng đang chuyển vào trạng thái

▪Nó là hành vi không thể ngắt được

▪Biểu diễn trong phần từ biểu đồ: Entry


Hành động ra (Exit Action)
▪Là hành vi xảy ra khi đối tượng đang chuyển ra thạng thái

▪Nó là hành vi không thể ngắt được

▪Biểu diễn trong phần tử biểu đồ: Exit


Biểu diễn bằng bảng chuyển trạng thái
(State transition table)
Bảng chuyển trạng thái gồm 2 loại:
▪ Một chiều
▪ Hai chiều
Bảng chuyển trạng thái
một chiều

Hàng: chỉ trạng thái


Cột: chỉ sự kiện
Ô: xác định điều gì sẽ xảy ra khi một đối
tướng ở trạng thái nhất định (hàng) phát
hiện một sự kiện cụ thể (cột)
Input: giá trị đầu vào
Current state: trạng thái hiện tại
Next state: trạng thái tiếp theo
Output: giá trị đầu ra
Ví dụ: 0
A
0
Trạng thái 1
A 0
B
C 0 0
D B C D
Input 0 0 1
1 1 1
X
Output
Y
0
Ví dụ: A
0
1
0
Trạng thái 0 0
A B C D
B 0 0 1
1 1 1
C
D Input Current State Next state Output
Input 0 A A 0
X 1 A B 0
0 B A 0
Output
1 B C 0
Y 0 C A 0
1 C D 1
0 D A 0
1 D D 1
Chuyển đổi từ bảng chuyển trạng thái sang biểu đồ
chuyển trạng thái
Bảng chuyển trạng thái hai chiều
ĐỌC TRƯỚC LÝ THUYẾT BUỔI 8
MÔ HÌNH HÓA DỮ LIỆU (E/A)

▪ Xác định thực thể (entity), thuộc tính và các quan hệ

▪ Xác định khóa của quan hệ

▪ Xác định quy tắc biểu diễn các mối quan hệ

▪ Lập biểu đồ E-R (thực thể - quan hệ)

You might also like