Các bước xây dựng biểu đồ trạng thái

Nhắc tới một trong những biểu đồ với trong uml chúng ta ko thể ko kể tới biểu đồ trạng thái [State Diagram]. Vậy biểu đồ trạng thái [State Diagram] trong uml là gì ?

100 phần quà card 100k dành tặng cho member //viettingame.com/: Click tại đây

1. Biểu đồ trạng thái trong UML là gì?

Biểu đồ trạng thái là một trong năm biểu đồ UML được sử dụng để quy mô hóa thực chất động của khối hệ thống. Chúng xác định những trạng thái không giống nhau của một đối tượng người tiêu dùng trong suốt thời hạn tồn tại của nó và những trạng thái này được thay đổi bởi những sự khiếu nại.

Đang xem: State diagram là gì

Đang xem: State diagram là gì

Mang hai loại biểu đồ trạng thái trong UML:

Biểu đồ trạng thái hành vi:

Nó thâu tóm hành vi của một thực thể với trong khối hệ thống.Nó được sử dụng để đại diện thay mặt cho việc triển khai ví dụ của một thực thể.Hành vi của một khối hệ thống mà thậm chí được quy mô hóa bằng phương pháp sử dụng sơ đồ trạng thái máy tính trong OOAD.

Ví dụ “Biểu đồ trạng thái hành vi

Biểu đồ trạng thái giao thức:

Những sơ đồ này được sử dụng để thâu tóm hành vi của một giao thức.Nó biểu thị cách trạng thái của giao thức thay đổi liên quan tới sự khiếu nại. Nó cũng đại diện thay mặt cho những thay đổi tương ứng trong khối hệ thống.Chúng ko đại diện thay mặt cho việc triển khai ví dụ của một thực thể.

Ví dụ “Biểu đồ trạng thái giao thức

2. Biểu đồ trạng thái sử dụng để làm gì?

Biểu đồ trạng thái được sử dụng để mô tả trừu tượng về sinh hoạt của khối hệ thống. Hành vi này được phân tích và biểu diễn bằng một chuỗi những sự khiếu nại mà thậm chí xẩy ra ở một hoặc nhiều trạng thái mà thậm chí xẩy ra. Bằng phương pháp này “mỗi sơ đồ thường đại diện thay mặt cho những đối tượng người tiêu dùng của một lớp duy nhất và theo dõi những trạng thái không giống nhau của những đối tượng người tiêu dùng của nó trải qua khối hệ thống”.Biểu đồ trạng thái mà thậm chí được sử dụng để biểu diễn bằng đồ thị những máy trạng thái hữu hạn.

3. Một khi thì sử dụng biểu đồ trạng thái trong UML

Để quy mô hóa những trạng thái đối tượng người tiêu dùng của một khối hệ thống. Để quy mô hóa khối hệ thống phản ứng. Khối hệ thống phản ứng bao hàm những đối tượng người tiêu dùng phản ứng. Để xác định những sự khiếu nại phụ trách cho những thay đổi trạng thái.

4. Những thành phần kết cấu nên biểu đồ trạng thái trong UML

Sau phía trên là những ký hiệu không giống nhau được sử dụng trong toàn bộ biểu đồ trạng thái.Toàn bộ những ký hiệu này, lúc phối hợp, tạo thành một sơ đồ duy nhất.

Trạng thái thuở đầu [initial state]:Hình tượng trạng thái thuở đầu được sử dụng để chỉ ra rằng sự chính thức của biểu đồ trạng thái.

Xem thêm: game ai la trieu phu offline

Hộp trạng thái [state-box]:Này là một thời điểm ví dụ trong vòng đời của một đối tượng người tiêu dùng được định nghĩa bằng phương pháp sử dụng một số trong những ĐK hoặc một câu lệnh trong phần thân trình phân loại.Nó được biểu thị bằng phương pháp sử dụng một hình chữ nhật với những góc tròn. Tên của một trạng thái được viết bên trong hình chữ nhật tròn hoặccũng mà thậm chí được đặt phía bên ngoài hình chữ nhật

Hộp quyết định [decision-box]:Nó chứa một ĐK.Tùy thuộc vào thành quả của một ĐK bảo vệ đã Reviews, một truyền dẫn mới được triển khai để triển khai chương trình.

Trạng thái kết thúc [final-state]:Hình tượng này được sử dụng để chỉ ra rằng kết thúc của một biểu đồ trạng thái.

