1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu kiến trúc microservices và ứng dụng xây dựng hệ thống quản lý quan hệ khách hàng

82 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 2,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tuy nhiên, với sự tăng trưởng về số lượng khách hàng, yêu cầu về chất lượng dịch vụ chăm sóc khách hàng ngày càng cao; các doanh nghiệp thật sự đang gặp rất nhiều khó khăn trong việc quả

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

PHẠM ĐỨC ANH

TÌM HIỂU KIẾN TRÚC MICROSERVICES VÀ ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ QUAN HỆ KHÁCH HÀNG

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS NGUYỄN THỊ THU TRANG

Hà Nội – Năm 2018

Trang 3

i

LỜI CAM KẾT

Họ và tên học viên: Phạm Đức Anh

Điện thoại liên lạc: 097 5790 500 Email: phamducanh.bk@gmail.com Lớp: 16BCNTT Hệ đào tạo: Chính quy

Tôi – Phạm Đức Anh – cam kết Luận văn Tốt nghiệp (LVTN) là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Tiến sĩ Nguyễn Thị Thu Trang Các kết

quả nêu trong LVTN là trung thực, là thành quả của riêng tôi, không sao chép theo bất kỳ công trình nào khác Tất cả những tham khảo trong LVTN – bao gồm hình ảnh, bảng biểu, số liệu, và các câu từ trích dẫn – đều được ghi rõ ràng và đầy đủ nguồn gốc trong danh mục tài liệu tham khảo Tôi xin hoàn toàn chịu trách nhiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường

Hà Nội, ngày …… tháng ……năm 2018

Tác giả LVTN

Phạm Đức Anh

Trang 4

ii

LỜI CẢM ƠN

Để hoàn thành tốt luận văn tốt nghiệp, em đã nhận được sự giúp đỡ của nhiều đơn vị , tổ chức, cá nhân Em xin được bày tỏ lòng biết ơn sâu sắc đến tất cả các cá nhân và đơn vị đã tạo điều kiện giúp đỡ trong quá trình học tập và nghiên cứu đề tài Trước hết em xin gửi lời cảm ơn tới quý thầy cô trong khoa Công nghệ thông tin trường Đại học Bách Khoa Hà Nội, với sự quan tâm chỉ bảo của các thầy cô đến nay

em đã hoàn thành luận văn, đề tài:

“Tìm hiểu kiến trúc Microservices và ứng dụng xây dựng hệ thống Quản

lý quan hệ khách hàng”

Đặc biệt em xin gửi lời cảm ơn chân thành nhất tới TS.Nguyễn Thị Thu Trang

đã quan tâm giúp đỡ, hướng dẫn em hoàn thành tốt luận văn trong thời gian qua

Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế, luận văn này không thể tránh được những thiếu sót Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô để có điều kiện bổ sung

Em xin trân thành cảm ơn!

Hà Nội, ngày… tháng… năm 2018

Tác giả LVTN

Phạm Đức Anh

Trang 5

iii

MỤC LỤC

LỜI CAM KẾT i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH SÁCH HÌNH VẼ v

DANH SÁCH BẢNG BIỂU vii

DANH MỤC CHỮ VIẾT TẮT viii

PHẦN MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 2

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 3

5 Kết quả, đóng góp của luận văn 3

6 Kết cấu của luận văn 3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 5

1.1 Hệ thống Quản lý quan hệ khách hàng 5

1.1.1 Hệ thống Quản lý quan hệ khách hàng là gì? 5

1.1.2 Mục đích của CRM 6

1.1.3 Quy trình hoạt động của hệ thống Quản lý quan hệ khách hàng 6

1.1.4 Lợi ích khi sử dụng hệ thống CRM 8

1.2 Kiến trúc thiết kế hệ thống Microservices 9

1.2.1 Tổng quan kiến trúc Microservices 9

1.2.2 Các kiến trúc thiết kế hệ thống 10

1.2.3 Đặc điểm của kiến trúc Micorservices 15

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 21

2.1 Khảo sát hệ thống 21

2.1.1 Nội dung khảo sát 21

2.1.2 Đánh giá hiện trạng 21

Trang 6

iv

2.1.3 Yêu cầu của hệ thống mới 22

2.2 Tổng quan chức năng 23

2.2.1 Tổng quan về hệ thống Etek-CRM 23

2.2.2 Biểu đồ use case 25

2.2.3 Quy trình nghiệp vụ 28

2.2.4 Đặc tả chức năng 32

CHƯƠNG 3 CÁC GIẢI PHÁP VÀ ĐÓNG GÓP NỔI BẬT 37

3.1 Xây dựng và phát triển hệ thống quản lý quan hệ khách hàng (CRM) 37

3.2 Kiến trúc Microservice của hệ thống Etek-CRM 38

3.2.1 Thiết kế kiến trúc tổng quan 38

3.2.2 Thiết kế chi tiết các dịch vụ 39

3.3 Thiết kế chi tiết 47

3.3.1 Dịch vụ quản lý giao dịch 47

3.3.2 Dịch vụ quản lý bán hàng 48

3.3.3 Dịch vụ quản lý kho hàng 51

3.3.4 Dịch vụ quản trị hệ thống 52

3.4 Thiết kế cơ sở dữ liệu 54

3.4.1 Dịch vụ quản lý giao dịch 54

3.4.2 Dịch vụ quản lý bán hàng 55

3.4.3 Dịch vụ quản lý kho hàng 57

3.4.4 Dịch vụ quản trị hệ thống 59

3.5 Xây dựng ứng dụng 61

3.5.1 Thư viện và công cụ sử dụng 61

3.5.2 Kết quả đạt được 61

3.5.3 Minh họa các chức năng 62

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68

TÀI LIỆU THAM KHẢO 69

PHỤ LỤC 1 70

Trang 7

v

DANH SÁCH HÌNH VẼ

Hình 1.1 Hệ thống quản lý quan hệ khách hàng 5

Hình 1.2 Quy trình hoạt động của CRM 7

Hình 1.3 Lợi ích khi sử dụng hệ thống CRM 8

Hình 1.4 Kiến trúc nguyên khối 10

Hình 1.5 Mô hình tổng thể kiến trúc SOA 12

Hình 1.6 Kiến trúc Microservices 13

Hình 1.7 Rest API trong kiến trúc Microservices 17

Hình 1.8 Giao tiếp giữa các service 18

Hình 1.9 API Gateway 19

Hình 2.1 Các dịch vụ xây dựng trong hệ thống Etek-CRM 23

Hình 2.2 Biểu đồ cho use case Dịch vụ quản lý giao dịch 25

Hình 2.3 Biểu đồ cho use case Dịch vụ quản lý bán hàng 26

Hình 2.4 Biểu đồ cho use case Dịch vụ quản lý kho hàng 27

Hình 2.5 Biểu đồ cho use case Dịch vụ quản trị hệ thống 27

Hình 2.6 Quy trình dịch vụ quản lý giao dịch 28

Hình 2.7 Quy trình dịch vụ quản lý bán hàng 29

Hình 2.8 Quy trình dịch vụ quản lý kho hàng 30

Hình 2.9 Quy trình dịch vụ quản trị hệ thống 31

Hình 3.1 Các dịch vụ xây dựng trong giai đoạn 2 37

Hình 3.2 Các dịch vụ xây dựng trong giai đoạn 3 38

Hình 3.3 Thiết kế tổng quan hệ thống 39

Hình 3.4 Mô hình kiến trúc chung 40

Hình 3.5 Mô hình MVC trong tầng trình bày 41

Hình 3.6 Thiết kế dịch vụ quản lý giao dịch khách hàng 42

