Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu DANH MỤC CÁC CHỮ VIẾT TẮT 1 CRM Customer relationship management Quản lý quan hệ khách hàng 2 POS Point of Sale Điểm
Trang 1TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU KHOA CÔNG NGHỆ KỸ THUẬT – NÔNG NGHIỆP CÔNG NGHỆ CAO
ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
Đề tài: Hệ thống quản lý quan hệ khách hàng (CRM)
Trình độ đào tạo : Đại học
Chuyên ngành : Lập trình ứng dụng di động và game
Giảng viên hướng dẫn : TS Phan Ngọc Hoàng
Mã số sinh viên: 18033941 Lớp: DH18LT
Bà Rịa – Vũng Tàu, Năm 2021
Trang 2Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
LỜI CẢM ƠN
Trước tiên, để hoàn thành chương trình học tại Trường Đại học Bà Rịa – Vũng Tàu trong thời gian 3,5 năm Mẹ Dân và Chị Hường và Em Huấn là những người quan trọng nhất trong cuộc đời con Con sẽ chẳng thể có ngày hôm nay nếu không có công lao sinh thành và dưỡng dục của Mẹ và Chị Gái Mẹ và Chị luôn là người truyền đam mê và cảm hứng trong cuộc sống Cảm ơn Mẹ Dân và Chị Hường đã luôn chèo lái con thuyền mơ ước và đồng hành cùng con Cảm ơn Mẹ và Chị vì tất cả
Trong suốt thời gian học tập và rèn luyện tại Trường Đại học Bà Rịa – Vũng Tàu cho đến nay đã được rất nhiều sự quan tâm, giúp đỡ của quý Thầy, Cô và bạn bè Với lòng biết ơn sâu sắc và chân thành nhất, xin gửi đến quý Thầy, Cô ở Khoa Công nghệ kỹ thuật - Nông nghiệp công nghệ cao, Trường Đại học Bà Rịa – Vũng Tàu, đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu trong suốt thời gian học tập tại trường
Và đặc biệt, trong học thời gian học tập tại trường, Khoa đã tổ chức nhiều chương trình học được tiếp cận với các môn học liên quan đến ngành CNTT rất hữu ích đối với sinh viên ngành CNTT cũng như tất cả các sinh viên thuộc khối Công nghệ kỹ thuật khác
Xin chân thành cảm ơn TS Phan Ngọc Hoàng, ThS Nguyễn Văn Trì, TS Bùi Thị Thu Trang, ThS Nguyễn Thị Hà, ThS Nguyễn Thị Minh Nương, ThS Nguyễn Thị Vĩnh Thanh
và các Thầy, Cô trong Bộ môn CNTT Trường Đại học Bà Rịa – Vũng Tàu đã tận tâm hướng dẫn qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về lập trình ứng dụng web
Chân thành cảm ơn bạn học Nguyễn Anh Tuấn một người giỏi và tài năng trong lớp DH18LT đã hỗ trợ lựa chọn modular trong quá trình thực hiện đề tài này
Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế, đề tài đồ án này không thể tránh được những thiếu sót Rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các quý Thầy , Cô để có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này
Xin chân thành cảm ơn!
Trang 3Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong đề tài là công trình nghiên cứu của bản thân mình Trong toàn bộ nội dung của đề tài, những điều được trình bày hoặc là của cá nhân tôi hoặc là những phần có sử dụng tài liệu tham khảo có trong đề tài đã được liệt kê và nêu rõ ra tại phần tài liệu tham khảo
Nếu như sai tôi xin chịu hoàn toàn trách nhiệm và chịu tất cả các kỷ luật của Khoa cũng như nhà trường đề ra
Vũng Tàu, ngày … tháng … năm ……
Sinh viên thực hiện
Bùi Văn Huân
Trang 4Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 5Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 6Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 13
1 Lý do chọn đề tài 13
2 Mục tiêu đề tài 13
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 14
1 Cấu trúc hệ thống 14
1.1 Hệ thống quản lý quan hệ khách hàng (CRM) là gì? 14
1.2 Cấu trúc hệ thống 14
2 Các công nghệ sử dụng 15
2.1 BackEnd 16
2.1.1 Ngôn ngữ Python 16
2.1.2 Flask Python 16
2.1.2.1 Thư viện sử dụng trong hệ thống BackEnd 17
2.2 Nền tảng đám mây Heroku 17
2.3 FrontEnd 17
2.3.1 Ngôn ngữ HTML 17
2.3.1.1 Thư viện sử dụng lập trình giao diện website 17
2.4 IDE (Môi trường phát triển tích hợp) Pycharm 18
CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 19
1 Khảo sát sơ bộ 19
2 Mô tả yêu cầu 19
3 Phân tích hệ thống quản lý quan hệ khách hàng 20
4 Xác định các Actor 20
5 Xác định các Use Case 20
5.1 Quản lý dự án 20
5.2 Quản lý khách hàng 21
5.3 Quản lý báo giá 22
5.4 Configuration (Thiết lập) 23
5.5 Sign-In (Đăng nhập vào hệ thống) 24
6 Đặc tả các Use Case 25
6.1 Mô tả quá trình đăng nhập 25
6.2 Mô tả quá trình quản lý 26
6.3 Mô tả quá trình dự án 27
7 Thiết kế hệ thống 30
7.1 Sơ đồ cơ sở dữ liệu 30
7.2 Chi tiết cơ sở dữ liệu 32
CHƯƠNG IV: XÂY DỰNG HỆ THỐNG WEBSITE 39
1 Giao diện chức năng trang chủ 39
1.1 Phần chào mừng 39
1.2 Phần giới thiệu các icon chức năng 39
1.3 Phần thông tin bảng giá 39
1.4 Phần thông tin liên hệ 40
Trang 7Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
1.5 Phần chân trang 40
2 Giao diện chức năng admin 41
2.1 Đăng nhập 41
2.1.1 Giao diện đăng nhập vào hệ thống 41
2.1.2 Đăng nhập sai tài khoản hoặc mật khẩu 41
2.1.3 Đăng nhập thành công 41
2.2 Tạo tài khoản 42
2.3 Trang quản trị 43
2.4 Quản lý thông tin khách hàng 43
2.4.1 Xem danh sách khách hàng 43
2.4.2 Xem thông tin chi tiết khách hàng 44
2.4.3 Tạo thông tin khách hàng 44
2.4.4 Chỉnh sửa thông tin khách hàng 45
2.4.5 Xóa thông tin khách hàng 46
2.5 Quản lý thông tin liên hệ 46
2.5.1 Xem danh sách liên hệ 46
2.5.2 Xem thông tin chi tiết liên hệ 46
2.5.3 Tạo thông tin liên hệ 47
2.5.4 Chỉnh sửa thông tin liên hệ 47
2.5.5 Xóa thông tin liên hệ 48
2.6 Quản lý dự án 48
2.6.1 Xem danh sách dự án 48
2.6.2 Xem thông tin chi tiết dự án 48
2.6.3 Tạo thông tin dự án 49
2.6.4 Chỉnh sửa thông tin dự án 49
2.6.5 Xóa thông tin dự án 50
2.7 Quản lý nhiệm vụ 50
2.7.1 Xem danh sách nhiệm vụ 50
2.7.2 Chỉnh sửa nhiệm vụ 50
2.7.3 Xóa nhiệm vụ 50
2.8 Quản lý công việc 50
2.8.1 Xem danh sách công việc 50
2.8.2 Xem thông tin chi tiết công việc 51
2.8.3 Tạo thông tin công việc 51
2.8.4 Chỉnh sửa thông tin công việc 52
2.8.5 Xóa thông tin công việc 52
2.9 Quản lý sản phẩm 52
2.9.1 Xem danh sách sản phẩm 52
2.9.2 Xem thông tin sản phẩm 53
2.9.2 Tạo thông tin sản phẩm 53
2.9.3 Chỉnh sửa thông tin sản phẩm 54
2.9.5 Xóa thông tin sản phẩm 54
2.10 Quản lý danh mục sản phẩm 55
2.10.1 Xem danh sách danh mục sản phẩm 55
Trang 8Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
2.10.2 Tạo danh mục sản phẩm 55
2.10.3 Chỉnh sửa danh mục sản phẩm 55
2.10.4 Xóa danh mục sản phẩm 55
2.11 Quản lý thương hiệu sản phẩm 55
2.11.1 Xem danh sách thương hiệu sản phẩm 55
2.11.2 Thêm mới thương hiệu sản phẩm 56
2.11.3 Chỉnh sửa thương hiệu sản phẩm 56
2.11.4 Xóa thương hiệu sản phẩm 56
2.12 Điểm bán hàng 56
2.12.1 Giao diện điểm bán hàng 56
2.12.2 Thêm sản phẩm vào giỏ hàng 57
2.12.3 Xóa sản phẩm khỏi giỏ hàng 57
2.12.4 Thanh toán đơn hàng sản phẩm 58
CHƯƠNG V: KẾT LUẬN 59
1 Kết quả đạt được 59
2 Hướng phát triển 59
TÀI LIỆU THAM KHẢO 61
PHỤ LỤC 62
1 Cấu trúc thư mục dự án 62
1.1 Chi tiết cấu trúc thư mục dự án 62
1.2 Blueprint 62
2 Code xử lý 63
2.1 Xem danh sách thông tin khách hàng 64
2.1.1 Client Model - Tạo các class để quản lý trong Client Controller 64
2.1.2 Client Controller – Định tuyến chức năng Client 66
2.1.3 Đăng ký Blueprint 70
2.1.4 Form thông tin khách hàng 70
2.1.5 Khởi tạo Blueprint 70
2.1.6 Khai báo các định tuyến được định nghĩa bên trong Blueprint 70
2.1.6.1 Main/ init .py 71
2.1.6.2 Src/ init .py 72
Trang 9Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
DANH MỤC BẢNG NỘI DUNG
Bảng 1: Quản lý User 33
Bảng 2: Quản lý Role 33
Bảng 3: Quản lý User Role 33
Bảng 4: Quản lý Tag 33
Bảng 5: Quản lý Project 33
Bảng 6: Quản lý Project Status 34
Bảng 7: Quản lý Project Tag 34
Bảng 8: Quản lý Task 34
Bảng 9: Quản lý Task Status 34
Bảng 10: Quản lý Task Tag 34
Bảng 11: Quản lý Task Tag 35
Bảng 12: Quản lý Task checklist-items 35
Bảng 13: Quản lý Task Checklist Status 35
Bảng 14: Quản lý Client 35
Bảng 15: Quản lý Client Status 36
Bảng 16: Quản lý chuỗi đơn hàng bằng Json 36
Bảng 17: Quản lý Client Order 36
Bảng 18: Quản lý Client Order History 36
Bảng 19: Quản lý Contact 37
Bảng 20: Quản lý Gender 37
Bảng 21: Quản lý Product 37
Bảng 22: Quản lý Product Brand 38
Bảng 23: Quản lý Product Category 38
Trang 10Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
DANH MỤC SƠ ĐỒ NỘI DUNG
Hình 1: Chức năng hệ thống - WCRM 14
Hình 2: Sơ đồ - Cơ cấu tổ chức tệp 15
Hình 3: Sơ đồ - Công nghệ áp dụng trong đề tài 16
Hình 4: Sơ đồ tổng quát - Các Usecase tác động trực tiếp vào hệ thống 20
Hình 5: Xác định các Use Case – Quản lý dự án 21
Hình 6: Xác định các Use Case – Quản lý khách hàng 22
Hình 7: Xác định các Use Case – Quản lý báo giá 23
Hình 8: Xác định các Use Case – Quản lý thiết lập 24
Hình 9: Xác định các Use Case – Quản lý thiết lập 24
Hình 10: Xác định các Use Case – Quản lý đăng nhập 25
Hình 11: Sơ đồ tuần tự - Quá trình đăng nhập thành công 26
Hình 12: Quá trình đăng nhập tài khoản hoặc mật khẩu sai 26
Hình 13: Sơ đồ tuần tự - Quá trình quản lý 27
Hình 14: Sơ đồ tuần tự - Xem danh sách dự án 27
Hình 15: Sơ đồ tuần tự - Thêm dự án 28
Hình 16: Sơ đồ tuần tự - Cập nhật thông tin dự án 29
Hình 17: Sơ đồ tuần tự - Xóa thông tin dự án 30
Hình 18: Sơ đồ cơ sở dữ liệu 31
Hình 19: Sơ đồ cơ sở dữ liệu 32
Hình 20: Phần menu, giới thiệu của trang chủ 39
Hình 21: Phần hiển thị các tính năng của hệ thống website 39
Hình 22: Bảng giá từng gói tính năng trong hệ thống website 40
Hình 23: Phần thông tin liên hệ tư vấn 40
Hình 24: Chân trang cung cấp thông tin liên quan 40
Hình 25: Trang đăng nhập vào hệ thống website 41
Hình 26: Thông báo đăng nhập sai tài khoản hoặc mật khẩu 41
Hình 27: Trang quản trị sau khi đăng nhập thành công 42
Hình 28: Trang đăng ký tài khoản dùng thử tính năng trên hệ thống website 42
Hình 29: Thông báo nếu một trong những thông tin đăng ký chưa đúng 42
Hình 30: Thanh menu top & chức năng 43
Hình 31: Thanh menu left & Chức năng 43
Hình 32: Quản lý thông tin khách hàng 43
Hình 33: Quản lý thông tin khách hàng - Thông tin chi tiết 44
Hình 34: Quản lý thông tin khách hàng - Thêm thông tin 44
Hình 35: Quản lý thông tin khách hàng - Thêm thông tin 45
Hình 36: Quản lý thông tin khách hàng - Sửa thông tin 45
Hình 37: Quản lý thông tin khách hàng - Sửa thông tin 46
Hình 38: Quản lý thông tin khách hàng - Thông tin liên hệ 46
Hình 39: Quản lý thông tin khách hàng – Chi tiết thông tin liên hệ 46
Hình 40: Quản lý thông tin khách hàng – Thêm thông tin liên hệ 47
Trang 11Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 41: : Quản lý thông tin khách hàng - Sửa thông tin liên hệ 47
Hình 42: Quản lý thông tin khách hàng - Sửa thông tin liên hệ 48
Hình 43: Quản lý thông tin dự án - Thông tin dự án 48
Hình 44: Quản lý thông tin dự án - Xem thông tin chi tiết dự án 49
Hình 45: Quản lý thông tin dự án - Thêm thông tin dự án 49
Hình 46: Quản lý thông tin dự án - Sửa thông tin dự án 49
Hình 47: Quản lý thông tin dự án - Sửa thông tin dự án 50
Hình 48: Quản lý thông tin khách hàng – Chi tiết thông tin việc cần làm trong task của dự án 50
Hình 49: Quản lý thông tin khách hàng – Sửa chi tiết thông tin việc cần làm trong task của dự án 50
Hình 50: Quản lý công việc – Danh sách công việc 51
Hình 51: Quản lý công việc – Xem thông tin chi tiết công việc 51
Hình 52: Quản lý công việc – Thêm công việc 51
Hình 53: Quản lý công việc – Thêm công việc 51
Hình 54: Quản lý công việc – Chỉnh sửa thông tin công việc 52
Hình 55: Quản lý công việc – Chỉnh sửa thông tin công việc 52
Hình 56: Quản lý sản phẩm – Danh sách sản phẩm 52
Hình 57: Quản lý sản phẩm – Danh sách sản phẩm 53
Hình 58: Quản lý sản phẩm – Chi tiết thông tin sản phẩm 53
Hình 59: Quản lý sản phẩm – Thêm mới sản phẩm 53
Hình 60: Quản lý sản phẩm – Thêm mới sản phẩm 54
Hình 61: Quản lý sản phẩm – Sửa thông tin sản phẩm 54
Hình 62: Quản lý sản phẩm – Sửa thông tin sản phẩm 54
Hình 63: Quản lý sản phẩm – Danh mục sản phẩm 55
Hình 64: Quản lý sản phẩm – Sửa danh mục sản phẩm 55
Hình 65: Quản lý sản phẩm – Thương hiệu sản phẩm 56
Hình 66: Quản lý sản phẩm – Sửa tên thương hiệu của sản phẩm 56
Hình 67: Điểm bán hàng – Bảng điều khiển của POS 57
Hình 68: Điểm bán hàng - Thêm sản phẩm vào giỏ hàng 57
Hình 69: Điểm bán hàng - Xóa sản phẩm khỏi giỏ hàng 58
Hình 70: Điểm bán hàng - Chọn khách hàng & Thanh toán đơn hàng 58
Hình 71: Phụ lục - Cấu trúc thư mục dự án 62
Trang 12Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
DANH MỤC CÁC CHỮ VIẾT TẮT
1 CRM Customer relationship management Quản lý quan hệ khách hàng
2 POS Point of Sale Điểm bán hàng
3 CNTT Information technology Công nghệ thông tin
4 HTML Hypertext Markup Language Ngôn ngữ Đánh dấu Siêu văn bản
5 WCRM Websiteveloper Customer relationship
management
Phát triển website quản lý quan hệ khách hàng
6 CSS Cascading Style Sheets Ngôn ngữ tạo phong cách cho trang web
7 FE FrontEnd Giao diện của một trang web
Trang 13Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
1 Lý do chọn đề tài
Với sự phát triển mạnh mẽ và lợi ích mà Công nghệ thông tin (CNTT) mang lại, ngày nay ở hầu hết mọi lĩnh vực được người ta ứng dụng nó như một phần không thể thiếu
Ngoài ra, CNTT giúp chúng ta có thể lưu trữ, quản lý, phân tích và chia sẻ thông tin -
dữ liệu một cách hiệu quả, an toàn, nhanh chóng và thuận tiện hơn bao giờ hết
Thêm vào đó, trong các ngành nghề, đơn cử là các nhóm ngành như Công nghiệp hay Dịch vụ thì việc ứng dụng CNTT lại càng thiết yếu và gần như là tiên quyết để gia tăng năng suất lao động một cách tối đa nhất có thể
Hơn nữa, cách vận hành của doanh nghiệp nhỏ phải đơn giản và hiệu quả nhất thì mới
có thể giữ chân được khách hàng và nhân viên cũng hứng thú hơn với công việc của mình Những yêu cầu kể trên nếu không có sự tham gia của CNTT thì quả là khá khó khăn và phức tạp
Hiểu được những vấn đề đó, “Hệ thống quản lý quan hệ khách hàng (CRM)” đã được phát triển là một nền tảng quản lý quá trình làm việc với khách hàng áp dụng với doanh nghiệp vừa và nhỏ
Và vì thế hệ thống cần đáp ứng được các chức năng bao gồm quản lý thông tin khách hàng, quản lý dự án, quản lý công việc, quản lý nhiệm vụ, quản lý sản phẩm, tạo và quản lý đơn hàng trên một hệ thống có thể truy cập từ bất kỳ đâu chỉ cần kết nối mạng
2 Mục tiêu đề tài
Phát triển một phần mềm Quản lý Quan hệ Khách hàng (CRM) để khách hàng lưu trữ thông tin dữ liệu thông tin liên hệ, sản phẩm và các tiến trình công việc bao gồm dự án, Hơn thế nữa, CRM rất phù hợp cho hầu hết mọi công ty dịch vụ, nhà hàng, quán cà phê, cửa hàng,
Trang 14Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
1 Cấu trúc hệ thống
1.1 Hệ thống quản lý quan hệ khách hàng (CRM) là gì?
WCRM là hệ thống quản lý dành cho doanh nghiệp vừa và nhỏ, bao gồm các chức năng: Quản lý sản phẩm (Inventory), quản lý khách hàng (Customer), quản lý thông tin liên hệ (Contact), điểm bán hàng (POS), quản lý công việc (Task), quản lý dự án (Project), quản lý danh sách để làm (To-do) được trình bày trong Hình 1
Hình 1: Chức năng hệ thống - WCRM
1.2 Cấu trúc hệ thống
Đề tài áp dụng kiến trúc microservices trong việc phát triển phần mềm CRM Bởi vì, microservices là một kiến trúc có khả năng phân chia, tách biệt các đại diện chức năng và các dịch vụ xử lý thành các phần độc lập riêng rẽ và không có bất kỳ mối liên quan nào giữa chúng
Hơn thế nữa, CRM còn cho phép thay đổi, xóa hoặc thêm mã mà không ảnh hưởng đến các chức năng khác của hệ thống
Ngoài ra, khi sản phẩm cần nâng cấp chức năng hay mở rộng sẽ được thực hiện dễ dàng
và thuận tiện hơn Kiến trúc microservices được trình bày trong sơ đồ Hình 2
Trang 15Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 2: Sơ đồ - Cơ cấu tổ chức tệp
1 db Dữ liệu lưu trữ
2 template Thư mục chứa các thiết kế giao diện(*.html)
3 static Thư mục chứa hình ảnh, file CSS, Bootstrap, Js
4 venv Thư mục chứa môi trường, các thư viện của chương trình
5 migration Thư mục chứa các file chuyển đổi dữ liệu
6 src Thư mục chứa các cấu hình và tính năng của hệ thống
7 modules Thư mục chứa các file code tính năng của hệt thống
8 config Thư mục chứa các file môi trường tùy chỉnh của hệ thống
2 Các công nghệ sử dụng
Sau khi đi vào phân tích và tìm hiểu về cơ cấu tổ chức tệp của dự án cũng như các giải pháp để giải quyết và hướng phát triển đề tài này, các công nghệ được trình bày Hình 3 được
áp dụng cụ thể như sau:
Trang 16Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 3: Sơ đồ - Công nghệ áp dụng trong đề tài
2.1 BackEnd
Đối với BackEnd, trong đề tài sử dụng ngôn ngữ lập trình Python và các thư viện hỗ trợ xây dựng website trên ngôn ngữ lập trình Python
2.1.1 Ngôn ngữ Python
Python là một ngôn ngữ lập trình cho các mục đích lập trình ứng dụng, phát triển website
có thể tùy biến, cấu trúc rõ ràng và là mã nguồn mở
2.1.2 Flask Python
Flask là một ứng dụng web framework được viết bằng Python Flask cung cấp các công
cụ, thư viện và công nghệ cho phép xây dựng một ứng dụng web
Trong đó, các thư viện thường được sử dụng nhất của khung ứng dụng web như URL routing, request & response object, template
Trang 17Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
2.1.2.1 Thư viện sử dụng trong hệ thống BackEnd
- Werkzeug: Là một bộ công cụ WSGI (Web Server Gateway Interface) đảm nhiệm
các yêu cầu, phản hồi đối tượng (objects) và các chức năng tiện ích khác
- Jinja2: Là một công cụ tạo mẫu giao diện phổ biến dành cho Python Một hệ thống
tạo mẫu web kết hợp một mẫu với một nguồn dữ liệu nhất định để hiển thị các trang web động
- Flask-WTForms: Là thư viện mở rộng (extension), giao diện cho gói WTForms
được tích hợp với Flask
- Flask-SQLALchemy: Là một phần mềm trong nhóm sản phẩm gọi là Object
Relational Mapping hay ORM Giúp chúng ta giao tiếp với cơ sử dữ liệu thông qua các thực thể như lớp, đối tượng và phương thức
- SQLite: Là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, hoàn chỉnh, có thể cài đặt bên
trong các trình ứng dụng khác SQLite được Richard Hipp viết dưới dạng thư viện bằng ngôn ngữ lập trình C
2.2 Nền tảng đám mây Heroku
Heroku là nền tảng đám mây cho phép các lập trình viên xây dựng, triển khai, quản lý
và mở rộng ứng dụng (PaaS – Platform as a service) tính linh hoạt cao Nó giúp các nhà phát triển tập trung vào phát triển sản phẩm mà không cần quan tâm đến việc vận hành máy chủ hay phần cứng…
2.3.1.1 Thư viện sử dụng lập trình giao diện website
- TaiwinCSS: Là một utility-first CSS framework, có nhiều các class bao gồm các
thuộc tính CSS khác nhau và quan trọng, dễ dàng mở rộng tạo mới ra những class bằng chính những class của nó
- Javascript: Được nhúng trực tiếp vào hệ thống trang web hoặc được tham chiếu
qua file js riêng Nó là ngôn ngữ phía client, tức là script được tải về máy của khách truy cập và được xử lý tại đó thay vì phía server là xử lý trên server rồi mới đưa kết quả tới khách truy cập
- jQuery: Là một thư viện JavaScript được thiết kế đơn giản hóa thao tác HTML
DOM, cũng như xử lý sự kiện, hoạt ảnh CSS, và Ajax
- Alpine.js: Là một minimal framework để xây dựng giao diện người dùng
Trang 18Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
2.4 IDE (Môi trường phát triển tích hợp) Pycharm
Pycharm là một nền tảng kết kết hợp được JetBrains phát triển như một IDE (Môi trường phát triển tích hợp) để phát triển các ứng dụng cho lập trình trong Python Phần mềm cũng có khả năng tùy chỉnh theo yêu cầu của nhà phát triển
Trong đó, nó cũng chứa các Mô đun và các gói giúp các lập trình viên phát triển phần mềm bằng Python trong thời gian ngắn với ít công sức hơn
Hơn thế nữa, PyCharm có mặt trên cả 3 nền tảng Windows, Linux và Mac OS và IDE này hỗ trợ nhiều extensions, môi trường ảo (Virtual Environment), nhiều tính năng thông minh như bộ code completion, tự động thụt lề, phát hiện văn bản trùng lặp và kiểm tra lỗi Ngoài ra còn có các tính năng tìm kiếm mã nguồn thông minh để tìm kiếm từng từ một trong nháy mắt
Trang 19Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Khảo sát sơ bộ
Đề tài đồ án tốt nghiệp “Hệ thống quản lý quan hệ khách hàng (CRM)” với mục đích phát triển và thực tiễn hoá quá trình quản lý sản phẩm (Inventory), quản lý khách hàng (Customer), quản lý thông tin liên hệ (Contact), điểm bán hàng (POS), quản lý công việc (Task), quản lý dự
án (Project), quản lý nhiệm vụ (To-do)
Mục tiêu của đối tượng nghiên cứu là tìm hiểu, phân tích, chỉ ra sự thiếu đồng bộ và chưa hiệu quả của quá trình quản lý hiện đang triển khai, nêu ra những yêu cầu mới đang đặt ra đối với công tác quản lý khách hàng, dự án, công việc, nhiệm vụ và điểm bán hàng
Vì lý do này, những phương án để khắc phục những khó khăn đang gặp phải nhằm nâng cao tính hiệu quả trong công tác quản lý khách hàng tại các doanh nghiệp nhỏ và đẩy nhanh tiến trình trong công tác quản lý khách hàng, dự án, công việc, nhiệm vụ và sản phẩm trên trên cùng một nền tảng duy nhất
Vì vậy, đề tài đồ án tiến tới xây dựng một hệ thống quản lý khách hàng trong thực tế, dần hoàn thiện phần mềm này để đáp ứng nhu cầu ngày càng cao của Doanh nghiệp
2 Mô tả yêu cầu
Yêu cầu xây dựng một phần mềm web quản lý CRM bao gồm các chức năng quản lý thông tin khách hàng, báo giá dịch vụ, lưu trữ thông tin liên hệ, quản lý thông tin dịch vụ, quản lý dự
án, quản lý công việc và quản lý thông tin sản phẩm
Thêm vào đó, hệ thống sẽ bao gồm các tài khoản sử dụng và truy cập vào hệ thống là quản trị viên, quản lý, kinh doanh để duy trì các vai trò phù hợp theo lập trình
Như vậy, sự cố mã người dùng hệ thống bị xâm phạm (nếu xảy ra) sẽ chỉ ảnh hưởng trong phạm vi giới hạn, chứ không thể xâm phạm các quyền khác
Chỉ sử dụng người dùng hệ thống là quản trị viên để thực hiện hành động quản trị, chẳng hạn như chỉ định quyền Vì người dùng hệ thống này có hầu hết các quyền nên cần bảo vệ mã người dùng hệ thống là quản trị viên một cách cẩn thận
Trong đó:
● Admin (Quản trị viên): Có toàn quyền truy cập vào hệ thống, thêm người dùng cấp
quyền truy cập, thêm xóa, sửa dữ liệu và các tính năng liên quan
● Manager (Quản lý): Có quyền truy cập vào hệ thống, được quyền thêm dịch vụ Thêm,
xóa, chỉnh sửa thông tin (nhân viên, danh mục, dịch vụ, hoá đơn, báo cáo thống kê, quản
lý phiếu hàng, dự án, công việc, khách hàng)
● Saler (Nhân viên kinh doanh): Có quyền truy cập vào hệ thống, xem dự án, công việc,
thông tin khách hàng, thanh toán
Trang 20Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
3 Phân tích hệ thống quản lý quan hệ khách hàng
Với những phân tích về yêu cầu các chức năng của hệ thống quản lý quan hệ khách hàng (CRM) cần đáp ứng được trình bày bởi sơ đồ Hình 4
Trong mô hình Use Case có 3 Actor chính sẽ tương tác với hệ thống, gồm: Admin (Quản trị viên); Manager (Quản lý); Saler (Nhân viên kinh doanh)
Hình 4: Sơ đồ tổng quát - Các Usecase tác động trực tiếp vào hệ thống
4 Xác định các Actor
● Admin (Quản trị viên): Có toàn quyền trên hệ thống
● Manager (Quản lý): Là người nắm được tình hình báo giá dịch vụ, doanh thu của Công
ty, quản lý nhân viên, dự án, công việc, nhiệm vụ và khách hàng
● Saler (Nhân viên kinh doanh): Là nhân viên với vai trò là Kinh doanh, tư vấn viên,
tiếp nhận khách hàng, có trách nhiệm tiếp nhận yêu cầu báo giá dịch vụ của khách hàng, thanh toán, theo dõi tiến trình dự án, công việc, gửi báo giá, thu tiền
Saler (Kinh doanh)
Chức năng
Project
(Dự án)
Task (Công việc)
To-do (Chi tiết công việc)
Tác nhân có thể: Xem – Thêm – Xóa – Sửa thông tin dữ liệu trong chức năng
Được trình bày bởi sơ đồ: Hình 5
Trang 21Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 5: Xác định các Use Case – Quản lý dự án
Saler (Kinh doanh)
Chức năng
Customer
Contact (Quản lý thông tin liên hệ)
Tác nhân có thể: Xem – Thêm – Xóa – Sửa thông tin dữ liệu trong chức năng
Được trình bày bởi sơ đồ: Hình 6
Trang 22Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 6: Xác định các Use Case – Quản lý khách hàng
5.3 Quản lý báo giá
Tác nhân
(Quản lý)
Saler (Kinh doanh)
Chức năng
Product
(Sản phẩm)
Inventory (Tồn kho)
POS (Điểm bán hàng)
Tác nhân có thể: Xem – Thêm – Xóa – Sửa thông tin dữ liệu trong chức năng
Được trình bày bởi sơ đồ: Hình 7
Trang 23Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 7: Xác định các Use Case – Quản lý báo giá
Role (Quản lý quyền) Category
(Quản lý danh mục)
Currency (Quản lý đơn vị tiền tệ)
Project Tag (Quản lý thẻ dự án) Task Tag
(Quản lý thẻ công việc)
Tác nhân có thể: Xem – Thêm – Xóa – Sửa thông tin dữ liệu trong chức năng
Được trình bày bởi sơ đồ: Hình 8 & 9
Trang 24Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 8: Xác định các Use Case – Quản lý thiết lập
Hình 9: Xác định các Use Case – Quản lý thiết lập
5.5 Sign-In (Đăng nhập vào hệ thống)
Tác nhân
Trang 25Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Chức năng
Tác nhân có thể: Đăng nhập vào hệ thống website
Được trình bày bởi sơ đồ: Hình 10
Hình 10: Xác định các Use Case – Quản lý đăng nhập
6 Đặc tả các Use Case
6.1 Mô tả quá trình đăng nhập
Đặc tả: Use case mô tả quá trình đăng nhập vào hệ thống được trình bày bởi Hình 11
Người dùng nhập thông tin Tài khoản và Mật khẩu
Trang 26Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 11: Sơ đồ tuần tự - Quá trình đăng nhập thành công
Nếu tài khoản được xác minh tồn tại và đúng mật khẩu, hiển thị giao diện trang màn hình chính Nếu tài khoản không chính xác yêu cầu đăng nhập lại được trình bày bởi Hình 12
Hình 12: Quá trình đăng nhập tài khoản hoặc mật khẩu sai
6.2 Mô tả quá trình quản lý
Đặc tả: Khi người dùng đăng nhập, tài khoản và mật khẩu đã được xác minh là đúng,
hệ thống hiển thị trang màn hình chính được trình bày bởi Hình 13
Sau đó người dùng lựa chọn danh mục cần thao tác, chọn chức năng cần thực hiện Giao diện hiển thị chức năng đồng thời yêu cầu hệ thống truy xuất dữ liệu trả về dữ liệu (nếu đúng)
Tiếp theo, giao diện nhận được thông báo hiển thị dữ liệu trên giao diện người dùng Trường hợp người dùng chỉnh sửa thông tin từ giao diện sẽ gửi yêu cầu cập nhật dữ liệu tới hệ thống, khi đó hệ thống lưu và cập nhật dữ liệu (thành công) và trả lại thông báo cập nhật thành công tới giao diện
Sau khi giao diện nhận được thông báo từ hệ thống sẽ hiển thị thông báo cập nhật thành công cho người dùng trên giao diện của ứng dụng web
Trang 27Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 13: Sơ đồ tuần tự - Quá trình quản lý
6.3 Mô tả quá trình dự án
Đặc tả: Khi người dùng đăng nhập tài khoản và mật khẩu đã được xác minh là đúng,
hệ thống hiển thị trang màn hình chính, người dùng lựa chọn chức năng Dự án:
- Xem danh sách dự án: Người dùng chọn chức năng Tất cả dự án, giao diện
gửi yêu cầu lấy thông tin dự án tới hệ thống Sau đó hệ thống truy xuất dữ liệu và trả về thông tin dữ liệu của dự án Tiếp theo đó giao diện hiển thị dữ liệu lên giao diện của người dùng được trình bày bởi Hình 14
Hình 14: Sơ đồ tuần tự - Xem danh sách dự án
Trang 28Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
- Thêm dự án: Người dùng chọn chức năng Thêm dự án, giao diện hiển thị biểu
mẫu thêm thông tin dự án Sau đó người dùng điền vào thông tin dự án và nhấn vào gửi, khi đó giao diện gửi yêu cầu về hệ thống và yêu cầu hệ thống lưu dữ liệu (nếu dữ liệu là đúng) hệ thống lưu dữ liệu vào Cơ sở dữ liệu (CSDL)
Tiếp theo, hệ thống trả về thông báo thêm dữ liệu dự án thành công, đồng thời giao diện
sẽ gửi thông báo tới người dùng “Thêm thông tin dự án thành công” và trả về trang thông tin
dự án được trình bày bởi Hình 15
Hình 15: Sơ đồ tuần tự - Thêm dự án
- Chỉnh sửa dự án: Sau khi người dùng xem danh sách dự án thành công, nhấn
vào biểu tượng chỉnh sửa trên giao diện, khi đó giao diện gửi yêu cầu lấy thông tin chi tiết dự
Trang 29Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 16: Sơ đồ tuần tự - Cập nhật thông tin dự án
- Xóa dự án: Sau khi người dùng xem danh sách dự án thành công, nhấn vào
biểu tượng xóa trên giao diện Tiếp theo là giao diện gửi yêu cầu xóa dữ liệu trong CSDL tới
hệ thống, hệ thống truy xuất dữ liệu và tiến hành xóa dữ liệu theo yêu cầu (thành công)
Đồng thời hệ thống thông báo đã xóa dữ liệu trong CSDL, khi đó giao diện hiển thị thông báo xóa thông tin dự án thành công và trả về giao diện danh sách dự án sau khi yêu cầu
hệ thống truy xuất thông tin dữ liệu của dự án còn lại trong hệ thống lên giao diện người dùng
được trình bày bởi Hình 17
Trang 30Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 17: Sơ đồ tuần tự - Xóa thông tin dự án
7 Thiết kế hệ thống
7.1 Sơ đồ cơ sở dữ liệu
Sơ đồ cơ sở dữ liệu (CSDL) phân tích nhằm lưu trữ thông tin dự án, công việc, danh sách nhiệm vụ, thông tin khách hàng, thông tin liên hệ, thông tin tài khoản, thông tin sản phẩm, đơn hàng, đơn vị tiền tệ của sản phẩm và phương thức thanh toán
Ngoài ra, CSDL trong hệ thống được lưu trữ theo một quy trình tương tác và kết nối lẫn nhau từ khi tư vấn khách hàng cho đến quá trình công việc, các đơn hàng khách đặt được lưu trữ trên hệ thống để quản lý và chăm sóc khách hàng một cách thuận tiện được trình bày bởi Hình 18 & 19
Trang 31Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 18: Sơ đồ cơ sở dữ liệu
Trang 32Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Hình 19: Sơ đồ cơ sở dữ liệu
7.2 Chi tiết cơ sở dữ liệu
Lưu ý: Các trường In đậm gạch dưới là khóa chính của bảng In đậm nghiêng gạch
dưới là khóa ngoại liên kết tới các bảng dữ liệu khác Viết thường là các trường dữ liệu cần lưu
trong các bảng
Trang 33Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Email String(100) Mã người dùng
Bảng 3: Quản lý User Role
Quản lý UserRole
1
UserRole User_email String(100) Mã vai trò
Trang 34Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Bảng 6: Quản lý Project Status
Quản lý Project Status
1
ProjectStatus Id Integer Mã trạng thái
Bảng 7: Quản lý Project Tag
Quản lý Project Tag
Bảng 9: Quản lý Task Status
Quản lý Task Status
1
TaskStatus Id Integer Mã trạng thái
Bảng 10: Quản lý Task Tag
Quản lý Task Priority
1
TaskPriority Id Integer Mã ưu tiên
Trang 35Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Bảng 11: Quản lý Task Tag
Quản lý Task Tag
1
TaskTag Task_id Integer Mã công việc
Bảng 12: Quản lý Task checklist-items
Quản lý Task Checklist-items
Bảng 13: Quản lý Task Checklist Status
Quản lý Task Checklist Status
1
TaskCheckListStatus Id Integer Mã trạng thái
String(50)
Tên khách hàng
String(100) Địa chỉ
Trang 36Đề tài đồ án tốt nghiệp 2018 – 2021 Trường Đại học Bà Rịa – Vũng Tàu
Bảng 15: Quản lý Client Status
Quản lý Client Status
1
ClientStatus Id Integer Mã trạng thái
Bảng 16: Quản lý chuỗi đơn hàng bằng Json
Lưu thông tin đơn hàng thành chuỗi Json vào Orders trong bảng Client Order
Bảng 17: Quản lý Client Order
Quản lý Client Order
Bảng 18: Quản lý Client Order History
Quản lý Client Order History