TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN
(cid:94)
(cid:93)
NGUYỄN THỊ KIM PHƯỢNG – TRƯƠNG KIỀU GIANG
KHÓA LUẬN CỬ NHÂN TIN HỌC
TP.HCM, 2005
(cid:94)
(cid:93)
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN
NGUYỄN THỊ KIM PHƯỢNG 0112237 0112344 TRƯƠNG KIỀU GIANG
GIÁO VIÊN HƯỚNG DẪN THẠC SĨ: NGUYỄN TRẦN MINH THƯ
NIÊN KHÓA 2001-2005
Lôøi caûm ôn
Chuùng em xin chaân thaønh caûm ôn Ban giaùm hieäu, quyù Thaày Coâ cuûa
tröôøng Ñaïi hoïc Khoa Hoïc Töï Nhieân Tp.Hoà Chí Minh, ñaëc bieät laø
caùc Thaày Coâ trong khoa Coâng Ngheä Thoâng Tin ñaõ taän tình giaûng
daïy, trang bò cho chuùng em nhöõng kieán thöùc caàn thieát trong suoát nhöõng
naêm hoïc taäp taïi tröôøng.
Chuùng em xin chaân thaønh caûm ôn Thaïc só Nguyeãn Traàn Minh Thö
ñaõ taän tình quan taâm, höôùng daãn vaø giuùp ñôõ chuùng em trong quaù trình
thöïc hieän luaän vaên ñeå chuùng em coù theå hoaøn thaønh toát luaän vaên naøy.
Chuùng toâi xin chaân thaønh caûm ôn caùc anh chò cuøng caùc baïn ñaõ coù
nhöõng nhaän xeùt, ñoùng goùp yù kieán, ñoäng vieân, quan taâm vaø giuùp ñôõ
chuùng toâi vöôït qua khoù khaên trong suoát quaù trình thöïc hieän ñeà taøi.
Cuoái cuøng, chuùng con xin göûi loøng bieát ôn saâu saéc ñeán cha meï, gia
ñình ñaõ taïo moïi ñieàu kieän veà vaät chaát, tinh thaàn, ñoäng vieân, khích leä
vaø hoã trôï chuùng con trong suoát thôøi gian qua.
Tp.Hoà Chí Minh, ngaøy 12 thaùng 7 naêm 2005
Nhoùm sinh vieân thöïc hieän
Nguyeãn Thò Kim Phöôïng – Tröông Kieàu Giang
LỜI NÓI ĐẦU
Thế kỷ 21 - thế kỷ của sự bùng nổ công nghệ thông tin, các công nghệ
tiên tiến phát triển như vũ bão, mang một luồng gió mới thổi vào nhận thức
của mỗi người. Song song đó, thế giới đang trong xu thế toàn cầu hóa, tất
cả đều mang ý nghĩa hội nhập. Lúc này, các doanh nghiệp và chính phủ
không chỉ cạnh tranh với các doanh nghiệp trong một quốc gia mà còn cạnh
tranh với các doanh nghiệp, chính phủ ở khắp thế giới. Vì thế, để tồn tại và
phát triển, mục tiêu mà các doanh nghiệp hướng đến đầu tiên là nâng cao
chất lượng phục vụ khách hàng. Khách hàng là yếu tố sống còn của bất kỳ
doanh nghiệp nào trong thế kỷ 21. Một chính phủ muốn quốc gia mình phát
triển phải xem nhân dân và doanh nghiệp là khách hàng. Để có khách hàng
đã khó, để giữ khách hàng càng khó hơn nhiều. Doanh nghiệp nào làm cho
khách hàng thỏa mãn, doanh nghiệp đó sẽ phát triển tốt, chính phủ nào làm
nhân dân hài lòng chính phủ đó sẽ vững mạnh.
Trong bối cảnh phát triển mạnh mẽ của Internet nói chung, thương mại
điện tử và chính phủ điện tử nói riêng, việc ứng dụng công nghệ thông tin
vào lĩnh vực dịch vụ khách hàng không là mới trên thế giới nhưng là mới ở
Việt Nam. Nhiều vấn đề đặt ra là làm thế nào đem đến cho khách hàng sự
phục vụ tốt nhất, tiện lợi và hiệu quả nhất. Chính vì vậy đề tài “Tìm hiểu
công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng”
được đưa ra nhằm giúp cho các doanh nghiệp hay các tổ chức nhà nước
hỗ trợ khách hàng hiệu quả hơn. Với luận văn này, nhóm chúng em mong
muốn sẽ xây dựng được một hệ thống hỗ trợ khách hàng giảm chi phí về
nhân sự và viễn thông, thời gian hỗ trợ ngắn hơn, thông tin hỗ trợ chính xác
theo yêu cầu và không bỏ sót yêu cầu của khách hàng.
Nội dung của đề tài gồm các phần chính sau:
Chương 1: Tổng quan - Giới thiệu đôi nét về hệ thống hỗ trợ dịch vụ khách
hàng như mục tiêu, phạm vi, đối tượng mà hệ thống hướng tới. Song song
đó là các cách tiếp cận bài toán và đưa ra hướng giải quyết bài toán.
Chương 2: Giới thiệu công nghệ XML – Đề tài sử dụng một công nghệ mới
để hỗ trợ trong vấn đề lưu trữ và trao đổi thông tin trong môi trường Internet
đó là XML. Chương này sẽ giới thiệu được cho mọi người biết XML là gì và
các công nghệ đang được hỗ trợ trên XML.
Chương 3: Mô tả hệ thống quản lý dịch vụ khách hàng - Mô tả chi tiết hệ
thống hỗ trợ dịch vụ khách hàng và đưa ra các yêu cầu mà hệ thống sẽ
được xây dựng.
Chương 4: Phân tích ứng dụng - Phân tích chi tiết các yêu cầu theo mô
hình UML (Unified Model Language).
Chương 5: Thiết kế và cài đặt ứng dụng.
Chương 6: Kết luận và hướng phát triển – Tổng kết những kết quả đạt được
và mặt hạn chế của đề tài, đồng thời cũng đưa ra hướng phát triển cho hệ
thống sau này.
Phần cuối cùng là Tài liệu tham khảo và phụ lục.
Do thời gian có hạn, kinh nghiệm phân tích, thiết kế, cài đặt còn hạn chế
nên chắc chắn không tránh khỏi một số sai sót nhất định. Rất mong nhận
được sự đóng góp ý kiến của quý Thầy Cô và bạn bè để chúng em hoàn
thiện đề tài này.
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
MỤC LỤC
Chương 1: MỞ ĐẦU ....................................................................................... 9
1.1. Giới thiệu ứng dụng ............................................................................ 9
1.2. Đối tượng và phạm vi của ứng dụng................................................. 10
1.2.1. Đối tượng .................................................................................... 10
1.2.2. Phạm vi ....................................................................................... 10
1.3. Mục tiêu cần đạt được và các cách tiếp cận bài toán ........................ 11
1.3.1. Mục tiêu cần đạt được................................................................. 11
1.3.2. Các cách tiếp cận bài toán .......................................................... 11
1.3.3. Vấn đề đặt ra cho hệ thống hỗ trợ dịch vụ khách hàng .............. 16
1.4. Hướng giải quyết bài toán ................................................................. 18
1.4.1. Về tốc độ thực hiện câu truy vấn ................................................ 18
1.4.2. Vấn đề tìm kiếm thông tin .......................................................... 21
Chương 2: NGHIÊN CỨU CÔNG NGHỆ XML ....................................... 25
2.1. Tổng quan về XML ........................................................................... 25
2.1.1. Giới thiệu .................................................................................... 25
2.1.2. Mục tiêu ra đời và lợi ích khi sử dụng XML.............................. 25
2.1.3. Một tài liệu XML trông như thế nào?......................................... 27
2.1.4. Tạo lập một tài liệu XML ........................................................... 27
2.1.5. Những thành phần của một tài liệu XML................................... 28
2.1.6. Một tài liệu XML hợp lệ............................................................. 29
2.1.7. XPath........................................................................................... 33
2.1.8. Nhận xét về XML ....................................................................... 34
2.2. Cách sử dụng một tài liệu XML....................................................... 34
2.2.1. Đọc và phân tích tài liệu XML ................................................... 35
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
9
2.2.2. Định hướng qua tài liệu XML để rút trích dữ liệu: .................... 37
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
2.2.3. Truy vấn dữ liệu XML sử dụng XPathDocument và XPathNavigator..................................................................................... 39
2.2.4. Nhận xét ...................................................................................... 45
2.3. XML và Cơ sở dữ liệu....................................................................... 45
2.3.1. XML có phải là Cơ sở dữ liệu? .................................................. 45
2.3.2. Vai trò XML trong hệ thống hỗ trợ dịch vụ khách hàng............ 46
2.3.3. Mô hình lưu trữ trong hệ thống quản lý dịch vụ khách hàng (eSupport) ............................................................................................. 47
Chương 3: MÔ TẢ HỆ THỐNG QUẢN LÝ DỊCH VỤ KHÁCH HÀNG
......................................................................................................................... 48
3.1. Đối tượng sử dụng............................................................................. 48
3.2. Mô tả hệ thống quản lý dịch vụ khách hàng ..................................... 48
3.2.1. Phân hệ hỗ trợ khách hàng.......................................................... 48
3.2.2. Phân hệ hỗ trợ hệ thống .............................................................. 49
3.3. Xác định yêu cầu chức năng hệ thống .............................................. 51
3.3.1. Yêu cầu chức năng nghiệp vụ..................................................... 51
3.3.2. Yêu cầu chức năng hệ thống....................................................... 61
3.3.3. Yêu cầu phi chức năng................................................................ 63
Chương 4: PHÂN TÍCH ............................................................................... 64
4.1. Lược đồ USE-CASE ......................................................................... 64
4.2. Đặc tả Use-Case ................................................................................ 66
4.2.1. Đặc tả Use-Case Tìm kiếm FAQ ................................................ 66
4.2.2. Đặc tả Use-Case Đăng ký tài khoản ........................................... 67
4.2.3. Đặc tả Use-Case Tạo yêu cầu ..................................................... 69
4.2.4. Đặc tả Use-Case Xem và hiệu chỉnh yêu cầu ............................. 70
4.2.5. Đặc tả Use-Case Giải đáp yêu cầu.............................................. 72
4.2.6. Đặc tả Use-Case Tìm kiếm yêu cầu............................................ 73
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
10
4.2.7. Đặc tả Use-Case Quản lý yêu cầu............................................... 74
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
4.2.8. Đặc tả Use-Case Quản lý FAQ................................................... 76
Chương 5: THIẾT KẾ .................................................................................. 79
5.1. Hiện thực hóa Use-Case.................................................................... 79
5.1.1. Use-Case Tìm kiếm FAQ ........................................................... 79
5.1.2. Use-Case Đăng ký tài khoản....................................................... 81
5.1.3. Use-Case Tạo yêu cầu mới ......................................................... 83
5.1.4. Use-Case Giải quyết yêu cầu ...................................................... 85
5.1.5. Use-Case Xem và hiệu chỉnh yêu cầu ........................................ 87
5.1.6. Use-Case Tìm kiếm yêu cầu ....................................................... 89
5.1.7. Use-Case Quản lý yêu cầu .......................................................... 91
5.1.8. Use-Case Quản lý FAQ .............................................................. 93
5.2. Thiết kế cơ sở dữ liệu........................................................................ 96
5.2.1. Sơ đồ lớp ..................................................................................... 96
5.2.2. Mô hình quan hệ ......................................................................... 97
5.2.3. Mô tả chi tiết các lớp đối tượng.................................................. 98
5.2.4. Mô tả các ràng buộc toàn vẹn ................................................... 102
5.3. Thiết kế cài đặt và triển khai ........................................................... 105
5.3.1. Mô hình cài đặt ......................................................................... 105
5.3.2. Mô hình triển khai hệ thống...................................................... 106
5.4. Thiết kế giao diện............................................................................ 107
5.4.1. Sơ đồ liên kết các màn hình...................................................... 108
5.4.2. Thiết kế chi tiết một số màn hình ............................................. 109
Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................. 121
6.1. Kết luận ........................................................................................... 121
6.2. Hướng phát triển ............................................................................. 123
TÀI LIỆU THAM KHẢO ..........................................................................124
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
11
PHỤ LỤC .....................................................................................................125
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Danh mục hình vẽ:
Hình 1-1: Phạm vi hệ thống ........................................................................... 10
Hình 1-2: Giải pháp 1..................................................................................... 12
Hình 1-3: Giải pháp 2..................................................................................... 13
Hình 1-4: Giải pháp 3..................................................................................... 14
Hình 1-5: Giải pháp 4..................................................................................... 14
Hình 1-6: Giải pháp 5..................................................................................... 15
Hình 1-7: Giải pháp 6..................................................................................... 16
Hình 1-8: Mô hình truy vấn dữ liệu ............................................................... 17
Hình 1-9: Mô hình truy vấn dữ liệu có hỗ trợ XML...................................... 20
Hình 1-10: Mô hình xử lý tìm kiếm ............................................................... 21
Hình 1-11: Mô hình mô tả vai trò của XML.................................................. 24
Hình 2-1: Mô hình DOM ............................................................................... 38
Hình 5-1: Sơ đồ lớp........................................................................................ 96
Hình 5-2: Mô hình quan hệ cơ sở dữ liệu ...................................................... 97
Hình 5-3: Mô hình cài đặt ............................................................................ 105
Hình 5-4: Mô hình triển khai hệ thống ........................................................ 107
Hình 5-5: Sơ đồ liên kết các màn hình......................................................... 108
Danh mục các bảng:
Bảng 2-1: Danh sách các kiểu dữ liệu của lược đồ XML.............................. 33
Bảng 4-1: Danh sách các Actor...................................................................... 65
Bảng 4-2: Danh sách các Use-Case ............................................................... 66
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
12
Bảng 5-1: Danh sách các đối tượng lưu trữ dữ liệu ....................................... 98
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Chương 1: MỞ ĐẦU
1.1. Giới thiệu ứng dụng
Hệ thống quản lý dịch vụ khách hàng được xây dựng với mục tiêu chủ yếu
là hỗ trợ cho khách hàng khi có nhu cầu tìm hiểu thông tin về sản phẩm và
dịch vụ của doanh nghiệp. Hệ thống hoạt động như sau:
Khi khách hàng có nhu cầu tìm kiếm các thông tin liên quan đến sản phẩm
và dịch vụ của công ty hay doanh nghiệp, khách hàng vào khu vực dịch vụ
khách hàng (gọi là helpdesk) để tìm kiếm thông tin trong các câu hỏi và câu
trả lời có sẵn (còn gọi là hệ thống FAQ).
Trường hợp không tìm thấy thông tin cần thiết trong FAQ, khách hàng có
thể gửi yêu cầu và yêu cầu được giải đáp từ phía doanh nghiệp, công ty.
Khách hàng có thể gửi trực tiếp qua hệ thống website hỗ trợ khách hàng hoặc
gửi email trực tiếp về địa chỉ email hỗ trợ của doanh nghiệp, khách hàng sẽ
được giải đáp trong thời gian nhanh nhất có thể.
Nhân viên phụ trách giải đáp yêu cầu của khách hàng sẽ xem xét yêu cầu
và giải đáp cho khách hàng, nếu yêu cầu gửi không đúng phòng ban sẽ được
nhân viên chuyển qua phòng ban phù hợp.
Nội dung câu hỏi và trả lời của mỗi yêu cầu được nhân viên tuyển chọn,
sàng lọc để cập nhật vào FAQ. Như thế khi khách hàng cần thông tin tương tự
thì có thể tìm kiếm ngay trong hệ thống FAQ một cách nhanh chóng và tiện
lợi.
Quản trị hệ thống theo dõi quá trình giải quyết yêu cầu của các nhân viên,
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
9
đảm bảo cho các yêu cầu của khách hàng được hỗ trợ kịp thời.
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
1.2. Đối tượng và phạm vi của ứng dụng
1.2.1. Đối tượng
Hệ thống quản lý dịch vụ khách hàng (eSupport) được xây dựng hướng
đến các đối tượng là các doanh nghiệp, công ty vừa và lớn trong cả nước song
song đó là các khách hàng giao dịch với doanh nghiệp. Do nhu cầu cạnh tranh
các doanh nghiệp cần phải phục vụ tốt khách hàng về các mặt hỗ trợ thông
tin, giải đáp, vì thế các doanh nghiệp này cần có hệ thống hỗ trợ dịch vụ
khách hàng để kịp thời đáp ứng yêu cầu của khách hàng trong quá trình giao
dịch với doanh nghiệp.
1.2.2. Phạm vi
Môi trường: khách hàng, doanh nghiệp, …
Phân hệ hỗ trợ khách hàng
Phân hệ hỗ trợ hệ thống
Đầu vào: yêu cầu, tìm kiếm, download, …
Đầu ra: yêu cầu được giải quyết, vấn đề tìm kiếm được, …
Hình 1-1: Phạm vi hệ thống
Hệ thống được xây dựng để hỗ trợ, phục vụ khách hàng trong phạm vi
giữa doanh nghiệp và khách hàng xoay quanh các vấn đề về thông tin các sản
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
10
phẩm và dịch vụ của doanh nghiệp.
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
1.3. Mục tiêu cần đạt được và các cách tiếp cận bài
toán
1.3.1. Mục tiêu cần đạt được
1.3.1.1. Yêu cầu chức năng
(cid:131) Yêu cầu chức năng nghiệp vụ
Thực hiện đầy đủ các chức năng nghiệp vụ như tìm kiếm yêu cầu, tạo yêu
cầu, giải quyết yêu cầu, tải tài liệu, tìm kiếm thông tin, v.v.…
(cid:131) Yêu cầu chức năng hệ thống:
Thực hiện các chức năng tự động như: gởi câu trả lời cho khách hàng qua
email, gởi thông báo qua email, thống kê, nhận yêu cầu của khách hàng qua
email, v.v…Việc lưu trữ dữ liệu phải đạt chi phí tối thiểu và có sự ổn định
cao.
1.3.1.2. Yêu cầu phi chức năng
Hệ thống hỗ trợ dịch vụ khách hàng làm việc hiệu quả, có thể giúp doanh
nghiệp giảm chi phí về thời gian và nhân lực, giúp doanh nghiệp giải đáp
nhanh và chính xác khi khách hàng có yêu cầu, có thể hỗ trợ trực tuyến
(online), v.v…
1.3.2. Các cách tiếp cận bài toán
Hệ thống hỗ trợ dịch vụ khách hàng không còn xa lạ với các doanh nghiệp
trong cả nước vì tầm quan trọng và ích lợi của nó trong vấn đề giao dịch với
khách hàng. Vì thế nhu cầu xây dựng một hệ thống phục vụ khách hàng cho
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
11
doanh nghiệp là cần thiết và tất yếu. Nhưng khi bắt đầu xây dựng hệ thống,
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
điều quan tâm đầu tiên của chúng ta là gì? Bất cứ hệ thống nào vấn đề quan
trọng đầu tiên cần được quan tâm là tổ chức tốt việc lưu trữ dữ liệu. Nếu dữ
liệu được tổ chức tốt thì hệ thống của chúng ta sẽ cải thiện về mọi mặt như tốc
độ truy xuất, chi phí lưu trữ, thời gian cập nhật, v.v…Như vậy, làm cách nào
tổ chức tốt việc lưu trữ dữ liệu, nhất là ứng dụng của hệ thống dịch vụ khách
hàng chạy trong môi trường Internet, môi trường đa người dùng. Ví dụ như
khách hàng cần tìm kiếm những vấn đề về sản phẩm mà doanh nghiệp nào đó
cung cấp, chúng ta lưu trữ dữ liệu như thế nào để cho việc tìm kiếm của khách
hàng đạt hiệu quả là nhanh nhất. Để giải quyết vấn đề này, một số giải pháp
cho vấn đề lưu trữ dữ liệu của hệ thống được đề nghị như sau:
1.3.2.1. Giải pháp 1
Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:
Hình 1-2: Giải pháp 1
Ký hiệu: A_Table hay A_Database chỉ một đối tượng trong ngôn ngữ lập
1 Cơ sở dữ liệu
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
12
trình có thể giao tiếp với CSDL1 quan hệ.
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Ưu điểm: Đây là mô hình đang được sử dụng rất phổ biến vì tận dụng được
những ưu điểm của hệ quản trị cơ sở dữ liệu.
Khuyết điểm: Không linh động trong vấn đề trao đổi dữ liệu giữa các hệ
thống khác nhau đặc biệt là khi ứng dụng chạy trên web.
1.3.2.2. Giải pháp 2
Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:
Hình 1-3: Giải pháp 2
Ký hiệu: A_XMLDom chỉ đến một đối tượng XML có thể đọc và ghi trên
tập tin XML.
Ưu điểm: Không phụ thuộc vào bất cứ hệ quản trị nào, dễ thực hiện.
Khuyết điểm: Việc thao tác truy vấn trên tập tin XML2 còn nhiều hạn chế
và vấn đề bảo mật không bằng hệ quản trị.
1.3.2.3. Giải pháp 3
2 Extensible Markup Language
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
13
Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Hình 1-4: Giải pháp 3
Ưu điểm: Tận dụng được cả hai cách lưu trữ đó là trên tập tin và trên hệ
quản trị.
Khuyết điểm: Không phải tập tin XML nào cũng có thể đọc/ghi bằng đối
tượng Datatable vì có nhiều tập tin XML lưu trữ phức tạp.
1.3.2.4. Giải pháp 4
Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
14
Hình 1-5: Giải pháp 4
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Ưu điểm: Mô hình này nghiên về việc lưu trữ trên tập tin XML. Và việc
trao đổi giữa một đối tượng XMLDom và cơ sở dữ liệu quan hệ cũng dễ dàng
vì từ SQL Server 2000 trở lên đã hỗ trợ truy xuất trên tập tin XML.
Khuyết điểm: Mặc dù từ SQL 2000 trở lên có hỗ trợ XML nhưng việc tạo
ra tập tin XML vẫn còn bị lỗi do không thể tạo ra đúng cấu trúc mà người
dùng mong đợi nếu như cấu trúc XML đó phức tạp.
1.3.2.5. Giải pháp 5
Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:
Hình 1-6: Giải pháp 5
Ưu điểm: Việc đọc/ghi trên từng đối tượng đã được tách riêng biệt ra để
mỗi đối tượng chỉ làm đúng nhiệm vụ của đối tượng đó nên thuận tiện trong
vấn đề xử lý.
Khuyết điểm: Vấn đề là làm cách nào để thực hiện việc chuyển đổi từ đối
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
15
tượng XMLDom thành đối tượng Datatable và ngược lại.
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
1.3.2.6. Giải pháp 6
Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mô hình sau:
Hình 1-7: Giải pháp 6
Ưu điểm: Việc trao đổi thông tin giữa các đối tượng rất linh động, vì một
đối tượng XMLDom có thể đọc/ghi trực tiếp đến CSDL quan hệ hoặc có thể
thông qua một Datatable.
(cid:35) Kết luận: Mỗi giải pháp có ưu điểm và khuyết điểm khác nhau. Việc
Khuyết điểm: Do có nhiều cách đọc/ghi nên phức tạp, khó quản lý.
chọn lựa mô hình nào sẽ tùy thuộc vào nhu cầu của ứng dụng của chúng ta.
Nghĩa là ứng dụng của chúng ta sẽ quan tâm vấn đề nào? Vấn đề nào là vấn
đề được quan tâm hàng đầu thì lúc đó chúng ta sẽ lựa chọn giải pháp lưu trữ
dữ liệu cho phù hợp.
1.3.3. Vấn đề đặt ra cho hệ thống hỗ trợ dịch vụ khách
hàng
Vấn đề quan tâm hàng đầu của hệ thống là làm sao tăng tốc độ thực hiện
các thao tác truy vấn trên cơ sở dữ liệu quan hệ. Ví dụ như khách hàng cần
tìm kiếm thông tin trong hệ thống FAQ, khách hàng sẽ nhập vào câu hỏi cần
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
16
tìm kiếm, sau đó chương trình sẽ thực hiện kết nối với SQL để thực hiện câu
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
truy vấn trả về thông tin tìm kiếm được cho khách hàng. Mô hình thực hiện
được mô tả như sau:
Hình 1-8: Mô hình truy vấn dữ liệu
Như vậy, nếu có nhiều khách hàng có nhu cầu tìm kiếm thì mỗi khách
hàng đều phải kết nối đến SQL Server để lấy dữ liệu. Và sẽ có trường hợp
nhiều khách hàng đều cùng truy vấn đến cùng một dữ liệu, khi đó thời gian
thực hiện câu truy vấn để trả về kết quả sẽ rất chậm do phải thực hiện việc
điều khiển đồng thời, phân bổ tài nguyên để thực hiện câu truy vấn tại CSDL.
Một vấn đề khác đặt ra cho hệ thống là không chỉ tìm kiếm được vấn đề
dựa trên câu hỏi mà phải tìm kiếm được tất cả những vấn đề có liên quan đến
nội dung câu hỏi. Nghĩa là nếu khách hàng nhập vào câu hỏi: “các vấn đề liên
quan đến mạng và email” thì hệ thống sẽ phải trả về tất cả những vấn đề có
liên quan đến từ khóa “mạng” và “email”. Như vậy nếu chỉ đơn thuần tổ chức
trên CSDL quan hệ thì không thể giải quyết được vấn đề này vì với cách thực
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
17
hiện trên CSDL quan hệ, mà cụ thể là SQL Server 2000, nó sẽ tìm đúng cụm
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
từ “các vấn đề liên quan đến mạng và email” và nếu trong CSDL không có
đúng cụm từ này thì kết quả trả về là không có, trong khi mong đợi của người
dùng là trả ra những vấn đề có liên quan đến “mạng” và “email”.
Tóm lại: Chúng ta có hai vấn đề cần giải quyết khi lưu trữ dữ liệu trên
SQL Server
− Tốc độ thực hiện câu truy vấn.
− Việc tìm kiếm thông tin hiệu quả
Làm sao giải quyết được bài toán đặt ra cho hệ thống khi chỉ lưu trữ trên
CSDL quan hệ.
1.4. Hướng giải quyết bài toán
Chúng ta thấy được việc sử dụng giải pháp 1 để lưu trữ dữ liệu sẽ không
giải quyết được những vấn đề đặt ra cho bài toán. Và như vậy cần thiết phải
sử dụng mô hình khác để hệ thống thực hiện khả thi hơn.
Sau đây, chúng ta sẽ xem qua cách hệ thống thực hiện để giải quyết lần
lượt các vấn đề trên, và từ đó chọn ra giải pháp lưu trữ thích hợp nhất.
1.4.1. Về tốc độ thực hiện câu truy vấn
Nhu cầu khách hàng tìm kiếm các vấn đề cần giải đáp là thường xuyên xảy
ra và với tần suất rất cao nên việc lưu trữ trong SQL Server sẽ không khả thi.
Nên chúng ta sẽ sử dụng thêm một cách lưu trữ nữa đó là trên tập tin mà cụ
thể là trên tập tin XML. Giải pháp thực hiện cụ thể như sau:
Giả sử trong SQL Server ta lưu trữ dữ liệu của bảng Câu hỏi-Trả Lời
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
18
(FAQ) như sau:
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
FAQ_ID
FAQ_QUESTION
FAQ_ANSWER … FAQ_TOP_ID
…
TOP001
FAQ00001
Bạn làm theo các bước sau….
Cách nhận biết người nhận thư đã đọc thư của mình hay chưa?
FAQ00002
TOP002
…
Hỏi về phần mềm gõ tiếng Việt?
Unikey là một phần mềm…..
…
…
…
FAQ00003 …
…
…
…
FAQ00004 …
…
…
…
…
…
…
…
…
FAQ000020 …
…
…
…
…
…
Bằng việc sử dụng các công cụ hỗ trợ trong môi trường lập trình Visual
Studio.NET, ta sẽ tạo được tập tin FAQ.xml từ dữ liệu được lưu trữ trong
xml version="1.0"?>
Cách nhận biết người nhận thư đã đọc thư của mình hay chưa? Bạn làm theo các bước sau, để khi gửi thư cho mọi người trên
giao diện Outlook Express sẽ có phản hồi lại là họ đã đọc thư…..
GVHD: Th.S Nguyễn Trần Minh Thư SVTH: Nguyễn Thị Kim Phượng
T r ư ơ n g K i ề u G i a n g 19 bảng FAQ có nội dung và cấu trúc như sau: ….Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
…………….
…………….
Như vậy, mỗi khi khách hàng có nhu cầu tìm kiếm trong hệ thống FAQ,
thì không cần phải thực hiện kết nối đến SQL Server, mà chỉ cần mở tập tin
FAQ.xml và thực hiện việc truy vấn trên tập tin XML, cuối cùng trả về kết
quả cho khách hàng. Như vậy, việc thực hiện trên tập tin sẽ nhanh hơn rất
nhiều so với cơ sở dữ liệu (mở kết nối, tìm kiếm dữ liệu và thực hiện truy vấn
trên dữ liệu tìm được để cuối cùng cho ra kết quả như mong muốn =>truy vấn
chậm).
Mô hình minh họa như sau:
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
20
Hình 1-9: Mô hình truy vấn dữ liệu có hỗ trợ XML
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
1.4.2. Vấn đề tìm kiếm thông tin
Muốn kết quả tìm kiếm đúng như mong muốn người dùng thì phải dựa vào
ngữ nghĩa của nội dung câu hỏi mà người dùng nhập vào. Để làm được điều
này thì phải dựa vào từ điển mới biết được chính xác ngữ nghĩa của câu.
Theo đó, dựa trên tập tin FAQ.xml ở trên, chương trình sẽ trích từ dựa trên
từ điển bằng phương pháp LRMM (Left Right Maximum Matching)[4].
Yêu cầu tìm kiếm
XML
Danh sách các từ khóa
Trích từ và loại bỏ từ thừa
Sau đây là mô hình minh họa cho quá trình xử lý
Kết quả hiển thị
Bảng dữ liệu
Tạo chỉ mục
XML
XML
Danh sách các từ khóa
Trích từ và loại bỏ từ thừa
Hình 1-10: Mô hình xử lý tìm kiếm
Theo phương pháp LRMM, để phân đoạn từ tiếng Việt trong một ngữ/câu,
ta đi từ trái sang phải và chọn từ có nhiều âm tiết nhất mà có mặt trong từ
điển, rồi cứ tiếp tục cho từ kế tiếp cho đến hết câu. Với cách này, ta dễ dàng
tách được chính xác các ngữ câu như: “hợp tác xã | mua bán”; “thành lập |
nước | Việt Nam | dân chủ | cộng hòa”…Tuy nhiên, phương pháp này sẽ tách
từ sai trong các trường hợp như: “học sinh | học sinh | học”; “một | ông | quan
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
21
tài | giỏi”. Mặc dù vậy, phương pháp này cũng tách từ chính xác đến 95%
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
(theo giáo trình Xử lý ngôn ngữ tự nhiên). Vì vậy nhóm chúng em quyết định
chọn phương pháp này để sử dụng trong việc trích từ này mặc dù nó chưa
phải là phương pháp tối ưu nhất.
Trở lại vấn đề trích từ cho tập tin FAQ.xml, bằng phương pháp LRMM,
chúng ta sẽ trích được các từ trong tập tin FAQ.xml và lưu thành một tập tin
xml version="1.0"?>
…………….
…………….
FAQ_Word.xml với cấu trúc như sau:
Chú thích: Danh sách các thẻ
liên quan đến nó.
Tập tin FAQ_Word.xml này sau đó sẽ qua một khâu nữa đó là loại bỏ
những từ thừa gọi là kỹ thuật “stoplist”. Chúng ta sẽ duyệt qua các từ trong
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
22
tập tin FAQ_Word.xml và so sánh với tập tin Stoplist.xml (đây là tập tin lưu
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
những từ thừa), sau đó tiến hành loại bỏ những từ không có nghĩa để cuối
cùng được một tập tin FaqDaLoaiStopList.xml với kích thước tập tin giảm
đáng kể so với tập tin FAQ_Word.xml do đã bỏ đi những từ không có nghĩa.
Đây sẽ là tập tin chúng ta mong muốn để thực hiện việc so khớp khi khách
hàng nhập vào một câu truy vấn.
Như vậy, mỗi khi khách hàng nhập vào nội dung câu hỏi cần tìm kiếm, nội
dung câu hỏi này sẽ được phân đoạn thành những cụm từ và sẽ loại bỏ những
từ thừa, chỉ giữ lại những từ có nghĩa. Và những cụm từ này sẽ được so khớp
với tập tin FaqDaLoaiStopList.xml để trả về kết quả truy vấn cho người dùng
(xem hình 1.10). Với cách thực hiện này, tất cả những vấn đề có liên quan đến
nội dung câu hỏi sẽ được trả về cho người dùng và tất cả những điều này đều
thực hiện trên tập tin XML nên sẽ truy vấn rất nhanh. Như vậy vấn đề đặt ra
đã được giải quyết.
Và bây giờ thì chúng ta đã biết được hệ thống quản lý dịch vụ khách hàng
sẽ chọn giải pháp nào để lưu trữ dữ liệu. Đó là giải pháp 5 vì theo như giải
pháp này, việc lưu trữ dữ liệu sẽ sử dụng cả trên tập tin XML và trên cơ sở dữ
liệu quan hệ.
Mặt khác, việc chọn giải pháp 5 này là do nhu cầu cần thiết phải sử dụng
thêm XML để hỗ trợ trong vấn đề lưu trữ và truy xuất trên hệ thống. Đó là khi
dữ liệu được lưu thông trên môi trường web thì vấn đề trao đổi thông tin giữa
các hệ thống khác nhau là yếu tố cần được xem xét. Do XML giải quyết rất
tốt trong vấn đề này nên cần thiết sử dụng thêm XML. Sau đây là mô hình để
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
23
thấy được vai trò của XML:
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
(cid:35) Kết luận: Trên đây là một cách nhìn tổng quan về cách thực hiện cũng
Hình 1-11: Mô hình mô tả vai trò của XML
như là vấn đề lưu trữ của hệ thống hỗ trợ dịch vụ khách hàng. Như vậy, chúng
ta muốn tạo lập được những tài liệu XML như mong muốn và thực hiện truy
vấn trên tập tin này thì điều tối thiểu là phải biết được XML là gì cũng như
các thao tác thực hiện truy vấn trên tập tin XML như thế nào? Vấn đề như thế
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
24
nào, chúng ta sẽ xem tiếp qua chương sau.
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
Chương 2: NGHIÊN CỨU CÔNG NGHỆ XML
2.1. Tổng quan về XML
2.1.1. Giới thiệu
XML (Extensible Markup Language) ra đời vào tháng 2/1998, là ngôn ngữ
có kiến trúc gần giống với HTML nhưng XML nhanh chóng trở thành một
chuẩn phổ biến trong việc chuyển đổi thông tin qua các trang web sử dụng
giao thức HTTP. Trong khi HTML là ngôn ngữ chủ yếu về hiển thị dữ liệu thì
XML lại đang phát triển mạnh về việc chuyển tải, trao đổi và thao tác dữ liệu
bằng XML. XML đưa ra một định dạng chuẩn cho cấu trúc của dữ liệu hoặc
thông tin bằng việc tự định nghĩa định dạng của tài liệu. Bằng cách này, dữ
liệu được lưu trữ bằng XML sẽ độc lập với việc xử lý. Vì vậy XML ra đời sẽ
đáp ứng được yêu cầu ngày càng cao của các nhà lập trình trong vấn đề trao
đổi và xử lý thông tin.
2.1.2. Mục tiêu ra đời và lợi ích khi sử dụng XML
2.1.2.1. Mục tiêu ra đời của XML
Ngày nay, XML đang trở thành một chuẩn chung cho việc trao đổi dữ liệu
cho những ứng dụng chạy trên môi trường Internet. Vì XML cho phép người
dùng có thể tự định nghĩa các thẻ (tag) - những thẻ này làm cho tài liệu XML
đa dạng hơn những ngôn ngữ thông thường như HTML. Như vậy mục tiêu
đặt ra cho sự ra đời XML là gì? Đó là, đầu tiên nó sẽ tương thích với SGML,
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
25
và dễ dàng viết những chương trình để xử lý cho những tài liệu XML. Kế
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
tiếp, những tài liệu XML rõ ràng, dễ đọc, dễ dàng tạo lập. Và điều quan trọng
là nó được hỗ trợ trong nhiều ứng dụng. Nói tóm lại, XML dễ dàng chia sẻ
thông tin qua những định dạng khác nhau thông qua môi trường web. XML
được thiết kế dành cho mọi người, được mọi người sử dụng.
2.1.2.2. Lợi ích khi sử dụng XML
Trong quá trình trưởng thành và phát triển, XML đã đối mặt và đương đầu
với nhiều thử thách trong việc thuyết phục các nhà lập trình rằng XML là sự
lựa chọn hàng đầu vì nó dễ dàng để hiểu, dễ dàng để đọc, và dễ dàng thực
hiện. Sau đây là một số lợi ích khi sử dụng XML
(cid:131) XML có thể tách rời dữ liệu. Sử dụng XML, dữ liệu được chứa trong
các tập tin XML riêng biệt.
(cid:131) XML có thể mô tả thông tin của những đối tượng phức tạp mà cơ sở dữ
liệu quan hệ không thể giải quyết được.
(cid:131) XML có thể dùng để chuyển đổi dữ liệu giữa các hệ thống không tương
thích.
(cid:131) XML dùng để chia sẻ dữ liệu với những tập tin văn bản đơn giản dễ
hiểu.
(cid:131) XML cũng được dùng để lưu trữ dữ liệu, có thể làm cho dữ liệu của
chúng ta hữu ích hơn.
Như vậy, chúng ta đã biết được lợi ích và vai trò của XML trong vấn đề
lưu trữ và trao đổi thông tin. Vấn đề bây giờ là nếu chúng ta muốn có một tài
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
26
liệu XML thì phải làm như thế nào?
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
2.1.3. Một tài liệu XML trông như thế nào?
Mục đích của việc tổ chức thông tin là để con người có thể đọc và hiểu
được những gì mà nó muốn truyền tải. Chúng ta xem một tập tin văn bản sau
F10 Shimano Calcutta 47.76
F20 Bantam Lexica 49.99
đây:
Theo cách tổ chức thông tin của tập tin trên, chúng ta thật khó để hiểu tập
tin này muốn nói lên điều gì. Bây giờ, chúng ta tổ chức tập tin trên theo định
dạng một tài liệu XML một cách đơn giản nhất.
Như vậy, bằng cách sử dụng định dạng XML, người dùng có thể hiểu và
biết được tập tin trên đang muốn truyền tải nội dung gì.
2.1.4. Tạo lập một tài liệu XML
Chúng ta có thể sử dụng trình soạn thảo đơn giản nhất là Notepad để soạn
GVHD: Th.S Nguyễn Trần Minh Thư
SVTH: Nguyễn Thị Kim Phượng T r ư ơ n g K i ề u G i a n g
27
thảo tài liệu XML, nhưng phải tuân thủ theo qui tắc sau:
Tìm hiểu công nghệ XML và xây dựng hệ thống quản lý dịch vụ khách hàng
....
....
Theo định dạng trên, chúng ta thấy tuy tài liệu XML rất đơn giản nhưng
qui định cũng rất nghiêm ngặt, có nghĩa là các tài liệu XML đều xuất phát từ
nút gốc (root), và mỗi phần tử phải có thẻ đóng và thẻ mở “< …/>”.
2.1.5. Những thành phần của một tài liệu XML
xml version="1.0"?>
(cid:131) Khai báo: Mỗi một tài liệu XML có một chỉ thị khai báo
Định nghĩa tài liệu XML tuân theo chuẩn của W3C và đây là phiên bản
“1.0”