Mụ hỡnh động
18.7.2 Biểu đồ trạng thỏ
Biểu đồ trạng thỏi thể hiện những khớa cạnh mà ta quan tõm tới khi xem xột trạng thỏi của một đối tượng:
Trạng thỏi ban đầu
Một số trạng thỏi ở giữa
Một hoặc nhiều trạng thỏi kết thỳc
Sự biến đổi giữa cỏc trạng thỏi
Những sự kiện gõy nờn sự biến đổi từ một trạng thỏi này sang trạng thỏi khỏc Hỡnh sau sẽ chỉ ra cỏc kớ hiệu UML thể hiện trạng thỏi bắt đầu và trạng thỏi kết thỳc, sự kiện cũng như cỏc trạng thỏi của một đối tượng.
G
Hỡnh 18.7- Biểu đồ trạng thỏi thực hiện hoỏ đơn. Một trạng thỏi cú thể cú ba thành phần, như được chỉ trong hỡnh sau :
Hỡnh 17.8- Cỏc ngăn Tờn, Biến trạng thỏi và hành động
Phần thứ nhất chỉ ra tờn của trạng thỏi, vớ dụ như chờ, đó được trả tiền hay đang chuyển động. Phần thứ hai (khụng bắt buộc) dành cho cỏc biến trạng thỏi. Đõy là những thuộc tớnh của lớp được thể hiện qua biểu đồ trạng thỏi; nhiều khi cỏc biến tạm thời cũng tỏ ra rất hữu dụng trong trạng thỏi, vớ dụ như cỏc loại biến đếm (counter). Phần thứ ba (khụng bắt buộc) là phần dành cho hoạt động, nơi cỏc sự kiện và cỏc hành động cú thể được liệt kờ. Cú ba loại sự kiện chuẩn húa cú thể được sử dụng cho phần hành động: entry (đi vào), exit (đi ra), và
do (thực hiện). Loại sự kiện đi vào được sử dụng để xỏc định cỏc hành động khởi nhập trạng thỏi, vớ dụ gỏn giỏ trị cho một thuộc tớnh hoặc gửi đi một thụng điệp. Sự kiện đi ra cú thể được sử dụng để xỏc định hành động khi rời bỏ trạng thỏi. Sự kiện thực hiện được sử dụng để xỏc định hành động cần phải được thực hiện trong trạng thỏi, vớ dụ như gửi một thụng điệp, chờ, hay tớnh toỏn. Ba loại sự kiện chuẩn này khụng thể được sử dụng cho cỏc mục đớch khỏc.
Một sự biến đổi trạng thỏi thường cú một sự kiện đi kốm với nú, nhưng khụng bắt buộc. Nếu cú một sự kiện đi kốm, sự thay đổi trạng thỏi sẽ được thực hiện khi sự kiện kia xảy ra. Một hành động loại thực hiện trong trạng thỏi cú thể là một quỏ trỡnh đang tiếp diễn (vớ dụ chờ, điều khiển cỏc thủ tục,...) phải được thực hiện trong khi đối tượng vẫn ở nguyờn trong trạng thỏi này. Một hành động thực hiện cú thể bị ngắt bởi cỏc sự kiện từ ngoài, cú nghĩa là một sự kiện kiện gõy nờn một sự biến đổi trạng thỏi cú thể ngưng ngắt một hành động thực hiện mang tớnh nội bộ đang tiếp diễn.
Trong trường hợp một sự biến đổi trạng thỏi khụng cú sự kiện đi kốm thỡ trạng thỏi sẽ thay đổi khi hành động nội bộ trong trạng thỏi đó được thực hiện xong (hành động nội bộ kiểu đi vào, đi ra, thực hiện hay cỏc hành động do người sử dụng định nghĩa). Theo đú, khi tất cả cỏc hành động thuộc trạng thỏi đó được thực hiện xong, một sự thay đổi trạng thỏi sẽ tự động xảy ra mà khụng cần sự kiện từ ngoài.
Hỡnh 18.9- Biến đổi trạng thỏi khụng cú sự kiện từ ngoài. Sự thay đổi trạng thỏi xảy ra khi
cỏc hoạt động trong mỗi trạng thỏi được thực hiện xong.