Hình 3.7 Kiến trúc MVC cho chức năng quản lý thông tin khách hàng 43

Hình 3.8 Thiết kế dịch vụ quản lý bán hàng 44

Hình 3.9 Thiết kế dịch vụ quản lý kho hàng 45

Hình 3.10 Thiết kế dịch vụ quản trị hệ thống 46

Trang 8

vi

Hình 3.11 Biểu đồ liên kết bảng của dịch vụ quản lý giao dịch 48

Hình 3.12 Biểu đồ liên kết bảng của dịch vụ quản lý bán hàng 50

Hình 3.13 Biểu đồ liên kết bảng của dịch vụ quản lý kho hàng 52

Hình 3.14 Biểu đồ liên kết bảng của dịch vụ quản trị hệ thống 53

Hình 3.15 Giao diện trang đăng nhập 63

Hình 3.16 Giao diện trang Quản lý người dùng 63

Hình 3.17 Giao diện trang Quản lý nhóm quyền 64

Hình 3.18 Giao diện trang Phân quyền chức năng 64

Hình 3.19 Giao diện chức năng tiếp nhận yêu cầu khách hàng 65

Hình 3.20 Giao diện chức năng chuyển yêu cầu khách hàng 65

Hình 3.21 Giao diện chức năng quản lý báo giá 66

Hình 3.22 Giao diện chức năng quản lý hợp đồng 66

Hình 3.23 Giao diện chức năng danh mục kho hàng 67

Trang 9

vii

DANH SÁCH BẢNG BIỂU

Bảng 3.1 Bảng Quản lý tiếp nhận yêu cầu 54

Bảng 3.2 Bảng Quản lý tiến trình yêu cầu 55

Bảng 3.3 Bảng Quản lý báo giá 55

Bảng 3.4 Bảng Quản lý hợp đồng 56

Bảng 3.5 Bảng Quản lý đơn hàng 57

Bảng 3.6 Bảng Quản lý sản phẩm 58

Bảng 3.7 Bảng Quản lý kho 59

Bảng 3.8 Bảng Danh mục nhân viên 59

Bảng 3.9 Bảng Danh mục chức năng 60

Bảng 3.10 Danh sách thư viện và công cụ sử dụng 61

Bảng 3.11 Thống kê kết quả 62

Trang 10

viii

DANH MỤC CHỮ VIẾT TẮT

1 CRM Customer Relationship Managerment

2 CNTT Công nghệ thông tin

3 SOA Service Oriented Architecture

10 Http Hypertext tranfer protocol

13 CRUD Create, Read, Update, Delete

Trang 11

và cách thức hoạt động kinh doanh của các doanh nghiệp, sự chuyển dần các giao dịch truyền thống sang giao dịch điện tử đã và đang trở thành xu hướng, yếu tố bắt buộc và gây ảnh hưởng không nhỏ đến vị trí, vai trò và cả nhu cầu của các bên hữu quan (khách hàng, nhà cung cấp, nhà đầu tư…) của doanh nghiệp Việc tăng cường, nâng cao công tác chăm sóc khách hàng đang là yêu cầu cấp thiết, bắt buộc của các doanh nghiệp Tuy nhiên, với sự tăng trưởng về số lượng khách hàng, yêu cầu về chất lượng dịch vụ chăm sóc khách hàng ngày càng cao; các doanh nghiệp thật sự đang gặp rất nhiều khó khăn trong việc quản lý thông tin khách hàng, quản lý thông tin yêu cầu, thiết lập các chiến lược kinh doanh, chiến lược marketing, chiến lược bán hàng… nếu không có hệ thống công nghệ thông tin hỗ trợ Hệ thống Quản lý quan hệ khách hàng (CRM) ra đời nhằm để giải quyết các vấn đề trên

Hiện tại, đã có khá nhiều hệ thống Quản lý quan hệ khách hàng được xây dựng

và triển khai như CRM Viet, Online CRM, Vtiger Tuy nhiên, hầu hết các hệ thống CRM hiện có đều đã được xây dựng từ khá lâu, kiến trúc thiết kế hệ thống thường được sử dụng là kiến trúc một khối (Monolithic) Do đặc thù của kiến trúc thiết kế, mặc dù đã có không ít hệ thống CRM từ nhiều năm trước nhưng khi các doanh nghiệp thật sự có nhu cầu thì các hệ thống này lại rất khó thay đổi hoặc mở rộng một cách linh hoạt đáp ứng các yêu cầu của khách hàng Vì vậy, để xây dựng được một hệ thống Quản lý quan hệ khách hàng (CRM) có khả năng đáp ứng được các yêu cầu liên quan đến hiệu năng hệ thống, đáp ứng sự tăng trưởng số lượng khách hàng, có khả năng thay đổi linh hoạt, tăng tính bảo mật,… đòi hỏi phải có một kiến trúc thiết

kế phù hợp Trong các kiến trúc thiết kế hệ thống như kiến trúc thiết kế nguyên khối (Monolithic), kiến trúc thiết kế hướng dịch vụ (SOA), kiến trúc nhiều dịch vụ nhỏ

Trang 12

2

(Microservices)… kiến trúc Microservices hội tụ đầy đủ các đặc điểm thích hợp để

có thể đáp ứng được các yêu cầu cho việc xây dựng hệ thống CRM

Vì vậy, em lựa chọn đề tài: “Tìm hiểu kiến trúc Microservices và ứng dụng xây dựng hệ thống Quản lý quan hệ khách hàng” với mục tiêu xây dựng một hệ thống CRM giúp doanh nghiệp quản lý hoạt động giao dịch khách hàng, xây dựng mối quan

hệ chặt chẽ giữa khách hàng và doanh nghiệp, nâng cao mức độ hài lòng và sự trung thành của khách hàng Trong phạm vi của luận văn này, em tập trung xây dựng theo

lộ trình một hệ thống Etek-CRM với đầy đủ các tính năng của một hệ thống quản lý

quan hệ khách hàng chung (trước tiên là các tính năng chính), thêm vào đó là tìm hiểu thêm các tiện ích mở rộng phù hợp với xu thế hiện tại dựa trên nền tảng kiến trúc thiết

kế Microservice

2 Mục đích nghiên cứu

Mục đích nghiên cứu của luận văn bao gồm hai mục đích chính:

Tìm hiểu kiến trúc thiết kế hệ thống Microservices (Kiến trúc nhiều dịch vụ nhỏ), thấy được các ưu điểm, nhược điểm của kiến trúc Microservices so với các kiến trúc thiết kế hệ thống khác như kiến trúc nguyên khối, kiến trúc hướng dịch vụ…

Phát triển hệ thống Quản lý quan hệ khách hàng Etek-CRM sử dụng kiến trúc

Microservices bao gồm các dịch vụ sau: (i) Dịch vụ quản lý giao dịch: dịch vụ cho phép quản lý thông tin các giao dịch khách hàng từ quá trình tiếp nhận yêu cầu của khách hàng cho tới khi chuyển giao công việc cho phòng ban, nhân viên khác (ii) Dịch vụ quản lý bán hàng: dịch vụ cho phép quản lý các thông tin liên quan tới quá trình bán hàng, từ các bước quản lý báo giá, hợp đồng, đơn hàng, xuất kho… (iii) Dịch vụ quản lý kho: cho phép quản lý thông tin danh sách kho hàng của đơn vị, quản

lý thông tin sản phẩm, thông tin nhập kho (iv) Dịch vụ quản trị hệ thống: quản lý thông tin người dùng, quản lý thông tin chức năng, thông tin phân quyền các chức năng hệ thống…

3 Đối tượng và phạm vi nghiên cứu

