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

ĐỒ ÁN HỆ THỐNG THÔNG TIN TRIỂN KHAI ỨNG DỤNG CRM NỀN TẢNG CLOUDSỬ DỤNG CHO HỆ THỐNG GIÁO DỤC

94 907 5

Đ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 94
Dung lượng 3,62 MB

Nội dung

DANH MỤC BẢNGBẢNG 2.2: Tạo mới một module trong SugarCRM BẢNG 2.3: Tùy chỉnh module bằng công cụ Studio trong module builderBẢNG 2.4: Deloy module để đưa vào sử dụng trong hệ thống Sugar

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

ĐỒ ÁN HỆ THỐNG THÔNG TIN

TRIỂN KHAI ỨNG DỤNG CRM NỀN TẢNG CLOUD

SỬ DỤNG CHO HỆ THỐNG GIÁO DỤC

Giảng viên hướng dẫn (Cô): NGUYỄN ĐÌNH LOAN PHƯƠNG

Sinh viên thực hiện: NGUYỄN THỊ MỸ HẢI – 09520508

NGUYÊN HỮU LẬP - 09520491 Lớp : HTTT04

Khoá : 04

TP Hồ Chí Minh, tháng 6 năm 2013

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HỆ THỐNG THÔNG TIN

ĐỒ ÁN HỆ THỐNG THÔNG TIN

TRIỂN KHAI ỨNG DỤNG CRM NỀN TẢNG CLOUD

SỬ DỤNG CHO HỆ THỐNG GIÁO DỤC

Giảng viên hướng dẫn (Cô): NGUYỄN ĐÌNH LOAN PHƯƠNG

Sinh viên thực hiện: NGUYỄN THỊ MỸ HẢI – 09520508

NGUYÊN HỮU LẬP - 09520491 Lớp : HTTT04

Khoá : 04

TP Hồ Chí Minh, tháng 6 năm 2013

Trang 3

1 Lý do chọn đề tài “Triển khai ứng dụng CRM nền tảng Cloud sử dụng cho hệ thống giáo dục”

Phát triển một hệ thống CRM cho giáo dục từ lâu đã là một nhu cầu thiếtthực mang tính ứng dụng cho thực tiễn cao Vì sao gọi hệ thống CRM cho giáodục là thiết thực? Ta thử lấy một ví dụ sau: Sinh viên từ các tỉnh nhập học tại cáctrường đại học hoặc phổ thông ở các thành phố lớn Mỗi bậc cha mẹ đều có trăm

bề lo lắng không biết con mình học hành như thế nào và công tác giáo dục tạitrường ra sao, … muốn biết kết quả học tập của con em mình không thể vào webtrường rồi đăng nhập tài khoản các thứ (quá phức tạp đối với các bậc phụ huynh),hay họ phải đi họp phụ huynh (điều này không thể đối với những phụ huynh ở xa)hay nhà trường không thể gửi bản tổng kết rèn luyện của con em mình về cho cácbậc phụ huynh (quá khó khăn cho các nhà trường) Vậy câu hỏi đặt ra với các nhàphát triển là làm thế nào để cung cấp hệ thống vừa quản lý học sinh, sinh viên vừa

là cầu nối giữa nhà trường và gia đình học sinh đồng thời góp phần nâng cao uytín và hình ảnh của trường, hoạt động đào tạo được kiểm soát một cách hiệu quả,góp phần nâng cao chất lượng đào tạo, giảm chi phí cho nhà trường

Để hiện trả lời cho câu hỏi trên nhóm đã quyết định lựa chọn đề tài

“Triển khai ứng dụng CRM trên nền tảng Cloud cho hệ thống giáo dục”

Trang 4

dành cho các trường đại học, cao đẳng trên cả nước nhưng hiện tại chỉ dừng lại ởđại học Công Nghệ Thông Tin – đại học quốc gia thành phố Hồ Chí Minh để xâydựng chương trình demo xác định tính khả thi nhằm phát triển thành luận văn.

Phạm vi công nghệ

Đề tài nghiên cứu theo hướng mã nguồn mở với phần mềm SugarCRM,mẫu hình SaaS – cloud computing, hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữlập trình PHP

• Tiếp cận tìm hiểu, nghiên cứu về Cloud Computing, tập trung đi sâuvào SaaS

• Tìm hiểu, sử dụng và custom Sugar làm điểm tựa phát triển ứng dụng

• Lập trình xây dựng ứng dụng trên nền Sugar

Báo cáo bao gồm 7 chương - 82 trang:

Chương 1: Phân tích và lựa chọn đề tài (1 – 4) : Phân tích đề tài để đưa racác lựa chọn phù hợp nhất

Chương 2 : Giới thiệu về CRM và SugarCRM (5 - 23) : Giới thiệu tổngquan về CRM và SugarCRM

Chương 3 : Giới thiệu về Cloud Computing (24 - 44) : Giới thiệu tổngquan về Cloud Computing và đi sâu vào SaaS

Chương 4 : Thu thập và phân tích yêu cầu (45 - 72) : Nêu ra các yêu cầuđối với hệ thống để đáp ứng một ứng dụng thỏa CRM và quản lý Chỉ ra quy trìnhhoạt động, sơ đồ use-case và tiến hành đặc tả use-case và đưa ra mẫu report thamkhảo

Chương 5 : Thiết kế hệ thống (73 - 76) : Chỉ ra chức năng của từng moduletrong hệ thống

Chương 6 : Xây dựng ứng dụng demo (77 - 79) : Giới thiệu ứng dụngdemo với module student official – sinh viên chính quy

Trang 5

được, những thuận lợi và khó khăn khi thực hiện đề tài, đồng thời nêu hướng pháttriển của đề tài trong thời gian sắp tới.

Danh mục tài liệu tham khảo (82) : Gồm các tài liệu phục vụ cho quá trinhtìm hiểu, nghiên cứu thực hiện đề tài

Trang 6

Chúng em xin cảm ơn các Thầy, Cô đã trang bị cho chúng em những kiếnthức vô cùng quí báu, đặc biệt là các Thầy, Cô trong khoa Hệ Thống Thông Tinluôn tận tình truyền đạt kiến thức cho chúng em, coi chúng em như những ngườicon của mình

Xin gửi lời cảm ơn chân thành đến cô Nguyễn Đình Loan Phương, người

đã hướng dẫn chúng em làm đề tài này Tuy có trở ngại về mặt thời gian và địa lý,nhưng cô luôn quan tâm đến từng bước đi của chúng em từ những ngày bắt đầu

đề tài

Cảm ơn thầy Huỳnh Hữu Việt đã nhiệt tình giúp đỡ chúng em Những kinhnghiệm, những tài liệu và sự quan tâm thầy dành cho chúng em là nguồn độngviên và kho tài liệu vô cùng quí giá giúp chúng em hoàn thành đề tài này

Chúng em xin cảm ơn gia đình đã ủng hộ hết lòng cho chúng em để hoànthành đồ án này Cảm ơn đến những người bạn trong nhóm học tập của chúng

em Những người luôn đứng sau ủng hộ và cùng nhắc nhở lẫn nhau làm đồ án

Xin chân thành cảm ơn!

TP.Hồ Chí Minh, tháng 06 năm 2013

Nhóm Sinh viênNguyễn Thị Mỹ Hải – Nguyễn Hữu Lập

Trang 7

(Của giảng viên hướng dẫn)

Trang 8

MỤC LỤC

Chương 1: PHÂN TÍCH VÀ LỰA CHỌN GIẢI PHÁP CHO ĐỀ TÀI 1

