Chương 4 : Thực nghiệm kiểm thử phần mềm
4.4 Mô hình xây dựng use-case với bài toán thực tế
4.4.1 Xây dựng luồng nghiệp vụ trên cơ sở cách tiếp cận mô hình cộng tác/tuần tự
tác/tuần tự
Với nghiệp vụ bài toán đặt ra, ta thể hiện dưới dạng lược đồ cộng tác UML và biểu đồ tuần tự để mô tả sự tương tác giữa các cấu phần tham gia hệ thống. Nghiệp vụ bài toán trên có các cấu phần tham gia và tương tác với nhau đó là: nhóm cấu phần phục vụ - server components (Giao dịch, kho, hóa đơn, quản lý giao dịch), client components.
Trước hết, ta thể hiện mô hình tương tác cấu phần hệ thống trên thông qua biểu đồ cộng tác của một mô hình giao dịch bán hàng.
Hình 21. Mô hình cộng tác - bài toán thực tế Giao dịch Kho Hóa đơn <<Nghiệp vụ>> Giao dịch mua hàng Client component * * * * * * * * * * * * W2 W3 W1 W5 W3A W8A W10 W7 W8 W4 W9 W6
Lược đồ tuần tự mô tả tương tác giữa các cấu phần theo trình tự thời gian thực hiên như sau:
Hình 22. Mô hình tuần tự - trên bài toán thực tế
Kho Hóa đơn Giao dịch
Object4
Client component <Logic nghiệp vụ> W1 W2 W3 W4 W5 W6 W7 W8 W9 W10
Lược đồ trên mô tả các tương tác nghiệp vụ gồm:
W1: Gửi yêu cầu mua hàng W6: Yêu cầu lập hóa đơn
W2: Kiểm tra lượng hàng đáp ứng trong kho
W7: Kiểm tra hóa đơn giao dịch trong kho
W3: Trừ lượng hàng trong kho cho giao dịch
W8: Trừ 1 hóa đơn sử dụng W3A: Lượng hàng trong kho không đủ
giao dịch
W8A: Không còn hóa đơn trong kho
W4: Ghi giao dịch W9: Ghi giao dịch lập hóa đơn
W5: Thông báo giao dịch thành công W10: Thông báo lập hóa đơn cho
giao dịch
Các bước thực hiện tuần tự một giao dịch mua hàng của khách như sau: W1–W2–W3–W4–W5
W1–W2–W3–W3A–W5–W6–W7–W8–W9–W10 W1-W2-W3-W3A
W1-W2-W3-W4-W5-W6-W7-W8-W8.A
Biểu đồ trên đưa ra một trong số chuỗi khả năng theo thứ tự thời gian, cộng tác và kết hợp với các cấu phần khác theo thứ tự. Trong hình mô tả trên, W3, W3A; W8, W8A tập trung vào 2 luồng đảo và có thể xảy ra sau khi thông điệp W2 hoặc W7 truyền qua đối tượng giao dịch.
Từ mô hình tương tác, ta có thể đi đến việc mô tả một cách chi tiết các chức năng trong hệ thống. Trên mỗi usecase thể hiện tương tác với các usecase khác trong hệ thống. Dưới đây là quy trình làm việc được mô tả ứng với từng usecase.