Để thực hiện mục đích trên, luận văn tập trung nghiên cứu hai đối tượng chính: một số kiến trúc thiết kế hệ thống và hệ thống quản lý quan hệ khách hàng (CRM)

Trang 13

3

Tuy nhiên, cả hai đối tượng trên đều là các vấn đề khá lớn do vậy trong phạm vi nghiên cứu của luận văn học viên sẽ thực hiện tìm hiểu ba kiến trúc thiết kế hệ thống (Microservice, SOA, Monolothic) và xây dựng hệ thống Etek-CRM bao gồm các dịch

vụ chính sau: quản lý giao dịch khách hàng, quản lý bán hàng, quản lý kho hàng, quản trị hệ thống

4 Phương pháp nghiên cứu

Để phục vụ cho quá trình nghiên cứu đề tài, cần phải có phương pháp nghiên cứu một cách phù hợp, cụ thể nhằm đạt được kết quả tốt nhất, phục vụ cho yêu cầu nghiên cứu Có rất nhiều phương pháp nghiên cứu có thể thực hiện được như: phương pháp thống kê, phương pháp thực nghiệm, phương pháp nghiên cứu lý thuyết…Tuy nhiên, mỗi phương pháp nghiên cứu đều có các ưu, nhược điểm riêng Do vậy, trong

để tài luận văn này học viên lựa chọn sử dụng phương pháp thu thập số liệu (trong đó bao gồm phương pháp nghiên cứu tài liệu và phương pháp phi thực nghiệm) và phương pháp xử lý thông tin (cụ thể là xử lý toán học đối với thông tin định lượng và

xử lý logic đối với thông tin định tính)

5 Kết quả, đóng góp của luận văn

Sau quá trình thực hiện nghiên cứu, luận văn sẽ phân tích và làm rõ yêu cầu của một hệ thống Quản lý quan hệ khách hàng CRM; bên cạnh đó, học viên tìm hiểu

và phân tích được cấu trúc, các ưu điểm, nhược điểm của kiến trúc hệ thống Microservices Từ đó, ứng dụng kiến trúc Microservices xây dựng hệ thống Quản lý quan hệ khách hàng Etek-CRM Luận văn có thể làm tài liệu tham khảo, làm cơ sở cho các doanh nghiệp ứng dụng quản lý quan hệ khách hàng hiệu quả, nâng cao độ hài lòng và trung thành của khách hàng

6 Kết cấu của luận văn

Ngoài lời mở đầu, kết luận, danh mục tài liệu tham khảo, danh mục chữ viết tắt, danh mục bảng biểu, luận văn bao gồm ba chương:

Chương 1 Cơ sở lý thuyết, Chương này tập trung nghiên cứu về hai nội dung

chính: Khái niệm, mục đích, đặc điểm, quy trình hoạt động, lợi ích khi sử dụng hệ thống Quản lý quan hệ khách hàng; Các kiến trúc thiết kế hệ thống; ưu điểm, nhược

Trang 14

4

điểm của các kiến trúc thiết kế: kiến trúc một khối, kiến trúc hướng dịch vụ, kiến trúc nhiều dịch vụ nhỏ

Chương 2 Khảo sát và phân tích yêu cầu, Chương này thực hiện khảo sát

về quy trình quản lý quan hệ khách hàng, từ đó đưa ra thiết kế hệ thống theo kiến trúc thiết kế Microservice

Chương 3 Các giải pháp và đóng góp nổi bật, Chương này trình bày về các

đặc điểm, tiến trình xây một hệ thống quản lý quan hệ khách hàng mới Etek-CRM,

và ứng dụng kiến trúc thiết kế Microservice cho hệ thống này

Kết luận và hướng phát triển

Trang 15

CRM (Quản lý quan hệ khách hàng) là chiến lược của các doanh nghiệp trong việc phát triển quan hệ gắn bó với khách hàng qua nghiên cứu, tìm hiểu kỹ lưỡng nhu cầu và thói quen của khách hàng, tiếp cận và giao tiếp với khách hàng một cách có

Trang 16

6

hệ thống và hiệu quả, quản lý các thông tin của khách hàng như thông tin về tài khoản, nhu cầu, liên lạc… nhằm phục vụ khách hàng tốt hơn Thông qua hệ thống quản lý quan hệ khách hàng, các thông tin của khách hàng sẽ được cập nhật và được lưu trữ trong hệ thống cơ sở dữ liệu Nhờ một công cụ tìm kiếm dữ liệu đặc biệt, doanh nghiệp có thể phân tích, hình thành danh sách khách hàng tiềm năng và lâu năm để

đề ra những chiến lược quảng cáo, chiến lược chăm sóc khách hàng hợp lý Ngoài ra, doanh nghiệp còn có thể xử lý các vấn đề vướng mắc của khách hàng một cách nhanh chóng và hiệu quả

1.1.2 Mục đích của CRM

CRM khởi nguyên từ ý tưởng giúp các doanh nghiệp sử dụng nguồn lực (nhân lực và công nghệ) để hiểu thấu đáo về thái độ, thói quen của khách hàng và đánh giá giá trị của từng phân đoạn khách hàng riêng biệt Với sự trợ giúp của một hệ thống CRM có hiệu quả, các doanh nghiệp có thể:

- Cung cấp cho khách hàng các dịnh vụ tốt hơn

- Nâng cao hiệu quả của trung tâm hỗ trợ khách hàng

- Trợ giúp nhân viên bán hàng thực hiện đơn hàng một cách nhanh nhất

- Đơn giản hoá tiến trình tiếp thị và bán hàng

- Phát hiện các khách hàng mới

- Hỗ trợ việc đưa ra các quyết định

- Tăng doanh thu từ khách hàng

1.1.3 Quy trình hoạt động của hệ thống Quản lý quan hệ khách hàng

Quy trình hoạt động của hệ thống CRM có năm điểm chính tạo thành một vòng tròn khép kín, đặc biệt khi bắt đầu chúng ta có thể bắt đầu từ bất kỳ điểm nào đều được và vấn đề quan trọng nhất là luôn luôn lấy khách hàng làm trung tâm Hình 1.2

mô tả năm điểm trong quy trình hoạt động của một hệ thống quản lý quan hệ khách hàng (CRM) nói chung bao gồm: bán hàng, quảng cáo, dịch vụ, phân tích, cộng tác

Trang 17

7

Hình 1.2 Quy trình hoạt động của CRM

Đầu tiên là dịch vụ bán hàng (Sales): có thể coi đây là một nhiệm vụ chính của CRM, trong nghiệp vụ bán hàng có các tác vụ xung quanh như: giao dịch, gửi thư, email, báo giá, lịch hẹn, hợp đồng, xuất hàng, thu tiền …

Thứ hai là dịch vụ quảng cáo (Marketing): khi khách hàng thực hiện mua sản phẩm tức là đã có giao dịch trên hệ thống, bước tiếp theo của doanh nghiệp là phải thành lập các kế hoạch quảng cáo nhằm mục đích lôi kéo khách hàng mua tiếp sản phẩm

Thứ ba là dịch vụ chăm sóc khách hàng (Service): khi khách hàng mua sản phẩm, công việc tiếp theo là cung cấp các dịch vụ chăm sóc khách hàng như: tặng quà nhân ngày thành lập công ty, 14/2, 8/3, 20/11… nhằm thu hút khách hàng quay lại mua hàng của doanh nghiệp cho những lần kế tiếp

