Khóa luận 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

pdf 126 trang yendo 5650
Bạn đang xem 20 trang mẫu của tài liệu "Khóa luận 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ải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfkhoa_luan_tim_hieu_cong_nghe_xml_va_xay_dung_he_thong_quan_l.pdf

Nội dung text: Khóa luận 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. 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 TP.HCM, 2005
  2. 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 TRƯƠNG KIỀU GIANG 0112344 GIÁO VIÊN HƯỚNG DẪN THẠC SĨ: NGUYỄN TRẦN MINH THƯ NIÊN KHĨA 2001-2005
  3. 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 đỡ chúng tôi vượt qua khó khăn trong suốt quá trình thực hiện đề tài. Cuối cùng, chúng con xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia đình đã tạo mọi điều kiện về vật chất, tinh thần, động viên, khích lệ và hỗ trợ chúng con trong suốt thời gian qua. Tp.Hồ Chí Minh, ngày 12 tháng 7 năm 2005 Nhóm sinh viên thực hiện Nguyễn Thị Kim Phượng – Trương Kiều Giang
  4. 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ế tồ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.
  5. 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 tốn và đưa ra hướng giải quyết bài tố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 hồn thiện đề tài này.
  6. 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 tố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 tố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 tố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 2.2.2. Định hướng qua tài liệu XML để rút trích dữ liệu: 37 SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 9
  7. 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 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ư Trương Kiề u Giang 10
  8. 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 tồ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
  9. 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 Bảng 5-1: Danh sách các đối tượng lưu trữ dữ liệu 98 SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 12
  10. 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, đảm bảo cho các yêu cầu của khách hàng được hỗ trợ kịp thời. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 9
  11. 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, Đầu vào: Phân hệ hỗ trợ khách hàng Đầu ra: yêu yêu cầu, cầu được tìm kiếm, giải quyết, download, vấn đề tìm Phân hệ hỗ trợ hệ thống 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 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
  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 1.3. Mục tiêu cần đạt được và các cách tiếp cận bài tốn 1.3.1. Mục tiêu cần đạt được 1.3.1.1. Yêu cầu chức năng ƒ 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. ƒ 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 tố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 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, SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 11
  13. 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 trình cĩ thể giao tiếp với CSDL1 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
  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: Đâ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 Theo giải pháp này, việc lưu trữ dữ liệu được tổ chức theo mơ hình sau: 2 Extensible Markup Language SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 13
  15. 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: 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
  16. 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
  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 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. Khuyết điểm: Do cĩ nhiều cách đọc/ghi nên phức tạp, khĩ quản lý. # Kết luận: Mỗi giải pháp cĩ ưu điểm và khuyết điểm khác nhau. Việc 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 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 SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 16
  18. 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 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
  19. 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 tố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 tố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 tố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 (FAQ) như sau: SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 18
  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 FAQ_ID FAQ_QUESTION FAQ_ANSWER FAQ_TOP_ID Cách nhận biết người nhận Bạn làm theo các FAQ00001 thư đã đọc thư của mình TOP001 bước sau . hay chưa? Hỏi về phần mềm gõ tiếng Unikey là một phần FAQ00002 TOP002 Việt? 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 bảng FAQ cĩ nội dung và cấu trúc như sau: 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ư 10-7-2005 TOP001 10 DOC001 . SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 19
  21. 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: Hình 1-9: Mơ hình truy vấn dữ liệu cĩ hỗ trợ XML SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 20
  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 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ý Danh sách Yêu cầutìmkiếm Trích từ và XML loạibỏ từ thừa các từ khĩa Kếtquả hiểnthị Bảng dữ liệu XML Tạochỉ mục XML Trích từ và Danh sách loạibỏ từ thừa các từ khĩ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 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% SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 21
  23. 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 FAQ_Word.xml với cấu trúc như sau: . . Chú thích: Danh sách các thẻ trong mỗi thẻ 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
  24. 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 để thấy được vai trị của XML: SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 23
  25. 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-11: Mơ hình mơ tả vai trị của XML # 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 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ế 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
  26. 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, và dễ dàng viết những chương trình để xử lý cho những tài liệu XML. Kế SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 25
  27. 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 ƒ 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. ƒ 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. ƒ XML cĩ thể dùng để chuyển đổi dữ liệu giữa các hệ thống khơng tương thích. ƒ 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. ƒ 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 liệu XML thì phải làm như thế nào? SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 26
  28. 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 đây: F10 Shimano Calcutta 47.76 F20 Bantam Lexica 49.99 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. F10 Shimano Calcutta 47.76 F20 Bantam Lexica 49.99 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 thảo tài liệu XML, nhưng phải tuân thủ theo qui tắc sau: SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 27
  29. 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 ƒ 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” ƒ Chú thích: được khai báo như sau: ƒ Phần tử (Elements): Một tài liệu XML được cấu thành từ những phần tử. Một phần tử cĩ thẻ mở và thẻ đĩng. Giữa thẻ mở và thẻ đĩng là nội dung của phần tử đĩ. Phần tử cĩ thể chứa dữ liệu hoặc cĩ thể lồng vào một phần tử khác. ƒ Phần tử gốc (root): Trong tài liệu XML, chỉ cĩ một phần tử gốc, và phần tử này sẽ chứa tất cả những phần tử của tài liệu XML do chúng ta tạo ra. Theo ví dụ trên, ta thấy chỉ cĩ một phần tử “Catalog” . ƒ Thuộc tính (Attributes): Như đã trình bày ở trên, một phần tử cĩ thể chứa dữ liệu hoặc chứa phần tử khác hoặc cả hai. Bên cạnh đĩ, phần tử cĩ thể rỗng, khi đĩ nĩ cĩ thể chứa thuộc tính. Một thuộc tính chỉ là một sự lựa SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 28
  30. 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ọn để gắn dữ liệu đến phần tử. Một thuộc tính đặt trong thẻ mở của phần tử và chỉ ra giá trị của nĩ bằng cách sử dụng cặp “name=value”. F10 Shimano Calcutta 47.76 F20 Bantam Lexica 49.99 2.1.6. Một tài liệu XML hợp lệ Như chúng ta đã đề cập ở trên, một tài liệu XML hợp khuơn dạng là yếu tố đầu tiên khi tạo lập tài liệu. Hợp khuơn dạng cĩ nghĩa là mỗi tài liệu chỉ cĩ một nút gốc, mỗi phần tử phải cĩ thẻ mở và thẻ đĩng, và phải lồng nhau chính xác, và cuối cùng là tên thuộc tính chỉ xuất hiện một lần trong thẻ mở. Nhưng một tài liệu XML hợp khuơn dạng khơng cĩ nghĩa là nĩ hợp lệ. Muốn kiểm tra sự hợp lệ của một tài liệu XML ta phải dựa vào DTD (Document Type Definition) hoặc Schema XML. 2.1.6.1. DTD (Document Type Definition) DTD và Schema là hai cách khác nhau để qui định những luật về nội dung của một tài liệu XML. Tuy nhiên DTD cĩ một vài hạn chế. Đầu tiên, tài liệu DTD khơng sử dụng định dạng XML, nghĩa là bản thân DTD khơng phải là SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 29
  31. 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ột tài liệu XML. Điều thứ hai là kiểu dữ liệu cĩ sẵn dùng để định nghĩa nội dung của một thuộc tính hoặc một phần tử thì rất giới hạn trong DTD. Điều thứ ba là DTD khơng cĩ khả năng mở rộng và khơng hỗ trợ namespace. Cuối cùng là do khơng viết theo định dạng XML nên DTD khĩ viết và khĩ hiểu. Vì vậy, việc sử dụng DTD để kiểm tra sự hợp lệ của một tài liệu XML là khơng khả thi. Chúng ta cần cĩ một sự lựa chọn khác khả thi hơn để kiếm tra sự hợp lệ của tài liệu XML. Đĩ là chúng ta sử dụng lược đồ XML - Schema XML Definition (XSD). 2.1.6.2. Lược đồ XML (Schema XML) 2.1.6.2.1. Định nghĩa lược đồ XML Một lược đồ đơn giản chỉ là một tập những luật được định nghĩa lại để mơ tả nội dung dữ liệu của một tài liệu XML. Nĩ tương tự như một định nghĩa cấu trúc bảng trong cơ sở dữ liệu quan hệ. Trong lược đồ XML, chúng ta định nghĩa một tài liệu XML, những phần tử của nĩ, những kiểu dữ liệu của phần tử và những thuộc tính liên quan, và điều quan trọng nhất là mối quan hệ “cha-con” giữa những phần tử. Chúng ta cĩ thể tạo lược đồ trong nhiều cách khác nhau. Cách đơn giản nhất là sử dụng Notepad. Sau đây là một ví dụ một lược đồ XML <xsd:element name="Catalog" msdata:IsDataSet="true" SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 30
  32. 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 msdata:EnforceConstraints="False"> 2.1.6.2.2. Các kiểu dữ liệu trong lược đồ XML Khi tập tin XML hoạt động như một cơ sở dữ liệu, và XSL, XPath được sử dụng để truy vấn trên tập tin XML giống như một số ngơn ngữ truy vấn trong SQL, thì lúc này chúng ta cần biết được vị trí của từng phần tử trong tập tin XML được khai báo ở đâu và với kiểu dữ liệu như thế nào. Vì trong bất kỳ cơ sở dữ liệu quan hệ nào, ví dụ như SQL Server hoặc Oracle, tất cả những cột đều được định nghĩa kiểu dữ liệu, và vì vậy thật sự cần thiết phải cĩ kiểu dữ liệu trong lược đồ XML. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 31
  33. 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ĩ hai loại kiểu dữ liệu trong lược đồ XML đĩ là kiểu dữ liệu cơ bản và kiểu dữ liệu mở rộng. Kiểu dữ liệu cơ bản là kiểu dữ liệu khơng bắt nguồn từ kiểu dữ liệu nào ví dụ như kiểu dữ liệu float. Kiểu dữ liệu mở rộng dựa trên những kiểu dữ liệu khác ví dụ như kiểu integer dựa trên kiểu decimal. Kiểu dữ liệu cơ bản được định nghĩa cho mục đích của lược đồ XML thì khơng nhất thiết phải giống với một số cơ sở dữ liệu khác. Sau đây là danh sách các kiểu dữ liệu của lược đồ XML. Kiểu dữ liệu cơ bản Kiểu dữ liệu mở rộng Kiểu ràng buộc String normalizedString length Boolean Token minLength Decimal Language maxLength Float NMTOKEN pattern Double NMTOKENS enumeration dateTime NCName maxInclusive Time ID maxExclusive Date IDREF minExclusive base64Binary negativeInteger gYearMonth IDREFS minInclusive gMonthDay ENTITY totalDigits GMonth Integer GDay ENTITIES fractionDigits long int short byte SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 32
  34. 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 nonNegativeInteger unsignedLong unsignedInt unsignedShort unsignedByte positiveInteger Bảng 2-1: Danh sách các kiểu dữ liệu của lược đồ XML 2.1.7. XPath Qua phần trình bày trên, chúng ta biết được cấu trúc và cú pháp của XML tương đối đơn giản. Bước tiếp theo là tìm hiểu cách nào để xử lý một tài liệu XML. Như vậy để xử lý một tài liệu XML, chương trình ứng dụng phải cĩ cách di chuyển bên trong tài liệu để lấy ra giá trị của các phần tử (Elements) hay thuộc tính (Attributes). Do đĩ ngơn ngữ XML Path được ra đời, mà chúng ta gọi tắt là XPath. XPath đĩng một vai trị quan trọng trong việc truy vấn dữ liệu cho các chương trình ứng dụng vì nĩ cho phép ta lựa chọn hay sàng lọc ra những phần tử nào mình muốn để trao đổi hay hiển thị. Nếu khi làm việc với cơ sở dữ liệu ta dùng các phát biểu SQL như SELECT FROM table_name WHERE để trích ra một số mẩu tin từ một bảng, thì khi làm việc với tập tin XML, XPath cho ta những biểu thức (expressions) về điều kiện (criteria) giống như mệnh đề WHERE trong SQL. XPath là một ngơn ngữ dùng để xử lý truy vấn trên tài liệu XML, cũng giống như SQL là một chuẩn để làm việc với cơ sở dữ liệu. Một biểu thức SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 33
  35. 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 XPath cĩ thể chỉ ra vị trí và mẫu nào để kết hợp. Chúng ta cĩ thể áp dụng tốn tử boolean, hàm string, và tốn tử số học trong biếu thức XPath để xây dựng câu truy vấn phức tạp trên tài liệu XML. XPath cũng cung cấp một số hàm về số như tính tổng, hàm làm trịn (round), v.v . 2.1.8. Nhận xét về XML XML được xây dựng như là một chuẩn cho việc trình bày và trao đổi dữ liệu trên web. Tập đồn W3C3 đã xây dựng chuẩn XML và những cơng nghệ liên quan bao gồm XML DOM, XPath, XSL, và XML Schema. Trong đĩ XML DOM được sử dụng để tạo, thay đổi, và duyệt qua tài liệu XML. XPath là ngơn ngữ dùng để truy vấn trên tài liệu XML. XSL dùng để chuyển đổi tài liệu XML từ dạng này sang dạng khác. XML Schema định nghĩa cấu trúc và kiểu dữ liệu cho những nút trong một tài liệu XML. Tất cả những cơng nghệ này đã tạo nên sức mạnh cho XML. Vì thế, XML ngày nay đang được sử dụng rất phổ biến và tương lai sẽ là một chuẩn duy nhất được dùng trên web. 2.2. Cách sử dụng một tài liệu XML Khi chúng ta đã cĩ một tài liệu XML, chúng ta sẽ tự hỏi: sử dụng nĩ như thế nào và làm thế nào để truy cập đến một tập tin XML. Sau đây, là một số kỹ thuật được sử dụng trong mội trường Visual Studio.NET để làm việc với tập tin XML. 3 World Wide Web Consortium SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 34
  36. 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.1. Đọc và phân tích tài liệu XML 2.2.1.1. Sử dụng lớp XMLTextReader Lớp XMLTextReader cung cấp một cursor được sử dụng để lấy dữ liệu từ một tài liệu XML. Chúng ta khai báo như sau: XmlTextReader myRdr = new XmlTextReader(Server.MapPath("catalog2.xml")); Khi một thể hiện được tạo ra, con trỏ cursor sẽ được đặt ở đầu tài liệu. Chúng ta cĩ thể sử dụng phương thức Read() để lấy những phần dữ liệu một cách tuần tự. Mỗi phần dữ liệu tương tự như một nút trong cây XML. Thuộc tính NodeType sẽ lấy kiểu của phần dữ liệu, thuộc tính Name sẽ lấy tên của nút, và Value sẽ lấy giá trị của nút. Vì thế, khi một phần dữ liệu được đọc, chúng ta cĩ thể sử dụng câu lệnh sau để hiện thị tên, giá trị và kiểu của nút. Response.Write(myRdr.NodeType.ToString() +" " + myRdr.Name + ":" + myRdr.Value); Nếu muốn kiểm tra nút đĩ cĩ thuộc tính hay khơng, chúng ta cĩ thể sử dụng phương thức HasAttributes. Nếu giá trị trả về của phương thức HasAttributes là true, chúng ta áp dụng phương thức MoveToAttribute(i) để lặp qua các thuộc tính của nút. if (myRdr.HasAttributes) { for( int i = 0; i< myRdr.AttributeCount-1;i++) { myRdr.MoveToAttribute(i); Response.Write(myRdr.NodeType.ToString()+":"+ SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 35
  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 myRdr.Name + ": " + myRdr.Value + " "); } myRdr.MoveToElement(); } 2.2.1.2. Sử dụng mơ hình DOM Bên cạnh XMLTextReader thì mơ trường Visual Studio.NET cũng hỗ trợ mơ hình DOM (Document Object Module) để đọc và trình bày nội dung của một tập tin XML. Việc sử dụng mơ hình DOM sẽ thơng qua một số đối tượng như XMLDocument, XMLDataDocument. Khi một XMLDocument được tạo ra, nĩ tổ chức nội dung của một tập tin XML thành một cây. Trong khi đối tượng XMLTextReader cung cấp một cursor định vị theo một hướng, thì XMLDocument cung cấp việc truy xuất nhanh và trực tiếp đến một nút. Tuy nhiên, việc sử dụng mơ hình DOM rất tốn bộ nhớ để lưu trữ thành một cây, và thật sự sẽ khĩ khăn khi tài liệu XML cĩ kích thước lớn. Cĩ nhiều cách khác nhau để tạo một đối tượng XMLDocument. Sau đây chúng ta sử dụng đối tượng XMLTextReader để tạo một XMLDocument. private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { XmlDocument myDoc = new XmlDocument(); XmlTextReader myRdr = new XmlTextReader(Server.MapPath("Catalog2.xml")); myDoc.Load(myRdr); Session("sessionDoc") = myDoc; //khi cây được tạo ra, chúng ta cĩ thể hiển thị lênlistbox //với thuộc tính InnerText của những node ProductName int i=0; for(i=0;i<myDoc.DocumentElement.ChildNodes.Count-1;i++) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 36
  38. 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 { lstProducts.Items.Add (myDoc.DocumentElement. ChildNodes[i].ChildNodes[i].InnerText); } myRdr.Close(); } } 2.2.2. Định hướng qua tài liệu XML để rút trích dữ liệu: 2.2.2.1. Sử dụng lớp XMLTextReader Trong phần trên, chúng ta đã biết cách để đọc vào một tài liệu XML, phần này chúng ta sẽ định hướng qua tài liệu XML và chỉ lấy những dữ liệu nào cần thiết cho ứng dụng của mình. Ví dụ như nếu nút đĩ là ProductName chúng ta sẽ đọc và hiển thị thơng tin trên một listbox, cụ thể như sau: while (myRdr.Read()) { if(XmlNoteType.Element) { if (myRdr.Name="ProductName") { myRdr.Read(); lstProducts.Items.Add(myRdr.ReadString); } } } myRdr.Close(); SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 37
  39. 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.2.2. Sử dụng mơ hình DOM Một cây được tạo thành từ nhiều nút. Và một nút cũng là một cây chứa những nút khác. Nút lá thì khơng cĩ nút con, vì thế nút này dùng để hiển thị dữ liệu văn bản. Lớp XmlDataDocument kế thừa từ lớp XmlDocument, vì thế nĩ cũng cĩ một số phương thức như lớp XmlDocument. Điều thú vị nhất của XmlDataDocument là nĩ cung cấp hai cách nhìn trên cùng một dữ liệu đĩ là XML view và relational view. XmlDataDocument cĩ một thuộc tính tên là DataSet, thơng qua DataSet, XmlDataDocument trình bày dữ liệu như một hoặc nhiều bảng (DataTable) cĩ quan hệ hoặc khơng cĩ quan hệ. Khi chúng ta sử dụng phương thức Load() để tải một đối tượng XmlDataDocument, chúng ta cĩ thể xem nĩ như một cây hoặc như một bảng (hoặc nhiều bảng). Sau đây là hình minh hoạ cho hai cách nhìn về một tài liệu XML khi sử dụng XmlDataDocument. Hình 2-1: Mơ hình DOM SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 38
  40. 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 Việc sử dụng lớp XmlDocument và XmlDataDocument để xử lý tài liệu XML cũng cĩ một vài hạn chế. Đầu tiên, tồn bộ tài liệu phải được lưu trong cache. Thêm vào đĩ, việc định hướng thơng qua một cây sẽ gặp nhiều khĩ khăn, và định hướng thơng qua những view quan hệ cũng khơng thuận tiện. Để khắc phục vấn đề này, VS.NET cung cấp lớp XPathDocument và XPathNavigator. Lớp XPathDocument cho phép chúng ta xử lý dữ liệu XML mà khơng phải tải lên tồn bộ cây. Và XPathNavigator sử dụng để thao tác trên dữ liệu của XPathDocument. Nĩ cũng được sử dụng để thao tác trên XmlDocument, và XmlDataDocument. Nĩ hỗ trợ kỹ thuật định hướng cho việc chọn nút, lặp qua các nút đã chọn, và làm việc trên những nút đã chọn này. Để thực hiện được việc này, nĩ sử dụng biểu thức XPath. XPath chỉ ra cú pháp truy vấn cho việc rút trích dữ liệu từ một tài liệu XML. Ý tưởng sử dụng tương tự như trong SQL, tuy nhiên cú pháp của nĩ thì khác biệt. Nĩi chung, cú pháp truy vấn XPath cĩ vẻ phức tạp. Tuy nhiên qua các ví dụ sau, Chúng ta cĩ thể thấy được sự ngắn gọn và hiệu quả trong việc rút trích dữ liệu XML. Chi tiết về cú pháp của XPath sẽ khơng đi sâu trong bài viết này vì nĩ nghiên về lĩnh vực khác. Tuy nhiên, chúng ta cũng minh họa vài cách sử dụng biểu thức XPath. Sau đây chúng ta xem qua ví dụ một tài liệu XML mà sẽ được sử dụng để thực hiện truy vấn trên đĩ. Tài liệu này đặt tên là bank1.xml. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 39
  41. 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 A1112 Pepsi Beagle 1200.89 OH A7833 Frank Horton 8964.55 MI ƒ Ví dụ 1: Giả sử chúng ta muốn truy vấn tất cả tên của tài khoản. Biểu thức XPath như sau: Dạng 1: descendant::Name Dạng 2: Bank/Account/Name Ý nghĩa của biếu thức dạng 1 là “ Hãy lấy những nút con của tất cả những nút cĩ tên là Name”, cịn dạng 2 được diễn đạt như sau “Lấy những nút Name của nút Account của nút Bank”. Cả hai biểu thức này đều trả về cùng một tập hợp nút như nhau. ƒ Ví dụ 2: Chúng ta muốn lấy tất cả khách hàng từ Ohio (OH). Biểu thức được viết như sau: Dạng 1: descendant::Account[child::State=‘OH’] Dạng 2: Bank/Account[child::State=‘OH’] ƒ Ví dụ 3: Lấy tất cả Account cĩ Balance>5000.00 Dạng 1: descendant::Account[child::Balance> 5000] Dạng 2: Bank/Account[child::Balance > 5000.00] SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 40
  42. 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 ƒ Ví dụ 4: Giả sử Chúng ta muốn lấy thơng tin của những Account mà cĩ tên bắt đầu bằng ký tự ‘D’ Dạng 1: descendant::account[starts-with(child::Name,‘D’)] Dạng 2: Bank/Account[starts-with(child::Name,‘D’)] Như vậy, sử dụng dạng nào là thích hợp. Điều đĩ phụ thuộc vào cảm giác của từng người và trên cấu trúc của tài liệu XML. Dạng 2 trơng dễ sử dụng hơn dạng 1. Tuy nhiên, trong những tài liệu XML lồng quá sâu, thì dạng 1 sẽ đưa ra một biểu thức hiệu quả hơn. Trên đây, chúng ta đã biết khái niệm về cách sử dụng biểu thức XPath như thế nào, kế tiếp chúng ta sẽ đi vào sử dụng XPathDocument. Trong ngữ cảnh này, chúng ta sẽ đưa ra 2 ví dụ. Ví dụ đầu tiên sẽ lấy tất cả tên của khách hàng từ Ohio và hiển thị lên listbox. Ví dụ thứ hai sẽ minh hoạ cách tìm kiếm dữ liệu thơng qua XPathDocument. 2.2.3.2. Cách sử dụng XPathDocument và XPathNavigator Đầu tiên, chúng ta load tài liệu XML sử dụng XPathDocument như sau: XPathDocument doc = new XPathDocument(Server.MapPath("Bank2.xml")); Chúng ta cần hai đối tượng: XPathNavigator để rút trích ra tập hợp nút mà chúng ta muốn lấy, và XPathNodeIterator để lặp thơng qua tập hợp nút vừa lấy được. Khai báo như sau: XPathNavigator myNav = new XPathNavigator(); myNav = myDoc.CreateNavigator(); XPathNodeIterator myIter = new XPathNodeIterator(); myIter=myNav.Select("Bank/Account[child::State='OH']/Name"); Biểu thức “Bank/Account[child::State=‘OH’]/Name” trả về những node tên Name từ tập nút Account cĩ State=”OH”. Để lấy giá trị bên trong nút SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 41
  43. 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 Name, chúng ta sử dụng Current.Value của đối tượng Iterator. Cụ thể như sau: while (myIter.MoveNext()) { lstName.Items.Add(myIter.Current.Value); } 2.2.3.3. Cách sử dụng XPathDocument và XPathNavigator cho việc định hướng tài liệu Phần này minh họa cách tìm kiếm một XPathDocument sử dụng giá trị của một thuộc tính và giá trị của một phần tử (element). Sử dụng tài liệu XML bank2.xml sau: Pepsi Beagle 1200.89 OH . . Để tìm kiếm giá trị cụ thể của một thuộc tính, chúng ta sử dụng biểu thức như sau Bank/Account[@AccountNo='"+accNo+"']/Balance Để tìm kiếm giá trị cụ thể của một phần tử, chúng ta sử dụng biểu thức như sau: descendant::Account[child::Name='"+accName+"']/Balance SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 42
  44. 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 ta cần gọi phương thức MoveNext() của đối tượng Iterator để lấy nút Balance. Biểu thức như sau: Bank/Account[@AccountNo='"+accNo+"']/Balance Sau đây là một đoạn chương trình hồn chỉnh viết bằng ngơn ngữ ASP.NET sử dụng C# Balance Inquiry Screen Select an Account Number: Balance from Account Number Search:  Select an Customer Name:www.syngress.com Balance from Customer Name Search :  SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 43
  45. 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 private void Page_Load(object sender, System.EventArgs e) { if(!Page.IsPostBack) { XPathDocument myDoc = new XPathDocument(Server.MapPath("Bank3.xml")); XPathNavigator myNav = new XPathNavigator(); myNav = myDoc.CreateNavigator(); XPathNodeIterator myIter = new XPathNodeIterator(); myIter=myNav.Select("Bank/Account[child::State='OH']/Name"); //Điền giá trị Account Number vào DropDownList myIter=myNav.Select("//@*"); //Lấy tất cả các thuộc tính while (myIter.MoveNext()) { cboAcno.Items.Add(myIter.Current.Value); } //Điền giá trị Name vào DropDownList myIter=myNav.Select("/Bank/Account/Name"); while (myIter.MoveNext()) { cboName.Items.Add(myIter.Current.Value); } } } private showsNames(object sender, System.EventArgs e) { //Lấy giá trị của item được chọn string accNo = cboAcno.SelectedItem.Text.Trim(); XPathDocument myDoc = new XPathDocument(Server.MapPath("Bank3.xml")); XPathNavigator myNav = new XPathNavigator(); myNav = myDoc.CreateNavigator(); XPathNodeIterator myIter = new XPathNodeIterator(); //Truy vấn để lấy nút Balance từ AccounNo myIter = myNav.Select("Bank/Account[@AccountNo='"+ SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 44
  46. 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 accNo+"']/Balance"); myIter.MoveNext(); //Hiển thị giá trị của nút Balance txtBalance1.Text=FormatCurrency(myIter.Current.Value); myIter = myNav.Select("descendant::Account[child::Name='"+ accName+"']/Balance"); myIter.MoveNext(); //Hiển thị giá trị của nút Balance txtBalance2.Text=FormatCurrency(myIter.Current.Value) } 2.2.4. Nhận xét Như vây chúng ta đã biết được XML là như thế nào và cách sử dụng nĩ ra sao. Và bây giờ câu hỏi đặt ra là tại sao khơng tổ chức dữ liệu chỉ trên tập tin XML thơi mà lại dùng tập tin XML như là một cách lưu trữ hỗ trợ thêm cho việc lưu trữ trên SQL Server. Để trả lời câu hỏi này, chúng ta xem qua sự so sánh sau đây. 2.3. XML và Cơ sở dữ liệu 2.3.1. XML cĩ phải là Cơ sở dữ liệu? Việc XML cĩ phải là cơ sở dữ liệu hay khơng thật khĩ giải đáp. Vì XML cũng giống như mọi ngơn ngữ khác đĩ là nĩ cũng cĩ ưu điểm và khuyết điểm. Ưu điểm của XML như chúng ta đã biết ở trên nhưng khuyết điểm của XML ở đây là XML dài dịng và truy xuất chậm. Việc truy xuất chậm là do việc lưu SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 45
  47. 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 trữ tài liệu XML trong bộ nhớ để phục vụ cho vấn đề truy vấn như chúng ta đã đề cập trong mơ hình DOM. Vì vậy, sau đây chúng ta sẽ quan tâm đến một khía cạnh khác của XML. Đĩ là XML cĩ gần gũi như một Cơ sở dữ liệu (CSDL) hay khơng? Câu trả lời là “chỉ một phần nào”. Vì XML cũng cĩ một số điểm giống như CSDL. Đĩ là nĩ cũng cĩ khả năng lưu trữ, cĩ hỗ trợ một số lược đồ như DTD, hay Schema (tương tự như bảng trong CSDL quan hệ). Và trên XML ta cũng cĩ thể thực hiện thao tác truy vấn bằng cách sử dụng XPath, XQuery, XQL, , và XML cũng cĩ hỗ trợ lập trình trên giao diện. Nhưng một số vấn đề mà XML chưa hỗ trợ như một CSDL. Đĩ là khơng cĩ chỉ mục, vấn đề bảo mật khơng cao, tính tồn vẹn dữ liệu chưa đáp ứng, khơng hỗ trợ các trigger, việc truy cập đa người dùng cũng hạn chế, và cuối cùng là khơng cho truy vấn thơng qua nhiều tài liệu,v.v Như vậy, việc lưu trữ dữ liệu XML như một cơ sở dữ liệu cũng khơng khả thi. 2.3.2. Vai trị XML trong hệ thống hỗ trợ dịch vụ khách hàng Trước khi đi vào phần này, chúng ta sẽ khảo sát một sự so sánh sau đây 2.3.2.1. Đánh giá các kiểu cơ sở dữ liệu lưu trữ dữ liệu XML 2.3.2.1.1. Sử dụng hệ thống tập tin (file) Khi lưu trữ XML bằng tập tin (file) thì việc liên kết các thành phần của cấu trúc cây sẽ khơng được hỗ trợ nên việc lưu trữ những liên kết về cấu trúc và ngữ nghĩa của nĩ rất phức tạp. Và trên tập tin khơng thể thực thi được những yêu cầu rút trích dữ liệu phức tạp nên sử dụng hệ thống tập tin sẽ khơng hiệu quả. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 46
  48. 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.3.2.1.2. Sử dụng CSDL quan hệ Như chúng ta đã biết, CSDL quan hệ xây dựng dựa trên cấu trúc bảng nên khơng phù hợp cho cấu trúc phân cấp và kết nối tự nhiên trong nội dung của XML. Nếu chúng ta cố gắng lưu trữ trong CSDL quan hệ cho phù hợp bằng các bảng dữ liệu và các mối quan hệ thì sẽ phá vỡ cấu trúc đối tượng và ngữ nghĩa của XML, phải chịu sự trùng lắp trong thiết kế dữ liệu, Và vấn đề tiếp theo là sẽ nặng nề trong việc xử lý nhúng và đáp ứng các yêu cầu phức tạp mà cấu trúc XML đưa ra. Như vậy, CSDL quan hệ là lựa chọn thơng minh trong nhiều ứng dụng khác, nhưng nĩ khơng phù hợp và khơng hiệu quả cho việc lưu trữ dữ liệu phân cấp của XML. 2.3.3. Mơ hình lưu trữ trong hệ thống quản lý dịch vụ khách hàng (eSupport) Do đã giới thiệu về những ưu điểm và khuyết điểm khi lưu trữ trên tập tin XML hay trên CSDL quan hệ, nên nhĩm chúng em quyết định tích hợp cả hai mơ hình trên trong hệ thống eSupport, nghĩa là kết hợp việc lưu trữ dưới dạng tập tin XML và CSDL quan hệ. Việc sử dụng cách này với mục đích: ƒ Tận dụng được ưu điểm và khắc phục những yếu điểm của hai cách lưu trữ trên. ƒ Thích hợp cho việc tìm kiếm trong hệ thống eSupport. ƒ Cĩ thể tận dụng được sự hỗ trợ tối đa trên ngơn ngữ lập trình ASP.NET. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 47
  49. 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 3: MƠ TẢ HỆ THỐNG QUẢN LÝ DỊCH VỤ KHÁCH HÀNG 3.1. Đối tượng sử dụng Việc trao đổi thơng tin diễn ra giữa khách hàng và doanh nghiệp liên quan đến sản phẩm và dịch vụ của doanh nghiệp. Khi khách hàng cĩ yêu cầu hay thắc mắc về sản phẩm và dịch vụ của doanh nghiệp, khách hàng cĩ thể gửi yêu cầu về doanh nghiệp để được giải đáp. Trong doanh nghiệp, sẽ cĩ một bộ phận nhân viên chuyên trách việc giải đáp các yêu cầu cho khách hàng. Do cĩ nhiều sản phẩm và dịch vụ khác nhau nên bộ phận nhân viên của cơng ty cũng được chia ra theo từng lĩnh vực cần giải đáp. Trên cơ sở đĩ, một hệ thống hỗ trợ dịch vụ khách hàng được xây dựng nhằm phục vụ cho việc trao đổi giữa các nhân viên (doanh nghiệp) và khách hàng được dễ dàng và nhanh chĩng. Đối tượng sử dụng chính của hệ thống là khách hàng, nhân viên của doanh nghiệp, và quản trị hệ thống. 3.2. Mơ tả hệ thống quản lý dịch vụ khách hàng Hệ thống bao gồm hai phân hệ chính là phân hệ hỗ trợ khách hàng và phân hệ hỗ trợ hệ thống. 3.2.1. Phân hệ hỗ trợ khách hàng Khi khách hàng cĩ nhu cầu tìm kiếm thơng tin, giải đáp thắc mắc về doanh nghiệp, khách hàng cĩ thể vào khu vực dịch vụ khách hàng để tìm kiếm và xem nội dung các câu hỏi - trả lời cĩ sẵn trong hệ thống FAQ. Hệ thống FAQ là phần quản trị các câu hỏi và câu trả lời cĩ sẵn, các câu hỏi này tập hợp các SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 48
  50. 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âu hỏi thường gặp được tập trung lại để phục vụ khách hàng. Hệ thống FAQ được chia theo chủ đề bất kỳ và cĩ thể cho khách hàng tìm kiếm theo từ khố. Trường hợp khách hàng cần biết các thơng tin nhưng khơng cĩ sẵn trong hệ thống, khách hàng sẽ đăng ký một tài khoản khách hàng (chỉ một lần) và mở một hay nhiều yêu cầu cho một hay nhiều vấn đề tại một hay nhiều thời điểm khác nhau. Hay khách hàng khơng cần vào website, khách hàng chỉ cần gửi email tới support@tendn.com, hệ thống sẽ tự động tạo một tài khoản (account) và tạo một yêu cầu hỗ trợ trên hệ thống, đồng thời hệ thống sẽ gửi thơng tin tài khoản mới cho khách hàng bằng email. Hệ thống cũng sẽ gửi một email để thơng báo cĩ yêu cầu hỗ trợ này cho nhân viên doanh nghiệp. Khách hàng cĩ thể theo dõi tiến trình xử lý yêu cầu của nhân viên doanh nghiệp qua email (khi yêu cầu đang được nhân viên xem xét thì khách hàng nhận được email, thơng báo về quá trình giải quyết yêu cầu của doanh nghiệp). Khách hàng cũng nhận được các thơng báo về sản phẩm mới, dịch vụ, khuyến mãi do doanh nghiệp đưa ra. 3.2.2. Phân hệ hỗ trợ hệ thống Trong phân hệ này được chia làm hai đối tượng sử dụng chính là: quản trị và nhân viên. 3.2.2.1. Đối tượng nhân viên (staff) Mỗi nhân viên sẽ được phân cơng phụ trách giải đáp yêu cầu của một hay nhiều phịng ban. Khi nhân viên đăng nhập vào tài khoản của mình thì tất cả các yêu cầu của phịng ban mà nhân viên đĩ trực thuộc sẽ được hiển thị cho SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 49
  51. 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ân viên đĩ xem xét. Nhân viên sẽ xem xét và trả lời các yêu cầu của khách hàng trong thời gian nhanh nhất cĩ thể. Khi yêu cầu được giải quyết xong thì trạng thái của nĩ sẽ được thay đổi, nếu như khách hàng cĩ đăng ký nhận trả lời qua email thì nội dung câu trả lời sẽ được gởi đến cho người sử dụng qua email của họ. Trong trường hợp phịng ban nhận yêu cầu khơng trả lời được thì nhân viên quản trị sẽ chuyển qua phịng ban phù hợp để xử lý. Nhân viên cĩ thể lựa chọn trong các yêu cầu khách hàng gửi lên, yêu cầu nào mới (chưa cĩ trong hệ thống câu hỏi-trả lời), thường xuyên cần được giải đáp thì nhân viên sẽ cập nhật vào hệ thống FAQ. 3.2.2.2. Đối tượng quản trị viên (admin) Quản trị viên cĩ chức năng quản trị chung hệ thống, quản lý cấu hình hệ thống, đảm bảo cho hệ thống hoạt động tốt. Quản trị viên quản lý người dùng trong hệ thống bao gồm các thao tác thêm, xĩa, sửa tài khoản người dùng và nhân viên. Thực hiện phân quyền cho các nhân viên. Quản trị viên cũng theo dõi các yêu cầu và trả lời, chọn lựa yêu cầu nào mới, thường được khách hàng quan tâm để cập nhật FAQ. Quản trị viên quản lý, theo dõi chặt chẽ quá trình xử lý yêu cầu của các nhân viên, đảm bảo khách hàng khơng phải chờ đợi lâu. Nếu cĩ yêu cầu nào bị giải quyết chậm trễ ngưng trệ thì quản trị phải nhắc nhở bằng email tới các nhân viên và các phịng ban. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 50
  52. 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 3.3. Xác định yêu cầu chức năng hệ thống 3.3.1. Yêu cầu chức năng nghiệp vụ 3.3.1.1. Nhĩm chức năng dành cho người dùng chung ™ Tìm kiếm FAQ Khi truy cập vào hệ thống, bất kì người dùng nào cũng cĩ thể tìm kiếm các câu hỏi-trả lời cĩ sẵn trong FAQ. Người dùng cĩ thể tìm kiếm câu hỏi-trả lời theo chủ đề của câu hỏi hoặc theo từ khĩa. Mơ hình quy trình nghiệp vụ như sau: [Bat dau] Co yeu cau tim kiem FAQ Tim kiem trong he thong chu de Tim kiem theo tu khoa [tim thay] [khong tim thay] Nhap tu khoa Tim kiem trong CSDL [Tim thay] [Khong tim thay] Hien thi ket Tiep tuc? qua tim kiem [co] Chon FAQ de xem xet [khong] [Ket thuc] SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 51
  53. 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 ™ Xem thơng báo Người dùng cĩ thể xem một số thơng báo của hệ thống hoặc của doanh nghiệp liên quan đến hệ thống, khách hàng, cơng ty trực tiếp trên trang web của doanh nghiệp. Hoặc khách hàng cĩ thể đăng ký để nhận thơng báo qua email, nếu khơng muốn nhận nữa, khách hàng cĩ thể hủy đăng ký qua link trong email, hoặc trên trang web. 3.3.1.2. Nhĩm chức năng dành cho khách hàng (Customer) ™ Đăng ký tài khoản người dùng Khi khách hàng muốn tạo yêu cầu hoặc tải các tài liệu, hồ sơ liên quan đến doanh nghiệp, khách hàng phải đăng ký một tài khoản trên hệ thống, tài khoản này cĩ thể được kích hoạt ngay lúc đĩ hoặc phải được quản trị viên (admin) cho phép mới được sử dụng tùy theo yêu cầu của doanh nghiệp. Quy trình nghiệp vụ này được mơ tả như sau: SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 52
  54. 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 [Bat dau] Nhu cau tao tai khoan moi Yeu cau thong tin tao tai khoan Nhap thong tin tao tai khoan [Dang ky] [Huy bo] Dang ki tai Huy bo giao tac khoan moi Kiem tra ten dang nhap [trung ten dang nhap] [khong trung ten dang nhap] Kiem tra dia chi email [trung dia chi email] [khong trung dia chi email] Thong bao dang Gui email xac nhan ky thanh cong thong tin dang ky [ket thuc] SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 53
  55. 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ạo yêu cầu mới qua website của doanh nghiệp Khách hàng cĩ thể mở yêu cầu mới trên hệ thống về vấn đề mình muốn được giải đáp, sau khi tạo xong yêu cầu, khách hàng cĩ thể chờ đợi để được trả lời liền hoặc theo dõi tiến trình xử lý yêu cầu của doanh nghiệp qua email. Khi một nhân viên nào đĩ mở yêu cầu để xem xét, lập tức cĩ một email tự động gửi cho khách hàng thơng báo về việc yêu cầu của họ đang được xem xét. Sau khi yêu cầu được trả lời xong, tồn bộ nội dung trả lời sẽ được gửi qua email cho khách hàng, kèm thêm đường dẫn đến câu trả lời đĩ đặt trên website của doanh nghiệp. Mơ tả quy trình nghiệp vụ này như sau: [Bat dau] Co yeu cau can giai dap Tiep nhan "yeu cau" Nhap thong tin "yeu cau" moi [OK] [Cancel] Gui yeu cau Huy bo giao tac Tiep nhan yeu Gui email thong bao yeu cau moi cau moi cho nhan vien [Ket thuc] SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 54
  56. 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ạo yêu cầu mới qua email Khách hàng khơng cần vào website của doanh nghiệp mà chỉ cần gửi email đến địa chỉ support@tendn.com về yêu cầu mới cần được giải đáp, hệ thống nhận được email sẽ kiểm tra xem, ứng với địa chỉ email đĩ là tài khoản người dùng nào trên hệ thống, nếu khơng cĩ, hệ thống tự tạo một tài khoản người dùng mới với tên tài khoản là tên của email, mật khẩu được hệ thống cấp tự động và gửi cho khách hàng. Sau khi nhận được mail chứa nội dung yêu cầu, hệ thống sẽ phân tích lá mail đĩ và gửi về phịng ban thích hợp. ™ Xem và hiệu chỉnh các yêu cầu Khách hàng cĩ thể vào trang web của doanh nghiệp để xem các yêu cầu đã mở trước đĩ, cĩ thể sửa đổi yêu cầu hoặc thay đổi trạng thái của yêu cầu trên hệ thống (đĩng yêu cầu lại nếu đã được giải đáp thỏa đáng, mở lại yêu cầu đã bị đĩng nếu chưa thỏa mãn). Nếu chưa hài lịng với câu trả lời, khách hàng cũng cĩ thể tiếp tục gửi thắc mắc lên hệ thống trong yêu cầu đã mở. Mơ hình quy trình nghiệp vụ: SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 55
  57. 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 [Bat dau] Nhu cau xem Nhu cau chinh "yeu cau" sua "yeu cau" Hien thi noi dung "yeu cau" Hien thi thong tin "yeu cau" Tra loi yeu cau Nhap thong tin hieu chinh Nhap noi dung tra loi yeu cau Cap nhat thong tin moi Cap nhat thong tin tra loi yeu cau moi [Ket thuc] ™ Tải tài liệu về Khi muốn download tài liệu, văn bản hướng dẫn, khách hàng vào khu vực download để tìm kiếm tài liệu và tải về. Lưu ý là chỉ khi nào đã đăng nhập khách hàng mới cĩ thể tải tài liệu về (khách hàng vẫn cĩ thể xem tài liệu lúc chưa đăng nhập). Quy trình nghiệp vụ mơ tả như sau: SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 56
  58. 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 [Bat dau] Nhu cau tim kiem tai lieu download Tim trong he thong Tim theo tu cac chu de khoa [tim thay] [khong tim thay] Nhap tu khoa Tim kiem trong CSDL [tim thay] [khong tim thay] Hien thi ket qua Tiep tuc? tim kiem Download tai [co] lieu can tim [khong] [ket thuc] ™ Hiệu chỉnh thơng tin cá nhân Sau khi đăng nhập thành cơng, nhân viên cĩ thể sửa đổi thơng tin cá nhân của mình như mật khẩu, email, địa chỉ, số điện thoại, ™ Nhắc mật khẩu Nếu khách hàng quên mật khẩu đăng nhập thì khách hàng sử dụng chức năng nhắc mật khẩu của hệ thống để lấy lại mật khẩu của mình. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 57
  59. 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 3.3.1.3. Nhĩm chức năng dành cho nhân viên (staff) Mọi tài khoản của nhân viên đều được quản trị viên tạo ra (nhân viên khơng cĩ quyền tạo tài khoản của mình) và được cấp quyền thích hợp trong hệ thống theo chức năng của các phịng ban, một nhân viên cĩ thể thuộc về một phịng ban hoặc nhiều phịng ban khác nhau. ™ Giải quyết các vấn đề Nhân viên sau khi đăng nhập vào tài khoản của mình thì cĩ thể xem xét và trả lời các yêu cầu mới thuộc về lĩnh vực mà phịng ban của nhân viên đĩ quản lý. Sau khi trả lời xong trạng thái của yêu cầu đĩ sẽ là đánh dấu là đang giải quyết (chưa đĩng), nếu nhân viên thấy yêu cầu đã được giải quyết xong, nhân viên đĩ cĩ thể đĩng yêu cầu đĩ lại. Nhân viên cũng cĩ thể chuyển các yêu cầu đến các phịng ban phù hợp để xử lý. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 58
  60. 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 [Bat dau] Chon yeu cau can giai quyet Hien thi thong tin Gui mail thong bao yeu yeu cau cau dang duoc xem xet Xem xet noi dung yeu cau [Giai quyet duoc] [Khong giai quyet duoc] Tra loi yeu cau Xem xet chuyen phong ban [khong chuyen phong ban] [Chuyen phong ban] Gui mail tra loi Cap nhat noi dung Yeu cau van chua cho khach hang tra loi len he thong Lua chon phong duoc giai quyet ban chuyen toi Dong yeu cau Chuyen phong ban [OK] [khong dong] Thay doi trang thai cua yeu cau [Ket thuc] ™ Tìm kiếm yêu cầu Nhân viên cĩ thể tìm kíếm các yêu cầu trong hệ thống theo chủ đề, theo người gửi, theo ngày tháng, ™ Quản trị khu vực download Nhân viên sử dụng chức năng này để quản trị các tài liệu cho tải về trên hệ thống. Nhân viên cĩ thể thêm, xố, chỉnh sửa các tài liệu. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 59
  61. 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ập nhật FAQ Chỉ một số nhân viên cĩ quyền (được admin gán quyền) cĩ thể sử dụng được chức năng cập nhật FAQ, nhân viên này sẽ xem xét lại các yêu cầu của khách hàng xem yêu cầu nào thường xuyên được hỏi, các câu hỏi quan trọng thiết yếu thì nhân viên đĩ sẽ hiệu chỉnh rồi cập nhật vào FAQ. 3.3.1.4. Nhĩm chức năng dành cho quản trị (admin) ™ Quản trị hệ thống Quản trị viên cĩ chức năng thay đổi các thơng số cấu hình của hệ thống, thay đổi cấu hình của email gửi cho khách hàng. ™ Quản trị người dùng Quản trị viên cĩ thể thêm, xĩa, sửa tài khoản của khách hàng, của nhân viên và của các quản trị viên khác. ™ Quản trị các phịng ban Quản trị viên cĩ thể thêm, xĩa, sửa các thơng tin về phịng ban trong doanh nghiệp. Các phịng ban được phân chia tùy theo từng doanh nghiệp. ™ Quản trị FAQ Quản trị viên cĩ chức năng phân chia chủ đề cho FAQ, hiệu chỉnh thêm, xĩa, sửa các chủ đề. Quản trị viên chọn lọc từ các câu hỏi-trả lời của khách hàng trong phân hệ hỗ trợ khách hàng đề thêm vào FAQ. Quản trị viên cũng cĩ chức năng xĩa, hiệu chỉnh FAQ nếu cần thiết. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 60
  62. 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 ™ Quản trị thơng báo Quản trị viên cĩ chức năng thêm, xố, sửa các thơng báo trên hệ thống (các thơng báo này cĩ phân quyền người xem). ™ Quản trị khu vực tải tài liệu về Quản trị viên cĩ chức năng thêm, xố, sửa các tài liệu tải về trên hệ thống. ™ Tìm kiếm người dùng hệ thống Quản trị viên cũng cĩ thể tìm kiếm người dùng hệ thống bằng chức năng tìm kiếm này, quản trị viên cĩ thể tìm kiếm theo tên đăng nhập hoặc các thơng tin liên quan khách hàng. Sau khi tìm kiếm, quản trị viên được phép xem các thơng tin và gửi email cho người dùng đĩ. ™ Tìm kiếm yêu cầu Quản trị viên cĩ thể tìm kíếm các yêu cầu trong hệ thống theo chủ đề, theo người gửi, theo ngày tháng, 3.3.2. Yêu cầu chức năng hệ thống 3.3.2.1. Chức năng lưu trữ ƒ Người dùng: Lưu trữ các thơng tin tài khoản hệ thống của cả khách hàng, nhân viên và quản trị. Các thơng tin cần lưu trữ bao gồm: Tên đăng nhập, mật khẩu đăng nhập, địa chỉ email, họ tên, ngày đăng ký, loại tài khoản, ngày đăng nhập cuối, tổng số bài gửi, ƒ Yêu cầu (ticket): Lưu trữ thơng tin của một yêu cầu của khách hàng gửi lên hệ thống. Các thơng tin cần lưu trữ bao gồm: tiêu đề yêu cầu, nội dung yêu cầu, ngày mở, ngày đĩng, trạng thái, mức độ, tên file đính kèm, người gửi, phịng ban xử lý, SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 61
  63. 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 ƒ Phịng ban: Các thơng tin cần lưu trữ như tên phịng ban, chức năng giải quyết yêu cầu của phịng ban, ƒ Chủ đề: Các thơng tin cần lưu trữ gồm cĩ tên chủ đề, mơ tả thơng tin của chủ đề, mã chủ đề cha. ƒ FAQ: Các thơng tin cần lưu trữ gồm nội dung câu hỏi, nội dung câu trả lời, ngày cập nhật, số lần xem. ƒ Tài liệu: Các thơng tin cần lưu trữ gồm cĩ mã tài liệu, tên tài liệu, nộidung tĩm tắt, tập tin đính kèm, kích thước, ngày upload, số lần tải. ƒ Thơng báo: Các thơng tin cần lưu trữ gồm cĩ tiêu đề, nội dung, ngày thơng báo, ngày hết hạn, người thơng báo, số lần xem, quyền truy cập, 3.3.2.2. Chức năng tự động ƒ Khi nhận được email yêu cầu của khách hàng, hệ thống phải cĩ chức năng phân loại yêu cầu này vào các phịng ban thích hợp. ƒ Khi cĩ yêu cầu mới trên hệ thống, hệ thống sẽ tự động gửi email thơng báo về việc cĩ yêu cầu mới cho các nhân viên phụ trách phịng ban đĩ. ƒ Khi một yêu cầu đã quá hạn bao lâu chưa trả lời (quy định trong quản trị hệ thống), email sẽ tự động gửi lại cho tất cả các người trong phịng ban đĩ với bao nhiêu lần, mỗi lần cách bao nhiều phút. ƒ Khi cĩ thơng báo mới, hệ thống sẽ tự động gửi email cho những khách hàng đã đăng kí nhận thơng báo qua email. 3.3.2.3. Chức năng tìm kiếm ƒ Tìm kiếm tài khoản khách hàng, nhân viên. ƒ Tìm kiếm yêu cầu ƒ Tìm kiếm FAQ. ƒ Tìm kiếm tài liệu tải về. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 62
  64. 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 3.3.2.4. Chức năng thống kê ƒ Số lượng yêu cầu mỗi ngày ƒ Số lượng yêu cầu của mỗi phịng ban ƒ Số lượng yêu cầu của mỗi nhân viên ƒ Thống kê helpdesk : tổng số yêu cầu mở, đĩng, FAQ, mở yêu cầu qua email, qua trang web, tổng số khách hàng online. ƒ Thống kê các file download ƒ Tốc độ trả lời trung bình của nhân viên ƒ Tốc độ trả lời trung bình của phịng ban ƒ Nhân viên trả lời nhanh nhất. 3.3.3. Yêu cầu phi chức năng 3.3.3.1. Tính tiến hĩa Cho phép dễ dàng chuyển sang xây dựng các hệ thống khác cĩ chức năng tương tự 3.3.3.2. Tính tiện dụng Giao diện người dùng phải được thiết kế sao cho vừa quen thuộc đối với những ngườI đã từng sử dụng tin học, vừa dễ học cách sử dụng đối với những người mới sử dụng tin học lần đầu. Đồng thời giao diện phải được thiết kế sao cho người dùng cĩ thể thao tác một cách nhanh nhất, thơng tin hiển thị phải dễ dàng nắm bắt và đầy đủ. Khi chương trình thực hiện các yêu cầu chức năng phải đáp ứng những yêu cầu như: tốc độ tìm kiếm, tốc độ hiển thị, thời gian lưu trữ, thời gian truy xuất nhanh. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 63
  65. 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 4: PHÂN TÍCH 4.1. Lược đồ USE-CASE Từ mơ tả hiện trạng và các yêu cầu chức năng hệ thống, ta xây dựng được lược đồ Use-Case như sau: Dang ky tai khoan Tao yeu cau (from Khach hang) (from Khach hang) Xem va hieu chinh yeu cau (from Khach hang) Khach hang Tai tai lieu ve (from Actor) (from Khach hang) Giai quyet yeu cau (from Nhan vien) Dang nhap (from Nguoi su dung) Nguoi su dung Nhan vien (from Actor) Tim kiem FAQ (from Actor) (from Nguoi su dung) Quan tri he thong > (from Quan tri) Quan ly FAQ (from Quan tri) Quan tri Quan ly phong ban (from Actor) (from Quan tri) Quan ly tai lieu tai ve (from Quan tri) Tim kiem Yeu cau (from Quan tri) > Quan ly thong bao (from Quan tri) > Quan ly yeu cau Tim kiem tai khoan Quan ly tai khoan (from Quan tri) (from Quan tri) (from Quan tri) Hình 4-1: Lược đồ Use-Case SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 64
  66. 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 sách các Actor STT Actor Diễn giải Người dùng hệ thống (bao gồm khách hàng, nhân 1 Người dùng viên, quản trị) 2 Khách hàng Khách hàng của doanh nghiệp 3 Nhân viên Nhân viên của doanh nghiệp 4 Quản trị Quản trị viên Bảng 4-1: Danh sách các Actor ™ Danh sách các UseCase STT Use-Case Diễn giải Người sử dụng 1 Đăng nhập Đăng nhập 2 Tìm kiếm FAQ Tìm kiếm câu hỏi-trả lời cĩ sẳn trong FAQ Khách hàng 3 Đăng ký tài khoản Tạo tài khoản mới Tạo yêu cầu mới, gửi lên hệ thống web hoặc 4 Tạo yêu cầu qua email Xem và hiệu chỉnh yêu 5 Xem và hiệu chỉnh các yêu cầu đã gửi. cầu 6 Tải tài liệu về Tải về các tài liệu, văn bản Nhân viên 7 Giải đáp yêu cầu Giải đáp yêu cầu của khách hàng Quản trị 8 Tìm kiếm tài khoản Tìm kiếm tài khoản người dùng SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 65
  67. 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 9 Tìm kiếm yêu cầu Tìm kiếm các yêu cầu đã gửi 10 Quản trị FAQ Thêm xĩa sửa FAQ 11 Quản trị tài khoản Thêm xĩa sửa tài khoản người dùng 12 Quản trị thơng báo Thêm xĩa sửa thơng báo 13 Quản trị phịng ban Thêm xĩa sửa phịng ban 14 Quản trị yêu cầu Xĩa sửa yêu cầu 15 Quản trị hệ thống Cấu hình hệ thống 16 Quản trị Download Thêm xĩa sửa tài liệu tải về Bảng 4-2: Danh sách các Use-Case 4.2. Đặc tả Use-Case Một số chức năng chính của hệ thống được đặc tả ở đây, các chức năng phụ được đặt ở phần phụ lục A. 4.2.1. Đặc tả Use-Case Tìm kiếm FAQ 4.2.1.1. Tĩm tắt Use-case tìm kiếm FAQ mơ tả quá trình tìm kiếm các câu hỏi-trả lời cĩ sẵn trong cơ sở dữ liệu FAQ dựa trên từ khĩa, nếu tìm thấy các câu hỏi-trả lời phù hợp thì thơng tin tìm kiếm sẽ được trả về. Nếu khơng tìm thấy, hệ thống thơng báo kết quả tìm kiếm và quay lại quá trình tìm kiếm. 4.2.1.2. Dịng sự kiện ™ Dịng sự kiện chính Use-case bắt đầu khi cĩ yêu cầu tìm kiếm câu hỏi-trả lời trong FAQ. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 66
  68. 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. Người dùng nhập từ khĩa để tìm kiếm câu hỏi-trả lời cĩ sẳn trong FAQ. 2. Hệ thống bắt đầu tìm kiếm trong FAQ các câu hỏi-trả lời theo từ khĩa cung cấp. 3. Nếu tìm thấy, danh sách các câu hỏi-trả lời sẽ được trả về. ™ Các dịng sự kiện khác ƒ Khơng tìm thấy câu hỏi-trả lời thỏa điều kiện tìm kiếm Nếu khơng tìm thấy, thơng báo kết quả tìm kiếm và quay lại dịng sự kiện chính. Nếu người dùng kết thúc tìm kiếm, Use-case sẽ kết thúc. 4.2.1.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Khơng cĩ. Post Conditions Hệ thống khơng thay đổi sau khi Use-case thực hiện xong. Điểm mở rộng Khơng cĩ. 4.2.2. Đặc tả Use-Case Đăng ký tài khoản 4.2.2.1. Tĩm tắt Use-case đăng kí tài khoản thực hiện việc tạo một tài khoản mới trên hệ thống cho khách hàng. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 67
  69. 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.2.2. Dịng sự kiện ™ Dịng sự kiện chính Use-case này bắt đầu khi khách hàng cĩ nhu cầu tạo tài khoản. 1. Hệ thống yêu cầu khách hàng nhập các thơng tin liên quan đến tài khoản: tên tài khoản, mật khẩu, địa chỉ email, ngồi ra cĩ thể cung cấp thêm một số thơng tin khác như tên, tuổi, năm sinh, địa chỉ 2. Hệ thống kiểm tra xem đã tồn tại tài khoản cĩ tên như thế trong hệ thống chưa. Nếu khơng bị trùng tên đăng nhập, hệ thống tiếp tục kiểm tra xem, địa chỉ email đã đăng kí cĩ trùng với địa chỉ email nào như thế trong hệ thống chưa. Nếu chưa cĩ , tài khoản được thêm vào hệ thống. 3. Khách hàng cĩ thể sử dụng tài khoản được ngay để gửi yêu cầu hoặc phải được sự cho phép của nhân viên quản trị. Hệ thống tự động gửi email xác nhận tài khoản đã đăng kí cho khách hàng. Use-case kết thúc ™ Các dịng sự kiện khác ƒ Trùng tên tài khoản Khi tên tài khoản mà khách hàng cung cấp bị trùng trong hệ thống, khách hàng sẽ được yêu cầu nhập lại tên tài khoản, các thơng tin khác giữ nguyên. ƒ Trùng địa chỉ email Khi địa chỉ email mà khách hàng cung cấp để đăng kí bị trùng với email đã cĩ trong hệ thống, khách hàng sẽ được yêu cầu nhập lại địa chỉ email, các thơng tin khác giữ nguyên. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 68
  70. 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.2.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Khơng cĩ. Post Conditions Tài khoản mới được tạo ra trên hệ thống nếu Use- case thành cơng, ngược lại trạng thái hệ thống khơng thay đổi. Điểm mở rộng Khơng cĩ. 4.2.3. Đặc tả Use-Case Tạo yêu cầu 4.2.3.1. Tĩm tắt Use-case tạo yêu cầu mơ tả quá trình khách hàng tạo một yêu cầu hỗ trợ mới trên hệ thống. 4.2.3.2. Dịng sự kiện Use-case này bắt đầu khi khách hàng cĩ một yêu cầu hỗ trợ mới cần giải đáp. 1. Hệ thống yêu cầu khách hàng nhập các thơng tin liên quan và nội dung yêu cầu mới: nội dung yêu cầu, phịng ban liên quan cĩ trách nhiệm, mức độ khẩn cấp, tài liệu đính kèm nếu cĩ. Nếu khách hàng chưa đăng nhập thì phải cung cấp thêm thơng tin của tên và địa chỉ email. 2. Sau khi các thơng tin của yêu cầu mới được cung cấp, hệ thống tạo một mã cho yêu cầu mới và lưu yêu cầu mới vào cơ sở dữ liệu. Hệ thống tự động gửi email thơng báo tới các nhân viên việc cĩ một yêu cầu mới trên hệ thống, nếu mức độ khẩn cấp ở mức cao nhất thì SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 69
  71. 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 thơng báo được gửi cho tất cả các phịng ban trong hệ thống, cịn lại thơng báo chỉ đượcgửi cho các phịng ban cĩ liên quan tới yêu cầu. 3. Hệ thống hiển thị yêu cầu mới cho khách hàng và các nhân viên liên quan. Use-case kết thúc. 4.2.3.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Khách hàng cĩ thể đăng nhập, hoặc thêm thơng tin địa chỉ email trước khi tạo yêu cầu mới. Post Conditions Nếu Use-case thực hiện thành cơng, một yêu cầu mới được lưu vào cơ sở dữ liệu, và được hiển thị cho khách hàng và các nhân viên cĩ liên quan. Ngược lại nếu Use-case khơng thành cơng, trạng thái hệ thống khơng thay đổi. Điểm mở rộng Khơng cĩ. 4.2.4. Đặc tả Use-Case Xem và hiệu chỉnh yêu cầu 4.2.4.1. Tĩm tắt Use-case Xem và hiệu chỉnh yêu cầu mơ tả quá trình khách hàng xem xét yêu cầu hỗ trợ mới trên hệ thống xem đã được giải quyết hay chưa, đồng thời khách hàng cĩ thể hiệu chỉnh lại nội dung yêu cầu. 4.2.4.2. Dịng sự kiện Use-Case này bắt đầu sau khi khách hàng đăng nhập và xem xét các yêu cầu mà mình đã gửi. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 70
  72. 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 ™ Dịng sự kiện chính 1. Khách hàng lựa chọn yêu cầu để xem. 2. Nội dung câu hỏi-trả lời của yêu cầu được chọn hiển thị lên cho khách hàng xem xét, khách hàng cĩ thể hiệu chỉnh lại nội dung yêu cầu hoặc yêu cầu giải thích thêm. 3. Sau khi thao tác xong, khách hàng đĩng yêu cầu, hệ thống sẽ yêu cầu khách hàng cập nhật lại trạng thái của yêu cầu (open, reopen, close). Nếu khách hàng đã nhận được giải đáp hài lịng, khách hàng cĩ thể chuyển trạng thái yêu cầu về trạng thái đĩng (close), nếu yêu cầu đã bị đĩng (do nhân viên đĩng) mà khách hàng chưa hài lịng, khách hàng cĩ thể mở lại yêu cầu này (reopen). ™ Dịng sự kiện phụ ƒ Hiệu chỉnh yêu cầu Nếu khách hàng xem xét thấy nội dung yêu cầu chưa phù hợp, cịn thiếu sĩt, khách hàng cĩ thể hiệu chỉnh thêm và cập nhật lại nội dung yêu cầu. 4.2.4.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Khách hàng phải đăng nhập vào tài khoản của mình mới thấy được các yêu cầu mà mình đã gửi. Post Conditions Nếu Use-Case thành cơng trạng thái của hệ thống được thay đổi. Ngược lại, trạng thái của hệ thống khơng thay đổi. Điểm mở rộng Khơng cĩ. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 71
  73. 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.5. Đặc tả Use-Case Giải đáp yêu cầu 4.2.5.1. Tĩm tắt Use-case Giải đáp yêu cầu mơ tả quá trình giải quyết các yêu cầu của nhân viên, nhân viên sẽ được hiển thị tất cả các yêu cầu thuộc phịng ban mà nhân viên đĩ trực thuộc. Nhân viên xem xét các yêu cầu và trả lời, nếu nhân viên nhận thấy yêu cầu khơng được gửi đúng phịng ban, nhân viên xem xét chuyển yêu cầu qua phịng ban phù hợp. 4.2.5.2. Dịng sự kiện ™ Dịng sự kiện chính Use-case bắt đầu khi cĩ yêu cầu mới được gửi lên hệ thống 1. Các yêu cầu của phịng ban nào thì nhân viên thuộc phịng ban đĩ sẽ được hiển thị chờ giải quyết. Nếu độ ưu tiên của yêu cầu là rất khẩn cấp thì bất kì một nhân viên nào cũng được thấy yêu cầu đĩ. Khi cĩ một nhân viên xem xét yêu cầu thì hệ thống gửi email thơng báo cho khách hàng biết trạng thái đang được giải đáp của yêu cầu. 2. Nếu giải đáp được yêu cầu thì nhân viên đĩ nhập nội dung trả lời rồi đĩng yêu cầu đĩ lại. Tồn bộ nội dung câu trả lời sẽ được gửi qua email cho khách hàng(nếu khách hàng cĩ đăng ký nhận yêu cầu qua mail). Use-case kết thúc. ™ Các dịng sự kiện khác ƒ Yêu cầu chưa được giải quyết/Khơng đúng phịng ban Nếu đã cĩ nhiều nhân viên xem xét nhưng yêu cầu vẫn chưa được giải quyết, hoặc yêu cầu gửi khơng đúng phịng ban, nhân viên cĩ quyền trên hệ SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 72
  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 thống sẽ chuyển yêu cầu qua phịng ban khác để xử lý. 4.2.5.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Nhân viên phải đăng nhập thì mới được giải quyết các yêu cầu. Post Conditions Nếu Use-Case thành cơng, trạng thái của hệ thống thay đổi. Ngược lại, nếu khơng thành cơng trạng thái của hệ thống được giữ nguyên. Điểm mở rộng Khơng cĩ. 4.2.6. Đặc tả Use-Case Tìm kiếm yêu cầu 4.2.6.1. Tĩm tắt Use-case Tìm kiếm yêu cầu cho phép các nhân viên và quản trị tìm kiếm yêu cầu trước đĩ trên hệ thống dựa trên các thơng tin của yêu cầu. Nếu tìm thấy, các yêu cầu thõa mãn sẽ được trả về. Nếu khơng tìm thấy, hệ thống thơng báo kết quả tìm kiếm và quay lại quá trình tìm kiếm. 4.2.6.2. Dịng sự kiện ™ Dịng sự kiện chính Use-case bắt đầu khi cĩ yêu cầu tìm kiếm yêu cầu. 1. Người dùng nhập các thơng tin cần thiết để tìm kiếm yêu cầu: từ khĩa tìm kiếm theo nội dung câu hỏi và trả lời, người nêu yêu cầu, phịng ban của yêu cầu, ngày gởi yêu cầu, trạng thái hiện tại, . SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 73
  75. 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. Hệ thống bắt đầu tìm kiếm trong hệ thống Helpdesk các yêu cầu thõa mãn thơng tin được cung cấp. 3. Nếu tìm thấy, danh sách yêu cầu sẽ được trả về. Nếu khơng tìm thấy hệ thống quay lại quá trình tìm kiếm hoặc thốt ra. Use-Case kết thúc. ™ Các dịng sự kiện khác ƒ Khơng tìm thấy yêu cầu thõa điều kiện tìm kiếm Nếu khơng tìm thấy, thơng báo kết quả tìm kiếm và quay lại dịng sự kiện chính. Nếu người dùng kết thúc tìm kiếm, Use-case sẽ kết thúc. 4.2.6.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Nhân viên, quản trị phải đăng nhập mới được tìm kiếm yêu cầu. Post Conditions Hệ thống khơng thay đổi sau khi Use-case thực hiện xong. Điểm mở rộng Khơng cĩ. 4.2.7. Đặc tả Use-Case Quản lý yêu cầu 4.2.7.1. Tĩm tắt Use-case quản lý yêu cầu mơ tả quá trình quản trị viên/nhân viên quản trị các yêu cầu của người dùng. Quản trị yêu cầu bao gồm xĩa, sửa các yêu cầu. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 74
  76. 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.7.2. Dịng sự kiện ™ Dịng sự kiện chính 1. Use-case bắt đầu khi cĩ yêu cầu quản trị yêu cầu trên hệ thống. Hệ thống yêu cầu quản trị/nhân viên chọn chức năng để thực hiện Hiệu chỉnh yêu cầu, xĩa yêu cầu. 2. Sau khi quản trị viên cung cấp yêu cầu, một trong các luồng phụ sau được thực hiện: Nếu quản trị viên chọn “Hiệu chỉnh yêu cầu”, luồng phụ Hiệu chỉnh yêu cầu được thực hiện. Nếu quản trị viên chọn “Xĩa yêu cầu”, luồng phụ Xĩa yêu cầu được thực hiện. ™ Dịng sự kiện phụ ƒ Hiệu chỉnh yêu cầu 1. Hệ thống yêu cầu quản trị viên chọn yêu cầu để sửa đổi. Quản trị cĩ thể dùng Use-Case Tìm kiếm yêu cầu để tìm yêu cầu cần chỉnh sửa. 2. Quản trị viên chỉnh sửa các thơng tin liên quan đến phịng ban, rồi cập nhật lưu lại. Use-case kết thúc. ƒ Xĩa yêu cầu 1. Hệ thống yêu cầu quản trị viên chọn yêu cầu cần xĩa. Quản trị cĩ thể dùng Use-Case Tìm kiếm yêu cầu để tìm yêu cầu cần xĩa. 2. Hệ thống yêu cầu quản trị xác nhận yêu cầu xĩa. 3. Quản trị viên xác nhận xĩa, yêu cầu được xĩa khỏi hệ thống. Use- case kết thúc. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 75
  77. 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.7.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Phải đăng nhập quyền quản trị hoặc nhân viên mới được thực hiện Use-Case này. Post Conditions Nếu Use-Case thành cơng, yêu cầu được thêm, xĩa, chỉnh sửa. Ngược lại hệ thống khơng thay đổi. Điểm mở rộng Khơng cĩ. 4.2.8. Đặc tả Use-Case Quản lý FAQ 4.2.8.1. Tĩm tắt Use-case quản lý FAQ gồm mơ tả chức năng quản trị câu hỏi-trả lời (FAQ) của hệ thống. Quản trị câu hỏi-trả lời cho phép người quản trị/nhân viên thêm, xĩa, sửa các câu hỏi-trả lời. 4.2.8.2. Dịng sự kiện ™ Dịng sự kiện chính Use-case bắt đầu khi quản trị viên muốn thêm, xĩa, sửa hệ thống câu hỏi- trả lời. Hệ thống yêu cầu quản trị chọn chức năng muốn thực hiện: 1. Nếu quản trị viên chọn “Thêm FAQ”, luồng phụ Thêm FAQ được thực hiện. 2. Nếu quản trị viên chọn “Hiệu chỉnh FAQ”, luồng phụ Hiệu chỉnh FAQ được thực hiện. 3. Nếu quản trị viên chọn “Xĩa FAQ”, luồng phụ Xĩa FAQ được thực hiện. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 76
  78. 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 ™ Dịng sự kiện phụ ƒ Thêm FAQ mới 1. Hệ thống yêu cầu quản trị chọn cách thêm câu hỏi-trả lời mới: thêm mới hồn tồn hoặc thêm mới dựa trên Ticket đã cĩ sẳn trên hệ thống. 2. Hệ thống yêu cầu quản trị nhập nội dung câu hỏi và trả lời cho Question mới. 3. Thêm câu hỏi-trả lời mới vào cơ sở dữ liệu. ƒ Thêm FAQ từ Yêu cầu sẵn cĩ 1. Hệ thống hiển thị các “Yêu cầu” trên hệ thống chưa được cập nhật vào FAQ, quản trị viên chọn các ticket chưa được cập nhật vào FAQ để thêm vào FAQ. 2. Quản trị hiệu chỉnh lại nội dung câu hỏi và trả lời. 3. Thêm câu hỏi-trả lời mới vào cơ sở dữ liệu. ƒ Hiệu chỉnh FAQ 1. Quản trị viên sử dụng Use-case “Tìm kiếm FAQ” để tìm lại các câu hỏi-trả lời cần sửa đổi. 2. Quản trị thay đổi lại các thơng tin liên quan hoặc nội dung câu hỏi, câu trả lời. 3. Sau khi cập nhật xong các thơng tin cần thiết, hệ thống lưu lại câu hỏi-trả lời vào cơ sở dữ liệu. ƒ Xĩa FAQ SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 77
  79. 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. Quản trị viên sử dụng Use-case “Tìm kiếm FAQ” để tìm lại câu hỏi- trả lời cần xĩa. Hệ thống nhắc quản trị xác nhận yêu cầu xĩa. 2. Quản trị viên xác nhận xĩa. 3. Hệ thống xĩa câu hỏi-trả lời khỏi hệ thống FAQ. Use-case kết thúc. ™ Các dịng sự kiện khác ƒ Thao tác xĩa bị hủy Nếu trong luồng phụ Delete Catelogies hệ thống kiểm tra được chủ đề đĩ cịn các câu hỏi-trả lời, hoặc chủ đề đĩ cịn chứa chủ đề con thì thao tác xĩa bị huỷ và Dịng sự kiện chính được bắt đầu lại từ đầu. 4.2.8.3. Đặc tả khác Các yêu cầu đặc biệt Khơng cĩ. Điều kiện tiên quyết Quản trị viên, nhân viên phải đăng nhập vào hệ thống mới được phép quản trị FAQ Post Conditions Nếu Use-Case thành cơng FAQ sẽ được thêm vào, sửa, hoặc xĩa khỏi hệ thống. Ngược lại, trạng thái của hệ thống khơng thay đổi. Điểm mở rộng Khơng cĩ. SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 78
  80. 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 5: THIẾT KẾ 5.1. Hiện thực hĩa Use-Case 5.1.1. Use-Case Tìm kiếm FAQ 5.1.1.1. Lược đồ VOPC Lược đồ mơ tả các lớp đối tượng trong Use-Case Tìm kiếm FAQ và mối quan hệ giữa các lớp. Trangchu Khachhang 1 0 1 Trang TimKiemFAQ 101 0 nTrang ChiTietFAQ (from User Interface) (from User Interface) (from User Interface) 0 1 0 1 Trang ThongBaoKetQua TimKiemFAQCtrl (from User Interface) (from Business Service) 0 1 0 1 FAQCtrl FAQ 0 1 n (from Business Service) (from Business Object) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 79
  81. 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 5.1.1.2. Lược đồ Sequence Diagram – Luồng cơ bản Lược đồ tuần tự các thao tác thực hiện chức năng tìm kiếm FAQ của Use- Case Tìm kiếm FAQ : Nguoi su dung : Trangchu Khachhang : Trang TimKiemFAQ : TimKiemFAQCtrl : FAQCtrl : FAQ : Trang ChiTietFAQ 1: //Chon Tim kiem FAQ( ) 2: //Hien thi( ) 3: //Nhap tu khoa tim kiem( ) 4: //Tim kiem( ) 5: //Thuc hien Tim kiem FAQ( ) 6: //Tim kiem FAQ( ) 7: //Mo CSDL( ) 8: //Tao Truy van( ) 9: //Truy Van( ) [tim thay cau hoi-tra loi thoa dieu kien tim kiem] 10: //Xu ly ket qua( ) 11: //Hien thi ket qua( ) 12: //Xem chi tiet FAQ( ) 13: //Lay thong tin FAQ( ) 14: //Hien thi chi tiet FAQ( ) Nguoi dung co the xem nhieu FAQ 15: //Lay thong tin chi tiet FAQ( ) tim duoc 16: //Lay thong tin chi tiet( ) 17: //Hien thi chi tiet FAQ( ) 18: //Dong( ) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 80
  82. 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 5.1.1.3. Lược đồ Collaboration Diagram 1: //Chon Tim kiem FAQ( ) : Nguoi su dung : Trangchu Khachhang 3: //Nhap tu khoa tim kiem(String) 4: //Tim kiem( ) 18: //Dong( ) 12: //Xem chi tiet FAQ( ) 2: //Hien thi( ) 11: //Hien thi ket qua( ) 17: //Hien thi chi tiet FAQ( ) 13: //Lay thong tin FAQ( ) 14: //Hien thi chi tiet FAQ( ) : Trang ChiTietFAQ : Trang TimKiemFAQ 15: //Lay thong tin chi tiet FAQ( ) 8: //Tao Truy van( ) 5: //Thuc hien Tim kiem FAQ( ) 10: //Xu ly ket qua( ) 7: //Mo CSDL( ) 6: //Tim kiem FAQ( ) : FAQ 9: //Truy Van( ) : FAQCtrl : TimKiemFAQCtrl 16: //Lay thong tin chi tiet( ) 5.1.2. Use-Case Đăng ký tài khoản 5.1.2.1. Lược đồ VOPC Lược đồ mơ tả các lớp đối tượng trong Use-Case Đăng kí tài khoản và mối quan hệ giữa các lớp. Trangchu Khachhang 1 0 1 Trang DangkyTaikhoan (from User Interface) (from User Interface) 0 1 0 1 Trang ThongBaoKetQua DangkyTaikhoanCtrl (from User Interface) (from Business Service) 0 1 0 1 EmailCtrl TaiKhoanCtrl 0 1 n TaiKhoan (from Business Service) (from Business Service) (from Business Object) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 81
  83. 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 5.1.2.2. Lược đồ Sequence Diagram – Luồng cơ bản Lược đồ tuần tự các thao tác thực hiện chức năng đăng ký tài khoản mới của Use-Case Đăng ký tài khoản : Khach hang : Trangchu Khachhang : Trang DangkyTaikhoan : DangkyTaikhoanCtrl : TaiKhoanCtrl : TaiKhoan : Trang ThongBaoKetQua : EmailCtrl 1: //Chon Dang ky tai khoan m oi( ) 2: //Hien thi( ) 3: //Nhap ten dang nhap( ) 4: //Nhap m at khau( ) 5: //Nhap lai mat khau( ) 6: //Nhap Ho lot( ) 7: //Nhap Ten( ) 8: //Nhap Ngay sinh( ) 9: //Nhap dia chi( ) 10: //Nhap dien thoai( ) 11: //Nhap dia chi email( ) 12: //Dang ky( ) 13: //Kiem tra m at khau va m at khau nhap lai() 14: //Thuc hien Dang ky Tai khoan moi( ) 15: //Kiem tra trung ten dang nhap( ) 16: //Mo CSDL( ) 17: //Tim ten dang nhap( ) [khong tim thay tai khoan cua username -> username chua dang ky] 18: //Kiem tra trung dia chi email( ) 19: //Tim dia chi email( ) [Khong tim thay dia chi email do trong CSDL] 20: //Them moi Tai khoan( ) 21: //Them moi Tai khoan( ) 22: //Thong bao Dang ky thanh cong( ) 23: //Gui email _Dang ky thanh cong( ) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 82
  84. 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 5.1.2.3. Lược đồ Collaboration Diagram 1: //Chon Dang ky tai khoan moi( ) 16: //Mo CSDL( ) 17: //Tim ten dang nhap( ) : Khach hang : Trangchu Khachhang 19: //Tim dia chi email( ) : TaiKhoan 21: //Them moi Tai khoan( ) 3: //Nhap ten dang nhap( ) 4: //Nhap mat khau( ) 5: //Nhap lai mat khau( ) 6: //Nhap Ho lot( ) 7: //Nhap Ten( ) 8: //Nhap Ngay sinh( ) 9: //Nhap dia chi( ) : TaiKhoanCtrl 10: //Nhap dien thoai( ) 11: //Nhap dia chi email( ) 2: //Hien thi( ) : Trang ThongBaoKetQua 12: //Dang ky( ) 22: //Thong bao Dang ky thanh cong( ) 15: //Kiem tra trung ten dang nhap( ) 13: //Kiem tra mat khau va mat khau nhap lai() 18: //Kiem tra trung dia chi email( ) 20: //Them moi Tai khoan( ) 14: //Thuc hien Dang ky Tai khoan moi( ) 23: //Gui email _Dang ky thanh cong( ) : Trang DangkyTaikhoan : DangkyTaikhoanCtrl : EmailCtrl 5.1.3. Use-Case Tạo yêu cầu mới 5.1.3.1. Lược đồ VOPC Lược đồ mơ tả các lớp đối tượng trong Use-Case Tạo yêu cầu mới và mối quan hệ giữa các lớp. Trangchu Khachhang Trang TaoYeuCau 0 1 (from User Interface) (from User Interface) 1 0 1 0 1 EmailCtrl QuanLyYeuCauCtrl YeuCau 0 1 n (from Business Servi ce) (from Business Servi ce) (from Business Object) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 83
  85. 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 5.1.3.2. Lược đồ Sequence Diagram – Luồng cơ bản Lược đồ tuần tự các thao tác thực hiện chức năng tạo yêu cầu mới(gửi qua web) của Use-Case Tạo yêu cầu mới. : Nguoi su dung : Trangchu Khachhang : Trang TaoYeuCau : QuanLyYeuCauCtrl : YeuCau : EmailCtrl 1: //Chon Tai Yeu cau moi( ) 2: //Hien thi( ) 3: //Nhap tieu de( ) 4: //Nhap noi dung yeu cau( ) 5: //Chon phong ban( ) 6: //Chon do uu tien( ) 7: //Them file dinh kem( ) 8: //Gui yeu cau( ) 9: //Thuc hien Them moi Yeu cau( ) 10: //Mo CSDL( ) gui thong bao ve viec co yeu cau 11: //Them moi Yeu cau( ) moi toi cac phong ban, cac staff va quan tri he thong. 12: //Gui email_Thong bao co Yeu cau moi( ) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 84
  86. 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 5.1.3.3. Lược đồ Collaboration Diagram 1: //Chon Tai Yeu cau moi( ) : Nguoi su dung : Trangchu Khachhang : EmailCtrl 3: //Nhap tieu de( ) 4: //Nhap noi dung yeu cau( ) 5: //Chon phong ban( ) 6: //Chon do uu tien( ) 7: //Them file dinh kem( ) 12: //Gui email_Thong bao co Yeu cau moi( ) 8: //Gui yeu cau( ) 2: //Hien thi( ) 10: //Mo CSDL( ) 9: //Thuc hien Them moi Yeu cau( ) 11: //Them moi Yeu cau( ) : Trang TaoYeuCau : QuanLyYeuCauCtrl : YeuCau 5.1.4. Use-Case Giải quyết yêu cầu 5.1.4.1. Lược đồ VOPC Lược đồ mơ tả các lớp đối tượng trong Use-Case Giải quyết yêu cầu và mối quan hệ giữa các lớp. Trangchu QuanTri 1 0 1 Trang QuanLyYeucau (from User Interface) (from User Interface) Trang GiaiQuyetYeuCau EmailCtrl (from User Interface) (fro m B u si n ess Servi ce) 0 1 0 1 GiaiQuyetYeuCau GiaiQuyetYeuCauCtrl YeuCau n 0 1 0 1 n (fro m B u si n ess Ob j e ct) (fro m B u si n ess S ervi ce) (fro m Bu si n ess Ob j e ct ) SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 85
  87. 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 5.1.4.2. Lược đồ Sequence Diagram – Luồng cơ bản Lược đồ tuần tự các thao tác thực hiện chức năng trả lời yêu cầu của Use- Case Giải quyết yêu cầu : Nhan vien : Trangchu QuanTri : Trang QuanLyYeucau : Trang GiaiQuyetYeuCau : GiaiQuyetYeuCauCtrl : YeuCau : GiaiQuyetYeuCau : EmailCtrl 1: //Chon Giai quyet Yeu cau( ) 2: //Hien thi( ) 3: //Chon Yeu cau de giai quyet( ) 4: //Lay thong tin Yeu cau( ) 5: //Gui email_Thong bao Yeu cau dang duoc xem xet( ) 6: //Hien thi chi tiet Yeu cau( ) 7: //Lay thong tin chi tiet Yeu cau( ) 8: //Lay thong tin chi tiet( ) 9: //Nhap noi dung tra loi moi( ) 10: //Gui tra loi( ) 11: //Thuc hien gui tra loi( ) 12: //Them moi tra loi( ) 13: //Gui email_Noi dung tra loi Yeu cau( ) gui email cho khach hang ve 14: //Dong( ) noi dung tra loi cua nhan vien SVTH: Nguyễn Thị Kim Phượng GVHD: Th.S Nguyễn Trần Minh Thư Trương Kiề u Giang 86