ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ THỊ CHÂU CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG VÀ ỨNG DỤNG PHÁT TRIỂN HỆ THỐNG QUẢN LÝ KHÁCH HÀNG TRƯỚC VÀ SAU KHI BÁN HÀNG CỦA DOANH NGHIỆP
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ CHÂU
CÔNG NGHỆ HƯỚNG ĐỐI TƯỢNG
VÀ ỨNG DỤNG PHÁT TRIỂN HỆ THỐNG QUẢN
LÝ KHÁCH HÀNG TRƯỚC VÀ SAU KHI BÁN
HÀNG CỦA DOANH NGHIỆP
LUẬN VĂN THẠC SĨ
Hà Nội – 2010
Trang 2MỤC LỤC
MỤC LỤC 2
DANH MỤC CÁC CHỮ VIẾT TẮT 4
PHẦN MỞ ĐẦU 5
Chương 1 – Cơ sở lý luận về công nghệ hướng đối tượng và ngôn ngữ mô hình hóa thống nhất UML 7
1.1 Tổng quan về công nghệ hướng đối tượng và phương pháp mô hình hóa 7
1.2 Ngôn ngữ mô hình hóa thống nhất UML 10
1.2.1 Lịch sử phát triển của UML 10
1.2.2 UML là gì? Error! Bookmark not defined 1.2.3 Mô hình khái niệm của UML Error! Bookmark not defined 1.3 Quy trình phân tích thiết kế hệ thống hướng đối tượng Error! Bookmark not
defined.
1.3.1 Xây dựng mô hình nghiệp vụ Error! Bookmark not defined 1.3.2 Xác định yêu cầu Error! Bookmark not defined 1.3.3 Phân tích Error! Bookmark not defined 1.3.4 Thiết kế Error! Bookmark not defined 1.3.5 Lập trình và kiểm tra chương trình Error! Bookmark not defined 1.3.6 Vận hành và bảo trì hệ thống Error! Bookmark not defined Chương 2 – Khái quát về hệ thống quản lý quan hệ khách hàng CRM Error! Bookmark
not defined.
2.1 Khách hàng quyết định sự thành bại của doanh nghiệp Error! Bookmark not
defined.
2.1.1 Cạnh tranh bằng sự thân thiết với khách hàng Error! Bookmark not defined 2.1.2 Vai trò của CRM trong giai đoạn khủng hoảng hiện nay Error! Bookmark
not defined.
2.2 Cơ sở lý luận về quản lý quan hệ khách hàng CRM Error! Bookmark not
defined.
2.2.1 Định nghĩa Error! Bookmark not defined 2.2.2 Lịch sử học thuyết CRM Error! Bookmark not defined 2.2.3 Lợi ích của CRM Error! Bookmark not defined 2.2.4 Thực trạng triển khai CRM hiện nay Error! Bookmark not defined.
2.3.1 Các chức năng chung Error! Bookmark not defined.
Trang 32.3.2 Các chức năng con của hệ thống CRM Error! Bookmark not defined 2.3.3 Các hoạt động chính của hệ thống CRM Error! Bookmark not defined 2.4 Các hoạt động nghiệp vụ của hệ thống CRM Error! Bookmark not defined 2.4.1 Các quy trình tác nghiệp Error! Bookmark not defined 2.4.2 Mô tả hoạt động nghiệp vụ giai đoạn trước bán hàng Error! Bookmark not
defined.
2.4.3 Mô tả hoạt động nghiệp vụ giai đoạn bán hàng Error! Bookmark not
defined.
2.4.4 Mô tả hoạt động nghiệp vụ giai đoạn sau bán hàng Error! Bookmark not
defined.
Chương 3 – Đặc tả yêu cầu và các mô hình phân tích hệ thống CRM Error! Bookmark
not defined.
3.1 Đặc tả yêu cầu Error! Bookmark not defined 3.1.1 Giai đoạn trước bán hàng Error! Bookmark not defined 3.1.2 Biểu đồ ca sử dụng giai đoạn bán hàng Error! Bookmark not defined 3.1.3 Biểu đồ ca sử dụng giai đoạn sau bán hàng Error! Bookmark not defined 3.2 Biểu đồ hoạt động Error! Bookmark not defined 3.2.1 Giai đoạn trước bán hàng Error! Bookmark not defined 3.2.2 Giai đoạn bán hàng Error! Bookmark not defined 3.2.3 Giai đoạn sau bán hàng Error! Bookmark not defined 3.3 Mô hình khái niệm và Biểu đồ tuần tự Error! Bookmark not defined 3.3.1 Giai đoạn trước bán hàng Error! Bookmark not defined 3.3.2 Giai đoạn bán hàng Error! Bookmark not defined 3.3.3 Giai đoạn sau bán hàng Error! Bookmark not defined Chương 4 – Các mô hình thiết kế hệ thống CRM Error! Bookmark not defined 4.1 Thiết kế chi tiết các biểu đồ lớp Error! Bookmark not defined 4.1.1 Giai đoạn trước bán hàng Error! Bookmark not defined 4.1.2 Giai đoạn bán hàng Error! Bookmark not defined 4.1.3 Giai đoạn sau bán hàng Error! Bookmark not defined 4.2 Thiết kế cơ sở dữ liệu vật lý Error! Bookmark not defined 4.3 Thiết kế hệ thống phần mềm Error! Bookmark not defined 4.3.1 Các nguyên tắc thiết kế Error! Bookmark not defined 4.3.2 Mô hình dữ liệu Error! Bookmark not defined 4.3.3 Mô hình hệ thống Error! Bookmark not defined Chương 5 – Thử nghiệm Error! Bookmark not defined.
Trang 45.1 Môi trường thử nghiệm Error! Bookmark not defined 5.2 Cài đặt chương trình Error! Bookmark not defined 5.3 Giao diện sử dụng Error! Bookmark not defined 5.4 Đánh giá kết quả thử nghiệm Error! Bookmark not defined TỔNG KẾT Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO 11
DANH MỤC CÁC CHỮ VIẾT TẮT
Hàng
Trang 5PHẦN MỞ ĐẦU
Khi cạnh tranh không đơn thuần thông qua đầu tư trang thiết bị, sử dụng dây truyền công nghệ hiện đại không còn là lợi thế riêng của một doanh nghiệp nào đó nữa thì một yếu tố giúp các doanh nghiệp, đặc biệt là doanh nghiệp thuộc lĩnh vực dịch vụ, có thể tạo cho mình lợi thế cạnh tranh không thay thế - đó là mỗi quan hệ lâu dài với khách hàng
Cũng như nhiều người tiêu dùng khác khi đi mua sắm, nếu bạn bước chân vào cửa hàng mà được nhân viên tiếp đón nhiệt tình, nồng hậu thì bao giờ bạn cũng có tâm lý thoải mái khi mua đồ và chắc chắn lần sau nếu có nhu cầu mua sắm bạn cũng sẽ quay lại
Đó là tâm lý chung của người tiêu dùng và các cửa hàng nếu biết khai thác tốt điều đó sẽ
có thể thu được lợi nhuận to lớn từ những vị khách hàng trung thành này
Đúc rút từ kinh nghiệm của những cửa hàng nhỏ lẻ, thì những công ty lớn cũng sẽ cần có những khách hàng trung thành hay những khách hàng tiềm năng như vậy Đặc biệt trong xu hướng hiện nay, số lượng các công ty ngày càng nhiều trong khi lượng khách hàng dường như không thay đổi tương xứng Vì vậy, việc cạnh tranh giữa các doanh nghiệp hay công ty là điều tất yếu và ngày càng quyết liệt tinh vi
Trong thời buổi khủng hoảng hiện nay ảnh hưởng trực tiếp tới nền kinh tế toàn cầu, không loại trừ những tập đoàn kinh tế lớn hay những doanh nghiệp tổ chức vừa và nhỏ Khủng hoảng dù tác động đến cả hai mặt nhưng tập trung chủ yếu vẫn là mặt thiệt hại của nó Không ít những công ty hay tập đoàn kinh tế đã chịu sự phá sản từ những tác động của sự khủng hoảng này Vậy làm thế nào để các doanh nghiệp hay tập đoàn kinh tế còn lại có thể trụ vững và vượt qua được giai đoạn khó khăn hiện tại
Tất yếu công ty hay doanh nghiệp muốn tồn tại thì phải dựa vào khách hàng, càng
có nhiều khách hàng thì công ty hay doanh nghiệp càng có thể thành công lớn Việc mở
Trang 6rộng thị trường kinh doanh và tìm kiếm khách hàng là điều không thể lãng quên và phải đặt lên làm nhiệm vụ hàng đầu Có được khách hàng mới đã là khó khăn nhưng việc giữ chân khách hàng để họ trở thành khách hàng tiềm năng, trung thành thì càng khó khăn gấp bội Điều đó đòi hỏi các doanh nghiệp hay công ty phải làm tốt các khâu ngay từ giai đoạn marketing đến những dịch vụ sau bán hàng
Doanh nghiệp muốn chăm sóc khách hàng tốt nhất trước hết phải nắm được những thông tin cần thiết về khách hàng, về nhu cầu và thị hiếu của họ Mô hình quản lý quan hệ khách hàng CRM đã được ứng dụng phát triển mạnh mẽ và mang lại nhiều lợi ích hơn cho người quản lý và cả doanh nghiệp nói chung
Từ thực tiễn như vậy trong luận văn này đưa ra những nghiên cứu về CRM -Customer Relationship Management (Quản lý quan hệ khách hàng) với mong muốn đưa
ra những cơ sở khoa học dựa trên công nghệ hướng đối tượng về việc quản lý quan hệ khách hàng, đồng thời xây dựng được chương trình thử nghiệm cho những nghiên cứu lý thuyết đạt được
Cấu trúc của Luận văn gồm những nội dung chính như sau:
Mở đầu
Chương 1 – Cơ sở lý luận về công nghệ hướng đối tượng và ngôn ngữ mô hình hóa thống nhất UML
Chương này trình bày những điểm khái quát hóa về phương pháp mô hình hóa, công nghệ hướng đối tượng và ngôn ngữ mô hình hóa thống nhất trong việc xây dựng các
hệ thống tin học Mô tả chi tiết quy trình phân tích thiết kế hướng đối tượng
Chương 2 - Khái quát về hệ thống quản lý quan hệ khách hàng CRM
Chương này trình bày cơ sở lý thuyết về hệ thống quản lý quan hệ khách hàng CRM của doanh nghiệp, đồng thời mô tả các hoạt động nghiệp vụ của hệ thống CRM tổng quát và cho từng giai đoạn cụ thể
Chương 3 – Đặc tả yêu cầu và các mô hình phân tích hệ thống CRM
Chương này tiến hành quá trình phân tích hệ thống CRM và sử dụng ngôn ngữ mô hình hóa thống nhất để mô tả
Trang 7Chương 4 – Các mô hình thiết kế hệ thống CRM
Dựa trên những kết quả đã thu nhận được từ quá trình phân tích ở chương 3 để tiến hành thiết kế hệ thống CRM ở chương 4
Chương 5 – Thử nghiệm
Chương này trình bày một số kết quả thử nghiệm từ chương trình demo xây dựng
hệ thống CRM
Kết luận
Chương 1 – Cơ sở lý luận về công nghệ hướng đối tượng và ngôn ngữ mô hình hóa thống nhất UML
1.1 Tổng quan về công nghệ hướng đối tượng và phương pháp mô hình hóa
Ngày nay, trong công nghệ phần mềm nói chung và phần mềm công nghiệp nói riêng, công nghệ hướng đối tượng đóng vai trò then chốt Công nghệ hướng đối tượng không những đã cách mạng hóa phương pháp phân tích thiết kế xây dựng phần mềm, mà còn đổi mới cả tư duy của những người sử dụng Từ khóa “hướng đối tượng” đang trở thành từ mốt, được sử dụng rất phổ biến trong các tiêu đề quảng cáo sản phẩm phần mềm, từ các công cụ lập trình, phần mềm soạn thảo văn bản, xử lý đồ họa tới các hệ thống quản lý cơ sở dữ liệu Vậy, thực chất công nghệ hướng đối tượng là gì?
Mô hình hóa hướng đối tượng
Bất cứ thế giới thực nào cũng đều phức tạp dù đó là thế giới tự nhiên hay thế giới
do con người tạo ra Vậy cách thức con người tiếp cận, tìm hiểu, làm chủ thế giới của mình cũng như việc giao tiếp với nhau thế nào… Tất nhiên, con người thường thông qua các mô hình, dù đó chỉ là những phương trình toán học, các định luật vật lý, những hình ảnh hay thậm chí là lời nói và chữ viết Mô hình là một ánh xạ của thế giới thực, mô tả và phản ánh thế giới thực từ một góc nhìn Mô hình đơn giản hơn thế giới thực rất nhiều, nó chỉ mang những thông tin cần thiết cho một mục đích sử dụng cụ thể Chính vì thế mà
Trang 8thông qua mô hình chúng ta có thể tìm hiểu, bàn luận về vấn đề cần giải quyết, cũng như thiết kế và kiểm chứng giải pháp trước khi tiến hành thực thi Có thể nói, tư duy trên cơ
sở mô hình là phương pháp không thể thiếu được của mỗi người làm khoa học, kỹ thuật Đương nhiên, công nghệ phần mềm cũng không thể thiếu vai trò của các phương pháp
mô hình hóa
Việc mô hình hóa hệ thống phần mềm nhằm mục đích sau: Trừu tượng hóa, đơn giản hóa vấn đề cần giải quyết; Tạo ra phương tiện giao tiếp thống nhất trong nhóm phát triển; Tạo ra phương tiện giao tiếp thuận tiện giữa nhóm phát triển và khách hàng; Tạo ra
cơ sở phân tích, thiết kế và kiểm chứng hệ thống; Tư liệu hóa phần mềm
Mô hình của hệ thống có thể là một bản mô tả cách thức hoạt động, một số công thức toán học, một hoặc vài sơ đồ mô tả thành phần và các hoạt động diễn ra trong hệ thống Việc sử dụng mô hình loại nào để nghiên cứu hệ thống phụ thuộc vào mức độ trừu tượng hóa được chọn lựa, phụ thuộc vào quan điểm phân tích và phụ thuộc vào công cụ
sử dụng Các mô hình vừa là công cụ nghiên cứu và tìm hiểu hệ thống, vừa là công cụ, ngôn ngữ để trao đổi và là công cụ để điều chỉnh, hoàn thiện hệ thống
Việc trừu tượng hóa thế giới tự nhiên thành các lớp đối tượng được gọi là mô hình hóa hướng đối tượng
Trong thế giới luôn biến động của các ứng dụng hướng đối tượng thì việc phát triển và bảo trì các ứng dụng có chất lượng cao trong một khoảng thời gian hợp lý ngày càng trở nên khó khăn hơn Một tổ chức phát triển phần mềm thành công là tổ chức xây dựng được các phần mềm có chất lượng, thỏa mãn tốt những yêu cầu của khách hàng
Mô hình hóa được đánh giá là phần trung tâm trong mọi công việc, các hoạt động để dẫn tới việc có được một phần mềm tốt Thông qua mô hình có thể dùng để trao đổi, bàn bạc
về cấu trúc và ứng xử mong muốn của hệ thống Đồng thời qua mô hình để trực quan hóa
và kiểm soát kiến trúc hệ thống Mặt khác việc sử dụng mô hình có thể mô tả các cấu trúc, nhấn mạnh về mặt tổ chức của hệ thống hoặc mô tả các hành vi ứng xử, tập trung vào những mặt động của hệ thống
Việc xây dựng mô hình không chỉ dành riêng cho các hệ thống lớn, mà nó mang lại nhiều lợi ích cho tất cả các hệ thống khác nhau Nhìn chung, khi xây dựng mô hình sẽ đạt được những mục đích sau:
Mô hình giúp trực quan hóa hệ thống như theo cách nó vốn có hay là theo cách mà chúng ta muốn nó sẽ như vậy
Trang 9 Mô hình chỉ rõ các cấu trúc và ứng xử của hệ thống
Mô hình giúp chúng ta có được một khuôn mẫu để hướng dẫn chúng ta trong suốt quá trình xây dụng hệ thống
Mô hình đưa ra các dẫn chứng bằng tài liệu về các quyết định mà chúng ta đã đưa
ra trong quá trình thiết kế hệ thống
Thông qua mô hình hóa, chúng ta thu hẹp bài toán mà chúng ta cần nghiên cứu bằng cách chỉ tập trung vào một khía cạnh tại một thời điểm Tùy thuộc vào đặc điểm tự nhiên của hệ thống, mỗi mô hình có thể tập trung vào những mặt khác nhau của hệ thống
đó Chẳng hạn, hệ thống tập trung vào dữ liệu thì các mô hình về phần thiết kế tĩnh của
hệ thống được chú ý hơn Nhưng nếu hệ thống giao diện người dùng thì phần tĩnh và phần động của các ca sử dụng sẽ là quan trọng Đối với hệ thống thời gian thực, các tiến trình động là quan trọng Và cuối cùng, trong hệ thống phân tán dựa trên cơ sở Web thì các mô hình về thực thi và triển khai là quan trọng nhất
Phân tích, thiết kế hướng đối tượng
Công nghệ phần mềm không chỉ là lập trình, mà còn nhiều bước khác nữa như phân tích, thiết kế và bảo trì Theo dòng phát triển công nghệ phần mềm, phương pháp lập trình đã tiến hóa từ lập trình tuần tự lên lập trình có cấu trúc và lập trình hướng đối tượng Phương pháp phân tích, thiết kế phần mềm cũng đi theo các bước tiến hóa này Phương pháp phân tích, thiết kế phần mềm tiên tiến hiện nay là hướng đối tượng, trong
đó khối cơ bản để xây dựng nên phần mềm là đối tượng hay lớp Nói một cách đơn giản, đối tượng là sự phản ánh thế giới tự nhiên xung quanh Ưu điềm lớn nhất của phân tích, thiết kế phần mền hướng đối tượng không phải nằm ở chỗ tạo ra chương trình nhanh tốn
ít công sức, mà nằm ở chỗ nó gần với thực tế và do đó thúc đẩy việc tái sử dụng lại những thành quả đã được xây dựng trước đó
Lập trình hướng đối tượng
Với đa số người quan tâm thì khái niệm hướng đối tượng chỉ mới dừng lại là một phương pháp lập trình ở mức trừu tượng cao hơn lập trình hướng cấu trúc Rõ ràng, xu hướng phát triển của các ngôn ngữ lập trình là hướng dần tới tư duy người lập trình và thoát khỏi sự lệ thuộc vào máy tính cụ thể Điều đó có nghĩa là, người lập trình có thể biểu diễn thế giới thực và ý tưởng của mình thông qua ngôn ngữ lập trình một cách tự nhiên hơn, trực tiếp hơn là phụ thuộc vào từng câu lệnh, thanh ghi hay ô nhớ theo cách thức làm việc của vi xử lý Dù lập trình hướng cấu trúc khiến cho việc lập trình trở nên dễ dàng hơn, hiệu quả hơn nên mã chương trình có độ tin cậy cao hơn và tính khả chuyển
Trang 10cao hơn Tuy nhiên, lập trình hướng cấu trúc vẫn gặp nhiều khó khăn với các dự án lớn bởi tư duy còn gắn nhiều với cấu trúc dữ liệu cụ thể, tính mềm dẻo và khả năng sử dụng lại tương đối thấp của mô hình phân tích, thiết kế cũng như mã chương trình Trong khi
đó, yêu cầu của thị trường ngày càng khắt khe cả về mở rộng phạm vi chức năng, tính thân thiện người sử dụng, độ tin cậy của phần mềm cũng như khung thời gian ra sản phẩm
Lập trình hướng đối tượng được coi là phương pháp lập trình chuẩn hiện nay trong
đa số các lĩnh vực ứng dụng bởi nó có nhiều ưu điểm lớn so với các phương pháp cổ điển Mục tiêu mà lập trình hướng đối tượng đặt ra: Đơn giản hóa việc sử dụng các thư viện, cho phép sử dụng lại phần mềm một cách triệt để, nâng cao độ tin cậy và tính bền vững của phần mềm, hỗ trợ các dự án phát triển phần mềm có quy mô lớn đòi hỏi nhiều người tham gia, cải thiện khả năng bảo trì của mã nâng tính mềm dẻo linh hoạt của phần mềm
Như vậy, công nghệ hướng đối tượng là tất cả công nghệ và kỹ thuật phần mềm dựa trên nền tảng là phương pháp luận hướng đối tượng Nền tảng này bao gồm: mô
hình hóa hướng đối tượng, phân tích và thiết kế hướng đối tượng, lập trình hướng đối tượng Dựa trên mô hình đối tượng thu được khi mô hình hóa hệ thống, phương pháp phân tích thiết kế phần mềm hướng đối tượng sẽ bổ sung thêm các liên kết và lớp đối tượng mới, tinh chỉnh lại… để rạo ra mô hình đối tượng chi tiết của phần mềm Cuối cùng người sử dụng một ngôn ngữ lập trình nào đó (không nhất thiết phải mà ngôn ngữ hướng đối tượng) thể hiện mô hình đối tượng chi tiết thành mã nguồn
1.2 Ngôn ngữ mô hình hóa thống nhất UML
1.2.1 Lịch sử phát triển của UML
Đầu những năm 1980, ngành công nghệ phần mềm chỉ có duy nhất một ngôn ngữ hướng đối tượng là Simula Sang nửa sau thập niên 80, các ngôn ngữ hướng đối tượng như Smaltalk và C++ xuất hiện Cùng với chúng, nhu cầu mô hình hóa các hệ thống phần mềm theo hướng đối tượng đã nảy sinh Vào khoảng đầu thập niên 90, một số ngôn ngữ
mô hình hóa xuất hiện và được nhiều người sử dụng như: Grady Booch’s Mooch Modeling Methodology, James Rambaugh’s Object Modeling Technique – OMT,…
Mỗi phương pháp và ngôn ngữ trên đều có hệ thống ký hiệu riêng, phương pháp
xử lý và công cụ hỗ trợ khác nhau nên đều có những điểm mạnh và yếu riêng Từ đó khiến nảy ra cuộc tranh luận phương pháp nào là tốt nhất Trong thực tế, sự khác biệt