Thứ tư là phân tích (Analysis): Khi chúng ta tạo lập một danh sách khách hàng mục tiêu hay những khách hàng đã mua sản phẩm của doanh nghiệp (khách hàng đã thực hiện bất kỳ giao dịch nào), phần phân tích là yếu tố then chốt cho những công việc bán hàng, quảng cáo, dịch vụ chăm sóc khách hàng tiếp theo bằng cách phân tích theo độ tuổi, vùng miền, sản phẩm nào bán chạy, thời điểm, nói chung phân tích bất

kể những gì mà doanh nghiệp sử dụng CRM muốn

Trang 18

8

Cuối cùng là dịch vụ cộng tác (Collaborative): cung cấp khả năng quan hệ với khách hàng (phone, email, fax, web, sms…) CRM giúp doanh nghiệp tương tác với khách hàng thông qua tất cả các kênh (liên hệ trực tiếp, thư từ, fax, điện thoại, web, e-mail) và hỗ trợ phối hợp giữa các nhóm nhân viên với khách hàng CRM là một giải pháp gắn liền giữa con người, quy trình và dữ liệu với nhau để các doanh nghiệp

có thể phục vụ và giữ khách hàng của mình được tốt hơn

1.1.4 Lợi ích khi sử dụng hệ thống CRM

Việc doanh nghiệp ứng dụng công nghệ thông tin vào hoạt động quản lý điều hành thường mang lại nhiều tác dụng tích cực Hệ thống CRM cũng vậy Đối với các doanh nghiệp có hình thức kinh doanh, quy trình hoạt động phù hợp khi áp dụng hệ thống CRM sẽ đạt được rất nhiều lợi ích, trong đó có năm lợi chính được mô tả trong hình 1.3

Hình 1.3 Lợi ích khi sử dụng hệ thống CRM

Tổ chức dữ liệu tốt hơn: thông tin của khách hàng được lưu trữ thông minh

theo các trường giúp quản lý, tìm kiếm, phân loại chi tiết, hỗ trợ nhà quản lý hiểu rõ từng nhóm khách hàng Ngoài ra phần mềm chăm sóc khách hàng CRM còn có khả năng quản lý kho hàng, sản phẩm, nhà cung cấp tương đương như một phần mềm kế toán nhỏ

Trang 19

9

Truyền thông chuyên nghiệp: sử dụng các dịch vụ như sms marketing, email

marketing, tổng đài ip…với tập khách hàng chất lượng phục vụ báo giá, giới thiệu sản phẩm mới, tổ chức sự kiện, tri ân khách hàng Đặc biệt thống kê được phản hồi của khách hàng giúp nhận định hiệu quả thực hiện chiến dịch đó

Chia sẻ thông tin: khi khách hàng có nhu cầu tìm đến doanh nghiệp, thông

tin khách hàng chỉ cần nhập liệu một lần Các phòng ban trong đơn vị sẽ có thể sử dụng chung dữ liệu để giải quyết các yêu cầu của khách hàng nhanh chóng chuyên nghiệp, đảm bảo thời gian

Nhà quản lý biết được khách hàng tiềm năng: CRM giúp cho doanh nghiệp

đảm bảo không bỏ sót bất kì một khách hàng nào Hỗ trợ doanh nghiệp biết được khách hàng quan tâm sản phẩm ở mức độ nào, khách hàng hay gặp vướng mắc ở giai đoạn nào để đưa ra chiến lược phù hợp

Đánh giá mục tiêu bán hàng của nhân viên: giao diện trực quan với những

bảng, biểu đồ giúp nhà quản lý đo lường hiệu quả làm việc của từng nhân viên bất cứ lúc nào Không còn phải mất thời gian chờ nhân viên báo cáo và có thể không chính xác do nhầm lẫn số liệu…Nhà quản lý có thể đưa ra được những quyết định tức thời Tính năng tự động nhắc nhở nhân viên theo thời gian, khiến nhân viên không bỏ quên hợp đồng, giao dịch, gặp mặt khách hàng, các chiến dịch thực hiện đúng tiến độ

1.2 Kiến trúc thiết kế hệ thống Microservices

Sau khi tìm hiểu về các đặc điểm của một hệ thống quản lý quan hệ khách hàng (CRM), em nhận thấy đây là một hệ thống lớn, có nhiều quy trình nghiệp vụ và thường xuyên thay đổi nên việc lựa chọn mô hình thiết kế hệ thống phù hợp là rất quan trọng Do vậy, trong phần tiếp theo em thực hiện tìm hiểu: Tổng quan kiến trúc Microservices, các kiến trúc thiết kế hệ thống: kiến trúc nguyên khối, kiến trúc hướng dịch vụ, kiến trúc Microservices, ưu nhược điểm của kiến trúc Microservices

1.2.1 Tổng quan kiến trúc Microservices

Kiến trúc Microservices hiện tại đang được rất quan tâm trong giới phần mềm, công nghệ với rất nhiều bài viết, blog, thảo luận, truyền thông, hội thảo Kỳ vọng về khả năng kiến trúc Microservices có thể giải quyết được các vấn đề đang tồn tại của

Trang 20

10

các hệ thống cũ là rất cao, thiết kế hệ thống theo hướng Microservices đang trở thành một xu hướng và đang lan rộng Ngược lại, một số người lại cho rằng, kiến trúc Microservices không có gì mới lạ, chẳng qua nó là SOA (kiến trúc hướng dịch vụ) được đánh bóng, đổi tên mà thôi

Microservices chính là chia một khối phần mềm lớn thành các dịch vụ nhỏ hơn, có thể triển khai trên các máy chủ khác nhau Các dịch vụ này sẽ xử lý từng phần công việc và được kết nối với nhau thông qua các các giao thức khác nhau như http, SOA, RPC, socket để truyền tải dữ liệu

1.2.2 Các kiến trúc thiết kế hệ thống

Luận văn tìm hiểu ba kiến trúc thiết kế hệ thống bao gồm: kiến trúc nguyên khối, kiến trúc hướng dịch vụ, kiến trúc Microservices

Kiến trúc nguyên khối

Monolithic là mô hình truyền thống mà chúng ta sử dụng để phát triển từ trước

tới nay Nó sẽ xử lý tất các nghiệp vụ, công việc thông qua các module, dữ liệu được truyền tải trực tiếp giữa các module mà không cần thông qua giao thức nào

Hình 1.4 Kiến trúc nguyên khối

Trang 21

kế khá cổ điển Tuy nhiên, cách thiết kế này vẫn có những ưu và nhược điểm riêng Kiến trúc nguyên khối có xu hướng phù hợp với những dự án quy mô nhỏ Với việc

áp dụng kiến trúc nguyên khối, những lợi ích đem lại có thể kể đến là: quá trình phát triển đơn giản và trực tiếp, quản lý tập trung; Tất cả các quá trình phát triển đều nằm trên cùng một dự án (project), do vậy việc lập trình hệ thống cũng khá đơn giản cho lập trình viên

Tuy nhiên, mô hình này cũng đem lại nhiều hạn chế lớn: Khó khăn trong việc bảo trì, nâng cấp hệ thống vì các khối mã nguồn dính chặt với nhau do đó các thành viên mới sẽ khó nắm bắt được vấn đề trong một khối lượng mã nguồn lớn; Quá trình phát triển sẽ mất đi tính linh hoạt: các thành phần khác nhau trong hệ thống có thể bị xung khắc lẫn nhau, bất kỳ một sự thay đổi nhỏ nào cũng cần biên dịch lại toàn bộ hệ thống; Tính ổn định của hệ thống không cao: bất kỳ một lỗi nào cũng có thể làm cho

cả hệ thống bị treo; Khả năng mở rộng của hệ thống khó đáp ứng được trong trường hợp phải đáp ứng một lượng truy cập lớn từ phía khách hàng

