Chương I: Tổng Quan Đề Tài 1.1 Lý do chọn đề tài Xuất phát từ nhu cầu thực tế để quản lý nhân sự, quản lý nhân viên của công ty. Yêu cầu một phần mềm quản lý để hỗ trợ ban lãnh đạo và nhân viên trong công ty dễ dàng quản lý các công việc, bảng lương, thông tin nhân viên, công tác, khen thưởng, báo cáo hàng tháng, hàng quý. Với giao diện đơn giản dễ sử dụng nhưng đầy đủ các tính năng cần thiết phù hợp với nhu cầu của công ty. Vì sao phải dùng phần mềm quản lý nhân sự thay cho cách quản lý truyền thống? Là vì cách quản lý truyền thống không đảm bảo lưu trữ cũng như truy xuất thông tin nhân viên, hợp đồng, bảo hiểm, mặt khác trên giấy tờ hồ sơ viết tay (đánh máy) nếu không được bảo quản kỹ sẽ dẫn đến việc mất mát hồ sơ về nhân viên, hợp đồng…v.
Chính vì thế giải pháp thay thế bằng một phần mềm website quản lý nhân sự là phù hợp và tiết kiệm. Với nền tảng Active Server Pages (ASP) .Net và cơ sở dữ liệu (csdl) Structured Query Language (SQL), giúp dễ dàng lưu trữ và dễ dàng truy xuất nhanh đến bất kỳ thông tin, hợp đồng, bảo hiểm của nhân viên. Phần mềm quản lý nhân sự HRM-BlueBerry với kỳ vọng mang lại một hệ thống quản lý nhân sự cho các công ty một cách tối ưu hóa nhất, hiệu quả nhất. Đồng thời giúp công ty có thể quản lý nhân viên dễ dàng, hỗ trợ công ty trong quá trình quản lý nhân sự.2 Mục tiêu, chức năng hệ thống - Mục tiêu: Quản lý hệ thống thông tin nhân viên, phòng ban, quản lý công việc, hình ảnh, quản lý thông tin liên hệ, quản lý tài khoản người dùng.
Bao gồm: + Quản lý thông tin các phòng ban, nhân viên thuộc phòng ban. + Quản lý tạo mới, chỉnh sửa nhân viên. + Truy xuất, tìm kiếm nhân viên. + Phân quyền tài khoản nhân viên.
Phan Ngọc Hoàng 14 SVTH: Mai Đức Hiền Đồ án tốt nghiệp đại học – Khóa 2017 – 2021 Trường ĐHBRVT + Quản lý công việc. + Lưu trữ vào cơ sở dữ liệu. + Hạn chế lưu trữ trên giấy tờ viết tay(đánh máy). + Tối ưu hóa chi phí bảo trì website.
- Chức năng: + Quản lý người dùng. + Quản lý danh sách phòng ban. + Quản lý thông tin nhân viên. + Quản lý liên hệ(giúp liên hệ nhanh chóng một nhân viên cụ thể nào đó).
+ Quản lý công việc. + Quản lý hiệu suất công việc.3 Mô tả bài toán Mục đích của phần mềm là quản lý nhân sự về thông tin, người thân, liên lạc, hồ sơ của nhân viên sau khi vào công ty làm việc, quá trình làm việc của nhân viên, nhân viên thuộc phòng ban nào và chức vụ đang làm là gì. Quản lý việc tương tác của nhân viên, ví dụ như một người dùng khi đăng nhập vào xem công việc được giao. Quản trị người dùng là một chức năng giúp tài khoản admin khi truy cập sẽ được phép thêm, xóa, sửa thông tin nhân viên, cũng như tạo một tài khoản cho phép nhân viên đó có thể đăng nhập vào website.
Phần mềm tương thích win 7,8,10. Giao diện đơn giản, ngôn ngữ tiếng việt dễ sử dụng. Phan Ngọc Hoàng 15 SVTH: Mai Đức Hiền Đồ án tốt nghiệp đại học – Khóa 2017 – 2021 Trường ĐHBRVT Chương II: Lý Thuyết Nền Tảng 2.1 Giới thiệu ASP.NET core là gì ? ASP.NET Core là một tập hợp các thư viện chuẩn như một framework để xây dựng ứng dụng web.NET Core không phải là phiên bản tiếp theo của ASP. Nó là một cái tên mới được xây dựng từ đầu.
Nó có một sự thay đổi lớn về kiến trúc và kết quả là nó gọn hơn, phân chia module tốt hơn.NET Core có thể chạy trên cả .NET Core hoặc full .NET Core là một framework mã nguồn mở, hiệu suất cao và đa nền tảng dùng để xây dựng các ứng dụng hiện đại có kết nối với Internet và dựa trên mô hình đám mây.NET Core được phát triển bởi tập đoàn Microsoft và cộng đồng lập trình viên.NET Core cũng là một framework kiểu module có khả năng thực thi trên framework .NET, Windows và .NET Core đa nền tảng. Hiện tại, nó bao gồm MVC framework được kết hợp các tính năng của MVC và Web API thành một web framework duy nhất.2 Ưu điểm của ASP.NET core ASP.NET Core đi kèm với những ưu điểm sau: + ASP.NET Core có một số thay đổi kiến trúc dẫn đến modular framework nhỏ hơn.NET Core không còn dựa trên System. Nó dựa trên một tập hợp nhiều yếu tố của Nuget packages. + Điều này cho phép bạn tối ưu ứng dụng của mình chỉ cần những NuGet packages cần thiết.
+ Lợi ích của diện tích bề mặt ứng dụng nhỏ hơn thì bảo mật chặt chẽ hơn, giảm dịch vụ, cải thiện hiệu suất và giảm chi phí.NET Core, bạn có thể nhận được các cải tiến sau: + Xây dựng và chạy các ứng dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux. Phan Ngọc Hoàng 16 SVTH: Mai Đức Hiền Đồ án tốt nghiệp đại học – Khóa 2017 – 2021 Trường ĐHBRVT + Được xây dựng trên .NET Core, hỗ trợ side-by-side app versioning. + Công cụ mới giúp đơn giản hóa việc phát triển web hiện đại. + Liên kết đơn các web stack như Web UI và API Web.
+ Cấu hình dựa trên môi trường đám mây sẵn có. + Được xây dựng dựa trên cho DI (Dependency Injection). + Tag Helpers làm cho các Razor makup trở nên tự nhiên hơn với HTML. + Có khả năng host trên IIS hoặc self-host.2 Giới thiệu mô hình MVC 2.1 Mô hình MVC là gì ? MVC là từ viết tắt bởi 3 từ Model – View – Controller.
Đây là mô hình thiết kế sử dụng trong kỹ thuật phần mềm. Mô hình source code thành 3 phần, tương ứng mỗi từ. Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình. 1: Mô hình MVC.
Phan Ngọc Hoàng 17 SVTH: Mai Đức Hiền Đồ án tốt nghiệp đại học – Khóa 2017 – 2021 Trường ĐHBRVT Để hiểu rõ hơn, sau đây chúng ta sẽ cùng đi phân tích từng thành phần: • Model (M): Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng. Bộ phận này là một cầu nối giữa 2 thành phần bên dưới là View và Controller. Model thể hiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường. Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữ liệu,… • View (V): Đây là phần giao diện (theme) dành cho người sử dụng.
Nơi mà người dùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng thông qua các website. Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệ thống, nơi các thành phần HTML được tạo ra. Bên cạnh đó, View cũng có chức năng ghi nhận hoạt động của người dùng để tương tác với Controller. Tuy nhiên, View không có mối quan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi.
Ví dụ: Nút “delete” được tạo bởi View khi người dùng nhấn vào nút đó sẽ có một hành động trong Controller. • Controller (C): Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view. Từ đó, Controller đưa ra dữ liệu phù hợp với người dùng. Bên cạnh đó, Controller còn có chức năng kết nối với model.
Ví dụ: Chức năng thêm bài viết mới trong trang quản trị website. Nơi đây có 2 trường nhập về tiêu đề và nội dung bài viết, thì trong đó: + View sẽ hiển thị ra phần nhập form tiêu đề và nội dung. + Controller lấy dữ liệu từ 2 trường và gửi tới Model. + Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ liệu.
+ Mỗi bộ phận thực hiện chức năng nhất định, nhưng chúng có sự thống nhất, liên kết với nhau tạo nên mô hình MVC. Mô hình này GVHD: TS. Phan Ngọc Hoàng 18 SVTH: Mai Đức Hiền Đồ án tốt nghiệp đại học – Khóa 2017 – 2021 Trường ĐHBRVT tương đối nhẹ. Nó có thể tích hợp được nhiều tính năng có trong ASP.NET hiện giờ.
Ví dụ như authentication (quá trình xác thực).2 Ưu và nhược điểm mô hình MVC • Ưu điểm mô hình MVC Nhẹ, tiết kiệm băng thông: MVC không sử dụng viewstate nên khá tiết kiệm diện tích băng thông. Khi sử dụng, người dùng có thể sử dụng ứng dụng trên web cần tương tác gửi và nhận dữ liệu một cách liên tục. Do đó, việc giảm băng thông giúp cho website hoạt động tốt và ổn định hơn. 2: Cách thức hoạt động của mô hình MVC Kiểm tra dễ dàng: Với MVC, bạn có thể dễ dàng kiểm tra, rà soát lỗi phần mềm trước khi tới tay người tiêu dùng, đảm bảo chất lượng và độ uy tín cao hơn.
Chức năng control: Trên các nền website thì ngôn ngữ như CSS, HTML, Javascript có một vai trò vô cùng quan trọng. Việc sử dụng mô hình MVC sẽ giúp bạn có một bộ control ưu việt trên nền tảng các ngôn ngữ hiện đại với nhiều hình thức khác nhau. View và size: View sẽ là nơi lưu trữ các dữ liệu. Càng nhiều yêu cầu được thực hiện thì kích thước càng tệp càng lớn.
Khi đó, đường truyền mạng cũng giảm tốc độ load. Việc sử dụng mô hình MVC sẽ giúp bạn tiết kiệm được diện tích băng thông một cách tối ưu. Chức năng Soc (Separation of Concern): Chức năng này cho phép bạn phân tách rõ ràng các phần như data, model, giao diện, nghiệp vụ. Phan Ngọc Hoàng 19 SVTH: Mai Đức Hiền Đồ án tốt nghiệp đại học – Khóa 2017 – 2021 Trường ĐHBRVT Tính kết hợp: Việc tích hợp ở mô hình MVC cho phép bạn thoải mái viết code trên nền tảng website.
Khi đó, server của bạn sẽ được giảm tải khá nhiều. Đơn giản: Đây là một mô hình với kết cấu tương đối đơn giản. Dù bạn không có quá nhiều chuyên môn cũng có thể sử dụng được. • Nhược điểm mô hình MVC MVC thường được sử dụng vào những dự án lớn.
Do đó, với các dự án nhỏ, mô hình MVC có thể gây cồng kềnh, tốn thời gian trong quá trình phát triển cũng như thời gian trung chuyển dữ liệu.3 Giới thiệu Entity Framework Entity Framework là một thư viện ORM – một loại chương trình giúp ánh xạ qua lại giữa các object của chương trình và bảng cơ sở dữ liệu. Được Microsoft phát triển vào năm 2008.5, nhà phát triển hay sử dụng ADO.NET để kết nối, thao tác với database, tạo ra một DataSet hoặc DataTable để nhận và submit dữ liệu lên database.