Ngoài ra còn cóchuyển tiếp [transition]:Quy trình chuyển đổi là sự việc thay đổi trạng thái này quý phái trạng thái khác xẩy ra do một số trong những sự khiếu nại.Quy trình chuyển đổi tạo ra sự thay đổi trạng thái của một đối tượng người tiêu dùng.

5. Cách vẽ biểu đồ trạng thái trong UML.

Bước 1: Xác định trạng thái thuở đầu và trạng thái kết thúc sau cùng.

Bước 2: Xác định những trạng thái khả dĩ mà đối tượng người tiêu dùng mà thậm chí tồn tại [những giá trị biên tương ứng với những thuộc tính không giống nhau hướng dẫn chúng ta xác định những trạng thái không giống nhau].

Bước 3: Gắn nhãn những sự khiếu nại kích hoạt những chuyển đổi này.

Lưu ý : Những quy tắc sau phải được xem xét lúc vẽ biểu đồ trạng thái

Tên của chuyển trạng thái phải là duy nhất.Tên của một trạng thái phải dễ hiểu và mô tả hành vi của một trạng thái.Nếu như có nhiều đối tượng người tiêu dùng thì chỉ nên triển khai những đối tượng người tiêu dùng thiết yếu ớt.Tên thích hợp cho từng chuyển đổi và một sự khiếu nại phải được cung ứng.

