Lược đồ tương tác dùng để mô hình tương tác giữa các đối tượng. Còn lược đồ trạng thái dùng để mô hình ảnh hưởng của các tương tác này đến trạng thái bên trong của một đối tượng. Lược đồ trạng thái được dùng để hành vi động của 1 đối tượng. ...
CHƯƠNG 10 10:: Lượ ượcc đô đồ tra trạng ̣ng tha thá́i (Statechart Diagram) PTTKHT bang UML - BM HTTT Nội dung ◦ Vai trò của lược đồ trạng thái ◦ Trạng thái và chuyển tiếp ◦ Các thành phần của lược đồ PTTKHT bang UML - BM HTTT Vai tro trò̀ cu củ̉a lượ ượcc đồ tra trạng ̣ng tha thá́i Dynamic view: ◦ Lược đồ tương tác (Interaction diagrams) ◦ Lược đồ trạng thái (Statechart diagrams) Lược đồ tương tác dùng để mô hình tương tác các đối tượng Còn lược đồ trạng thái dùng để mô hình ảnh hưởng của các tương tác này đến trạng thái bên của một đối tượng Vai tro trò̀ cu củ̉a lượ ượcc đồ tra trạng ̣ng tha thá́i Lược đồ trạng thái dùng để hành vi động của đối tượng Nó chỉ các trạng thái khác của đối tượng, nó trạng thái gì tạo ra, trạng thái gì bị hủy bỏ, làm thế nào để chuyển từ trạng thái này sang trạng thái khác, và nó làm gì ứng với mỗi trạng thái đó Không cần phải tạo lược đồ trạng thái cho tất cả các lớp mô hình Chỉ lớp nào có nhiều hành vi động phức tạp, làm cho các thành viên của đội dễ hiểu nhầm thì nên vẽ lược đồ trạng thái cho lớp đó Trang Trạ ̣ng tha thá́i va và̀ chuy chuyêển ti tiêếp (State and transition) Tất cả các đối tượng đều có trạng thái Trạng thái là kết quả của các hoạt động trước đó thực hiện đối tượng và xác định giá trị của các thuộc tính và các liên kết đến các đối tượng khác Một lớp có thể có một thuộc tính đặc biệt xác định trạng thái, hay trạng thái có thể xác định giá trị của một số thuộc tính thông thường của đối tượng đó PTTKHT bang UML - BM HTTT Ví́ du Vi dụ̣ về tra trạng ̣ng tha thá́i đối tượ ượng ng Đối tượng hóa đơn (invoice) trạng thái đã trả (paid) hay chưa tra ̉(unpaid) Đối tượng xe (car) trạng thái đứng yên (standing) hay chuyển động (moving) Đối tượng Kate đã lập gia đình (married) hay độc thân (single) PTTKHT bang UML - BM HTTT Trang Trạ ̣ng tha thá́i va và̀ chuy chuyêển ti tiêếp (State and transition) Đối tượng chuyển tiếp (transition) từ trạng thái này sang trạng thái khác có một kiện (event) hay điều kiện nào đó xảy Ví dụ về kiện một người nào đó trả hóa đơn, một người nào đó bắt đầu lái xe, một đó lập gia đình PTTKHT bang UML - BM HTTT Trang Trạ ̣ng tha thá́i va và̀ chuy chuyêển ti tiêếp (State and transition) Một hành vi động có hai chiều (dimension): chiều tương tác (interaction) và chiều thay đổi trạng thai bên (internal state change) Các tương tác mô tả hành vi bên ngoài của đối tượng và đối tượng tuơng tác với các đối tượng khác thế nào Còn thay đổi trạng thái bên mô tả các đối tượng thay đổi trạng thái PTTKHT bang UML - BM HTTT Cá́c tha Ca thành ̀nh ph phâần cu củ̉a lượ ượcc đồ tra trạ̣ng ng tha thá́i Điểm bắt đầu và kết thúc Trạng thái Đường chuyển tiếp Lưu ý: lược đồ trạng thái vẽ cho đối tượng chọn lớp cần vẽ trước bắt đầu PTTKHT bang UML - BM HTTT Điêểm bắt đầu va Đi và̀ kết thu thú́c Điểm bắt đầu hay trạng thái bắt đầu (initial state) Điểm kết thúc Một lược đồ trạng thái phải có và chỉ điểm bắt đầu, và có thể có 0,1 hay nhiều trạng thái kết thúc PTTKHT bang UML - BM HTTT 10 Ký́ hi Ky hiêệu tra trạng ̣ng tha thá́i (state) Mỗi trạng thái biểu diễn bằng một hình chữ nhật có các góc tròn với tên trạng thái nằm bên hình chữ nhật Mỗi trạng thái có thể chứa thành phần: ◦ Tên trạng thái ◦ Activity (tùy chọn) ◦ Chuyển tiếp nội bộ (tùy chọn) PTTKHT bang UML - BM HTTT 11 Ví́ du Vi dụ̣ về state PTTKHT bang UML - BM HTTT 12 Chuyêển ti Chuy tiêếp (transition) Đường chuyển tiếp chỉ rằng đối tượng có thể chuyển từ trạng thái này sang trạng thái khác Nó có thể chứa ◦ Sự kiện (event): kiện xảy thì sẽ có chuyển tiếp ◦ Điều kiện (guard condition) nằm [] dùng để kiểm soát nào thì chuyển tiếp phép xảy PTTKHT bang UML - BM HTTT 13 Chuyêển ti Chuy tiêếp (transition) Cú pháp của dòng chuyển tiếp: Event(Arguments) [Guard] /Action Placed products available / fillOrder() Filled PTTKHT bang UML - BM HTTT 14 Lượ ượcc đồ tra trạng ̣ng tha thá́i cho đối tượ ượng ng Order The Order is created in the initial state of Tentative Two events could cause it to change to the Placed state From Placed it may either be cancelled, or packed and made ready for shipping After it is packed, it may be shipped Then, whether it was cancelled or shipped, the Order is archived after 90 days PTTKHT bang UML - BM HTTT 15 Lượ ượcc đồ tra trạng ̣ng tha thá́i cho đối tượ ượng ng Order PTTKHT bang UML - BM HTTT 16 Trang Trạ ̣ng tha thá́i lông ̀ng (Nested state) Để giảm phức tạp của lược đồ trạng thái, có thể lồng hay nhiều trạng thái vào trạng thái khác Các trạng thái lồng gọi là trạng thái (substate), trạng thái chứa các trạng thái gọi là siêu trạng thái (superstate) PTTKHT bang UML - BM HTTT 17 Lượ ượcc đồ tra trạng ̣ng tha thá́i cho lớp Flight Requirement: the flight moves into the Closed state 10 minutes before takeoff, regardless of whether it was in the Open or Full state before PTTKHT bang UML - BM HTTT 18 Lượ ượcc đồ tra trạng ̣ng tha thá́i cho lớp Flight Scheduled Set number of pas sengers to 0[ Current date is less than 60 days before flight ] add pas senger [las t s eat is sold] Add/Rem ove Pas sengers Full Open rem ove pass enger( pass enger name ) [ 10 minutes before s cheduled takeoff ] [10 minutes before scheduled takeoff] Close PTTKHT bang UML - BM HTTT 19 Lượ ượcc đồ tra trạng ̣ng tha thá́i cho lớp Flight Scheduled Adding passengers remove passenger( passenger name ) Add/Remove Passengers Open Full add passenger [last seat is sold] [10 minutes before scheduled takeoff] Close PTTKHT bang UML - BM HTTT 20 ... Dynamic view: ◦ Lược đồ tương tác (Interaction diagrams) ◦ Lược đồ trạng thái (Statechart diagrams) Lược đồ tương tác dùng để mô hình tương tác các đối tượng Còn lược đồ trạng...Nội dung ◦ Vai trò của lược đồ trạng thái ◦ Trạng thái và chuyển tiếp ◦ Các thành phần của lược đồ PTTKHT bang UML - BM HTTT Vai tro trò̀ cu củ̉a... phải tạo lược đồ trạng thái cho tất cả các lớp mô hình Chỉ lớp nào có nhiều hành vi động phức tạp, làm cho các thành viên của đội dễ hiểu nhầm thì nên vẽ lược đồ trạng