1.1 Phân tích đề tài 1

1.2 Lựa chọn giải pháp cho đề tài 3

Chương 2: GIỚI THIỆU VỀ CRM VÀ SUGARCRM 5

2.1 Giới thiệu về CRM 5

2.1.1 Khái niệm cơ bản về CRM 5

2.1.2 Mục đích của CRM 5

2.1.3 Việc triển khai CRM được tiến hành như thế nào? 5

2.1.4 Có các chỉ số cho nhu cầu về triển khai dự án CRM? 6

2.1.5 Việc triển khai một hệ thống CRM cần thời gian bao lâu? 6

2.1.6 Các loại dữ liệu mà dự án CRM cần phải thu thập? 7

2.1.7 Đâu là chìa khóa thành công trong việc triển khai CRM? 7

2.1.8 Lý do thất bại của một dự án CRM? 7

2.1.9 Ngành công nghiệp nào đang dẫn đầu về việc ứng dụng CRM 8

2.2 Giới thiệu về SugarCRM 8

2.2.1 Kiến trúc SugarCRM 8

2.2.2 Tùy biến trong SugarCRM 12

Chương 3: GIỚI THIỆU VỀ CLOUD COMPUTING 24

3.1 Tổng quan về cloud computing 24

3.1.1 Định nghĩa Cloud Computing 24

3.1.2 Các tính chất của Cloud Computing 27

3.1.3 Các mô hình Cloud Computing 29

3.1.4 Cloud Computing – lợi ích và thách thức 35

3.2 Đi sâu vào Software as a Service – SaaS 38

3.2.1 Các đặc trưng của SaaS 39

3.2.2 Chuyển đổi ứng dụng web thành giải pháp SaaS nhiều bên thuê 40

Chương 4: THU THẬP VÀ PHÂN TÍCH YÊU CẦU 45

4.1 Các yêu cầu cho hệ thống 45

Trang 9

4.3 Sơ đồ usecase 49

4.4 Danh sách các actor 49

4.5 Danh sách use-case 50

4.6 Đặc tả use – case 51

4.6.1 Đặc tả Use-case “Quan ly sinh vien chinh quy” 51

4.6.2 Đặc tả Use-case “Quan ly nien khoa” 52

4.6.3 Đặc tả Use-case “Quan ly khoa hoc, hoc ky” 54

4.6.4 Đặc tả Use-case “Quan ly ky thi” 55

4.6.5 Đặc tả Use-case “Quan ly lop hoc” 57

4.6.6 Đặc tả Use-case “Quan ly mon hoc” 59

4.6.7 Đặc tả Use-case “Quan ly lich bieu” 60

4.6.8 Đặc tả Use-case “Thong ke, bao cao” 62

4.6.9 Đặc tả Use-case “Quan ly luu tru” 62

4.6.10 Đặc tả Use-case “Quan ly xu ly yeu cau” 63

4.6.11 Đặc tả Use-case “Quan ly chien dich” 64

4.6.12 Đặc tả Use-case “Cham soc sinh vien chinh quy” 66

4.6.13 Đặc tả Use-case “Quan ly user” 66

4.6.14 Đặc tả Use-case “Quan ly sinh vien tiem nang” 68

4.6.15 Đặc tả Use-case “Quan ly khoa-nganh” 69

4.6.15 Đặc tả Use-case “Dang nhap” 70

4.6 Mẫu report tham khảo 72

Chương 5: THIẾT KẾ HỆ THỐNG 73

5.1 Module student official – sinh viên chính quy 74

5.2 Module student potential – sinh viên tiềm năng 74

5.3 Module shool year – niên khóa 74

5.4 Module course – khóa học – học kỳ 74

5.5 Module class – lớp học 75

5.6 Module subject – môn học 75

5.7 Module exam – kỳ thi 75

5.8 Module calendar – lịch biểu 76

Trang 10

5.12 Module report – chart – thống kê – báo cáo 76

5.13 Module sms – email – chăm sóc sinh viên 76

5.14 Module user – quản lý user 76

5.15 Module faculty – khoa – ngành 76

Chương 6: XÂY DỰNG ỨNG DỤNG DEMO 77

Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80

7.1 Kết luận 80

7.1.1 Kết quả đạt được 80

7.1.2 Những thuận lợi 80

7.1.3 Những khó khăn 80

7.2 Hướng phát triển đề tài 81

DANH MỤC TÀI LIỆU THAM KHẢO 82

Trang 11

DANH MỤC BẢNG

BẢNG 2.2: Tạo mới một module trong SugarCRM

BẢNG 2.3: Tùy chỉnh module bằng công cụ Studio trong module builderBẢNG 2.4: Deloy module để đưa vào sử dụng trong hệ thống SugarCRMBẢNG 3.1: Lợi ích và thách thức đối với IaaS

BẢNG 3.2: Lợi ích và thách thức đối với PaaS

BẢNG 3.3: Lợi ích và thách thức đối với SaaS

BẢNG 4.1: Danh sách các yêu cầu quản lý của hệ thống

BẢNG 4.3: Danh sách các Use-case

DANH MỤC SƠ ĐỒ

SƠ ĐỒ 4.1: Sơ đồ quy trình hoạt động

SƠ ĐỒ 4.2: Sơ đồ Use-case

SƠ ĐỒ 5.1: Sơ đồ hệ thống

DANH MỤC HÌNH

HÌNH 2.1: Cấu trúc thư mục trong sugarCRM

HÌNH 2.2: Cấu trúc thư mục của một module trong SugarCRM

HÌNH 2.3: Các công cụ trong developer Tools

HÌNH 2.4: Công cụ repair trong system

HÌNH 2.5: Tạo relationship trong công cụ studio

HÌNH 3.1: Giới thiệu về Cloud Computing

HÌNH 3.2: Chưa có một cái nhìn khái quát về Cloud Computing

HÌNH 3.3: Định nghĩa về Cloud Computing

HÌNH 3.4: NIST Visual Model of Cloud Computing Definition

HÌNH 3.5: Các mô hình dịch vụ đối với Cloud computing

HÌNH 3.6: Mô hình SPI

HÌNH 3.7: Bốn mô hình triển khai Cloud Computing

Trang 12

HÌNH 6.1: Giao diện hiển thị danh sách sinh viên chính quyHÌNH 6.2: Giao diện thêm mới một sinh viên.

HÌNH 6.3: Giao diện chi tiết thông tin sinh viên

Trang 13

Stt Chữ viết tắt Nghĩa tiếng việt

4 PaaS – Platform as a Service Nền tảng như một dịch vụ

5 SaaS – Software as a Service Phần mềm như một dịch vụ

9 Community Cloud Đám mây cộng đồng

11 Student official Sinh viên chính quy

14 SLA - Service-level agreement Thỏa thuận ở mức dịch vụ

15 ROI - Return On Investment Rủi ro lợi tức đầu tư

16 Actor Tác nhân – người sử dụng tương tác

với hệ thống

17 Use-case

Gồm một tập các thể hiện use case Trong đó mỗi thể hiện là một chuỗi cáchành động được hệ thống thực hiện và đem lại một kết quả thấy được có ý nghĩa đối với một actor cụ thể nào đó

Trang 14

Chương 1: PHÂN TÍCH VÀ LỰA CHỌN GIẢI PHÁP CHO ĐỀ TÀI

Đề tài “Triển khai ứng dụng CRM nền tảng cloud sử dụng cho hệ thống

giáo dục” là đề tài nhằm hướng đến một ứng dụng có thể được sử dụng một

