Chương 1: Tổng quan vấn đề nghiên cứu Chương 2: Cơ sở lý luận và thực trạng của vấn đề nghiên cứu Chương 3: Định hướng phát triển và đề xuất giải pháp phân tích và thiết kế phần mềm HiStaff phân hệ Hồ sơ 6 CHƯƠNG II: CƠ SỞ LÝ LUẬN VÀ THỰC TRẠNG CỦA VẤN ĐỀ NGHIÊN CỨU 2. Các khái niệm cơ bản Hệ thống là một tập hợp có tổ chức gồm nhiều phần tử có các mối quan hệ ràng buộc lẫn nhau và cùng hoạt động hướng tới một mục tiêu chung. Hệ thống thông tin là một tập hợp và kết hợp của các phần cứng, phần mềm và các hệ mạng truyền thông được xây dựng và sử dụng để thu thập, tạo, tái tạo, phân phối và chia sẻ các dữ liệu, thông tin và tri thức nhằm phục vụ các mục tiêu của tổ chức. Hệ thống thông tin là phương tiện để trao đổi thông tin với môi trường bên ngoài và là cầu nối để liên lạc giữa các bộ phận trong một tổ chức nó bao gồm: - Thu thập dữ liệu.
- Xử lý thông tin. - Truyền thông tin. Hệ thống thông tin quản lý là một hệ thống có một mục đích mang lại lợi nhuận hoặc lợi ích nào đó. Đặc điểm của hệ thống là có sự tham gia của con người và có trao đổi thông tin.
Đặc điểm của hệ thống là có sự tham gia của con người và có trao đổi thông tin. Hệ thống thông tin quản lý được chia thành hai hệ thống con: - Hệ tác nghiệp (trực tiếp sản xuất): Gòm con người, phương tiện, Phương pháp trực tiếp thực hiện mục tiêu đã đề ra. - Hệ quản lý (gián tiếp sản xuất): gồm con người, phương tiện, phương pháp cho phép điều khiển hoạt động của hệ thống. Hệ này chia thành hai hệ con: Hệ quyết định: đưa ra các quyết định.
Hệ xử lý thông tin: xử lý các thông tin. Một hệ thống thông tin quản lý phải hỗ trợ cho các nhà quản lý để họ có thể đưa ra những sách lược, chiến lược trong việc chỉ đạo. Chu trình phát triển hệ thống Vòng đời hệ thống (chu kỳ sống của phần mềm) là thời kỳ tính từ khi phần mềm được sinh ra cho đến khi chết đi bao gồm: hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng, loại bỏ. 7 Chu trình phát triển hệ thống: là sự tiếp nối các thời kỳ trong phát triển hệ thống.
Nó được phân chia thành các pha chính: phân tích, thiết kế, chế tạo, kiểm thử, bảo trì. Một số mô hình phát triển hệ thống bao gồm: - Mô hình thác nước: quá trình phát triển phần mềm được chia thành dãy các pha liên tiếp từ phân tích yêu cầu, phân tích, thiết kế hệ thống, lập trình dến kiểm thử và triển khai hệ thống. Pha sau chỉ được bắt đầu khi pha trước đã hoàn thành. Mô hình này được thiết lập theo hướng tiếp cận hướng chức năng và phù hợp cho những dự án nhỏ, ít phức tạp.
- Mô hình xoắn ốc: quá trình phát triển được chia thành nhiều thời kì, mỗi thời kì được bắt đầu bằng việc phân tích, rồi tạo nguyên mẫu, các công đoạn để cải tạo, duyệt lại và cứ thế tiếp tục cho tới khi đạt được mục đích - Mô hình bản mẫu nhanh: phát triển càng nhanh càng tốt một hệ thống rồi cải tiến hệ thống đó cho tới khi đáp ứng các yêu cầu của người sử dụng. Các phương pháp tiếp cận trong phân tích và thiết kế hệ thống Để thực hiện được một dự án xây dựng, phát triển hệ thống thì vấn đề quan trọng đầu tiên là phải chọn được một phương pháp tiếp cận phù hợp. Có hai cách tiếp cận cơ bản để phát triển phần mềm là: cách tiếp cận hướng chức năng và cách tiếp cận hướng đối tượng. Hướng tiếp cận hướng chức năng.
Đặc trưng của phương pháp hướng cấu trúc là phân chia chương trình chính thành nhiều chương trình con, mỗi chương trình con nhằm đến thực hiện một công việc xác định. Cách thực hiện của phương pháp hướng chức năng là phương pháp thiết kế từ trên xuống (top-down). Phương pháp này tiến hành phân rã bài toán thành các bài toán nhỏ hơn, rồi tiếp tục phân rã các bài toán con cho đến khi nhận được bài toán có thể cài đặt được ngay sử dụng các hàm ngôn ngữ lập trình hướng cấu trúc. Phương pháp tiếp cận hướng chức năng có các đặc điểm: - Dựa vào các chức năng, nhiệm vụ là chính: khi khảo sát, phân tích một hệ thống thường tập trung vào các nhiệm vụ mà hệ thống cần thực hiện, tập trung trước hết vào việc nghiên cứu các yêu cầu của bài toán để xác định các chức năng chính của hệ thống.
Như vậy, khi đã nghiên cứu để hiểu được rõ bài toán và xác định được các yêu cầu của hệ thống thì các chức năng, nhiệm vụ của hệ thống gần như là 8 không thay đổi trong suốt quá trình phát triển tiếp theo ngoại trừ khi cần phải khảo sát lại bài toán. - Phân rã các chức năng và làm mịn dần theo cách thực hiện từ trên xuống: sử dụng nguyên lý chia để trị, phân tách nhỏ các chức năng chính thành các chức năng đơn giản hơn theo cách từ trên xuống. Quá trình này được lặp lại cho đến khi thu được những chức năng con tương đối đơn giản. - Các đơn thể chức năng trao đổi với nhau bằng cách truyền tham số hoặc sử dụng dữ liệu chung: một hệ thống phần mềm bao giờ cũng phải được xem như là một thể thống nhất, do đó các đơn thể chức năng phải có quan hệ trao đổi thông tin, dữ liệu với nhau.
Trong một chương trình gồm nhiều hàm muốn trao đổi dữ liệu được với nhau thì nhất thiết phải sử dụng dữ liệu chung hoặc liên kết với nhau bằng cách truyền tham biến trên cơ sở sử dụng các biến toàn cục. Mỗi đơn thể chức năng không những chỉ thao tác, xử lý trên những biến cục bộ mà còn phải sử dụng các biến chung, thường đó là các biến toàn cục. - Tính mở và thích nghi của hệ thống bị hạn chế: hệ thống được xây dựng dựa vào chức năng là chính, mà trong thực tế chức năng, nhiệm vụ của hệ thống lại hay thay đổi. Để đảm bảo cho hệ thống thực hiện được công việc theo yêu cầu, nhất là những yêu cầu về mặt chức năng đó lại bị thay đổi là công việc tốn kém, phức tạp.
Ngoài ra, các bộ phận chức năng của hệ thống phải sử dụng biến toàn cục để trao đổi với nhau, do vậy khả năng thay đổi, mở rộng của chúng và cả hệ thống bị hạn chế. - Khả năng tái sử dụng bị hạn chế và không có cơ chế kế thừa: cách tiếp cận hướng chức năng không hỗ trợ tính kế thừa. Hướng tiếp cận hướng đối tượng. Cách tiếp cận hướng đối tượng là một lối tư duy theo cách ánh xạ các thành phần trong bài toán vào các đối tượng ngoài đời thực.
Với cách tiếp cận này, một hệ thống được chia tương ứng thành các thành phần nhỏ gọi là các đối tượng, mỗi đối tượng bao gồm đầy đủ cả dữ liệu và hành động liên quan đến đối tượng đó. Các đối tượng trong một hệ thống tương đối độc lập với nhau và phần mềm sẽ được xây dựng bằng cách kết hợp các đối tượng đó lại với nhau thông qua các mối quan hệ và tương tác giữa chúng. Phương pháp tiếp cận hướng đối tượng có các đặc điểm: 9 - Đặt trọng tâm vào dữ liệu: khi khảo sát, phân tích một hệ thống thay vì tập trung và các chức năng, nhiệm vụ của nó việc khảo sát, phân tích tập trung vào các thực thể hay còn gọi là đối tượng. - Xem hệ thống như là các thực thể, đối tượng: phân tách hệ thống thành các đơn thể đơn giản hơn.
Quá trình này được lặp lại cho đến khi thu được những đơn thể tương đối đơn giản, dễ hiểu và thực hiện cài đặt chúng mà không làm tăng thêm độ phức tạp khi liên kết chúng trong hệ thống. - Các lớp trao đổi với nhau bằng các thông điệp: trong mô hình đối tượng, khái niệm lớp là cấu trúc, một bản mẫu mô tả hợp nhất các thuộc tính, hay dữ liệu thành phần thể hiện các đặc tính riêng của từng đối tượng, các phương thức, hay hàm thành phần thao tác trên các dữ liệu riêng, là các giao diện trao đổi với các đối tượng khác để xác định hành vi, mối quan hệ của chúng trong hệ thống hướng đối tượng. Khi có yêu cầu dữ liệu để thực hiện một nhiệm vụ nào đó, một đối tượng sẽ gửi một thông điệp cho đối tượng khác. - Tính mở và thích nghi của hệ thống cao hơn: hệ thống được xây dựng dựa vào các lớp đối tượng nên khi có yêu cầu thay đổi thì chỉ thay đổi những lớp đối tượng có liên quan hoặc bổ sung thêm một số lớp đối tượng mới (có thể kế thừa từ những lớp có trước) để thực thi những nhiệm vụ mới mà hệ thống cần thực hiện.
- Hỗ trợ sử dụng lại và có cơ chế kế thừa: Các lớp đối tượng được tổ chức theo cơ chế đóng gói và che giấu thông tin, điều này làm tăng thêm hiệu quả của kế thừa và độ tin cậy của hệ thống. Vòng đời phát triển phần mềm hướng đối tượng cũng có các pha tương tự như các vòng đời phát triển phần mềm nói chung. Các pha cơ bản đặc trưng trong phát triển phần mềm hướng đối tượng bao gồm: Phân tích hướng đối tượng: xây dựng một mô hình chính xác các để mô tả hệ thống cần xây dựng là gì. Thành phần của mô hình này là các đối tượng gắn với hệ thống thực.
- Thiết kế hướng đối tượng: Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác, mỗi đối tượng trong đó là thực thể của một lớp. Kết quả của pha thiết kế cho biết hệ thống sẽ được xây dựng như thế nào qua các bản thiết kế kiến trúc và thiết kế chi tiết. 10 - Lập trình và tích hợp: thực hiện bản thiết kế hướng đối tượng bằng cách sử dụng các ngôn ngữ lập trình hướng đối tượng (C++, Java. Pha phân tích: Xây dựng biểu đồ use case: dựa trên tập yêu cầu ban đầu, người phân tích tiến hành xác định các tác nhân, use case và các quan hệ giữa các use case để mô tả lại các chức năng của hệ thống.
Đi kèm với mỗi use case là kịch bản mô tả hoạt động của hệ thống trong mỗi use case cụ thể. Xây dựng biểu đồ lớp: xác định tên các lớp, các thuộc tính của lớp, một số phương thức và mối quan hệ cơ bản tong sơ đồ lớp.