Xem thêm: Hỏi Về Cách Chuyển Ngày Tháng Năm [ Mm/Dd/Yy Là Gì ? Date Format Types

Tóm lại:

Như vậy mình đã ra mắt cho chúng ta một cách bao quát về biểu đồ trạng thái [state diagram] trong UML. Qua phía trên chúng ta mà thậm chí hiểu hơn về biểu đồ trạng thái và biết cách vận dụng vàocông việc mô tả những khối hệ thống trong qúa trình phát triển và duy trì sau này một cách chuyên nghiệp.

Bước nghiên cứu tiếp theo sau biểu đồ trình tự là biểu đồ trạng thái [State Diagram, State Machine Diagram, State Chart Diagram ].

Biểu đồ trạng thái mô tả các thông tin về các trạng thái khác nhau của đối tượng, thể hiện các đối tượng chuyển từ trạng thái này sang trạng thái khác như thế nào, hoạt động của đối tượng trong mỗi trạng thái ra sao. Biểu đồ trạng thái thể hiện chu kỳ hoạt động của đối tượng, các hệ thống con và của cả hệ thống, từ khi chúng được tạo ra cho đến khi kết thúc. Biểu đồ trạng thái mô tả:

  • Các trạng thái mà các đối tượng có thể có,
  • Các sự kiện: các thông điệp nhận được, các lỗi có thể xuất hiện, điều kiện nào đó có thể trở thành đúng [true], khoảng thời gian đã qua, v.v. tác động lên trạng thái để làm biến đổi chúng.

Biểu đồ này là giải pháp tốt để mô hình hoá hành vi động của các lớp đối tượng. Trong một dự án, không nhất thiết phải tạo ra các biểu đồ trạng thái cho tất cả các lớp. Tuy nhiên, đối với những lớp có nhiều hành vi động, có nhiều trạng thái hoạt động khác nhau thì biểu đồ trạng thái là hữu ích, giúp chúng ta hiểu rõ hệ thống hơn.

Mọi đối tượng trong hệ thống đều có chu kỳ sống và mỗi thời điểm đều có một trạng thái nào đó.

Người bán hàng trong hệ thống HBH đang bán hàng, phiên bán hàng đã được thanh toán, v.v.

Trạng thái là một trong các điều kiện có thể để đối tượng tồn tại, là kết quả của một hoạt động trước đó của đối tượng.

Trạng thái của đối tượng thường được mô tả trong hình chữ nhật góc tròn và được xác định bởi:

  • Tên gọi trạng thái, thường bắt đầu bằng động từ,
  • Biến trạng thái mô tả các giá trị hiện thời của trạng thái,
  • Hoạt động là hành vi mà đối tượng sẽ thực hiện khi nó ở vào trạng thái đó.

Hoạt động của trạng thái được mô tả hình thức như sau:

event_name argument_list ‘/’ action_exp

Trong đó,

event_name: Tên của sự kiện, có thể là một trong các sự kiện chuẩn: exit [thoát ra], entry [nhập vào], do [thực hiện].

argument_list: danh sách các sự kiện,

action_exp: những hoạt động cần thực hiện bao gồm các lời gọi hàm, thao tác trên các biến trạng thái, v.v.

Trạng thái Login [đăng nhập hệ thống] được mô tả trong UML:

Trạng thái Login

Khi hệ thống ở trạng thái Login thì biến LoginTime [thời gian khi khởi nhập] được gán là CurrentTime [thời gian hiện thời] của máy tính. Sự kiện vào của trạng thái này là gõ từ “login” và để thoát ra khỏi trạng thái này thì phải thực hiện lời gọi hàm login[UserName, Password]. Các hoạt động của đối tượng ở trạng thái này là: Nhận vào UserName [tên người sử dụng], Password [mật khẩu], và hiển thị sự trợ giúp display help.

  • Khi không cần mô tả chi tiết thì có thể chỉ cần tên gọi để xác định trạng thái trong các biểu đồ.
  • Có hai trạng thái đặc biệt là trạng thái bắt đầu được ký hiệu là:
    và trạng thái kết thúc, được ký hiệu là

Biểu đồ trạng thái thường có trạng thái bắt đầu còn trạng thái kết thúc thì có thể có hoặc không tuỳ vào chu kỳ hoạt động của các đối tượng.

Trong biểu đồ, đường mũi tên chỉ ra sự biến đổi từ một trạng thái sang trạng thái khác khi có các sự kiện xảy ra làm thay đổi các trạng thái. Trạng thái của đối tượng sẽ bị thay đổi khi có cái gì đó xảy ra, nghĩa là khi có một hay nhiều sự kiện xuất hiện. Sự biến đổi trạng thái hay sự chuyển trạng thể hiện mối quan hệ giữa các trạng thái với nhau.

Sự chuyển trạng được thể hiện trong biểu đồ bằng mũi tên có nhãn là sự kiện, thao tác [hàm có đối số], hoặc điều kiện cầm canh [guard]. Sự chuyển trạng có thể là đệ qui, nghĩa là trong một điều kiện nhất định, một đối tượng có thể quay lại trạng thái cũ của nó.

Để xác định được các trạng thái và các sự kiện chúng ta cần trả lời cho các câu hỏi sau:

  • Một đối tượng có thể ở những trạng thái nào? Liệt kê tất cả các trạng thái có thể có trong hệ thống của mỗi đối tượng.
  • Những sự kiện nào có thể xuất hiện? Bởi vì sự kiện có thể làm biến đổi trạng thái, do vậy, từ các sự kiện có thể xác định được các trạng thái của đối tượng.
  • Những trạng thái mới nào sẽ xuất hiện? Từ một trạng thái, đối tượng có thể chuyển sang trạng thái mới khi một số sự kiện xác định xuất hiện.
  • Ở mỗi trạng thái, hoạt động của đối tượng là gì?
  • Sự tương tác giữa các đối tượng là gì? Sự tương tác giữa các đối tượng thường gắn chặt với các trạng thái của đối tượng.
  • Những sự kiện, hay chuyển đổi trạng thái nào là không thể xảy ra? Một số sự kiện, hay trạng thái không thể chuyển đổi sang trạng thái khác được,

Khi khách mua hàng trả bằng thẻ tín dụng không hợp pháp thì phiên bán đó không thực hiện được.

  • Cái gì làm cho đối tượng được tạo ra? Đối tượng thường được tạo ra bởi một, hay một số sự kiện.
  • Cái gì làm cho đối tượng bị huỷ bỏ? Đối tượng thường được loại bỏ khi không còn cần thiết nó nữa.

Biểu đồ trạng thái được sử dụng để chỉ ra cách các đối tượng phản ứng lại đối với các sự kiện và cách biến đổi các trạng thái theo các sự kiện đó.

Hãy mô tả hoạt động của hệ thống thang máy. Thường thang máy bắt đầu hoạt động từ tầng một [OnFirstFloor]. Khi đang ở OnFirstFloor và có người ở tầng trên [floorNum] nhấn nút yêu cầu thang máy [goUp[floorNum]] thì nó chuyển sang trạng thái chuyển lên [MovingUp]. Khi chuyển đến tầng yêu cầu [arrived] thì nó chuyển sang trạng thái dừng, nghỉ [Idle] để mở cửa cho người vào /ra khỏi thang máy. Đang ở trạng thái nghỉ Idle, nếu có ai ở tầng trên yêu cầu thì nó lại chuyển về MovingUp, nếu có người ở tầng dưới yêu cầu thì thang máy chuyển xuống [MovingDown], còn khi hết giờ [time-out] nó sang trạng thái chuyển về tầng một [MovingtoFirstFloor] rồi về tầng một. Biểu đồ trạng thái mô tả hoạt động của thang máy được vẽ như hình 2.

Biểu đồ trạng thái của lớp Thangmay

Chúng ta hãy xây dựng biểu đồ trạng thái cho lớp HoaDon.

Biểu đồ các trạng thái của lớp HoaDon

Khi một hoá đơn [đối tượng của lớp HoaDon] được tạo lập thì nó ở trạng thái chưa thanh toán, sau đó khi có sự kiện khách hàng thanh toán, nghĩa là khách trả tiền cho các mặt hành đã chọn mua thì nó chuyển sang trạng thái đã thanh toán.

Như đã đề cập ở trên, các ca sử dụng là rất quan trọng, nó thể hiện những nhiệm vụ mà hệ thống phải thực hiện. Vì vậy, thường chúng phải xây dựng các biểu đồ trạng thái để mô tả cho các lớp trong những ca sử dụng quan trọng nhất của hệ thống.

Biểu đồ trạng thái của hệ HBH được xây dựng như sau:

Biểu đồ trạng thái của lớp HBH

Trạng thái của một đối tượng cũng có khi là trạng thái phức hợp, nghĩa là nó có thể chứa các trạng thái con được lồng bên trong. Một số trạng thái, ví dụ trạng thái Kiểm duyệt thẻ trong biểu đồ trên có thể tiếp tục được làm mịn hơn ở pha sau.

Chúng ta xét tiếp Telephone trong ca sử dụng “Gọi điện thoại” đã được mô tả bằng biểu đồ vết các sự kiện ở trên. Telephone có hai trạng thái chính: Idle [rỗi] và Active [hoạt động]. Trạng thái Active lại có thể phân tách tiếp thành PlayingDialTone [âm hiệu ĐT mời gọi], Dialing [quay số], Connecting [kết nối hai đầu dây] và Talking [đàm thoại]. Biểu đồ trạng thái cho các hoạt động trên được mô tả như sau.

Biểu đồ trạng thái của Telephone

Máy điện thoại ở trạng thái Idle, khi người gọi nhấc tai nghe lên [off hook] thì nó chuyển sang trạng thái hoạt động [Active] sẵn sàng phục vụ đàm thoại giữa hai điểm trong mạng điện thoại. Trạng thái Active lại được mô tả dưới dạng một biểu đồ trạng thái con. Bắt đầu là trạng thái Có âm hiệu điện thoại mời gọi [PlayingDialTone], khi người gọi quay số [digit] nó chuyển sang trạng thái Quay số [Dialing]. Khi quay xong [completed], nó chuyển tiếp sang trạng thái Kết nối [Connecting] và khi đường dây được kết nối [connected] thì hai người có thể nói chuyện được với nhau [Talking]. Trạng thái Talking lại có thể mô tả chi tiết hơn bằng một biểu đồ trạng thái con nếu cần thiết.

  • Biểu đồ trạng thái chỉ cần xây dựng cho những đối tượng có nhiều hoạt động quan trọng trong hệ thống,

  • Dựa vào các ca sử dụng để xây dựng biểu đồ trạng thái,

  • Dựa vào các thuộc tính liên quan để định nghĩa các trạng thái.

Tóm lại, biểu đồ trạng thái là cần thiết vì nó giúp người phân tích, thiết kế và người lập trình hiểu, nắm bắt được các hành vi ứng xử của các đối tượng tham gia vào các ca sử dụng. Họ không chỉ cài đặt đối tượng mà còn cần phải làm cho chúng thực hiện những công việc mà hệ thống yêu cầu. Tuy nhiên, biểu đồ trạng thái không được sử dụng để sinh mã tự động trong khâu lập trình ở bước sau.

Biểu thức trạng thái trong phân tích hướng đối tượng cũng tương tự như sơ đồ khối trong phân tích có cấu trúc, nó mô tả các bước cần thực hiện [thuật toán] của hệ thống.

Video liên quan

Chủ Đề