cách dễ dàng, thuận tiện cho tất cả hệ thống trường đại học, cao đẳng trong

nước Góp phần nâng cao uy tín và hình ảnh của trường, hoạt động đào tạo

được kiểm soát một cách hiệu quả, góp phần nâng cao chất lượng đào tạo,

giảm chi phí cho nhà trường đồng thời cũng là cầu nối giữa nhà trường và gia

đình

Ứng dụng mà đề tài xây dựng là sự kết hợp của công tác quản lý sinh

viên và công tác nâng cao chất lượng đào tạo, cũng như sức ảnh hưởng của

trường đối với xã hội mà theo cách hiểu của nhóm gọi đó là CRM Để xây

dựng ứng dụng này nhóm đi vào phân tích chi tiết:

-Đầu tiên là thông tin trao đổi giữa trường học, học sinh, gia đình

một cách nhanh chóng, gần gũi hơn, thân mật hơn Hệ thống cần sử dụng kênh

gởi SMS, Email để thực hiện trao đổi thông tin đến học sinh, sinh viên, bố, mẹ,

gia đình của học sinh, sinh viên Các nội dung trao đổi như: Điểm số, hạnh

kiểm, nhắc lịch thi, lich học, những thông tin về tình hình học tập, vắng mặt tại

lớp học Những chương trình học mới, thông báo học bổng, học phí Hoạt

động này sẽ được thực hiện tự động theo kế hoạch đề ra

-Hệ thống sẽ có các hoạt động đặc trưng hơn trong việc chăm sóc các

mối quan hệ, mở rộng các mối quan hệ đến bố mẹ, gia đình của học sinh, sinh

viên của trường Chẳng hạn như xem xét việc trong 1 đại gia đình, nếu con

người anh học trường đó, thì con của người em là đối tượng dễ bị thuyết phục

nhất trong việc chọn trường đó để học Mở rộng ra hơn nữa là các mỗi quan hệ

khác giữa bạn bè những người có uy tín và tiếng nói trong xã hội

- Cách thức thực hiện các chương trình tiếp cận trường học phổ

thông, các đầu mối để quảng bá chương trình đào tạo, mời gọi học sinh tham

gia ứng tuyển vào trường sẽ được thực hiện, ai được chọn để tạo sự ảnh hưởng

gây sức thuyết phục, ai là đối tượng cần gây ảnh hưởng sẽ được hệ thống ghi

Trang 15

lại Phương thức chia sẻ đa cấp Cách mở rộng sức ảnh hưởng qua cách thức

khai thác mối quan hệ Nó thật sự hiệu quả để xem xét trong hoạt động của các

trường Cách hệ thống tổ chức, quản lý, điều phối, và thực hiện

- Với “Đào Tạo” có những đặc trưng riêng biệt Hoạt động tuyển

sinh thường có chu kỳ 12 tháng Trong một chu kỳ dài như thế này Hoạt động

tiếp thị, giới thiệu dịch vụ đào tạo của trường cũng cần phân bổ như thế nào

cho hợp lý Hoạt động tiếp thị có thể làm được là:

 Email thông báo ngành học mới hàng loạt

 Email chia sẽ tin tức định kỳ (Newsletter) Ví dụ: Báo cáo chuyên

ngành, Báo cáo khoa học, Bảo vệ luận văn

 Hoạt động xin góp ý kiến và nhận phản hồi ý kiến hoạt loạt về

một vấn đề nào đó của trường (một dạng Form lấy ý kiếnonline)

- Công tác giao tiếp với phụ huynh, gia đình học sinh của bộ phận

văn phòng được tổ chức và kiểm soát chặt chẽ Có thể có đánh giá được mức

độ hài lòng của học sinh, sinh viên, phụ huynh, gia đình đối với trường học

Công tác tiếp nhận các phản hồi, góp ý, các yêu cầu từ phụ huynh học sinh để

rút ra được những điểm gì cần cải tiến để nâng tầm ảnh hưởng và hình ảnh của

nhà trường trong học sinh, phu huynh Các hoạt động giao tiếp với phụ huynh

có thể làm được là:

 Cổng thông tin cho sinh viên, phụ huynh để xem điểm online,

xem thông tin học lực, thông tin điểm danh

 Phiếu khảo sát online

 SMS theo cú pháp để nhận điểm, học lực, thông báo vắng mặt

- Hai đối tượng khách hàng chính trong hệ thống CRM này là sinh

viên chính quy và sinh viên tiềm năng, vậy thì khâu chuyển tiếp sẽ nằm ở đâu

và khi nào? Khâu chuyển tiếp đó là khâu chuyển từ sinh viên tiềm năng thành

sinh viên chính quy Việc chuyển giao và tiếp nhận được thực hiện bởi hai bộ

phận quản lý sinh viên tiềm năng và sinh viên chính quy

Trang 16

1.2 Lựa chọn giải pháp cho đề tài

Từ những phân tích ở trên nhóm quyết định lựa chọn phát triển trên nền

tảng cloud computing Sản phầm là một phần mềm, khi lựa chọn cloud thì

chắc chắn SaaS là hướng xây dựng tất nhiên

Với cloud computing vấn đề chia sẻ ứng dụng cho nhiều trường dùng chung

mà mang lại hiệu quả cao nhất và dễ dàng, tiện lợi trong việc sử dụng sẽ được

giải quyết

Nhưng làm sao để có thể xây dựng ứng dụng với đầy đủ các chức năng

đảm bảo đáp ứng các mong muốn đã phân tích ở mục 1.1 thì việc biết đến

SugarCRM đã giúp nhóm tìm ra cho mình lối đi và nhóm quyết định lựa chọn

SugarCRM làm điểm tựa phát triển

SugarCRM vừa là tên công ty cũng vừa là tên của một dự án phần mềm

nguồn mở Công ty SugarCRM được thành lập ở thung lũng Silicon, nhận

được khoản vốn đầu tư khoảng 25 triệu USD và được biết đến như một công ty

chuyên về phần mềm nguồn mở Mô hình kinh doanh của họ là phát triển các

sản phẩm phần mềm nguồn mở và thu lợi nhuận từ việc bán dịch vụ, sản phẩm

cho người dùng

Phiên bản miễn phí và mã nguồn mở của Sugar hiện tại có tên là

SugarCRMCommunity Edition Version 6.5 Đề tài lựa chọn SugarCRM làm

điểm tựa phát triển vì các lý do sau:

- Tính an toàn và ổn định: SugarCRM được xây dựng và củng cố

tính an toàn và ổn định Đây là tính năng mà nhóm phát triển quan tâm nhất

bởi vì một sản phẩm hướng đến điện toán đám mây thì phải đáp ứng được các

nhu cầu bảo mật tốt nhất

- Nền tảng phát triển lâu dài: Bắt đầu phát triển từ tháng 4/2004

Sugar đã trải qua hơn 9 năm phát triển nhưng vẫn giữ vững được chỗ đứng

trên thị trường SugarCRM đối với các lập trình viên được biết như một

Famework với khả năng tùy chỉnh cao Điều đó chứng tỏ Sugar là nền tảng

vững chắc và là sự lựa chọn duy nhất

- Cộng đồng mạnh: những ứng dụng phát triển lớn mạnh như hiện

nay đòi phải phải có cộng đồng lớn mạnh Đội ngũ này là vừa Fan trung thành

Trang 17

với ứng dụng, luôn không ngừng tìm hiểu và cải tiến ứng dụng, vừa chính là

