Một lần nữa, chúng em xin cảm ơn Thầy đã luôn đồng thành và giúp đỡ nhóm chúng em trong suốt quá trình học tập môn Lập Trình Cơ Sở Dữ Liệu cũng như trong đề tài Quản lý nhân sự lần này..
Tổng Quan
Giới thiệu đề tài
Trong quá trình thực hiện bài tập nhóm lần này, nhóm quyết định chọn đề tài Quản lý nhân sự Quản lý nhân sự là đề tài giúp quản lý nhân sự, nhân viên của công ty một cách dễ dàng, giúp nắm giữ các thông tin cá nhân của nhân viên như
Họ tên, năm sinh, chức vụ, và kiểm soát được số dự án mà công ty đang có và số nhân viên có trong từng dự án cũng như số dự án mà nhân viên đang đảm nhận, số phòng ban và số nhân viên có trong từng phong ban công ty, nắm bắt được hệ số lương và tính lương cho từng nhân viên cụ thể.
Lý do chọn đề tài
Dựa trên tình hình Quản lý nhân sự của các công ty hiện nay nhóm đã tiến hành chọn đề tài quản lý nhân sự nhằm mục đích giúp việc quản lý nhân sự của công ty trở nên dễ dàng và nhanh chóng, tránh được những sự cố hay rắc rối không mong muốn trong quá trình quản lý Giúp chuyển đổi giữa việc quản lý nhân sự từ thủ công sang tự động, giúp việc tính lương của các nhân viên trong từng phòng ban công ty dễ dàng hơn, chính xác hơn.
Yêu cầu đề tài
Để làm được đề tài Quản lý nhân sự cần nắm rõ được các mối quan hệ giữa nhân viên và phòng ban, nhân viên và chức vụ, dự án, từ đó có thể đưa ra những ràng buộc chặt chẽ để quá trình quản lý trở nên dễ dàng hơn, tránh được những sai sót trong quá trình làm việc Việc tính lương cho từng nhân viên cũng phải nắm rỏ mối quan hệ giữa nhân viên với dự án vì lương của nhân viên dựa trên lương cơ bản và số tiền mà nhân viên đó thực hiện trên từng dự án khác nhau.
Giới thiệu các tool
Cấu trúc
ASP.NET có cấu trúc thành phần gồm có: Ngôn ngữ, Thư viện và Thời gian chạy CLR [2].
Ngôn ngữ: ASP.NET sở hữu rất nhiều ngôn ngữ lập trình như C#, VB.net, PHP, JavaScript… Trong đó, C# và VB.net phổ biến và được sử dụng nhiều nhất trong phát triển ứng dụng web [2].
Thư viện: Được kế thừa các lớp thư viện của NET Framework, thư viện của ASP.NET được dùng rất nhiều trong quá trình tạo lập web [2].
Thời gian chạy CLR: Phần lớn các kiểu ngôn ngữ lập trình phổ thông đều coi đây là cơ sở hạ tầng Bình thường, CLR sẽ thực hiện các thao tác để xử lý các trường hợp và thu dọn rác [2].
Cài đặt
Từ menu visual studio bạn chọn file -> new project
Tạo một ASP.NET core web application mới Đặt tên project là Net_Core_Oktot Tên dự án cũng khá quan trọng vì nó sẽ là namespace trong dự án của bạn khi bạn copy/paste code [3].
Chọn ASP.NET Core 2.1 trên thanh dropdown menu, và sau đó chọn Web Application.
Giao diện sau khi khởi tạo lúc mới bắt đầu sẽ như hình:
Và giao diện sau khi build và chạy trên localhost sẽ như này:
Giới thiệu Visual Studio
Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi tiếng nhất hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế được nó Visual Studio được viết bằng 2 ngôn ngữ đó chính là C# và VB+ Đây là 2 ngôn ngữ lập trình giúp người dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng nhất thông qua Visual Studio [4].
Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ Microsoft Từ khi ra đời đến nay, Visual
Studio đã có rất nhiều các phiên bản sử dụng khác nhau Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất [4].
Bên cạnh đó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao diện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng [4].
2.1 Một số tính năng của phần mềm Visual Studio Biên tập mã
Giống như bất kỳ một IDE khác, Visual Studio gồm có một trình soạn thảo mã hỗ trợ tô sáng cú pháp và hoàn thiện mả bằng các sử dụng IntelliSense không chỉ cho các hàm, biến và các phương pháp mà còn sử dụng cho các cấu trúc ngôn ngữ như: Truy vấn hoặc vòng điều khiển [4].
Bên cạnh đó, các trình biên tập mã Visual Studio cũng hỗ trợ cài đặt dấu trang trong mã để có thể điều hướng một cách nhanh chóng và dễ dàng Hỗ trợ các điều hướng như: Thu hẹp các khối mã lệnh, tìm kiếm gia tăng,… [4]
Visual Studio còn có tính năng biên dịch nền tức là khi mã đang được viết thì phần mềm này sẽ biên dịch nó trong nền để nhằm cung cấp thông tin phản hồi về cú pháp cũng như biên dịch lỗi và được đánh dấu bằng các gạch gợn sóng màu đỏ [4].
Visual Studio có một trình gỡ lỗi có tính năng vừa lập trình gỡ lỗi cấp máy và gỡ lỗi cấp mã nguồn Tính năng này hoạt động với cả hai mã quản lý giống như ngôn ngữ máy và có thể sử dụng để gỡ lỗi các ứng dụng được viết bằng các ngôn ngữ được hỗ trợ bởi Visual Studio [4].
Windows Forms Designer Được sử dụng với mục đích xây dựng GUI sử dụng Windows Forms, được bố trí dùng để xây dựng các nút điều khiển bên trong hoặc cũng có thể khóa chúng vào bên cạnh mẫu Điều khiển trình bày dữ liệu có thể được liên kết với các nguồn dữ liệu như: Cơ sở dữ liệu hoặc truy vấn [4].
Tính năng này cũng giống như Windows Forms Designer có công dụng hỗ trợ kéo và thả ẩn dụ Sử dụng tương tác giữa người và máy tính nhắm mục tiêu vào Windows Presentation Foundation [4].
Visual Studio cũng có một trình soạn thảo và thiết kế website cho phép các trang web được thiết kế theo tính năng kéo và thả đối tượng Mục đích là để hỗ trợ người dùng tạo trang web dễ dàng hơn, những yêu cầu đơn giản như thiết kế web du lịch hay các trang giới thiệu của công ty có thể sử dụng tính năng này vì nó vẫn đảm bảo cho bạn sở hữu được một website hoàn chỉnh [4].
Bước 1: Bạn vào trang Download Visual Studio Ở đây mình chọn bản Community Các bạn nhấn vào Free download để tải về nhé.
Bước 2: Bạn nhấn đúp chuột vào file vừa mới tải về, sau đó chọn Run để bắt đầu cài đặt Visual Studio.
Bước 3: Chọn Continue và bạn chờ vài phút để tải file cài đặt về.
Bước 4: Bạn chọn các mục, các ngôn ngữ lập trình mà bạn cần sử dụng Ở đây mình chọn mục Desktop development with C+ + và Python development.
Bước 5: Bạn chọn vị trí lưu file của Visual Studio, ở đây mình sẽ để mặc định Sau đó bạn chọn Install để bắt đầu quá trình tải và cài đặt.
Bước 6: Chờ Visual Studio tải và cài đặt các gói tài nguyên, quá trình này nhanh hay chậm tùy vào tốc độ tải của máy bạn Bạn chọn Start after installation để khởi động Visual Studio sau khi tải xong nhé.
Bước 7: Hộp thoại sẽ xuất hiện sau khi bạn tải xong Bạn chọn Sign in hoặc Create one! để đăng nhập Hoặc chọn Not now, maybe later để bỏ qua Ở đây mình đã có tài khoản Microsoft nên mình chọn Sign in.
Bước 8: Nhập tên đăng nhập, mật khẩu, sau đó bạn chờ chút để đăng nhập
Bước 9: Sau khi đăng nhập xong sẽ xuất hiện màn hình bắt đầu của Visual Studio, bạn chọn Create a new project để bắt đầu [5].
Database
SQL Server là ngôn ngữ lập trình phổ biến đối với các lập trình viên nói riêng hay người sử dụng máy tính nói chung, nó sử dụng ngôn ngữ phi thủ tục, tất cả các cách sử dụng cũng như trình điều khiển trở nên rất dễ dàng [6].
SQL Server bao gồm 5 cơ sở dữ liệu (CSDL) hệ thống (system databases) và một hay nhiều user database Các system databases bao gồm:
Cơ sở dữ liệu Master: Chứa tất cả những thông tin cấp hệ thống (system-level information) bao gồm thông tin về các database khác trong hệ thống như vị trí của các data files, các login account và các thiết đặt cấu hình hệ thống của SQL Server (system configuration settings) [7].
Cơ sở dữ liệu Tempdb: Chứa tất cả những table hay stored procedure được tạm thời tạo ra trong quá trình làm việc bởi user hay do bản thân SQL Server engine Các table hay stored procedure này sẽ biến mất khi khởi động lại SQL Server hay khi ta disconnect [7].
Cơ sở dữ liệu Model: Database này đóng vai trò như một bảng mẫu (template) cho các database khác Nghĩa là khi một user database được tạo ra thì SQL Server sẽ copy toàn bộ các system objects (tables, stored procedures…) từ Model database sang database mới vừa tạo [7].
Cơ sở dữ liệu Msdb: được sử dụng cho SQL Server Agent để lập lịch các công việc và các cảnh báo (schedule alerts and jobs) [7].
Cơ sở dữ liệu Resource: là một CSDL chỉ đọc chứa các object hệ thống mà được sử dụng trong SQL Server Các Object hệ thống về mặt vật lý tồn tại trong Resource Database nhưng về mặt logic nó lại xuất lược đồ hệ thống (sys schema) của mỗi cơ sở dữ liệu [7].
Bước 1: Truy cập trang chủ để tải SQL Server 2019 Sau đó ấn nút download ở phần developer để tải phần mềm về
Bước 2: Mở ứng dụng đã tải xong ra.
Bước 3: Sau khi mở ứng dụng ta có 3 lựa chọn tùy mục đích khác nhau cho người dùng.
Bước 4: Tại đây ta ấn nút Customize để bắt đầu setting cấu hình để sử dụng.
Bước 5: Cửa sổ đầu tiên ta ấn next.
Bước 6: Hệ thống sẽ kiểm tra xem các mục đã đạt yêu cầu chưa, dấu tích xanh là đã ổn và thường thì mục Firewall sẽ màu vàng cảnh báo là nó có thể ảnh hưởng đến quá trình cài đặt, riêng mục này các bạn có thể bỏ qua và tiếp tục bấm next.
Bước 7: Đến với mục Feature Configuration Rules, tới đây bạn có thể đặt tên cho Instance (tên các bạn có thể đặt tùy ý, không dấu, không khoản trắng) sau đó nhấn next cho đến phần Database Engine Configuration.
Bước 8: Ở mục này, ta bấm chọn chức năng Mix Mode Đây là chức năng bảo mật cho cơ sở dữ liệu của bạn Tiếp theo các bạn nhập mật khẩu cho tài khoản supper admin(sa) của bạn
Và cuối cùng nhấn nút Add current User để thêm tài khoản Cuối cùng bạn nhấn next cho đến mục Ready to Install.
Bước 9: Đây là phần cuối cùng Bạn chỉ cần nhấn Install và đợi đến khi file cài đặt xong và bấm close để hoàn tất [6].
Đề tài Quản lý nhân sự
Các bước thực hiện đề tài
Bước 1: Thực hiện tạo cơ sở dữ liệu cho đề tài bao gồm các bản NhanVien, ChucVu, PhongBan, DuAn Thêm những thông tin chi tiết cho từng bảng để tạo một cơ sở dữ liệu chi tiết chặt chẽ Bảng NhanVien thêm những thông tin cá nhân và thuộc tính cơ bản của một nhân viên như Mã ID của nhân viên, HovaTen, giới tính và chức vụ của nhân viên là Quản trị, Chuyên viên hay là Nhân viên bình thường Thêm những thông tin cho bảng Chức Vụ : ID Chức vụ, Tên Chức vụ, Lương, Phòng ban: ID Phòng ban, Tên phòng ban, Id Trưởng phòng và nhập thông tin cho Dự Án như Mã ID dự án, Tên dự án, phụ cấp, Id Quản lý.
Bước 2: Thiết lập các khóa chính và khóa ngoại cho từng bản Bảng Nhân viên có Id làm khóa chính đóng vai trò là thuộc tính đại diện cho từng Nhân viên Bảng Phòng Ban có IdPhongBan là khóa chính, bảng Chức vụ có khóa chính là MaChucVu, bảng Dự án có MaDuAn làm khóa chính.
Bước 3: Thiết lập quan hệ cho từng bản Mỗi phòng ban có thể có nhiều nhân viên, cụ thể có thể từ 1-10 nhân viên trong phòng Mỗi phòng ban được tạo ra khi và chỉ khi có ít nhất 1 nhân viên và phải có 1 nhân viên đảm nhận là trưởng phòng, trưởng phòng cũng là một nhân viên nhưng có thêm thuộc tính ngày nhận chức và được cộng lương phụ cấp hơn so với các nhân viên thường Mỗi nhân viên chỉ thuộc duy nhất một phòng ban, đảm nhận công việc riêng của từng phòng như phòng kế toán đảm nhận công việc tính toán Mỗi nhân viên cũng đảm nhận duy nhất một chức vụ thông qua mối quan hệ với bảng chức vụ như một nhân viên đảm nhận chức trưởng phòng sẽ liên kết với khóa chính của bảng chức vụ Mỗi chức vụ có thể có nhiều nhân viên đảm nhận như chức vụ trưởng phòng có thể có nhiều nhân viên đảm nhận trong nhiều phòng ban khác nhau Mỗi nhân viên có thể tham gia nhiều dự án và một dự án có thể có nhiều nhân viên tham gia Mỗi dự án thực hiện ràng buộc có tối đa 10 nhân viên và để thực hiện một dự án bắt buộc phải có 3 nhân viên thì mới có thể bắt đầu thực hiện một dự án để đảm bảo tính chắc chắn cho một dự án, nhân viên tham gia dự án thông tin được lưu trữ trong hợp đồng như thông tin dự án, ngày tham gia, ngày kết thúc và số tiền của hợp đồng,
Bước 4: Sử dụng visual studio để cài đặt ASP.NET để chuẩn bị môi trường để thực hiện đề tài.
Bước 5: Liên kết từ visual studio với sql sever để thực hiện liên kết dữ liệu cho đề tài Đảm bảo dữ liệu được 2 chiều, truy xuất dữ liệu và lưu trữ dữ liệu
Bước 6: Thực hiện code theo các tiêu chí được đặt ra của đề tài Tính lương của nhân viên, thực hiện kiểm soát số lượng của nhân viên cũng như nhân viên trong mỗi phòng ban và nắm được chức vụ từng nhân viên.
Bước 7: Hoàn thành các chức năng bắt đầu kiểm tra các chức năng đã đạt những tiêu chí đã đặt ra và kiểm tra về tính đúng đắn của từng chức năng bằng cách kiểm thử từng một chức năng riêng biệt như về tính lương, lương của nhân viên sẽ bằng lương cơ bản cộng với tiền thưởng và số tiền mà nhân viên tham gia từng dự án mà nhân viên đó đảm nhận Số lượng nhân viên trong từng phòng ban không vượt quá 10 nhân viên và không thể không có nhân viên nào, phải có một trưởng phòng ứng với một phòng ban tồn tại và mỗi nhân viên phải có một chức vụ ứng với từng cá nhân Kiểm tra dự án có bao nhiêu thành viên tham gia thực hiện, không vượt quá 10 và ít nhất 3 thành viên khởi động dự án đó.
Mô tả chức năng của đề tài
Hình 1: Màn hình chính hệ thống
+ Chức năng thêm nhân viên: Để thêm một nhân viên ta cần nhập các thông tin bắt buộc mà nhân viên đó phải có như HovaTen, địa chỉ email, số điện thoại, mã nhân viên sẽ là mã tự sinh Để thêm một nhân viên ta cần phải thêm nhân viên đó vào phòng ban nào lúc thêm để đảm bảo cho nhân viên đó thuộc một phòng ban nhất định và chức vụ cũng sẽ được gán cho nhân viên lúc nhập thông tin để thêm vào công ty
Hình 2: Chức năng thêm nhân viên
+ Chức năng xóa nhân viên: Ta có thể xóa một nhân viên ra khỏi phòng ban bằng cách chọn nhân viên đó nhấn nút xóa, nhưng để xóa nhân viên đó ta phải xem xét ràng buộc xem phòng ban đó đang có bao nhiêu nhân viên nếu phòng ban chỉ còn một nhân viên đó thì không thể xóa để đảm bảo phòng ban luôn có ít nhất là một nhân viên Và nếu muốn xóa một nhân viên chức năng sẽ xem xét chức vụ của nhân viên đó là gì nếu là trưởng phòng thì không thể xóa phải thực hiện chức năng sửa nhân viên thay đổi chức vụ của nhân viên đó thành nhân viên thường và gán chức vụ trưởng phòng cho một nhân viên khác đang trong phòng ban đó thì mới bắt đầu thực hiện chức năng xóa của nhân viên đó.
Hình 3: Chức năng xóa nhân viên
+ Chức năng sửa nhân viên: Chức năng sửa nhân viên cho phép ta sữa các thuộc tính của nhân viên được chọn và thực hiện thay đổi Có thể thay đổi các thuộc tính cơ bản của nhân viên như Họ tên, số điện thoại, email Nhưng để thay đổi chức vụ thì chức năng sẽ thực hiện thay đổi tuân theo những ràng buộc nhất định như thay đổi chức vụ không thể thay đổi chức vụ từ nhân viên thường sang trưởng phòng khi chưa thay đổi chức vụ trường phòng sang nhân viên thường vì không thể có 2 trường phòng trong cùng 1 phong ban Có thể thay đổi phong ban của nhân viên được chọn sang một phòng ban khác khi phòng ban đó vẫn còn trống không quá 10 người và đảm bảo khi chuyển phòng thì phòng còn lại không được trống, không dưới 1 người
Hình 4.1: Chức năng sửa thông tin
Hình 4.2: Chức năng sửa thông tin
+ Chức năng tính lương: Tính lương cho phép chương trình tính lương của nhân viên hiện có trong công ty bằng cách tính theo công thức lương cơ bản cộng cho số dự án mà nhân viên đảm nhận Xuất lương của nhân viên ra nếu muốn xem lương của nhân viên đó.
Hình 5: Chức năng tính lương
+ Chức năng thêm dự án: Để muốn tính lương của một nhân viên thì cần khởi tạo một dự án để cộng vào tiền lương của nhân viên tham gia dự án tương ứng với số tiền mà dự án đó có được Thì chức năng này cho phép chúng ta khởi tạo một dự án mới với những thông tin như tên dự án, thông tin dự án, phụ cấp,
Hình 6: Chức năng thêm dự án
+ Chức năng sửa dự án: Chức năng này cho phép ta chọn một dự án đã được khởi tạo và sửa các thông tin mà dự án có như tên dự án, phụ cấp,
Hình 7.1: Chức năng sửa dự án
Hình 7.2: Chức năng sửa dự án
+ Chức năng xóa dự án: Chức năng này cho phép người dùng được xóa dự án đã chọn, loại bỏ các thành viên thuộc dự án đó ra khỏi dự án Sau khi tính lương cập nhật loại bỏ số tiền mà dự án đã xóa ra khỏi danh sách tính lương của nhân viên.
Hình 8: Chức năng xóa dự án
+ Chức năng tạo phòng ban: Chức năng cho phép người dùng tạo một phòng ban mới bao gồm các thông tin như tên phòng ban, mã phòng ban,
Hình 9: Chức năng thêm phòng ban
+ Chức năng sửa phòng ban: Chức năng này cho phép người dùng sửa các thông tin của các phòng ban đã tạo trước đó, có thể sửa các thông tin bao gồm tên phòng ban, thông tin phòng ban,
Hình 10.1: Chức năng sửa phòng ban
Hình 10.2: Chức năng sửa phòng ban
+ Chức năng xóa phòng ban: Chức năng xóa phòng ban có thể cho người dùng xóa một phòng ban được chọn nhưng muốn xóa phòng ban thì trong phòng ban được chọn không còn nhân viên nào thì mới có thể xóa phòng ban đó vì nhân viên không thể không thuộc phòng ban nào Để có thể xóa một phòng ban ta có thể chọn
Hình 11: Chức năng xóa phòng ban
+ Chức năng phân quyền: Chức năng cho phép người dùng gán quyền cho nhân viên được chọn Nhân viên có thể là Quản trị, Chuyên viên hoặc là Nhân viên bình thường
Hình 12: Chức năng phân quyền
Mô tả dữ liệu
+ Quan hệ Nhân viên – Phòng Ban: Mỗi nhân viên chỉ thuộc một phong ban nhất định, 1 phòng ban sẽ có 1 đến nhiều nhân viên trực thuộc.
+ Quan hệ Nhân viên – Chức vụ: Nhân viên có duy nhất một chức vụ còn một chức vụ có thể có nhiều nhân viên đảm nhận
+ Quan hệ Nhân viên – Dự án: Một nhân viên có thể tham gia nhiều dự án khác nhau còn một dự án có thể có nhiều nhân viên tham gia, các thông tin của nhân viên tham gia dự án được lưu trong hợp đồng.
Mô tả sản phẩm
Sau khi hoàn thành sản phẩm, sản phẩm thực hiện được các chức năng nhóm đưa ra và thực hiện đúng các chứ năng đó Thêm, sửa, xóa nhân viên và tính lương cho nhân viên, đảm bảo tính logic về số lượng của phòng ban và dự án Giúp quản lý nhân sự một cách dễ dàng hơn Nắm được các chức vụ và đảm bào nhân viên thực hiện đúng các chức vụ của mình và nhận được lương dựa theo khả năng thực hiện dự án.