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 – TRƯƠNG KIỀU GIANG
KHÓA LUẬN CỬ NHÂN TIN HỌC
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 cảm ơn
Chúng em xin chân thành cảm ơn Ban giám hiệu, quý Thầy Cô của
trường Đại học Khoa Học Tự Nhiên Tp.Hồ Chí Minh, đặc biệt là
các Thầy Cô trong khoa Công Nghệ Thông Tin đã tận tình giảng
dạy, trang bò cho chúng em những kiến thức cần thiết trong suốt những
năm học tập tại trường.
Chúng em xin chân thành cảm ơn Thạc só Nguyễn Trần Minh Thư
đã tận tình quan tâm, hướng dẫn và giúp đỡ chúng em trong quá trình
thực hiện luận văn để chúng em có thể hoàn thành tốt luận văn này.
Chúng tôi xin chân thành cảm ơn các anh chò cùng các bạn đã có
những nhận xét, đóng góp ý kiến, động viên, quan tâm và giúp đỡ
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.
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
2.2.2. Định hướng qua tài liệu XML để rút trích dữ liệu: 37
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
4.2.7. Đặc tả Use-Case Quản lý yêu cầu 74
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
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
PHỤ LỤC 125
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 11
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 108Danh 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
Bảng 5-1: Danh sách các đối tượng lưu trữ dữ liệu 98SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 12
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
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 Đầu vào:
yêu cầu,
tìm kiếm,
download,
…
Phân hệ hỗ trợ khách hàng
Phân hệ hỗ trợ hệ thống
Đầu ra: yêu
cầu được
giải quyết,
vấn đề tìm
kiếm được,
…
Môi trường: khách hàng, doanh nghiệp, …
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
phẩm và dịch vụ của doanh nghiệp.
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 10
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
trình có thể giao tiếp với CSDL
1
quan hệ. 1
Cơ sở dữ liệu
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 12
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ệ
Hình 1-5: Giải pháp 4
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 14
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
tượng XMLDom thành đối tượng Datatable và ngược l
ại.
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 15
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
hiện trên CSDL quan hệ, mà cụ thể là SQL Server 2000, nó sẽ tìm đúng cụm
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 17
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
… TOP002
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
bảng FAQ có nội dung và cấu trúc như sau:
<? xml version="1.0"?>
<Danh_sach_FAQ>
<FAQ FAQ_ID= “FAQ00001”
<FAQ_Cau_Hoi>
Cách nhận biết người nhận thư đã đọc thư của mình hay chưa?
</FAQ_Cau_Hoi>
<FAQ_Cau_Tra_Loi>
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ư…
</FAQ_Cau_Tra_Loi>
<FAQ_Ngay_Cap_Nhat> 10-7-2005 </FAQ_Ngay_Cap_Nhat>
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 20
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].
Sau đây là mô hình minh họa cho quá trình xử
lý
Yêu cầutìmkiếm
Danh sách
các từ khóa
XML
Trích từ và
loạibỏ từ thừa
XML
Bảng dữ liệu
Trích từ và
loạibỏ từ thừa
Danh sách
các từ khóa
Tạochỉ mục
XML
Kếtquả
hiểnthị
</WORD>
<WORD Name="yêu cầu">
<FAQ FAQ_ID="FAQ00008" />
<FAQ FAQ_ID="FAQ00019"
/>
</WORD>
…………….
…………….
</WORDs>
Chú thích: Danh sách các thẻ <FAQ>…</FAQ> trong mỗi thẻ
<WORD>…</WORDS> cho biết ứng với từ này thì có những tài liệu nào
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
tập tin FAQ_Word.xml và so sánh với tập tin Stoplist.xml (đây là tập tin lưu
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 22
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
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ế
nào, chúng ta sẽ xem tiếp qua chương sau.
SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư
Trương Kiều Giang 24