những người có thể trợ giúp nhà phát triển triển khai ứng dụng thành công

- Opensource là một lợi thế: bản tuyên ngôn mã nguồn mở GNU

đã chỉ rõ 4 tính tự do (Tự do chạy phần mềm, tự do tìm hiểu hoạt động của

phần mềm, tự do tái phân phối bản sao, tự do cải tiến và phát hành cải tiến ra

công cộng) Là mục đích mà các nhà phát triển hướng đến cho sản phẩm của

mình

- Tài liệu và miễn phí: tài liệu là một phần không thể thiếu khi bắt

đầu nghiên cứu phần mềm, đặc biệt là phần mềm có cấu trúc phức tạp như

Sugar Các tài liệu này 1 phần được chính SugarCRM chia sẻ và phần còn lại

do kinh nghiệm của các nhà phát triển chia sẻ với nhau Nguồn tài liệu nổi

tiếng được biết đến ở các trang như:

- http://developers.sugarcrm.com

- http://support.sugarcrm.com

và nhiều blog nổi tiếng khác của các lập trình viên

Chương 2 và chương 3 của báo cáo sẽ làm rõ hơn về cloud computing,

CRM và sugarCRM

Trang 18

Chương 2: GIỚI THIỆU VỀ CRM VÀ SUGARCRM

2.1.1 Khái niệm cơ bản về CRM

CRM là viết tắt của Customer Relationship Managemet - Quản trị quan

hệ khách hàng Khái niệm về CRM xuất hiện vào đầu thập niên 1970, khi các

đơn vị kinh doanh thể hiện nhiều sự chuyển biến trong quan niệm từ “định

hướng sản phẩm” sang “định hướng khách hàng” Đó là chiến lược của các

công ty 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 họ Thiết lập mối quan hệ tốt đẹp

với khách hàng có ý nghĩa đặc biệt quan trọng đối với sự thành công của mỗi

công ty nên đây là vấn đề hết sức được chú trọng Có nhiều yếu tố công nghệ

liên quan tới CRM nhưng không phải CRM là một thuật ngữ công nghệ thuần

tuý Cách hiểu đúng nhất đối với CRM là: Đó là toàn bộ các quy trình thu thập,

tổng hợp và phân tích thông tin về khách hàng, hàng bán, hiệu quả của các

công tác tiếp thị, khả nǎng thích nghi của công ty đối với các xu hướng của thị

trường nhằm mục đích nâng cao hiệu quả hoạt động kinh doanh, mang lại lợi

nhuận cao nhất cho công ty

2.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 chương trình 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

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

Trang 19

2.1.3 Việc triển khai CRM được tiến hành như thế nào?

Việc triển khai chương trình CRM không phải chỉ đơn giản là mua các

phần mềm thích hợp và cài đặt vào hệ thống Để chương trình CRM phát huy

tính hiệu quả, trước hết các tổ chức cần phải quyết định những loại thông tin

nào về khách hàng cần phải quan tâm và sử dụng những thông tin này với mục

đích gì Ví dụ, nhiều tổ chức tài chính lưu trữ thông tin "quãng đời" của khách

hàng nhằm mục đích tiếp thị các sản phẩm đảm bảo tới khách hàng ở những

khoảng thời gian thích hợp, sát với nhu cầu của khách hàng

Tiếp đó, các tổ chức cần phải xem xét các con đường khác nhau mà

thông tin của khách hàng được ghi nhận, dữ liệu về khách hàng được lưu trữ

như thế nào và ở đâu cũng như cách thức những dữ liệu này hiện đang được sử

dụng Một công ty có thể tương tác với khách hàng theo rất nhiều cách khác

nhau, chẳng hạn qua đường thư tín, Website, cửa hàng thực, trung tâm hỗ trợ

khách hàng, lực lượng bán hàng cơ động hoặc các chiến dịch tiếp thị và quảng

cáo Một hệ thống CRM mạnh phải có khả nǎng liên kết các "giao diện với

khách hàng" này với nhau Những luồng dữ liệu được thu thập qua các hệ

thống chức nǎng (như hệ thống bán hàng và quản trị kho hàng) sẽ được phân

tích để tìm ra các hình mẫu chung nhất cho từng nhóm khách hàng riêng biệt

Các chuyên gia phân tích của công ty sẽ xem xét kỹ càng các dữ liệu thu thập

và đưa ra đánh giá tổng quan về các nhóm khách hàng hoặc các vùng dịch vụ

cần được cải thiện chất lượng phục vụ

2.1.4 Có các chỉ số cho nhu cầu về triển khai dự án CRM?

Không có một cách thật cụ thể Tuy nhiên, để đánh giá nhu cầu của việc

triển khai dự án CRM, có thể dựa vào số lượng các kênh khách hàng sử dụng

để tương tác với công ty Càng có nhiều kênh, nhu cầu triển khai một hệ thống

CRM, qua đó doanh nghiệp có được một "khung nhìn" tập trung về khách

hàng là càng lớn

2.1.5 Việc triển khai một hệ thống CRM cần thời gian bao lâu?

Một số nhà cung cấp cho biết "giải pháp" CRM của họ có thể được cài

đặt và đi vào hoạt động chỉ trong phạm vi một tuần lễ Tuy nhiên, những "giải

pháp" này không hiệu quả về dài hạn vì nó không có khả năng cung cấp cho

Trang 20

các nhà quản trị những thông tin tổng quan qua nhiều phân đoạn khách hàng

khác nhau Thời gian cần thiết để triển khai một dự án CRM đúng nghĩa phụ

thuộc vào mức độ phức tạp và các thành phần của dự án

2.1.6 Các loại dữ liệu mà dự án CRM cần phải thu thập?

Các dữ liệu điển hình mà một dự án CRM cần phải thu thậpgồm:

- Phản ứng của khách hàng đối với các chiến dịch khuyếchtrương và khuyến mại

- Ngày thực hiện đơn hàng và vận chuyển

- Số liệu về mua hàng và bán hàng

- Thông tin về tài khoản khách hàng

- Các dữ liệu đǎng ký qua Web

- Các hồ sơ hỗ trợ và dịch vụ

- Các dữ liệu nhân khẩu học

- Dữ liệu về bán hàng qua mạng

2.1.7 Đâu là chìa khóa thành công trong việc triển khai CRM?

Hãy phân tích dự án CRM thành các giai đoạn có thể quản lý được, từ

việc tiến hành các chương trình thử nghiệm đến việc đặt ra các mốc tiến độ

trong thời gian ngắn hạn Bắt đầu với một chương trình thử nghiệm, hợp nhất

dữ liệu của tất cả các phòng và nhóm làm việc mà qua đó có thể triển khai dự

án một cách nhanh nhất Dự án thử nghiệm vẫn phải có độ nhỏ gọn và mức

linh động cần thiết để có thể đổi cho phù hợp trong suốt thời gian tiến hành

Phải tính toán đầy đủ về lượng dữ liệu phải thu thập (có thể rất nhiều)

và đảm bảo rằng hệ thống cho phép có thể mở rộng khi cần thiết

Cân nhắc kỹ lưỡng về các dữ liệu được thu thập và lưu trữ Không phải

thu thập tất cả các loại dữ liệu mà chỉ những dữ liệu cần thiết Lưu trữ các dữ

liệu không sử dụng tới sẽ lãng phí thời gian và tiền bạc

Có khả nǎng nhận ra các đặc trưng cá nhân của khách hàng và phản ứng

một cách phù hợp Ví dụ, một hệ thống CRM nên có chức nǎng đặt giá sản