Kiến trúc hướng dịch vụ

SOA (Service Oriented Architecture) – Kiến trúc hướng dịch vụ là một

cách tiếp cận hay một phương pháp luận để thiết kế và tích hợp các thành phần khác nhau, bao gồm các phần mềm và các chức năng riêng lẻ lại thành một hệ thống hoàn chỉnh Kiến trúc SOA rất giống với cấu trúc của các phần mềm hướng đối tượng bao gồm nhiều module Tuy nhiên, khái niệm module trong SOA không đơn thuần là một gói phần mềm, hay một bộ thư viện nào đó Thay vào đó, mỗi module trong một ứng dụng SOA là một dịch vụ được cung cấp rải rác ở nhiều nơi khác nhau và có thể truy cập thông qua môi trường mạng Nói một cách ngắn gọn, một hệ thống SOA là một

Trang 22

Hình 1.5 Mô hình tổng thể kiến trúc SOA

Kiến trúc SOA được ra đời sau kiến trúc một khối, do vậy kiến trúc này đã có

sự kế thừa nhất định từ các kiến trúc trước đó Tuy nhiên, SOA cũng đang tồn tại những ưu và nhược điểm sau:

Về ưu điểm của kiến trúc SOA: Ưu điểm quan trọng nhất là khả năng kết nối

“mềm dẻo” và tái sử dụng Các dịch vụ có thể được sử dụng với các nền tảng và được viết bởi nhiều nền tảng ngôn ngữ; Hệ thống uyển chuyển và lâu dài thuận tiện cho

Trang 23

Kiến trúc nhiều dịch vụ nhỏ

Kiến trúc Microservices là một cách tiếp cận nhằm phát triển một ứng dụng như một tập của các dịch vụ nhỏ gọn, chạy theo một tiến trình riêng và giao tiếp với nhau thông qua các cơ chế gọn nhẹ, thường là qua giao thức HTTP với API truy cập đến tài nguyên hệ thống Các dịch vụ này được xây dựng theo phạm vi nghiệp vụ của riêng nó và được triển khai hoàn toàn riêng biệt và tự động Việc tập trung quản lý các dịch vụ được giảm tới mức tối thiểu, bởi chúng có thể được viết bởi các ngôn ngữ lập trình khác nhau với hệ quản trị dữ liệu khác nhau

Hình 1.6 Kiến trúc Microservices

Trang 24

14

Nguồn: Nguyễn Thành Long, “Microservices một cách dễ hiểu”, 02/02/2018, https://techmaster.vn

Hình 1.6 mô tả thiết kế cơ bản của kiến trúc Microservices Một hệ thống lớn

sẽ được thiết kế thành nhiều dịch vụ nhỏ, mỗi dịch vụ nhỏ sẽ truy cập đến một cơ sở

dữ liệu riêng, tầng giao diện có thể gọi tới nhiều dịch vụ khác nhau Việc chia thành nhiều dịch vụ nhỏ là điểm mới có kiến trúc Microservices so với các kiến trúc trước

đó Tuy nhiên, cách thức này cũng mang lại những ưu điểm và nhược điểm của kiến trúc này

- Ưu điểm của kiến trúc Microservices:

+ Giảm thiểu sự gia tăng phức tạp rối rắm với hệ thống lớn

+ Kiến trúc này cho phép mỗi dịch vụ được phát triển độc lập bởi các nhóm phát triển khác nhau, cho phép lập trình viên có thể tự do lựa chọn công nghệ cho mỗi dịch vụ mình phát triển

+ Microservices cho phép mỗi dịch vụ được đóng gói và triển khai độc lập với nhau (Ví dụ: Mỗi dịch vụ có thể được đóng gói vào một docker container độc lập, giúp giảm tối đa thời gian phát triển hệ thống) Bên cạnh đó, Microservice rất phù hợp để áp dụng phát triển mở rộng

+ Microservices cho phép mỗi dịch vụ có thể được mở rộng một cách độc lập với nhau Việc mở rộng có thể được thực hiện dễ dàng bằng cách tăng số thể hiện cho mỗi dịch vụ rồi phân tải bằng hệ thống cân bằng tải Ngoài ra, chúng ta còn có thể triển khai mỗi dịch vụ lên các máy chủ có tài nguyên thích hợp để tối ưu hóa chi phí vận hành (việc mà không thể làm được trong kiến trúc nguyên khối)

- Nhược điểm của kiến trúc Microservices:

+ Việc chia một khối công việc lớn thành các dịch vụ nhỏ không phải là một nhiệm vụ dễ dàng Chia như thế nào cho phù hợp là hết sức khó khăn, nếu chia lớn quá sẽ không tận dụng được các ưu điểm của kiến trúc Microservices; nếu chia quá nhiều sẽ dẫn đến manh mún, vụn vặt và khó kiểm soát

+ Nhược điểm thứ hai của kiến trúc Microservices đến từ đặc tính phân tán Các lập trình viên phải kiểm tra các trường hợp kết nối chậm, lỗi khi các thông

Trang 25

15

điệp không gửi được hoặc các thông điệp gửi đến nhiều đích vào các thời điểm khác nhau Ngoài ra, tính toàn vẹn, nhất quán của dữ liệu trong hệ thống phân tán Theo nguyên lý CAP, thì việc thực hiện phân tán sẽ không thể thỏa mãn cả ba điều kiện: (i) Tính nhất quán (consistency): dữ liệu ở điểm khác nhau trong mạng phải giống nhau (ii) Tính khả dụng (availability): yêu cầu gửi đi phải có phúc đáp (iii) Tính chịu lỗi (Fault tolerance): hệ thống vẫn hoạt động được ngay cả khi một/nhiều thành phần bị lỗi

+ Thứ ba, kiểm thử một dịch vụ trong kiến trúc Microservices đôi khi yêu cầu phải chạy cả các dịch vụ khác mà nó phụ thuộc Do đó khi phân rã ứng dụng một khối thành Microservice cần kiểm tra mức độ ràng buộc giữa các dịch vụ

+ Cuối cùng, việc triển khai Microservices phức tạp hơn rất nhiều nếu làm thủ công theo cách đã làm với ứng dụng với kiến trúc nguyên khối

1.2.3 Đặc điểm của kiến trúc Micorservices

Trong số các đặc điểm của kiến trúc Microservices, các đặc điểm khác biệt so với các kiến trúc khác cần lưu ý bao gồm: Kích cỡ, phạm vi và tính năng; Cách thức liên lạc (giao tiếp) giữa các Microservice

Kích cỡ, phạm vi và tính năng

Việc quyết định kích cỡ, phạm vi và tính năng của Microservices là việc rất quan trọng, nó quyết định tới hiệu quả cuối cùng của kiến trúc Đây cũng là phần khó nhất gặp phải khi xây dựng các ứng dụng sử dụng kiến trúc Microservices

Có khá nhiều hiểu lầm trong việc lựa chọn quyết định kích cỡ, phạm vi và chức năng của Microservices:

- Số dòng code/kích cỡ: có một vài ý kiến về kích thước của một dịch vụ dựa vào số lượng dòng code hay số lượng thành viên của một đội phát triển dịch vụ đó Tuy nhiên, những cách đo đếm này không thực tế và không chính xác, vì ta có thể phát triển ít dòng code hoặc với một đội nhỏ nhưng hoàn toàn vi phạm các nguyên tắc trong kiến trúc Microservices

- "Micro" là một từ khóa dễ gây nhầm lẫn Một số lập trình viên nghĩ rằng họ nên tạo ra nhiều dịch vụ nhỏ hết mức Điều này là một cách hiểu sai

Trang 26

