Sơ đồ máy trạng thái & Sơ đồ trạng thái trong UML
Sơ đồ máy trạng thái là gì?
Biểu đồ trạng thái được sử dụng để nắm bắt hành vi của một hệ thống phần mềm. Sơ đồ máy trạng thái UML có thể được sử dụng để mô hình hóa hành vi của một lớp, hệ thống con, gói hoặc thậm chí toàn bộ hệ thống. Nó còn được gọi là sơ đồ trạng thái hoặc sơ đồ chuyển đổi trạng thái.
Sơ đồ trạng thái là gì?
Sơ đồ trạng thái cung cấp cho chúng ta một cách hiệu quả để mô hình hóa các tương tác hoặc giao tiếp xảy ra trong các thực thể bên ngoài và hệ thống. Những sơ đồ này được sử dụng để mô hình hóa hệ thống dựa trên sự kiện. Trạng thái của một đối tượng được kiểm soát với sự trợ giúp của một sự kiện. Sơ đồ trạng thái được sử dụng để mô tả các trạng thái khác nhau của một thực thể trong hệ thống ứng dụng.
Có tổng cộng hai loại sơ đồ máy trạng thái trong UML:
1. Sơ đồ máy trạng thái hành vi
- Nó nắm bắt hành vi của một thực thể có trong hệ thống.
- Nó được sử dụng để thể hiện việc triển khai cụ thể của một phần tử.
- Hành vi của một hệ thống có thể được mô hình hóa bằng sơ đồ máy trạng thái hành vi trong OOAD.
2. Sơ đồ máy trạng thái giao thức
- Những sơ đồ này được sử dụng để nắm bắt hành vi của một giao thức.
- Nó thể hiện trạng thái của giao thức thay đổi như thế nào liên quan đến sự kiện. Nó cũng thể hiện những thay đổi tương ứng trong hệ thống.
- Chúng không đại diện cho việc triển khai cụ thể của một phần tử.
Tại sao phải có sơ đồ máy trạng thái?
Sơ đồ trạng thái được sử dụng để nắm bắt khía cạnh động của hệ thống. Sơ đồ máy trạng thái được sử dụng để thể hiện hành vi của một ứng dụng. Một vật thể trải qua nhiều trạng thái khác nhau trong suốt vòng đời của nó. Tuổi thọ của một đối tượng vẫn còn cho đến khi chương trình kết thúc. Đối tượng chuyển từ nhiều trạng thái tùy thuộc vào sự kiện xảy ra bên trong đối tượng. Mỗi trạng thái đại diện cho một số thông tin duy nhất về đối tượng.
Sơ đồ trạng thái được sử dụng để thiết kế các hệ thống tương tác đáp ứng các sự kiện bên trong hoặc bên ngoài. Sơ đồ trạng thái trong UML trực quan hóa luồng thực thi từ trạng thái này sang trạng thái khác của một đối tượng.
Nó biểu thị trạng thái của một đối tượng từ khi tạo một đối tượng cho đến khi đối tượng đó bị phá hủy hoặc chấm dứt.
Mục đích chính của sơ đồ trạng thái là mô hình hóa các hệ thống tương tác và xác định từng trạng thái của một đối tượng. Sơ đồ trạng thái được thiết kế để nắm bắt hành vi động của một hệ thống ứng dụng. Các sơ đồ này được sử dụng để thể hiện các trạng thái khác nhau của hệ thống và các thực thể trong hệ thống.
Ký hiệu và ký hiệu cho sơ đồ máy trạng thái (Sơ đồ trạng thái)
Sau đây là các ký hiệu khác nhau được sử dụng trong sơ đồ biểu đồ trạng thái. Tất cả các ký hiệu này, khi kết hợp lại, tạo thành một sơ đồ duy nhất.
Trạng thái ban đầu
Ký hiệu trạng thái ban đầu được sử dụng để biểu thị sự bắt đầu của sơ đồ máy trạng thái.
Trạng thái cuối cùng
Ký hiệu này được sử dụng để biểu thị sự kết thúc của sơ đồ máy trạng thái.
Hộp quyết định
Nó chứa một điều kiện. Tùy thuộc vào kết quả của điều kiện bảo vệ được đánh giá, một đường dẫn mới sẽ được thực hiện để thực hiện chương trình.
Quá trình chuyển đổi
Chuyển đổi là sự thay đổi từ trạng thái này sang trạng thái khác xảy ra do một số sự kiện. Sự chuyển đổi gây ra sự thay đổi trạng thái của một đối tượng.
Hộp trạng thái
Đó là một thời điểm cụ thể trong vòng đời của một vật thể. Nó được định nghĩa bằng cách sử dụng một số điều kiện hoặc một câu lệnh trong phần thân phân loại. Nó được sử dụng để thể hiện bất kỳ tình huống tĩnh cũng như động nào.
Nó được biểu thị bằng một hình chữ nhật có các góc tròn. Tên của một tiểu bang được viết bên trong hình chữ nhật bo tròn.
Tên của một trạng thái cũng có thể được đặt bên ngoài hình chữ nhật. Điều này có thể được thực hiện trong trường hợp trạng thái tổng hợp hoặc trạng thái máy con. Người ta có thể đặt tên của một trạng thái bên trong hình chữ nhật hoặc bên ngoài hình chữ nhật trong hộp bảng. Người ta không thể thực hiện cả hai cùng một lúc.
Một trạng thái có thể hoạt động hoặc không hoạt động. Khi một trạng thái ở chế độ làm việc sẽ hoạt động, ngay khi nó dừng thực thi và chuyển sang trạng thái khác, trạng thái trước đó sẽ không hoạt động và trạng thái hiện tại sẽ hoạt động.
Các loại trạng thái
Ngôn ngữ mô hình hóa thống nhất xác định ba loại trạng thái:
- Trạng thái đơn giản
- Họ không có bất kỳ tiểu bang nào.
- Trạng thái tổng hợp
- Những loại trạng thái này có thể có một hoặc nhiều trạng thái phụ.
- Trạng thái tổng hợp có hai hoặc nhiều trạng thái con được gọi là trạng thái trực giao.
- Trạng thái tiểu máy
- Các trạng thái này có ngữ nghĩa ngang bằng với các trạng thái tổng hợp.
- Không giống như trạng thái tổng hợp, chúng ta có thể sử dụng lại trạng thái của máy phụ.
Làm thế nào để vẽ sơ đồ Statechart?
Sơ đồ trạng thái được sử dụng để mô tả các trạng thái khác nhau mà một đối tượng đi qua. Sự chuyển đổi giữa trạng thái này sang trạng thái khác xảy ra do một số sự kiện được kích hoạt. Để vẽ sơ đồ trạng thái trong UML, người ta phải xác định tất cả các trạng thái có thể có của bất kỳ thực thể cụ thể nào.
Mục đích của những Sơ đồ UML là để biểu diễn các trạng thái của một hệ thống. Các trạng thái đóng một vai trò quan trọng trong sơ đồ chuyển đổi trạng thái. Tất cả các đối tượng, trạng thái và sự kiện thiết yếu gây ra thay đổi trong các trạng thái phải được phân tích trước khi triển khai sơ đồ.
Khi vẽ sơ đồ trạng thái, cần lưu ý các quy tắc sau:
- Tên của quá trình chuyển đổi trạng thái phải là duy nhất.
- Tên của một trạng thái phải dễ hiểu và mô tả được hành vi của một trạng thái.
- Nếu có nhiều đối tượng thì chỉ nên triển khai các đối tượng thiết yếu.
- Phải đặt tên riêng cho mỗi lần chuyển tiếp và một sự kiện.
Khi nào nên sử dụng Sơ đồ máy trạng thái?
Sơ đồ trạng thái được sử dụng để triển khai sâu các mô hình làm việc thực tế và hệ thống hướng đối tượng. Các sơ đồ này được sử dụng để so sánh tính chất động và tĩnh của hệ thống bằng cách nắm bắt hành vi động của hệ thống.
Sơ đồ trạng thái được sử dụng để nắm bắt những thay đổi trong các thực thể khác nhau của hệ thống từ đầu đến cuối. Chúng được sử dụng để phân tích cách một sự kiện có thể kích hoạt thay đổi trong nhiều trạng thái của hệ thống.
Sơ đồ char trạng thái được sử dụng:
- Để mô hình hóa các đối tượng của một hệ thống.
- Để mô hình hóa và thực hiện các hệ thống tương tác.
- Để hiển thị các sự kiện kích hoạt thay đổi trong các trạng thái.
Ví dụ về máy trạng thái
Biểu đồ trạng thái sau đây thể hiện quy trình xác thực người dùng.
Tổng cộng có hai trạng thái, và trạng thái đầu tiên chỉ ra rằng OTP phải được nhập trước. Sau đó, OTP được kiểm tra trong hộp quyết định, nếu đúng, thì chỉ có quá trình chuyển đổi trạng thái xảy ra và người dùng sẽ được xác thực. Nếu OTP không đúng, thì quá trình chuyển đổi sẽ không diễn ra và nó sẽ lại quay trở lại trạng thái ban đầu cho đến khi người dùng nhập OTP đúng như trong ví dụ sơ đồ máy trạng thái ở trên.
Sơ đồ máy trạng thái so với sơ đồ quy trình
Sau đây là những điểm khác biệt chính giữa Biểu đồ trạng thái và Biểu đồ luồng
Sơ đồ máy trạng thái | Sơ đồ |
---|---|
Nó đại diện cho các trạng thái khác nhau của một hệ thống. | Lưu đồ minh họa luồng thực hiện chương trình. |
Máy trạng thái có khái niệm WAIT, tức là chờ một hành động hoặc một sự kiện. | Lưu đồ không giải quyết vấn đề chờ đợi một khái niệm. |
Máy trạng thái được sử dụng cho một hệ thống đang chạy trực tiếp. | Lưu đồ trực quan hóa trình tự phân nhánh của một hệ thống. |
Máy trạng thái là một sơ đồ mô hình hóa. | Lưu đồ là một luồng tuần tự hoặc sơ đồ DFD. |
Máy trạng thái có thể khám phá các trạng thái khác nhau của hệ thống. | Lưu đồ xử lý các đường dẫn và luồng điều khiển. |
Tổng kết
- Sơ đồ trạng thái còn được gọi là sơ đồ máy trạng thái.
- Những sơ đồ này được sử dụng để mô hình hóa hệ thống dựa trên sự kiện.
- Trạng thái của một thực thể được kiểm soát với sự trợ giúp của một sự kiện.
- Có tổng cộng hai loại sơ đồ máy trạng thái: 1) Sơ đồ máy trạng thái hành vi 2) Sơ đồ máy trạng thái giao thức
- Sơ đồ trạng thái được sử dụng để nắm bắt khía cạnh động của hệ thống.
- Trạng thái là một thời điểm cụ thể trong vòng đời của một đối tượng.