phẩm linh động phù hợp với các đối tượng khách hàng cụ thể

Trang 21

2.1.8 Lý do thất bại của một dự án CRM?

Có nhiều lý do dẫn đến sự thất bại của một dự án CRM Ngay từ đầu,

không thể có được một bức tranh trung thực, đẩy đủ về khách hàng nếu thiếu

sự truyền đạt, chia sẻ thông tin giữa những người, bộ phận trong "chuỗi" quan

hệ khách hàng Thiếu sự truyền đạt, chia sẻ thông tin làm cho các ứng dụng

công nghệ tuy được triển khai nhưng không không được hỗ trợ về mặt con

người Ví dụ, nếu bộ phận bán hàng luôn tìm cách từ chối cung cấp các thông

tin về khách hàng, dự án CRM không thể thành công

2.1.9 Ngành công nghiệp nào đang dẫn đầu về việc ứng dụng

CRM

Hiện nay, các công ty dịch vụ tài chính và viễn thông là 2 ngành đang

dẫn đầu trong việc ứng dụng CRM Tiếp đó là các công ty sản xuất hàng tiêu

dùng và các công ty bán lẻ ít ứng dụng CRM nhất là các công ty thuộc ngành

công nghiệp nặng

(tuvancrm.com - Theo CIO.com)

2.2.1 Kiến trúc SugarCRM

SugarCRM là phần mềm mã nguồn mở sử dụng hệ điều hành LAMP

(Linux, Apache,MySQL và PHP) Kể từ phiên bản 1.0, đội ngũ phát triển

SugarCRM đã thêm nhiều hỗ trợ cho mỗi hệ thống hoạt động (bao

gồm Windows, Unix và Mac OSX) mà trên những hệ thống đó sử dụng ngôn

ngữ lập trình PHP chạy trên Microsoft IIS Web server, Microsoft SQL Server,

và Oracle databases

Từ khi phát triển SugarCRM Open Source vào năm 2004, những nhân

viên của SugarCRM đã thiết kế mã nguồn ứng dụng cho phép những nhà phát

triển có thể tự kiểm tra và chỉnh sửa được Cơ sở ứng dụng Sugar có khuôn

mẫu mở rộng rất phức tạp được xây dựng trên ứng dụng cho phép những nhà

phát triển có thể có những thay đổi quan trọng trên ứng dụng theo cách thức tối

ưu và theo từng kiểu riêng biệt SugarCRM được thiết kế để hỗ trợ tối đa cho

những người sử dụng dù biết về code hay không biết về code php cũng có thể

có những tùy biến trong hệ thống của SugarCRM để đáp ứng nhu cầu của

Trang 22

người sử dụng Nếu người sử dụng không biết về code php có thể sử dụng

công cụ developer trong màn hình admin để có những thiết lập cần thiết

Các ứng dụng của SugarCRM được xây dựng dựa trên module

framework, khi ứng dụng bắt đầu chạy sẽ gọi các entry point lên (mặc định sẽ

gọi index.php hoặc soap.php)

Entry point chính của SugarCRM khi được gọi lên là index.php Có 3

thông số chính trong việc gọi các entry point đó là:

- Module: sẽ gọi đến module được truy cập

- Action: gọi đến hành động được thực hiện khi gọi module

- Recort: là id dùng để truy cập

Tất cả các module được tạo ra hoặc cài đặt thông qua module loader

đều phải tồn tại trong đường dẫn <root><sugar/modules/tên module Dưới đây

là cấu trúc các thư mục trong SugarCRM

Cache : Các thư mục cache khác nhau được viết cho thư mục hệ thống

nhằm hạn chế những sự tiếp cận cơ sở dữ liệu và tăng tốc độ hiển thị nội dung

vì khi load trang web lên nội dung sẽ được lấy trong bộ nhớ cache

Custom: Thư mục này đảm nhận việc tập trung lại các chỉnh sửa của

những người phát triển, khi các nhà phát triển có những thay đổi trong Studio

Hình 2.1: Cấu trúc thư mục trong sugarCRM

Trang 23

thì trong thư mục custom sẽ tự động sinh ra những code tương ứng với các

thay đổi đó, nhà phát triển hoàn toàn có thể có những chỉnh sửa cần thiết cho

hệ thống của mình bằng cách chỉnh sửa trong module custom này

Data: những files hệ thống quan trọng được lưu trữ tại đây, đáng chú ý

nhất là lớp cơ sở SugarBean nó kiểm soát trật tự ứng dụng mặc định cho mọi

đối tượng trong Sugar

Include: Nhiều chức năng có ích của Sugar được lưu trữ ở đây cũng

như những hàm xử lý khác mà Sugar dùng như là một phần trong hoạt động

của nó Đáng lưu ý nhất là file utils.php file nó chứa hầu hết các chức năng có

lợi rộng rãi nhất được sử dụng

Metadata: Thư mục này chứa các mối quan hệ giữa các module với

nhau

Modules: Bao gồm tất cả các chức năng trong hệ thống được hiển thị

trên web Những chương trình chức năng Custom được lắp đặt thông qua

Module Loader cũng hiển thị ở đây, các thao tác của người phát triển đều có

thể thực hiện ở thư mục Modules nhưng như thế sẽ ảnh hưởng cho việc tập

trung code và khó cho việc chỉnh sửa sau này

Đó là những module chính trong SugarCRM ngoài ra cũng còn có

những module khác như: service, soap, themes…

Thông thường mỗi module đại diện cho một thực thể tương ứng trong

mục đích kinh doanh, ví dụ như là module “contact” trong SugarCRM Một

module bao gồm 3 phần chính đó là lược đồ dữ liệu, giao diện người dùng và

chức năng ứng dụng Dưới đây là cấu trúc thư mục của một module của

SugarCRM :

Trang 24

Dashlets: Sẽ là nơi chứa các mảng dùng để lưu trữ thông tin của

module có thể hiện thị ở trang chủ, mặc định ở trang chủ trong SugarCRM sẽ

hiển thị các thông tin chính của từng module Vì vậy nếu muốn hiển thị thông

tin gì của module ra ngoài màn hình trang chủ thì khai báo ở đây Mặc định

của Dashlets sẽ lấy màn hình Listview làm màn làm dashlets

Language: Là thư mục chưa định nghĩa của các chuỗi hiển thị trong

module Vì SugarCRM là một phần mềm đa ngôn ngữ, nên tất các các nhãn

của module sẽ được định nghĩa tại tại thư mục này để tiện lợi cho việc thay đổi

ngôn ngữ mà không ảnh hưởng đến việc hiển thị các chuỗi hiển thị ra ngoài

ứng dụng

Metadata: Thư mục này có nhiêm vụ lưu các file hiện thị của module

bao gồm việc hiển thị các subpanel, màn hình listview, detailview, editview

Tpls: Thư mục này chứa các dòng HTML đảm nhiệm việc hiển thị dữ

liệu ra bên ngoài màn hình ứng dụng

Views: Cách thức hiển thị dữ liệu của SugarCRM được sử dụng bằng

nhiều cách, và Views chính là thư mục để đảm nhiệm một trong các công việc

Hình 2.2: Cấu trúc thư mục của một module trong

SugarCRM

Trang 25

đó, nơi này sẽ lưu các file php của màn hình editview, detailview hay là

listview

Khi giới thiệu về các thành phần của module thường hay nhắc đến màn

hình editview, detailview hay listview, các màn hình này sẽ đảm nhiệm những

công việc cụ thể cho việc hiển thị như sau:

