Objects (Đối tượng CRM)
I. Tổng quan
Đây là tài liệu gốc để định nghĩa, xác định phạm vi và nêu nguyên tắc chung cho nhóm CRM objects.
1. Định nghĩa
- Trong CRM có nhiều đối tượng nghiệp vụ ngang hàng như
Contact,Enterprise,Deal,Ticket,Order,Meeting,Task,Product. - Trong phạm vi CRM hiện tại, không có khái niệm hoặc object
Lead. - Các đối tượng này khác nhau về mục đích nghiệp vụ nhưng có chung một số nguyên tắc quản lý dữ liệu, liên kết và vận hành.
- Nếu không có một tài liệu gốc để định nghĩa và chốt phạm vi dùng chung, các tài liệu chi tiết dễ bị lặp lại nội dung, dùng thuật ngữ không thống nhất hoặc gán nhầm một tính năng cho tất cả object.
- Vì vậy cần một tài liệu gốc để định nghĩa khái niệm
objects, xác định object nào thuộc nhóm này và nêu rõ những gì là nguyên tắc chung, những gì phải đặc tả ở tài liệu riêng.
2. Giải pháp
- File này chỉ đóng vai trò tài liệu gốc cho nhóm CRM
objects, bao gồm:- Định nghĩa nhóm object.
- Danh sách object ngang hàng trong phạm vi CRM.
- Nguyên tắc chung áp dụng ở mức khái niệm.
- Ranh giới giữa nội dung dùng chung và nội dung phải đặc tả riêng.
- File này không dùng để đặc tả chi tiết use case, UI flow, API behavior hay test scenario cho mọi object.
- Các hành vi chi tiết của từng object hoặc từng capability dùng chung phải được tách sang tài liệu con tương ứng.
3. Đối tượng
- BA, PO, Dev, QA, Designer, quản trị viên sản phẩm và các bên cần hiểu mô hình chung của CRM objects trước khi đi vào tài liệu chi tiết.
- Với người dùng CRM cuối, tên gọi vai trò và quyền hạn có thể được cấu hình theo từng hệ thống/doanh nghiệp; hệ thống không mặc định cố định các role như
Nhân viên,Quản lý.
4. Tầm nhìn/insight (Các vấn đề sẽ làm trong tương lai)
- Chuẩn hóa cách hiểu về
objectsđể các tài liệu con có cùng ngôn ngữ, cùng ranh giới và không lặp lại phần định nghĩa chung. - Tạo nền tảng để bổ sung object mới hoặc capability mới mà vẫn giữ cấu trúc tài liệu nhất quán.
II. Yêu cầu chức năng
1. Danh sách tính năng
- Phạm vi của file này:
- Định nghĩa
objectstrong CRM. - Xác định danh sách object ngang hàng trong phạm vi tài liệu.
- Nêu các nguyên tắc dùng chung ở mức khái niệm.
- Chỉ ra các capability thường liên quan đến object nhưng không đặc tả hành vi chi tiết.
- Xác định nội dung nào phải được viết ở tài liệu riêng.
- Không lập danh sách capability đặc thù cho từng object trong file này; các điểm đặc biệt của từng object sẽ được mô tả ở file riêng của object đó.
- Định nghĩa
- Điều hướng tài liệu hiện tại:
- Mục này chỉ dùng để chỉ đường theo các file đang có trong repo.
- Đây không phải cam kết rằng tất cả file bên dưới đã hoàn thiện hoặc đã là nguồn cuối cùng của từng chủ đề.
- Khi một chủ đề có nhiều file liên quan, file chi tiết của object hoặc module vẫn là nơi cần đọc để chốt rule cuối cùng.
| Chủ đề | File tham chiếu hiện tại | Ghi chú |
|---|---|---|
| Định nghĩa chung, phạm vi, nguyên tắc chung | objects.md | File gốc của nhóm CRM objects. |
| Quan hệ liên kết giữa các object | association.md | Nên là nơi mô tả relation, field liên kết, filter xuyên object. |
| Danh sách object / list view dùng chung | list_object.md | Nơi phù hợp để mô tả list, filter, sort, cột hiển thị nếu dùng chung nhiều object. |
| Calendar view | calendar.md | Hiện đang mô tả lịch làm việc cho Meeting và Task. |
| Contact | contact.md | Mô tả đặc thù của object Contact. |
| Enterprise | enterprise.md | Mô tả đặc thù của object Enterprise. |
| Deal | deal.md | Mô tả đặc thù của object Deal. |
| Ticket | ticket.md | Mô tả đặc thù của object Ticket. |
| Order | order.md | Mô tả đặc thù của object Order. |
| Meeting | meeting.md | Mô tả đặc thù của object Meeting. |
| Task | task.md | Mô tả đặc thù của object Task. |
| Product | product_crm.md | File hiện tại đang đặt tên product_crm.md; cần giữ thống nhất cách gọi với object Product. |
| Activity liên quan đến object | call.md, task.md | Là các tài liệu activity trong folder activities, không thay thế tài liệu object. |
| Tổng quan folder / nhóm CRM sales | README.md, crm_sales.md | Hiện có file nhưng phạm vi sử dụng nên được xác nhận thêm khi hoàn thiện tài liệu. |
- Danh sách object ngang hàng:
| Object | Ý nghĩa |
|---|---|
Contact |
Lưu trữ thông tin cá nhân hoặc đầu mối liên hệ. |
Enterprise |
Lưu trữ thông tin công ty, tổ chức hoặc khách hàng doanh nghiệp. |
Deal |
Quản lý cơ hội bán hàng hoặc giao dịch đang theo dõi. |
Ticket |
Ghi nhận yêu cầu hỗ trợ, chăm sóc hoặc xử lý sự vụ. |
Order |
Quản lý đơn hàng phát sinh trong quá trình bán hàng hoặc chăm sóc khách hàng. |
Meeting |
Ghi nhận lịch hẹn, buổi làm việc hoặc trao đổi với khách hàng. |
Task |
Quản lý công việc, đầu việc và nhắc việc nội bộ. |
Product |
Quản lý danh mục sản phẩm hoặc dịch vụ. |
- Các capability thường liên quan đến object:
| Capability | Ý nghĩa ở mức chung | Ghi chú phạm vi |
|---|---|---|
List |
Quản lý tập bản ghi theo danh sách. | Chi tiết hành vi nằm ở tài liệu riêng. |
Detail |
Xem và thao tác trên một bản ghi cụ thể. | Chi tiết hành vi nằm ở tài liệu riêng. |
View |
Tập cấu hình hiển thị dữ liệu như cột, bộ lọc, sắp xếp, kiểu trình bày. | Không mặc định áp dụng giống nhau cho mọi object; trong tương lai có thể mở rộng thêm kiểu trình bày như Calendar. |
Custom Field |
Mở rộng tập trường dữ liệu ngoài trường chuẩn. | Phạm vi áp dụng xác nhận ở tài liệu con. |
Association |
Mô hình liên kết dữ liệu giữa các object, dùng để thiết lập quan hệ giữa các bản ghi thuộc các object khác nhau. | Association là relation model, không phải field type; quan hệ hợp lệ và cách áp dụng phải mô tả riêng. |
Activity History |
Truy vết thao tác hoặc biến động dữ liệu. | Không dùng file này để chốt mức chi tiết của log. |
Permission |
Kiểm soát quyền truy cập và thao tác dữ liệu. | Tên role và phạm vi quyền có thể được cấu hình theo từng hệ thống; rule cụ thể mô tả ở tài liệu riêng. |
Workflow |
Khả năng tham gia vào các rule tự động hóa. | Không mặc định mọi object đều có cùng vai trò trigger/action. |
Export/Import |
Xử lý dữ liệu ra/vào hệ thống. | Cần xác định riêng theo từng object hoặc từng module. |
- Tham chiếu sơ đồ association hiện tại:
- Nguồn: https://drive.google.com/file/d/1Ro8SijyjJsfV4N9OfdlD0n0-f-cVQopt/view
- Lưu ý khi đọc tài liệu nguồn:
Công tytrong sơ đồ tương ứng vớiEnterprise.Conversation/Đa kênhlà bản ghi thuộc module chat được liên kết với CRM objects, không phải CRM object ngang hàng trong file này.- Sơ đồ nguồn hiện chưa mô tả
Meeting,Task,Product.
- Sơ đồ minh họa association hiện tại:
- Các quan hệ chính theo tài liệu nguồn:
| Nhóm quan hệ | Quan hệ |
|---|---|
Contact - Enterprise |
n-n |
Contact - Order |
1-n |
Contact - Deal |
1-n |
Contact - Ticket |
1-n |
Contact - Conversation/Đa kênh |
1-n |
Enterprise - Order |
1-n |
Enterprise - Deal |
1-n |
Enterprise - Ticket |
1-n |
Enterprise - Conversation/Đa kênh |
1-n |
Order - Deal |
n-n |
Order - Ticket |
n-n |
Order - Conversation/Đa kênh |
n-n |
Deal - Ticket |
n-n |
Deal - Conversation/Đa kênh |
n-n |
Ticket - Conversation/Đa kênh |
n-n |
2. Đặc tả chi tiết
- File này không đặc tả use case chi tiết cho từng object hoặc từng capability.
- File này không lập feature matrix chi tiết cho từng object; các capability đặc thù của từng object sẽ được mô tả trong file riêng của object đó.
- Các nội dung sau phải được mô tả ở tài liệu con tương ứng:
- Luồng danh sách và chi tiết của từng object.
- Tạo mới, chỉnh sửa, xóa, lưu trữ, import, export.
- Quy tắc view, filter, sort, column, kanban, grid hoặc kiểu trình bày khác.
- Quy tắc custom field, permission, association, activity history, workflow.
- Quy tắc filter xuyên object thông qua association.
- Hành vi riêng của từng object như trạng thái, pipeline, SLA,
owner (account_manager), relation hợp lệ.
- Nguyên tắc dùng chung khi viết tài liệu con:
- Chỉ kế thừa các nguyên tắc chung đã được chốt trong file này.
- Không mặc định mọi capability đều áp dụng giống nhau cho mọi object.
- Mọi điểm đặc thù phải được ghi rõ ở tài liệu của object hoặc module liên quan.
3. Danh sách nghiệp vụ
- Ý nghĩa nghiệp vụ độc lập: Mỗi object là một thực thể nghiệp vụ riêng, không thay thế cho object khác dù có thể liên quan chặt chẽ với nhau.
- Quản lý theo bản ghi và trường dữ liệu: Mỗi object được quản lý theo tập bản ghi; mỗi bản ghi gồm các trường dữ liệu phục vụ lưu trữ, hiển thị và xử lý nghiệp vụ.
- Tập trường dữ liệu: Mỗi object cần có tập trường dữ liệu chuẩn. Việc có hỗ trợ trường tùy chỉnh hay không sẽ được xác nhận theo phạm vi của object hoặc module liên quan.
- Liên kết giữa các object:
Associationlà mô hình liên kết dữ liệu giữa các object. Quan hệ giữa các object phải được định nghĩa rõ ở tài liệu riêng; không mặc định mọi object liên kết được với mọi object khác. - Hiển thị association: Theo tài liệu nguồn hiện tại, giao diện association có thể phân biệt giữa
liên kết trực tiếpvàgợi ý liên kếtthông qua object trung gian. - Trường liên kết: Tài liệu nguồn hiện có một số ví dụ field liên kết như
Liên hệ chính,Liên hệ,Công ty,Order. Tên field và kiểu chọnmột/nhiềucần được chốt ở tài liệu chi tiết của từng object hoặc từng module. - Filter xuyên object: Hệ thống cần được thiết kế để có thể hỗ trợ lọc dữ liệu của một object dựa trên điều kiện của object liên kết thông qua association. Phạm vi filter cross-object cụ thể phải được xác nhận ở tài liệu chi tiết của từng object hoặc từng module.
- Trường tính toán theo association: Tài liệu nguồn cũng thể hiện hướng dùng association trực tiếp làm đầu vào cho một số trường tính toán tự động như doanh thu, doanh thu dự kiến, số lượng order, số lượng ticket. Công thức cụ thể phải được đặc tả ở tài liệu của từng object.
- Khả năng dùng chung không mặc định: Các capability như
view,workflow,activity history,export,owner (account_manager),custom fieldcó thể là capability dùng chung của hệ thống CRM, nhưng chỉ được xem là áp dụng cho một object khi đã được xác nhận ở tài liệu chi tiết. - Nguyên tắc mở rộng: Khi bổ sung object mới, cần định nghĩa tối thiểu:
- Mục đích nghiệp vụ.
- Tập trường dữ liệu cốt lõi.
- Quan hệ với các object khác.
- Quyền truy cập và phạm vi thao tác.
- Các capability được hỗ trợ.
- Thuật ngữ nhất quán: Các thuật ngữ như
object,record,field,association,owner (account_manager),status,viewcần được dùng nhất quán giữa các tài liệu.
Giải thích thuật ngữ dùng chung
| Thuật ngữ | Giải thích |
|---|---|
Object |
Đối tượng nghiệp vụ trong CRM, ví dụ Contact, Enterprise, Deal, Ticket, Order, Meeting, Task, Product. |
Record |
Một bản ghi cụ thể thuộc một object. |
Field |
Trường dữ liệu của một record. |
System Field |
Trường dữ liệu chuẩn do hệ thống định nghĩa sẵn cho object. |
Custom Field |
Trường dữ liệu được bổ sung thêm để phù hợp với nhu cầu của từng doanh nghiệp hoặc từng module. |
Association |
Mô hình liên kết dữ liệu giữa các record của các object khác nhau. Đây là relation model, không phải field type. |
Liên kết trực tiếp |
Liên kết được tạo trực tiếp giữa hai record thông qua association. |
Gợi ý liên kết |
Liên kết được hệ thống gợi ý dựa trên object trung gian hoặc dữ liệu liên quan, chưa đồng nghĩa với liên kết trực tiếp đã được xác nhận. |
Owner |
Nhân viên phụ trách chính của record. Trong CRM hiện tại, owner được hiểu là account_manager. |
Account Manager |
Nhân viên phụ trách một record hoặc một khách hàng. Đây là cách gọi nghiệp vụ hiện tại tương ứng với owner. |
Status |
Trạng thái nghiệp vụ hiện tại của record. Tập trạng thái cụ thể do từng object quy định. |
View |
Cấu hình hiển thị dữ liệu, bao gồm kiểu trình bày, cột hiển thị, bộ lọc và sắp xếp. |
Filter |
Điều kiện lọc dữ liệu trong danh sách hoặc trong view. |
Cross-object Filter |
Bộ lọc cho phép lọc record của một object dựa trên điều kiện nằm ở object liên kết thông qua association. |
Sort |
Quy tắc sắp xếp dữ liệu theo một hoặc nhiều trường. |
List |
Màn hình hoặc ngữ cảnh hiển thị tập record của một object. |
Detail |
Màn hình hoặc ngữ cảnh hiển thị chi tiết một record. |
Activity History |
Lịch sử thao tác hoặc biến động dữ liệu của record theo thời gian. |
Permission |
Tập quy tắc xác định người dùng nào được xem hoặc thao tác gì trên dữ liệu. |
Workflow |
Rule hoặc luồng tự động hóa có sử dụng object làm điều kiện, trigger hoặc action. |
4. Giao diện
- File này không chốt giao diện chi tiết.
- Nếu cần thiết kế UI, các màn hình hoặc component cụ thể phải được mô tả ở tài liệu con và file thiết kế tương ứng.
- Ở mức nguyên tắc chung, UI của các object nên:
- Giữ cách gọi tên và cấu trúc thao tác nhất quán trong CRM.
- Ưu tiên tái sử dụng pattern chung khi nhiều object có hành vi tương tự.
- Chỉ khác biệt khi có yêu cầu nghiệp vụ riêng.
III. Yêu cầu phi chức năng
- Tính nhất quán: Các object cần tuân theo nguyên tắc hiển thị và thao tác dùng chung của CRM, giúp người dùng dễ học và dễ chuyển đổi giữa các object. Những điểm khác biệt chỉ nên xuất hiện khi có yêu cầu nghiệp vụ riêng của từng object.
- Hiệu suất: Các màn hình danh sách, chi tiết, tìm kiếm, lọc và thao tác cập nhật dữ liệu cần có thời gian phản hồi phù hợp để không làm gián đoạn quá trình làm việc của người dùng. Chỉ số đo cụ thể sẽ được xác định tại tài liệu chi tiết hoặc giai đoạn thiết kế kỹ thuật của từng module.
- Bảo mật và phân quyền: Dữ liệu object phải được kiểm soát truy cập theo vai trò, phạm vi dữ liệu và các quy tắc phân quyền của hệ thống. Người dùng không được nhìn thấy hoặc thao tác trên dữ liệu, trường dữ liệu hoặc hành động vượt quá thẩm quyền được cấp.
- Toàn vẹn và truy vết dữ liệu: Các thay đổi quan trọng trên object cần được kiểm soát hợp lệ, hạn chế mất mát dữ liệu và có khả năng truy vết lịch sử thao tác khi cần kiểm tra hoặc đối soát.
- Khả năng mở rộng: Hệ thống cần hỗ trợ việc bổ sung object mới, trường dữ liệu mới và các quy tắc nghiệp vụ mới mà không làm phá vỡ nguyên tắc dùng chung của nhóm CRM objects. Cách triển khai kỹ thuật cụ thể sẽ được xác định ở tài liệu thiết kế tương ứng.
- Độ tin cậy khi vận hành: Các chức năng xử lý dữ liệu khối lượng lớn như import, export, đồng bộ hoặc automation cần được thiết kế theo cách đảm bảo an toàn hệ thống và giảm ảnh hưởng đến trải nghiệm sử dụng thông thường.
IV. Dependency (Liên quan & phụ thuộc)
- Ở mức tài liệu,
objects.mdcó liên quan đến các nhóm tài liệu hoặc module dùng chung sau:List/ViewDetailCustom FieldAssociationActivity HistoryPermissionWorkflowImport/Export
- Phụ thuộc kỹ thuật hoặc phụ thuộc triển khai cụ thể của từng object phải được mô tả ở tài liệu con hoặc tài liệu thiết kế kỹ thuật tương ứng.
V. API Contract (Dev viết)
- File này không định nghĩa API contract chi tiết.
- API của từng object hoặc từng capability dùng chung cần được mô tả ở tài liệu kỹ thuật hoặc tài liệu API riêng.
- Nếu có pattern API dùng chung cho nhiều object, nên tách thành một tài liệu riêng để tránh lặp lại ở từng object.
VI. Test case (BA hoặc Tester viết)
- Tiêu chí nghiệm thu cho chính file tài liệu này:
- Xác định rõ
objects.mdlà tài liệu gốc về định nghĩa, phạm vi và nguyên tắc chung. - Liệt kê đúng danh sách object ngang hàng trong phạm vi CRM hiện tại.
- Phân biệt rõ nội dung nào thuộc file gốc và nội dung nào phải đặc tả ở tài liệu con.
- Không gán mặc định một capability cho mọi object nếu chưa có tài liệu xác nhận.
- Thuật ngữ được dùng nhất quán giữa file này và các tài liệu liên quan.
- Xác định rõ