16

- Trong SOA, các dịch vụ thường trở thành các khối monolithic với nhiều hàm, chức năng khác hỗ trợ Vì vậy, chỉ phát triển các dịch vụ kiểu SOA rồi dán nhãn Microservices là hoàn toàn lạc hướng và không mang lại bất kì lợi ích nào của kiến trúc Microservices

Một số lưu ý khi thiết kế sử dụng kiến trúc Microservices:

- Trong quá trình thiết kế, ta nên xác định và giới hạn các dịch vụ theo chức năng nghiệp vụ thực tế

- Đảm bảo các dịch vụ có thể phát triển và triển khai độc lập

- Mục tiêu của thiết kế là phạm vi của Microservice phục vụ một nghiệp vụ chứ không chỉ đơn giản làm các dịch vụ nhỏ hơn Kích thước hợp lý của một dịch vụ

là kích thước đủ để đáp ứng yêu cầu của một chức năng trong hệ thống

- Khác với các dịch vụ trong SOA, một dịch vụ không nên có quá nhiều hàm hay chức năng hỗ trợ xung quanh và định dạng thông báo/gửi tin đơn giản

Liên lạc (giao tiếp) giữa các Microservice

Trong ứng dụng nguyên khối, các chức năng khác nhau nằm trong các thành phần, đối tượng khác nhau được kết nối bằng cách gọi hàm hay phương thức Trong SOA, việc này được chuyển sang một chế độ tách rời hơn với kiểu nhắn tin qua các dịch vụ web, phần lớn dùng SOAP trên nền phương thức HTTP, JMS Những webservices này khá phức tạp Với Microservices, yêu cầu là phải có một cơ chế truyền tin đơn giản và nhẹ

Gửi tin đồng bộ - REST, Thrift

Với truyền tin đồng bộ (người gửi - client sẽ chờ một khoảng thời gian để nhận kết quả từ service), REST là sự lựa chọn hàng đầu vì nó cung cấp hệ thống truyền tin đơn giản qua giao thức HTTP dạng yêu cầu – phản hồi (request – response) Do đó, nhiều microservice sử dụng HTTP với API Mỗi chức năng xuất ra API

Trang 27

17

Hình 1.7 Rest API trong kiến trúc Microservices

Nguồn: Ngô Thùy Linh, “Microservices thực tiễn: từ thiết kế đến triển khai”, 27/09/2017, https://techmaster.vn

Hình 1.7 mô tả cách thức thiết kế các Rest API trong kiến trúc Microservices Mỗi dịch vụ sẽ được thiết kế với một Rest API độc lập

Gửi tin bất đồng bộ - AMQP, STOMP, MQTT

Trong một số hoàn cảnh, truyền tin bất đồng bộ là cần thiết (client không mong đợi phản hồi ngay lập tức, hoặc không cần phản hồi) Các giao thức truyền tin bất đồng bộ như STOMP hay MQTT được sử dụng trong trường hợp này

Các kiểu tin nhắn - JSON, XML, Thrift, ProtoBuf, Avro

Quyết định kiểu tin nhắn phù hợp cho Microservices cũng là một yếu tố quan trọng Với phần lớn các ứng dụng Microservices, hệ thống thường sử dụng những kiểu tin nhắn dạng chữ như JSON và XML trên nền giao thức HTTP với API Trong trường hợp cần truyền tin dạng nhị phân, microservices có thể dùng dạng Thrift, Proto hay Avro

Kết nối trong Microservices (Giao tiếp giữa các service)

Trong kiến trúc Microservices, ứng dụng được cấu thành từ các dịch vụ độc lập Để hoàn thành một tác vụ của người dùng, kết nối và giao tiếp giữa các microservices là cần thiết vì tác vụ gồm nhiều tác động khác nhau lên các services khác nhau Vì vậy, giao tiếp giữa các Microservice là một vấn đề rất quan trọng

Trang 28

18

Khi áp dụng SOA, giao tiếp giữa các service được tiến hành bởi một Enterprise Service Bus (ESB) và phần lớn logic nằm trong tầng trung gian này (định tuyến cho tin nhắn, chuyển đổi và điều phối tin nhắn) Tuy nhiên, kiến trúc Microservices thúc đẩy việc loại trừ một tầng giao tiếp trung gian/ESB và chuyển phần logic (business logic) sang các service

Microservices sử dụng giao thức tiêu chuẩn HTTP, JSON, giúp cho các yêu cầu kết nối tới một giao thức khác được tối giản Một lựa chọn khác cho giao tiếp giữa các Microservice là sử dụng một message bus hay gateway với khả năng định tuyến, hoạt động như những đường truyền đơn thuần không xử lý nghiệp vụ Dựa vào những cách này, có một số kiểu mẫu giao tiếp trong Microservice như sau:

Point-to-point: Kết nối trực tiếp giữa các service

Với kiểu điểm nối điểm, toàn bộ logic của việc định tuyến truyền tin nhắn nằm trong mỗi điểm cuối (endpoint) hay chính là các service Và các service nói chuyện trực tiếp với nhau Mỗi service mở ra một REST APIs và bất kì service hay khách hàng bên ngoài nào cũng có thể gọi service qua REST API của nó

Hình 1.8 mô tả cách thức giao tiếp giữa kết nối trực tiếp các service sử dụng các Rest API của nó

Hình 1.8 Giao tiếp giữa các service

Trang 29

- Những yêu cầu như xác thực người dùng, điều tiết, giám sát,…phải được xây dựng tại tất cả microservices.

- Không có cách quản lý, kiểm soát giao tiếp giữa các service

- Thường việc kết nối trực tiếp trong microservices được coi là không theo tiêu chuẩn (anti-pattern) khi áp dụng cho ứng dụng lớn

Vì vậy, với những trường hợp phức tạp hơn, thay vì kết nối trực tiếp hay một ESB trung tâm, chúng ta có thể sử dụng 1 messaging bus trung tâm gọn nhẹ Nó cung cấp một lớp trừu tượng hóa các microservices Cách này được gọi là API Gateway

API-Gateway

Ý tưởng chính của API Gateway là sử dụng một cổng truyền tin gọn nhẹ như một điểm vào chính cho tất cả khách hàng, người dùng và triển khai những chức năng chung mà không liên quan đến nghiệp vụ đặc thù Nhìn chung, một API Gateway cho phép người lập trình sử dụng một API được quản lý thông qua REST/HTTP Vì thế, chúng ta có thể cung cấp tất cả các chức năng nghiệp vụ được phát triển thành microservices qua API Gateway như một APIs được quan lý tập trung

Hình 1.9 API Gateway

Trang 30

Cổng chung gian Gateway cung cấp các lợi thế dưới đây:

- Cung cấp một lớp trừu tượng hóa các microservices Ví dụ thay vì cung cấp một API cho tất cả khách hàng, API gateway có thể xuất ra hay hiển thị API khác nhau cho mỗi khách hàng

- Định tuyến và chuyển đổi tin nhắn gọn nhẹ ở cấp gateway

- Một điểm tập trung cho các chức năng chung không mang tính nghiệp vụ, với nhiệm vụ chính là thực hiện các tính năng bảo mật, giám sát và điều tiết

- Với API Gateway: microservices trở nên càng gọn nhẹ vì các chức năng chung không mang tính nghiệp vụ đều chuyển sang Gateway

Trang 31

21

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

Việc phát triển và triển khai một hệ thống CRM hoàn chỉnh, có khả năng đáp ứng tất cả các yêu cầu của các khách hàng nhau, với loại hình kinh doanh khác nhau cần nhiều thời gian và công sức Do vậy, em thực hiện khảo sát yêu cầu cụ thể của một doanh nghiệp để xác định chính xác các tính năng nào cần xây dựng trước, tính năng nào có thể xây dựng trong giai đoạn tiếp theo Với mục tiêu trên, trong chương

