SlideShare una empresa de Scribd logo
1 de 114
Descargar para leer sin conexión
MỤC LỤC                                                                                                                            Page 1



                                                    MỤC LỤC

CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGARCRM..................... 9
 1.1. Kiến trúc SugarCRM .............................................................................................................. 9
 1.2.      Tùy biến trong SugarCRM ............................................................................................... 14

CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU .................. 31
 2.1.      Giới thiệu công ty RED.................................................................................................... 31
 2.2.      Mô tả bài toán .................................................................................................................. 31
 2.3.      Các yêu cầu cho hệ thống CRM của công ty Red ............................................................ 32
 2.4.      Qui trình hoạt động .......................................................................................................... 34
 2.5.      Lƣợc đồ Usecase .............................................................................................................. 36
    2.5.1.        Usecase của Actor Nhân Viên.................................................................................. 37
    2.5.2.        Usecase của Actor Nhân Sự ..................................................................................... 38
    2.5.3.        Usecase của Actor Kế Toán ..................................................................................... 39
    2.5.4.        Usecase của Actor Manager: .................................................................................... 40
 2.6.      Phân tích yêu cầu về cơ sở dữ liệu ................................................................................... 41
    2.6.1.        Các thuộc tính của Account ..................................................................................... 42
    2.6.2.        Các thuộc tính của Revenues actual ......................................................................... 43
    2.6.3.        Các thuộc tính của Revenues Estimation ................................................................. 44
    2.6.4.        Các thuộc tính của Production Cost Esmation ......................................................... 45
    2.6.5.        Các thuộc tính của Production Cost Actual ............................................................. 46
    2.6.6.        Các thuộc tính của Manpower Cost ......................................................................... 47
    2.6.7.        Các thuộc tính của User ........................................................................................... 47
    2.6.8.        Các thuộc tính của Timesheets ................................................................................. 48
    2.6.9.        Các thuộc tính của Leaving ...................................................................................... 50
    2.6.10.       Các thuộc tính của Salary ......................................................................................... 51
    2.6.11.       Các thuộc tính của Project........................................................................................ 53
 2.7.      Các mẫu Report tham khảo .............................................................................................. 54
    2.7.1.        Mẫu Report Project Cost Estimate ........................................................................... 54
    2.7.2.        Mẫu Report Project Cost Actual (CR) ..................................................................... 55
MỤC LỤC                                                                                                                         Page 2


   2.7.3.       Mẫu Report Project Cost Actual (MA) .................................................................... 56
   2.7.4.       Mẫu Report Profit And Loss (CR) .......................................................................... 57
   2.7.5.       Mẫu Report Profit And Loss (MA) ......................................................................... 57
   2.7.6.       Mẫu Report Revenue............................................................................................... 57
   2.7.7.       Mẫu Report Timesheet (%) ...................................................................................... 58
   2.7.8.       Mẫu Report Timesheet ............................................................................................. 59
 2.8.    Khảo sát hệ thống server đang hoạt động của Red .......................................................... 60

CHƢƠNG 3: THIẾT KẾ HỆ THỐNG .............................................. 61
 3.1.    Module Account ............................................................................................................... 62
 3.2.    Module ManPower Cost .................................................................................................. 63
 3.3.    Module Production cost actual ......................................................................................... 64
 3.4.    Module Production cost estimation .................................................................................. 64
 3.5.    Module Projects ............................................................................................................... 64
 3.6.    Module Revenues Estimation .......................................................................................... 65
 3.7.    Module Revenues Actual ................................................................................................. 65
 3.8.    Module Salary .................................................................................................................. 66
 3.9.    Module Timesheets .......................................................................................................... 67
 3.10.       Module Leaving ........................................................................................................... 67
 3.11.       Module PublicDays ...................................................................................................... 68
 3.12.       Module Report ............................................................................................................. 68
   3.12.1.      Report Estimate Cost................................................................................................ 69
   3.12.2.      Report Actual Cost (MA) ......................................................................................... 69
   3.12.3.      Report Actual Cost (CR) .......................................................................................... 70
   3.12.4.      Report Profit And Loss (CR) ................................................................................... 71
   3.12.5.      Report Profit And Loss (MA) .................................................................................. 71
   3.12.6.      Report Revenues Projection ..................................................................................... 72
   3.12.7.      Report timesheet....................................................................................................... 72
   3.12.8.      Report Timesheets (%) ............................................................................................. 74

CHƢƠNG 4: XÂY DỰNG HỆ THỐNG THỰC TẾ CHO RED ..... 75
 4.1.    Module Account ............................................................................................................... 75
 4.2.    Module Projects ............................................................................................................... 76
MỤC LỤC                                                                                                                           Page 3


  4.3.    Module timesheets ........................................................................................................... 81
  4.4.    Module Teams.................................................................................................................. 84
  4.5.    Module salary ................................................................................................................... 86
  4.6.    Module report ................................................................................................................... 89
     4.6.1.      Report estimate cost ................................................................................................. 91
     4.6.2.      Report actual cost ..................................................................................................... 95
  4.7.    Module Manpower Cost ................................................................................................. 100
  4.8.    Đánh giá hệ thống .......................................................................................................... 101

KẾT LUẬN .......................................................................................... 104
TÀI LIỆU THAM KHẢO .................................................................. 105
PHỤ LỤC 1 .......................................................................................... 106
PHỤ LỤC 2 .......................................................................................... 113
MỤC LỤC HÌNH ẢNH                                                                                       Page 4



                                   MỤC LỤC HÌNH ẢNH

Hình 1: Các module trong SugarCRM ......................................................................10
Hình 2: Cấu trúc các thƣ mục con của một thƣ mục gốc ..........................................12
Hình 3: Các công cụ trong Developer Tools.............................................................14
Hình 4: Công cụ Repair trong System ......................................................................15
Hình 5: Tạo relationship trong công cụ studio ..........................................................23
Hình 6: các quan hệ giữa các module với nhau ........................................................23
Hình 7: Cấu trúc code của file logic hook ................................................................25
Hình 8: Qui trình hoạt động tìm kiếm khách hàng và lập dự án ...............................35
Hình 9: Lƣợc đồ Uscae tổng thể ...............................................................................36
Hình 10: Lƣợc đồ Usecase của Actor Nhân Viên .....................................................37
Hình 11: Lƣợc đồ Usecase của Actor Nhân Sự ........................................................38
Hình 12: Lƣợc đồ Uscase của Actor Kế Toán ..........................................................39
Hình 13: Lƣợc đồ Usecase cho Actor Manager (ngƣời quản lý) ..............................40
Hình 14: Mô hình ERD tổng thể ...............................................................................41
Hình 15: Các thuộc tính của thực thể Account .........................................................42
Hình 16: Các thuộc tính của thực thể revenues actual ..............................................43
Hình 17: Các thuộc tính của thực thể Revenues Estimation .....................................44
Hình 18: Các thuộc tính của thực thể Production Cost Estiamtion ..........................45
Hình 19: Các thuộc tính của thực thể Production Cost Actual .................................46
Hình 20: Các thuộc tính của thực thể Manpower Cost .............................................47
Hình 21: Các thuộc tính của thực thể Users ..............................................................48
Hình 22: Các thuộc tính của thực thể Timesheets.....................................................49
Hình 23: Các thuộc tính của thực thể Leaving ..........................................................50
Hình 24: Các thuộc tính của thực thể Salary.............................................................52
Hình 25: Các thuộc tính của thực thể Project ...........................................................53
Hình 26: WorkFlow của hệ thống Red online timesheet (Red CRM) ......................62
Hình 27: Giao diện màn hình listview của module Account ....................................62
Hình 28: Giao diện màn hình editview của module Account ...................................63
Hình 29: Giao diện tạo mới Manpower Cost ............................................................63
Hình 30: Giao diện tạo mới Prduction cost actual ....................................................64
Hình 31: Giao diện tạo mới Production cost Estimation ..........................................64
Hình 32: Giao diện mới mới Projects .......................................................................65
Hình 33: Giao diện tạo mới Revenues Estimation ....................................................65
Hình 34: Giao diện tạo mới Revenues Actual ..........................................................66
Hình 35: Giao diện tạo mới Salary ...........................................................................66
MỤC LỤC HÌNH ẢNH                                                                                          Page 5


Hình 36: Giao diện khi nhập Timesheets ..................................................................67
Hình 37: Giao diện khi nhập Leaving .......................................................................67
Hình 38: Giao diện khi tạo mới Publicdays ..............................................................68
Hình 39: Giao diện các Report trong hệ thống .........................................................68
Hình 40: Giao diện Report Estiamte Cost .................................................................69
Hình 41: Giao diện Report Actual Cost (MA) ..........................................................70
Hình 42: Giao diện Report Actual Cost (CR) ...........................................................70
Hình 43: Giao diện Report Profit And Loss (CR) ....................................................71
Hình 44: Giao diện Report Profit And Loss (MA) ...................................................72
Hình 45: Giao diện Report Revenues Projection ......................................................72
Hình 46: Giao diện Report Timesheet đƣợc lọc theo dự án .....................................73
Hình 47: Giao diện Report Timesheet đƣợc lọc theo nhân viên ...............................73
Hình 48: Giao diện Report Tímesheet (%) ...............................................................74
Hình 49: Màn hình đ ng nhập vào hệ thống .............................................................75
Hình 50: Màn hình edit account ................................................................................76
Hình 51: Màn hình tạo mới Project ...........................................................................79
Hình 52: Màn hình chi tiết các thông tin liên quan đến Project ...............................80
Hình 53: Màn hình Timesheets .................................................................................84
Hình 54: Màn hình nhập team và xem các user đƣợc thêm vào team ......................86
Hình 55: Màn hình Salary .........................................................................................89
Hình 56: Màn hình danh sách các report .................................................................91
Hình 57: Màn hình Report estimate cost ..................................................................94
Hình 58: Màn hình Report Actual cost .....................................................................99
MỤC LỤC BẢNG                                                                                           Page 6



                                        MỤC LỤC BẢNG


Bảng 1: Tạo mới một package trong SugarCRM...................................................... 16
Bảng 2: Tạo mới một module trong SugarCRM ....................................................... 17
Bảng 3: Tùy chỉnh module bằng công cụ Studio trong module builder ................... 21
Bảng 4: Deloy module để đƣa vào sử dụng trong hệ thống SugarCRM .................. 22
Bảng 5: danh sách các tính n ng cần quản lý cho công ty Red ................................ 34
Bảng 6: Mẫu Report Project Cost Estimation ........................................................... 54
Bảng 7: Mẫu Report Project Cost Actual (CR)......................................................... 55
Bảng 8: Mẫu Report Project Cost Actual (MA) ....................................................... 56
Bảng 9: Mẫu Report Profit And Loss (CR) .............................................................. 57
Bảng 10: Mẫu Report Profit And Loss (MA) ........................................................... 57
Bảng 11: Mẫu Report Revenues ............................................................................... 57
Bảng 12: Mẫu Report Timesheet (%) ....................................................................... 58
Bảng 13: Mẫu report Timesheet ................................................................................ 59
MỞ ĐẦU                                                                      Page 7



                                      MỞ ĐẦU
       Cuộc cách mạng công nghệ thông tin ở thế kỷ 20 đã cho chúng ta thấy ảnh
hƣởng sâu sắc của công nghệ thông tin đến mọi lĩnh vực trong đời sống kinh tế, v n
hóa, xã hội; đƣa xã hội loài ngƣời chuyển mạnh từ xã hội công nghiệp sang xã hội
thông tin, từ kinh tế công nghiệp sang kinh tế trí thức. Nội dung cơ bản của cuộc
cách mạng này là ứng dụng công nghệ cao, hiện đại với công nghệ thông tin và
truyền thông (CNTT&TT) là phƣơng tiện có ý nghĩa quyết định, với trí tuệ và sáng
tạo là nguồn lực quốc gia quan trọng, phục vụ cho việc xây dựng và phát triển một
xã hội ngày càng tốt đẹp hơn. Từ những thập kỉ cuối thế kỷ 20 CNTT&TT đã có
những bƣớc phát triển vũ bão và đã đem lại những thay đổi lớn lao cho cuộc sống
nhân loại.
       CNTT, nhất là mạng Internet làm cho khoảng cách trên thế giới ngày càng
trở nên nhỏ bé. Tri thức và thông tin không biên giới sẽ đƣa hoạt động kinh tế vƣợt
ra khỏi phạm vi quốc gia và trở thành hoạt động mang tính toàn cầu. Trong mọi
hoạt động kinh doanh, khách hàng luôn đóng vai trò trung tâm. Và câu hỏi đƣợc đặt
ra làm sao để quản lý khách hàng đƣợc tốt? Làm sao để khách hàng hợp tác với
công ty lâu dài hơn ? Làm sao để t ng lợi nhuận cho công ty ? Làm sao để t ng sự
cộng tác giữa các nhân viên trong một công ty, một phòng ban ? Làm sao để bảo
mật các thông tin nhạy cảm... Phần mềm quản lí quan hệ khách hàng (CRM) ra đời
nhằm để giải quyết các vấn đề trên.
        Mục tiêu và phạm vi khóa luận
       Mục tiêu của khóa luận tốt nghiệp này chính là triển khai phần mềm quản lý
quan hệ khách hàng cho một doanh nghiệp cụ thể dựa trên phần mềm mã nguồn mở
SugarCRM.
        Cấu trúc khóa luận
       Cấu trúc của khóa luận bao gồm các phần sau:
    Phần mở đầu
    Phần nội dung
MỞ ĐẦU                                                                    Page 8


   Chƣơng 1 giới thiệu nền tảng sugarcrm: các kiến thức cấn biết về cấu trúc thƣ
mục của SugarCRM, các cách chỉnh sửa trong SugarCRM.
   Chƣơng 2 thu thập và phân tích yêu cầu: giới thiệu về công ty red, các yêu cầu
về bài toán, lƣợc đồ usecase, mô hình ERD cho phần mềm, các thuộc tính các lƣu
trữ dành riêng cho từng module
   Chƣơng 3 thiết kế hệ thống: Workflow cho hệ thống, thiết kế giao diện của từng
module
   Chƣơng 4 xây dựng hệ thống thực tế cho Red: dựa vào những thiết kế ban đầu
