Rational Rose hỗ trợ để tạo lập nhanh các biểu đồ trạng thái. Tương tự như đối với các biểu đồ khác, trong Rose biểu đồ trạng thái có thể được tạo lập mới bằng hai cách:
1. Nhấn chuột trái ở mục Browser trong thanh thực đơn chính và chọn State Machine Diagram
2. Nhấn chuột trái ở biểu tượng của Logical View hoặc Use Case View ở danh sách trình duyệt, rồi nhấn chuột phải để chọn New > StateChart Diagram. Tất cả các biểu đồ đã được tạo lập có thể mở (Open), in (print), xoá (delete), đổi tên (Rename), hay bổ sung thêm các thành phần của biểu đồ (New>) bằng cách chọn biểu đồ tương ứng trong Logical View, hoặc Use Case View (nhấn chuột trái), rồi nhấn chuột phải để chọn một trong những chức năng trên.
Để mở một biểu đồ đã được tạo lập trước thì đơn giản nhất là nhấn đúp chuột trái vào tên của biểu đồđó trong danh sách trình duyệt (Browser) ở bên trái màn hình.
Hãy thực hiện:
Tạo lập biểu đồ trạng thái như hình 5-10, 5-12, 5-13.
Xây dựng biểu đồ trạng thái cho lớp DigitalWatch (đồng hồ điện tử). Lớp này có hai hàm thành phần: modeButton() làm nhiệm vụ thay đổi mode hiệu chỉnh thời gian giữa giờ, phút và inc() để tăng lên một đơn vị thời gian ứng với mode tương ứng. Tất nhiên khi nhấn inc() mà sốđơn vị thời gian, ví dụ là giờ mà đã là 24 thì sau đó sẽ trở về số 1, còn đối với phút thì sau 60 sẽ là 1. Nó có ba trạng thái và cách chuyển trạng được mô tả như sau:
+ Trạng thái Display: trong đó hiển thị thời gian hiện thời: do /display currentTime. + Khi NSD nhấn vào modeButton thì chuyển sang trạng thái Set Hours (Đặt lại
giờ), trong đó thực hiện: do / display hours.
+ Khi NSD nhấn tiếp vào modeButton thì chuyển sang trạng thái Set Minute (Đặt lại phút), trong đó thực hiện: do / display minutes.
+ Tất nhiên nếu lại nhấn modeButton lần thứ ba thì nó quay lại trạng thái ban
đầu. Sau đó lại từ trạng thái Display có thể chuyển sang trạng thái tiếp theo như trên khi NSD nhấn modeButton.
Trong hai trạng thái Set Hours, Set Minute nếu nhấn inc thì thuộc tính hours,
minute của đồng hồ sẽđược tăng lên một.
(Chi tiết về cách xây dựng biểu đồ tương tác tham khảo trong [17, 22])
Lưu ý: Đối với hầu hết các biểu đồ và các phần tử của chúng, hãy mô tả tóm tắt các chức năng, hay các tính chất đặc trưng cơ bản của chúng ở cửa sổ Documentation. Những thông tin này sẽ rất hữu ích cho việc theo dõi, hiểu biết về chúng trong quá trình phát triển phần mềm. Mục Documentation là một ô cửa sổ được mở ra dưới cửa sổ hiển thị danh sách các biểu đồ ở bên trái (Browser từ View). Nếu nó chưa được mở
thì từ thực đơn View chọn Documentation để mở nó và viết các tài liệu đặc tả, chú thích cho những hoạt động, khái niệm cơ bản trong các kết quả phân tích, thiết kế. Đây chính là một trong các yêu cầu bắt buộc của công nghệ phần mềm.
Bài tập và câu hỏi
5.1 Hãy cho biết những mệnh đề sau đúng hay sai (true /false), giải thích tại sao? + Các sự kiện độc lập cũng có thể xảy ra đồng thời.
+ Một lớp có thể có trạng thái khởi đầu và kết thúc. + Không nhất thiết phải có trạng thái cho một đối tượng.
+ Cần phải xây dựng biểu đồ trạng thái cho tất cả các lớp trong hệ thống.
+ Hành vi của hệ thống được thể hiện trong các biểu đồ trình tự thông qua sự
tương tác của các đối tượng với nhau.
+ Các sự kiện vào kích hoạt hệ thống hoạt động và hệ thống hoạt động là để trả
lời cho các sự kiện vào mà các tác nhân tạo ra.
+ Biểu đồ trạng thái được sử dụng để sinh mã tựđộng cho chương trình.
5.2 Xây dựng biểu đồ trạng thái cho ca sử dụng “Đặt lại giờ, phút, giây cho đồng hồ
điện tử”.
5.3 Xây dựng biểu đồ trạng thái cho ca sử dụng “Đăng ký môn học”.
5.4 Xây dựng biểu đồ trình tự mô tả ca sử dụng “Thu tiền bằng séc” của hệ thống bán hàng.
5.5 Thiết lập biểu đồ trình tự và biểu đồ trạng thái cho lớp chính trong ca sử dụng “Cho mượn sách” của hệ thống “Quản lý thư viện” (Tiếp theo của bài tập 4.3). 5.6 Thiết lập biểu đồ trình tự và biểu đồ trạng thái cho lớp chính trong ca sử dụng
“Nhận trả sách” của hệ thống “Quản lý thư viện” (Tiếp theo của bài tập 4.3). 5.7 Xây dựng biểu đồ trình tự mô tả sự tương tác giữa các lớp đối tượng trong ca sử
dụng “Rút tiền tự động” trong “Hệ thống rút tiền tựđộng ATM (Automatic Teller Machine)” (Tiếp theo của bài toán 4.4).
5.8 Chọn từ danh sách dưới đây những thuật ngữ thích hợp để điền vào các chỗ [(…)] trong đoạn văn mô tả về biểu đồ tương tác.
Xây dựng [(1)] là thực hiện việc gán trách nhiệm cho [(2)]. Từ [(1)], người thiết kế có thể phát hiện thêm các [(3)], các thao tác cần thực hiện của mỗi [(3)], v.v. Do vậy, [(1)] trở thành nền tảng cho các bước còn lại của quá trình phát triển phần mềm. Chọn câu trả lời: a. lớp b. các đối tượng c. biểu đồ tương tác CHƯƠNG VI THIẾT KẾ CÁC BIỂU ĐỒ CỘNG TÁC VÀ BIỂU ĐỒ THÀNH PHẦN CỦA HỆ THỐNG Chương VI đề cập đến: 9 Thiết kế các biểu đồ cộng tác của các đối tượng để thực hiện các nhiệm vụ của hệ thống.
9 Xây dựng các mẫu gán trách nhiệm cho các lớp đối tượng,
9 Thiết kế chi tiết các lớp và biểu đồ lớp, tập trung vào quan hệ kế thừa và sử dụng lại.
Trong pha phân tích ở các chương trước, chúng ta đã tập trung khảo sát hệ thống
mối quan hệ, tương tác giữa các lớp đối tượng thông qua biểu đồ trình tự và biểu đồ
trạng thái. Nhiệm vụ chính của giai đoạn thiết kế là chuyển từ câu hỏi “Cái gì?”
(What) sang trả lời cho câu hỏi “như thế nào?” (How?). Như vậy, nhiệm vụ chính trong thiết kế hướng đối tượng là xây dựng các biểu đồ cộng tác của các đối tượng để
hệ thống thực hiện được các yêu cầu đã được xác định trong giai đoạn phân tích.