2 em sẽ trình bày hai phần: (i) Khảo sát hệ thống (ii) Đưa ra tổng quan các chức năng cần thực hiện

2.1 Khảo sát hệ thống

Phần khảo sát hệ thống gồm ba nội dung sau: (i) Nội dung khảo sát: xác định đối tượng, phương pháp, câu hỏi khảo sát (ii) Đánh giá hiện trạng: đưa ra, nhận xét thông tin hiện trạng của doanh nghiệp và các hệ thống CRM hiện có (iii) Thống kê các yêu cầu của hệ thống Etek-CRM

2.1.1 Nội dung khảo sát

- Đối tượng khảo sát:

+ Các đơn vị có nhu cầu sử dụng hệ thống Quản lý quan hệ khách hàng bao gồm: công ty TNHH Kinh Bắc (Địa chỉ: Số 567 đường Hàn Thuyên, Phường Đại Phúc, Thành phố Bắc Ninh, Tỉnh Bắc Ninh) – chuyên cung cấp các dịch vụ sửa chữa điện, nước;

+ Các hệ thống CRM đã có sẵn trên thị trường như CRM Việt, Online CRM, Vtiger, GetFly

- Phương pháp khảo sát: gọi điện thoại, email yêu cầu tư vấn, gặp trực tiếp trao đổi tiếp nhận yêu cầu

- Câu hỏi khảo sát: Phụ lục 1

2.1.2 Đánh giá hiện trạng

Sau quá trình khảo sát doanh nghiệp có nhu cầu sử dụng hệ thống quản lý quan

hệ khách hàng, đồng thời tìm hiểu và phân tích một số hệ thống CRM hiện có trên thị trường, em rút ra một số đánh giá hiện trạng như sau:

Trang 32

22

Về nhu cầu sử dụng: hiện trạng các đơn vị đang không sử dụng hệ thống Quản

lý quan hệ khách hàng gặp khá nhiều khó khăn trong việc lưu trữ thông tin khách hàng, hầu hết đang thực hiện lưu trữ thủ công; các doanh nghiệp đều rất vướng mắc trong việc tạo ra các chiến dịch chăm sóc khách hàng, các chiến dịch quảng cáo Mặc

dù xác định được các khó khăn cho hoạt động của doanh nghiệp nhưng vẫn chưa dứt khoát, sẵn sàng đầu tư, thay đổi sử dụng phương thức quản lý mới

Về các hệ thống đã có trên thị trường: các hệ thống hiện có nhìn chung đã đáp ứng được hầu hết các yêu cầu của doanh nghiệp Tuy nhiên, do các hệ thống hiện tại

đã được xây dựng, phát triển từ khá lâu nên giao diện chưa được cập nhật (Cụ thể như hệ thống CRM Viet, Online CRM ), một số tính năng yêu cầu của người dùng

về mặt tiện ích chưa được phát triển (Ví dụ như việc tự động thực hiện giảm bớt các bước thực hiện đối với từng đối tượng khách hàng ); kiến trúc xây dựng hệ thống vẫn sử dụng các mô hình cũ nên việc phát triển nhanh chóng đáp ứng nhu cầu khách hàng khó khăn và mất thời gian hơn; một số hệ thống được việt hóa từ hệ thống của nước ngoài như Vtiger chưa được chi tiết và phù hợp với đặc thù của các doanh nghiệp Việt Nam

2.1.3 Yêu cầu của hệ thống mới

Để giải quyết các yêu cầu của doanh nghiệp đặt ra, giải quyết các bài toán mà các hệ thống hiện có chưa thực hiện được, hệ thống Etek-CRM được xây dựng cần đáp ứng các yêu cầu:

- Đáp ứng được đầy đủ các yêu cầu doanh nghiệp

- Quản lý thông tin khách hàng đầy đủ, chính xác; hỗ trợ nhân viên chăm sóc khách hàng quản lý luồng công việc, không bỏ sót các yêu cầu của khách hàng Hỗ trợ người quản lý nắm bắt được công việc, tiến độ của nhân viên

- Nâng cao độ hài lòng của khách hàng

- Giao diện hệ thống hiện đại, thân thiện, dễ sử dụng

- Xây dựng hệ thống đầy đủ các tính năng, nâng cao hiệu năng, tăng cường tính bảo mật nhưng cũng cho phép dễ dàng thay đổi, mở rộng theo yêu cầu của người dùng

Trang 33

23

2.2 Tổng quan chức năng

Sau khi đã thực hiện khảo sát hệ thống, yêu cầu của công ty TNHH Kinh Bắc, trong phần này em sẽ trình bày các nội dung sau: (i) Tổng quan hệ thống Etek-CRM: đưa ra các chức năng của hệ thống cần thực hiện (ii) Xây dựng biểu đồ use case cho bốn dịch vụ xây dựng trong hệ thống (iii) Trình bày các quy trình nghiệp vụ của các dịch vụ (iv) Đặc tả các dịch vụ

2.2.1 Tổng quan về hệ thống Etek-CRM

Đối với một hệ thống CRM thông thường sẽ được xây dựng gồm bảy dịch vụ: quản lý khách hàng, quản lý giao dịch khách hàng, quản lý bán hàng, quản lý quảng cáo, báo cáo, quản lý danh mục, quản trị hệ thống Tuy nhiên trong phạm vi luận văn,

em sẽ thực hiện xây dựng Etek-CRM gồm bốn dịch vụ sau: Dịch vụ quản lý giao dịch khách hàng; Dịch vụ quản lý bán hàng; Dịch vụ quản lý kho hàng; Dịch vụ quản trị

hệ thống

Hình 2.1 Các dịch vụ xây dựng trong hệ thống Etek-CRM

Hình 2.1 mô tả các dịch vụ sẽ được xây dựng trong hệ thống Etek-CRM Dịch vụ quản lý giao dịch khách hàng: cho phép quản lý các thông tin liên quan từ bước tiếp nhận khách hàng cho tới bước chuyển yêu cầu khách hàng: (i) Tiếp

CRM

Etek-Dịch vụ Quản lý giao dịch

Dịch vụ Quản lý bán hàng

Dịch vụ Quản lý kho hàng

Dịch vụ Quản trị

hệ thống

Trang 34

24

nhận thông tin yêu cầu: nhân viên CSKH thực hiện nhập nội dung yêu cầu của khách hàng lên hệ thống, quản lý và thống kê các yêu cầu… (ii) Chuyển yêu cầu khách hàng: cho phép nhân viên CSKH chuyển yêu cầu cho nhân viên khác (nhân viên CSKH khác, nhân viên kỹ thuật…) để trả lời, thực hiện yêu cầu của khách hàng

Dịch vụ quản lý bán hàng: đây là dịch vụ quan trọng và sẽ tác động thường xuyên nhất trong hệ thống nhằm thực hiện quản lý việc giao dịch với khách hàng từ bước lập báo giá cho tới xuất hàng Các tính năng thực hiện trong dịch vụ quản lý bán hàng bao gồm: (i) Quản lý báo giá: quản lý thông báo giá sản phẩm, dịch vụ cho khách hàng (ii) Quản lý đơn hàng: quản lý thông tin đơn hàng (bao gồm cả thông tin

về sản phẩm, thiết bị, các loại dịch vụ) cho khách hàng (iii) Quản lý hợp đồng: sau khi trao đổi với khách hàng, nhân viên CSKH thực hiện lập hợp đồng, quản lý thông tin hợp đồng với khách hàng (iv) Quản lý xuất hàng: quản lý thông tin các phiếu xuất hàng

