Vẽ Use Case Diagram Với Star UML

Vẽ Use Case Diagram Với Star UML

Ở kỳ trước "Tìm hiểu về Use Case Diagram trong UML" mình đã giải thích sơ qua về lý thuyết của Use Case Diagram. Trong kỳ này, chúng ta sẽ thực hành phân tích một số yêu cầu và vẽ thành một Use Case Diagram nho nhỏ nhé.

Xây dựng Use Case Diagram

Bước 1: Thu thập kiến thức liên quan đến hệ thống sẽ xây dựng

Trước hết, để phân tích hệ thống trên bạn phải có kiến thức về hệ thống thương mại điện tử, chúng ta có thể tìm hiểu thông qua các nguồn sau:

– Xem qua các forum

– Xem các hệ thống mẫu

– Hỏi những người chuyên về lĩnh vực này

Lưu ý: Bạn không thể thiết kế tốt được nếu bạn không có kiến thức về lĩnh vực của sản phẩm mà bạn sẽ xây dựng.

Bước 2: Xác định các Actor

Bạn hãy trả lời cho câu hỏi “Ai sử dụng hệ thống này?”

Xem xét Website chúng ta nhận thấy:

– Những người chỉ vào để đọc bài viết. Những người này là Người xem (Guest).

– Những người vào để đăng topic, bình luận,… v.v.. gọi là Thành viên (Member).

Về phía quản trị forum, có những người sau đây tham gia vào hệ thống:

– Mod: Quản lý các bài viết, đăng cảnh báo, xóa bài viết, tắt bình luận

– S-mod: Quản lý các bài viết, đăng cảnh báo, xóa bài viết, tắt bình luận, đề cử Mod

– Admin: Quản lý các bài viết, đăng cảnh báo, xóa bài viết, tắt bình luận, Tạo người dùng, Phân quyền, Ban người dùng, chỉ định Mod, S-mod

Tiếp theo chúng ta trả lời câu hỏi “Hệ thống nào tương tác với hệ thống này?”

Ví dụ chúng ta sử dụng Facebook, Gmail để thực hiện chức năng Login thì chúng ta sẽ có các Actor tương ứng tương tác với hệ thống

Như vậy, chúng ta đã có các Actor của hệ thống gồm: Guest, Member, Mod, S-mod, Admin, Facebook, Google

Bạn cần khảo sát và phân tích thêm cũng như hỏi trực tiếp khách hàng để xác định đầy đủ các Actor cho hệ thống.

Bước 3: Xác định Use Case

Bạn cần trả lời câu hỏi “Actor sử dụng chức năng gì trên hệ thống?”.

Trước tiên, xem xét với Actor “Guest” trên trang bkc.vn để xem họ sử dụng chức năng nào?

– Xem trang chủ

– Xem bài viết

– Tìm kiếm bài viết

– Đăng ký tài khoản để trở thành Member

– .......

Tiếp theo, xem xét Actor “Member” và nhận thấy họ sử dụng chức năng:

– Đăng nhập

– Bình luận

– Đăng bài

– ...

Tương tự như vậy bạn xác định chức năng cho các Actor còn lại.

Bước 4: Vẽ bản vẽ Use Case

Trước hết chúng ta xem xét và phân tích các chức năng của “Guest” chúng ta nhận thấy.Chức năng tìm kiếm bài viết sẽ bao gồm chức năng xem những bài viết đã tìm kiếm ấy. Tuy nhiên chức năng xem bài viết vẫn là một chức năng độc lập. Vì thế mình nối Association vào cả 2. Và đặt mối quan hệ Extend cho chúng.

Đặt lại tên cho gọn và xác định các mối quan hệ của chúng, chúng ta có thể vẽ Use Case Diagram cho Actor này như sau:

Tiếp theo, chúng ta xem xét đến Actor "Member", Actor này có những chức năng tương tự với "Guest" nhưng họ có thể tạo bài viết, bình luận, trả lời một bình luận. Ta có thể vẽ như sau:

Thay vì nối tất cả như thế sẽ rất rối mắt. "Member" có tất cả Use Case của "Guest", có thể xem "Member" là con của "Guest", vì thế ta có thể sử dụng quan hệ kế thừa. Chúng ta sẽ tối giản sơ đồ như ảnh dưới:

Đỡ đau mắt hơn rồi đúng không nào?

Tiếp tục xem xét các Actor còn lại, xem cả những hệ thống nào tương tác với phần mềm và xác định các mối quan hệ, thêm những Actor/ Use Case cần thiết hoặc bớt những thứ không liên quan, mở rộng System Boundary khi hết chỗ. Cuối cùng chúng ta có sơ đồ thế này:

Kết luận

Như vậy, chúng ta đã hoàn thành bản vẽ Use Case cho trang web CForum. Hy vọng, các bạn có thể hiểu và sử dụng bản vẽ này trong việc phân tích hệ thống một cách hiệu quả.

Tips: Nếu phần mềm của bạn được xây dựng theo mô hình Agile/Scrum, các bạn đã có trong tay Use Story rồi thì việc chuyển chúng thành Use Case sẽ dễ như trở bàn tay.