CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ PHÂN TÍCH, THIẾT KẾ PHẦN MỀM QUẢN LÍ HỒ SƠ KHÁCH HÀNG 1.1 Khái niệm cơ bản 1. Phần mềm máy tính (tiếng anh: Computer Software) hay gọi tắt là phần mềm (Software) là một tập hợp nững câu lệnh hoặc chỉ thị (instruction) được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấnđề cụ thể nào đó. Theo định nghĩa của nhà tin học người Mỹ Roger Pressman: “Phần mềm là một tổng thể bao gồm 3 yếu tố: Các chương trình máy tính, các cấu trúc dữ liệu, tài liệu hướng dẫn sử dụng phần mềm” • Chương trình máy tính: mã nguồn, mã máy. • Cấu trúc dữ liệu: cấu trúc làm việc (bộ nhớ trong) và cấu trúc lưu trữ (bộ nhớ ngoài).
• Các tài liệu liên quan: tài liệu hướng dẫn sử dụng (dành cho người dùng), tài liệu phát triển (dành cho người phát triển hệ thống), tài liệu tham khảo kỹ thuật (dành cho người bảo trì).2 Quản lý hồ sơ khách hàng Là phương pháp giúp các doanh nghiệp tiếp cận và giao tiếp với khách hàng một cách có hệ thống và hiệu quả, quản lý các thông tin của khách hàng như thông tin về tài khoản, nhu cầu, liên lạc và các vấn đề khác nhằm phục vụ khách hàng tốt hơn. Các mục tiêu tổng thể là tìm kiếm, thu hút, giành niềm tin khách hàng mới, duy trì những đối tác đã có, lôi kéo khách hàng cũ trở lại, giảm chi phí tiếp thị và mở rộng dịch vụ khách hàng. Việc đo lường và đánh giá mối quan hệ với khách hàng là rất quan trọng trong mục tiêu thực hiện chiến lược.3 Phần mềm quản lí hồ sơ khách hàng. Phần mềm quản lý hồ sơ khách hàng là công cụ ứng dụng Công nghệ thông tin vào công tác quản lý khách hàng, doanh nghiệp như quản lý thông tin, nhu cầu hàng hóa, tài khoản khách hàng…Việc dùng phần mềm quản lí khách hàng ngày nay càng phổ biến bởi nó giúp ích cho các doanh nghiệp rất nhiều, doanh nghiệp có thể nắm bắt được các hoạt động của khách hàng.2 Một số lý thuyết về phân tích, thiết kế phần mềm quản lí hồ sơ khách hàng 1.1 Quy trình xây dựng phần mềm Quy trình xây dựng phần mềm gồm có 6 giai đoạn: Phân tích và đặc tả yêu cầu phần mềm Thiết kế Lập trình Kiểm thử Cài đặt (Vận hành) Bảo trì Sơ đồ 2.1 Quy trình xây dựng phần mềm 1.1 Phân tích và đặc tả yêu cầu phần mềm - Phân tích và đặc tả yêu cầu là bản đặc tả các dịch vụ mà phần mềm cung cấp và các ràng buộc để xây dựng và vận hành phần mềm.
Mục đích của yêu cầu phần mềm là xác định được phần mềm đáp ứng được yêu cầu và mong muốn của khách hàng (người sử dụng phần mềm) - Quy trình xác định yêu cầu biến đổi phụ thuộc vào miền ứng dụng, con người và tổ chức xây dựng yêu cầu. Mô hình này cho phép việc xác định yêu cầu và cài đặt hệ thống được thực hiện cùng lúc. Xây dựng các mô hình phân tích về dữ liệu, chức năng và trạng thái.2 Thiết kế phần mềm - Thiết kế giao diện: giao diện người dùng cần phải được thiết kế sao cho phù hợp với kĩ năng, kinh nghiệm và sự trông đợi của người sử dụng nó. Giao diện đẹp, dễ hiểu, dễ sử dụng, tối thiểu hóa sự bất ngờ, có khả năng phục hồi và có tính đa dạng.
Thiết kế chương trình: Thiết kế nội dung chương trình mà không phải viết chương trình cụ thể. Nội dung của trong giai đoạn thiết kế gồm xác định cấu trúc tổng quát, phân định các module chương trình, xác định mối liên quan giữa các module, đặc tả các module chương trình, gộp các module thành chương trình và thiết kế các mẫu thử. - Thiết kế các tập tin dữ liệu: khi thiết kế phải đảm bảo sao cho các dữ liệu phải đầy đủ, không trùng lặp, việc truy cập đến các tập tin dữ liệu phải thuận tiện, tốc độ nhanh.3 Lập trình Lập trình là giai đoạn quan trọng, cần lựa chọn ngôn ngữ lập trình phù hợp để chuyển đổi từ thiết kế chi tiết sang mã lệnh. Phương pháp lập trình như: Lập trình tuyến tính, lập trình cấu trúc, lập trình hướng đối tượng.4 Kiểm thử Sau giai đoạn lập trình, kiểm thử là khâu không thể bỏ qua.
Kiểm thử là tiến hành xem xét, kiểm tra nhằm phát hiện lỗi phần mềm, xác minh phần mềm có đúng đặc tả, thiết kế và có đáp ứng nhu cầu người dùng, có hoạt động hiệu quả hay không.5 Cài đặt phần mềm Cài đặt phần mềm mới cho người sử dụng và hướng dẫn sử dụng phần mềm. Sau khi phần mềm được chuyển giao cho người sử dụng cần kèm theo tài liệu hướng dẫn sử dụng và tài liệu kỹ thuật.6 Bảo trì phần mềm Trong quá trình sử dụng, phần mềm sẽ cần phải cải tiến và điều chỉnh để phù hợp với những thay đổi về yêu cầu hệ thống. Tuỳ theo từng mô hình mà ta có thể phân chia các pha, các bước có thể có sự khác nhau.2 Các phương pháp phân tích thiết kế phần mềm Mục tiêu thiết kế là để tạo ra một mô hình biểu diễn của một thực thể mà sau này sẽ được xây dựng. Có nhiều chiến lược hỗ trợ cho quá trình thiết kế qua các phương pháp tiếp cận khác nhau.
Hai chiến lược thiết kế đang được dùng rộng rãi và cho thấy hiệu quả tích cực là thiết kế hướng chức năng và thiết kế hướng đối tượng. Thiết kế hướng chức năng Thiết kế hướng chức năng là một cách tiếp cận thiết kế phần mềm trong đó bản thiết kế được phân giải thành một bộ các mô-đun được tác động lẫn nhau, mà mỗi mô-đun có một chức năng được xác định rõ ràng. Người ta dùng các biểu đồ dòng dữ liệu mô tả việc xử lý dữ liệu logic, các lược đồ cấu trúc để chỉ ra cấu trúc của phần mềm và mối quan hệ giữa các thành phần. Trong thiết kế hướng chức năng, người ta dùng các biểu đồ luồng dữ liệu (mô tả việc xử lý dữ liệu), các lược đồ cấu trúc (nó chỉ ra cấu trúc của phần mềm) và các mô tả thiết kế chi tiết.
- Ưu điểm: + Tư duy phân tích thiết kế rõ ràng. + Chương trình sáng sủa dễ hiểu. + Phân tích được các chức năng của hệ thống. + Dễ theo dõi luồng dữ liệu.
6 Luan van - Nhược điểm: + Không hỗ trợ việc sử dụng lại. Các chương trình hướng cấu trúc phụ thuộc chặt chẽ vào cấu trúc dữ liệu và bài toán cụ thể, do đó không thể dùng lại modul nào đó trong phần mềm này cho phần mềm khác với các yêu cầu về dữ liệu khác. + Không phù hợp cho phát triển các phần mềm lớn. + Khó quản lý mối quan hệ giữa các modul và dễ gây ra lỗi trong phân tích cũng như khó kiểm thử và bảo trì.
Thiết kế hướng đối tượng Hệ thống được nhìn nhận như một bộ các đối tượng, phân tán, mỗi đối tượng có những thông tin trạng thái riêng của nó. Thiết kế hướng đối tượng là dựa trên việc che dấu thông tin do dữ liệu dung chung bị loại bỏ. Các đối tượng liên lạc với nhau bằng cách trao đổi thông báo. Các đối tượng là các thực thể độc lập, sẵn sàng thay đổi mà không ảnh hưởng tới các đối tượng khác.
Các đối tượng có thể phân tán và hành động tuần tự hoặc song song. - Ưu điểm + Dễ bảo trì và các đối tượng là độc lập. + Có thể dùng lại một số thành phần của đối tượng đã được thiết kế trước đó. + Thiết kế dễ hiểu: nhìn rõ được mối quan hệ giữa các thực thể - Nhược điểm + Cách nhìn tự nhiên nhiều hệ thống là cách nhìn chức năng nên việc thích nghi với cách nhìn đối tượng đôi khi là khó khăn.
Làm sao để tìm ra các đối tượng thích hợp trong một hệ thống cũng là một vấn đề khó khăn.3 Một số công cụ hỗ trợ thực hiện việc phân tích thiết kế phần mềm 1.1 Vài nét khái quát về ngôn ngữ mô hình hóa UML (Unified Modeling Language) UML là một ngôn ngữ mô hình hóa thống nhất bao gồm nhiều kí hiệu hình học, được phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống. Mô hình thường được mô tả trong ngôn ngữ trực quan, điều đó có nghĩa là đa phần các thông tin được thể hiện bằng các ký hiệu đồ họa và các kết nối giữa chúng, chỉ khi cần thiết một số thông tin mới được biểu diễn ở dạng văn bản.Việc biểu diễn phải tuân thủ theo các quy tắc về: Sự chính xác, đồng nhất, có thể hiểu được, dễ thay đổi và dễ dàng liên lạc với các mô hình khác. Mô hình hóa các hệ thống nhằm mục đích: - Hình dung một hệ thống theo thực tế hay theo mong muốn của người sử dụng - Chỉ rõ ra các cấu trúc hoặc ứng xử của hệ thống. 7 Luan van - Tạo một khuôn mẫu hướng dẫn nhà phát triển trong suốt quá trình xây dựng phần mềm - Ghi lại quyết định các nhà phát triển để sử dụng sau này.
Các thành phần mô hình chính trong UML Biểu đồ Use case ( Use case diagram ): Một biểu đồ ca sử dụng chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với ca sử dụng mà hệ thống cung cấp. Một ca sử dụng là một lời miêu tả của một chức năng mà hệ thống cung cấp. Để mô tả ca sử dụng người ta dùng tài liệu để miêu tả, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động. Các ca sử dụng được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân, không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao.
Các ca sử dụng định nghĩa các yêu cầu về mặt chức năng đối với hệ thống. • Các phần tử mô hình: - Tác nhân - Các usecase - Mối quan hệ giữa các usecase: Include (sử dụng), Extend (mở rộng), Generalization (kế thừa) Hình 1.1 Ví dụ biểu đồ Usecase về HTTT quản lí bán bảo hiểm Biểu đồ lớp (Class diagram ): Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống. Các lớp là đại diện cho các “đối tượng” được xử lý trong hệ thống. Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên kết, phụ thuộc, chuyên biệt hóa, hay đóng gói.