tiến hành xây dựng hệ thống thực tế.
    Phần kết luận: kết quả đạt đƣợc.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                      Page 9



           CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGARCRM


   1.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 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.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                        Page 10




                     H nh 1: Các module 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 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.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                       Page 11


      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 trong hƣớng dẫn này 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 :
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                      Page 12




            H nh 2: Cấu trúc các thƣ mục con của một thƣ mục gốc


      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.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                      Page 13


       Tpls: Thƣ mục này chƣa các 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 đó, nơi nay
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. Ngoài ra các mối quan hệ giữa module và module cũng có thể đƣợc
định nghĩa ở đây. ( ở các module có thể có các mối quan hệ nhƣ là: 1-n, n-n,1-1).
       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ị
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                     Page 14


các dữ liệu sẽ mở rộng lớp này. SugarBean thực hiện tất cả các nâng nặng cho dữ
liệu tƣơng tác, xử lý mối quan hệ, ...
   1.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.
       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 các 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.
       1.2.1. Tùy biến trong SugarCRM sử dụng công cụ developer
       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:




                    H nh 3: Các công cụ trong Developer Tools
       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ữ.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                       Page 15


        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.
        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.




                      H nh 4: Công cụ Repair trong System


        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)
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                       Page 16


1 Tạo mới package
   B1: Vào
   AdminModule
   Builder
   B2: Tạo mới 1
   package,
   Điền tên package,key
   và save lại.



                           Màn mình module builder




                           Màn hình tạo mới package
                  Bảng 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 đứa 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…
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                     Page 17


   Bƣớc 2: Tạo mới module
2 Tạo mới 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 module
                  Bảng 2: Tạo mới một module trong SugarCRM


      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, đƣợc chỉ định để, 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”,
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                    Page 18


“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 để tạo 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
mới 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
3 Tùy chỉnh module
   bằng công cụ Studio.




      A. Fields
   B1: Chọn test1Fields
   Add Fields
   B2: Điền thông tin
   Fields
       Save lại.
                                   Màn hình edit Fields
      B. EditView
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM               Page 19


  B1: Chọn test1 
  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
         đó.
  B2: Tại đây ngƣời          Màn hình Edit View
  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.
     -   Sau khi thiết kế
         giao diện Edit ta
         chọn Save.


     C. DetailView
  B1: Chọn test1 
  LayoutsDetailView         Màn hình Detail View
     -   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ả
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM   Page 20


  những Fields(đã add) từ
  bên cửa sổ Toolbox
  sang cửa sổ Layout và
  ngƣợc lại.
     -   Cửa sổ Layout
         là nơi chứa
         những fields của
         màn hình
         DetailView của
         Module.
     -   Sau khi thiết kế
         giao diện Detail
         ta chọn Save.


     D. ListView
  B1: Chọn test1 
  LayoutsListView
     -   ListView là giao
         diện Hiển thị
         danh sách các
         Records 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ổ Hidden
  sang cửa sổ Available
  và ngƣợc lại.
     -   Sau khi thiết kế
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                      Page 21


          giao diện List ta
          chọn Save.
      E. Search
   B1: Chọn test1 
   LayoutsSearchBas
   ic Search
      -   Basic Search là
          giao diện Hiển
          thị các tiêu chí
          search các
          record của
          module.
   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ổ Default và
   ngƣợc lại.Nhằm thêm
   bớt các tiêu chí search
   cho module.
      -   Sau khi thiết kế
          giao diện
          Search ta chọn
          Save.
     Bảng 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.
       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 đó.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                     Page 22


      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ệ thống.
4   Deploy Module
    Sau khi tùy chỉnh
    Module bằng công cụ
    Studio chúng ta có thể
    sử dụng Module này
    hoặc Publish ra ngoài để
    cài đặt sau.
       A. Deploy
       -   Để sử dụng
           module này
           chúng ta vào
           Module Buider 
           Test
       -   Sau đó ta chọn
           Deploy
       -   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.
    Bảng 4: Deloy module để đƣa vào sử dụng trong hệ thống SugarCRM
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                      Page 23


     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.
   Đó 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.




                  H nh 5: Tạo relationship trong công cụ studio
    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.




                 H nh 6: các quan hệ giữa các module với nhau
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                      Page 24


      Đó 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 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 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 các
thƣ mục.
      /custom/include/language/ (for $app_strings or $app_list_strings)
      /custom/Extension/application/Ext/Include/
      /custom/Extension/modules/<MODULE_NAME>/Ext/Language/ (for
$mod_strings only)
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                           Page 25


        1.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. Có một trong hai phƣơng pháp có thể là đƣợc
điều này tạoLogic Hook và chỉnh sửa Bean Files.
        1.2.2.1. Tùy biến logic hook
        Logic hook là việc quản lý các sự kiện trong SugarCRM, các sự kiện có thể
gọi đƣợc các action trong hệ thống ví dụ:




                      H nh 7: Cấu trúc code của file logic hook
        Logic Hook bằng cách viết code PHP chứa các quản lý các sự kiện hiện có ở
trong Sugar, để thực hiện điều này ngƣời phát triển phải custom code sau đó thêm
vào file manifest trong package “Media Inquiry”. Một vài code mẫu bằng cách dùng
logic hook.Ví dụ này thêm một time stamp vào file Media Inquiry mỗi khi dữ liệu
đƣợc lƣu trữ.
        Đầu tiên, tạo file AddTimeStamp.php với nội dung nhƣ sau:
<?php
        //prevents directly accessing this file from a web browser
        if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');


        class AddTimeStamp {
function StampIt(& $focus, $event){
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                                Page 26


        global $current_user;
        $focus->description .= “nSaved on ”. date(“Ymd g:i a”). “ by
        ”. $current_user->user_name;
        }
}
?>
Bƣớc tiếp theo đ ng kí chức n ng custom bằng cách tạo file logic_hooks.php với
nội dung sau:
<?php
        // Do not store anything in this file that is not part of the array or the
        hookversion. This file will
        // be automatically rebuilt in the future.
        $hook_version = 1;
        $hook_array = Array();
        // position, file, function
        $hook_array['before_save'] = Array();
        $hook_array['before_save'][] = Array(1, 'custom',
        'custom/modules/Media/AddTimeStamp.php ','AddTimeStamp', 'StampIt');
?>




$ Hook_version
Tất cả các logic hooks nên định nghĩa các $hook_version nên đƣợc sử dụng. Hiện
nay, chỉ $ hook_version đƣợc hỗ trợ duy nhất là 1.
$ Hook_version = 1
$ Hook_array
Logic hook của ngƣời phát triển cũng sẽ định nghĩa array
$hook_array. $hook_array là một array hai chiều:
name : tên của event ngƣời phát triển đang hooking custom logic
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                         Page 27


array : một array có chứa các tham số cần thiết để (fire) chạy hook
Một quy trình kỹ thuật tốt nhất là cho mỗi entry (đầu vào) trong array cao cấp nhất
đƣợc định nghĩa trên một single line (dòng đơn nhất/ dòng thống nhất) để dễ dàng
tự động thay thế file này. Ngoài ra, logic_hooks.php cũng nên chỉ chứa các định
nghĩa hook, bởi vì tính logic thực sự đƣợc định nghĩa ở bất kỳ nơi nào.
Lấy ví dụ:
Các hooks đƣợc tiến hành theo trật tự khi chúng đƣợc thêm vào array. Chiều đầu
tiên là chỉ đơn giản là thao tác hiện tại, lấy ví dụ before_save . Các hooks sau đây
có sẵn:
       Application hooks: Những hook không sử dụng của các đối số $bean.
after_ui_frame
Chạy sau khi cái sƣờn đã đƣợc gọi trƣớc khi footer đã đƣợc gọi.
after_ui_footer
Chạy sau khi footer đã đƣợc gọi
server_round_trip
Chạy vào cuối mỗi Sugar page
Modulehook
before_delete
Chạy trƣớc khi một record đƣợc xóa
after_delete
Chạy sau khi một record đƣợc xóa
before_restore
Chạy trƣớc khi một record đƣợc phục hồi
after_restore
Chạy sau khi một record đƣợc phục hồi
after_retrieve
Chạy sau khi một record đã đƣợc lấy ra từ cơ sở dữ liệu (database). Hook này
không chạy, khi ngƣời phát triển tạo một record mới.
before_save
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                         Page 28


Chạy trƣớc khi một record đƣợc lƣu
Bây giờ thêm hai file ở trên vào file zip Media Inquiries mà ngƣời phát triển đã lƣu
trữ trƣớc đó. Tạo ra một đƣờng dẫn có tên là “SugarModules/custom/” trong file
zip và thêm hai file trên vào đƣờng dẫn đó, sau đó chỉnh sửa file manifest.php vào
file zip để bao gồm định nghĩa sau trong $install_defs['copy'] array.
array (
          'from' => '<basepath>/SugarModules/custom',
          'to' => 'custom/modules/jsche_Media',
),
             1.2.2.2.   Tùy biến thƣ mục vadefs
Ý 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.
          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.
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                        Page 29


       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à <name> _c, 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.
       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
CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM                                         Page 30


đƣợc định nghĩa trong thƣ mục custom/extension/module/ext/vadefs/vardef.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, sau đó vào admin tiến hành repair để đồng nhất dữ liệu.
        Ví dụ :
        <?php
         $dictionary["C_project"]["fields"]["project_status"] = array (
          'name'      => 'project_status',
          'vname'     => 'LBL_PROJECT_STATUS',
          'type'     => 'radioenum',
          'dbType'     => 'varchar',
          'len'     => 50,
          'default' => 'enable',
          'options' => 'project_status_list',
         );
Đây là cách thêm một trƣờng dữ liệu vào module C_project, với vname sẽ đƣợc
khai báo trong thƣ mục custom/modules/C_project/language/en_us.lang.php
<?php
// created: 2012-05-11 17:33:01
// created: 2012-05-15 13:46:18
$mod_strings = array (
 'LBL_PROJECT_STATUS' => 'Status',
 );
        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.
        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 n 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 MySQL.
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                    Page 31



              CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU


   2.1. Giới thiệu công ty RED
        Công ty Red là công ty chuyên về lĩnh vực quảng cáo và xây dựng thƣơng
hiệu. Công ty có các trụ sở đặt tại Hà Nội, Tp Hồ Chí Minh , và công ty gốc đặt ở
Austraylia.
        Trụ sở Red đặt tại thành phố Hồ Chí Minh tại địa chỉ: 10 Phan Ngu St.,Da
Kao Wd. D.1, HCMC, Vietnam. Để biết thêm chi tiết có thể truy cập vào website
của công ty: www.red.tm
   2.2. Mô tả bài toán
        Một công ty Red đang gặp khó kh n nhƣ sau:
        Công ty thƣờng sẽ chạy cùng 1 thời điểm rất nhiều dự án. Vì vậy làm sao để
ngƣời quản lý có thể kiểm soát đƣợc tình hình dự án đang đến giai đoạn nào, chi phí
và nhân sự tham gia dự án ra sao, lãi lỗ của 1 dự án ngay tại 1 thời điểm bất kỳ, 1
nhân viên có thể thực hiện đƣợc bao nhiêu dự án trong 1 khoảng thời gian…v.v...
        Khi có một yêu cầu báo cáo về dự án đƣợc đặt ra, làm sao để nhân viên có
đƣợc những thông tin nhanh nhất và chính xác phục vụ cho yêu cầu báo cáo của cấp
trên.
        Làm sao kiểm soát hoạt động của các nhân viên tham gia dự án?
        Làm sao để biết đƣợc tổng thời gian nhân viên đó đã tham gia 1 dự án hoặc
nhiều dự án.
        Làm sao biết đƣợc tổng số ngày nghỉ phép của nhân viên trong tháng, n m.
        Ở cấp độ nhân viên nếu nhân viên đó không có mặt trong công ty liệu nhân
viên đó có thể xin nghỉ phép với 1 qui trình nghỉ phép chặc chẽ không? Hay nhân
viên đó phải làm thủ công nhƣ viết email, nhắn tin hoặc gọi điện cho cấp trên của
mình theo 1 qui trình thủ công (viết đơn, trình duyệt, chờ đợi sự chấp nhận của cấp
trên…)
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                    Page 32


       Ở cấp độ quản lý: Nếu ngƣời quản lý là ngƣời thƣờng xuyên ra ngoài gặp
khách hàng, đối tác,….Việc duyệt ngày nghỉ phép cho các nhân viên là cả 1 vấn đề
khi ngƣời quản lý không có mặt ở v n phòng.
       Trƣớc những vấn đề trên cần một phần mềm có thể giải quyết các khó kh n
đó. Sau khi khảo sát hiện trạng, phân tích viên nắm đƣợc những thông tin nhƣ sau :
       Trong công ty có những nhân viên bán hàng làm nhiệm vụ tìm kiếm liên hệ
với các khách hàng, sau khi có đƣợc thông tin của khách hàng cũng nhƣ các yêu cầu
của khách hàng, nhân viên bán hàng sẽ tiến hành tổng hợp lại các thông tin về hợp
đồng mà khách hàng yêu cầu để đƣa lên cấp trên.
       Cấp trên khi nhận thấy có thể kí kết đƣợc hợp đồng sẽ tiến hành lập các
thông tin về dự án sắp tới lên hệ thống của công ty.
       Khi bắt đầu triển khai dự án thực tế, ngƣời quản lý sẽ vào phần mềm và tạo
các thông tin về dự án sắp đƣợc triển khai. Khi lên dự án mới có thể dự tính đƣợc
chi phí cho dự án đó, cũng nhƣ có thể quản lý thời gian làm việc của các nhân viên
trong dự án đó, thêm các nhân viên để tham gia dự án. Ngƣời quản lý cùng với nhân
viên kế toán đƣa ra các hóa đơn dự tính cho dự án đang đƣợc triển khai.
       Trong quá trình dự án diễn ra các nhân viên khi đi làm việc sẽ truy cập vào
hệ thống và điền số giờ mình đã làm việc trong ngày dành cho dự án nào, những
ngày nhân viên không đi làm vì lí do gì thì nhân viên phải vào hệ thống điền vào
ngày mình nghỉ và lí do nghỉ để đợi sự cho phép của ngƣời quản lý
       Đến cuối tháng nhân viên kế toán sẽ xuất ra các báo cáo về những chi phí
