CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ XÂY DỰNG PHẦN MỀM QUẢN LÝ NHÂN SỰ 1.1 Tổng quan về hệ thống thông tin quản lý 1.1 Khái niệm về hệ thống thông tin quản lý 1.1 Hệ thống và hệ thống quản lý Hệ thống là tập hợp các phần tử có quan hệ hữu cơ với nhau, tác động chi phối lẫn nhau theo các quy luật nhất định để trở thành một chỉnh thể. Hệ thống quản lý [5] là tập hợp các yếu tố có liên quan hoặc tương tác lẫn nhau của tổ chức để thiết lập chính sách, mục tiêu và các quá trình để đạt được các mục tiêu đó. Hệ thống thông tin quản lý Hệ thống thông tin quản lý là hệ thống cung cấp thông tin [6] cho công tác quản lý của tổ chức. Hệ thống bao gồm con người, thiết bị và quy trình thu thập, phân tích, đánh giá và phân phối những thông tin cần thiết, kịp thời, chính xác cho những người soạn thảo các quyết định trong tổ chức.
Các loại thông tin quản lý Có 3 loại thông tin quản lý trong một tổ chức bao gồm: - Thông tin chiến lược: là thông tin được sử dụng trong các chiến lược lâu dài của doanh nghiệp nhằm đánh giá và dự đoán các kết quả trong tương lai. - Thông tin chiến thuật: là thông tin được sử dụng trong các chiến lược giới hạn thời gian, các dữ liệu này phải cung cấp định kỳ nhằm phục vụ cho ban quản lý. - Thông tin điều hành: là thông tin được phân tích chi tiết nhằm phục vụ cho công tác điều hành trong doanh nghiệp. Cấu trúc hệ thống thông tin quản lý Hệ thống thông tin quản lý [7] có cấu trúc gồm có 4 hệ thống con như sau: SVTH: Nguyễn Văn Nhật – K53 THKT 5 Khoá luận tốt nghiệp GVHD:TS.Nguyễn Minh Đức - Hệ thống ghi chép nội bộ: hệ thống này thu thập các số liệu để đảm bảo nhiệm vụ cung cấp cho doanh nghiệp, đồng thời hệ thống này được doanh nghiệp chú trọng phát triển để đảm bảo số liệu hiện tại được cập nhập nhanh chóng.
- Hệ thống tình báo: hệ thống này chứa các thông tin theo dõi các hoạt động trong công ty và hiện trạng kinh doanh của doanh nghiệp để đảm bảo cung cấp thông tin hiện thời giúp doanh nghiệp giải quyết các vấn đề một cách nhanh chóng. - Hệ thống nghiên cứu thông tin: hệ thống này thông qua các thông tin thu thập được cung cấp cho doanh nghiệp để giải quyết các vấn đề gặp phải trong doanh nghiệp. - Hệ thống hỗ trợ quyết định: hệ thống này gồm các chức năng, phương pháp thống kê và xây dựng mô hình để doanh nghiệp nghiên cứu và đưa ra các giải pháp chiến lược hợp lý. Quy trình phát triển hệ thống thông tin quản lý Quy trình phát triển hệ thống thông tin quản lý [8] là một tập hợp bao gồm nhiều chức năng thực hiện các hoạt động.
áp dụng các phương pháp và tiến hành thí nghiệm kết hợp với trí óc của con người để giúp hệ thống ngày càng phát triển. Được sử dụng rộng rãi trong các hoạt động của lĩnh vực công nghệ phần mềm, mô hình thác nước đang trở nên phổ biến hơn từng ngày. Mô hình thác nước giúp tìm hiểu sâu vào sự phát triển của hệ thống, từ đó đưa ra các phương pháp thực hiện các chức năng trong công nghệ phần mềm được tối ưu hơn. Các hoạt động trong mô hình thác nước được chia thành các pha khác nhau với kết quả của pha này là đầu vào của pha kia.
- Ưu điểm + Sử dụng dễ dàng, giúp người dùng có thể không qua đào tạo vẫn dùng được và tạo điều kiện thuận lợi trong công tác quản lý + Mô hình ba lớp phù hợp hơn với các dự án nhỏ + Dự đoán thời gian và chi phí tương đối chính xác + Quan sát được các giai đoạn thực hiện rất rõ ràng - Nhược điểm: SVTH: Nguyễn Văn Nhật – K53 THKT 6 Khoá luận tốt nghiệp GVHD:TS.Nguyễn Minh Đức + Ngay từ đầu phải xác định các yêu cầu chức năng rõ ràng + Nguy cơ về rủi ro rất cao và không thể trở lại từ đầu + Dự án phải được thiết kế tỉ mỉ ngay từ bắt đầu thực hiện dự án Hình 1.1 Mô hình thác nước (nguồn: https://trantronglekhanh.com/ ) Mô hình thác nước [9] có 6 giai đoạn và được mô tả như sau: – Khảo sát: Ở giai đoạn đầu tiên này quá trình thực hiện nhiệm vụ tiếp cận hơn với các khía cạnh của bài toán để hiểu sâu hơn về tình trạng hiện tại giúp giải quyết vấn đề dễ dàng hơn. – Xác định yêu cầu: giai đoạn tiếp theo này đóng vai trò vô cùng quan trọng, yêu cầu được chia thành 2 loại yêu cầu chức năng và phi chức năng. Công tác phát hiện các yêu cầu diễn ra gặp nhiều khó khăn vì để hiểu được yêu cầu là việc rất phức tạp. Vì các yêu cầu quyết định tính chất và mục đích mà phần mềm hướng đến để đảm bảo nhu cầu của khách hàng và phần mềm.
– Phân tích: là giai đoạn đảm bảo các yêu cầu được tập hợp với nhau và đưa ra chiến lược đưa các yêu cầu này tích hợp vào phần mềm. Quá trình phân tích yêu cầu SVTH: Nguyễn Văn Nhật – K53 THKT 7 Khoá luận tốt nghiệp GVHD:TS.Nguyễn Minh Đức giúp hiểu sâu hơn về yêu cầu của khách hàng nhằm mục đích tạo phần mềm đúng theo yêu cầu của khách hàng. Nên trong giai đoạn này cần tiếp cận nhiều hơn với khách hàng là rất cần thiết. Giai đoạn này là bao gồm các nhiệm vụ phân tích yêu cầu và mô hình hoá yêu cầu.
– Thiết kế: là giai đoạn tiến hành thiết kế giao diện và các chức năng của phần mềm. Các yêu cầu được cập nhập liên tục để thực hiện phân tích và đánh giá để đảm bảo chất lượng của phần mềm. Ở giai đoạn này sẽ thiết kế các thuật toán, thiết kế mô hình dữ liệu để cho ra một mô hình dữ liệu chi tiết. – Cài đặt: ở giai đoạn này đảm bảo nội dung lập trình hệ thống phần mềm, xác định và yêu cầu hệ thống chuyển sang hình thức mã máy.
Dựa vào thiết kế ở bước trên, bước này chính thức triển khai xây dựng hệ thống. – Vận hành và bảo trì: ở giai đoạn này sẽ tiến hành kiểm thử khi phần mềm được hoàn thành và thêm vào hệ thống, giai đoạn này đảm bảo phần mềm thực hiện tốt nhiệm vụ trên và mang lại nhiều hiệu quả. Kiểm thử dùng để xác định 2 mục tiêu bao gồm hiệu quả bên trong và hiệu quả bên ngoài. Hiệu quả bên trong phải thực hiện được cả mã máy hiệu quả, hiểu quả bên ngoài là phần mềm phải được triển khai như trên thiết kế trước đó.
Thông thường, các phần mềm sau khi hoàn thiện không hoàn toàn chính xác như kế hoạch đã triển khai. Vì vậy giai đoạn kiểm thử mục đích để kiểm tra phần mềm và tìm kiếm lỗi qua nhiều bước.2 Ngôn ngữ lập trình C# 1.1 Giới thiệu về ngôn ngữ lập trình C# C# (hay C sharp) là một ngôn ngữ lập trình đơn giản [10], được phát triển bởi đội ngũ kỹ sư của Microsoft vào năm 2000, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java. SVTH: Nguyễn Văn Nhật – K53 THKT 8 Khoá luận tốt nghiệp GVHD:TS.Nguyễn Minh Đức Hình 1.2: Ngôn ngữ C# (Nguồn: https://thelittlecoder.com/ ) C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.
Với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng Windows Forms hay WPF (Windows Presentation Foundation), trở nên rất dễ dàng. Ngoài ra C# là một ngôn ngữ khá tốt cho người mới học lập trình bởi vì nó rất mạnh, không nhiều lệnh và học nhanh. Có hỗ trợ mạnh mẽ về .NET Framework cho nên việc tạo và lập trình ứng dựng và phần mềm dựa trên Windows Froms sẽ đơn giản hơn những ngôn ngữ khác.2 Các đặc điểm của ngôn ngữ C# C# là ngôn ngữ đơn giản C# là ngôn ngữ hiện đại C# là ngôn ngữ có ít từ khóa C# là ngôn ngữ hướng đối tượng C# sẽ trở nên phổ biến C# là ngôn ngữ mạnh mẽ và mềm dẻo C# là ngôn ngữ hướng module 1.3 Một số ưu điểm khác của ngôn ngữ C# Có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng khá dễ dàng tiếp cận và học nhanh với C#. SVTH: Nguyễn Văn Nhật – K53 THKT 9 Khoá luận tốt nghiệp GVHD:TS.Nguyễn Minh Đức Có thể biên dịch trên nhiều nền tảng máy tính khác nhau.
Được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng những ưu điểm của ngôn ngữ đó. Là một phần của .NET Framework nên được sự chống lưng khá lớn đến từ bộ phận này. Có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ.4 Mô hình ba lớp trong C# Mô hình 3 lớp hay còn được gọi là [11] mô hình Three Layer(3-Layer), mô hình này ra đời nhằm phân chia các thành phần trong hệ thống, các thành phần cùng chức năng sẽ được nhóm lại với nhau và phân chia công việc cho từng nhóm để dữ liệu không bị chồng chéo và chạy lộn xộn.3: Mô hình ba lớp (nguồn: https://viblo.asia/ ) Mô hình 3-layer gồm có 3 phần chính: Presentation Layer (GUI) Lớp này có nhiệm vụ chính là giao tiếp với người dùng. Nó gồm các thành phần giao diện ( winform, webform, …) và thực hiện các công việc như nhập liệu, hiển thị dữ liệu, kiểm tra tính đúng đắn dữ liệu trước khi gọi lớp Business Logic Layer (BLL).
Business Logic Layer (BLL) Layer này phân ra 2 thành nhiệm vụ: Đây là nơi đáp ứng các yêu cầu thao tác dữ liệu của GUI layer, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL. SVTH: Nguyễn Văn Nhật – K53 THKT 10 Khoá luận tốt nghiệp GVHD:TS.Nguyễn Minh Đức Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer. Data Access Layer (DAL) Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm, thêm, xóa, sửa,…).