ListView: Là màn hình sẽ hiển thị các danh sách các dữ liệu có trong

module, màn hình sẽ hiển thị mặc định khi nhấp vào một module nào đó, trong

màn hình này còn có các chức năng như search

EditView: Là màn hình hiển thị ra các trường để hiển thị các trường dữ

liệu hiện có của module để người sử dụng nhập vào

DetailView: Là màn hình hiển thị thông tin chi tiết dữ liệu đã được nhập

và đã được lưu xuống cơ sở dữ liệu

Bên cạnh các thư mục chính trên SugarCRM còn bao gồm những tâp tin

bổ sung như sau:

Form.php: Tập tin này có chức năng làm cho Javascript xác nhận các

hành động chỉnh sửa khi người sử dụng có những thay đổi

Menu.php: Tập tin này làm nhiệm vụ hiển thị ra các phím tắt menu,

được hiển thị ở bên trái phía trên của màn hình sử dụng, mỗi menu này sẽ liên

kết với màn hình listview, hay editview tùy theo từng trường hợp sử dụng

Vadefs.php: Tập tin này sẽ định nghĩa các trường dữ liệu của module,

các trường dữ liệu có thể được định nghĩa để lưu xuống database hoặc không

cho lưu xuống database

SugarBean.php: Tập tin này nằm dưới thư mục '<sugar root> / dữ liệu

chứa các lớp cơ sở SugarBean đều được sử dụng Bất kỳ module đọc, viết hoặc

hiển thị các dữ liệu sẽ mở rộng lớp này SugarBean thực hiện tất cả các

chức năng cho dữ liệu tương tác, xử lý mối quan hệ,

2.2.2 Tùy biến trong SugarCRM

SugarCRM được phát triển để giúp các người sử dụng dù không biết về

code PHP vẫn có thể có những chỉnh sửa về giao diện hoặc viết thêm các

module đơn giản để đáp ứng các yêu cầu của người sử dụng Phần này sẽ giải

thích các cách khác nhau để tùy chỉnh SugarCRM

Trang 26

Cấu trúc các thư mục trong SugarCRM được tạo ra để giúp thực hiện

các tuỳ biến các module hiện tại hoặc tạo ra các module hoàn toàn mới Thông

qua các thành phần khác nhau, người sử dụng có thể mở rộng các chức năng

của SugarCRM một cách hiệu quả Với Module Builder và các công cụ Studio,

có sẵn từ trang chủ admin, cho phép người sử dụng có thể thực hiện các tùy

chỉnh phổ biến Ngoài ra người sử dụng có thể tiếp tục mở rộng phát triển hệ

thống bằng cách thêm các đoạn code PHP tùy ý trong các file của thư mục

Custom

2.2.2.1 Tùy biến trong SugarCRM bằng công cụ develop

Các tùy chỉnh phổ biến được thực hiện với các bộ công cụ phát triển

được cung cấp trong màn hình quản trị của SugarCRM Những công cụ này

bao gồm:

Studio - Chỉnh sửa Dropdowns, Fields, Layouts và Nhãn.

Module Builder - Xây dựng các module mới để mở rộng các

chức năng của SugarCRM

Module Loader - Thêm hoặc loại bỏ các module SugarCRM, chủ

đề, và các gói ngôn ngữ

Dropdown Editor - Thêm, xóa, hoặc thay đổi danh sách thả xuống

trong ứng dụng

Rename Tabs - Thay đổi nhãn của các tab module.

Display Tabs Module và Subpanels - Chọn tab module và bảng để hiển

thị trong ứng dụng

Hình 2.3: Các công cụ trong developer Tools

Trang 27

Configure Grouped modules - Tạo, chỉnh sửa và gom nhóm các

module trong SugarCRM

Bởi vì SugarCRM là một ứng dụng mã nguồn mở, người sử dụng có thể

truy cập vào code Nhưng những tùy chỉnh code của người sử dụng thực hiện

trong các tập tin cốt lõi cần phải được repair lại cho đồng nhất với các thư mục

khác để tránh xảy ra xung đột

Các bước để tạo mới 1 module trong SugarCRM dựa trên các công cụ

có sẵn trong trang chủ của Admin Trong SugarCRM mỗi bảng dữ liệu đều

ứng với mỗi module được đặt tên tương ứng, ngoài ra SugarCRM còn hỗ trợ

cho việc tạo các mối quan hệ giữa các module với nhau thông qua công cụ

studio Dưới đây là các hình ảnh cũng như thao tác minh họa cho việc tạo mới

các module và thiết lập các mối quan hệ giữa các module với nhau

Bước 1: Tạo mới package (package là một gói có thể chứa một hoặc nhiều

module)

1 Tạo mới một package

B1: Vào Admin  Module

Bulder

Màn hình Module Builder

Hình 2.4: Công cụ repair trong system

Trang 28

B2: Tạo mới một package,

điền tên package, key và lưu

lại

Màn hình tạo mới một package

Bảng 2.1: Tạo mới một package trong SugarCRM

Để có thể tạo mới được một module trong hệ thống thì trước hết cần

phải tạo ra các package để chứa các module cần tạo mới, module builder giúp

tạo các gói package và xuất ra file Zip để người sử dụng có thể dễ dàng cài đặt

và di chuyển khi có những thay đổi trong SugarCRM

Bước tiếp theo sau khi tạo mới package là người sử dụng tạo các

module mới cũng như thiết lập các fields, các mối quan hê, các nhãn…

Bước 2: Tạo mới module

2

Tạo mới một module

B1: Click New Module

B2: Điền thông tin module

 Module Name

 Label

 Chọn Type

Màn hình tạo mới một một module

Bảng 2.2: Tạo mới một module trong SugarCRM

Trang 29

Nằm trong số sáu mẫu đối tượng có chứa các chức năng CRM được xây

dựng trước đối với từng trường hợp sử dụng CRM Những đối tượng này là:

“basic”, “company”, “file”, “issue”, “person”, and “sale” Mẫu “basic” cung

cấp các field như: tên, ngày tạo, và mô tả Phần còn lại của các mẫu này có

chứa các lĩnh vực để mô tả các thực thể tương tự lần lượt là “Accounts”,

Documents, “Cases”, “Contacts”, và “Opportunities” Vì vậy, để tạo ra một

Module để theo dõi các loại tài khoản, người sử dụng nên chọn mẫu

“Company” Tương tự như vậy, để theo dõi các tương tác của con người,

người sử dụng nên chọn “People” Người sử dụng dựa trên mục đích của mình

để chọn các mẫu có sẵn trong module Builder Nếu người sử dụng muốn tạo

mới module với các field cơ bản thì nên chọn mẫu “basic”

Khi đã tạo mới module và chọn các mẫu mặc định, người sử dụng tiến

hành tạo mới các field và các nhãn cho các field đó

Bước 3: Dùng studio trong module builder để tiến hành các chỉnh sửa

B2: Điền thông tin Fiels  Save

Màn hình Add Field / Edit Field

Trang 30

B: Edit View/Detail View

B1: Chọn Student  Layouts

EditView

- EditView là giao diện thêm

mới hoặc chỉnh sửa một dòng

dữ liệu với Module đó

- DetailView là giao diện hiển

thị chi tiết của một trường dữ

liệu trong Modulel đó

B2: Tại đây người dùng có thể

kéo thả những Fields (đã add)

từ bên cửa sổ Toolbox sang

cửa sổ Layout và ngược lại 

B2: Tại đây người dùng có thể

kéo thả những Fields (đã add)