dành cho từng dự án, cũng nhƣ số tiền mà công ty phải thanh toán cho các nhân
viên của từng dự án.
       Lƣu ý trong công ty ngoài nhân viên kế toán ra không có nhân viên nào đƣợc
truy cập vào hệ thống lƣơng của công ty.
   2.3. Các yêu cầu cho hệ thống CRM của công ty Red
       Công ty Red cần phải quản lý nhiều công việc, nên yêu cầu của hệ thống
CRM phải đƣợc xây dựng để giải quyết đƣợc các yêu cầu công việc, tính tiện dụng,
bảo mật… Dƣới đây là danh sách các tính n ng cần phải xây dựng cho hệ thống
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                     Page 33


  #                                     Nội dung
  1    Quản lý danh mục dùng chung
                  Danh mục phòng ban
                  Danh mục dự án
                  Danh mục ngƣời dùng
  2    Quản lý ngƣời sử dụng, phân quyền bảo mật hệ thống
                  Quản lý ngƣời dùng đ ng nhập hệ thống.
                  Thay đổi mật khẩu ngƣời sử dụng.
                  Phân quyền cập nhật dữ liệu cho từng ngƣời dùng
  3    Thông tin chƣơng trình, tài liệu hƣớng dẫn sử dụng
  4    Bảo mật dữ liệu và backup dữ liệu
II. Quản lý thông tin nhân viên
  1    Thông tin về hồ sơ nhân viên
                  Quản lý mã nhân viên, họ tên, phòng ban, chức vụ, mức
                      lƣơng …..
III. Quản lý thông tin nghỉ phép của nhân viên
  1        Nhân viên tự cập nhật ngày nghỉ của mình theo từng loại ngày nghỉ
              đƣợc hệ thống thiết lập sẵn.
           Báo cáo tổng quan chi tiết về ngày nghỉ của mỗi nhân viên trong
              tháng
IV. Quản lý hóa đơn
  1    Quản lý thông tin chi tiết hóa đơn của từng dự án ( tình trạng của hóa đơn :
       khách hàng thanh toán đủ hay thiếu….)
V. Quản lý TimeSheet
  1    Qui trình cập nhật Project cost Estimation
  2    Qui trinh cập nhật PROJECT COST ACTUAL
  3    Qui trình cập nhật REVENUE REPORT
  4    Qui trình cập nhật PROFIT AND LOSS BY PROJECT
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                     Page 34


VI. Quản lý báo cáo
  1     Báo cáo project cost estimation
  2     Báo cáo project cost actual (CR) và project cost actual (MA)
  3     Báo cáo REVENUE REPORT
  4     Báo cáo PROFIT AND LOSS BY PROJECT
  5     Báo cáo TimeSheet (theo dự án, theo nhân viên)
  6     Báo cáo timesheet % ngày làm thực tế, ngày build của từng nhân viên
         Bảng 5: danh sách các tính năng cần quản lý cho công ty Red


   2.4. Qui tr nh hoạt động
       Công ty Red có qui trình hoạt động trong việc tìm kiếm khách hàng và lập
dự án nhƣ sau: công ty có đội ngũ nhân viên đảm nhiệm công việc liên hệ và trao
đổi thông tin với khách hàng, tìm hiểu yêu cầu của bên khách hàng, lập danh sách
các thông tin về khách hàng để dễ dàng cho việc trao đổi. Khi khách hàng có nhu
cầu thì đội ngũ nhân viên cùng với ban lãnh đạo sẽ để xuất dự án tiền khả thi để cho
khách hàng nắm tƣơng đối công việc của 2 bên cần phải làm, khi thấy dự án khả
quan, và khách hàng ƣng ý với chất lƣợng làm việc của công ty thì cả 2 bên sẽ tiến
hành tiến tới kí hợp đồng và đƣa dự án chính thức vào thi công. Khi dự án đã đƣợc
hoàn thành và nghiệm thu mà không phát sinh ra bất cứ lỗi gì thì công ty sẽ có cử
đội ngũ nhân viên có nhiệm vụ ch m sóc và hỗ trợ cho khách hàng để đảm bảo quá
trình hợp tác giữa 2 bên sẽ lâu dài hơn.
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                                                            Page 35



                                             Thu Thập thông tin khách hàng


                             Sales



                                             Lập hồ sơ quản lý khách hàng
                            Sales




                                               Lên phƣơng án kinh doanh

                            Sales



                                               Xác định n ng lực công ty
                             Manager
                                                                                           Tƣ vấn lại khách hàng



                               Không thể làm                         Chƣa chắc chắn
          Kết thúc                                    Quyết định

                                                             Có thể làm                                Sales




                                               Đề xuất dự án tiền khả thi
                    Sales
                               Manager




                                                  Đàm phán hợp đồng
                     Sales      Manager
                                                                             Chƣa thống nhất


         Kết thúc                   Không
                                                      Thống nhất

                                                                   Có


                                                     Ký hợp đồng                      Phát sinh
                                                                                                  Có
                    Sales      Manager



                                                       Lập dự án                               Không


                             Manager




                                                    Hoàn thành dự án


                             Employee
                                                                        Có
                                                                                      Sửa chữa lại các lỗi
                                                      Kiểm tra lỗi


                                                                Không



                                                                                                   Employee

                                                      Nghiệm thu

        Sales   Manager        Accounting



                                                   Ch m sóc khách hàng

                                     Sales




                                                          Kết thúc



      H nh 8: Qui tr nh hoạt động t m kiếm khách hàng và lập dự án
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                   Page 36


     2.5. Lƣợc đồ Usecase




                           H nh 9: Lƣợc đồ Uscae tổng thể


       Lƣợc đồ usecase tổng thể bao gồm các actor:
       Quản lý: là nhân viên cấp cao trong hệ thống, các hoạt động của nhân viên
quản lý bao gồm luôn cả các hành động của nhân viên bán hàng và nhân viên nhân
sự
       Kế toán: Là nhân viên có hoạt động cập nhật lƣơng và xem các báo cáo,
nhân viên quản lý cũng đƣợc xem các báo cáo
       Nhân Sự: là nhân viên đảm nhận việc chỉnh sửa thông tin của các nhân viên,
phê duyệt nghỉ phép cho các nhân viên
       Nhân viên bán hàng: là nhân viên đảm nhận việc liên lạc với khách hàng, lƣu
các thông tin của khách hàng vào hệ thống và tìm kiếm thông tin khách hàng.
       Nhân viên: là actor đảm nhiệm việc điền thời gian làm việc và điền những
ngày nghỉ trong hệ thống
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                      Page 37


        2.5.1. Usecase của Actor Nhân Viên




                  H nh 10: Lƣợc đồ Usecase của Actor Nhân Viên
        Mô tả chi tiết:
        Xem thông tin nhân viên: Nhân viên có thể xem thông tin của chính nhân
viên đó trong hệ thống và thiết lập lại thông tin của chính nhân viên
        Tim kiếm: Nhân viên có thể tìm kiếm thông tin của nhân viên, thời gian làm
việc hàng ngày, và số ngày nghỉ của nhân viên đó trong hệ thống
        Cập nhật ngày nghỉ: những ngày không làm việc thì nhân viên phải nhập vào
ngày nghỉ và lí do nghỉ, kiểm tra xem số ngày nghỉ có vƣợt quá sự cho phép hay
không
        Lên lịch các cuộc gọi, cuộc hẹn: lên lịch các cuộc gọi hoặc cuộc hẹn giữa các
nhân viên với nhau hoặc với khách hàng
        Nhập thời gian: Nhập thời gian làm việc trong hệ thống đối với từng dự án.
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                                               Page 38


       2.5.2. Usecase của Actor Nhân Sự
    uc Actors




                                            Tìm kiếm nhân v iên



                                                                  Thêm mới nhân v iên
                      Chỉnh sửa thông tin
                      của từng nhân v iên




        Xem thông tin của
         từng nhân v iên                                                    Phê duyệt nghỉ phép cho
                                                                                   nhân v iên



                                                    NhanSu




                                                  NhanVien




                      H nh 11: Lƣợc đồ Usecase của Actor Nhân Sự
       Mô tả chi tiết:
       Xem thông tin của từng nhân viên: Xem thông tin của các nhân viên trong
hệ thống
       Chỉnh sửa thông tin của từng nhân viên: Trong hệ thống nhân sự có quyền
chỉnh sửa thông tin của các nhân viên
       Tìm kiếm nhân viên: Tìm kiếm thông tin của từng nhân viên xem nhân viên
đó thuộc team nào, làm dự án nào
       Thêm nhân viên mới: Có quyền thêm mới một nhân viên vào hệ thống
       Phê duyệt nghỉ phép cho nhân viên: Khi nhân viên xin phép nghỉ, phải đƣợc
sự cho phép của nhân sự thì nhân viên đó mới đƣợc phép nghỉ
       Ngoài ra nhân sự còn có các hành động của nhân viên.
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                   Page 39


      2.5.3. Usecase của Actor Kế Toán




                  H nh 12: Lƣợc đồ Uscase của Actor Kế Toán
      Mô tả chi tiết:
      Xem báo cáo: xem các báo cáo chi tiết về chi phí dự tính của từng dự án, báo
cáo về chi phí thực tế của từng nhân viên….
      Cập nhật lƣơng cho nhân viên: Cập nhật lƣơng cho từng nhân viên theo từng
tháng trong n m
      Quản lý chi tiết hóa đơn: có mối quan hệ <<extend>> với thêm hóa đơn,
hủy hóa đơn, sửa hóa đơn, và kiểm tra việc thanh toán hóa đơn của khách hàng nếu
hóa đơn đã đƣợc thanh toán là : paid ngƣợc lại là not paid
      Ngoài ra kế toán còn có các hành động cua nhân viên
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                Page 40


      2.5.4. Usecase của Actor Manager:




                                                                             Banhang




        H nh 13: Lƣợc đồ Usecase cho Actor Manager (ngƣời quản lý)


      Mô tả chi tiết
      Tạo dự án mới: Manager( ngƣời quản lý) có hoạt động tạo mới một dự án khi
đã có thông tin của khách hàng từ nhân viên bán hàng.
      Phân quyền cho từng nhân viên: Ngƣời quản lý có hoạt động phân quyền
cho từng nhân viên trong hệ thống.
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                                                                    Page 41


       Xem và đổi mật khẩu cho từng nhân viên: khi nhân viên làm mất mật khẩu
hoặc vì lí do nào đó muốn thay đổi mật khẩu thì ngƣời quản lý có thể thay đổi mật
khẩu cho nhân viên hoặc tự nhân viên thay đổi mật khẩu.
       Xóa thông tin nhân viên: Những nhân viên nghỉ việc hoặc không tồn tại
trong công ty sẽ đƣợc xóa thông tin trong hệ thống
       Cấu hình cho hệ thống: Cấu hình mail, repair lại hệ thống khi có những thay
đổi và có thể thiết lập ngày giờ cho hệ thống
       Cập nhật project cost estimation: cập nhật chi phí dự tính cho từng dự án. Có
mối quan hệ <<extend>> với nhập mới project cost estimation, chỉnh sửa project
cost estimation, xóa project cost estimation
   2.6. Phân tích yêu cầu về cơ sở dữ liệu



                                                        ACCOUNT


                                                                 1


                 MAN
              POWERCOST                                                                                REVENUES
                                                            Có                                        ESTIMATION
                          N
                                                                                                 N

                                                                                  Có
                                                            N
                               Có
                                        1
                                                                         1


                                                  PROJECT                                                  N
                                                                              1
                                                                                                 Có
                                                                                                                    REVENUES
 PRODUCTION                         1
                  N                                                                                                  ACTUAL
                          Có
    COST                                      1
 ESTIMATION                                                          1




                                                        1
                          Có                                             Có


                                                                              N                                Có              SALARY
                      N                            Có                                                                  1


    PRODUCTION                                                                                         1

    COST ACTUAL                                                                        USERS


                                                                                             1
                                                    N




                                                                                        Có
                                            TIMESHEETS


                                                                                                 N




                                                                                         LEAVING




                                H nh 14: Mô h nh ERD tổng thể
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                           Page 42


    2.6.1. Các thuộc tính của Account
    Thực thể Account gồm các thuộc tính:
    IDaccount: id của từng khách hàng đƣợc lƣu xuống cơ sở dữ liệu
    Assigned to: thuộc tính này để lƣu các id của các user thuộc module user
    Bussiness Type: để lƣu các kiểu kinh doanh xuống cơ sở dữ liệu
    Name: để lƣu tên của các khách hàng
    Website: để lƣu các website mà khách hàng sử dụng
    Office Phone: để lƣu số điện thoại v n phòng của khách hàng
    Fax: để lƣu số fax của khách hàng
    Billing Address: dùng để lƣu địa chỉ thanh toán của khách hàng
    Office Address: dùng để lƣu địa chỉ v n phòng của khách hàng
    Description: dùng để lƣu trữ các mô tả về khách hàng
    Type: Để lƣu các kiểu khách hàng có thể là ngƣời hoặc là công ty.



                                     Office
                         Website     Phone      Fax

                                                       Billing
                                                       Address
              Name

                                                                     Office
                                                                    Address
       Bussiness
         Type
                                   ACCOUNT
                                                                       Email
                                                                      Address
       Assigned to                         1


                                                                    Description
       IDaccount                      Có



                                                             Type

                                           1




                                    PROJECT



                     H nh 15: Các thuộc tính của thực thể Account
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                                Page 43


       2.6.2. Các thuộc tính của Revenues actual
       Thực thể revenues actual bao gồm các thuộc tính:
       IDre_actual: dùng để lƣu các id của revenues actual
       Invoice Number : thuộc tính này dùng để lƣu số của hóa đơn
       Amount : chi phí của dự án đƣợc điền trong hóa đơn
       VAT Amount : chi phí của dự án đƣợc tính thuế VAT
       Total Amount : tổng chi phí của dự án bao gồm chi phí và chi phí VAT
       Description : phần mô tả về hóa đơn
       Date : ngày lập hóa đơn
       Payment Status : trạng thái của hóa đơn, đã thanh toán hay chƣa đƣợc thanh
