2. Biểu đồ trạng thái
Biểu đồ trạng thái là phương tiện mô tả sự thay đổi
trạng thái của các thể hiện (như lớp, UC, actor).
Biểu đồ trạng thái được dùng để mô tả hành vi phức
tạp của các phần tử trong môi trường hệ thống. Nó
cũng được dùng để mô tả hành vi của các lớp điều
khiển, lớp biên và lớp thực thể phức tạp trong giai
đoạn thiết kế.
Biểu đồ trạng thái thể hiện sự thay đổi trạng thái từ
lúc bắt đầu cho đến lúc kết thúc vì vậy nó còn được gọi
là máy trạng thái.
3. Biểu đồ trạng thái
Trong biểu đồ trạng thái gồm: các trạng thái, các
chuyển tiếp giữa các trạng thái và các biến cố gây nên
những chuyển tiếp đó.
Ví dụ:
4. Biểu đồ trạng thái
Trạng thái
Tại một thời điểm, đối tượng luôn ở một trạng thái
xác định. Mỗi trạng thái là một kết quả của các hoạt
động trước đó đã được đối tượng thực hiện và
thường được xác định thông qua thuộc tính và quan
hệ của đối tượng với các đối tượng khác.
Ví dụ:
+ Máy điện thoại của tôi (đối tượng) sẵn sàng hoạt động
(trạng thái).
+ Xe máy của bạn(đối tượng) đứng yên (Trạng thái)
5. Biểu đồ trạng thái
Trạng thái
Ký pháp đồ họa của trạng thái bắt đầu, trạng thái kết
thúc và trạng thái chung.
NewState
Trạng thái bắt đầu Trạng thái kết thúc Trạng thái chung
6. Biểu đồ trạng thái
Trạng thái bắt đầu (còn gọi là trạng thái khởi động)
thể hiện đối tượng mới được tạo ra.
Trạng thái kết thúc (còn gọi là trạng thái dừng) thể
hiện khi đối tượng bị phá hủy
Các trạng thái này không có tên
Trạng thái chung thường được đặt tên là tính từ.
* Trong một biểu đồ trạng thái chỉ có một trạng thái bắt
đầu và có thể có nhiều trạng thái kết thúc.
7. Biểu đồ trạng thái
Biến cố(event): Một đối tượng sẽ thay đổi trạng thái
khi có một việc nào đó xảy ra, ta gọi đó là biến cố. Ví dụ
đối tượng hóa đơn chuyển từ trạng thái Chưa thanh
toán sang trạng thái Thanh toán khi có ai đó trả tiền
mua hàng.
Các hệ thống được điều khiển bởi các biến cố. Chúng
được đáp ứng rồi phát sinh tiếp các biến cố khác. Biểu
đồ trạng thái thể hiện cách mà đối tượng ứng xử với
các biến cố và trạng thái của nó thay đổi ra sao.
8. Biểu đồ trạng thái
Ví dụ: (trước)
Có thể biểu diễn đầy đủ biến cố như sau:
Trả tiền(số tiền)[số tiền trả=giá trị hóa đơn]
Một chuyển tiếp có thể có nhiều trạng thái nguồn (thể
hiện một sự kết hợp đồng thời từ nhiều trạng thái
đích (thể hiện có một sự phân nhánh tới đồng thời
nhiều trạng thái)
9. Biểu đồ trạng thái
Chuyển tiếp (transition): Chuyển tiếp là chuyển động
từ trạng thái này sang trạng thái khác của đối tượng,
nó thường xuất hiện để đáp ứng một biến cố nào đó.
Cú pháp:
Event_name(parameters)[guard-condition]
Trong đó:
- Event_name: tên biến cố
- Parameters: danh sách các tham số
- guard-condition: biểu thức logic
10. Biểu đồ trạng thái
Chuyển tiếp với nhiều trạng thái nguồn và nhiều trạng thái đích
11. Biểu đồ trạng thái
Hành động (action)
- Khi ở trong một trạng thái nào đó, đối tượng có thể
thực hiện nhiều hành động
- Cú pháp:
Action_lable/action
Trong đó:
- Action_lable là nhãn của hành động, có thể là do,
entry, exit hay event tương ứng với các hoạt động:
hành động xảy ra trong thời gian trạng thái tồn tại.
12. Biểu đồ trạng thái
Hành động (action)
Ký pháp đồ họa của trạng thái trong UML:
14. Biểu đồ trạng thái
Cách tạo biểu đồ trạng thái
Biểu đồ trạng thái không phải là cần thiết với mọi
thực thể mà chỉ cần thiết với những thực thể có hành
vi phức tạp.
Các bước cần thực hiện khi tạo biểu đồ trạng thái:
+Bước 1: Xác định các trạng thái và biến cố
+Bước 2: Xây dựng và hiệu chỉnh biểu đồ
15. Biểu đồ trạng thái
Cách tạo biểu đồ trạng thái
Bước 1: Xác định các trạng thái và biểu đồ
Để xác định được các trạng thái và biến cố ảnh hưởng đến một
đối tượng, ta hãy tìm câu trả lời cho các số câu hỏi sau:
+Đối tượng có thể có những trạng thái nào trong vòng đời của nó?
Liệt kê tất cả trạng thái đó.
+ Những biến cố nào có thể xảy ra làm ảnh hưởng đến trạng thái
của đối tượng.
+Trạng thái của đối tượng khi một biến cố xảy ra và sau khi biến cố
xảy ra là gì
+Những biến cố và chuyển tiếp nào không thể xảy ra?
+Đối tượng được tạo ra khi nào và bị hủy khi nào?
16. Biểu đồ trạng thái
Bước 2: Xây dựng và hiệu chỉnh biểu đồ
Sau khi có câu trả lời từ các câu hỏi ở bước trước,
chúng ta sẽ sắp xếp các trạng thái và các biến cố vào
biểu đồ. Từ trạng thái bắt đầu, dựa vào biến cố để xác
định trạng thái tiếp theo và biểu diễn chuyển tiếp giữa
các trạng thái đó. Gắn mỗi chuyển tiếp với một biến cố
tương ứng.
17. Biểu đồ trạng thái
Ví dụ: Biểu đồ trạng thái một đối tượng thẻ mượn
18. Biểu đồ hoạt động
Là biến thể của biểu đồ trạng thái và có một mục tiêu tương đối
khác, đó là nắm bắt hành động (công việc và những hoạt động
phải được thực hiện cũng như kết quả của chúng theo sự biến
đổi trạng thái.
Biểu đồ hoạt động là phương tiện mô tả các dòng công việc và có
thể được dùng theo nhiều cách khác nhau.
Nếu biểu đồ tương tác nhấn mạnh dòng kiều khiển từ đối
tượng này đến đối tượng khác thì biểu đồ hoạt động nhấn
mạnh dòng điều khiển từ hoạt động này đến hoạt động khác.
Biểu đồ hoạt động bổ sung cho việc mô tả tương tác, đi kèm với
trách nhiệm thể hiện rõ các hành động xảy ra như thế nào,
chúng làm gì, chúng xảy ra khi nào, chúng xảy ra ở đâu.
19. Biểu đồ hoạt động
Hoạt động(activity) và hành động:
- Hoạt động là một đơn vị công việc cần được thực
hiện, nó có thể lớn hay nhỏ và trong một khoảng thời
gian dài hay ngắn.
- Ký pháp đồ họa:
20. Biểu đồ hoạt động
Ký hiệu hoạt động với các hành động
21. Biểu đồ hoạt động
Trạng thái trong biểu đồ hoạt động đóng vai trò một
điểm chờ một biến cố xảy ra trước khi hoạt động
được tiếp tục.
Có hai trạng thái đặc biệt là trạng thái bắt đầu và trạng
thái kết thúc.
Trong biểu đồ hoạt động chỉ có một trạng thái bắt đầu
nhưng có thể có nhiều trạng thái kết thúc
22. Biểu đồ hoạt động
Chuyển tiếp
Trong một biểu đồ hoạt động, chuyển tiếp là chuyển
động từ hoạt động này sang hoạt động khác, từ trạng
thái này sang trạng thái khác hay từ một hoạt động
sang một trạng thái hoặc ngược lại.
23. Biểu đồ hoạt động
Rẽ nhánh với điểm quyết định (decision point)
Điểm quyết định là điểm trên dòng công việc mà tại đó
có thể rẽ nhánh theo các hướng khác nhau tùy theo
điều kiện cụ thể.
Ký hiệu điểm quyết định với các chuyển tiếp vào, ra
24. Biểu đồ hoạt động
Đường phân luồng nghiệp vụ
- Đường phân luồng nghiệp vụ (còn được gọi là đường
bơi) có tác dụng chỉ ra một hoạt động xảy ra ở đâu
trong một hệ thống phức tạp.
- Mỗi đường bơi là một cột trong biểu đồ hoạt động, có
tên và nhiệm vụ riêng.
- Các hoạt động được nhóm lại trong mỗi đường bơi và
chuyển tiếp có thể được vẽ trải qua các đường bơi.
- Đường bơi rất hữu ích với các hệ thống thực thi trên
môi trường internet, nó xác định các vùng mà ở đó có
các hoạt động được thực hiện.
26. Biểu đồ hoạt động
Phân nhánh và kết hợp
- Thông thường thì các hoạt động được tiến hành một
cách tuần tự. Tuy nhiên, khi mô hình hóa luồng công
việc chúng ta sẽ gặp phải những luồng song song.
- Trong trường hợp đó, khi tạo biểu đồ hoạt động ta
phải sử dụng những thanh đồng bộ
- Thanh đồng bộ hóa cho phép ta mở ra hoặc đóng lại
các nhánh chạy song song trong tiến trình.
Thanh đồng bộ với chỗ kết hợp và chỗ phân nhánh
28. Biểu đồ hoạt động
Vai trò của đối tượng trong biểu đồ hoạt động
- Thực chất, các hoạt động đều được điều khiển bởi các
đối tượng hoặc ngược lại, bản thân các hoạt động làm
thay đổi làm thay đổi trạng thái của các đối tượng.
30. Cách tạo biểu đồ hoạt động
Biểu đồ hoạt động được sử dụng để mô hình hóa các
dòng nghiệp vụ, mô hình hóa dòng công việc trong
một UC hay giữa các UC.
Cách xây dựng biểu đồ hoạt động:
+ Lập biểu đồ hoạt động cho mô hình nghiệp vụ
+ Lập biểu đồ hoạt động cho mô hình UC
31. Lập biểu đồ hoạt động cho mô hình nghiệp vụ
Xác định các actor nghiệp vụ và các UC nghiệp vụ
Xác định kịch bản chính của các UC, kết hợp các kịch bản
đó để tạo thành dòng nghiệp vụ. Mỗi dòng nghiệp vụ sẽ
được mô tả bằng một biểu đồ hoạt động (mỗi công việc
được thực hiện là một hoạt động trong biểu đồ, thứ tự
thực hiện công việc được biểu diễn thông qua các chuyển
tiếp, điểm quyết định hoặc thanh đồng bộ)
Khi đã có được mô hình nghiệp vụ được mô tả bằng các
biểu đồ hoạt động, có thể xác định được các UC hệ thống
và tiếp tục công việc xây dựng biểu đồ hoạt động cho mô
hình UC
32. Lập biểu đồ hoạt động cho mô hình UC
Tương tự như tạo biểu đồ cho mô hình nghiệp vụ
Xác định kịch bản chính của các UC hệ thống, sau đó kết
hợp các kịch bản để tạo ra các dòng thao tác hoàn chỉnh.
Mỗi dòng được biểu diễn bằng một biểu đồ hoạt động
Bổ sung dòng đối tượng và các đường bơi vào biểu đồ nếu
cần thiết
Định nghĩa lai các hoạt động phức tạp theo trình tự trên
Cùng với biểu đồ tương tác, biểu đồ hoạt động cung cấp
một phương tiện để mô tả hoạt động của hệ thống.
33. Ví dụ biểu đồ hoạt động
Mô tả dòng nghiệp vụ của việc thực hiện quy trình
mượn sách:
Bạn đọc sau khi tìm thấy sách cần mượn sẽ điền thông
tin sách vào phiếu yêu cầu mượn rồi gửi cho thủ thư.
Thủ thư kiểm tra thẻ mượn trước, nếu hợp lệ mới
nhận phiếu yêu cầu mượn. Thủ thư vừa kiểm tra số
sách bạn đọc còn được mượn vừa kiểm tra về sách yêu
cầu mượn. Nếu không có vấn đề gì thì lấy sách trong
kho, cập nhật thông tin mượn và in phiếu mượn rồi
giao sách cho bạn đọc.