2.5.1.1. Xác định các lớp trong chương trình
Nghiên cứu kĩ các yêu cầu Use Case và nghiên cứu các hệ thống tương ứng để xác định lớp thông qua việc xác định các đối tượng trong hệ thống. Xem xét Use Case của hệ thống tôi nhận thấy cần có các lớp như sau:
- Lớp phòng ban
- Lớp huyện
- Lớp tài liệu đính kèm
- Lớp kiểu tài liệu
- Lớp tài liệu cá nhân nhân sự
- Lớp người sử dụng
- Lớp nhân sự
- Lớp tỉnh
2.5.1.2. Xác định thuộc tính của từng lớp
Sau khi xác định được các lớp tham gia trong hệ thống, chúng ta sẽ xác định thuộc tính của từng lớp đó như sau:
- Lớp phòng ban: mã phòng ban (khóa chính), tên phòng ban, tên phòng ban bằng tiếng Anh, trạng thái phòng ban
- Lớp huyện: mã huyện (khóa chính), tên huyện, tên huyện bằng tiếng Anh, mã tỉnh (khóa ngoài)
- Lớp tài liệu đính kèm: mã ảnh (khóa chính), mã tài liệu (khóa ngoài), ảnh đính kèm
- Lớp kiểu tài liệu: mã kiểu tài liệu (khóa chính), tên kiểu tài liệu
- Lớp tài liệu cá nhân nhân sự: mã tài liệu (khóa chính), mã kiểu tài liệu (khóa ngoài), mã nhân sự (khóa ngoài), ngày nhập thông tin tài liệu, mô tả thông tin tài liệu
- Lớp người sử dụng: tên tài khoản (khóa chính), mật khẩu, tên người dùng, loại người dùng, trạng thái tài khoản
- Lớp nhân sự: mã nhân sự (khóa chính), họ tên nhân sự, họ tên tiếng Anh nhân sự, số tài khoản ngân hàng, ngày sinh, ngày nhập công chức, cấp, bậc, trạng thái hôn nhân, mã phòng ban (khóa ngoài), chức vụ, trạng thái nhân sự, huyện (khóa ngoài)
2.5.1.3. Biểu đồ lớp hoàn chỉnh
class Class Model
Districts
- dis_id: int - dis_name: nvarchar - dis_name_en: varchar - dis_prov: int
+ insert, update, delete(): void + load_district(): void
+ search_districts_by_prov(): void
docsType
- dt_id: int - dt_name: nvarchar + insert, update, delete(): void + load_doctype(): void documents - docs_id: int - docs_type: int - docs_employee: int - docs_date: date - docs_description: nvarchar - docs_user_adding: varchar + add_employee_docs(): void + get_document_info(): void + edit_employee_docs(): void hình 0-21: Biểu đồ lớp hoàn chỉnh provinces - prov_id: int - prov_name: nvarchar - prov_name_en: varchar + insert, update, delete(): void + load_districts_by_province(): void Departments - dep_id: int - dep_name: nvarchar - dep_name_en: varchar - dep_status: bit + insert, update, delete(): void + load_department(): void employee - emp_id: int - emp_name: nvarchar - emp_name_en: varchar - emp_facc: varchar - emp_bd: date - emp_wd: date - emp_level: int - emp_degree: int - emp_married: bit - emp_dep: int - emp_pos: nvarchar - emp_status: bit - emp_distric: int - emp_village: nvarchar + insert, update, delete(): void
docAttachment
- img_id: int - img_doc_id: int - img_pic: image + insert, delete(): void + load_pic_by_employeeid(): void
users - username: varchar - password: varchar - account_name: nvarchar - account_type: int - account_status: bit
+ insert, update, delete(): void
class Class Model 2.5.2 Xây dựng mô hình thực thể liên kết
2.5.2.1. Xây dựng các thực thể
Thực thể lớp phòng ban
hình 0-22: Thực thể lớp phòng ban
Thuộc tính Đặc tả
Dep_id Mã số phòng ban
Dep_name Tên phòng ban
Dep_name_en Tên phòng ban bằng tiếng Anh
Dep_status Trạng thái phòng ban
bảng 0.9: bảng đặc tả thuộc tính Thực thể lớp phòng ban Thực thể lớp huyện Districts - dis_id: int - dis_name: nvarchar - dis_name_en: varchar - dis_prov: int
+ insert, update, delete(): void + load_district(): void
+ search_districts_by_prov(): void
hình 0-23: Thực thể lớp huyện
Thuộc tính Đặc tả
Dis_id Mã huyện
Dis_name Tên huyện
class Class Model Departments
dep_id: int
dep_name: nvarchar dep_name_en: varchar dep_status: bit
+insert, update, delete(): void +load_department(): void
class Class Model
Dis_name_en Tên huyện bằng tiếng Anh
Dis_prov Mã tỉnh (khóa ngoài)
bảng 0.10: bảng đặc tả thuộc tính thực thể lớp huyện Thực thể lớp tài liệu đính kèm docAttachment - img_id: int - img_doc_id: int - img_pic: image + insert, delete(): void
+ load_pic_by_employeeid(): void
hình 0-24: Thực thể lớp tài liệu đính kèm
Thuộc tính Đặc tả
img_id Mã số đính kèm
Img_doc_id Mã tài liệu (khóa ngoài)
Img_pic Dữ liệu ảnh
bảng 0.11: bảng đặc tả thuộc tính thực thể lớp tài liệu đính kèm
Thực thể lớp kiểu tài liệu
hình 0-25: Thực thể lớp kiểu tài liệu
Thuộc tính Đặc tả
Dt_id Mã kiểu tài liệu
Dt_name Tên kiểu tài liệu
bảng 0.12: bảng đặc tả thuộc tính thực thể lớp kiểu tài liệu
class Class Model docsType
dt_id: int
dt_name: nvarchar
+insert, update, delete(): void +load_doctype(): void
Thực thể lớp tài liệu cá nhân nhân sự
hình 0-26: Thực thể lớp tài liệu cá nhân nhân sự
Thuộc tính Đặc tả
Docs_id Mã tài liệu
Docs_type Mã kiểu tài liệu
Docs_employee Mã nhân sự (chủ tài liệu)
Docs_date Ngày nhập thông tin tài liệu
Docs_description Mô tả tài liệu
Docs_user_adding Người nhập thông tin tài liệu
bảng 0.13: bảng đặc tả thuộc tính thực thể lớp tài liệu cá nhân nhân sự
Thực thể lớp người dùng
hình 0-27: Thực thể lớp người dùng
class Class Model documents docs_id: int docs_type: int docs_employee: int docs_date: date docs_description: nvarchar docs_user_adding: varchar +add_employee_docs(): void +get_document_info(): void +edit_employee_docs(): void
class Class Model users username: varchar password: varchar account_name: nvarchar account_type: int account_status: bit
+insert, update, delete(): void +validate_login(): void
class Class Model
Thuộc tính Đặc tả
Username Tên tài khoản dùng để đăng nhập
Password Mật khẩu tài khoản
Account_name Họ tên người dùng
Account_type Loại người dùng: quản trị viên, người quản lý
account_status Trạng thái hoạt động của tài khoản
bảng 0.14: bảng đặc tả thuộc tính thực thể lớp người dùng Thực thể lớp nhân sự employee - emp_id: int - emp_name: nvarchar - emp_name_en: varchar - emp_facc: varchar - emp_bd: date - emp_wd: date - emp_level: int - emp_degree: int - emp_married: bit - emp_dep: int - emp_pos: nvarchar - emp_status: bit - emp_distric: int - emp_village: nvarchar + insert, update, delete(): void + search_employee(): void
hình 0-28: Thực thể lớp nhân sự
Thuộc tính Đặc tả
Emp_id Mã nhân sự
Emp_name Tên nhân sự
Emp_name_en Tên nhân sự bằng tiếng Anh
Emp_facc Số tài khoản tiền lương
Emp_bd Ngày sinh
Emp_wd Ngày bắt đầu làm công chức
class Class Model
Emp_degree Bậc nhân sự
Emp_married Trạng thái hôn nhân
Emp_dep Mã phòng ban
Emp_pos Chức vụ nhân sự
Emp_status Trạng thái nhân sự
Emp_distric Mã huyện Emp_village Địa chỉ phố cụ thể bảng 0.15: bảng đặc tả thuộc tính thực thể lớp nhân sự Thực thể lớp tỉnh provinces - prov_id: int - prov_name: nvarchar - prov_name_en: varchar + insert, update, delete(): void
+ load_districts_by_province(): void
hình 0-29: Thực thể lớp tỉnh
Thuộc tính Đặc tả
Prov_id Mã tỉnh
Prov_name Tên tỉnh
Prov_name_en Tên tỉnh tiếng Anh
2.5.2.2. Mối quan hệ giữa các thực thể
Mối quan hệ giữa thực thể tỉnh và huyện
hình 0-30: Mối quan hệ giữa thực thể tỉnh và huyện
Mối quan hệ giữa thực thể tài liệu cá nhân và ảnh đính kèm
hình 0-31: Mối quan hệ giữa thực thể tài liệu cá nhân và ảnh đính kèm
Mối quan hệ giữa thực thể nhân sự và tài liệu cá nhân
hình 0-32: Mối quan hệ giữa thực thể nhân sự và tài liệu cá nhân
Mối quan hệ giữa thực thể nhân sự và phòng ban
hình 0-33: Mối quan hệ giữa thực thể nhân sự và phòng ban
Mối quan hệ giữa thực thể nhân sự và huyện
hình 0-34: Mối quan hệ giữa thực thể nhân sự và huyện
hav e attachment s n 1
erd Entity Relationship
documents hav e districts n 1
erd Entity Relationship2
provinces hav e document s n 1
erd Entity Relationship3
employee
department s
in 1
n
erd Entity Relationship4
employee
districts
in 1
n
erd Entity Relationship5
2.5.2.3. Mô hình thực thể liên kết
Chương 3. KẾT QUẢ VÀ THẢO LUẬN
Qua các bài phân tích tôi đã tiến hành xây dựng hệ thống quản lý nhân sự của Bộ Công nghệ và Truyền thông, các chức năng là được phân tích từ các yêu cầu của cán bộ trong Cục tổ chức và Nhân sự. Giao diện được thiết kế để dễ sử dụng như sau:
3.1 Giao diện đăng nhập
hình 0-1: Giao diện đăng nhập
Tại giao diện đăng nhập hệ thống, người dùng cần phải nhập thông tin đăng nhập để sử dụng hệ thống phần mềm
1. Textbox để người sử dụng nhập tên tài khoản của chính mình
2. Textbox để người sử dụng nhập mật khẩu
3. Nút điều khiển thực hiện chức năng đăng nhập
a. Nếu người dùng nhập mật khẩu sai, hệ thống sẽ thông báo messagebox lỗi “Tài khoản hoặc mật khẩu không đúng”
b. Nếu thông tin đầu vào hợp lệ, hệ thống sẽ hiện form với các chức năng tương ứng với vai trò người đăng nhập hệ thống
3.2 Giao diện chính
hình 0-2: Giao diện chính
Tại giao diện chính, người dùng có thể chọn các chức năng quản lý của hệ thống 1. Nút điều khiển mở chức năng quản lý người dùng
2. Nút điều khiển mở chức năng quản lý phòng ban 3. Nút điều khiển mở chức năng quản lý tỉnh và huyện 4. Nút điều khiển mở chức năng quản lý nhân sự 5. Nút điều khiển mở chức năng in báo cáo
3.3 Giao diện quản lý người dùng
hình 0-3: Giao diện quản lý người dùng
Tại giao diện quản lý người dùng, giao diện này chỉ cho phép người dùng với quyền đăng nhập là quản trị viên (Admin) sử dụng. Tài giao diện này chúng ta sẽ có chức năng thêm, sửa, xóa thông tin người dùng
1. Textbox để người dùng nhập từ khóa tên để tìm kiếm tài khoản 2. Nút điều khiển chức năng tìm kiếm
3. Bảng kết quả tìm kiếm tài khoản
4. Nút điều khiển chức năng tải toàn bộ tài khoản có trong hệ thống 5. Nút điều khiển chức năng thêm người dùng
7. Nút điều khiển chức năng thoát
3.4 Giao diện quản lý phòng ban
hình 0-4: Giao diện quản lý phòng ban
Tại giao diện quản lý phòng ban. Tài giao diện này chúng ta sẽ có chức năng thêm, sửa, xóa thông tin phòng ban, tìm kiếm thông tin phòng ban
1. Textbox để người dùng nhập từ khóa tên để tìm kiếm phòng ban 2. Nút điều khiển chức năng tìm kiếm
3. Bảng kết quả tìm kiếm thông tin phòng ban
4. Nút điều khiển chức năng thêm phòng ban mới
5. Nút điều khiển chức năng sửa đổi thông tin phòng ban
3.5 Giao diện quản lý tỉnh
hình 0-5: Giao diện quản lý tỉnh
Tại giao diện quản lý tỉnh. Tài giao diện này chúng ta sẽ có chức năng thêm, sửa, xóa thông tin tỉnh, tìm kiếm thông tin tỉnh
1. Textbox để người dùng nhập từ khóa tên để tìm kiếm tỉnh 2. Nút điều khiển chức năng tìm kiếm
3. Bảng kết quả tìm kiếm thông tin tỉnh 4. Nút điều khiển chức năng thêm tỉnh mới
5. Nút điều khiển chức năng sửa đổi thông tin tỉnh
3.6 Giao diện quản lý huyện
hình 0-6: Giao diện quản lý huyện
Tại giao diện quản lý tỉnh. Tài giao diện này chúng ta sẽ có chức năng thêm, sửa, xóa thông tin tỉnh, tìm kiếm thông tin tỉnh
1. Textbox để người dùng nhập từ khóa tên để tìm kiếm huyện 2. Nút điều khiển chức năng tìm kiếm
3. Combobox tìm kiếm thông tin huyện theo tỉnh đã chọn 4. Bảng kết quả tìm kiếm thông tin huyện
5. Nút điều khiển chức năng thêm huyện mới
6. Nút điều khiển chức năng sửa đổi thông tin huyện
3.7 Giao diện quản lý nhân sự
hình 0-7: Giao diện quản lý nhân sự
Tài form quản lý nhân sự, người dùng có thể dùng các chức năng để thêm, sửa, xóa thông tin nhân, sự, có các chức năng thêm tài liệu cá nhân (các tài liệu quy định làm việc, giấy khen, bằng khen, ...), thêm ảnh đính kèm các tài liệu
1. Textbox nhập tên nhân sự để thực hiện tìm kiếm
2. Nút điều khiển chức năng tìm kiếm thông tin nhân sự
3. Combobox hiển thị thông tin phòng ban, người sử dụng có thể dùng combobox này để thực hiện tìm kiếm
4. Bảng kết quả thông tin nhân sự
5. Nút điều khiển chức năng thêm nhân sự mới
6. Nút điều khiển chức năng sửa đổi thông tin nhân sự
7. Nút điều khiển chức năng thêm tài liệu cá nhân nhân sự
8. Nút điều khiển chức năng thêm ảnh đính kèm tài liệu
KẾT LUẬN VÀ KIẾN NGHỊ 4.1 Quá trình thực hiện chương trình
Trong quá trình thực hiện luận văn tôi thực hiện qua các bước như sau:
Tìm hiểu về đề tài và khảo sát yêu cầu người sử dụng
Tìm hiểu về quy trình nghiệp vụ và công việc liên quan đến quản lý nhân sự
Phân tích yêu cầu và đưa ra các chức năng cần thiết trong hệ thống
Thiết kế và phân tích hệ thống và thiết kế cơ sở dữ liệu
Tìm hiểu về ngôn ngữ VB.NET
Tìm hiểu về chương trình quản lý cơ sở dữ liệu Microsoft SQL Server
Tiến hành triển khai phát triển phần mềm
Cài đặt và sửa lỗi chương trình
Thực hiện viết báo cáo luận văn tốt nghiệp
4.2 Kết quả đạt được
Ưu điểm :
Xây dựng được cơ sở dữ liệu quản lý thông tin nhân sự
Xây dựng hệ thống quản lý thông tin nhân sự tại Bộ Công nghệ và Truyền thông Lào
Phân chia chức năng cho quản trị viên và người quản lý theo vai trò sử dụng
Chương trình có thể sử dụng tất cả các chức năng trên hệ thống
Thiết kế giao diện dễ sử dụng
Nhược điểm :
Hệ thống chỉ sử dụng để quản lý thông tin nhân sự phục vụ Cục tổ chức và Nhân sự, Bộ Công nghệ và Truyền thông Lào
4.3 Định hướng tiếp theo
Thiết kế khả năng bảo mật trong hệ thống
Tìm hiểu và hoàn thiện một số chức năng chưa thực hiện trong ứng dụng
Làm tăng hiệu năng tốc độ truy vấn, khả năng quản lý dữ liệu tốt hơn
4.4 Kết luận
Phần mềm quản lý nhân sự là một phần mềm hữu ích, nó giúp cho việc quản lý thông tin nhân sự trong Cục Tổ chức và Nhân sự Bộ Công nghệ và Truyền thông Lào được dễ dàng nhanh chóng và thuận tiện. Với mục đích muốn giúp đỡ phần nào đó cho cơ quan, tôi đã xây dưng phần mềm này.
Qua đây tôi xin được gửi lời cảm ơn TS. Nguyễn Trường Thắng đã tận tình giúp đỡ, hướng dẫn tôi hoàn thành đề tài này. Tuy nhiên do thời gian hạn hẹp và khó khăn về ngôn ngữ nên trong chương trình không tránh khỏi những thiếu sót, tôi rất mong nhận được những góp ý và bổ sung của thầy cô và các bạn để đề tài của tôi được hoàn thiện hơn.
TÀI LIỆU THAM KHẢO
[1] ສະຖດິຕດິ ສະມາຊດິກຊາວໜຫຸທມ (ກະຊວງເຕບກໂນໂລຊີ ແລະ ການສສທສານ)
Thống kê từ đoàn thanh niên Bộ Công nghệ và Truyền thông
[2] Law on Science and Technology
Tài liệu vai trò của Khoa học và Công nghệ
[3] Hands-On Object-Oriented Programming with C# - Raihan Taher
[4] SQL Server 2012 -
[5] ພາລະບວບບາດ - ຄສອ (ສະຖາບບນ ເຕບກໂນໂລຊີ ຄອມພດິວເຕີ ແລະ ເອເລບກ ໂຕຕຼນດິກ)