Ví dụ biểu đồ tuần tự UML có toán tử par và seq

Một phần của tài liệu (LUẬN án TIẾN sĩ) các kỹ thuật sinh tự động dữ liệu kiểm thử dựa trên các biểu đồ UML luận án TS máy tính 624801 (Trang 29 - 30)

hạng được duy trì; Các sự kiện trên các lifeline khác nhau ở các toán hạng khác nhau có thể xảy ra theo thứ tự bất kỳ; Các sự kiện trên cùng lifeline ở các toán hạng khác nhau được sắp thứ tự sao cho một sự kiện của toán hạng thứ nhất xảy ra trước sự kiện của toán hạng thứ hai. Hình 2.4 biểu diễn minh họa của toán tử seq: tìm kiếm trên Google (searchGoogle()) song song với tìm kiếm trên Bring (searchBring()) và Yahoo (searchYahoo()). Tuy nhiên, searchBring() và searchYahoo() cùng một lifeline nên tìm kiếm Bring luôn phải trước Yahoo.

Toán tử strict: chỉ ra rằng phân đoạn kết hợp biểu diễn một trình tự nghiêm ngặt giữa các hành vi của các toán hạng. Hình 2.5 biểu diễn ví dụ minh họa của toán tử strict: thực hiện theo đúng trình tự là tìm kiếm bằng Google, rồi tìm kiếm Bring, sau đó là Yahoo.

Toán tử critical (critical region): chỉ ra phân đoạn kết hợp biểu diễn một vùng then chốt. Một vùng then chốt nghĩa là các vết trong vùng này không thể bị đan xen bởi các sự kiện khác (trên các lifeline bị phủ bởi vùng này). Hình 2.5 biểu diễn ví dụ minh họa của toán tử critical: các cuộc gọi cho 911 phải nối tiếp, không được chồng lấn nhau, tuy nhiên các cuộc gọi thường (100) thì đan xen nhau thoải mái. Điều hành viên (operator) phải chuyển tiếp cuộc gọi cho số 911 trước khi làm bất cứ thứ gì khác.

Toán tử ignore: chỉ ra rằng có một số kiểu thông điệp không được hiển thị trong phân đoạn kết hợp này. Các kiểu thông điệp này có thể bị coi là vô nghĩa và bị mặc nhiên bỏ qua. Hình 2.6 biểu diễn ví dụ minh họa của toán tử ignore: bỏ qua thông điệp get() và set() nếu có trong các toán hạng.

Toán tử consider: chỉ ra những thông điệp được thực hiện trong phân đoạn kết hợp này, và các thông điệp còn lại khác bị bỏ qua. Hình 2.6 biểu diễn ví dụ minh họa của toán tử consider: chỉ thực hiện các thông điệp add() và remove(), bỏ qua các thông điệp khác.

1: searchGoogle() a: A obj 1 obj 2 strict obj 3 2: searchBring() 3: searchYahoo() 1: call (100) a: A emergency operator par caller critical 2: call (100) 3: call (911) 4: call (911)

Một phần của tài liệu (LUẬN án TIẾN sĩ) các kỹ thuật sinh tự động dữ liệu kiểm thử dựa trên các biểu đồ UML luận án TS máy tính 624801 (Trang 29 - 30)