Statechart diagrams (Lược đồ trạng thái)

Một phần của tài liệu Đồ án công nghệ thông tin phát triển ứng dụng J2EE với UML (Unified Modeling Language) và Rational Rose (Trang 26)

Các đối tượng có các hành vi và trạng thái. Trạng thái của đối tượng phụ thuộc vào hoạt động hoặc điều kiện hiện hành. Lược đồ trạng thái (statechart

diagram) hiển thị các trạng thái của đối tượng và các biến đổi trong trạng

thái.

Trong lược đồ ví dụ, mô hình đăng nhập vào hệ thống ngân hàng trên mạng.Trước hết, đăng nhập vào số mật khẩu và số ID của người đó, sau đó submit thông tin để xác nhận.

Đăng nhập có thể thực hiện trong 4 trạng thái không trùng lắp sau :Getting SSN, Getting PIN, Validating (tính hợp lệ), và Rejecting (loại bỏ). Từ mỗi

trạng thái đến một số chuyển tiếp(transitions) hoàn toàn, xác định được trạng thái kế tiếp.

Hình 1.18: lược đồ trạng thái

Các trạng thái được khoanh tròn trong hình chữ nhật. Các chuyển tiếp theo hướng mũi tên từ trạng thái này đến trạng thái khác. Các sự kiện hoặc các điều kiện được viết bên cạnh mũi tên.

Trạng thái ban đầu (hình tròn đen) là một động tác giả để bắt đầu hoạt động. Trạng thái cuối cùng cũng là trạng thái giả để kết thúc hoạt động.

Hoạt động diễn ra khi kết quả của một sự kiện hoặc điều kiện được nhấn mạnh trong phần trình bày hay trong hành động. Trong khi ở trạng thái hợp lệ (), đối tượng không chờ một sự kiện bên ngoài đến một trigger chuyển đổi

thay vì trình bày một hoạt động. Kết quả của hoạt động được xác định ở trạng thái kế tiếp.

Tiến trình không đồng bộ hoặc trùng lắp

Lược đồ tuần tự, lược đồ cộng tác, lược đồ hoạt động, lược đồ trạng thái là các cấu trúc mô hình động. Chúng cho ta thấy được cấu trúc bên trong mô hình. Lược đồ tuần tự và lược đồ cộng tác tập trung vào các thông điệp liên quan đến việc hoàn tất một tiến trình đơn lẻ. Lược đồ trạng thái tập trung vào một đối tượng đơn lẻ. Lược đồ hoạt động tập trung vào luồng hoạt động trong công việc đơn lẻ. Sau đây là phần trình bày về các hoạt động không đồng bộ hoặc trùng lắp của lược đồ tuần tự và lược đồ trạng thái .

Lược đồ tuần tự với thông điệp không đồng bộ

Thông điệp gọi là không đồng bộ (asynchronous ) nếu nó cho phép gởi thêm các thông điệp trong khi thông điệp ban đầu vẫn còn đang xử lý. Thời gian của một thông điệp không đồng bộ độc lập với thời gian các thông điệp xen vào.

Lược đồ tuần tự dưới đây minh hoạ hoạt động của một y tá yêu cầu kiểm tra chuẩn đoán ở phòng mạch. Có hai thộng diệp không đồng bộ từ Nurse :

Hình 1.19 : lược đồ tuần tự với thông điệp không đồng bộ

1) yêu cầu phòng mạch (MedicalLab) đăng kí ngày để kiểm tra. 2) yêu cầu công ty bảo hiểm (InsuranceCompany) chấp thuận kiểm tra.

Yêu cầu của các thông điệp này được gởi hoặc được thực hiện không thích hợp. Nếu InsuranceCompany chấp nhận kiểm tra thì sẽ lên lịch kiểm tra trong ngày được cung cấp bởi MedicalLab.

UML sử dụng các qui ước thông điệp sau :

Biểu tượng Ý nghĩa

Thông điệp có thể đồng bộ hoặc không đồng bộ

Thông điệp phản hồi (không bắt buộc)

Thông điệp đồng bộ

Thông điệp không đồng bộ

Hình 1.20: các qui ước thông điệp của UML

Trùng lắp và không đồng bộ trong lược đồ trạng thái

Các trạng thái trong lược đồ trạng thái có thể lồng nhau. Quan hệ các trạng thái có thể nhóm cùng trong một trạng thái hoàn chỉnh (composite state) đơn lẻ. Các trạng thái lồng nhau thì cần thiết khi một hoạt động liện quan đến các hoạt động con trùng lắp hoặc không đồng bộ.

Lược đồ trạng thái dưới đây có hai tiểu trình trùng lắp dẫn vào hai trạng thái con của trạng thái hoàn chỉnh Auction: BiddingAuthorizing Credit.

Bidding là trạng thái hoàn chỉnh với ba trạng thái con.Authorizing Credit có hai trạng thái con.

Auction yêu cầu phân nhánh ở đầu vào thành hai tiểu trình riêng biệt. Trừ khi có một tồn tại khác thường (như Cancelled hoặc Rejected), sự tồn tại từ trạng thái hoàn chỉnh Auction diễn ra khi cả các trạng thái con đang tồn tại. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 1.21: trùng lắp và không đồng bộ trong lược đồ trạng thái

Một phần của tài liệu Đồ án công nghệ thông tin phát triển ứng dụng J2EE với UML (Unified Modeling Language) và Rational Rose (Trang 26)