luận văn về xây dựng phần mềm quản trị quan hệ khách hàng
Lời Nói Đầu Thế kỷ XXI, thế kỷ của công nghệ thông tin, một thế kỷ với những tiến bộ vợt bậc trong mọi ngành và mọi lĩnh vực. Công nghệ thông tin hiện nay đang là một trong những mũi nhọn đợc u tiên hàng đầu để đa đất nớc ta tiến lên ngang hàng với các nớc trong khu vực cũng nh trên thế giới. Nó đã góp phần quan trọng đối với cuộc sống của nhân loại, phần nào đáp ứng đợc nhu cầu đòi hỏi ngày càng cao trong mọi lĩnh vực sống của con ngời. Để xử lý thông tin một cách nhanh chóng, chính xác và có hiệu quả thì ngành công nghệ thông tin đã phát triển tơng đối phổ biến trên thế giới nói chung và Việt Nam nói riêng và đã cung cấp cho chúng ta những biện pháp cần thiết đó. Đã đi qua thời tính toán, lu trữ dữ liệu bằng các phơng pháp thủ công truyền thống mang nặng tính chất lạc hậu, lỗi thời. Công nghệ thông tin đã đi vào các ngành với một phơng thức hoạt động hoàn toàn mới mẻ, sáng tạo và nhanh chóng mà không mất đi sự chính xác. Đặc biệt, nó đã đánh dấu một bớc ngoặt trong việc áp dụng tin học vào trong hệ thống quản lý. Trong lĩnh vực sản xuất kinh doanh, công tác quản lý đóng vai trò đặc biệt quan trọng. Công tác quản lý có tốt thì việc điều hành mới tốt, khi đó công việc mới đạt hiệu quả cao, năng suất lao động tăng, giảm những chi phí không cần thiết. Ngợc lại, công tác quản lý mà yếu kém sẽ dẫn đến công việc trì trệ, chất l- ợng công việc không cao cũng nh tốn nhiều công sức mà năng suất công việc lại thấp. Công tác quản lý bao gồm rất nhiều hoạt động nh quản lý sản xuất, quản lý nhân sự, quản lý tiền lơng, quản lý kho, quản lý khách hàng Công ty TNHH In và thơng mại Sigma là một đơn vị hoạt động trong lĩnh vực in ấn và thiết kế logo. Trong đó, khách hàng đóng một vai trò đặc biệt quan trọng quyết định tới thành công của công ty. Công việc quản lý quan hệ khách hàng đòi hỏi các nhà quản lý thờng xuyên phải cập nhật, xử lý dữ liệu để đa ra các báo cáo chính xác, kịp thời. Việc ứng dụng công nghệ thông tin vào quản trị quan hệ khách hàng sẽ góp phần giúp công ty nắm bắt đợc chính xác số lợng khách hàng, giúp công ty chủ động trong mọi hoạt động với khách hàng. Xuất phát từ đặc điểm thực tế và nhu cầu muốn tin học hoá hệ thống quản trị quan hệ khách hàng của công ty TNHH In và thơng mại Sigma, em đã chọn đề tài: Xây dựng phần mềm quản trị quan hệ khách hàng để làm cho chuyên đề thực tập tôt nghiệp của mình. Cấu trúc chuyên đề gồm 3 chơng: ChơngI: Lý luận chung về thiết kế xây dựng phầm mềm Chơng II: Giới thiệu chung về Công ty TNHH In và thơng mại Sigma và bài toán quản trị quan hệ khách hàng Chơng III: Xây dựng phần mềm quản trị quan hệ khách hàng tại Công ty TNHH In và thơng mại Sigma Chơng I: Lý luận chung về thiết kế xây dựng phần mềm 1. Khái niệm phần mềm Theo Roger Pressman Phần mềm là một tập hợp gồm ba yếu tố là các ch- ơng trình máy tính, cấu trúc dữ liệu và hệ thống tài liệu hớng dẫn. Các công đoạn phát triển của phần mềm Thời kỳ 1950-1960 1960-1970 1970-1990 1990-Nay Chậm Xử lý theo lô Phần mềm đơn chiếc -Sản xuất cho nhóm ngời sử dụng. - Xử lý theo chế độ thời gian thực - Thơng mại hoá - Hệ thống phân tán. - Tính tới hiệu quả thơng mại - Phần mềm thông minh. - Hệ thống để bàn. - Lập trình hớng đối tợng. -Xử lý song song. 1.1. Vòng đời phát triển của phần mềm Trong công nghiệp phần mềm ngời ta đặc biệt quan tâm tới vấn đề là vòng đời phát triển phần mềm. Vòng đời phát triển của một phần mềm đợc hiểu là quy trình từ khi phần mềm ra đời cho đến khi đa vào sử dụng và quá trình nâng cấp bảo trì. Mục đích của công việc nghiên cứu vòng đời phát triển của phần mềm là phân ra thành các giai đoạn trên cơ sở đó tìm các giải pháp và công cụ thích hợp để tác động vào mỗi giai đoạn. 1.2. Mô hình thác nớc Công đoạn đầu tiên là công nghệ hệ thống: Nó bao trùm lên toàn bộ các quy trình tiếp theo trong công nghệ phần mềm vì phần mềm là một thành phần của hệ thống quản lý do đó nó phải đợc xem xét trong mối liên hệ tổng thể về kinh tế - kỹ thuật - tổ chức của toàn bộ guồng máy quản lý. Công đoạn tiếp theo là phân tích: Với mục đích xác định rõ ràng và cụ thể các yêu cầu của phần mềm, phần thiết kế trong công nghệ phần mềm hớng tới các vấn đề sau: Thiết kế kiến trúc hệ thống Thiết kế kỹ thuật Phần thiết kế hệ thống là quan trọng nhất vì nó cho ta một cái nhìn tổng thể về phần mềm cần xây dựng. Còn thiết kế kỹ thuật đi vào các vấn đề cụ thể bao gồm thiết kế dữ liệu, thiết kế thủ tục, thiết kế chơng trình, thiết kế giao diện màn hình, thiết kế công cụ cài đặt. Ngời ta dùng mô hình thác nớc để biểu diễn vòng đời phát triển của phần mềm với hai ý nghĩa: Khẳng định đây là các giai đoạn của một quy trình thống nhất, không tách rời và có mối quan hệ mật thiết với nhau. Trong mô hình này các công đoạn càng ở phía dới thì càng phải chịu sự tác động của các giai đoạn phía trên, chỉ trừ có công đoạn công nghệ hệ thống là không chịu sự tác động của công đoạn nào. Để xây dựng đợc hệ thống phần mềm ta phải mô tả đợc vấn đề và yêu cầu của khách hàng bằng trả lời các câu hỏi nh vấn đề của hệ thống là gì? Và hệ thống cần phải làm gì?. Pha phân tích của tiến trình tập trung vào việc điều tra vấn đề thay cho việc tìm ra giải pháp. Để có tài liệu phân tích đầy đủ và đúng đắn thì phải phân tích lĩnh vực vấn đề. Lĩnh vực vấn đề là khu vực tác nghiệp của con ngời trong đó phần mềm đợc xây dựng. Những ngời tham gia vào xây dựng hệ thống phần mềm nh khách hàng, phân tích viên, lập trình viên theo phơng pháp thác nớc rất ít khi làm việc cùng với nhau để chia sẻ các hiểu biết sâu sắc về vấn đề đang giải quyết. Do vậy họ mất nhiều thời gian để xây dựng đợc hệ thống phần mềm. Mô hình thác nớc còn đợc biểu diễn dới dạng chữ V trong đó quy trình kiểm tra đợc thực hiện đồng thời với các quy trình phát triển khác ví dụ kiểm tra chức năng đợc thực hiện trong quá trình phân tích, kiểm tra tích hợp đợc thực hiện trong quá trình thiết kế, kiểm tra module trong quy trình lập trình. 1.3. Mô hình lặp và tăng dần Mô hình thác nớc không cho ta đi ngợc lại chuỗi trình tự phát triển phần mềm, theo mô hình này thì phải xác định toàn bộ yêu cầu, nó đợc thực hiện thông qua bàn bạc với ngời sử dụng hệ thống và khảo sát các chi tiết tiến trình tác nghiệp. Thực tế thì khi kết thúc công việc, may mắn lắm chỉ 80% nhu cầu của hệ thống là đợc thu thập trong quy trình phân tích do khi đặt hàng bản thân khách hàng chỉ mới liệt kê ra các mong muốn và nguyện vọng của mình về phần mềm mà cha hình dung đợc một cách cụ thể những khả năng mà phần mềm sẽ đạt đợc, đồng thời kỹ s phần mềm ngay từ đầu nhận đơn đặt hàng cũng không thể hình dung hết kiến trúc tổng quát của phần mềm mà mình xây dựng. Tiếp theo là quy trình thiết kế, nơi kiến trúc hệ thống sẽ đợc xác định, quy trình này tập trung vào những nhiệm vụ nh đặt chơng trình ở đâu, cần phần cứng nào . trong khi thực hiện công việc này, chúng ta có thể tìm ra một số nhiệm vụ mới của hệ thống của hệ thống. Do đó xuất hiện nhu cầu đi ngợc lại ngời sử dụng để trao đổi bàn bạc về nó; có nghĩa là chúng ta phải trở lại quy trình phân tích. Sau khi lặp lại vài lần nh vậy chúng ta mới chuyển đến quy trình lập trình hệ thống. Khi mã hoá chơng trình, chúng ta phát hiện ra một vài quyết định khi thiết kế là không thể cài đặt. Vậy ta phải quay trở lại quy trình phân tích để xem xét lại yêu cầu. Sau quy trình lập trình, quy trình kiểm thử bắt đầu. Trong khi kiểm thử chúng ta nhận thấy một vài yêu cầu cha đủ chi tiết, giải thích nhầm lẫn có thể xảy ra. Vậy ta phải trở lại quy trình phân tích để xem xét lại yêu cầu. Sau một vài lần lặp lại nh vậy ta có đợc hệ thống hoàn chỉnh và bàn giao cho khách hàng. Vấn đề về luật pháp, quy trình kinh doanh có thể thay đổi theo thời gian khi xây dựng hệ thống, ngời sử dụng có thể phàn nàn về các vấn đề này, sản phẩm làm ra không đúng nh họ mong đợi. Nguyên nhân có thể là sự thay đổi của pháp luật, môi trờng kinh doanh; ngời sử dụng không truyền đạt đúng cái họ muốn; đội ngũ dự án không tuân thủ tiến trình . Đội ngũ phát triển th- ờng lập ra các biểu đồ và vô số tài liệu, văn bản, nhng ngời dùng không phải lúc nào cũng hiểu cái mà đội ngũ phát triển cung cấp cho họ. Giải pháp nào để tránh các vấn đề này? Câu trả lời là mô hình hoá trực quan có thể giúp họ. Phát triển phần mềm là tiến trình phức tạp. Nếu bỏ qua khả năng quay trở lại của các bớc thực hiện trớc đó thì thiết kế hệ thống có thể sai lầm và thiếu sót nhu cầu. Để có thể đi ngợc lại các bớc phát triển hệ thống phần mềm chúng ta có phơng pháp mới, phơng pháp phát triển lặp. Phát triển lặp là làm đi làm lại việc gì đó. Trong phơng pháp này ta sẽ đi qua các bớc phân tích, thiết kế, phát triển, kiểm thử và triển khai phần mềm theo từng bớc nhỏ nhiều lần. Bởi chúng ta khó có thể thu thập đợc đầy đủ mọi yêu cầu vào công đoạn đầu tiên của dữ án. Các vấn đề mới nảy sinh, vậy ta phải lập kế hoạch lặp trong dự án. Theo quan niệm này thì dự án đợc coi là các thác nớc nhỏ, mỗi thác nớc đợc thiết kế đủ lới để sao cho có thể hoàn thiện từng bộ phận quan trọng của của dự án và đủ nhỏ để tối thiểu nhu cầu đi trở lại. Theo mô hình lặp và tăng dần thì mỗi chu kỳ lặp là một vòng đời thác n- ớc nhỏ. Vòng lặp sau đợc hình thành trên cơ sở tiến hoá của vòng lặp trớc đó. Nh vậy các quy trình truyền thống đợc lặp đi lặp lại và tăng dần. Trong phơng pháp này, phân tích viên, ngời thiết kế, ngời lập trình . hợp tác làm việc với nhau để hiểu biết sâu sắc hệ thống, chia sẻ các ý tởng mới dẫn đến xây dựng đ- ợc một hệ thống mạnh, phức tạp hơn. 2. Cấp bậc kiến trúc phần mềm Cấp bậc kiến trúc của phần mềm đợc hiểu là thứ bậc trình tự các khối và mối liên kết giữa chúng với nhau. Nh vậy đứng trớc một vấn đề thực tiễn ngời kỹ s phần mềm có thể đa ra nhiều giải pháp khác nhau để giải quyết vấn đề đó, cấp bậc kiến trúc phần mềm hoàn toàn phụ thuộc vào trình độ chuyên môn của mỗi ngời. Yêu cầu của mỗi kiến trúc phần mềm là phải đạt đợc hai vấn đề + Đảm bảo tính chặt chẽ trong kiến trúc để không xảy ra những lỗ hổng trong phần mềm. + Kiến trúc phải đảm bảo không quá phức tạp để khi dịch thành chơng trình thì quy mô của chơng trình không quá lớn và khi thực hiện mỗi chức năng. Mô hình chuyển từ bài toán thực tế sang bài toán logic (problem -solution). Mô hình này cho ta thấy với một vấn đề thực tế nhng qua bàn tay chế tác của kỹ s phần mềm có thể trở lên rất nhiều kiến trúc phần mềm khác nhau. Tiêu chuẩn duy nhất để lựa chọn một kiểu kiến trúc nào đó là không quá phức tạp nhng vẫn đảm bảo tính năng hoạt động của phần mềm. Đây chính là quá trình cấu trúc hóa các vấn đề phi cấu trúc. 3. Các quy trình thiết kế phần mềm Mỗi quy trình bao gồm các bớc - Mục đích của quy trình - Dấu hiệu của quy trình để phân biệt với mỗi quy trình khác - Lu đồ của quy trình đợc biểu diễn dới dạng sơ đồ khối - Các thông số của quy trình trong đó xác định rõ tên chức danh, tham số đầu vào, sản phẩm cần phải giao nộp, phơng pháp đánh giá hiệu quả - Các quá trình liên quan - Phân đoạn các quá trình của qui trình Qui trình 1: Xác định yêu cầu ngời sử dụng (Khách hàng) Mục đích: Mục đích của quy trình này bao gồm: - Xác định một cách chính xác các yêu cầu của ngời sử dụng về phần mềm - Phân tích hệ thống và các quá trình có liên quan - Phân tích yêu cầu của ngời sử dụng tơng lai có liên quan đến phần mềm tơng lai Dấu hiệu: Quy trình này đợc đặc trng bởi các dấu hiệu sau - Khảo sát - Phân tích nghiệp vụ - Phân tích yêu cầu [...]... 3 duyệt Báo cáo khảo sát đợc quản trị viện phê Phân tích nghiệp vụ 4 Phân tích yêu Kết thúc bớc 2 duyệt Quản trị viên và Kết thúc bớc 3 khách hàng chấp nhận Khách hàng chấp cầu nhận 5 Mô tả hoạt Kết thúc bớc 4 Quản trị viên phê Kết thúc bớc 5 duyệt Quản trị viên và động 6 quản trị viên dự án phê Tổng hợp khách hàng chấp nhận Quy trình 2: Xây dựng và quản lý hợp đồng phần mềm Mục đích: Xem xét các giải... tin mà nhân viên phòng kinh doanh thu thập đợc về khách hàng Giúp cho việc quản lý khách hàng dễ dàng, thuận tiện hơn 4 Định hớng xây dựng đề tài ý tởng xây dựng đề tài Nhằm đáp ứng đợc tình hình tin học hóa của công ty trong hoạt động sản xuất kinh doanh, từ những vấn đề thực tế của Công ty em xin đa ra đề tài:" Xây dựng phần mềm quản trị quan hệ khách hàng " Mục đích Nhằm từng bớc đa những thành tựu... cách khác là giá trị của kinh doanh mà mỗi một khách hàng tốt mang lại trở nên quan trọng giống nh việc tăng chia sẻ thị trờng Nói tóm lại, việc quan tâm tới các khách hàng của mình chính là làm tăng lợi nhuận nó thực sự cần thiết và cũng chính là CRM Chơng 3: Chơng trình quản lý khách hàng 1 Cụ thể bài toán quản lý khách hàng Quản lý khách hàng gồm các chức năng chính: - Quản trị hệ thống, tạo lập... chức xây dựng các thành phần của CRM một cách hiệu quả cũng nh làm nổi bật các thuật ngữ chính khiến cho ngời dùng có cảm giác họ cũng đang bắt tay vào xây dựng chiến lợc cho CRM Khái niệm CRM: CRM là chữ viết tắt của Custormer Relationship Managerment (Quản trị quan hệ khách hàng) Đây là lĩnh vực hoạt động nghiên cứu nhu cầu và hành vi của khách hàng để xây dựng quan hệ chặt chẽ giữa doanh nghiệp và khách. .. ngày hoặc báo cáo về giao dịch của khách hàng hàng ngày Dữ liệu đầu vào gồm có: - Thông tin về khách hàng và các vấn đề liên quan đến khách hàng 2 Mô hình hóa chơng trình Sơ đồ luồng thông tin IFD Thời điểm Hàng ngày Nguồn Khách hàng Chức năng xử lý Yêu cầu khách hàng Đích Tiếp nhận yêu cầu Xử lý yêu cầu Cơ sở dữ liệu Nhân viên Đơn đặt hàng Khách hàng Triển khai Khách hàng Sản phẩm Cơ sở dữ liệu Xử lý... ty phần mềm - Đặc tả yêu cầu Quản trị viên dự án 2 Input phần mềm - Kiến trúc hệ thống - Thiết kế kĩ thuật - Mô tả hoạt động hệ thống 3 Sản phẩm Chơng trình đã đợc Quản trị viên dự án - Tỉ lệ sản phẩm đã >=90% test 4 Đánh giá chất lợng test Khoảng 20% - Mức độ chênh lệch giữa dự kiến và thực tế 5 Quá trình liên - Xây dựng và quản quan lý hợp đồng phần mềm - Xác định yêu cầu ngời sử dụng - Thiết kế phần. .. 256, HDD 40GB, ổ CD ROM) - Phần mềm: Hệ điều hành Window XP, phần mêm Microsoft Office 2003, một số phần mềm ứng dụng chuyên biệt khác nh: phần mềm kế toán, phần mềm Manager Là một đơn vị sản xuất kinh doanh nên công tác quản lý tiêu thụ sản phẩm là một khâu quan trọng Đặc biệt là việc nắm bắt đợc các thông tin về khách hàng, nắm bắt đợc các thông tin về khách hàng tốt sẽ góp phần thúc đẩy nhanh quá... các hợp đồng phần mềm Dấu hiệu: - Soạn thảo hợp đồng phần mềm đồng Đa ra các giải pháp kĩ thuật Tiến hành theo dõi việc thực hiện thanh toán thanh lý hợp Lu đồ: Bắt đầu Đề xuất xây dựng hợp đồng phần mềm Đưa ra các giải pháp kĩ thuật Soạn thảo hợp đồng phần mềm Theo dõi việc thực hiện hợp đồng phần mềm Thanh toán, thanh lý hợp đồng phần mềm Lập báo cáo về tiến trình quản lý hợp đồng phần mềm Kết thúc... liên Qui trình xác định nhu cầu quan của khách hàng - Quản trị viên dự án, triển khai, thiết kế >=90% Phân đoạn các hoạt động: S Tên hoạt động 1 bắt đầu Đề xuất xây dựng hợp Có TT đồng phần mềm Điều kiện thúc yêu 3 Đa ra giải pháp kĩ thuật Xây dựng hợp đồng phần mềm 4 Khởi động dự án Quyết định cầu của khách của công ty về dự hàng 2 Điều kiện kết án Sau bớc 1 Khách hàng Sau bớc 2 chấp nhận Kí kết hợp... hợp đồng Sau bớc 3 Có quyết định của quản trị viên 5 Theo dõi hợp đồng phần mềm 6 Tổ chức nghiệm thu 7 Lập báo cáo Sau bớc 4 Hợp đồng đ- Sau bớc 5 ợc thực hiện Có biên bản Sau bớc 6 thanh toán Đợc quản trị viên chấp nhận Quy trình 3: Thiết kế phần mềm Mục đích: Quy trình thiết kế trong phần mềm nhằm mục đích xây dựng đặc tả yêu cầu phần mềm, xây dựng kiến trúc hệ thống, thiết kế dữ liệu, thiết kế chơng . kế xây dựng phầm mềm Chơng II: Giới thiệu chung về Công ty TNHH In và thơng mại Sigma và bài toán quản trị quan hệ khách hàng Chơng III: Xây dựng phần mềm. mềm quản trị quan hệ khách hàng tại Công ty TNHH In và thơng mại Sigma Chơng I: Lý luận chung về thiết kế xây dựng phần mềm 1. Khái niệm phần mềm