Dịch vụ quản lý kho hàng: quản lý thông tin kho hàng, thông tin nhà cung cấp, thông tin sản phẩm, thông tin xuất kho…

Dịch vụ quản trị hệ thống: cho phép quản lý thông tin nhóm quyền, quản lý thông tin người dùng, tài khoản, thông tin chức năng; phân quyền các chức năng cho nhóm người dùng…

Các tác nhân trong hệ thống:

Hệ thống CRM được xây dựng trong luận văn bao gồm ba tác nhân chính là nhân viên chăm sóc khách hàng, quản lý, quản trị hệ thống Mỗi tác nhân trong hệ thống có vai trò cụ thể và khác nhau, bao gồm một số nghiệp vụ như sau:

- Quản trị hệ thống:

+ Tạo cơ sở dữ liệu, cài đặt hệ thống CRM

+ Thiết lập cấu hình hệ thống, cài đặt các tham số hệ thống

+ Quản trị thông tin chức năng, người dùng

+ Phân quyền chức năng, người dùng

- Quản lý (Lãnh đạo, nhân viên quản lý):

+ Quản lý thông tin nhà cung cấp

Trang 35

25

+ Quản lý thông tin kho

+ Quản lý thông tin sản phẩm

+ Thống kê tình hình kinh doanh

- Nhân viên chăm sóc khách hàng:

+ Quản lý thông tin khách hàng

+ Quản lý thông tin giao dịch khách hàng

+ Quản lý các cơ hội bán hàng, báo giá, đơn đặt hàng, đơn hàng, hợp đồng, phiếu xuất hàng

2.2.2 Biểu đồ use case

Sau khi xác định được các dịch vụ xây dựng trong hệ thống, trong phần này

em sẽ thực hiện xây dựng biểu đồ use case cho bốn dịch vụ gồm: Dịch vụ quản lý giao dịch; Dịch vụ quản lý bán hàng; Dịch vụ quản lý kho; Dịch vụ quản trị hệ thống 2.2.2.1 Dịch vụ quản lý giao dịch

Có hai tác nhân trong dịch vụ quản lý giao dịch: nhân viên chăm sóc khách hàng và quản lý Các chức năng trong dịch vụ này được thể hiện trong Hình 2.2

Hình 2.2 Biểu đồ cho use case Dịch vụ quản lý giao dịch

Trang 36

26

2.2.2.2 Dịch vụ quản lý bán hàng

Có hai tác nhân tham gia vào dịch vụ quản lý bán hàng gồm nhân viên chăm sóc khách hàng nhà quản lý Có 11 chức năng chính được thể hiện trong dịch vụ này (Cụ thể mô tả trong Hình 2.3)

Hình 2.3 Biểu đồ cho use case Dịch vụ quản lý bán hàng

2.2.2.3 Dịch vụ quản lý kho hàng

Có 1 tác nhân tham gia vào dịch vụ quản lý kho hàng gồm là quản lý Các chức năng trong dịch vụ này được thể hiện ở Hình 2.4

Trang 38

28

2.2.3 Quy trình nghiệp vụ

2.2.3.1 Quy trình dịch vụ quản lý giao dịch

Hình 2.6 Quy trình dịch vụ quản lý giao dịch

Quy trình dịch vụ quản lý giao dịch khách hàng được mô tả như sau:

Khách hàng gọi điện đến số tổng đài của doanh nghiệp, nhân viên chăm sóc khách hàng tiếp nhận yêu cầu của khách hàng Đối với trường hợp khách hàng gọi đến là khách hàng mới, nhân viên chăm sóc khách hàng sẽ thực hiện thu thập thông tin của khách hàng và nhập vào hệ thống Đối với trường hợp là khách hàng cũ nhưng cần bổ sung thông tin, nhân viên CSKH cũng thực hiện cập nhật thông tin khách hàng Sau khi đã thực hiện thêm thông tin khách hàng, nhân viên CSKH thực hiện thêm nội dung yêu cầu của khách hàng Trong trường hợp, nhân viên CSKH có thể giải quyết được thắc mắc, yêu cầu của khách hàng thì nhân viên CSKH thực hiện giải quyết trực tiếp, nếu không thì chuyển cho bộ phận hoặc nhân viên khác thực hiện giải quyết

Trang 39

29

2.2.3.2 Quy trình dịch vụ quản lý bán hàng

Hình 2.7 Quy trình dịch vụ quản lý bán hàng

Quy trình dịch vụ quản lý bán hàng khách hàng được mô tả như sau:

Xuất phát từ yêu cầu khách hàng, nhân viên chăm sóc khách hàng thực hiện lập báo giá (dự kiến) cho các thiết bị, vật tư cần cung cấp Nhân viên gửi báo giá cho khách hàng, trường hợp khách hàng đồng ý với báo giá sẽ thực hiện lập đơn hàng, nếu khách hàng không đồng ý thực hiện lập lại báo giá Sau khi lập đơn hàng, nhân viên kiểm tra lại hàng trong kho hàng, nếu không có hàng thực hiện lập lại báo giá, nếu có hàng thực hiện lập hợp đồng Trường hợp hợp đồng không được duyệt, thực hiện lập lại báo giá và các bước kế tiếp Nếu hợp đồng được duyệt, tiếp thực hiện lập phiếu xuất hàng và chuyển tới khâu giao hàng Khi nhân viên giao hàng chuyển hàng đến cho khách, nếu khách hàng đồng ý thì lập hóa đơn bán hàng nếu không quay trở lại bước kiểm tra lại hợp đồng

Trang 40

30

2.2.3.3 Quy trình dịch vụ quản lý kho hàng

Hình 2.8 Quy trình dịch vụ quản lý kho hàng

Quy trình dịch vụ quản lý kho hàng được mô tả như sau:

Xuất phát từ yêu cầu mua hàng, nhân viên liên hệ đưa ra báo giá của nhà cung cấp Trong trường báo giá được chấp nhận tiếp tục đi tới hợp đồng mua hàng, nếu không thực hiện lập lại báo giá Sau khi có đề nghị nhập hàng và kiểm tra hàng, thực hiện kiểm tra hàng nếu đúng với hợp đồng sẽ thực hiện nhập kho, nếu không trả lại nhà cung cấp

Ngày đăng: 28/02/2021, 00:11

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Karen S.Fredricks, SugarCRM For Dummies, Wiley publishing, 2009, pp.10-100 [2] Adrian Payne, PayHandbook of CRM: Achieving Excellence through Customer Management, 2005, pp.6-38 Khác
[3] Jill Dyché, The CRM Handbook: A Business Guide to Customer Relationship Management (Addison-Wesley Information Technology Series), 2001 Khác
[4] Perry Wang, Monolithic Chromatography and its Modern Applications, 2010 [5] Eric A. Marks, Michael Bell, Service-Oriented Architecture, 2008 Khác
[6] Chris Richardson with Floyd Smith, MICROSERVICES from design to deployment, pp.12-20 Khác
[7] Sam Newman, Building Microservices: Designing Fine-Grained Systems, 2015 [8] Joseph Joyner, Microservices Architecture For Beginners: Build, Integrate, Test, Monitor Microservices Successfully, 2015 Khác
[13] Gaurav Kumar Aroraa, Building Microservices with .NET Core, 2017 [14] Adam Freeman, Expert ASP.NET Web API 2 for MVC Developers, 2014 [15] Leonard Richardson and Mike Amundsen, RESTful Web APIs: Services for a Changing World, 2013 Khác

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w