toán
       User: Dùng để lƣu nhân viên nào lập hóa đơn


                             VAT         Total
                            Amount      Amount     Description

                                                                        Date
            Amount

                                                                             Payment
                                                                              Status

            Invoice                  REVENUES
            Number                    ACTUAL


                                             N                                    User
              IDre_actual

                                                                 IDproject
                                        Có




                                             1




                                     PROJECT


             H nh 16: Các thuộc tính của thực thể revenues actual
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                          Page 44


       2.6.3. Các thuộc tính của Revenues Estimation
       Thực thể revenues actual bao gồm các thuộc tính:
       IDre_es: dùng để lƣu các id của revenues actual
       Amount : chi phí của dự án đƣợc điền trong hóa đơn
       VAT Amount : chi phí của dự án đƣợc tính thuế VAT
       Total Amount : tổng chi phí của dự án bao gồm chi phí và chi phí VAT
       Description : phần mô tả về hóa đơn
       Date : ngày lập hóa đơn
       Payment Status : trạng thái của hóa đơn, đã thanh toán hay chƣa đƣợc thanh
toán
       User: Dùng để lƣu nhân viên nào lập hóa đơn

                              Total            Description
                             Amount
                     VAT                                     Date
                    Amount


           Amount                                                   Payment
                                                                     Status



          IDre_es                 REVENUES
                                                                          User
                                 ESTIMATION


                                           N



                                      Có




                                           1




                                  PROJECT


           H nh 17: Các thuộc tính của thực thể Revenues Estimation
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                  Page 45


    2.6.4. Các thuộc tính của Production Cost Esmation
    Thực thể Production Cost Estimation bao gồm các thuộc tính:
    IDpro_esimation: dùng để lƣu các id của production cost estimation
    Title : dùng để lƣu tiêu đề
    Description : phần mô tả về production cost estimation
    Amount : dùng để lƣu chi phí dự tính của production


                           Title             Description
         Idpro_estim
            ation                                            Amount




                             PRODUCTION
                                COST
                             ESTIMATION


                                         N



                                    Có



                                         1



                                  PROJECT


     H nh 18: Các thuộc tính của thực thể Production Cost Estiamtion
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                               Page 46


    2.6.5. Các thuộc tính của Production Cost Actual
    Thực thể Production Cost Actual bao gồm các thuộc tính:
    IDpro_actual: dùng để lƣu các id của production cost actual
    Title : dùng để lƣu tiêu đề
    Description : phần mô tả về production cost estimation
    Amount : dùng để lƣu chi phí thực tế của production


                                           Description
                          Title
   Idpro_actual

                                                             Amount



                         PRODUCTION
                         COST ACTUAL


                                       N



                                  Có



                                       1



                             PROJECT


      H nh 19: Các thuộc tính của thực thể Production Cost Actual
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                 Page 47


    2.6.6. Các thuộc tính của Manpower Cost
    Thực thể Production Cost Actual bao gồm các thuộc tính:
    IDmanpower: dùng để lƣu các id của manpower cost
    Title : dùng để lƣu tiêu đề
    Description : phần mô tả về manpower cost
    Amount : dùng để lƣu chi phí dự tính dành cho các team


               Title
                              Description

   IDmanpowe
       r                                        Amount




                        MANPOWER
                          COST

                                  N


                            Có                           PROJECT
                                            1




           H nh 20: Các thuộc tính của thực thể Manpower Cost


    2.6.7. Các thuộc tính của User
    Thực thể Production Cost Actual bao gồm các thuộc tính:
    IDusers: dùng để lƣu các id của các user
    Assigned to: lƣu ngƣời đƣợc giao để thiết lập các thông tin teams
    User type: dùng để lƣu kiểu nhân viên
    Name: để lƣu tên của các khách hàng
    Website: để lƣu các website mà nhân viên sử dụng
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                              Page 48


    Office Phone: để lƣu số điện thoại v n phòng của nhân viên
    Fax: để lƣu số fax của nhân viên
    Billing Address: dùng để lƣu địa chỉ thanh toán của nhân viên
    Office Address: dùng để lƣu địa chỉ v n phòng của nhân viên
    Status: trạng thái khi thiết lập nhân viên đó
    Last name: từ cuối cùng trong tên của nhân viên


                               Office
                     Website   Phone              Fax
                                                        Billing
                                                        Address

         User name                                                 Office
                                                                  Address


      User Type
                                                                        Email
                                        USERS                          Address


     Assigned to                              N
                                                                            status


                                         Có

       IDusers                                                        Last name


                                              N




                                    PROJECT


                     H nh 21: Các thuộc tính của thực thể Users


    2.6.8. Các thuộc tính của Timesheets
    Thực thể Timesheets bao gồm các thuộc tính:
    IDtimesheet: dùng để lƣu các id của timesheet
    Project Name : dùng để lƣu tên của các dự án
    Hour : Số giờ đƣợc thêm vào từng dừng án
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                               Page 49


     Minutes: Số phút đƣợc thêm vào từng dự án
     Description: các mô tả thêm về phần điền timesheet


                                               Hour
                    IDtimesheet
                                                           Minutes

 Project Name
                                                                     Description




                                  TIMESHEETS



                                       N



                                      Có


                                           1




                                      PROJECT



                H nh 22: Các thuộc tính của thực thể Timesheets
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                 Page 50


    2.6.9. Các thuộc tính của Leaving
    Thực thể Leaving bao gồm các thuộc tính:
    IDleaving: dùng để lƣu các id của leaving
    Reason : dùng để lƣu các lí do xin nghỉ phép
    Type: dùng để lƣu trữ là xin nghỉ nửa ngày, hay nguyên ngày
    Description: các mô tả thêm về phần điền Leaving


                                                    Type
                     IDtimesheet
                                                                  Description
      Reason




                                    LEAVING



                                           N



                                        Có


                                                1




                                          USERS



               H nh 23: Các thuộc tính của thực thể Leaving
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                   Page 51


    2.6.10. Các thuộc tính của Salary
    Thực thể Leaving bao gồm các thuộc tính:
    IDsalary: dùng để lƣu các id của salary
    January : dùng để lƣơng của nhân viên của tháng 1
    February: dùng để lƣơng của nhân viên của tháng 2
    March: dùng để lƣơng của nhân viên của tháng 3
    April: dùng để lƣơng của nhân viên của tháng 4
    May: dùng để lƣơng của nhân viên của tháng 5
    June: dùng để lƣơng của nhân viên của tháng 6
    July: dùng để lƣơng của nhân viên của tháng 7
    August: dùng để lƣơng của nhân viên của tháng 8
    September: dùng để lƣơng của nhân viên của tháng 9
    October: dùng để lƣơng của nhân viên của tháng 10
    November: dùng để lƣơng của nhân viên của tháng 11
    December: dùng để lƣơng của nhân viên của tháng 12
    User: dùng để lƣu tên của nhân viên đƣợc nhập lƣơng
    Year: dùng n m mà cần nhập lƣơng cho nhân viên
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                       Page 52



                            June              July
                 May                                 August

      April
                                                          September


  March                                                          October


 February
                                                                     November


  January                                                             December
                                   SALARY

                                     N
      IDsalary
                                                                       User


                                     Có
                                                              Year
                                          1




                                     USERS


                 H nh 24: Các thuộc tính của thực thể Salary
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                Page 53


     2.6.11. Các thuộc tính của Project
     Thực thể project bao gồm các thuộc tính:
     IDproject: dùng để lƣu các id của project
     Project Code : dùng để lƣu mã của các dự án
     Project Name: dùng để lƣu tên của các dự án
     Project Mananger: dùng để lƣu ngƣời quản lý dự án
     Client: dùng để lƣu khách hàng mà dự án triển khai
     Start Date: dùng để lƣu ngày bắt đầu dự án
     End Date: dùng để lƣu ngày kết thúc dự án
     Status: dùng để lƣu trạng thái của dự án(enable/disable)
     Description: mô tả về dự án




                Project       Client
                                             Start Date
                Manager                                     End Date

      Project
      Name                                                             Status




  Project
                                   PROJECT
   Code

                                                                        Description



            IDproject




                  H nh 25: Các thuộc tính của thực thể Project
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                           Page 54


    2.7. Các mẫu Report tham khảo
          Các mẫu Report này mang tính chất tham khảo để thiết kế giao diện cho các
module report cũng nhƣ định dạng cho các file excel khi xuất các report.
          2.7.1. Mẫu Report Project Cost Estimate


                                  World trade center
     Project name:                                         JOB Code:       VIN.001/1011
                                  Branding & design
Client:                         Vinacapital
Business type                   Real Estate
Project period                  From:                                      To:
Project leader:                 Ms Long Uyen

       INTERNAL PROJECT MAN HOUR & COST ESTIMATION
            Title                   Projected Hour     Cost per hours (USD) Amount (USD)
MAN POWER COST:                                                                  710
Client services                           8                    20                160
Designers                                 15                   20                300
Creative Director                         5                    50                250
                                                                                   -
                                                                                   -
                                                                                   -
                                                                                   -
                                                                                   -
                                                                                  0


PRODUCTION COST                                                                  500
                                                                                  0
Nhat Thong                                                                       250
Vietnam airlines (air ticket)                                                    250
                                                                                  0
                                                                                  0
           TOTAL                              -                -                 1.210
                      Bảng 6: Mẫu Report Project Cost Estimation
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                                 Page 55


           2.7.2. Mẫu Report Project Cost Actual (CR)


                               World trade center
     Project name:                                                       JOB Code:   VIN.001/1011
                              Branding & design
Client:                 Vinacapital
                        Real estate/ FMCG/
Business type           Education/Service
Project period          From:                       11-Thg10                To:       11-Thg11
Project leader:         Ms Long Uyen
                       PROJECTED V.S ACTUAL MAN HOUR & COST
           Title               Person incharge             Hours           Diff
MAN POWER COST:                                     Projected   Actual
CR                      Uyen                           5           2        3
Designer                Tho                            5
                        Dinh                           5
                        Lan Anh                        5
                        Toan                           5
CD                      Lenny                          5




PRODUCTION COST


Nhat thong
Itaxa
Vietnam airline


TOTAL:



                     Bảng 7: Mẫu Report Project Cost Actual (CR)
CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU                                                Page 56


          2.7.3. Mẫu Report Project Cost Actual (MA)


                         World trade center
     Project name:                                                   JOB Code:      VIN.001/1011
                         Branding & design
Client:               Vinacapital
                      Real estate/ FMCG/
Business type         Education/Service
Project period        From:                   11-Thg10                  To:           11-Thg11
Project leader:       Ms Long Uyen
                            PROJECTED V.S ACTUAL MAN HOUR & COST


          Title             Person incharge          Hours         Cost per hours   Amount (USD)
MAN POWER COST:                               Projected   Actual                        640
CR                    Uyen                       5           3          20               60
Designer              Tho                        5           2          20               40
                      Dinh                       5           3          20               60
                      Lan Anh                    5           7          20              140
                      Toan                       5           8          20              160
CD                    Lenny                      5           9          20              180
                                                                                         -
PRODUCTION COST                                                                         300
                                                                                         -
Nhat thong                                                                              100
Itaxa                                                                                   100
Vietnam airline                                                                         100
                                                                                         -
TOTAL:                                                                                  940



                     Bảng 8: Mẫu Report Project Cost Actual (MA)
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Khóa luận: Đánh giá hoạt động bán hàng của Công Ty Nội Thất
Khóa luận: Đánh giá hoạt động bán hàng của Công Ty Nội ThấtKhóa luận: Đánh giá hoạt động bán hàng của Công Ty Nội Thất
Khóa luận: Đánh giá hoạt động bán hàng của Công Ty Nội Thất
 
Đề tài- Hoạt động marketing bất động sản của công ty BĐS, 9 ĐIỂM
Đề tài- Hoạt động marketing bất động sản của công ty BĐS, 9 ĐIỂMĐề tài- Hoạt động marketing bất động sản của công ty BĐS, 9 ĐIỂM
Đề tài- Hoạt động marketing bất động sản của công ty BĐS, 9 ĐIỂM
 
Giải pháp marketing nhằm tăng khả năng cạnh tranh của công ty cổ phần và dịch...
Giải pháp marketing nhằm tăng khả năng cạnh tranh của công ty cổ phần và dịch...Giải pháp marketing nhằm tăng khả năng cạnh tranh của công ty cổ phần và dịch...
Giải pháp marketing nhằm tăng khả năng cạnh tranh của công ty cổ phần và dịch...
 
Luận văn: Hoàn thiện hệ thống nhận diện thương hiệu Ngân hàng Thương mại Cổ p...
Luận văn: Hoàn thiện hệ thống nhận diện thương hiệu Ngân hàng Thương mại Cổ p...Luận văn: Hoàn thiện hệ thống nhận diện thương hiệu Ngân hàng Thương mại Cổ p...
Luận văn: Hoàn thiện hệ thống nhận diện thương hiệu Ngân hàng Thương mại Cổ p...
 
Đề tài quản trị mối quan hệ khách hàng, ĐIỂM CAO, HAY
Đề tài  quản trị mối quan hệ khách hàng, ĐIỂM CAO, HAYĐề tài  quản trị mối quan hệ khách hàng, ĐIỂM CAO, HAY
Đề tài quản trị mối quan hệ khách hàng, ĐIỂM CAO, HAY
 
Khóa Luận Tốt Nghiệp Hoàn Thiện Chiến Lược Marketing Mix Công Ty Anh Đào
Khóa Luận Tốt Nghiệp Hoàn Thiện Chiến Lược Marketing Mix Công Ty Anh ĐàoKhóa Luận Tốt Nghiệp Hoàn Thiện Chiến Lược Marketing Mix Công Ty Anh Đào
Khóa Luận Tốt Nghiệp Hoàn Thiện Chiến Lược Marketing Mix Công Ty Anh Đào
 
Luận văn: Hoàn thiện quản lý lực lượng bán hàng công ty Dược, HAY
Luận văn: Hoàn thiện quản lý lực lượng bán hàng công ty Dược, HAYLuận văn: Hoàn thiện quản lý lực lượng bán hàng công ty Dược, HAY
Luận văn: Hoàn thiện quản lý lực lượng bán hàng công ty Dược, HAY
 
