Biểu đồ trạng thái cho mỗi lớp được xây dựng theo các bước sau: B1: Nhận biết các trạng thái và sự kiện
B2: Xây dựng biểu đồ
B3: Hiệu chỉnh biểu đồ
Bước 1: Nhận biết các trạng thái và sự kiện
Quá trình phát hiện sự kiện và trạng thái của một đối tượng được thực hiện bằng việc trả lời các câu hỏi sau:
• Một đối tượng có thể có những trạng thái nào? Hãy liệt kê ra tất cả những trạng thái mà một đối tượng có thể có trong vòng đời của nó.
• Những sự kiện nào có thể xảy ra? Vì sự kiện gây ra việc thay đổi trạng thái nên nhận ra các sự kiện là một bước quan trọng để nhận diện trạng thái.
• Trạng thái mới sẽ là gì? Sau khi nhận biết sự kiện, người thiết kế cần xem xét sau khi sự kiện này xảy ra thì trạng thái mới sinh ra sẽ là gì.
• Những sự kiện và sự chuyển tiếp nào là không thể xảy ra?
• Cái gì khiến cho một đối tượng được tạo ra? Đối tượng thường được tạo ra do một sự kiện nào đó. Câu hỏi này giúp xác định chuyển tiếp đầu tiên trong biểu đồ trạng thái.
• Cái gì khiến cho một đối tượng bị hủy? Đối tượng sẽ bị hủy đi khi chúng không còn vai trò gì nữa. Trả lời câu hỏi này sẽ giúp tìm ra các chuyển tiếp cuối cùng trong biểu đồ.
Bước 2: Xây dựng biểu đồ
Sau khi đã trả lời câu hỏi trong Bước 1, người phát triển sẽ phải sắp xếp các trạng thái và sự kiện tìm được vào trong một biểu đồ. Xuất phát từ trạng thái khởi đầu, người thiết kế sẽ xác định các trạng thái tiếp theo và biểu diễn các chuyển tiếp giữa các trạng thái đó. Gắn với mỗi chuyển tiếp là một sự kiện. Các sự kiện sẽ được biểu diễn theo cấu trúc chung như sau:
Sự kiện [điều kiện] hành động
Trong đó, tên sự kiện được đặt lên đầu, tiếp theo đó là điều kiện (đặt trong 2 dấu ngoặc vuông) của sự kiện đó và cuối cùng là hành động đáp ứng của sự kiện.
Mỗi biểu đồ trạng thái có thể có một hoặc nhiều trạng thái kết thúc. Dựa trên quá trình chuyển tiếp trạng thái, người phát triển sẽ phải xác định chuyển tiếp nào có thể dẫn tới trạng thái kết thúc trong vòng đời đối tượng.
Bước 3: Hiệu chỉnh biểu đồ trạng thái
Người phát triển tiến hành xem xét lại toàn bộ các biểu đồ trạng thái cho từng lớp và sửa đổi lại biểu đồ trạng thái nếu cần thiết. Các biểu đồ trạng thái sẽ được sử
dụng để xác định đầy đủ các thuộc tính cho biểu đồ lớp. Vì vậy, bước hiệu chỉnh biểu đồ trạng thái có thể tiếp tục cho đến pha thiết kế.