từ bên cửa sổ Hidden sang

cửa sổ Available và ngược lại.

Save

Màn hình List View

Bảng 2.3: Tùy chỉnh module bằng công cụ Studio trong module builder

Với các thao tác trên người sử dụng có thể thiết lập các màn hình edit

view, detail view, list view, quick create trong phần layout

Trang 31

Edit view: là màn hình tạo mới hoặc chỉnh sửa thông tin khi người

dùng bấm vào button edit hay create của module đó

Detail view: là màn hình xem chi tiết các thông tin.

List view: là màn hình danh sách các thông tin của module, cũng là màn

hình mặc định khi chọn vào mỗi module

Quick create: là màn hình tạo mới các thông tin cần thiết của mỗi

module

Trong module builder còn hỗ trợ cho việc tạo giao diện cho các

dashlet, popup view, search và các subpanel

Bước 4: Deloy module

Sau khi đã tạo được các thông tin cần thiết cho module, người sử dụng

sẽ tiến hành Deloy hoặc là Publish để có thể đưa module mới tạo vào trong hệ

Sau khi deploy Module này

đã được cài đặt vào Sugar

Chúng ta có thể vào Menu để

sử dụng Module này Màn hình Deploy module

Bảng 2.4: Deloy module để đưa vào sử dụng trong hệ thống SugarCRM

Sau khi packages mới được published, người sử dụng có thể xác nhận

packages này vào hệ thống của Sugar thông qua module Loader người sử dụng

sẽ upload file Zip vừa được publish

Trang 32

Đó là các bước cơ bản để tạo mới một module đưa vào hệ thống Sau

khi đưa module mới vào hệ thống nếu người sử dụng có những thay đổi, cũng

như muốn xây dựng các mối quan hệ giữa module mới tạo với các module cũ

trong hệ thống, có thể vào phần Studio trong trang của Admin để tiến hành các

chỉnh sửa

Trong phần Studio này người sử dụng có thể tạo các mối quan hệ, cũng

như thay đổi lại các nhãn cho các module, người sử dụng có thể tạo các quan

hệ: 1-1, 1-n, n-n trực tiếp thông qua công cụ này

Đó chính các các bước để người sử dụng có thể tạo mới một module

đơn giản, và tạo các quan hệ giữa các module trong hệ thống mà không cần

hiểu biết nhiều code PHP Tuy nhiên nếu muốn mở rộng các ứng dụng của hệ

thống cần có những hiểu biết về cấu trúc của từng thư mục thì mới có chỉnh

sửa sâu vào hệ thống Dưới đây là phần giới thiệu về chức năng của từng thư

mục

Thư mục Custom: Hệ thống của Sugar có chứa 1 thư mục gọi là

“custom” Thư mục này chứa đựng các file Metadata và code để mở rộng các

chức năng của Sugar Một số file trong thư mục này được tự động tạo ra nhờ

Module Builder, Studio, và Workflow tools (Chỉ có ở Sugar Professional và

Sugar enterprise) và các file còn lại có thể được thêm vào hoặc chỉnh sửa trực

tiếp tuy vào người sử dụng Các file trong thư mục Custom bao gồm:

Vardefs : file này được dùng để định nghĩa các trường thuộc tính cho

một module nào đó Các vardefs có sẵn có thể được chỉnh sửa và ta có thể tạo

Hình 2.5: Tạo relationship trong công cụ studio

Trang 33

ra các vardefs mới bằng cách thay đổi các file vardefs trong thư mục custom.

Người sử dụng nếu muốn chỉnh sửa hoặc thêm vào các file mới trong các thư

mục này:

custom/Extension/modules/<MODULE_NAME>/Ext/Vardefs/

Tuy nhiên cũng lưu ý đối với các file trong các thư mục:

custom/modules/<MODULE_NAME>/Ext/Vardefs/vardefs.ext.php

được tự động tạo ra bởi hệ thống và không nên chỉnh sửa Các file Vardefs có

thể thay thế toàn bộ các định nghĩa của các field hoặc chỉ thêm vào Nên repair

lại để các field được đồng nhất với nhau (Admin->Repair->Quick Repair and

Rebuild)

Languages: Người sử dụng có thể ghi đè lên các chuỗi hiển thị bằng

một ngôn ngữ nào đó hoặc tạo ra các chuỗi hoàn toàn mới bằng các chỉnh sửa

trong thư mục:

/custom/Extension/modules/<MODULE_NAME>/Ext/Language/

(for $mod_strings only)

2.2.2.2 Tùy biến trong SugarCRM bằng code

Trong khi lợi ích chính của module builder là người quản trị có thể tạo

một module hoàn toàn mới mà không phải viết code, tuy nhiên vẫn còn một

vài công việc cần phải viết bằng code PHP, lấy ví dụ như là : chỉnh sửa các

quan hệ hoặc các dịch vụ liên quan đến Web Serivce

Ý nghĩa của các biến trong SugarCRM:

id - Một id duy nhất cho module.

language - Một mảng trong đó chứa chi tiết các file ngôn ngữ riêng lẻ

cho Module của người phát triển Patch nguồn, file đích, và tên language pack

phải được quy định cho mỗi file language

layoutdefs - Một mảng trong đó chi tiết các file layoutdef riêng lẻ, được

sử dụng chủ yếu để thiết lập các subpanels trong các Module khác Các patch

nguồn và Module đích phải được quy định cho mỗi file layoutdef

layoutfields - Một mảng trong đó chi tiết các fields custom được thêm

vào các layout hiện có Các fields sẽ được thêm vào các views edit và detail

của Module

Trang 34

vardefs - Một mảng trong đó chi tiết các files vardef riêng lẻ, được sử

dụng chủ yếu để xác định các fields và các mối quan hệ phi nhiều-nhiều (non

many-to-many) trong các Module khác Các patch nguồn và module đích phải

được quy định cho mỗi file vardef

menu - Một mảng trong đó chi tiết các file menu cho module mới của

người phát triển Một patch nguồn và module đích phải được quy định cho mỗi

file menu

beans - Một mảng trong đó quy định cụ thể các file bean cho module

mới của người phát triển.

class: tên class cơ sở Module.

patch: patch (đường dẫn) đến file Bean của người phát triển nơi mà các

class ở trên được định nghĩa.

tab: Những kiểm soát liệu Module mới của người phát triển có nên hay

không nên xuất hiện như một tab

relationships - Một mảng trong đó chi tiết các file quan hệ, được sử

dụng để liên kết các Module mới của người phát triển với các module hiện có.

Một patch metadata phải được quy định cho mỗi mối quan hệ

custom_fields - Một mảng trong đó chi tiết các field custom để được cài

đặt cho Module mới của người phát triển.

name: tên nội bộ field custom của người phát triển Lưu ý rằng field

custom của người phát triển sẽ được gọi là c_<name>, như là "c_" chỉ dẫn một

field custom

label: Nhãn có thể nhìn thấy field custom của người phát triển

type: loại của field custom Các giá trị được chấp nhận bao gồm text,

textarea, double, float, int, date, bool, enum, và relate

max_size: Kích cỡ lưu trữ đặc tính tối đa lưu trữ của field custom.

require_option: Được sử dụng để đánh dấu các field custom hoặc theo

yêu cầu hoặc là tùy chọn Giá trị được chấp nhận bao gồm tùy chọn và theo

yêu cầu

default_value: Được sử dụng để xác định một giá trị mặc định cho field

custom của người phát triển

Trang 35

ext1: Được sử dụng để xác định một dropdown name (chỉ áp dụng đối

với enum type custom fields).