Một số giải pháp nhằm hoàn thiện công tác marketing mix tại công ty ...
Một số giải pháp nhằm hoàn thiện công tác marketing mix tại công ty ...Một số giải pháp nhằm hoàn thiện công tác marketing mix tại công ty ...
Một số giải pháp nhằm hoàn thiện công tác marketing mix tại công ty ...
 
Nâng cao hiệu quả hoạt động marketing tại công ty Nội Thất Dfuni
Nâng cao hiệu quả hoạt động marketing tại công ty Nội Thất DfuniNâng cao hiệu quả hoạt động marketing tại công ty Nội Thất Dfuni
Nâng cao hiệu quả hoạt động marketing tại công ty Nội Thất Dfuni
 
Đề tài: Giải pháp hoàn thiện hoạt động bán hàng công ty Hà Nghĩa, 9 ĐIỂM!
Đề tài: Giải pháp hoàn thiện hoạt động bán hàng công ty Hà Nghĩa, 9 ĐIỂM!Đề tài: Giải pháp hoàn thiện hoạt động bán hàng công ty Hà Nghĩa, 9 ĐIỂM!
Đề tài: Giải pháp hoàn thiện hoạt động bán hàng công ty Hà Nghĩa, 9 ĐIỂM!
 
Đề tài: Xây dựng và phát triển các thương hiệu của doanh nghiệp kinh doanh tr...
Đề tài: Xây dựng và phát triển các thương hiệu của doanh nghiệp kinh doanh tr...Đề tài: Xây dựng và phát triển các thương hiệu của doanh nghiệp kinh doanh tr...
Đề tài: Xây dựng và phát triển các thương hiệu của doanh nghiệp kinh doanh tr...
 
Khóa luận: Đánh giá hoạt động truyền thông PR của công ty, HAY
Khóa luận: Đánh giá hoạt động truyền thông PR của công ty, HAYKhóa luận: Đánh giá hoạt động truyền thông PR của công ty, HAY
Khóa luận: Đánh giá hoạt động truyền thông PR của công ty, HAY
 
Hoàn thiện công tác quản trị lực lượng bán hàng tại công ty TNHH Quốc Hùng
Hoàn thiện công tác quản trị lực lượng bán hàng tại công ty TNHH Quốc Hùng Hoàn thiện công tác quản trị lực lượng bán hàng tại công ty TNHH Quốc Hùng
Hoàn thiện công tác quản trị lực lượng bán hàng tại công ty TNHH Quốc Hùng
 
Đề tài: Giải pháp hoàn thiện hoạt động marketing trực tuyến của khách sạn, HAY
Đề tài: Giải pháp hoàn thiện hoạt động marketing trực tuyến của khách sạn, HAYĐề tài: Giải pháp hoàn thiện hoạt động marketing trực tuyến của khách sạn, HAY
Đề tài: Giải pháp hoàn thiện hoạt động marketing trực tuyến của khách sạn, HAY
 
Luận văn Thạc sĩ Giải Pháp Marketing Online
 Luận văn Thạc sĩ Giải Pháp Marketing Online  Luận văn Thạc sĩ Giải Pháp Marketing Online
Luận văn Thạc sĩ Giải Pháp Marketing Online
 
Quan tri ban hang
Quan tri ban hangQuan tri ban hang
Quan tri ban hang
 
Quản trị quan hệ khách hàng sử dụng dịch vụ viễn thông tại chi nhánh viettel ...
Quản trị quan hệ khách hàng sử dụng dịch vụ viễn thông tại chi nhánh viettel ...Quản trị quan hệ khách hàng sử dụng dịch vụ viễn thông tại chi nhánh viettel ...
Quản trị quan hệ khách hàng sử dụng dịch vụ viễn thông tại chi nhánh viettel ...
 
Đề tài: Nâng cao năng lực cạnh tranh của công ty Quảng Thành, HOT
Đề tài: Nâng cao năng lực cạnh tranh của công ty Quảng Thành, HOTĐề tài: Nâng cao năng lực cạnh tranh của công ty Quảng Thành, HOT
Đề tài: Nâng cao năng lực cạnh tranh của công ty Quảng Thành, HOT
 
Khoá Luận Tốt Nghiệp Nâng Cao Hiệu Quả Hoạt Động Bán Hàng Tại Công Ty Trách N...
Khoá Luận Tốt Nghiệp Nâng Cao Hiệu Quả Hoạt Động Bán Hàng Tại Công Ty Trách N...Khoá Luận Tốt Nghiệp Nâng Cao Hiệu Quả Hoạt Động Bán Hàng Tại Công Ty Trách N...
Khoá Luận Tốt Nghiệp Nâng Cao Hiệu Quả Hoạt Động Bán Hàng Tại Công Ty Trách N...
 
Luận văn: Ứng dụng Thương mại điện tử cho doanh nghiệp, 9đ
Luận văn: Ứng dụng Thương mại điện tử cho doanh nghiệp, 9đLuận văn: Ứng dụng Thương mại điện tử cho doanh nghiệp, 9đ
Luận văn: Ứng dụng Thương mại điện tử cho doanh nghiệp, 9đ
 

Similar a Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế

Huong dan su dung ban day du
Huong dan su dung ban day duHuong dan su dung ban day du
Huong dan su dung ban day du
thanh_k8_cntt
 
37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere
37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere
37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere
hoatuongvi_hn
 
Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Bai giang he thong nhung 2010
Bai giang he thong nhung 2010
Cao Toa
 
Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]
bookbooming1
 
Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0
Vu Huynh Van
 
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
https://www.facebook.com/garmentspace
 

Similar a Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế (20)

Huong dan su dung ban day du
Huong dan su dung ban day duHuong dan su dung ban day du
Huong dan su dung ban day du
 
37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere
37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere
37407162 phan-tich-hop-chat-bang-quang-pho-vina ebookchemistryhere
 
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
Kế toán chi phí sản xuất tại Công ty xuất nhập khẩu Minh Châu - Gửi miễn phí ...
 
La0008
La0008La0008
La0008
 
Diameter trong ims
Diameter trong imsDiameter trong ims
Diameter trong ims
 
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạoXây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
Xây dựng Robot tự hành dạng Nonholonomic và tổng hợp bộ điều khiển bám quỹ đạo
 
Php
PhpPhp
Php
 
Code igniter v1
Code igniter v1Code igniter v1
Code igniter v1
 
Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Bai giang he thong nhung 2010
Bai giang he thong nhung 2010
 
Dgthcv Bctttn Anh Nguyet
Dgthcv Bctttn Anh NguyetDgthcv Bctttn Anh Nguyet
Dgthcv Bctttn Anh Nguyet
 
Bài giảng Toán kinh tế
Bài giảng Toán kinh tếBài giảng Toán kinh tế
Bài giảng Toán kinh tế
 
Chuyên Đề Thực Tập Thực Trạng Công Tác Kế Toán Tại Công Ty
Chuyên Đề Thực Tập Thực Trạng Công Tác Kế Toán Tại Công TyChuyên Đề Thực Tập Thực Trạng Công Tác Kế Toán Tại Công Ty
Chuyên Đề Thực Tập Thực Trạng Công Tác Kế Toán Tại Công Ty
 
Giao trinh ke_toan_may
Giao trinh ke_toan_mayGiao trinh ke_toan_may
Giao trinh ke_toan_may
 
Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]
 
Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0
 
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
Xây dựng chương trình kế toán bán hàng và công nợ phải thu cho Công ty CP đầu...
 
Đề tài: Chi phí và giá thành sản phẩm ở công ty TNHH Autocon Vina
Đề tài: Chi phí và giá thành sản phẩm ở công ty TNHH Autocon VinaĐề tài: Chi phí và giá thành sản phẩm ở công ty TNHH Autocon Vina
Đề tài: Chi phí và giá thành sản phẩm ở công ty TNHH Autocon Vina
 
3190
31903190
3190
 
