



















Preview text:
lOMoAR cPSD| 58728417 u
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
PHẦN MỀM QUẢN LÝ CÔNG TY
BỘ MÔN: LẬP TRÌNH TRÊN WINDOWS
HỌC KỲ 2 – NĂM HỌC 2022-2023
Giảng viên hướng dẫn: ThS. Nguyễn Thủy An
Mã lớp học: WIPR230579_05CLC
Thành phố Hồ Chí Minh , Tháng 05 năm 2023 lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
DANH SÁCH THÀNH VIÊN THAM GIA VIẾT TIỂU LUẬN
HỌC KỲ 2, NĂM HỌC 2022 - 2023 ĐỀ TÀI:
PHẦN MỀM QUẢN LÝ CÔNG TY
Điểm số: ……………
Nhận xét của giáo viên:
...............................................................................................................................
CHƯƠNG 2: MÔ TẢ PHẦN MỀM.................................................................. 4
2.1. Phân quyền đăng nhập và tài khoản kiểm thử ...................................... 4
2.1.1. Phân quyền đăng nhập....................................................................... 4
2.1.2. Tài khoản dùng kiểm thử .................................................................. 5
2.2. Thực thi các nghiệp vụ phần mềm .......................................................... 6
2.2.1. Đăng nhập ........................................................................................... 6
2.2.2. Tạo dự án ............................................................................................. 7
2.2.3. Tạo nhiệm vụ ..................................................................................... 10
2.2.4. Nhân viên Check in/out .................................................................... 12
2.2.5. Xem tiến độ dự án ............................................................................. 15
2.2.6. Chia tiền thưởng ............................................................................... 19
2.2.8. Xem lương ......................................................................................... 23
2.2.9. Xin nghỉ phép .................................................................................... 23
2.2.10. Duyệt nghỉ phép .............................................................................. 26
CHƯƠNG 3: CÁC CÔNG NGHỆ VÀ KỸ THUẬT ĐƯỢC ÁP DỤNG ..... 27
3.1. Công nghệ ................................................................................................ 27
3.1.1. Windows Presentation Foudation (WPF) ...................................... 27 lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
3.1.2. ActiveX Data Objects .NET (ADO.Net) ......................................... 29
3.1.3. Entity Framework ............................................................................ 31
3.2. Kỹ Thuật ..................................................................................................... 33
3.2.1. Object-Oriented Programming (OOP) .......................................... 33
3.2.2. Model-View-ViewModel (MVVM) ................................................. 35
3.2.3. Singleton ............................................................................................ 38
...............................................................................................................................
...............................................................................................................................
............................................................................................................................... lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 MỤC LỤC
CHƯƠNG 1: TÓM TẮT QUÁ TRÌNH LÀM ĐỒ ÁN....................................1
1.1. Tóm tắt quá trình...................................................................................1 1.2.
Kinh nghiệm khi thực hiện đồ án.........................................................2
1.2.1. Những sai lầm trong quá trình xây dựng chương trình...............2
1.2.2. Những điều làm được......................................................................2
3.2.4. Strategy..............................................................................................39 lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
CHƯƠNG 1: TÓM TẮT QUÁ TRÌNH LÀM ĐỒ ÁN
1.1. Tóm tắt quá trình Tuần Công việc 3
- Tìm hiểu đề tài, thiết kế database. 4 -
Thực hiện các lớp DAO và model. -
Hoàn thành database cơ bản (giao việc, xin nghỉ, tính
lương, chia thưởng của dự án, đặt KPI). 5
- Hoàn thành giao diện giao việc chính. 6
- Setup đồ án theo cấu trúc MVVM.
- Tính năng thêm xóa sửa nhân viên, đăng nhập.
- Sửa lại database (tính năng giao việc). 7
- Bắt đầu tính năng giao việc.
- Bắt đầu tính năng xem tác vụ trên lịch. 8
- Thử áp dụng Dependency Injection (không thành công). - Hoàn thành giao việc. 9
- Sửa database thêm thuộc tính cho bảng tác vụ.
- Cập nhật tiến độ cho các tác vụ. 10 - Nghỉ xả hơi. 11
- Bắt đầu tính năng xin nghỉ.
- Hoàn thành giao diện check-in-out. 12 - Thiết kế phân quyền.
- Hoàn thành giao diện xin nghỉ.
- Sửa giao diện hộp thoại nhập thông tin của dự án.
- Bắt đầu tính năng chia thưởng của dự án. 13
- Sửa database: sửa tính năng xin nghỉ, xoá tính năng đặt KPI.
- Hoàn thành tính năng xem lương cho từng nhân viên, xin nghỉ, 1 lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
thống kê theo biểu đồ tròn, check-in-out.
- Hoàn thành tính năng chia thưởng của dự án.
- Xoá tính năng xem tác vụ trên lịch. 14 -
Hoàn thành tính năng phân quyền. -
Hoàn thành tính năng xem tất cả phòng và xem nhân viên trong phòng bất kì. -
Hoàn thành giao diện tính lương. -
Bắt đầu làm phiên bản Entity. -
Sửa lại giao diện check-in-out. 15
- Hoàn thành phiên bản ADO.Net.
- Sửa lỗi phiên bản Entity.
- Bắt đầu viết báo cáo (docx). 16
- Hoàn thành báo cáo (docx).
- Hoàn thành phiên bản Entity.
1.2. Kinh nghiệm khi thực hiện đồ án
1.2.1. Những sai lầm trong quá trình xây dựng chương trình
Đặt tên biến, tên hàm quá dài.
Thiếu tính năng bảo mật.
Chưa tối ưu được hiệu suất.
Các lỗi trong viết câu truy vấn và không kiểm thử trước.
1.2.2. Những điều làm được
Xác định được yêu cầu của đề tài, hiểu được cơ bản nghiệp vụ quản lý trong một công ty.
Lập kế hoạch và phân công công việc.
Tạo giao diện người dùng thân thiện, dễ sử dụng và đẹp (bằng WPF); tạo
tương tác người dùng thông báo, cảnh báo.
Thiết kế cấu trúc dữ liệu và cơ sở dữ liệu hợp lý. 2 lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Kiểm tra và sử lý dữ liệu đầu vào, đảm bảo tính nhất quán của dữ liệu.
Biết được cách viết Test Database và kiểm thử, sửa chữa các câu truy vấn
trước khi chạy chương trình.
Biết cách rút gọn cách đặt tên mức tối đa, nhưng vẫn đảm bảo ý nghĩa đến người đọc.
Kiểm thử và gỡ lỗi kỹ lưỡng.
Biết được cách sử dụng ADO.Net và Entity Framework.
Biết được cách triển khai mô hình 3 lớp trong khi viết một phần mềm trên
winform (cụ thể là MVVM).
Áp dụng nhiều loại control và thiết kế, biến tấu trở nên đẹp hơn, hiệu ứng
của phần mềm chuyển động linh hoạt.
Biết các làm việc nhóm kết hợp việc sử dụng thêm nhiều công cụ hỗ trợ
khác Visual Studio trong quá trình làm đồ án: Git, Gitkraken, Trello.
Tìm hiểu thêm nhiều nhiều kỹ thuật: singleton, strategy,… lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
CHƯƠNG 2: MÔ TẢ PHẦN MỀM
2.1. Phân quyền đăng nhập và tài khoản kiểm thử
2.1.1. Phân quyền đăng nhập
Phân quyền tài khoản người dùng chương trình bao gồm: Quản lý Trưởng phòng Quản lý nhân sự Nhân viên
Bảng 1. Bảng mô tả phân quyền.
Đối tượng và chức năng Quản lý Trưởng Quản lý Nhân viên phòng Nhân sự Cá Xem thông tin ☒ ☒ ☒ ☒ nhân Check in/out ☒ ☒ ☒ ☒ Xem lương ☒ ☒ ☒ ☒ Dự án Xem ☒ ☒ ☐ ☒ Thêm ☒ ☐ ☐ ☐ Xóa ☒ ☒ ☐ ☐ Sửa ☒ ☒ ☐ ☐ Chia thưởng dự án ☒ ☐ ☐ ☐ Xem thống kê dự án ☒ ☒ ☐ ☒ Nhiệm Xem ☒ ☒ ☐ ☒ vụ Thêm ☒ ☒ ☐ ☐ lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 Xóa ☒ ☒ ☐ ☐ Sửa ☒ ☒ ☐ ☒ Nhân Xem ☒ ☒ ☒ ☐ sự Thêm ☐ ☐ ☒ ☐ Xóa ☐ ☐ ☒ ☐ Sửa ☐ ☐ ☒ ☐ Xem (cá nhân) ☒ ☒ ☒ ☒ Thêm ☒ ☒ ☒ ☒ Xóa ☒ ☒ ☒ ☒ Xin Sửa ☒ ☒ ☒ ☒ nghỉ Xem (phòng) ☒ ☒ ☒ ☐ Xem (toàn bộ) ☒ ☐ ☒ ☐ Duyệt ☐ ☐ ☒ ☐
2.1.2. Tài khoản dùng kiểm thử Quản lí: Tên: Tên tài khoản: EM0010101 Mật khẩu: @1234567
Trưởng phòng 1 (Tên phòng là “Software Development Department”): Tên: Lê Thị Hà Tên tài khoản: EM0060606 Mật khẩu: @1234567 lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Nhân viên phòng 1 (Tên phòng là “Software Development Department”): Tên: Nguyễn Tên tài khoản: EM0070707 Mật khẩu: @1234567 HR: Tên: Đặng Tên tài khoản: EM0550606 Mật khẩu: @1234567
2.2. Thực thi các nghiệp vụ phần mềm 2.2.1. Đăng nhập Giao diện đăng nhập:
Bước 1: Nhập tài khoản và mật khẩu.
Bước 2: Nhấn chọn “Đăng nhập” lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Khi người dùng đăng nhập thành công sẽ được đưa đến màn hình chính
theo từng loại tài khoản. Đăng nhập thất bại: 2.2.2. Tạo dự án
Mô tả nghiệp vụ: dự án được tạo bởi người quản lý và được truyền xuống
các phòng ban được chọn.
Bước 1: Đăng nhập vào tài khoản người quản lý. lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Khi đăng nhập thành công, hệ thống sẽ chuyển đến màn hình chính của quản lý. lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Bước 2: Nhấn chọn nút “Dự án” có biểu tượng . Bước
3: Tại giao diện Dự án, nhấn chọn “New Project”.
Bước 4: Nhập các thông tin và nhấn nút Thêm, nhấn vào Yes ở thông báo. lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 Kết quả:
Ngoài ra ta còn có thể sửa/xóa bằng các nút tương ứng và .
2.2.3. Tạo nhiệm vụ
Mô tả nghiệp vụ: nhiệm vụ của mỗi dự án sẽ được quản lý/trưởng phòng
ban (phòng ban được nhận nhiệm vụ đó) giao xuống cho các nhân viên hoặc
nhân viên cũng có thể tự tạo cho chính mình trong chính dự án đang tham gia.
Bước 1: Đăng nhập vào một tài khoản thích hợp (quản lý/ trưởng phòng/nhân viên) lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Bước 2: Tại giao diện “Dự án”, nhấn chọn dự án cần thêm nhiệm vụ.
Bước 3: Tại thông tin dự án đã chọn, nhấn chọn vào mục “Nhiệm vụ”, nhấn
chọn “New Task” và điền các thông tin để tạo nhiệm vụ sau đó nhấn “Thêm”, nhân Yes ở thông báo. lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 Kết quả:
Ngoài ra ta còn có thể xóa/sửa bằng các nút tương ứng và .
2.2.4. Nhân viên Check in/out
Mô tả nghiệp vụ: mỗi ngày nhân viên vào chọn nhiệm vụ để check in (một
nhiệm vụ) và check out (không hoặc nhiều nhiệm vụ - nhiều lần). lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 1.2.3.1 Check in:
Bước 1: Đăng nhập vào tài khoản nhân viên, tại giao diện màn hình chính của
nhân viên chọn mục “Trạng thái làm việc”.
Bước 2: Nhấn vào biểu tượng mũi tên
để tiến hành check in. Chọn
nhiệm vụ để check in, sau đó nhấn vào nút hoàn thành và xác nhận check in.
Nếu không chọn nhiệm vụ: lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 Kết quả: 1.2.3.2 Check out:
Bước 1: Cũng tại mục “Trạng thái làm việc”, nhấn vào biểu tượng mũi tên để tiến hành check out.
Bước 2: Chọn các nhiệm vụ và cập nhật tiến độ của nhiệm vụ đó để check out.
Nhấn hoàn thành và xác nhận. lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23 Kết quả:
2.2.5. Xem tiến độ dự án
Mô tả nghiệp vụ: Mỗi khi nhân viên cập nhật tiến độ dự án, người quản
lý/trưởng phòng có thể theo dõi được nhầm đưa ra các quyết định để giúp cho
dự án được hoàn thành đúng tiến độ. lOMoAR cPSD| 58728417
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Bước 1: Đăng nhập vào tài khoản của quản lý/trưởng phòng quản lý dự án cần xem tiến độ đó.
Bước 2: Nhấn chọn vào xem thông tin của dự án trên, ta có thể xem ở mục
“Nhiệm vụ” hoặc để khách quan hơn có thể xem ở mục “Thống kê” trong chi
tiết dự án, hoặc để chia tiến độ dự án theo từng thời điểm ta có thể sử dụng mục “Các mốc dự án”. Mục nhiệm vụ:
Ở mục này thì có 3 trạng thái nhiệm vụ:
Đang thực hiện: là các nhiệm vụ trong thời gian được giao, chưa hoàn thành.
Đã hoàn thành: là các nhiệm vụ đã hoàn thành, có tiến độ là 100%
Đã quá hạn: là các nhiệm vụ hạn hoàn thành nằm trong quá khứ và có
tiến độ chưa đạt 100%