ext2: không được sử dụng.

ext3: không được sử dụng.

audited: Được sử dụng để biểu hiện một field custom có hay không

được kế thừa Giá trị được chấp nhận bao gồm 0 và 1.

module: Được sử dụng để xác định các module, nơi mà các field

custom sẽ được thêm vào.

Thư mục vadefs đóng vai trò hết sức quan trọng nên việc thao tác ở thư

mục này cần có những hiểu biết nhất định Khi ứng dụng SugarCRM được gọi

lên, các trường được định nghĩa trong thư mục:

custom /modules/C_ /Ext/Vadefs/vardefs.ext.php

sẽ được gọi lên trước, vì thế nên khi định nghĩa các trường dữ liệu thì người sử

dụng nên định nghĩa ở thư mục này hoặc thư mục:

custom/Extension/modules/C_ /Ext/

sau đó vào admin tiến hành repair để đồng nhất dữ liệu

Đây là cách thêm một trường dữ liệu vào module C_Student, với vname

sẽ được khai báo trong thư mục:

?>

Trang 36

Khi đã khai báo xong hết, muốn đưa trường dữ liệu này vào sử dụng thì

vào admin/repair để tiến hành repair cho đồng nhất dữ liệu, khi đó dữ liệu này

sẽ được đồng nhất với dữ liệu trong module gốc

Muốn hiển thị các trường dữ liệu này trên giao diện người dùng, chẳng

hạn giao diện editview thì cần thực hiện như sau:

Vào thư mục custom/mudules/C_Student/metadata/editviewdefs.php chỉnh sửa:

Với các kiến thức về hệ thống SugarCRM người sử dụng có thể thao tác

chỉnh sửa hoặc nâng cấp các module chức năng của mình một cách hiệu quả,

người sử dụng phải có các kiến thức cơ bản về code PHP, Jquery, lập trình

hướng đối tượng… Và muốn trích lọc được dữ liệu phải thao tác được trên

1 => array ( 'name' => 'address_student', 'label' => 'LBL_ADDRESS_STUDENT', ),

),

Trang 37

Chương 3: GIỚI THIỆU VỀ CLOUD COMPUTING

Người ta định nghĩa một cuộc cách mạng là một sự thay đổi trong cách

mọi người suy nghĩ và hành xử, sâu sắc về bản chất và rộng lớn về phạm vi

Theo định nghĩa đó, điện toán đám mây quả thực là một cuộc cách mạng Bắt

đầu từ giữa năm 2007, thuật ngữ công nghệ thông tin có thêm một từ mới, điện

toán đám mây (cloud computing) Điện toán đám mây đang tạo ra một sự thay

đổi cơ bản trong kiến trúc máy tính, phát triển phần mềm, các công cụ và tất

nhiên, cả trong cách chúng ta lưu trữ, phân phối và sử dụng thông tin Mặc dù

điện toán đám mây chỉ là một cách khác để cung cấp các tài nguyên máy tính,

chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi một cuộc cách

mạng trong cách cung cấp thông tin và dịch vụ của các tổ chức

3.1.1 Định nghĩa Cloud Computing

Cloud-computing hiện vẫn là mẫu hình đang tiến hoá, những định nghĩa

về mô hình này vẫn chưa thống nhất, mỗi nhóm nghiên cứu đưa ra định nghĩa

theo cách hiểu, cách tiếp cận riêng của mình

Hình 3.1: Giới thiệu về Cloud Computing

Trang 38

Cloud computing là dịch vụ IT được cung cấp không phụ thuộc vào vị

trí (“The Cloud computing is IT as a Service delivered by IT resource that are

denpendent of location” - The 451 Group)[1]

Cloud Computing cung cấp các tài nguyên IT có khả năng mở rộng và

co giãn, các tài nguyên này được cung cấp dạng dịch vụ thông qua Internet

(“Cloud computing is a style of computing where massively scalable

IT-enabled capabilities are delivered “as a service” to external customers using

Internet technologies - Gartner”)[1]

Những định nghĩa trên đều có một điểm chung là họ cố gắng định nghĩa

Cloud Computing theo hướng thương mại, từ góc nhìn của người dùng cuối

Theo đó, tính năng chủ yếu của Cloud Computing là cung cấp cơ sở hạ tầng và

các ứng dụng về IT dưới dạng dịch vụ có khả năng mở rộng được

Theo Rajkumar Buyya: Cloud là một loại hệ thống phân bố và xử lý

song song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho

người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận

dịch vụ giữa nhà cung cấp và người sử dụng

(“A Cloud is type of parallel and distributed system consisting of a collection

of interconnected and virtualized computers that are dysnamically provisioned

and presented as one or more unified computing resource based on

service-Hình 3.2: Chưa có một cái nhìn khái quát về Cloud

Computing

Trang 39

level agreements established through negotiation between the service provider

and consumers ”)[2]

Theo IBM:

“Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ

thông tin như một dịch vụ Nó là một giải pháp điện toán dựa trên Internet ở đó

cung cấp tài nguyên chia sẻ giống như dòng điện được phân phối trên lưới

điện Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau

và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là

chúng đang chạy trên một hệ thống duy nhất.” [3]

Theo NIST:

Điện toán đám mây là một mô hình cho phép truy cập mạng dễ dàng,

theo yêu cầu, đến một tài nguyên điện toán chia sẻ (như network, máy chủ,

không gian lưu trữ, ứng dụng và dịch vụ), có thể nhanh chóng cung cấp và thu

hồi với chi phí quản lý và tương tác với nhà cung cấp dịch vụ tối thiểu

(“Cloud computing is a model for enabling convenient, on-demand network

access to a shared pool of configurable computing resources (e.g., networks,

servers, storage, applications, and services) that can be rapidly provisioned

and released with minimal management effort or service provider

interaction.”) [4]

Hình 3.3: Định nghĩa về Cloud

Trang 40

Cả ba định nghĩa của Rajkumar Buyya, IBM và NIST đều định nghĩa

Cloud Computing là một hệ phân phối, cung cấp các dạng tài nguyên ảo dưới

dạng dịch vụ một cách linh động theo nhu cầu của người dùng trên môi trường

internet Những định nghĩa trên đã nêu ra những đặc tính cơ bản nhất của điện

toán đám mây và những đặc tính đó sẽ được trình bày rõ hơn trong phần dưới

đây:

3.1.2 Các tính chất của Cloud Computing

Cloud Computing có năm tính chất nổi bật (Essential characteristics)

so với mô hình truyền thống

3.1.2.1 Truy xuất diện rộng (Broad network access)

Cloud Computing cung cấp các dịch vụ thông qua môi trường

internet, ở đó người dùng thích dịch vụ gì thì dùng dịch vụ ấy, dùng bao nhiêu

trả bấy nhiêu, được lựa chọn những dịch vụ tốt nhất ở bất cứ đâu vào bất cứ

lúc nào Như vậy người dùng có kết nối internet là có thể sử dụng dịch vụ,

Cloud Computing Service không yêu cầu người dùng phải có khả năng xử lý

cao, người dùng có thể truy xuất bằng các thiết bị di dộng như điện thoại,

PDA, laptop Cloud Computing giúp người dùng không còn bị phụ thuộc vào

vị trí nữa, họ có thể truy xuất dịch vụ từ bất kỳ nơi nào, bất kỳ lúc nào có kết

nối Internet

Hình 3.4: NIST Visual Model of Cloud Computing Definition

Ngày đăng: 05/04/2015, 16:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w