Mở đầu Phần này trình bày ý nghĩa và lý do chọn đề tài “Phát triển hệ quản trị quan hệ khách hàng của doanh nghiệp dựa trên UML” để nghiên cứu trong luận văn của mình. Cũng trong phần này chúng tôi sẽ giới thiệu nội dung và cấu trúc của luận văn Chƣơng 1: Mô hình hóa phần mềm dựa trên UML Chƣơng này trình bày một số vấn đề của lý thuyết ngôn ngữ mô hình hóa UML và việc mô hình hóa phần mềm dựa trên UML Chƣơng 2: Tổng quan về bài toán quản trị quan hệ khách hàng Chƣơng này giới thiệu về bài toán quản trị quan hệ khách hàng, hiện trạng ứng dụng và triển khai CRM trong các doanh nghiệp tại Việt Nam. Đồng thời trong chƣơng này cũng đƣa ra chức năng và mô hình hệ thống của CRM Chƣơng 3: Mô hình hóa phân hệ quản lý khách hàng với UML Trong chƣơng này tập trung mô tả hoạt động nghiệp vụ của phân hệ quản lý khách hàng, phân tích và vẽ biểu đồ chi tiết các mô hình ca sử dụng nhƣ mô hình ca sử dụng quản lý tổ chức, mô hình ca sử dụng quản lý hợp đồng/dự án, mô hình ca sử dụng quản lý tiềm năng, mô hình ca sử dụng quản lý cơ hội… Chƣơng 4: Mô hình hóa phân hệ bán hàng với UML Chƣơng này tiếp tục trình bày một phân hệ thuộc hệ thống CRM là phân hệ quản lý bán hàng. Trong phân hệ này tập trung mô tả hoạt động nghiệp vụ của mua bán hàng hóa giữa doanh nghiệp và khách hàng, giữa doanh nghiệp và nhà cung cấp.
Từ đó đƣa ra mô hình phân tích và biểu đồ chi tiết các mô hình ca sử dụng nhƣ mô hình ca sử dụng bán hàng, mô hình ca sử dụng mua hàng từ các nhà cung cấp, mô hình ca sử dụng bảo hành sản phẩm cho khách hàng. Chƣơng 5: Chƣơng này trình bày nội dung thử nghiệm và các kết quả thử nghiệm đạt đƣợc Kết luận Trong phần này tổng kết lại những kết quả đã đạt đƣợc và chƣa đạt đƣợc. Từ đó nêu lên những hƣớng nghiên cứu, phát triển tiếp theo Phụ lục Phần phụ lục sẽ cung cấp thông tin về tài liệu tham khảo TIEU LUAN MOI download : skknchat@gmail.com 9 CHƢƠNG I: MÔ HÌNH HÓA PHẦN MỀM DỰA TRÊN UML I. Mô hình hóa phần mềm 1.
Khái niệm mô hình hóa phần mềm Mô hình là sự trừu tƣợng hóa, mô tả bản chất của một vấn đề hoặc một cấu trúc phức tạp bằng cách loại bỏ những chi tiết không quan trọng, làm cho bài toán trở nên dễ hiểu và dễ nắm bắt hơn. Trừu tƣợng hóa là một khả năng cơ bản của con ngƣời trong việc giải quyết các vấn đề phức tạp. Để xây dựng một hệ thống phức tạp, những ngƣời phát triển phải trừu tƣợng hóa những khía cạnh khác nhau của hệ thống, xây dựng các mô hình bằng cách sử dụng các kí hiệu một cách rõ ràng, cẩn thận, kiểm tra xem các mô hình đã thoả mãn các yêu cầu của hệ thống chƣa và dần dần thêm vào các chi tiết để có thể chuyển đổi từ mô hình sang một cài đặt cụ thể[1]. Nhƣ vậy, mô hình hóa là biểu diễn hệ thống dƣới các dạng hình thức dễ hiểu nhƣ biểu đồ, đồ thị, công thức.
Mô hình hóa giúp hiểu rõ bài toán, trao đổi thông tin giữa những ngƣời liên quan nhƣ khách hàng, chuyên gia, ngƣời phân tích, ngƣời thiết kế. Mô hình giúp cho việc xác định các yêu cầu tốt hơn, thiết kế rõ ràng hơn và khả năng bảo trì hệ thống cao hơn. Mô hình hóa là phần trung tâm trong các công việc, các hoạt động để dẫn tới một phần mềm tốt. Chúng ta xây dựng mô hình để trao đổi, bàn bạc về cấu trúc và hành vi mong muốn của hệ thống.
Đồng thời xây dựng mô hình để trực quan hóa và kiểm soát kiến trúc của hệ thống. Mô hình hóa 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 nó có thể mô tả các hành vi, tập trung vào mặt động của hệ thống. Do đó, mô hình hóa hệ thống giúp chúng ta hiểu rõ hơn về hệ thống mà chúng ta đang xây dựng, tạo ra cơ hội để có thể đơn giản hóa và tái sử dụng. Ngoài ra việc mô hình hóa còn giúp chúng ta dễ dàng kiểm soát rủi ro.
Trong quá trình mô hình hóa, mỗi hệ thống thực tế có thể đƣợc tiếp cận thông qua một hay một số mô hình khác nhau. Quá trình mô hình hoá hệ thống phần mềm thƣờng thực hiện theo hai cấp: TIEU LUAN MOI download : skknchat@gmail.com 10 + Mô hình logic: mô tả các thành phần và mối quan hệ của chúng để tổ chức thực hiện. Mô hình logic trả lời câu hỏi “cái gì?” + Mô hình vật lý: xác định kiến trúc các thành phần và tổng thể của hệ thống. Mô hình vật lý sẽ trả lời câu hỏi “nhƣ thế nào”.
Tóm lại, mô hình hoá một hệ thống phải thực hiện theo cả bốn hƣớng[1]: Kiến trúc Các chức năng, Cấu trúc tĩnh (dữ liệu, nhiệm vụ hoặc quá thông tin đƣợc lƣu trữ, trình xử lý các nhiệm xử lý và các yếu tố tạo vụ của hệ thống. nên hệ thống). Cách ứng xử Các hƣớng mô hình hoá Hƣớng của điểm xuất phát sẽ kéo theo phƣơng pháp cần lựa chọn để phát triển phần mềm. Nếu ta bắt đầu từ bên trái, nghĩa là tập trung vào chức năng để phân tích thì chúng ta thực hiện, phát triển phần mềm theo cách tiếp cận hƣớng chức năng.
Ngƣợc lại, nếu bắt đầu từ bên phải, nghĩa là dựa vào dữ liệu là chính thì chúng ta sử dụng phƣơng pháp hƣớng đối tƣợng. Phƣơng pháp và các ngôn ngữ mô hình hoá Phƣơng pháp là cách trực tiếp cấu trúc hoá sự suy nghĩ và hành động của con ngƣời. Phƣơng pháp cho ngƣời sử dụng biết phải làm gì? làm nhƣ thế nào? khi nào? và tại sao?(mục đích của hành động). Phƣơng pháp chứa các mô hình(model), các mô hình đƣợc dùng để mô tả những gì sử dụng cho việc truyền đạt kết quả trong quá trình sử dụng phƣơng pháp[1].
Đồng thời, mô hình lại đƣợc biểu diễn theo một ngôn ngữ mô hình hoá. Ngôn ngữ mô hình hoá bao gồm các ký hiệu – những biểu tƣợng đƣợc dùng trong mô hình – và một tập các quy tắc chỉ cách sử dụng chúng. Các quy tắc này bao gồm: TIEU LUAN MOI download : skknchat@gmail.com 11 - Cú pháp(Syntactic): cho biết hình dạng các biểu tƣợng và cách kết hợp chúng trong ngôn ngữ. - Ngữ nghĩa(Semantic): cho biết ý nghĩa của mỗi biểu tƣợng, chúng đƣợc hiểu thế nào khi nằm trong hoặc không nằm trong ngữ cảnh của các biểu tƣợng khác.
- Mục đích(Pragmatic): định nghĩa ý nghĩa của biểu tƣợng để sao cho mục đích của mô hình đƣợc thể hiện và mọi ngƣời có thể hiểu đƣợc. Các bƣớc của tiến trình phát triển phần mềm Một quá trình phát triển phần mềm là một tập của các hoạt động cần thiết để chuyển các yêu cầu ngƣời dùng thành một hệ thống phần mềm đáp ứng đƣợc các yêu cầu đặt ra[5] Yêu cầu Tiến trình phát triển Hệ thống ngƣời dùng phần mềm phần mềm Vòng đời phát triển phần mềm đƣợc chia thành 4 pha: sơ bộ, soạn thảo, xây dựng và chuyển giao. Trong mỗi pha lại chia thành nhiều bƣớc lặp nhỏ. Mỗi bƣớc lặp đều gồm một số công việc thực hiện trọn vẹn một sản phẩm phần mềm: lập mô hình nghiệp vụ, xác định yêu cầu, phân tích, thiết kế, triển khai và kiểm thử.
Tuy nhiên, bƣớc lặp trong mỗi pha khác với bƣớc lặp ở các pha khác nội dung cũng nhƣ khối lƣợng mỗi loại công việc thực hiện. Sơ bộ Soạn thảo Xây dựng Chuyên giao Bƣớc 1 bƣớc 2 Bƣớc 3 Bƣớc 4 Bƣớc 5 == == Bƣớc Bƣớc n n-1 Với mỗi bƣớc lặp, các hoạt động phát triển đƣợc thực hiện trên một phạm vi chỉ liên quan đến một số thành phần nhất định của hệ thống, và kết thúc mỗi bƣớc lặp ta nhận đƣợc một thành phần mới của hệ thống mà sẵn sàng để phân phối và thực hiện đƣợc. Nó bao gồm các mã nguồn đƣợc viết dƣới dạng các thành phần mà có thể đƣợc biên dịch và thực thi, cùng với các hƣớng dẫn sử dụng và nhiều thành phần khác. Tuy nhiên, các thành phần này còn chƣa phải là sản phẩm cuối cùng, vì sản phẩm cuối cùng phải là sản phẩm hoàn thiện thỏa mãn đƣợc yêu cầu của ngƣời dùng.
TIEU LUAN MOI download : skknchat@gmail. Đặc trƣng tiến trình phát triển phần mềm hƣớng đối tƣợng Quá trình phát triển phần mềm hƣớng đối tƣợng có thể sử dụng các công cụ khác nhau. Quá trình phát triển phần mềm có 3 đặc trƣng cơ bản sau: - Ca sử dụng điều khiển quá trình phát triển - Lấy kiến trúc làm trung tâm - Tiến trình phát triển là tiến trình lặp và tăng dần 1. Ca sử dụng điều khiển toàn bộ quá trình phát triển Một hệ thống phần mềm đƣợc tạo ra là để phục vụ ngƣời dùng.
Ngƣời dùng ở đây bao gồm cả ngƣời dùng hệ thống hay các hệ thống ngoài khác tƣơng tác với hệ thống. Một ca sử dụng là một phần chức năng của hệ thống cung cấp cho ngƣời dùng để đem lại một kết quả nào đó khi sử dụng nó. Các ca sử dụng dùng để nắm bắt các yêu cầu chức năng. Tập hợp tất cả các ca sử dụng lập thành mô hình ca sử dụng mô tả chức năng đầy đủ của hệ thống.
Một đặc tả chức năng thƣờng trả lời câu hỏi: hệ thống đƣợc dự kiến sẽ làm gì? Nhƣng đối với ca sử dụng thì câu hỏi lại là: hệ thống đƣợc dự kiến sẽ làm đƣợc gì cho mỗi ngƣời sử dụng? Hình 1: Ca sử dụng điều khiển quá trình phát triển phần mềm TIEU LUAN MOI download : skknchat@gmail.com 13 Ca sử dụng không chỉ là một công cụ để đặc tả các yêu cầu của hệ thống mà còn điều khiển quá trình phân tích, thiết kế, cài đặt và kiểm thử. Trƣớc hết ca sử dụng phản ánh yêu cầu của hệ thống cần phải thực hiên để đem lại dịch vụ cho những ngƣời sử dụng và kết quả là những giá trị gia tăng mà họ nhận đƣợc. Dựa trên mô hình ca sử dụng, ngƣời phát triển tạo ra một loạt các mô hình phân tích, thiết kế và cài đặt nhằm vào việc thực hiện các ca sử dụng ở những mức khác nhau và xem xét để sao cho mỗi mô hình này là phù hợp với việc thực hiện mô hình ca sử dụng xây dựng đƣợc. Những ngƣời kiểm tra sẽ kiểm tra các cài đặt để đảm bảo rằng các thành phần của mô hình cài đặt thực hiện đúng các ca sử dụng.