Dự án học thuật / 13
Phân tích & Thiết kế Hệ thống — Quán Cà phê Takeaway
Từ BACCM đến bộ UML hoàn chỉnh và Prototype giao diện
Tóm tắt nhanh
Tổng quan dự án
Nội dung nghiên cứu
Vấn đề: trước khi viết một dòng code, hệ thống cần được hiểu đúng
Theo yêu cầu của môn học, nhóm thực hiện phân tích và thiết kế một hệ thống quản lý quán cà phê takeaway theo quy trình phát triển phần mềm chuẩn. Một quán cà phê takeaway cần một hệ thống giúp quản lý đơn hàng, sản phẩm, khách hàng và nhân viên một cách thống nhất. Trước khi phát triển phần mềm, doanh nghiệp cần có một quy trình phân tích nghiệp vụ và thiết kế hệ thống bài bản nhằm đảm bảo hệ thống đáp ứng đúng nhu cầu thực tế, hạn chế sai sót khi triển khai và tạo nền tảng cho việc phát triển sau này.
Dự án bắt đầu từ khảo sát và phân tích nghiệp vụ, sau đó xây dựng tài liệu yêu cầu, mô hình UML, mô hình dữ liệu và prototype giao diện trước khi chuyển sang giai đoạn lập trình. Mặc dù đây không phải là đồ án có triển khai hệ thống hoàn chỉnh, nhưng là dự án giúp nhóm thực hành đầy đủ quy trình System Analysis & Design, từ việc hiểu bài toán kinh doanh đến thiết kế các mô hình phục vụ phát triển phần mềm.
Vai trò: Requirements Engineering và UML Modeling
Trong nhóm 5 thành viên, phụ trách chủ yếu các nội dung liên quan đến Requirements Engineering và UML Modeling:
- Thực hiện phỏng vấn và phân tích nghiệp vụ theo phạm vi được phân công
- Phân tích hệ thống bằng mô hình BACCM (Business Analysis Core Concept Model)
- Xây dựng Functional Requirements và Non-functional Requirements
- Thiết kế các Use Case Diagram
- Thiết kế Activity Diagram
- Thiết kế Sequence Diagram
- Thiết kế Prototype giao diện bằng Figma
- Thiết kế một phần Entity Relationship Diagram (ERD)
- Hoàn thiện tài liệu và chỉnh sửa báo cáo
Quá trình: liên tục sửa, đối chiếu, hoàn thiện
Quy trình thực hiện đi theo các bước:
- Khảo sát và nghiên cứu bài toán nghiệp vụ
- Phỏng vấn các bên liên quan
- Phân tích theo mô hình BACCM
- Xây dựng Business Requirements
- Xây dựng Functional và Non-functional Requirements
- Thiết kế Functional Decomposition
- Thiết kế Use Case Diagram, Activity Diagram, Sequence Diagram
- Thiết kế mô hình dữ liệu (ERD)
- Thiết kế Prototype giao diện bằng Figma
- Hoàn thiện tài liệu và trình bày
Trong quá trình thực hiện, phần lớn thời gian được dành cho việc xây dựng và chỉnh sửa các mô hình UML sau mỗi lần giảng viên review nhằm đảm bảo các mô hình phản ánh đúng nghiệp vụ và thống nhất với tài liệu yêu cầu. Gần như tất cả các Use Case, Activity Diagram và Sequence Diagram đều phải chỉnh sửa nhiều lần. Có những ngày cả nhóm gặp nhau từ sáng đến tối chỉ để rà soát từng actor, từng lifeline, mức độ phân rã của Use Case hay từng luồng xử lý trong Activity Diagram.
Kết quả đạt được
- Hoàn thành bộ tài liệu phân tích và thiết kế hệ thống theo quy trình chuẩn
- Xây dựng đầy đủ Functional Requirements và Non-functional Requirements
- Thiết kế các mô hình UML gồm Use Case, Activity Diagram và Sequence Diagram
- Hoàn thành mô hình dữ liệu và Prototype giao diện
- Đảm bảo tính nhất quán giữa Requirements, Business Process, UML và UI Prototype
Điều tự hào nhất
Đây là môn học giúp tiến bộ nhiều nhất về UML và tư duy phân tích hệ thống. Chính quá trình liên tục sửa, đối chiếu với nghiệp vụ và hoàn thiện tài liệu đã giúp hiểu sâu hơn về cách chuyển một yêu cầu nghiệp vụ thành các mô hình phân tích và thiết kế có tính nhất quán. Đây cũng là dự án giúp thành thạo hơn với Draw.io, Figma và các quy tắc xây dựng UML theo chuẩn.
Bài học lớn nhất
Project dạy được cách chuyển Business Requirements thành Functional Requirements, cách xác định đúng phạm vi và mức độ phân rã của Use Case, cách thiết kế Activity Diagram phản ánh đúng quy trình nghiệp vụ, và cách xây dựng Sequence Diagram với actor, lifeline và message chính xác. Quan trọng nhất, hiểu rõ mối liên hệ giữa Requirement → Use Case → Activity → Sequence → UI Prototype — một chuỗi logic chặt chẽ mà mỗi tầng phải được suy luận đúng từ tầng trước, đồng thời hình thành tư duy phân tích hệ thống trước khi bắt đầu triển khai phần mềm.
Hạn chế
Dự án dừng ở mức phân tích và thiết kế, chưa triển khai thành hệ thống thực tế. Một số yêu cầu nghiệp vụ được xây dựng dựa trên khảo sát học thuật nên chưa phản ánh đầy đủ các tình huống phát sinh trong môi trường vận hành thực tế. Chưa đánh giá các yêu cầu phi chức năng ở mức triển khai như hiệu năng, khả năng mở rộng và bảo mật.
Nếu làm lại
- Thực hiện nhiều buổi khảo sát và phỏng vấn thực tế hơn để thu thập yêu cầu đầy đủ
- Chuẩn hóa tài liệu theo chuẩn BABOK và IEEE Software Requirements Specification (SRS)
- Thiết kế thêm State Machine Diagram và Communication Diagram để mô hình hóa hành vi hệ thống
- Xây dựng Prototype có khả năng tương tác (Interactive Prototype) thay vì giao diện tĩnh
- Liên kết trực tiếp các Requirement với User Story và Acceptance Criteria nhằm hỗ trợ tốt hơn cho nhóm phát triển
- Triển khai một Proof of Concept để kiểm chứng các thiết kế trước khi chuyển sang giai đoạn lập trình
Bắt đầu trò chuyện
Bạn có một câu hỏi đáng để cùng khám phá?
Tôi sẵn sàng trao đổi về các vị trí dữ liệu, cơ hội hợp tác chỉn chu và câu chuyện phía sau nghiên cứu này.
Liên hệ