Software Requirement Specification – Hệ Thống Nuôi Tôm Thông Minh
Tên sản phẩm: Hệ Thống Nuôi Tôm Thông Minh Loại tài liệu: Software Requirement Specification (SRS) Phiên bản: 1.0 – Draft Ngày tạo: 05/2026
1. Giới thiệu
1.1 Mục đích tài liệu
Tài liệu này phát triển từ Business Requirement Document (BRD) thành Software Requirement Specification (SRS) nhằm mô tả chi tiết các yêu cầu phần mềm cho hệ thống nuôi tôm thông minh. SRS tập trung chuyển đổi nhu cầu nghiệp vụ thành yêu cầu chức năng, yêu cầu dữ liệu, yêu cầu phân quyền, yêu cầu tích hợp, yêu cầu phi chức năng và tiêu chí nghiệm thu ở mức đủ rõ để đội kỹ thuật có thể thiết kế kiến trúc, lập kế hoạch phát triển, viết test case và ước lượng chi phí.
Tài liệu này không thay thế tài liệu thiết kế kỹ thuật chi tiết, API specification, database schema, UI wireframe hoặc tài liệu AI model design. Các nội dung chưa đủ rõ trong BRD được đánh dấu là TBD hoặc Need Clarification để nhóm sản phẩm xác nhận trước khi đưa vào backlog triển khai.
1.2 Phạm vi hệ thống
Hệ thống là một nền tảng SaaS/IoT phục vụ quản lý nuôi tôm thông minh, hỗ trợ quản lý nông trại, hồ tôm, vụ nuôi, người dùng, cảm biến, thiết bị IoT, quan trắc chất lượng nước, cảnh báo, điều khiển thiết bị, nhập liệu vận hành, tối ưu thức ăn, tối ưu năng lượng, báo cáo, ticket sự cố, sổ tay chăn nuôi và chatbot AI hỗ trợ văn bản/hình ảnh.
| Nhóm phạm vi | Mô tả |
|---|---|
| Nền tảng sử dụng | Website và Mobile App, cả hai nền tảng đều hỗ trợ 4 role với quyền hạn khác nhau. |
| Người dùng chính | Admin, Chủ hộ tôm, KTV tại hồ, KTV đội quản trị. |
| Dữ liệu vận hành | Dữ liệu farm, pond, crop, sensor, thiết bị, chỉ số nước, thức ăn, môi trường thủ công, khoáng chất, siphon, năng suất, cảnh báo, ticket, báo cáo, sổ tay, chatbot. |
| Thiết bị/IoT | Cảm biến chất lượng nước và thiết bị điều khiển như quạt, oxy, tuần hoàn hoặc thiết bị tương đương. |
| AI | Gợi ý thức ăn, chatbot hỏi đáp, phân tích hình ảnh sơ bộ, cảnh báo/khuyến nghị, đánh giá tăng trưởng và tối ưu năng lượng theo giai đoạn. |
1.3 Định nghĩa và thuật ngữ
| Thuật ngữ | Định nghĩa |
|---|---|
| Farm | Nông trại hoặc đơn vị quản lý cấp cao nhất thuộc một chủ hộ tôm. |
| Pond | Hồ/ao nuôi tôm thuộc một nông trại. |
| Crop | Vụ nuôi trong một hồ, có ngày bắt đầu, ngày kết thúc và dữ liệu vận hành riêng. |
| Sensor | Thiết bị cảm biến đo các chỉ số nước như pH, DO, độ mặn, ORP/tảo, kiềm, nhiệt độ. |
| Device | Thiết bị IoT có thể điều khiển như quạt, oxy, tuần hoàn. |
| Alert | Cảnh báo tự động từ sensor/thiết bị hoặc cảnh báo nghiệp vụ phát sinh trong hệ thống. |
| Ticket | Phiếu báo hỏng/sự cố kỹ thuật cần được tiếp nhận và xử lý theo trạng thái/SLA. |
| Sổ tay chăn nuôi | Kho tri thức vận hành, bài viết hướng dẫn, quy trình xử lý và nội dung tham chiếu cho chatbot. |
| Chatbot AI | Trợ lý hỏi đáp bằng văn bản/hình ảnh, sử dụng dữ liệu hồ được phép và nội dung sổ tay đã duyệt. |
| PCR/FCR | Chỉ số hiệu quả thức ăn/năng suất. (TBD) |
| RBAC | Role-Based Access Control, cơ chế kiểm soát truy cập theo vai trò và phạm vi dữ liệu. |
| TBD | To Be Defined, nội dung cần được xác nhận trước khi triển khai. |
1.4 Quy ước mã yêu cầu
Các yêu cầu trong tài liệu này được đặt mã để phục vụ traceability, estimation và kiểm thử. Yêu cầu chức năng có dạng FR-XX-YYY, trong đó XX là mã module và YYY là số thứ tự yêu cầu. Yêu cầu dữ liệu có dạng DATA-XX, yêu cầu phi chức năng có dạng NFR-XX, business rule có dạng BR-XX, tiêu chí nghiệm thu có dạng AC-XX.
2. Mô tả tổng quan hệ thống
2.1 Bối cảnh sản phẩm
Hệ thống hướng đến số hóa hoạt động nuôi tôm bằng cách kết hợp dữ liệu cảm biến, nhập liệu hiện trường, thiết bị IoT và AI hỗ trợ ra quyết định. Trục nghiệp vụ trung tâm của hệ thống là Pond Detail, nơi hội tụ dữ liệu chỉ số nước, thiết bị, thức ăn, nhật ký vận hành, cảnh báo, ticket, báo cáo, sổ tay và chatbot.
Nguyên tắc thiết kế cốt lõi: Mọi dữ liệu hiển thị và thao tác trong hệ thống phải được kiểm soát theo role, phạm vi nông trại, phạm vi hồ và quyền hành động được cấp. Website và Mobile App đều hỗ trợ cả 4 role, nhưng trải nghiệm, menu và hành động sẽ được lọc theo quyền thực tế.
2.2 Nhóm người dùng và vai trò
| Role | Mô tả | Phạm vi dữ liệu | Quyền phần mềm chính |
|---|---|---|---|
| Admin | Quản trị toàn bộ hệ thống. | Toàn hệ thống. | Quản lý user, farm, pond, thiết bị, sensor, cấu hình hệ thống, danh mục, sổ tay, xem báo cáo toàn hệ thống. |
| Chủ hộ tôm | Quản lý nông trại/hồ thuộc quyền sở hữu. | Toàn bộ hồ thuộc nông trại của mình. | Xem dashboard, phân công KTV tại hồ, xem/nhập dữ liệu, điều khiển thiết bị nếu được cấp quyền, xem báo cáo, tạo ticket, dùng sổ tay/chatbot. |
| KTV tại hồ | Vận hành trực tiếp tại hồ được phân công. | Chỉ hồ được giao. | Nhập liệu vận hành, xem chỉ số, nhận/xử lý cảnh báo, điều khiển thiết bị theo quyền, báo hỏng, dùng sổ tay/chatbot. |
| KTV đội quản trị | Hỗ trợ kỹ thuật từ đội quản trị. | Hồ/ticket/sự cố được phân công. | Tiếp nhận ticket, xem dữ liệu kỹ thuật liên quan, cập nhật trạng thái xử lý, đóng ticket, dùng sổ tay/chatbot hỗ trợ chẩn đoán. |
2.3 Nền tảng triển khai
| Nền tảng | Phạm vi hỗ trợ | Đặc điểm UX |
|---|---|---|
| Website | Tất cả 4 role. | Ưu tiên quản trị tổng thể, dashboard rộng, bảng dữ liệu, báo cáo, cấu hình, thao tác nhiều bước và xuất Excel. |
| Mobile App | Tất cả 4 role. | Ưu tiên thao tác tại hiện trường, nhận push notification, nhập liệu nhanh, điều khiển thiết bị, chụp ảnh hỏi chatbot và hỗ trợ offline cơ bản. |
2.4 Kiến trúc logic mức cao
SRS không áp đặt kiến trúc triển khai cụ thể, nhưng hệ thống nên được thiết kế theo hướng phân tách các lớp chính gồm frontend website, mobile app, backend API, dịch vụ IoT ingestion/control, notification service, reporting/export service, AI service, database và object storage cho ảnh/video/tài liệu.
| Thành phần logic | Trách nhiệm chính |
|---|---|
| Web Frontend | Giao diện quản trị, dashboard, báo cáo, cấu hình và thao tác nghiệp vụ trên trình duyệt. |
| Mobile App | Giao diện hiện trường, nhập liệu nhanh, push notification, chụp ảnh, offline cache và sync. |
| Backend API | Xử lý nghiệp vụ, xác thực, phân quyền, CRUD, workflow, báo cáo, ticket và tích hợp dịch vụ. |
| IoT Data Service | Nhận dữ liệu sensor, chuẩn hóa dữ liệu, lưu trữ bản ghi, phát hiện mất kết nối và kích hoạt cảnh báo. |
| Device Control Service | Gửi lệnh bật/tắt, quản lý trạng thái thiết bị, xử lý phản hồi và ghi log điều khiển. |
| Notification Service | Điều phối in-app, push, email và các kênh mở rộng trong tương lai. |
| AI Service | Chatbot, phân tích ảnh, gợi ý thức ăn, khuyến nghị xử lý và các phân tích dự báo. |
| Reporting Service | Tổng hợp dữ liệu, tạo báo cáo online, xuất Excel, lên lịch gửi báo cáo. |
| Storage | Lưu database giao dịch, dữ liệu sensor, file đính kèm, ảnh chatbot, video ticket, tài liệu sổ tay. |
3. Yêu cầu chức năng theo module
3.1 MOD-01 – Authentication & User Management
Module xác thực và quản lý người dùng phải đảm bảo người dùng chỉ truy cập đúng dữ liệu và hành động được phép. Hệ thống cần hỗ trợ đăng nhập, đăng xuất, reset mật khẩu, quản lý session, tạo/sửa/vô hiệu hóa tài khoản và gán role/farm/pond.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-01-001 | Hệ thống phải cho phép người dùng đăng nhập bằng email và mật khẩu hợp lệ. | Must | Người dùng đăng nhập thành công sẽ được chuyển vào dashboard theo role và phạm vi dữ liệu. |
| FR-01-002 | Hệ thống phải cho phép người dùng đăng xuất khỏi phiên hiện tại và hỗ trợ đăng xuất tất cả thiết bị. | Must | Token/session bị vô hiệu hóa và không thể dùng lại để gọi API. |
| FR-01-003 | Hệ thống phải hỗ trợ luồng quên mật khẩu và đặt lại mật khẩu qua email. | Must | Link reset hết hạn sau 24 giờ hoặc theo cấu hình. |
| FR-01-004 | Admin phải có thể tạo, sửa, vô hiệu hóa tài khoản và gán role cho user. | Must | Tài khoản vô hiệu hóa không đăng nhập được nhưng lịch sử thao tác vẫn được giữ. |
| FR-01-005 | Admin phải có thể gán user vào farm/pond/ticket scope theo role. | Must | User chỉ thấy dữ liệu trong scope được gán. |
| FR-01-006 | Chủ hộ tôm phải có thể tạo hoặc phân công KTV tại hồ trong phạm vi nông trại của mình nếu được cấp quyền. | Should | KTV tại hồ sau khi được phân công chỉ thấy các hồ được giao. |
| FR-01-007 | Hệ thống phải kiểm soát session timeout tự động. | Must | Người dùng không hoạt động quá thời gian cấu hình sẽ phải đăng nhập lại. |
| FR-01-008 | Hệ thống phải lưu audit log cho hành động quản lý user và thay đổi phân quyền. | Must | Audit log ghi user thực hiện, thời gian, hành động, giá trị trước/sau nếu có. |
3.2 MOD-02 – Farm / Pond / Crop Management
Module này quản lý cấu trúc nông trại, hồ tôm, vụ nuôi, phân công nhân sự và gán thiết bị/cảm biến. Dữ liệu farm/pond/crop là nền tảng cho tất cả module còn lại.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-02-001 | Hệ thống phải cho phép Admin tạo, xem, sửa và đóng trạng thái nông trại. | Must | Farm có thông tin tên, chủ hộ, địa chỉ, khu vực, trạng thái. |
| FR-02-002 | Hệ thống phải cho phép tạo, xem, sửa hồ thuộc một nông trại. | Must | Pond có mã hồ, diện tích, loại nuôi, ngày thả, số lượng tôm, mật độ, size tôm. |
| FR-02-003 | Hệ thống phải cho phép quản lý vụ nuôi theo từng hồ. | Must | Một hồ chỉ có một vụ nuôi đang hoạt động tại một thời điểm. |
| FR-02-004 | Hệ thống phải cho phép phân công KTV tại hồ cho một hoặc nhiều hồ. | Must | KTV chỉ thấy hồ được giao sau khi đăng nhập. |
| FR-02-005 | Hệ thống phải cho phép Admin gán sensor và thiết bị IoT vào từng hồ. | Must | Sensor/device được hiển thị trong dashboard hồ và module điều khiển. |
| FR-02-006 | Hệ thống phải hiển thị danh sách hồ với trạng thái tổng quan gồm ngày nuôi, cảnh báo, sensor và thiết bị. | Must | Trạng thái màu phản ánh tình trạng cảnh báo hiện tại. |
| FR-02-007 | Hệ thống phải khóa chỉnh sửa dữ liệu vận hành của vụ nuôi sau khi vụ nuôi được đóng, trừ người có quyền đặc biệt. | Should | Dữ liệu vụ đã đóng chỉ đọc, mọi thay đổi đặc biệt phải có audit log. |
3.3 MOD-03 – Water Monitoring Dashboard
Module quan trắc nước hiển thị 6 chỉ số trọng yếu theo thời gian, trạng thái ngưỡng cảnh báo, biểu đồ lịch sử và trạng thái cảm biến. Dữ liệu sensor dự kiến cập nhật tối thiểu mỗi khoảng 20 phút hoặc nhanh hơn nếu thiết bị hỗ trợ.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-03-001 | Hệ thống phải hiển thị dashboard tổng quan nông trại gồm danh sách hồ và trạng thái cảnh báo. | Must | Người dùng thấy đúng các hồ trong phạm vi quyền. |
| FR-03-002 | Hệ thống phải hiển thị dashboard hồ với 6 chỉ số gồm pH, DO, độ mặn, tảo/ORP, kiềm và nhiệt độ. | Must | Mỗi chỉ số có giá trị hiện tại, đơn vị, thời điểm đo và trạng thái màu. |
| FR-03-003 | Hệ thống phải hiển thị biểu đồ thời gian cho từng chỉ số và cho phép lọc 24h, 7 ngày, 30 ngày hoặc tùy chỉnh. | Must | Biểu đồ hiển thị đúng dữ liệu trong khoảng thời gian chọn. |
| FR-03-004 | Hệ thống phải hiển thị ngưỡng an toàn và đánh dấu thời điểm vượt ngưỡng trên biểu đồ. | Should | Điểm vượt ngưỡng được highlight và có link mở cảnh báo liên quan nếu có. |
| FR-03-005 | Hệ thống phải hiển thị trạng thái sensor online, offline hoặc lỗi. | Must | Sensor mất kết nối quá một chu kỳ sẽ tạo cảnh báo offline. |
| FR-03-006 | Hệ thống phải cho phép xem lịch sử bản ghi sensor. | Must | Danh sách lịch sử có thể lọc theo hồ, chỉ số, thời gian. |
| FR-03-007 | Hệ thống phải hiển thị thông tin ngày nuôi, diện tích, mật độ, size tôm tại dashboard hồ. | Should | Thông tin hồ/vụ nuôi được hiển thị cùng chỉ số nước để hỗ trợ ra quyết định. |
3.4 MOD-04 – Alert Management
Module cảnh báo xử lý các cảnh báo phát sinh từ sensor, thiết bị hoặc báo hỏng do người dùng gửi. Cảnh báo phải có vòng đời trạng thái rõ ràng, phân loại mức độ và gửi thông báo đúng người nhận.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-04-001 | Hệ thống phải tự động tạo cảnh báo khi chỉ số nước vượt ngưỡng cấu hình. | Must | Cảnh báo ghi rõ hồ, chỉ số, giá trị, ngưỡng, thời gian và mức độ. |
| FR-04-002 | Hệ thống phải tự động tạo cảnh báo khi sensor hoặc thiết bị mất kết nối/lỗi. | Must | Cảnh báo thiết bị/sensor được gửi đến đúng nhóm người nhận. |
| FR-04-003 | Hệ thống phải hiển thị danh sách cảnh báo có bộ lọc theo loại, mức độ, hồ, nông trại, trạng thái và thời gian. | Must | Bộ lọc trả kết quả đúng phạm vi dữ liệu user. |
| FR-04-004 | Hệ thống phải hỗ trợ vòng đời cảnh báo: Mới, Đã tiếp nhận, Đang xử lý, Đã đóng. | Must | Chuyển trạng thái ghi nhận người thực hiện, thời gian và ghi chú. |
| FR-04-005 | Hệ thống phải cho phép người được phân công xác nhận/tiếp nhận cảnh báo. | Must | Cảnh báo chuyển sang Đã tiếp nhận và các user liên quan thấy trạng thái mới. |
| FR-04-006 | Hệ thống phải hỗ trợ escalation khi cảnh báo quá hạn chưa tiếp nhận hoặc chưa xử lý. | Should | Escalation gửi notification/email theo cấu hình T1/T2/SLA. |
| FR-04-007 | Hệ thống phải gợi ý hướng xử lý dựa trên loại cảnh báo và ngưỡng bị vượt. | Should | Gợi ý hiển thị trong chi tiết cảnh báo, có thể dựa trên rule hoặc AI theo giai đoạn. |
3.5 MOD-05 – IoT Device Control
Module điều khiển thiết bị IoT cho phép xem trạng thái thiết bị, bật/tắt từ xa, chuyển chế độ tay/tự động, cấu hình luật tự động và ghi lịch sử lệnh. Đây là module có rủi ro cao nên mọi lệnh điều khiển phải được ghi log đầy đủ.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-05-001 | Hệ thống phải hiển thị danh sách thiết bị theo hồ gồm tên, loại, trạng thái, chế độ và kết nối. | Must | Danh sách chỉ hiển thị thiết bị trong phạm vi quyền. |
| FR-05-002 | Hệ thống phải cho phép user có quyền bật/tắt thiết bị từ Website hoặc Mobile App. | Must | Lệnh được gửi, trạng thái xử lý hiển thị rõ thành công, thất bại hoặc đang chờ. |
| FR-05-003 | Hệ thống phải lưu lịch sử điều khiển gồm thiết bị, lệnh, người yêu cầu, thời điểm yêu cầu, trạng thái thực thi và thời điểm thực thi. | Must | Log không được sửa/xóa bởi user thông thường. |
| FR-05-004 | Hệ thống phải cho phép chuyển thiết bị giữa chế độ manual và auto theo quyền. | Should | Chế độ hiện tại hiển thị rõ trên UI. |
| FR-05-005 | Hệ thống phải cho phép cấu hình luật tự động theo DO, nhiệt độ, khung giờ hoặc ngưỡng cảnh báo. | Should | Rule chỉ có hiệu lực khi auto mode được bật. |
| FR-05-006 | Hệ thống phải tạo cảnh báo thiết bị nếu thiết bị không phản hồi lệnh trong thời gian cấu hình. | Must | Cảnh báo liên kết đến device command log. |
| FR-05-007 | Hệ thống phải không ghi đè lệnh thủ công trong Y phút sau khi user thao tác nếu auto mode đang bật. | Should | Y là tham số cấu hình trong System Configuration. |
3.6 MOD-06 – Feeding Management & AI Suggestion
Module thức ăn ghi nhận từng cữ cho ăn, xem lịch sử, so sánh với môi trường, tính toán PCR/FCR và cung cấp gợi ý lượng thức ăn theo ngày/cữ. Gợi ý AI là khuyến nghị, người dùng có quyền nhập số liệu thực tế khác với khuyến nghị.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-06-001 | Hệ thống phải cho phép nhập dữ liệu cho ăn theo cữ gồm loại thức ăn, lượng, giờ, người nhập và ghi chú. | Must | Bản ghi gắn với hồ, vụ nuôi, ngày và user nhập. |
| FR-06-002 | Hệ thống phải cho phép ghi nhận phản ứng ăn như ăn mạnh, ăn yếu hoặc còn dư. | Should | Ghi chú phản ứng được dùng trong lịch sử và gợi ý sau này. |
| FR-06-003 | Hệ thống phải hiển thị lịch sử thức ăn theo ngày, tuần và vụ nuôi. | Must | Có tổng lượng theo hồ và tổng hợp theo nông trại. |
| FR-06-004 | Hệ thống phải đề xuất tổng lượng thức ăn/ngày dựa trên ngày nuôi, size tôm, số lượng tôm, mật độ, diện tích và dữ liệu môi trường. | Should | Gợi ý hiển thị rõ đầu vào, khuyến nghị và mức tin cậy nếu là AI. |
| FR-06-005 | Hệ thống phải đề xuất lượng thức ăn theo cữ và khung giờ cho ăn tối ưu. | Could | Khung giờ được điều chỉnh theo môi trường và dữ liệu lịch sử. |
| FR-06-006 | Hệ thống phải cảnh báo khi DO thấp hoặc pH bất thường tại thời điểm cho ăn. | Must | Cảnh báo hiển thị trong màn hình nhập thức ăn và notification nếu nghiêm trọng. |
| FR-06-007 | Hệ thống phải tính toán PCR/FCR theo công thức đã được xác nhận. | Should | Công thức hiện là TBD; UI phải thể hiện rõ nếu chỉ số chưa được cấu hình. |
| FR-06-008 | Hệ thống phải cho phép user nhập lượng thực tế khác với gợi ý và lưu lý do nếu cần. | Must | Lịch sử lưu cả gợi ý và giá trị thực tế để phục vụ phân tích. |
3.7 MOD-07 – Productivity & Farming Logs
Module nhật ký vận hành ghi nhận dữ liệu thủ công hằng ngày như pH sáng/chiều, kiềm, khoáng chất, siphon và năng suất. Dữ liệu này dùng cho báo cáo, truy xuất lịch sử, phân tích năng suất và hỗ trợ AI.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-07-001 | Hệ thống phải cho phép nhập pH sáng, pH chiều, kiềm và các chỉ số môi trường thủ công theo hồ/ngày. | Must | Bản ghi gắn với user, hồ, vụ nuôi và ngày. |
| FR-07-002 | Hệ thống phải cho phép nhập khoáng chất gồm Bicar, siêu M, K, CaCO3, CaO, Zeo và danh mục mở rộng. | Must | Danh mục khoáng do Admin cấu hình; việc thêm tự do là TBD. |
| FR-07-003 | Hệ thống phải cho phép nhập siphon sáng, siphon chiều, tổng siphon và ghi chú tình trạng đáy. | Must | Đơn vị siphon là TBD và cần cấu hình. |
| FR-07-004 | Hệ thống phải cho phép nhập năng suất theo hồ/ngày/vụ theo quy tắc được xác nhận. | Should | Năng suất có thể là ước tính hằng ngày hoặc dữ liệu khi thu hoạch, cần xác nhận. |
| FR-07-005 | Hệ thống phải hiển thị bảng nhật ký vận hành theo ngày, tuần và vụ nuôi. | Must | Có filter theo farm, pond, loại dữ liệu và khoảng thời gian. |
| FR-07-006 | Hệ thống phải cho phép chỉnh sửa bản ghi trong ngày trước khi chốt dữ liệu cuối ngày. | Should | Sau khi chốt, chỉ người có quyền đặc biệt mới sửa được và phải có audit log. |
| FR-07-007 | Hệ thống phải tổng hợp năng suất từng hồ trong ngày và tổng năng suất trong vụ. | Should | Số liệu tổng hợp hiển thị trong báo cáo và dashboard nếu có dữ liệu. |
3.8 MOD-08 – Reports & Excel Export
Module báo cáo tổng hợp dữ liệu vận hành và hỗ trợ xuất Excel theo phạm vi quyền. Báo cáo cần phục vụ quản lý hằng ngày, họp tuần, truy xuất nguồn gốc và phân tích hiệu quả vụ nuôi.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-08-001 | Hệ thống phải cung cấp báo cáo quan trắc 6 chỉ số theo hồ và khoảng thời gian. | Must | Báo cáo gồm bảng, biểu đồ và số lần vượt ngưỡng. |
| FR-08-002 | Hệ thống phải cung cấp báo cáo thiết bị gồm lịch sử bật/tắt, thời gian chạy và số lần lỗi. | Must | Báo cáo hỗ trợ đánh giá tối ưu năng lượng. |
| FR-08-003 | Hệ thống phải cung cấp báo cáo thức ăn gồm lượng theo cữ/ngày/tuần/vụ và PCR/FCR nếu có công thức. | Must | Có thể so sánh thức ăn với chỉ số môi trường. |
| FR-08-004 | Hệ thống phải cung cấp báo cáo môi trường thủ công, khoáng chất và siphon. | Must | Dữ liệu hiển thị theo hồ, ngày, tuần và vụ. |
| FR-08-005 | Hệ thống phải cung cấp báo cáo năng suất theo hồ, tổng ngày và tổng vụ. | Should | Báo cáo chỉ hiển thị khi có dữ liệu năng suất hợp lệ. |
| FR-08-006 | Hệ thống phải cung cấp báo cáo sự cố/ticket gồm thời gian phản hồi, thời gian xử lý và người xử lý. | Should | Hỗ trợ lọc theo SLA và trạng thái. |
| FR-08-007 | Hệ thống phải cung cấp báo cáo sổ tay và chatbot gồm lượt xem, lượt hỏi, câu hỏi phổ biến và đánh giá hữu ích. | Could | Chỉ triển khai khi module sổ tay/chatbot có dữ liệu. |
| FR-08-008 | Hệ thống phải cho phép xuất tất cả báo cáo ra Excel trong phạm vi quyền. | Must | File Excel không chứa dữ liệu vượt quyền. |
| FR-08-009 | Hệ thống phải cho phép Admin/Chủ hộ lên lịch gửi báo cáo tuần qua email. | Could | Email gửi đúng lịch và đúng người nhận cấu hình. |
3.9 MOD-09 – Incident / Ticket Management
Module ticket tiếp nhận báo hỏng thiết bị và sự cố kỹ thuật từ người dùng hoặc cảnh báo hệ thống. Ticket có SLA, phân công người xử lý và lịch sử cập nhật.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-09-001 | Hệ thống phải cho phép Chủ hộ/KTV tại hồ tạo ticket báo hỏng từ Website hoặc Mobile App. | Must | Ticket có hồ, thiết bị nếu có, mô tả, mức độ và file đính kèm nếu có. |
| FR-09-002 | Hệ thống phải cho phép đính kèm ảnh/video khi tạo ticket. | Should | File được lưu an toàn và hiển thị trong chi tiết ticket. |
| FR-09-003 | Hệ thống phải hiển thị danh sách ticket với bộ lọc theo trạng thái, loại, người xử lý, hồ và thời gian. | Must | User chỉ thấy ticket trong phạm vi quyền. |
| FR-09-004 | Admin phải có thể phân công hoặc phân công lại KTV đội quản trị xử lý ticket. | Must | Người được giao nhận notification/email. |
| FR-09-005 | KTV đội quản trị phải có thể tiếp nhận, cập nhật tiến độ và đóng ticket. | Must | Mọi cập nhật có timestamp và người thực hiện. |
| FR-09-006 | Hệ thống phải theo dõi SLA gồm thời gian phản hồi và thời gian xử lý. | Should | Ticket quá SLA được highlight và escalate. |
| FR-09-007 | Khi user tạo báo hỏng, hệ thống phải gửi email cho KTV đội quản trị và cấp trên kỹ thuật theo cấu hình. | Must | Người nhận email được cấu hình linh hoạt trong System Configuration. |
3.10 MOD-10 – Farming Handbook
Sổ tay chăn nuôi là kho tri thức vận hành chuẩn theo giai đoạn nuôi, đồng thời là nguồn tham chiếu kiểm duyệt cho chatbot AI. Nội dung sổ tay cần có workflow duyệt và quản lý phiên bản.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-10-001 | Hệ thống phải cung cấp thư viện bài viết theo nhóm chủ đề như quy trình nuôi, môi trường, thức ăn, bệnh/tình trạng tôm, khoáng chất và sự cố thiết bị. | Must | User có thể duyệt bài theo nhóm chủ đề. |
| FR-10-002 | Hệ thống phải hỗ trợ tìm kiếm bài viết theo từ khóa. | Must | Kết quả tìm kiếm chỉ trả bài ở trạng thái được phép hiển thị. |
| FR-10-003 | Hệ thống phải hỗ trợ lọc bài viết theo chủ đề, giai đoạn nuôi và chỉ số liên quan. | Should | Bộ lọc có thể kết hợp nhiều điều kiện. |
| FR-10-004 | Hệ thống phải hiển thị bài viết liên quan đến cảnh báo đang phát sinh. | Could | Từ chi tiết cảnh báo có thể mở bài viết liên quan. |
| FR-10-005 | User phải có thể đánh dấu bài viết yêu thích. | Could | Bài yêu thích hiển thị trong trang cá nhân hoặc sổ tay. |
| FR-10-006 | Admin phải có thể tạo, sửa, duyệt, lưu trữ và quản lý phiên bản bài viết. | Must | Chỉ bài viết Đã duyệt hiển thị cho user và chatbot. |
| FR-10-007 | Hệ thống không được xóa cứng bài viết đã được chatbot tham chiếu; thay vào đó chuyển sang trạng thái Lưu trữ. | Must | Lịch sử tham chiếu chatbot vẫn truy xuất được. |
3.11 MOD-11 – AI Chatbot
Chatbot AI hỗ trợ người dùng hỏi đáp bằng văn bản và hình ảnh về vận hành hồ, chỉ số môi trường, thức ăn, tình trạng tôm, thiết bị và quy trình xử lý. Chatbot phải tôn trọng RBAC, chỉ truy cập dữ liệu hồ mà user được phép xem, và không đưa ra chẩn đoán bệnh dứt khoát nếu chưa có xác nhận kỹ thuật viên.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-11-001 | Hệ thống phải cung cấp giao diện chatbot trên Website và Mobile App cho tất cả role. | Should | User thấy chatbot trong menu nếu có quyền sử dụng. |
| FR-11-002 | Chatbot phải cho phép hỏi đáp bằng văn bản. | Should | Chatbot trả lời dựa trên sổ tay đã duyệt và dữ liệu hồ được phép. |
| FR-11-003 | Chatbot phải cho phép user chọn hồ liên quan trước khi hỏi. | Should | Ngữ cảnh hồ được dùng để trả lời nhưng không vượt quyền dữ liệu. |
| FR-11-004 | Chatbot phải cho phép upload/chụp ảnh tôm, nước, sàng ăn, đáy hồ hoặc thiết bị để phân tích sơ bộ. | Could | Ảnh được lưu trong lịch sử hội thoại theo chính sách lưu trữ. |
| FR-11-005 | Chatbot phải tự động lấy ngữ cảnh hồ gồm pH, DO, nhiệt độ, độ mặn, ngày nuôi, size tôm, lượng ăn gần nhất và cảnh báo đang mở nếu có quyền. | Should | Câu trả lời thể hiện dữ liệu ngữ cảnh được dùng. |
| FR-11-006 | Chatbot phải hiển thị mức độ tin cậy và nguồn tham chiếu khi trả lời. | Should | Câu trả lời có nguồn từ sổ tay hoặc dữ liệu hồ khi áp dụng. |
| FR-11-007 | Chatbot phải đề xuất tạo ticket hoặc gửi cho KTV nếu vấn đề nghiêm trọng hoặc độ chắc chắn thấp. | Should | User có thể tạo ticket từ hội thoại. |
| FR-11-008 | Chatbot phải lưu lịch sử hội thoại và cho phép user xem lại trong phạm vi quyền. | Could | Thời hạn lưu lịch sử là TBD. |
| FR-11-009 | User phải có thể đánh giá câu trả lời là hữu ích hoặc không hữu ích. | Could | Dữ liệu đánh giá được dùng cho báo cáo chatbot. |
| FR-11-010 | Chatbot không được trả lời về hồ mà user không có quyền truy cập. | Must | Câu hỏi vượt quyền bị từ chối lịch sự và không lộ dữ liệu. |
3.12 MOD-12 – Notification System
Notification System quản lý thông báo đa kênh gồm in-app, push và email. Các kênh SMS/Zalo/cuộc gọi tự động được xem là mở rộng tương lai, không bắt buộc trong MVP.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-12-001 | Hệ thống phải tạo in-app notification khi có cảnh báo, ticket, escalation hoặc cập nhật quan trọng. | Must | Notification liên kết đến đối tượng liên quan như alert, ticket, pond, report. |
| FR-12-002 | Mobile App phải nhận push notification cho các sự kiện quan trọng. | Must | Push mở đúng màn hình chi tiết nếu user còn quyền truy cập. |
| FR-12-003 | Hệ thống phải gửi email khi có báo hỏng, escalation, reset password và báo cáo tuần nếu cấu hình. | Must | Email gửi đúng template và đúng người nhận. |
| FR-12-004 | Hệ thống phải cung cấp trung tâm thông báo cho user xem, lọc, đánh dấu đã đọc hoặc xóa notification. | Should | Trạng thái đã đọc đồng bộ giữa Web và Mobile. |
| FR-12-005 | Admin phải có thể cấu hình người nhận, kênh nhận và điều kiện gửi theo loại sự kiện. | Should | Cấu hình áp dụng cho sự kiện phát sinh sau thời điểm lưu. |
| FR-12-006 | Hệ thống phải hạn chế gửi thông báo trùng lặp cho cùng một sự kiện. | Must | Cùng alert/ticket không tạo nhiều notification giống nhau trong khoảng debounce cấu hình. |
3.13 MOD-13 – System Configuration
System Configuration cho phép quản trị các thông số vận hành như ngưỡng cảnh báo, luật tự động, danh mục, email template, SLA, gói dịch vụ và chính sách chatbot.
| Mã yêu cầu | Yêu cầu chức năng | Mức ưu tiên | Tiêu chí nghiệm thu chính |
|---|---|---|---|
| FR-13-001 | Admin phải có thể cấu hình ngưỡng cảnh báo theo chỉ số, hồ, loại tôm hoặc giai đoạn nuôi nếu được hỗ trợ. | Must | Ngưỡng mới áp dụng cho cảnh báo phát sinh sau khi lưu. |
| FR-13-002 | Admin phải có thể cấu hình luật tự động bật/tắt thiết bị. | Should | Rule có điều kiện, hành động, phạm vi áp dụng và trạng thái bật/tắt. |
| FR-13-003 | Admin phải có thể quản lý danh mục loại thức ăn, khoáng chất, thiết bị và loại ticket/cảnh báo. | Must | Danh mục được dùng thống nhất trong các form nhập liệu. |
| FR-13-004 | Admin phải có thể cấu hình email template và người nhận theo loại sự kiện. | Should | Template hỗ trợ biến động như tên hồ, mã ticket, thời gian, mức độ. |
| FR-13-005 | Admin phải có thể cấu hình SLA cho ticket/cảnh báo. | Should | SLA tính bằng giờ/phút và có rule escalation. |
| FR-13-006 | Admin phải có thể cấu hình gói dịch vụ và giới hạn tài khoản nếu triển khai mô hình SaaS plan. | Could | Nội dung này có thể nằm ngoài MVP nếu chưa chốt mô hình thương mại. |
| FR-13-007 | Admin phải có thể cấu hình tri thức, nguồn dữ liệu và chính sách an toàn của chatbot. | Should | Chatbot chỉ dùng nguồn được bật và nội dung đã duyệt. |
4. Yêu cầu dữ liệu
4.1 Core data entities
Các entity dưới đây là mức đặc tả logic, chưa phải thiết kế database vật lý. Tên bảng, khóa chính, khóa ngoại, index và partitioning sẽ được xác định trong tài liệu database design.
| Mã | Entity | Thuộc tính chính | Quan hệ chính |
|---|---|---|---|
| DATA-01 | User | id, name, email, phone, role, status, assigned_farm_ids, assigned_pond_ids, created_at, updated_at | User có role và phạm vi dữ liệu. |
| DATA-02 | Farm | id, name, owner_user_id, address, region, status | Farm có nhiều Pond. |
| DATA-03 | Pond | id, farm_id, code, area, farming_type, stocking_date, shrimp_quantity, density, shrimp_size, status | Pond thuộc Farm và có Crop. |
| DATA-04 | Crop | id, pond_id, start_date, end_date, total_feed, production, pcr_fcr, status, notes | Crop thuộc Pond; một Pond chỉ có một active Crop. |
| DATA-05 | Sensor | id, pond_id, metric_type, frequency, threshold_config, connection_status | Sensor tạo Water Quality Record. |
| DATA-06 | Water Quality Record | id, farm_id, pond_id, sensor_id, metric_type, value, unit, measured_at, source, quality_status | Dữ liệu đầu vào dashboard và alert. |
| DATA-07 | Device | id, pond_id, name, type, status, mode, connection_status | Device có Command Log và Alert. |
| DATA-08 | Device Command Log | id, device_id, command, requested_by, requested_at, execution_status, executed_at, response_payload | Lưu audit điều khiển thiết bị. |
| DATA-09 | Feeding Record | id, pond_id, crop_id, feed_type, amount, feeding_time, entered_by, reaction_note, ai_suggestion_snapshot | Dữ liệu thức ăn theo cữ. |
| DATA-10 | Mineral Record | id, pond_id, crop_id, date, mineral_type, amount, unit, applied_at, entered_by | Dữ liệu khoáng chất. |
| DATA-11 | Siphon Record | id, pond_id, crop_id, date, morning_amount, afternoon_amount, total_amount, unit, bottom_condition_note | Dữ liệu siphon. |
| DATA-12 | Productivity Record | id, pond_id, crop_id, date, production_amount, unit, method, entered_by, notes | Dữ liệu năng suất. |
| DATA-13 | Alert | id, pond_id, type, severity, source, status, assignee_id, created_at, acknowledged_at, closed_at | Cảnh báo từ sensor/device/user. |
| DATA-14 | Ticket | id, pond_id, device_id, created_by, description, severity, status, assignee_id, sla_due_at, closed_at | Ticket báo hỏng/sự cố. |
| DATA-15 | Ticket Attachment | id, ticket_id, file_url, file_type, uploaded_by, uploaded_at | Ảnh/video đính kèm ticket. |
| DATA-16 | Handbook Article | id, title, category, farming_stage, related_metric, status, version, content, approved_by | Sổ tay và nguồn chatbot. |
| DATA-17 | Chatbot Conversation | id, user_id, pond_id, question_text, image_url, answer_text, references, confidence_score, feedback, created_at | Lịch sử chatbot. |
| DATA-18 | Notification | id, user_id, event_type, channel, title, body, read_status, target_url, created_at | In-app/push/email notification. |
| DATA-19 | Configuration | id, config_type, scope, key, value, effective_from, updated_by | Ngưỡng, SLA, danh mục, email, rule. |
4.2 Nguyên tắc lưu trữ dữ liệu
| Loại dữ liệu | Thời gian lưu tối thiểu | Ghi chú |
|---|---|---|
| Dữ liệu sensor | 1 năm | Thiết kế cần hỗ trợ mở rộng thời gian lưu nếu khách hàng yêu cầu. |
| Lịch sử thiết bị | 1 năm | Bao gồm trạng thái và command log. |
| Thức ăn, môi trường thủ công, khoáng, siphon | Toàn bộ vụ nuôi và lịch sử nhiều vụ | Không mất dữ liệu khi đóng vụ nuôi. |
| Cảnh báo/ticket/audit log | Tối thiểu 1 năm | Cần phục vụ truy vết và đánh giá SLA. |
| Nội dung sổ tay | Lưu vĩnh viễn theo phiên bản | Không xóa cứng bài đã được chatbot tham chiếu. |
| Hội thoại chatbot và ảnh | Tối thiểu trong vòng đời vụ nuôi | Cần xác nhận chính sách dữ liệu cá nhân và quyền xóa/ẩn lịch sử. |
5. Ma trận phân quyền mức SRS
Ma trận dưới đây là mức tổng quan để định hướng backend permission và UI visibility. Permission matrix chi tiết theo từng màn hình, nút bấm và API cần được xây dựng trong giai đoạn UI/UX hoặc solution design.
| Nhóm chức năng | Admin | Chủ hộ tôm | KTV tại hồ | KTV đội quản trị |
|---|---|---|---|---|
| Đăng nhập, hồ sơ cá nhân | Có | Có | Có | Có |
| Quản lý user | Toàn quyền | Tạo/phân công KTV tại hồ trong farm nếu được cấp quyền | Không | Không |
| Quản lý farm | Toàn quyền | Xem/sửa farm của mình theo quyền | Xem farm liên quan | Xem farm/ticket được giao |
| Quản lý pond/crop | Toàn quyền | Quản lý pond/crop của mình | Xem/nhập liệu hồ được giao | Xem hồ/ticket được giao |
| Dashboard nước | Toàn hệ thống | Farm của mình | Hồ được giao | Hồ/sự cố được giao |
| Cảnh báo | Xem/xử lý/giám sát toàn hệ thống | Xem/xử lý trong farm | Xử lý hồ được giao | Xử lý cảnh báo/ticket được giao |
| Điều khiển thiết bị | Toàn quyền | Trong farm nếu được bật quyền | Hồ được giao nếu được cấp quyền | Chủ yếu xem/cập nhật theo ticket, điều khiển nếu được cấp quyền |
| Thức ăn/nhật ký | Xem/toàn quyền theo cấu hình | Nhập/xem trong farm | Nhập/xem hồ được giao | Xem theo ticket/hồ được giao |
| Báo cáo/Excel | Toàn hệ thống | Farm của mình | Hồ được giao nếu được cấp | Ticket/hồ được giao nếu được cấp |
| Ticket | Xem, phân công, cấu hình SLA | Tạo/xem ticket farm mình | Tạo/xem ticket hồ được giao | Tiếp nhận, xử lý, đóng ticket được giao |
| Sổ tay | Quản trị nội dung | Đọc/yêu thích | Đọc/yêu thích | Đọc/yêu thích |
| Chatbot | Dùng và cấu hình policy | Dùng trong phạm vi farm | Dùng trong hồ được giao | Dùng theo hồ/ticket được giao |
| Cấu hình hệ thống | Toàn quyền | Cấu hình ngưỡng trong farm nếu được cấp | Không | Không hoặc cấu hình kỹ thuật nếu được cấp riêng |
6. Business rules
6.1 Quy tắc phân quyền và dữ liệu
| Mã rule | Nội dung |
|---|---|
| BR-01 | Mỗi user thuộc đúng một role chính; hệ thống không hỗ trợ role chồng lấp trong phạm vi hiện tại. |
| BR-02 | Mọi truy vấn dữ liệu phải được filter theo role và scope farm/pond/ticket được gán. |
| BR-03 | User không được xem, xuất Excel, nhận notification hoặc hỏi chatbot về dữ liệu ngoài phạm vi quyền. |
| BR-04 | Tài khoản bị vô hiệu hóa không được đăng nhập nhưng dữ liệu và audit log liên quan phải được giữ. |
6.2 Quy tắc cảnh báo ngưỡng nước
| Chỉ số | Ngưỡng mặc định tham chiếu | Hành động gợi ý |
|---|---|---|
| pH | 7.5 – 8.5 | Thấp: bón vôi/tăng tảo. Cao: thay nước/giảm tảo. |
| DO | > 4 mg/L | Thấp: bật quạt/oxy và giảm thức ăn. |
| Độ mặn | 5 – 30‰, biến động ≤ 5‰/ngày | Điều chỉnh nước nếu ngoài ngưỡng hoặc biến động nhanh. |
| Tảo/ORP | 90 – 300 mV | Thấp: bổ sung vi sinh/sục khí. Cao: giảm tảo. |
| Kiềm | 80 – 180 mg/L | Thấp: bổ sung khoáng. Cao: thay nước. |
| Nhiệt độ | 23 – 32°C | Thấp: gia nhiệt/che bạt. Cao: quạt/sục khí/thay nước. |
Các ngưỡng trên là giá trị mặc định từ BRD và cần được xác nhận trước production. Admin phải có khả năng cấu hình ngưỡng riêng theo hồ, loại tôm hoặc giai đoạn nuôi nếu nghiệp vụ yêu cầu.
6.3 Quy tắc điều khiển thiết bị
| Mã rule | Nội dung |
|---|---|
| BR-05 | Mọi lệnh điều khiển thiết bị phải được ghi log đầy đủ, bao gồm người yêu cầu, thời điểm, lệnh, trạng thái thực thi và phản hồi. |
| BR-06 | Nếu thiết bị không phản hồi trong X giây, hệ thống phải tạo cảnh báo lỗi thiết bị. |
| BR-07 | Auto mode không được ghi đè lệnh thủ công trong Y phút sau khi user thao tác. |
| BR-08 | Quyền bật/tắt thiết bị phải kiểm soát theo role, farm/pond scope và cấu hình riêng của hệ thống. |
6.4 Quy tắc ticket và escalation
| Mã rule | Nội dung |
|---|---|
| BR-09 | Ticket có trạng thái Mới, Đã tiếp nhận, Đang xử lý và Đã đóng. |
| BR-10 | Khi user tạo ticket báo hỏng, hệ thống phải gửi email cho KTV đội quản trị và cấp trên kỹ thuật được cấu hình. |
| BR-11 | Ticket quá SLA chưa đóng phải escalate lên Admin và cấp trên kỹ thuật. |
| BR-12 | Cảnh báo môi trường chưa tiếp nhận sau T1 phút và cảnh báo thiết bị chưa xử lý sau T2 phải được escalate theo cấu hình. |
6.5 Quy tắc AI và chatbot
| Mã rule | Nội dung |
|---|---|
| BR-13 | Chatbot chỉ được dùng bài viết sổ tay đã duyệt và dữ liệu hồ mà user có quyền xem. |
| BR-14 | Phân tích hình ảnh chỉ là đánh giá sơ bộ; chatbot không được kết luận bệnh dứt khoát nếu chưa có xác nhận kỹ thuật viên. |
| BR-15 | Câu trả lời chatbot phải thể hiện nguồn tham chiếu và/hoặc mức độ tin cậy khi có thể. |
| BR-16 | AI suggestion về thức ăn là khuyến nghị, không bắt buộc user phải áp dụng. |
| BR-17 | Khi độ chắc chắn thấp hoặc vấn đề nghiêm trọng, chatbot phải đề xuất liên hệ KTV hoặc tạo ticket. |
7. Yêu cầu tích hợp
| Mã | Tích hợp | Yêu cầu |
|---|---|---|
| INT-01 | Sensor data ingestion | Hệ thống phải nhận dữ liệu sensor theo cơ chế push hoặc pull. Cơ chế cụ thể là TBD. |
| INT-02 | Device control gateway | Hệ thống phải gửi lệnh bật/tắt/chuyển chế độ đến thiết bị và nhận phản hồi trạng thái. |
| INT-03 | Email service | Hệ thống phải gửi reset password, ticket, escalation và báo cáo tuần qua email. |
| INT-04 | Push notification | Mobile App phải nhận push notification cho cảnh báo, ticket và sự kiện quan trọng. |
| INT-05 | Object storage | Hệ thống phải lưu ảnh/video ticket, ảnh chatbot và file xuất báo cáo trong storage bảo mật. |
| INT-06 | AI/LLM service | Hệ thống phải tích hợp dịch vụ AI cho chatbot, phân tích ảnh và gợi ý theo giai đoạn. |
| INT-07 | Future channels | SMS/Zalo/cuộc gọi tự động là kênh mở rộng, không bắt buộc trong MVP. |
8. Yêu cầu AI riêng
Các tính năng AI cần được triển khai theo giai đoạn và phải có cơ chế kiểm soát an toàn, nguồn tham chiếu, logging và fallback sang kỹ thuật viên khi cần. Trong MVP sớm, hệ thống có thể bắt đầu bằng rule-based recommendation trước khi nâng cấp lên AI-based recommendation.
| Mã | Nhóm AI | Mô tả yêu cầu | Giai đoạn đề xuất |
|---|---|---|---|
| AI-01 | AI Chatbot văn bản | Hỏi đáp về vận hành hồ, chỉ số môi trường, thức ăn, cảnh báo, thiết bị và quy trình xử lý dựa trên sổ tay/dữ liệu hồ. | MVP 3 |
| AI-02 | AI phân tích hình ảnh | Cho phép gửi ảnh tôm, nước, sàng ăn, đáy hồ hoặc thiết bị để nhận đánh giá sơ bộ và gợi ý bước kiểm tra tiếp. | MVP 4 |
| AI-03 | AI gợi ý thức ăn | Đề xuất lượng thức ăn theo ngày/cữ và khung giờ tối ưu dựa trên dữ liệu hồ, tôm, môi trường và lịch sử. | MVP 4 |
| AI-04 | AI đánh giá tăng trưởng/năng suất | Phân tích lịch sử nuôi, thức ăn, môi trường và năng suất để đánh giá tôm phát triển tốt hay không. | MVP 4 |
| AI-05 | AI cảnh báo và khuyến nghị xử lý | Phát hiện bất thường và đề xuất xử lý theo từng hồ/tình huống; có thể bắt đầu bằng rule-based. | MVP 2–4 |
| AI-06 | AI tối ưu năng lượng | Phân tích thời gian chạy thiết bị và điều kiện môi trường để đề xuất lịch bật/tắt nhằm tiết kiệm điện. | MVP 3–4 |
9. Yêu cầu phi chức năng
| Mã yêu cầu | Nhóm | Yêu cầu | Tiêu chí đo lường |
|---|---|---|---|
| NFR-01 | Performance | Dashboard phải tải nhanh và phản hồi tốt trên Web/Mobile. | Dashboard load < 3 giây trong điều kiện dữ liệu bình thường. |
| NFR-02 | Performance | API lấy dữ liệu sensor phải phản hồi nhanh. | API sensor response < 1 giây trong điều kiện tải chuẩn. |
| NFR-03 | Performance | Xuất Excel phải hoàn tất trong thời gian chấp nhận được. | Xuất Excel < 30 giây cho 1 năm dữ liệu theo phạm vi một hồ/nông trại, hoặc xử lý background nếu dữ liệu lớn. |
| NFR-04 | Security | Hệ thống phải sử dụng HTTPS toàn bộ. | Không cho phép truy cập production qua HTTP không mã hóa. |
| NFR-05 | Security | Hệ thống phải kiểm soát RBAC nghiêm ngặt. | API và UI đều không lộ dữ liệu ngoài quyền. |
| NFR-06 | Security | Dữ liệu nhạy cảm phải được mã hóa hoặc bảo vệ phù hợp. | Mật khẩu hash an toàn; token/session được bảo vệ; file upload có access control. |
| NFR-07 | Availability | Hệ thống phải có độ sẵn sàng phù hợp vận hành. | Uptime mục tiêu ≥ 99.5%. |
| NFR-08 | Reliability | Module cảnh báo phải tiếp tục hoạt động ngay cả khi module báo cáo hoặc AI chậm. | Alert pipeline ưu tiên cao và không phụ thuộc đồng bộ vào AI/reporting. |
| NFR-09 | Notification | Thông báo phải gửi đúng thời gian mục tiêu. | Push/in-app < 30 giây; email < 5 phút. |
| NFR-10 | Scalability | Hệ thống phải hỗ trợ multi-tenant nhiều nông trại và chủ hộ. | Dữ liệu tenant được cô lập theo farm/owner/scope. |
| NFR-11 | Offline | Mobile App phải hỗ trợ offline/low connectivity cơ bản. | Xem dữ liệu cache và nhập liệu chờ sync khi mất internet. |
| NFR-12 | Usability | Mobile App phải tối ưu thao tác hiện trường. | Giao diện nhập liệu nhanh, nút lớn, dễ dùng ngoài trời và thao tác một tay. |
| NFR-13 | Auditability | Hành động quan trọng phải có audit log. | Đăng nhập, phân quyền, điều khiển thiết bị, sửa dữ liệu đã chốt, cấu hình rule/ngưỡng đều có log. |
| NFR-14 | Data Retention | Hệ thống phải đáp ứng yêu cầu lưu trữ dữ liệu theo loại dữ liệu. | Tuân thủ bảng retention trong mục 4.2. |
10. Luồng nghiệp vụ chính
10.1 Global flow
Luồng tổng thể của hệ thống bắt đầu từ xác thực, tải quyền, chọn nông trại/hồ và thao tác tại các module liên quan. Nếu có cảnh báo hoặc ticket, hệ thống phải cho phép người dùng đi thẳng từ notification đến chi tiết đối tượng cần xử lý.
Login
→ Validate credentials/session
→ Load role + permission + farm/pond/ticket scope
→ Dashboard
→ Select Farm / Select Pond
→ Pond Detail
→ Monitor water metrics / device status / farming logs
→ If normal: continue monitoring and daily logging
→ If warning/alert: open alert detail → acknowledge → take action → close
→ If device issue: create or open ticket → assign → process → close
→ If user needs help: open handbook or chatbot → ask/question/upload image → receive recommendation → create ticket if needed
10.2 Alert handling flow
Sensor/device/user event occurs
→ System evaluates rule/threshold
→ Create alert if condition matches
→ Send notification/email to recipients
→ User opens alert detail
→ User acknowledges alert
→ User performs action: add note / control device / create ticket / consult handbook/chatbot
→ User updates status to in-progress or closed
→ System logs all actions
→ If timeout/SLA reached, system escalates
10.3 Ticket flow
User detects issue
→ Create ticket with pond/device/description/attachment
→ System sends email to KTV đội quản trị + cấp trên kỹ thuật
→ Admin or system assigns KTV đội quản trị
→ KTV accepts ticket
→ KTV reviews pond/device context
→ KTV updates progress
→ KTV resolves and closes ticket
→ System records SLA metrics and sends status notification
10.4 Chatbot flow
User opens chatbot
→ Selects pond context, if applicable
→ Enters question or uploads image
→ System validates permission
→ Chatbot retrieves approved handbook content and permitted pond data
→ Chatbot responds with recommendation, confidence and references
→ If confidence low or risk high: suggest contacting KTV or creating ticket
→ User rates response or creates ticket
→ Conversation is stored according to data retention policy
11. MVP scope mapping
| Giai đoạn | Phạm vi SRS |
|---|---|
| MVP 1 | Authentication, role/farm/pond, dashboard 6 chỉ số, dữ liệu sensor 20 phút/lần, cảnh báo môi trường cơ bản, điều khiển thiết bị bật/tắt, lịch sử thiết bị, báo hỏng và gửi email kỹ thuật. |
| MVP 2 | Nhập liệu thức ăn, pH sáng/chiều, kiềm, khoáng, siphon; báo cáo ngày/tuần/vụ; xuất Excel; phân công KTV; sổ tay chăn nuôi cơ bản. |
| MVP 3 | Tối ưu năng lượng bằng rule tự động theo DO/lịch trình, phân tích thời gian chạy thiết bị, chatbot văn bản dựa trên sổ tay và dữ liệu hồ. |
| MVP 4 | AI gợi ý thức ăn, dự đoán giờ cho ăn, đánh giá tăng trưởng, phân tích PCR/FCR/năng suất, chatbot hình ảnh. |
| Future Phase | SMS/Zalo/cuộc gọi tự động, SSO/OAuth, tích hợp ERP/chuỗi cung ứng, truy xuất nguồn gốc nâng cao, camera AI realtime. |
12. Acceptance criteria tổng quan
| Mã | Tiêu chí nghiệm thu |
|---|---|
| AC-01 | Người dùng thuộc 4 role có thể đăng nhập trên Website và Mobile App, nhưng chỉ nhìn thấy dữ liệu và hành động theo quyền. |
| AC-02 | Admin có thể tạo farm, pond, crop, user, gán KTV, gán sensor/device và cấu hình ngưỡng cảnh báo. |
| AC-03 | Dashboard hồ hiển thị 6 chỉ số nước, trạng thái màu, thời điểm đo, sensor status và biểu đồ lịch sử. |
| AC-04 | Hệ thống tự tạo cảnh báo khi chỉ số vượt ngưỡng hoặc thiết bị/sensor lỗi, đồng thời gửi notification đúng người nhận. |
| AC-05 | User có quyền có thể bật/tắt thiết bị và hệ thống ghi command log đầy đủ. |
| AC-06 | KTV tại hồ hoặc Chủ hộ có thể nhập thức ăn, môi trường thủ công, khoáng chất, siphon và năng suất trong phạm vi hồ được phép. |
| AC-07 | Báo cáo có thể lọc theo farm, pond, thời gian và xuất Excel không chứa dữ liệu vượt quyền. |
| AC-08 | User có thể tạo ticket báo hỏng kèm ảnh/video; ticket gửi email cho KTV đội quản trị và cấp trên kỹ thuật theo cấu hình. |
| AC-09 | Sổ tay chỉ hiển thị bài đã duyệt và Admin có thể quản lý phiên bản nội dung. |
| AC-10 | Chatbot chỉ trả lời dựa trên dữ liệu hồ user có quyền và nội dung sổ tay đã duyệt; với ảnh, chatbot chỉ đưa phân tích sơ bộ. |
| AC-11 | Mobile App hỗ trợ notification, nhập liệu nhanh, điều khiển thiết bị và offline cache/sync cơ bản theo phạm vi MVP. |
| AC-12 | Các hành động quan trọng như phân quyền, điều khiển thiết bị, đóng vụ nuôi, thay đổi ngưỡng và đóng ticket đều có audit log. |
13. Assumptions, dependencies và constraints
| Nhóm | Nội dung |
|---|---|
| Assumption | Website và Mobile App đều hỗ trợ cả 4 role; khác biệt nằm ở scope dữ liệu, menu hiển thị và hành động được cấp quyền. |
| Assumption | 6 chỉ số nước mặc định gồm pH, DO, độ mặn, tảo/ORP, kiềm và nhiệt độ. Tên hiển thị chính xác của tảo/ORP cần xác nhận. |
| Assumption | Dữ liệu sensor cập nhật khoảng 20 phút/lần trong MVP, realtime là khả năng mở rộng nếu thiết bị hỗ trợ. |
| Dependency | Hệ thống phụ thuộc vào thiết bị sensor/device gateway để nhận dữ liệu và điều khiển thiết bị. |
| Dependency | Chatbot và AI image analysis phụ thuộc vào nguồn tri thức sổ tay đã duyệt và dịch vụ AI được lựa chọn. |
| Constraint | Điều khiển thiết bị IoT là nghiệp vụ có rủi ro cao; mọi lệnh phải có log, quyền rõ ràng và xử lý lỗi an toàn. |
| Constraint | Các khuyến nghị AI chỉ hỗ trợ ra quyết định, không thay thế hoàn toàn chuyên gia kỹ thuật hoặc người vận hành. |
14. Open questions / Need clarification
| # | Chủ đề | Câu hỏi cần xác nhận trước triển khai chi tiết |
|---|---|---|
| OQ-01 | PCR/FCR | PCR là chỉ số gì, công thức tính ra sao, có phải đang nói đến FCR không? |
| OQ-02 | Tảo/ORP | Chỉ số “Tảo” trong UI nên hiển thị là Tảo, ORP hay tên chỉ số khác? Đơn vị mV có đúng không? |
| OQ-03 | Ngưỡng cảnh báo | Có dùng ngưỡng mặc định cho tất cả hồ không, hay cấu hình theo farm/loại tôm/giai đoạn nuôi? |
| OQ-04 | Điều khiển tự động | Hệ thống được phép tự bật/tắt thiết bị hay chỉ đưa khuyến nghị chờ user xác nhận? Ai được bật auto mode? |
| OQ-05 | Thiết bị tối đa/hồ | Mỗi hồ có tối đa bao nhiêu thiết bị và sensor? Thiết bị có dùng chung nhiều hồ không? |
| OQ-06 | Dữ liệu sensor | Thiết bị push dữ liệu lên server hay backend pull dữ liệu? Có cần realtime không? |
| OQ-07 | Cấp trên kỹ thuật | “Cấp trên kỹ thuật” nhận email là role nào, cá nhân nào hay cấu hình theo từng tổ chức? |
| OQ-08 | Năng suất | Năng suất nhập hằng ngày theo ước tính hay chỉ nhập khi thu hoạch/kiểm tra mẫu? |
| OQ-09 | Siphon | Đơn vị đo siphon là kg, m3, lần hay đơn vị khác? Có cần ảnh/video minh chứng không? |
| OQ-10 | Khoáng chất | Danh mục khoáng chất cố định hay cho phép Admin/user thêm loại mới? |
| OQ-11 | Sổ tay | Ai biên soạn, ai duyệt nội dung sổ tay? Có cần phân biệt theo loại tôm, vùng nuôi, mô hình nuôi không? |
| OQ-12 | Chatbot ảnh | Chatbot được phân tích những loại ảnh nào và được khuyến nghị đến mức nào trước khi chuyển KTV? |
| OQ-13 | Dữ liệu chatbot | Lịch sử hội thoại và ảnh lưu trong bao lâu? User có quyền xóa/ẩn lịch sử không? |
| OQ-14 | Permission matrix | Ai là người xác nhận ma trận quyền chi tiết theo từng màn hình, hành động, API và nền tảng? |
| OQ-15 | Offline sync | Khi nhiều user nhập offline cùng bản ghi, hệ thống xử lý conflict theo quy tắc nào? |
| OQ-16 | Export dữ liệu lớn | Với báo cáo trên nhiều farm/nhiều năm, hệ thống xử lý synchronous hay background job? |
15. Traceability matrix BRD → SRS
| BRD module | SRS section chính | Ghi chú |
|---|---|---|
| Authentication & User Management | 3.1, 5, 6.1 | Đã chuyển thành FR-01 và RBAC. |
| Farm / Pond Management | 3.2, 4 | Đã chuyển thành FR-02 và core entities Farm/Pond/Crop. |
| Water Monitoring Dashboard | 3.3, 6.2 | Đã chuyển thành FR-03, threshold rule và sensor data. |
| Alert Management | 3.4, 6.4, 10.2 | Đã chuyển thành alert workflow, escalation và notification. |
| IoT Device Control | 3.5, 6.3, 7 | Đã chuyển thành device control, command log và integration. |
| Feeding Management & AI Suggestion | 3.6, 8 | Đã chuyển thành feeding record, AI suggestion và PCR/FCR TBD. |
| Productivity & Farming Logs | 3.7, 4 | Đã chuyển thành logs cho môi trường, khoáng, siphon và năng suất. |
| Reports & Excel Export | 3.8, 11 | Đã chuyển thành report/export requirements và MVP mapping. |
| Incident / Ticket Management | 3.9, 10.3 | Đã chuyển thành ticket workflow, SLA và email. |
| Farming Handbook | 3.10, 8 | Đã chuyển thành content workflow và nguồn chatbot. |
| AI Chatbot | 3.11, 8, 10.4 | Đã chuyển thành chatbot text/image, context, confidence và ticket handoff. |
| Notification System | 3.12, 7 | Đã chuyển thành in-app, push, email và cấu hình kênh. |
| System Configuration | 3.13, 6 | Đã chuyển thành cấu hình ngưỡng, SLA, danh mục, rule, chatbot policy. |
| NFR | 9 | Đã chuẩn hóa thành NFR-01 đến NFR-14. |
| MVP Scope | 11 | Đã giữ cấu trúc MVP 1–4 và Future Phase. |
| Open Questions | 14 | Đã giữ và mở rộng các câu hỏi cần xác nhận. |
16. Phụ lục – Danh sách màn hình gợi ý
Danh sách màn hình dưới đây hỗ trợ UI/UX và estimation, không phải đặc tả giao diện chi tiết. Mỗi màn hình cần được kiểm soát theo permission và có thể có phiên bản Web/Mobile khác nhau về bố cục.
| Nhóm màn hình | Màn hình chính |
|---|---|
| Authentication | Login, Forgot Password, Reset Password, Profile, Session Management. |
| Dashboard | System Dashboard, Farm Dashboard, Pond Dashboard, Water Metric Detail. |
| Farm/Pond | Farm List, Farm Detail, Pond List, Pond Detail, Crop Detail, Assignment Management. |
| Alert | Alert List, Alert Detail, Alert Handling Timeline. |
| Device | Device List, Device Detail, Device Control, Auto Rule Configuration, Command History. |
| Feeding | Feeding Entry, Feeding History, AI Suggestion, Feeding vs Environment Chart. |
| Logs | Manual Environment Entry, Mineral Entry, Siphon Entry, Productivity Entry, Daily Log Summary. |
| Reports | Report Center, Report Detail, Export Excel, Scheduled Report Configuration. |
| Ticket | Ticket List, Create Ticket, Ticket Detail, SLA Dashboard. |
| Handbook | Article Library, Article Detail, Favorite Articles, Article Admin, Article Approval. |
| Chatbot | Chat Conversation, Image Upload, Conversation History, Create Ticket from Chat. |
| Notification | Notification Center, Notification Detail, Notification Preferences. |
| Settings | Threshold Settings, Catalog Settings, SLA Settings, Email Template, Chatbot Policy, Service Plan. |
17. Kết luận
Tài liệu SRS này đã chuyển đổi BRD Smart Shrimp Farming thành bộ yêu cầu phần mềm có cấu trúc, có mã định danh và có traceability theo module. Trước khi chuyển sang PRD chi tiết, UI wireframe, API specification và technical design, nhóm dự án cần xác nhận các mục Open Questions, đặc biệt là công thức PCR/FCR, định nghĩa Tảo/ORP, phạm vi điều khiển tự động, nguồn dữ liệu sensor, ma trận quyền chi tiết và chính sách dữ liệu chatbot.
Sau khi các điểm TBD được xác nhận, tài liệu này có thể được cập nhật thành SRS v1.1 và dùng làm baseline cho backlog, estimation, test planning và phát triển hệ thống.