Đồ án môn học thiết kế hệ thống truyền động cơ khí, HAY
Đồ án môn học thiết kế hệ thống truyền động cơ khí, HAYĐồ án môn học thiết kế hệ thống truyền động cơ khí, HAY
Đồ án môn học thiết kế hệ thống truyền động cơ khí, HAY
 
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
 

Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế

  • 1. MỤC LỤC Page 1 MỤC LỤC CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGARCRM..................... 9 1.1. Kiến trúc SugarCRM .............................................................................................................. 9 1.2. Tùy biến trong SugarCRM ............................................................................................... 14 CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU .................. 31 2.1. Giới thiệu công ty RED.................................................................................................... 31 2.2. Mô tả bài toán .................................................................................................................. 31 2.3. Các yêu cầu cho hệ thống CRM của công ty Red ............................................................ 32 2.4. Qui trình hoạt động .......................................................................................................... 34 2.5. Lƣợc đồ Usecase .............................................................................................................. 36 2.5.1. Usecase của Actor Nhân Viên.................................................................................. 37 2.5.2. Usecase của Actor Nhân Sự ..................................................................................... 38 2.5.3. Usecase của Actor Kế Toán ..................................................................................... 39 2.5.4. Usecase của Actor Manager: .................................................................................... 40 2.6. Phân tích yêu cầu về cơ sở dữ liệu ................................................................................... 41 2.6.1. Các thuộc tính của Account ..................................................................................... 42 2.6.2. Các thuộc tính của Revenues actual ......................................................................... 43 2.6.3. Các thuộc tính của Revenues Estimation ................................................................. 44 2.6.4. Các thuộc tính của Production Cost Esmation ......................................................... 45 2.6.5. Các thuộc tính của Production Cost Actual ............................................................. 46 2.6.6. Các thuộc tính của Manpower Cost ......................................................................... 47 2.6.7. Các thuộc tính của User ........................................................................................... 47 2.6.8. Các thuộc tính của Timesheets ................................................................................. 48 2.6.9. Các thuộc tính của Leaving ...................................................................................... 50 2.6.10. Các thuộc tính của Salary ......................................................................................... 51 2.6.11. Các thuộc tính của Project........................................................................................ 53 2.7. Các mẫu Report tham khảo .............................................................................................. 54 2.7.1. Mẫu Report Project Cost Estimate ........................................................................... 54 2.7.2. Mẫu Report Project Cost Actual (CR) ..................................................................... 55
  • 2. MỤC LỤC Page 2 2.7.3. Mẫu Report Project Cost Actual (MA) .................................................................... 56 2.7.4. Mẫu Report Profit And Loss (CR) .......................................................................... 57 2.7.5. Mẫu Report Profit And Loss (MA) ......................................................................... 57 2.7.6. Mẫu Report Revenue............................................................................................... 57 2.7.7. Mẫu Report Timesheet (%) ...................................................................................... 58 2.7.8. Mẫu Report Timesheet ............................................................................................. 59 2.8. Khảo sát hệ thống server đang hoạt động của Red .......................................................... 60 CHƢƠNG 3: THIẾT KẾ HỆ THỐNG .............................................. 61 3.1. Module Account ............................................................................................................... 62 3.2. Module ManPower Cost .................................................................................................. 63 3.3. Module Production cost actual ......................................................................................... 64 3.4. Module Production cost estimation .................................................................................. 64 3.5. Module Projects ............................................................................................................... 64 3.6. Module Revenues Estimation .......................................................................................... 65 3.7. Module Revenues Actual ................................................................................................. 65 3.8. Module Salary .................................................................................................................. 66 3.9. Module Timesheets .......................................................................................................... 67 3.10. Module Leaving ........................................................................................................... 67 3.11. Module PublicDays ...................................................................................................... 68 3.12. Module Report ............................................................................................................. 68 3.12.1. Report Estimate Cost................................................................................................ 69 3.12.2. Report Actual Cost (MA) ......................................................................................... 69 3.12.3. Report Actual Cost (CR) .......................................................................................... 70 3.12.4. Report Profit And Loss (CR) ................................................................................... 71 3.12.5. Report Profit And Loss (MA) .................................................................................. 71 3.12.6. Report Revenues Projection ..................................................................................... 72 3.12.7. Report timesheet....................................................................................................... 72 3.12.8. Report Timesheets (%) ............................................................................................. 74 CHƢƠNG 4: XÂY DỰNG HỆ THỐNG THỰC TẾ CHO RED ..... 75 4.1. Module Account ............................................................................................................... 75 4.2. Module Projects ............................................................................................................... 76
  • 3. MỤC LỤC Page 3 4.3. Module timesheets ........................................................................................................... 81 4.4. Module Teams.................................................................................................................. 84 4.5. Module salary ................................................................................................................... 86 4.6. Module report ................................................................................................................... 89 4.6.1. Report estimate cost ................................................................................................. 91 4.6.2. Report actual cost ..................................................................................................... 95 4.7. Module Manpower Cost ................................................................................................. 100 4.8. Đánh giá hệ thống .......................................................................................................... 101 KẾT LUẬN .......................................................................................... 104 TÀI LIỆU THAM KHẢO .................................................................. 105 PHỤ LỤC 1 .......................................................................................... 106 PHỤ LỤC 2 .......................................................................................... 113
  • 4. MỤC LỤC HÌNH ẢNH Page 4 MỤC LỤC HÌNH ẢNH Hình 1: Các module trong SugarCRM ......................................................................10 Hình 2: Cấu trúc các thƣ mục con của một thƣ mục gốc ..........................................12 Hình 3: Các công cụ trong Developer Tools.............................................................14 Hình 4: Công cụ Repair trong System ......................................................................15 Hình 5: Tạo relationship trong công cụ studio ..........................................................23 Hình 6: các quan hệ giữa các module với nhau ........................................................23 Hình 7: Cấu trúc code của file logic hook ................................................................25 Hình 8: Qui trình hoạt động tìm kiếm khách hàng và lập dự án ...............................35 Hình 9: Lƣợc đồ Uscae tổng thể ...............................................................................36 Hình 10: Lƣợc đồ Usecase của Actor Nhân Viên .....................................................37 Hình 11: Lƣợc đồ Usecase của Actor Nhân Sự ........................................................38 Hình 12: Lƣợc đồ Uscase của Actor Kế Toán ..........................................................39 Hình 13: Lƣợc đồ Usecase cho Actor Manager (ngƣời quản lý) ..............................40 Hình 14: Mô hình ERD tổng thể ...............................................................................41 Hình 15: Các thuộc tính của thực thể Account .........................................................42 Hình 16: Các thuộc tính của thực thể revenues actual ..............................................43 Hình 17: Các thuộc tính của thực thể Revenues Estimation .....................................44 Hình 18: Các thuộc tính của thực thể Production Cost Estiamtion ..........................45 Hình 19: Các thuộc tính của thực thể Production Cost Actual .................................46 Hình 20: Các thuộc tính của thực thể Manpower Cost .............................................47 Hình 21: Các thuộc tính của thực thể Users ..............................................................48 Hình 22: Các thuộc tính của thực thể Timesheets.....................................................49 Hình 23: Các thuộc tính của thực thể Leaving ..........................................................50 Hình 24: Các thuộc tính của thực thể Salary.............................................................52 Hình 25: Các thuộc tính của thực thể Project ...........................................................53 Hình 26: WorkFlow của hệ thống Red online timesheet (Red CRM) ......................62 Hình 27: Giao diện màn hình listview của module Account ....................................62 Hình 28: Giao diện màn hình editview của module Account ...................................63 Hình 29: Giao diện tạo mới Manpower Cost ............................................................63 Hình 30: Giao diện tạo mới Prduction cost actual ....................................................64 Hình 31: Giao diện tạo mới Production cost Estimation ..........................................64 Hình 32: Giao diện mới mới Projects .......................................................................65 Hình 33: Giao diện tạo mới Revenues Estimation ....................................................65 Hình 34: Giao diện tạo mới Revenues Actual ..........................................................66 Hình 35: Giao diện tạo mới Salary ...........................................................................66
  • 5. MỤC LỤC HÌNH ẢNH Page 5 Hình 36: Giao diện khi nhập Timesheets ..................................................................67 Hình 37: Giao diện khi nhập Leaving .......................................................................67 Hình 38: Giao diện khi tạo mới Publicdays ..............................................................68 Hình 39: Giao diện các Report trong hệ thống .........................................................68 Hình 40: Giao diện Report Estiamte Cost .................................................................69 Hình 41: Giao diện Report Actual Cost (MA) ..........................................................70 Hình 42: Giao diện Report Actual Cost (CR) ...........................................................70 Hình 43: Giao diện Report Profit And Loss (CR) ....................................................71 Hình 44: Giao diện Report Profit And Loss (MA) ...................................................72 Hình 45: Giao diện Report Revenues Projection ......................................................72 Hình 46: Giao diện Report Timesheet đƣợc lọc theo dự án .....................................73 Hình 47: Giao diện Report Timesheet đƣợc lọc theo nhân viên ...............................73 Hình 48: Giao diện Report Tímesheet (%) ...............................................................74 Hình 49: Màn hình đ ng nhập vào hệ thống .............................................................75 Hình 50: Màn hình edit account ................................................................................76 Hình 51: Màn hình tạo mới Project ...........................................................................79 Hình 52: Màn hình chi tiết các thông tin liên quan đến Project ...............................80 Hình 53: Màn hình Timesheets .................................................................................84 Hình 54: Màn hình nhập team và xem các user đƣợc thêm vào team ......................86 Hình 55: Màn hình Salary .........................................................................................89 Hình 56: Màn hình danh sách các report .................................................................91 Hình 57: Màn hình Report estimate cost ..................................................................94 Hình 58: Màn hình Report Actual cost .....................................................................99
  • 6. MỤC LỤC BẢNG Page 6 MỤC LỤC BẢNG Bảng 1: Tạo mới một package trong SugarCRM...................................................... 16 Bảng 2: Tạo mới một module trong SugarCRM ....................................................... 17 Bảng 3: Tùy chỉnh module bằng công cụ Studio trong module builder ................... 21 Bảng 4: Deloy module để đƣa vào sử dụng trong hệ thống SugarCRM .................. 22 Bảng 5: danh sách các tính n ng cần quản lý cho công ty Red ................................ 34 Bảng 6: Mẫu Report Project Cost Estimation ........................................................... 54 Bảng 7: Mẫu Report Project Cost Actual (CR)......................................................... 55 Bảng 8: Mẫu Report Project Cost Actual (MA) ....................................................... 56 Bảng 9: Mẫu Report Profit And Loss (CR) .............................................................. 57 Bảng 10: Mẫu Report Profit And Loss (MA) ........................................................... 57 Bảng 11: Mẫu Report Revenues ............................................................................... 57 Bảng 12: Mẫu Report Timesheet (%) ....................................................................... 58 Bảng 13: Mẫu report Timesheet ................................................................................ 59
  • 7. MỞ ĐẦU Page 7 MỞ ĐẦU Cuộc cách mạng công nghệ thông tin ở thế kỷ 20 đã cho chúng ta thấy ảnh hƣởng sâu sắc của công nghệ thông tin đến mọi lĩnh vực trong đời sống kinh tế, v n hóa, xã hội; đƣa xã hội loài ngƣời chuyển mạnh từ xã hội công nghiệp sang xã hội thông tin, từ kinh tế công nghiệp sang kinh tế trí thức. Nội dung cơ bản của cuộc cách mạng này là ứng dụng công nghệ cao, hiện đại với công nghệ thông tin và truyền thông (CNTT&TT) là phƣơng tiện có ý nghĩa quyết định, với trí tuệ và sáng tạo là nguồn lực quốc gia quan trọng, phục vụ cho việc xây dựng và phát triển một xã hội ngày càng tốt đẹp hơn. Từ những thập kỉ cuối thế kỷ 20 CNTT&TT đã có những bƣớc phát triển vũ bão và đã đem lại những thay đổi lớn lao cho cuộc sống nhân loại. CNTT, nhất là mạng Internet làm cho khoảng cách trên thế giới ngày càng trở nên nhỏ bé. Tri thức và thông tin không biên giới sẽ đƣa hoạt động kinh tế vƣợt ra khỏi phạm vi quốc gia và trở thành hoạt động mang tính toàn cầu. Trong mọi hoạt động kinh doanh, khách hàng luôn đóng vai trò trung tâm. Và câu hỏi đƣợc đặt ra làm sao để quản lý khách hàng đƣợc tốt? Làm sao để khách hàng hợp tác với công ty lâu dài hơn ? Làm sao để t ng lợi nhuận cho công ty ? Làm sao để t ng sự cộng tác giữa các nhân viên trong một công ty, một phòng ban ? Làm sao để bảo mật các thông tin nhạy cảm... Phần mềm quản lí quan hệ khách hàng (CRM) ra đời nhằm để giải quyết các vấn đề trên.  Mục tiêu và phạm vi khóa luận Mục tiêu của khóa luận tốt nghiệp này chính là triển khai phần mềm quản lý quan hệ khách hàng cho một doanh nghiệp cụ thể dựa trên phần mềm mã nguồn mở SugarCRM.  Cấu trúc khóa luận Cấu trúc của khóa luận bao gồm các phần sau:  Phần mở đầu  Phần nội dung
  • 8. MỞ ĐẦU Page 8 Chƣơng 1 giới thiệu nền tảng sugarcrm: các kiến thức cấn biết về cấu trúc thƣ mục của SugarCRM, các cách chỉnh sửa trong SugarCRM. Chƣơng 2 thu thập và phân tích yêu cầu: giới thiệu về công ty red, các yêu cầu về bài toán, lƣợc đồ usecase, mô hình ERD cho phần mềm, các thuộc tính các lƣu trữ dành riêng cho từng module Chƣơng 3 thiết kế hệ thống: Workflow cho hệ thống, thiết kế giao diện của từng module Chƣơng 4 xây dựng hệ thống thực tế cho Red: dựa vào những thiết kế ban đầu tiến hành xây dựng hệ thống thực tế.  Phần kết luận: kết quả đạt đƣợc.
  • 9. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 9 CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGARCRM 1.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 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.
  • 10. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 10 H nh 1: Các module 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 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.
  • 11. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 11 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 trong hƣớng dẫn này 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 :
  • 12. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 12 H nh 2: Cấu trúc các thƣ mục con của một thƣ mục gốc 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.
  • 13. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 13 Tpls: Thƣ mục này chƣa các 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 đó, nơi nay 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. Ngoài ra các mối quan hệ giữa module và module cũng có thể đƣợc định nghĩa ở đây. ( ở các module có thể có các mối quan hệ nhƣ là: 1-n, n-n,1-1). 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ị
  • 14. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 14 các dữ liệu sẽ mở rộng lớp này. SugarBean thực hiện tất cả các nâng nặng cho dữ liệu tƣơng tác, xử lý mối quan hệ, ... 1.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. 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 các 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. 1.2.1. Tùy biến trong SugarCRM sử dụng công cụ developer 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: H nh 3: Các công cụ trong Developer Tools 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ữ.
  • 15. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 15 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. 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. H nh 4: Công cụ Repair trong System 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)
  • 16. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 16 1 Tạo mới package B1: Vào AdminModule Builder B2: Tạo mới 1 package, Điền tên package,key và save lại. Màn mình module builder Màn hình tạo mới package Bảng 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 đứa 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…
  • 17. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 17 Bƣớc 2: Tạo mới module 2 Tạo mới 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 module Bảng 2: Tạo mới một module trong SugarCRM 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, đƣợc chỉ định để, 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”,
  • 18. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 18 “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 để tạo 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 mới 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 3 Tùy chỉnh module bằng công cụ Studio. A. Fields B1: Chọn test1Fields Add Fields B2: Điền thông tin Fields  Save lại. Màn hình edit Fields B. EditView
  • 19. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 19 B1: Chọn test1  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 đó. B2: Tại đây ngƣời Màn hình Edit View 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. - Sau khi thiết kế giao diện Edit ta chọn Save. C. DetailView B1: Chọn test1  LayoutsDetailView Màn hình Detail View - 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ả
  • 20. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 20 những Fields(đã add) từ bên cửa sổ Toolbox sang cửa sổ Layout và ngƣợc lại. - Cửa sổ Layout là nơi chứa những fields của màn hình DetailView của Module. - Sau khi thiết kế giao diện Detail ta chọn Save. D. ListView B1: Chọn test1  LayoutsListView - ListView là giao diện Hiển thị danh sách các Records 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ổ Hidden sang cửa sổ Available và ngƣợc lại. - Sau khi thiết kế
  • 21. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 21 giao diện List ta chọn Save. E. Search B1: Chọn test1  LayoutsSearchBas ic Search - Basic Search là giao diện Hiển thị các tiêu chí search các record của module. 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ổ Default và ngƣợc lại.Nhằm thêm bớt các tiêu chí search cho module. - Sau khi thiết kế giao diện Search ta chọn Save. Bảng 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. 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 đó.
  • 22. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 22 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ệ thống. 4 Deploy Module Sau khi tùy chỉnh Module bằng công cụ Studio chúng ta có thể sử dụng Module này hoặc Publish ra ngoài để cài đặt sau. A. Deploy - Để sử dụng module này chúng ta vào Module Buider  Test - Sau đó ta chọn Deploy - 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. Bảng 4: Deloy module để đƣa vào sử dụng trong hệ thống SugarCRM
  • 23. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 23 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. Đó 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. H nh 5: Tạo relationship trong công cụ studio 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. H nh 6: các quan hệ giữa các module với nhau
  • 24. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 24 Đó 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 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 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 các thƣ mục. /custom/include/language/ (for $app_strings or $app_list_strings) /custom/Extension/application/Ext/Include/ /custom/Extension/modules/<MODULE_NAME>/Ext/Language/ (for $mod_strings only)
  • 25. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 25 1.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. Có một trong hai phƣơng pháp có thể là đƣợc điều này tạoLogic Hook và chỉnh sửa Bean Files. 1.2.2.1. Tùy biến logic hook Logic hook là việc quản lý các sự kiện trong SugarCRM, các sự kiện có thể gọi đƣợc các action trong hệ thống ví dụ: H nh 7: Cấu trúc code của file logic hook Logic Hook bằng cách viết code PHP chứa các quản lý các sự kiện hiện có ở trong Sugar, để thực hiện điều này ngƣời phát triển phải custom code sau đó thêm vào file manifest trong package “Media Inquiry”. Một vài code mẫu bằng cách dùng logic hook.Ví dụ này thêm một time stamp vào file Media Inquiry mỗi khi dữ liệu đƣợc lƣu trữ. Đầu tiên, tạo file AddTimeStamp.php với nội dung nhƣ sau: <?php //prevents directly accessing this file from a web browser if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point'); class AddTimeStamp { function StampIt(& $focus, $event){
  • 26. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 26 global $current_user; $focus->description .= “nSaved on ”. date(“Ymd g:i a”). “ by ”. $current_user->user_name; } } ?> Bƣớc tiếp theo đ ng kí chức n ng custom bằng cách tạo file logic_hooks.php với nội dung sau: <?php // Do not store anything in this file that is not part of the array or the hookversion. This file will // be automatically rebuilt in the future. $hook_version = 1; $hook_array = Array(); // position, file, function $hook_array['before_save'] = Array(); $hook_array['before_save'][] = Array(1, 'custom', 'custom/modules/Media/AddTimeStamp.php ','AddTimeStamp', 'StampIt'); ?> $ Hook_version Tất cả các logic hooks nên định nghĩa các $hook_version nên đƣợc sử dụng. Hiện nay, chỉ $ hook_version đƣợc hỗ trợ duy nhất là 1. $ Hook_version = 1 $ Hook_array Logic hook của ngƣời phát triển cũng sẽ định nghĩa array $hook_array. $hook_array là một array hai chiều: name : tên của event ngƣời phát triển đang hooking custom logic
  • 27. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 27 array : một array có chứa các tham số cần thiết để (fire) chạy hook Một quy trình kỹ thuật tốt nhất là cho mỗi entry (đầu vào) trong array cao cấp nhất đƣợc định nghĩa trên một single line (dòng đơn nhất/ dòng thống nhất) để dễ dàng tự động thay thế file này. Ngoài ra, logic_hooks.php cũng nên chỉ chứa các định nghĩa hook, bởi vì tính logic thực sự đƣợc định nghĩa ở bất kỳ nơi nào. Lấy ví dụ: Các hooks đƣợc tiến hành theo trật tự khi chúng đƣợc thêm vào array. Chiều đầu tiên là chỉ đơn giản là thao tác hiện tại, lấy ví dụ before_save . Các hooks sau đây có sẵn: Application hooks: Những hook không sử dụng của các đối số $bean. after_ui_frame Chạy sau khi cái sƣờn đã đƣợc gọi trƣớc khi footer đã đƣợc gọi. after_ui_footer Chạy sau khi footer đã đƣợc gọi server_round_trip Chạy vào cuối mỗi Sugar page Modulehook before_delete Chạy trƣớc khi một record đƣợc xóa after_delete Chạy sau khi một record đƣợc xóa before_restore Chạy trƣớc khi một record đƣợc phục hồi after_restore Chạy sau khi một record đƣợc phục hồi after_retrieve Chạy sau khi một record đã đƣợc lấy ra từ cơ sở dữ liệu (database). Hook này không chạy, khi ngƣời phát triển tạo một record mới. before_save
  • 28. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 28 Chạy trƣớc khi một record đƣợc lƣu Bây giờ thêm hai file ở trên vào file zip Media Inquiries mà ngƣời phát triển đã lƣu trữ trƣớc đó. Tạo ra một đƣờng dẫn có tên là “SugarModules/custom/” trong file zip và thêm hai file trên vào đƣờng dẫn đó, sau đó chỉnh sửa file manifest.php vào file zip để bao gồm định nghĩa sau trong $install_defs['copy'] array. array ( 'from' => '<basepath>/SugarModules/custom', 'to' => 'custom/modules/jsche_Media', ), 1.2.2.2. Tùy biến thƣ mục vadefs Ý 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. 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.
  • 29. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 29 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à <name> _c, 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. 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
  • 30. CHƢƠNG 1: GIỚI THIỆU NỀN TẢNG SUGACRM Page 30 đƣợc định nghĩa trong thƣ mục custom/extension/module/ext/vadefs/vardef.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, sau đó vào admin tiến hành repair để đồng nhất dữ liệu. Ví dụ : <?php $dictionary["C_project"]["fields"]["project_status"] = array ( 'name' => 'project_status', 'vname' => 'LBL_PROJECT_STATUS', 'type' => 'radioenum', 'dbType' => 'varchar', 'len' => 50, 'default' => 'enable', 'options' => 'project_status_list', ); Đây là cách thêm một trƣờng dữ liệu vào module C_project, với vname sẽ đƣợc khai báo trong thƣ mục custom/modules/C_project/language/en_us.lang.php <?php // created: 2012-05-11 17:33:01 // created: 2012-05-15 13:46:18 $mod_strings = array ( 'LBL_PROJECT_STATUS' => 'Status', ); 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. 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 n 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 MySQL.
  • 31. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 31 CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU 2.1. Giới thiệu công ty RED Công ty Red là công ty chuyên về lĩnh vực quảng cáo và xây dựng thƣơng hiệu. Công ty có các trụ sở đặt tại Hà Nội, Tp Hồ Chí Minh , và công ty gốc đặt ở Austraylia. Trụ sở Red đặt tại thành phố Hồ Chí Minh tại địa chỉ: 10 Phan Ngu St.,Da Kao Wd. D.1, HCMC, Vietnam. Để biết thêm chi tiết có thể truy cập vào website của công ty: www.red.tm 2.2. Mô tả bài toán Một công ty Red đang gặp khó kh n nhƣ sau: Công ty thƣờng sẽ chạy cùng 1 thời điểm rất nhiều dự án. Vì vậy làm sao để ngƣời quản lý có thể kiểm soát đƣợc tình hình dự án đang đến giai đoạn nào, chi phí và nhân sự tham gia dự án ra sao, lãi lỗ của 1 dự án ngay tại 1 thời điểm bất kỳ, 1 nhân viên có thể thực hiện đƣợc bao nhiêu dự án trong 1 khoảng thời gian…v.v... Khi có một yêu cầu báo cáo về dự án đƣợc đặt ra, làm sao để nhân viên có đƣợc những thông tin nhanh nhất và chính xác phục vụ cho yêu cầu báo cáo của cấp trên. Làm sao kiểm soát hoạt động của các nhân viên tham gia dự án? Làm sao để biết đƣợc tổng thời gian nhân viên đó đã tham gia 1 dự án hoặc nhiều dự án. Làm sao biết đƣợc tổng số ngày nghỉ phép của nhân viên trong tháng, n m. Ở cấp độ nhân viên nếu nhân viên đó không có mặt trong công ty liệu nhân viên đó có thể xin nghỉ phép với 1 qui trình nghỉ phép chặc chẽ không? Hay nhân viên đó phải làm thủ công nhƣ viết email, nhắn tin hoặc gọi điện cho cấp trên của mình theo 1 qui trình thủ công (viết đơn, trình duyệt, chờ đợi sự chấp nhận của cấp trên…)
  • 32. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 32 Ở cấp độ quản lý: Nếu ngƣời quản lý là ngƣời thƣờng xuyên ra ngoài gặp khách hàng, đối tác,….Việc duyệt ngày nghỉ phép cho các nhân viên là cả 1 vấn đề khi ngƣời quản lý không có mặt ở v n phòng. Trƣớc những vấn đề trên cần một phần mềm có thể giải quyết các khó kh n đó. Sau khi khảo sát hiện trạng, phân tích viên nắm đƣợc những thông tin nhƣ sau : Trong công ty có những nhân viên bán hàng làm nhiệm vụ tìm kiếm liên hệ với các khách hàng, sau khi có đƣợc thông tin của khách hàng cũng nhƣ các yêu cầu của khách hàng, nhân viên bán hàng sẽ tiến hành tổng hợp lại các thông tin về hợp đồng mà khách hàng yêu cầu để đƣa lên cấp trên. Cấp trên khi nhận thấy có thể kí kết đƣợc hợp đồng sẽ tiến hành lập các thông tin về dự án sắp tới lên hệ thống của công ty. Khi bắt đầu triển khai dự án thực tế, ngƣời quản lý sẽ vào phần mềm và tạo các thông tin về dự án sắp đƣợc triển khai. Khi lên dự án mới có thể dự tính đƣợc chi phí cho dự án đó, cũng nhƣ có thể quản lý thời gian làm việc của các nhân viên trong dự án đó, thêm các nhân viên để tham gia dự án. Ngƣời quản lý cùng với nhân viên kế toán đƣa ra các hóa đơn dự tính cho dự án đang đƣợc triển khai. Trong quá trình dự án diễn ra các nhân viên khi đi làm việc sẽ truy cập vào hệ thống và điền số giờ mình đã làm việc trong ngày dành cho dự án nào, những ngày nhân viên không đi làm vì lí do gì thì nhân viên phải vào hệ thống điền vào ngày mình nghỉ và lí do nghỉ để đợi sự cho phép của ngƣời quản lý Đến cuối tháng nhân viên kế toán sẽ xuất ra các báo cáo về những chi phí dành cho từng dự án, cũng nhƣ số tiền mà công ty phải thanh toán cho các nhân viên của từng dự án. Lƣu ý trong công ty ngoài nhân viên kế toán ra không có nhân viên nào đƣợc truy cập vào hệ thống lƣơng của công ty. 2.3. Các yêu cầu cho hệ thống CRM của công ty Red Công ty Red cần phải quản lý nhiều công việc, nên yêu cầu của hệ thống CRM phải đƣợc xây dựng để giải quyết đƣợc các yêu cầu công việc, tính tiện dụng, bảo mật… Dƣới đây là danh sách các tính n ng cần phải xây dựng cho hệ thống
  • 33. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 33 # Nội dung 1 Quản lý danh mục dùng chung  Danh mục phòng ban  Danh mục dự án  Danh mục ngƣời dùng 2 Quản lý ngƣời sử dụng, phân quyền bảo mật hệ thống  Quản lý ngƣời dùng đ ng nhập hệ thống.  Thay đổi mật khẩu ngƣời sử dụng.  Phân quyền cập nhật dữ liệu cho từng ngƣời dùng 3 Thông tin chƣơng trình, tài liệu hƣớng dẫn sử dụng 4 Bảo mật dữ liệu và backup dữ liệu II. Quản lý thông tin nhân viên 1 Thông tin về hồ sơ nhân viên  Quản lý mã nhân viên, họ tên, phòng ban, chức vụ, mức lƣơng ….. III. Quản lý thông tin nghỉ phép của nhân viên 1  Nhân viên tự cập nhật ngày nghỉ của mình theo từng loại ngày nghỉ đƣợc hệ thống thiết lập sẵn.  Báo cáo tổng quan chi tiết về ngày nghỉ của mỗi nhân viên trong tháng IV. Quản lý hóa đơn 1 Quản lý thông tin chi tiết hóa đơn của từng dự án ( tình trạng của hóa đơn : khách hàng thanh toán đủ hay thiếu….) V. Quản lý TimeSheet 1 Qui trình cập nhật Project cost Estimation 2 Qui trinh cập nhật PROJECT COST ACTUAL 3 Qui trình cập nhật REVENUE REPORT 4 Qui trình cập nhật PROFIT AND LOSS BY PROJECT
  • 34. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 34 VI. Quản lý báo cáo 1 Báo cáo project cost estimation 2 Báo cáo project cost actual (CR) và project cost actual (MA) 3 Báo cáo REVENUE REPORT 4 Báo cáo PROFIT AND LOSS BY PROJECT 5 Báo cáo TimeSheet (theo dự án, theo nhân viên) 6 Báo cáo timesheet % ngày làm thực tế, ngày build của từng nhân viên Bảng 5: danh sách các tính năng cần quản lý cho công ty Red 2.4. Qui tr nh hoạt động Công ty Red có qui trình hoạt động trong việc tìm kiếm khách hàng và lập dự án nhƣ sau: công ty có đội ngũ nhân viên đảm nhiệm công việc liên hệ và trao đổi thông tin với khách hàng, tìm hiểu yêu cầu của bên khách hàng, lập danh sách các thông tin về khách hàng để dễ dàng cho việc trao đổi. Khi khách hàng có nhu cầu thì đội ngũ nhân viên cùng với ban lãnh đạo sẽ để xuất dự án tiền khả thi để cho khách hàng nắm tƣơng đối công việc của 2 bên cần phải làm, khi thấy dự án khả quan, và khách hàng ƣng ý với chất lƣợng làm việc của công ty thì cả 2 bên sẽ tiến hành tiến tới kí hợp đồng và đƣa dự án chính thức vào thi công. Khi dự án đã đƣợc hoàn thành và nghiệm thu mà không phát sinh ra bất cứ lỗi gì thì công ty sẽ có cử đội ngũ nhân viên có nhiệm vụ ch m sóc và hỗ trợ cho khách hàng để đảm bảo quá trình hợp tác giữa 2 bên sẽ lâu dài hơn.
  • 35. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 35 Thu Thập thông tin khách hàng Sales Lập hồ sơ quản lý khách hàng Sales Lên phƣơng án kinh doanh Sales Xác định n ng lực công ty Manager Tƣ vấn lại khách hàng Không thể làm Chƣa chắc chắn Kết thúc Quyết định Có thể làm Sales Đề xuất dự án tiền khả thi Sales Manager Đàm phán hợp đồng Sales Manager Chƣa thống nhất Kết thúc Không Thống nhất Có Ký hợp đồng Phát sinh Có Sales Manager Lập dự án Không Manager Hoàn thành dự án Employee Có Sửa chữa lại các lỗi Kiểm tra lỗi Không Employee Nghiệm thu Sales Manager Accounting Ch m sóc khách hàng Sales Kết thúc H nh 8: Qui tr nh hoạt động t m kiếm khách hàng và lập dự án
  • 36. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 36 2.5. Lƣợc đồ Usecase H nh 9: Lƣợc đồ Uscae tổng thể Lƣợc đồ usecase tổng thể bao gồm các actor: Quản lý: là nhân viên cấp cao trong hệ thống, các hoạt động của nhân viên quản lý bao gồm luôn cả các hành động của nhân viên bán hàng và nhân viên nhân sự Kế toán: Là nhân viên có hoạt động cập nhật lƣơng và xem các báo cáo, nhân viên quản lý cũng đƣợc xem các báo cáo Nhân Sự: là nhân viên đảm nhận việc chỉnh sửa thông tin của các nhân viên, phê duyệt nghỉ phép cho các nhân viên Nhân viên bán hàng: là nhân viên đảm nhận việc liên lạc với khách hàng, lƣu các thông tin của khách hàng vào hệ thống và tìm kiếm thông tin khách hàng. Nhân viên: là actor đảm nhiệm việc điền thời gian làm việc và điền những ngày nghỉ trong hệ thống
  • 37. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 37 2.5.1. Usecase của Actor Nhân Viên H nh 10: Lƣợc đồ Usecase của Actor Nhân Viên Mô tả chi tiết: Xem thông tin nhân viên: Nhân viên có thể xem thông tin của chính nhân viên đó trong hệ thống và thiết lập lại thông tin của chính nhân viên Tim kiếm: Nhân viên có thể tìm kiếm thông tin của nhân viên, thời gian làm việc hàng ngày, và số ngày nghỉ của nhân viên đó trong hệ thống Cập nhật ngày nghỉ: những ngày không làm việc thì nhân viên phải nhập vào ngày nghỉ và lí do nghỉ, kiểm tra xem số ngày nghỉ có vƣợt quá sự cho phép hay không Lên lịch các cuộc gọi, cuộc hẹn: lên lịch các cuộc gọi hoặc cuộc hẹn giữa các nhân viên với nhau hoặc với khách hàng Nhập thời gian: Nhập thời gian làm việc trong hệ thống đối với từng dự án.
  • 38. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 38 2.5.2. Usecase của Actor Nhân Sự uc Actors Tìm kiếm nhân v iên Thêm mới nhân v iên Chỉnh sửa thông tin của từng nhân v iên Xem thông tin của từng nhân v iên Phê duyệt nghỉ phép cho nhân v iên NhanSu NhanVien H nh 11: Lƣợc đồ Usecase của Actor Nhân Sự Mô tả chi tiết: Xem thông tin của từng nhân viên: Xem thông tin của các nhân viên trong hệ thống Chỉnh sửa thông tin của từng nhân viên: Trong hệ thống nhân sự có quyền chỉnh sửa thông tin của các nhân viên Tìm kiếm nhân viên: Tìm kiếm thông tin của từng nhân viên xem nhân viên đó thuộc team nào, làm dự án nào Thêm nhân viên mới: Có quyền thêm mới một nhân viên vào hệ thống Phê duyệt nghỉ phép cho nhân viên: Khi nhân viên xin phép nghỉ, phải đƣợc sự cho phép của nhân sự thì nhân viên đó mới đƣợc phép nghỉ Ngoài ra nhân sự còn có các hành động của nhân viên.
  • 39. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 39 2.5.3. Usecase của Actor Kế Toán H nh 12: Lƣợc đồ Uscase của Actor Kế Toán Mô tả chi tiết: Xem báo cáo: xem các báo cáo chi tiết về chi phí dự tính của từng dự án, báo cáo về chi phí thực tế của từng nhân viên…. Cập nhật lƣơng cho nhân viên: Cập nhật lƣơng cho từng nhân viên theo từng tháng trong n m Quản lý chi tiết hóa đơn: có mối quan hệ <<extend>> với thêm hóa đơn, hủy hóa đơn, sửa hóa đơn, và kiểm tra việc thanh toán hóa đơn của khách hàng nếu hóa đơn đã đƣợc thanh toán là : paid ngƣợc lại là not paid Ngoài ra kế toán còn có các hành động cua nhân viên
  • 40. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 40 2.5.4. Usecase của Actor Manager: Banhang H nh 13: Lƣợc đồ Usecase cho Actor Manager (ngƣời quản lý) Mô tả chi tiết Tạo dự án mới: Manager( ngƣời quản lý) có hoạt động tạo mới một dự án khi đã có thông tin của khách hàng từ nhân viên bán hàng. Phân quyền cho từng nhân viên: Ngƣời quản lý có hoạt động phân quyền cho từng nhân viên trong hệ thống.
  • 41. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 41 Xem và đổi mật khẩu cho từng nhân viên: khi nhân viên làm mất mật khẩu hoặc vì lí do nào đó muốn thay đổi mật khẩu thì ngƣời quản lý có thể thay đổi mật khẩu cho nhân viên hoặc tự nhân viên thay đổi mật khẩu. Xóa thông tin nhân viên: Những nhân viên nghỉ việc hoặc không tồn tại trong công ty sẽ đƣợc xóa thông tin trong hệ thống Cấu hình cho hệ thống: Cấu hình mail, repair lại hệ thống khi có những thay đổi và có thể thiết lập ngày giờ cho hệ thống Cập nhật project cost estimation: cập nhật chi phí dự tính cho từng dự án. Có mối quan hệ <<extend>> với nhập mới project cost estimation, chỉnh sửa project cost estimation, xóa project cost estimation 2.6. Phân tích yêu cầu về cơ sở dữ liệu ACCOUNT 1 MAN POWERCOST REVENUES Có ESTIMATION N N Có N Có 1 1 PROJECT N 1 Có REVENUES PRODUCTION 1 N ACTUAL Có COST 1 ESTIMATION 1 1 Có Có N Có SALARY N Có 1 PRODUCTION 1 COST ACTUAL USERS 1 N Có TIMESHEETS N LEAVING H nh 14: Mô h nh ERD tổng thể
  • 42. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 42 2.6.1. Các thuộc tính của Account Thực thể Account gồm các thuộc tính: IDaccount: id của từng khách hàng đƣợc lƣu xuống cơ sở dữ liệu Assigned to: thuộc tính này để lƣu các id của các user thuộc module user Bussiness Type: để lƣu các kiểu kinh doanh xuống cơ sở dữ liệu Name: để lƣu tên của các khách hàng Website: để lƣu các website mà khách hàng sử dụng Office Phone: để lƣu số điện thoại v n phòng của khách hàng Fax: để lƣu số fax của khách hàng Billing Address: dùng để lƣu địa chỉ thanh toán của khách hàng Office Address: dùng để lƣu địa chỉ v n phòng của khách hàng Description: dùng để lƣu trữ các mô tả về khách hàng Type: Để lƣu các kiểu khách hàng có thể là ngƣời hoặc là công ty. Office Website Phone Fax Billing Address Name Office Address Bussiness Type ACCOUNT Email Address Assigned to 1 Description IDaccount Có Type 1 PROJECT H nh 15: Các thuộc tính của thực thể Account
  • 43. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 43 2.6.2. Các thuộc tính của Revenues actual Thực thể revenues actual bao gồm các thuộc tính: IDre_actual: dùng để lƣu các id của revenues actual Invoice Number : thuộc tính này dùng để lƣu số của hóa đơn Amount : chi phí của dự án đƣợc điền trong hóa đơn VAT Amount : chi phí của dự án đƣợc tính thuế VAT Total Amount : tổng chi phí của dự án bao gồm chi phí và chi phí VAT Description : phần mô tả về hóa đơn Date : ngày lập hóa đơn Payment Status : trạng thái của hóa đơn, đã thanh toán hay chƣa đƣợc thanh toán User: Dùng để lƣu nhân viên nào lập hóa đơn VAT Total Amount Amount Description Date Amount Payment Status Invoice REVENUES Number ACTUAL N User IDre_actual IDproject Có 1 PROJECT H nh 16: Các thuộc tính của thực thể revenues actual
  • 44. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 44 2.6.3. Các thuộc tính của Revenues Estimation Thực thể revenues actual bao gồm các thuộc tính: IDre_es: dùng để lƣu các id của revenues actual Amount : chi phí của dự án đƣợc điền trong hóa đơn VAT Amount : chi phí của dự án đƣợc tính thuế VAT Total Amount : tổng chi phí của dự án bao gồm chi phí và chi phí VAT Description : phần mô tả về hóa đơn Date : ngày lập hóa đơn Payment Status : trạng thái của hóa đơn, đã thanh toán hay chƣa đƣợc thanh toán User: Dùng để lƣu nhân viên nào lập hóa đơn Total Description Amount VAT Date Amount Amount Payment Status IDre_es REVENUES User ESTIMATION N Có 1 PROJECT H nh 17: Các thuộc tính của thực thể Revenues Estimation
  • 45. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 45 2.6.4. Các thuộc tính của Production Cost Esmation Thực thể Production Cost Estimation bao gồm các thuộc tính: IDpro_esimation: dùng để lƣu các id của production cost estimation Title : dùng để lƣu tiêu đề Description : phần mô tả về production cost estimation Amount : dùng để lƣu chi phí dự tính của production Title Description Idpro_estim ation Amount PRODUCTION COST ESTIMATION N Có 1 PROJECT H nh 18: Các thuộc tính của thực thể Production Cost Estiamtion
  • 46. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 46 2.6.5. Các thuộc tính của Production Cost Actual Thực thể Production Cost Actual bao gồm các thuộc tính: IDpro_actual: dùng để lƣu các id của production cost actual Title : dùng để lƣu tiêu đề Description : phần mô tả về production cost estimation Amount : dùng để lƣu chi phí thực tế của production Description Title Idpro_actual Amount PRODUCTION COST ACTUAL N Có 1 PROJECT H nh 19: Các thuộc tính của thực thể Production Cost Actual
  • 47. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 47 2.6.6. Các thuộc tính của Manpower Cost Thực thể Production Cost Actual bao gồm các thuộc tính: IDmanpower: dùng để lƣu các id của manpower cost Title : dùng để lƣu tiêu đề Description : phần mô tả về manpower cost Amount : dùng để lƣu chi phí dự tính dành cho các team Title Description IDmanpowe r Amount MANPOWER COST N Có PROJECT 1 H nh 20: Các thuộc tính của thực thể Manpower Cost 2.6.7. Các thuộc tính của User Thực thể Production Cost Actual bao gồm các thuộc tính: IDusers: dùng để lƣu các id của các user Assigned to: lƣu ngƣời đƣợc giao để thiết lập các thông tin teams User type: dùng để lƣu kiểu nhân viên Name: để lƣu tên của các khách hàng Website: để lƣu các website mà nhân viên sử dụng
  • 48. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 48 Office Phone: để lƣu số điện thoại v n phòng của nhân viên Fax: để lƣu số fax của nhân viên Billing Address: dùng để lƣu địa chỉ thanh toán của nhân viên Office Address: dùng để lƣu địa chỉ v n phòng của nhân viên Status: trạng thái khi thiết lập nhân viên đó Last name: từ cuối cùng trong tên của nhân viên Office Website Phone Fax Billing Address User name Office Address User Type Email USERS Address Assigned to N status Có IDusers Last name N PROJECT H nh 21: Các thuộc tính của thực thể Users 2.6.8. Các thuộc tính của Timesheets Thực thể Timesheets bao gồm các thuộc tính: IDtimesheet: dùng để lƣu các id của timesheet Project Name : dùng để lƣu tên của các dự án Hour : Số giờ đƣợc thêm vào từng dừng án
  • 49. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 49 Minutes: Số phút đƣợc thêm vào từng dự án Description: các mô tả thêm về phần điền timesheet Hour IDtimesheet Minutes Project Name Description TIMESHEETS N Có 1 PROJECT H nh 22: Các thuộc tính của thực thể Timesheets
  • 50. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 50 2.6.9. Các thuộc tính của Leaving Thực thể Leaving bao gồm các thuộc tính: IDleaving: dùng để lƣu các id của leaving Reason : dùng để lƣu các lí do xin nghỉ phép Type: dùng để lƣu trữ là xin nghỉ nửa ngày, hay nguyên ngày Description: các mô tả thêm về phần điền Leaving Type IDtimesheet Description Reason LEAVING N Có 1 USERS H nh 23: Các thuộc tính của thực thể Leaving
  • 51. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 51 2.6.10. Các thuộc tính của Salary Thực thể Leaving bao gồm các thuộc tính: IDsalary: dùng để lƣu các id của salary January : dùng để lƣơng của nhân viên của tháng 1 February: dùng để lƣơng của nhân viên của tháng 2 March: dùng để lƣơng của nhân viên của tháng 3 April: dùng để lƣơng của nhân viên của tháng 4 May: dùng để lƣơng của nhân viên của tháng 5 June: dùng để lƣơng của nhân viên của tháng 6 July: dùng để lƣơng của nhân viên của tháng 7 August: dùng để lƣơng của nhân viên của tháng 8 September: dùng để lƣơng của nhân viên của tháng 9 October: dùng để lƣơng của nhân viên của tháng 10 November: dùng để lƣơng của nhân viên của tháng 11 December: dùng để lƣơng của nhân viên của tháng 12 User: dùng để lƣu tên của nhân viên đƣợc nhập lƣơng Year: dùng n m mà cần nhập lƣơng cho nhân viên
  • 52. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 52 June July May August April September March October February November January December SALARY N IDsalary User Có Year 1 USERS H nh 24: Các thuộc tính của thực thể Salary
  • 53. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 53 2.6.11. Các thuộc tính của Project Thực thể project bao gồm các thuộc tính: IDproject: dùng để lƣu các id của project Project Code : dùng để lƣu mã của các dự án Project Name: dùng để lƣu tên của các dự án Project Mananger: dùng để lƣu ngƣời quản lý dự án Client: dùng để lƣu khách hàng mà dự án triển khai Start Date: dùng để lƣu ngày bắt đầu dự án End Date: dùng để lƣu ngày kết thúc dự án Status: dùng để lƣu trạng thái của dự án(enable/disable) Description: mô tả về dự án Project Client Start Date Manager End Date Project Name Status Project PROJECT Code Description IDproject H nh 25: Các thuộc tính của thực thể Project
  • 54. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 54 2.7. Các mẫu Report tham khảo Các mẫu Report này mang tính chất tham khảo để thiết kế giao diện cho các module report cũng nhƣ định dạng cho các file excel khi xuất các report. 2.7.1. Mẫu Report Project Cost Estimate World trade center Project name: JOB Code: VIN.001/1011 Branding & design Client: Vinacapital Business type Real Estate Project period From: To: Project leader: Ms Long Uyen INTERNAL PROJECT MAN HOUR & COST ESTIMATION Title Projected Hour Cost per hours (USD) Amount (USD) MAN POWER COST: 710 Client services 8 20 160 Designers 15 20 300 Creative Director 5 50 250 - - - - - 0 PRODUCTION COST 500 0 Nhat Thong 250 Vietnam airlines (air ticket) 250 0 0 TOTAL - - 1.210 Bảng 6: Mẫu Report Project Cost Estimation
  • 55. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 55 2.7.2. Mẫu Report Project Cost Actual (CR) World trade center Project name: JOB Code: VIN.001/1011 Branding & design Client: Vinacapital Real estate/ FMCG/ Business type Education/Service Project period From: 11-Thg10 To: 11-Thg11 Project leader: Ms Long Uyen PROJECTED V.S ACTUAL MAN HOUR & COST Title Person incharge Hours Diff MAN POWER COST: Projected Actual CR Uyen 5 2 3 Designer Tho 5 Dinh 5 Lan Anh 5 Toan 5 CD Lenny 5 PRODUCTION COST Nhat thong Itaxa Vietnam airline TOTAL: Bảng 7: Mẫu Report Project Cost Actual (CR)
  • 56. CHƢƠNG 2: THU THẬP VÀ PHÂN TÍCH YÊU CẦU Page 56 2.7.3. Mẫu Report Project Cost Actual (MA) World trade center Project name: JOB Code: VIN.001/1011 Branding & design Client: Vinacapital Real estate/ FMCG/ Business type Education/Service Project period From: 11-Thg10 To: 11-Thg11 Project leader: Ms Long Uyen PROJECTED V.S ACTUAL MAN HOUR & COST Title Person incharge Hours Cost per hours Amount (USD) MAN POWER COST: Projected Actual 640 CR Uyen 5 3 20 60 Designer Tho 5 2 20 40 Dinh 5 3 20 60 Lan Anh 5 7 20 140 Toan 5 8 20 160 CD Lenny 5 9 20 180 - PRODUCTION COST 300 - Nhat thong 100 Itaxa 100 Vietnam airline 100 - TOTAL: 940 Bảng 8: Mẫu Report Project Cost Actual (MA)