Phát triển hệ quản trị quan hệ khách hàng của doanh nghiệp dựa trên mô hình UML

  • Số trang: 151 |
  • Loại file: PDF |
  • Lượt xem: 13 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ --------------------------------- PHAN CHÍ HIẾU PHÁT TRIỂN HỆ QUẢN TRỊ QUAN HỆ KHÁCH HÀNG CỦA DOANH NGHIỆP DỰA TRÊN MÔ HÌNH UML LUẬN VĂN THẠC SĨ HÀ NỘI – 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ --------------------------------- PHAN CHÍ HIẾU PHÁT TRIỂN HỆ QUẢN TRỊ QUAN HỆ KHÁCH HÀNG CỦA DOANH NGHIỆP DỰA TRÊN MÔ HÌNH UML Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ HÀ NỘI – 2009 1 MỤC LỤC MỤC LỤC ...................................................................................................................... 0 DANH MỤC CÁC CHỮ VIẾT TẮT .............................................................................. 6 MỞ ĐẦU ........................................................................................................................ 7 CHƢƠNG I: MÔ HÌNH HÓA PHẦN MỀM DỰA TRÊN UML .................................... 9 I. Mô hình hóa phần mềm ............................................................................................... 9 1.1. Khái niệm mô hình hóa phần mềm ..................................................................... 9 1.2. Phƣơng pháp và các ngôn ngữ mô hình hoá ...................................................... 10 1.3. Các bƣớc của tiến trình phát triển phần mềm .................................................... 11 1.4. Đặc trƣng tiến trình phát triển phần mềm hƣớng đối tƣợng ............................... 12 1.4.1. Ca sử dụng điều khiển toàn bộ quá trình phát triển ...................................12 1.4.2. Quá trình phát triển lấy kiến trúc làm trung tâm .......................................13 1.4.3. Tiến trình phát triển là quá trình lặp và tăng dần .......................................14 1.5. Ý nghĩa khi xây dựng mô hình......................................................................... 15 II. Mô hình hóa phần mềm với UML ............................................................................ 17 2.1. Khái niệm UML ............................................................................................... 17 2.1.1. Định nghĩa ...............................................................................................17 2.1.2. Mục đích chính của UML[1] ....................................................................17 2.1.3. Quy trình phát triển phần mềm hợp nhất ..................................................17 2.2. UML và các giai đoạn phát triển phần mềm...................................................... 18 2.2.1. Giai đoạn nghiên cứu sơ bộ ......................................................................18 2.2.2. Giai đoạn phân tích ..................................................................................18 2.2.3. Giai đoạn thiết kế .....................................................................................19 2.2.4. Giai đoạn lập trình....................................................................................19 2.2.5. Kiểm thử ..................................................................................................19 2.3. Cấu trúc thành phần của UML .......................................................................... 20 2.3.1. Các khung nhìn ........................................................................................21 2.3.2. Các phần tử của mô hình ..........................................................................22 2.3.3. Các mối quan hệ.......................................................................................24 2.3.4. Các biểu đồ ..............................................................................................24 CHƢƠNG II: TỔNG QUAN VỀ BÀI TOÁN QUẢN TRỊ QUAN HỆ KHÁCH HÀNG26 I. Giới thiệu về bài toán quản trị quan hệ khách hàng(CRM) ........................................ 26 1.1. CRM trong hệ thống quản lý của doanh nghiệp ................................................ 26 2 1.2. Hiện trạng CRM ở Việt Nam ............................................................................ 28 1.3. Mô hình hệ thống CRM .................................................................................... 29 1.3.1. Mô hình CRM ..........................................................................................29 1.3.2. Đánh giá CRM .........................................................................................32 1.3.3. Đánh giá của CRM ...................................................................................34 1.4. Các chức năng của CRM .................................................................................. 36 1.4.1. Mô hình quản lý tổ chức...........................................................................36 1.4.2. Mô hình quản lý hợp đồng ......................................................................37 1.4.3. Mô hình quản lý bán hàng ........................................................................38 1.4.4. Mô hình quản lý khách hàng tiềm năng ....................................................38 1.4.5. Mô hình quản lý cơ hội ............................................................................40 1.4.6. Mô hình quản lý chiến dịch ......................................................................40 CHƢƠNG III: MÔ HÌNH HÓA PHÂN HỆ QUẢN LÝ KHÁCH HÀNG VỚI UML ... 41 I. Mô tả hoạt động nghiệp vụ quy trình quản lý khách hàng .......................................... 41 1.1. Đặc tả yêu cầu quản lý quan hệ khách hàng ...................................................... 41 1.1.1. Quy trình thêm mới tiềm năng ..................................................................41 1.1.2. Quy trình chuyển đổi tiềm năng ...............................................................41 1.1.3. Quy trình quản lý tổ chức .........................................................................41 1.1.4. Quy trình quản lý cơ hội...........................................................................42 1.1.5. Quy trình quản lý chiến dịch ....................................................................42 1.1.6. Quy trình quản lý hợp đồng ......................................................................43 1.2. Quy trình quản lý quan hệ khách hàng .............................................................. 44 1.2.1. Biểu đồ hoạt động thêm mới khách hàng tiềm năng .................................44 1.2.2. Biểu đồ hoạt động chuyển đồi tiềm năng ..................................................49 1.2.3. Biểu đồ hoạt động quản lý tổ chức ...........................................................61 1.2.4. Biểu đồ hoạt động quản lý Cơ hội ............................................................65 1.2.5. Biểu đồ hoạt động quản lý chiến dịch .......................................................69 1.2.6. Biểu đồ hoạt động quản lý hợp đồng ........................................................71 II. Mô hình ca sử dụng phân hệ quản trị quan hệ khách hàng ........................................ 74 2.1. Xác định tác nhân ............................................................................................. 74 2.2. Xác định ca sử dụng ......................................................................................... 74 2.3. Mô hình ca sử dụng mức gộp............................................................................ 76 2.3.1. Mô hình ca sử dụng mức gộp quy trình thêm mới tiềm năng ....................76 2.3.2. Mô hình ca sử dụng mức gộp quy trình chuyển đổi tiềm năng ..................77 3 2.3.3. Mô hình ca sử dụng mức gộp quy trình quản lý tổ chức ...........................78 2.3.4. Mô hình ca sử dụng mức gộp quy trình quản lý cơ hội .............................79 2.3.5. Mô hình ca sử dụng mức gộp quy trình quản lý chiến dịch .......................80 2.3.6. Mô hình ca sử dụng mức gộp quy trình quản lý hợp đồng ........................81 III. Mô tả chi tiết các ca sử dụng điển hình ................................................................... 82 3.1. Ca sử dụng cập nhật tổ chức ............................................................................. 82 3.1.1. Ca sử dụng thêm mới tổ chức ...................................................................83 3.1.2. Ca sử dụng sửa tổ chức ............................................................................84 3.1.3. Ca sử dụng xóa tổ chức ............................................................................84 3.1.4. Ca sử dụng tìm kiếm tổ chức ....................................................................85 3.1.5. Ca sử dụng thực hiện nghiệp vụ quản lý tổ chức.......................................85 3.2. Ca sử dụng cập nhật công việc của hợp đồng/dự án .......................................... 86 3.2.1. Ca sử dụng thêm mới công việc ...............................................................87 3.2.2. Ca sử dụng sửa công việc .........................................................................88 3.2.3. Ca sử dụng xóa công việc .........................................................................89 3.2.4. Ca sử dụng tìm kiếm công việc ................................................................90 3.2.5. Ca sử dụng quản lý nhiệm vụ ...................................................................90 3.3. Ca sử dụng cập nhập chuyển đổi tiềm năng ...................................................... 91 3.3.1. Ca sử dụng thêm khách hàng tiềm năng ...................................................92 3.3.2. Ca sử dụng chuyển đổi khách hàng tiềm năng ..........................................93 3.3.3. Ca sử dụng xóa tiềm năng ........................................................................93 3.3.4. Ca sử dụng tìm kiếm tiềm năng ................................................................94 IV. Mô hình phân tích nghiệp vụ quản lý khách hàng ................................................... 95 4.1. Ca sử dụng cập nhật tổ chức ............................................................................. 95 4.1.1. Mô hình khái niệm ...................................................................................95 4.1.2. Biểu đồ tuần tự .........................................................................................96 4.2. Ca sử dụng cập nhật các hoạt động của hợp đồng ............................................. 97 4.2.1. Mô hình khái niệm ...................................................................................97 4.2.2. Biểu đồ tuần tự .........................................................................................98 4.3. Ca sử dụng cập nhật chuyển đổi tiềm năng ....................................................... 99 4.3.1. Mô hình khái niệm ...................................................................................99 4.3.2. Biểu đồ tuần tự ....................................................................................... 100 CHƢƠNG IV: MÔ HÌNH HÓA PHÂN HỆ BÁN HÀNG VỚI UML ......................... 101 I. Mô tả hoạt động nghiệp vụ bán hàng ....................................................................... 101 4 1.1. Đặc tả yêu cầu ................................................................................................ 101 1.1.1. Quy trình bán hàng ................................................................................. 101 1.1.2. Quy trình mua hàng ................................................................................ 101 1.1.3. Quy trình bảo hành sản phẩm ................................................................. 101 1.2. Quy trình quản lý nghiệp vụ bán hàng ............................................................ 102 1.2.1. Biểu đồ hoạt động nghiệp vụ bán hàng ................................................... 102 1.2.2. Biểu đồ hoạt động nghiệp vụ mua hàng .................................................. 109 1.2.3. Biểu đồ hoạt động quản lý bảo hành sản phẩm ....................................... 116 II. Mô hình ca sử dụng nghiệp vụ bán hàng ................................................................ 120 2.1. Xác định tác nhân ........................................................................................... 120 2.2. Xác định ca sử dụng ....................................................................................... 120 2.3. Mô hình ca sử dụng mức gộp.......................................................................... 121 2.3.1. Mô hình ca sử dụng mức gộp quản lý bán hàng ...................................... 121 2.3.2. Mô hình ca sử dụng mức gộp quản lý thông tin mua hàng ...................... 122 2.3.3. Mô hình ca sử dụng mức gộp bảo hành sản phẩm................................... 123 III. Mô tả chi tiết các ca sử dụng điển hình ................................................................. 124 3.1. Ca sử dụng cập nhật bán hàng ........................................................................ 124 3.1.1. Ca sử dụng thêm mới đơn hàng .............................................................. 125 3.1.2. Ca sử dụng sửa thông tin trên đơn hàng .................................................. 125 3.1.3. Ca sử dụng xóa đơn hàng ....................................................................... 126 3.1.4. Ca sử dụng tìm kiếm đơn hàng ............................................................... 126 3.1.5. Ca sử dụng xuất kho ............................................................................... 127 3.2. Ca sử dụng cập nhật Yêu cầu mua hàng.......................................................... 127 3.2.1. Ca sử dụng thêm mới yêu cầu mua hàng ................................................ 128 3.2.2. Ca sử dụng sửa thông tin yêu cầu mua hàng ........................................... 129 3.2.3. Ca sử dụng xóa yêu cầu mua hàng.......................................................... 129 3.2.4. Ca sử dụng tìm kiếm yêu cầu mua hàng ................................................. 130 IV. Mô hình phân tích nghiệp vụ bán hàng ................................................................. 131 4.1. Ca sử dụng cập nhật bán hàng ........................................................................ 131 4.1.1. Mô hình khái niệm ................................................................................. 131 4.1.2. Biểu đồ tuần tự ....................................................................................... 132 4.2. Ca sử dụng cập nhật Yêu cầu mua hàng.......................................................... 133 4.2.1. Mô hình khái niệm ................................................................................. 133 4.1.2. Biểu đồ tuần tự ....................................................................................... 134 5 CHƢƠNG V: THỬ NGHIỆM .................................................................................... 135 KẾT LUẬN ................................................................................................................ 148 TÀI LIỆU THAM KHẢO .......................................................................................... 149 6 DANH MỤC CÁC CHỮ VIẾT TẮT CRM Customer Relationship Management - Quản tri ̣Quan Hệ Khách Hàng CSDL DN KH TC TC/DN UML Cơ sở dữ liệu Doanh nghiệp Khách hàng Tổ chức Tổ chức/Doanh nghiệp Unified Modeling Language – Ngôn ngữ mô hình hóa thống nhất 7 MỞ ĐẦU Tại Việt Nam, trong 10 năm trở lại đây, một số hệ thống quản lý đƣợc quan tâm triển khai trong tổ chức/doanh nghiệp(TC/DN) là: hệ thống quản lý chất lƣợng phù hợp với ISO 9000, hệ thống hoạch định nguồn lực doanh nghiệp (ERP) và mới đây là hệ thống quản trị quan hệ khách hàng (Customer Relationship Managemet - CRM). CRM là một thuật ngữ đã trở nên quen thuộc với nhiều doanh nghiệp, việc áp dụng CRM giúp các doanh nghiệp phát triển mối quan hệ của mình với khách hàng, dựa trên những thông tin có đƣợc về khách hàng, có thể đƣa ra những chiến lƣợc marketing, bán hàng và chăm sóc khách hàng phù hợp với từng đối tƣợng. Việc thiết lập CRM đã đƣợc khởi động từ giữa những năm 1980. Đó là khi các công ty lớn nhƣ Oracle và Sybase bắt đầu giới thiệu những cơ sở dữ liệu có khả năng quản lý hồ sơ và các thông tin về khách hàng. Đồng thời, các nhà phân tích trong lĩnh vực công nghiệp đã nêu lên tính cần thiết của một "cơ sở dữ liệu khách hàng thống nhất". Nhờ đó, những ngƣời trong lĩnh vực bán hàng, marketing và cung cấp dịch vụ có thể trao đổi thông tin về khách hàng với nhau một cách dễ dàng. Có thể thấy giá cả luôn là yếu tố quan trọng trong lựa chọn mua sắm của khách hàng, tuy nhiên nếu chỉ cung cấp sản phẩm với giá cả cạnh tranh, doanh nghiệp sẽ không thể giữ chân khách hàng lâu dài và cũng không thể có một lợi thế bền vững trƣớc đối thủ. Nhƣng nếu doanh nghiệp có lợi thế về mối quan hệ với khách hàng, chắc chắn họ sẽ có đƣợc thành công dễ dàng hơn. Chính vì vậy, doanh nghiệp luôn cần chú trọng đến việc phát triển mối quan hệ với khách hàng, mà CRM là một công cụ đắc lực giúp doanh nghiệp đạt đƣợc mục tiêu. Với những đặc điểm và lợi ích khi triển khai hê thống CRM mang lại, việc hiểu rõ, phân tích và thiết kế một hệ thống CRM hoàn chỉnh có ý nghĩa rất lớn đối với các công ty phần mềm muốn xây dựng hệ thống CRM để triển khai cho các doanh nghiệp. Đây là một vần đề có tính thực tiễn cao, tuy nhiên chƣa có nhiều đề tài nghiên cứu, phân tích và mô hình hóa thành một hệ thống hoàn chỉnh, nên tôi đã 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” làm đề tài luận văn của mình. 8 Cấu trúc của luận văn gồm những nội dung chính sau đây: 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 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.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: 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, nhiệm vụ hoặc quá trình xử lý các nhiệm vụ của hệ thống. Cấu trúc tĩnh (dữ liệu, thông tin đƣợc lƣu trữ, xử lý và các yếu tố tạo 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. 1.2. 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: 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. 1.3. 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 ngƣời dùng Tiến trình phát triển phần mềm Hệ thống 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ộ Bƣớc 1 bƣớc 2 Soạn thảo Bƣớc 3 Bƣớc 4 Xây dựng Bƣớc 5 == == Chuyên giao 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. 12 1.4. Đặ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.4.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 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. Do vậy, ta nói rằng: ca sử dụng điều khiển quá trình phát triển có nghĩa là quá trình phát triển tuân theo các luồng công việc đƣợc điều khiển bởi ca sử dụng. 1.4.2. Quá trình phát triển lấy kiến trúc làm trung tâm Vai trò của kiến trúc hệ thống phần mềm giống một khung nền dựa trên đó phần mềm đƣợc xây dựng và phát triển đến hoàn thiện. Khái niệm kiến trúc phần mềm chứa đựng những khía cạnh tĩnh và động có ý nghĩa nhất định đối với hệ thống. Nó đƣợc phát triển dựa theo yêu cầu của tổ chức, theo cảm nhận của ngƣời dùng và các tổ chức có liên quan khác. Mặt khác, nó cũng chịu ảnh hƣởng của rất nhiều nhân tố khác, chẳng hạn nhƣ phần mềm của hệ thống, các khối xây dựng dùng lại đƣợc có sẵn, các cân nhắc về điều kiện triển khai, các hệ thống có sẵn trong môi trƣờng tƣơng tác với nó, và cả các yêu cầu phi chức năng. Kiến trúc là một cái nhìn thiết kế tổng thể những đặc điểm quan trọng nhất về hệ thống phần mềm khi tạm bỏ qua các chi tiết. Mọi sản phẩm phần mềm đều bao gồm chức năng và hình thức thể hiện. Hai yếu tố này phải cân bằng với nhau để đem lại kết quả tốt nhất. Chức năng tƣơng ứng với ca sử dụng và hình thức thể hiện tƣơng ứng với kiến trúc. Do đó, việc lựa chọn các ca sử dụng để phát triển đƣợc định hƣớng theo kiến trúc và phải phù hợp với kiến trúc. Nói cách khác, kiến trúc phải cung cấp chỗ dựa cho việc thực hiện các ca sử dụng ngay khi bắt đầu tiến trình phát triển hệ thống và cả trong tƣơng lai. Để có đƣợc bản mẫu cho kiến trúc, ngƣời phân tích phải có hiểu biết chung về các chức năng chính, đó là các ca sử dụng chính yếu. Chúng là các ca sử dụng mang ý nghĩa nhất, tạo nên các chức năng chủ yếu của hệ thống và thƣờng ít thay đổi trong quá trình phát triển. 14 1.4.3. Tiến trình phát triển là quá trình lặp và tăng dần Việc phát triển một phần mềm nói chung đòi hỏi một số lớn công việc và có thể diễn ra trong một khoảng thời gian. Việc chia nhỏ toàn bộ công việc thành các phần nhỏ hoặc các dự án con là yêu cầu thiết thực. Mỗi dự án con là một bƣớc lặp và tạo nên một sự tăng trƣởng. Điều này dễ dàng thực hiện đƣợc khi phát triển phần mềm hƣớng đối tƣợng vì phần mềm đƣợc cấu thành từ các thành phần độc lập ghép nối lại với nhau. Để đạt hiệu quả nhất, các bƣớc lặp phải đƣợc điều khiển, tức là chúng phải đƣợc lựa chọn và tiến hành theo một cách có kế hoạch từ trƣớc. Lựa chọn cái gì cần cài đặt trong một bƣớc lặp dựa trên hai yếu tố sau: thứ nhất, bƣớc lặp phải liên quan tới một nhóm các ca sử dụng để mở rộng tính khả dụng của hệ thống khi phát triển. Thứ hai, bƣớc lặp phải giải quyết những rủi ro quan trọng nhất[5]. Bƣớc 1 Bƣớc 2 Bƣớc 3 Bƣớc 4 Bƣớc 5 Hình2 : Các ca sử dụng đƣợc bổ sung và triển khai tại mỗi bƣớc Mỗi bƣớc lặp tiếp đƣợc xây dựng trên cơ sở các sản phẩm thiết kế từ trạng thái mà nó vừa kết thúc ở bƣớc lặp trƣớc. Bởi vì là một dự án con, nên từ các ca sử dụng đã dùng, nó tiếp tục mở rộng việc thực hiện các công việc phân tích, thiết kế, cài đặt và kiểm thử đối với các chức năng còn lại đƣợc nắm bắt trong các ca sử dụng tiếp theo để đƣa chúng về dạng các mã nguồn thực thi đƣợc. Tuy nhiên, trong một vài bƣớc ban đầu, ngƣời phát triển có thể chỉ thay thế một thiết kế còn sơ bộ bằng một kiến trúc khác chi tiết hơn, phức tạp hơn, vì vậy có thể chƣa tạo ra sự tăng trƣởng của sản phẩm thiết kế. 15 Nhƣng ở các bƣớc sau, một sự tăng trƣởng của sản phẩm nói chung là tất yếu và cần thiết Trong mỗi bƣớc lặp, ngƣời thiết kế xác định các ca sử dụng liên quan, tạo lập một thiết kế dựa trên kiến trúc đã chọn, triển khai thiết kế dƣới dạng các thành phần, và kiểm tra mức độ tƣơng ứng giữa các thành phần và các ca sử dụng. Nếu một bƣớc lặp thỏa mãn đƣợc các mục đích của nó thì có thể chuyển sang bƣớc lặp tiếp theo. Nếu không, ngƣời thiết kế sẽ phải xem lại và thử một cách tiếp cận mới. Một dự án gọi là thành công nếu đƣợc tiến hành mà không trệch hƣớng nhiều so với kế hoạch đã đƣợc định ra. Tối thiểu hóa đƣợc các vấn đề còn chƣa đƣợc nhận thức chính là một trong các mục tiêu của việc giảm rủi ro. Một quá trình lặp có điều khiển sẽ mang lại rất nhiều lợi ích, đặc biệt giải quyết đƣợc những vấn đề liên quan đến các rủi ro. Những khái niệm – ca sử dụng điều khiển tiến trình, tập trung kiến trúc lặp và tăng dần – có mức độ quan trọng nhƣ nhau. Kiến trúc cung cấp cấu trúc mà theo đó chỉ dẫn công việc trong các bƣớc lặp. Trong khi đó ca sử dụng xác định mục tiêu và định hƣớng công việc cho mỗi vòng lặp. Thiếu một trong ba khái niệm này sẽ làm giảm nghiêm trọng giá trị của quá trình phát triển. Chính quá trình lặp làm dễ dàng cho hoạt động quản lý và giảm sự phức tạp của quá trình phát triển, nhờ vậy mà giảm bớt những rủi ro. 1.5. Ý nghĩa khi xây dựng mô hình Mô hình giúp ta hiểu và thực hiện đƣợc sự trừu tƣợng, tổng quát hoá các khái niệm cơ sở để giảm thiểu độ phức tạp của hệ thống. Qua mô hình chúng ta biết đƣợc hệ thống gồm những gì? và chúng hoạt động nhƣ thế nào. Do vậy, quá trình phát triển phần mềm là quá trình nhận thức và mô tả lại hệ thống. Vì vậy, việc mô hình hóa đúng sẽ giúp ta làm sáng tỏ những vấn đề phức tạp và cho ta cái nhìn thấu đáo về vấn đề cần giải quyết. Mô hình giúp chúng ta quan sát đƣợc hệ thống nhƣ nó vốn có trong thực tế hoặc nó phải có nhƣ ta mong muốn. Muốn hiểu và phát triển đƣợc hệ thống phần mềm theo yêu 16 cầu thực tế thì ta phải quan sát nó theo nhiều góc nhìn khác nhau: theo chức năng sử dụng, theo các thành phần logic. Mô hình cho phép ta đặc tả đƣợc cấu trúc và hành vi của hệ thống: + Đảm bảo hệ thống đạt đƣợc mục đích đã xác định trƣớc. Mọi mô hình đều đơn giản hoá thế giới thực, nhƣng phải đảm bảo sự đơn giản đó không loại bỏ đi những những yếu tố quan trọng. + Kiểm tra đƣợc các quy định về cú pháp, ngữ nghĩa về tính chặt chẽ và đầy đủ của mô hình, khẳng định đƣợc tính đúng đắn của thiết kế, phù hợp với yêu cầu của khách hàng. Nghĩa là, mô hình hoá là quá trình hoàn thiện và tiến hoá liên tục. Mô hình hóa nhằm tạo ra khuôn mẫu và hƣớng dẫn cách xây dựng hệ thống, cho phép thử nghiệm, mô phỏng và thực hiện, hoàn thiện theo mô hình. Đồng thời, mô hình là cơ sở để trao đổi, ghi lại những quyết định đã thực hiện trong nhóm tham gia dự án phát triển phần mềm. Mọi quan sát, mọi kết quả phân tích đều đƣợc ghi lại chi tiết để phục vụ cho cả quá trình phát triển phần mềm. 17 II. Mô hình hóa phần mềm với UML 2.1. Khái niệm UML 2.1.1. Định nghĩa UML là ngôn ngữ mô hình hoá, ngôn ngữ đặc tả và ngôn ngữ xây dựng mô hình trong quá trình phát triển phần mềm, đặc biệt là trong phân tích và thiết kế hệ thống hƣớng đối tƣợng. UML là ngôn ngữ hình thức, thống nhất và chuẩn hoá mô hình hệ thống một cách trực quan. Nghĩa là các thành phần trong mô hình đƣợc thể hiện bởi các ký hiệu đồ hoạ, biểu đồ và thể hiện đầy đủ mối quan hệ giữa chúng một cách thống nhất và có logic chặt chẽ[2]. 2.1.2. Mục đích chính của UML[1]  Mô hình hóa đƣợc các hệ thống và sử dụng đƣợc tất cả các khái niệm hƣớng đối tƣợng một cách thống nhất.  Cho phép đặc tả, hỗ trợ để đặc tả tƣờng minh mối quan hệ giữa các khái niệm cơ bản trong hệ thống, đồng thời mô tả đƣợc mọi trạng thái hoạt động của hệ thống đối tƣợng. Nghĩa là cho phép mô tả đƣợc cả mô hình tĩnh lẫn mô hình động một cách đầy đủ và trực quan.  Tận dụng đƣợc những khả năng sử dụng lại và kế thừa ở phạm vi diện rộng để xây dựng đƣợc những hệ thống phức tạp và nhạy cảm nhƣ: các hệ thống động, hệ thống thời gian thực, hệ thống nhúng thời gian thực...  Tạo ra những ngôn ngữ mô hình hoá sử dụng đƣợc cho cả ngƣời lẫn máy tính. 2.1.3. Quy trình phát triển phần mềm hợp nhất UML đƣợc phát triển để đặc tả trong quá trình phát triển phần mềm, nhằm mô hình hoá hệ thống. Quy trình phát triển phần mềm có sử dụng UML đƣợc gọi là quy trình phát triển phần mềm hợp nhất. Các đặc trƣng của quy trình hợp nhất  Quy trình hợp nhất bao gồm con ngƣời, dự án, sản phẩm, qui trình và công cụ. Con ngƣời là những ngƣời tham gia dự án để tạo ra sản phẩm phần mềm theo một quy trình với sự hỗ trợ của công cụ đƣợc cung cấp. 18  Quy trình hợp nhất là quy trình phát triển phần mềm đƣợc hƣớng dẫn bởi các ca sử dụng. Nghĩa là các yêu cầu của ngƣời sử dụng đƣợc mô tả trong các ca sử dụng, là chuỗi các hành động đƣợc thực hiện bởi hệ thống nhằm cung cấp các dịch vụ, các thông tin cho khách hàng. Các ca sử dụng bao gồm chuỗi các công việc đƣợc xem là nền tảng để tạo ra mô hình thiết kế và cài đặt hệ thống.  Quy trình hợp nhất cũng là quy trình tập trung vào kiến trúc, đƣợc lặp và phát triển tăng trƣởng liên tục.  Quy trình hợp nhất không chỉ tạo ra một hệ thống phần mềm hoàn chỉnh mà còn tạo ra một số sản phẩm trung gian nhƣ các mô hình: mô hình ca sử dụng, mô hình khái niệm, mô hình thiết kế, mô hình triển khai và mô hình trắc nghiệm. 2.2. UML và các giai đoạn phát triển phần mềm 2.2.1. Giai đoạn nghiên cứu sơ bộ UML đƣa ra khái niệm Ca sử dụng(Use Case) để nắm bắt các yêu cầu của ngƣời sử dụng. UML sử dụng biểu đồ Use case để nêu bật mối quan hệ cũng nhƣ sự giao tiếp với hệ thống. Qua phƣơng pháp mô hình hóa Use case, các tác nhân(Actor) bên ngoài quan tâm đến hệ thống sẽ đƣợc mô hình hóa song song với chức năng mà họ đòi hỏi từ phía hệ thống. Các tác nhân và các Use case đƣợc mô hình hóa cùng các mối quan hệ và đƣợc miêu tả trong biểu đồ Use case của UML. Mỗi một Use case đƣợc mô tả trong tài liệu, và nó sẽ đặc tả các yêu cầu của ngƣời dùng. 2.2.2. Giai đoạn phân tích Giai đoạn phân tích quan tâm đến quá trình trừu tƣợng hóa đầu tiên (các lớp và các đối tƣợng) cũng nhƣ cơ chế hiện hữu trong phạm vi vấn đề. Sau khi nhà phân tích đã nhận biết đƣợc các lớp thành phần của mô hình cũng nhƣ mối quan hệ giữa chúng với nhau, các lớp cùng các mối quan hệ đó sẽ đƣợc miêu tả bằng công cụ biểu đồ lớp của UML. Sự cộng tác giữa các lớp nhằm thực hiện các Use case cũng sẽ đƣợc miêu tả nhờ vào các mô hình động (dynamic models) của UML. Trong giai đoạn phân tích, chỉ duy nhất các lớp có tồn tại trong phạm vi các khái niệm đời thực là đƣợc mô hình hóa. Các
- Xem thêm -