Tóm tắt quá trình3 - Tìm hiểu đề tài, thiết kế database.- 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 -
MÔ TẢ PHẦN MỀM
Phân quyền đăng nhập và tài khoản kiểm thử
Phân quyền tài khoản người dùng chương trình bao gồm:
Bảng 1 Bảng mô tả phân quyền Đối tượng và chức năng Quản lý Trưởng phòng
Quản lý Nhân sự Nhân viên
Xem thống kê dự án ☒ ☒ ☐ ☒
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
2.1.2 Tài khoản dùng kiểm thử
Trưởng phòng 1 (Tên phòng là “Software Development Department”):
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”):
Thực thi các nghiệp vụ phần mềm
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Bước 1: Nhập tài khoản và mật khẩu.
Bước 2: Nhấn chọn “Đăng nhập”
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:
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ý.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
8Khi đă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ý.
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.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Ngoài ra ta còn có thể xóa/sửa bằng các nút tương ứng và
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
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). 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.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Nếu không chọn nhiệm vụ:
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.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
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 độ.
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
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%
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
17 Đã 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%
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Các mốc dự án: Đầu tiên tạo một mốc dự án Điền thông tin, nhấn
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Mô tả nghiệp vụ: khi dự án hoàn thành, quản lý sẽ chia tiền thưởng cho các nhân viên tham gia dự án.
Bước 1: Đăng nhập vào tài khoản quản lý – người đang nắm dữ dự án cần chia thưởng Tại mục Dự án, chọn dự án cần chia – trạng thái là “đang chờ thanh toán” để chia tiền thưởng, có thể chỉnh sửa trạng thái dự án nếu nó chưa thỏa mãn trạng thái trên, việc này có thể được thực thi bởi quản lý hoặc trưởng phòng.
Bước 2: Chức năng chia tiền thưởng được chia thành 3 dạng:
Chia tiền tự động (chia đều số tiền còn lại cho tổng nhân viên trong danh sách)
Chia tiền thủ công (tự nhập số phần % rồi cho hệ thống tính số tiền cần chia cho nhân viên đó theo tổng số tiền thưởng của dự án) Để thực hiện chức năng này, nháy chọn trên danh sách chia thưởng tự động Sau đó nhập % mà người nhân viên đó sẽ nhận được, sau đó nhấn để tiến hành tính lương cho nhân viên, hoặc nếu muốn hoàn tác đưa nhân viên trở về chia tiền tự động thì nhấn chọn
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Không nhận thưởng (chặn việc chia tiền cho nhân viên) Để thực hiện chức năng này nhấn vào để đưa nhân viên vào danh sách chặn không nhân thưởng, tương tự trên để hoàn tác ta nhấn chọn
Bước 3: Sau khi chia tiền xong, để hoàn tất việc chia tiền nhấn vào và xác nhận.
Mô tả nghiệp vụ: khi hết tháng quản lý nhân sự sẽ bắt đầu thống kê và tiến hành phát lương cho các nhân viên trong công ty.
Bước 1: Đăng nhập vào tài khoản quản lý nhân sự, nhấn vào “Bảng lương” có biểu tượng
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
21 Bước 2: Chọn thời gian phù hợp:
Sau đó nhấn vào “Thống Kê”:
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
22 Sau đó nhấn “Phát lương” và xác nhận để hoàn tất quá trình:
Sau đó có 15 giây để hoàn tác.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Ngoài ra có thể nhấn vào để xem thông tin chi tiết.
Mô tả nghiệp vụ: nhân viên đăng nhập vào tài khoản của mình và vào mục “Lịch sử lương” để xem lương của mình.
Ngoài ra có thể nhân vào để xem thông tin chi tiết.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Mô tả nghiệp vụ: toàn bộ công ty xin nghỉ gửi đến cho quản lý nhân sự. Bước 1: Đăng nhập vào tài khoản phù hợp.
Bước 2: Nhấn chọn nút có biểu tượng Rồi chọn mục “Xin nghỉ phép” (các loại tài khoản khác cũng nằm ở mục tương tự).
Bước 3: Tại giao diện xin nghỉ phép, nhấn chọn nút “New leave” để xin nghỉ và nhập các thông tin được yêu cầu.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Bước 4: Nhập các thông tin, sau đó nhấn thêm và xác nhận.
Ngoài ra ta còn có thể sửa/xóa bằng các nút tương ứng và
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
Mô tả nghiệp vụ: khi nhân viên xin nghỉ, nhưng thông tin này sẽ được gửi đến người quản lý nhân sự - người mà nhân viên gửi xin nghỉ đến để họ xem qua và duyệt.
Bước 1: Đăng nhập vào tài khoản quản lý nhân sự được gửi xin nghỉ Nhấn chọn biểu tượng , sau đó nhấn chọn “Duyệt xin nghỉ”.
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 hoặc để duyệt hoặc từ chối Sau đó hệ thống sẽ hiện lên bảng phản hồi để phản hồi thông tin về cho người xin nghỉ Điền phản hồi cho nhân viên xong nhấn vào “Chấp nhận” và xác nhận.
Thông tin xin duyệt của nhân viên sẽ được đưa đến mục đã chấp nhận/ không chấp nhập.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
CÁC CÔNG NGHỆ VÀ KỸ THUẬT ĐƯỢC ÁP DỤNG
Công nghệ
Windows Presentation Foundation (WPF) là một nền tảng ứng dụng giao diện người dùng (GUI) phát triển bởi Microsoft Nó là một phần của NET Framework và được sử dụng để xây dựng ứng dụng Windows mạnh mẽ và hấp dẫn. Ưu điểm khi thiết kế một phần mềm windows:
Giao diện người dùng linh hoạt: WPF cung cấp một mô hình lập trình giao diện người dùng linh hoạt, cho phép bạn tạo ra các giao diện đồ họa phức tạp với hiệu ứng đa dạng, đồ họa vector, độ mờ, đổ bóng và các tính năng tùy chỉnh khác Nó cho phép bạn tạo ra ứng dụng có giao diện người dùng đẹp và mạnh mẽ.
XAML (eXtensible Application Markup Language): WPF sử dụng XAML để định nghĩa giao diện người dùng XAML là một ngôn ngữ gọn nhẹ, cho phép phân tách rõ ràng giữa logic ứng dụng và thiết kế giao diện Việc sử dụng XAML giúp tăng cường sự cộng tác giữa các nhóm phát triển và thiết kế.
Data binding: WPF hỗ trợ mạnh mẽ cho data binding, cho phép ràng buộc dữ liệu giữa các thành phần giao diện người dùng và dữ liệu ứng dụng. Điều này giúp giảm bớt công việc lập trình, tăng tính nhất quán và linh hoạt của ứng dụng.
Tích hợp tốt với DirectX: WPF tích hợp với DirectX để hiển thị đồ họa phức tạp, nhanh chóng và mượt mà Điều này cho phép bạn tạo ra các hiệu ứng đồ họa ấn tượng và nâng cao trải nghiệm người dùng.
Nhược điểm khi thiết kế một phần mềm windows:
WPF có những hạn chế và nhược điểm quan trọng khi thiết kế phần mềmWindows Đầu tiên, nó yêu cầu tài nguyên hệ thống cao hơn so với một số
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
29 công nghệ giao diện người dùng khác Điều này có thể dẫn đến tiêu thụ bộ nhớ cao, tải nhanh pin và hoạt động chậm trên các máy tính có cấu hình thấp.
Thứ ba, việc sử dụng WPF đòi hỏi một ngưỡng học đòi cao Người phát triển cần có kiến thức vững chắc về XAML, data binding, kiến thức về đồ họa và các khái niệm liên quan Điều này đòi hỏi thời gian và nỗ lực để nắm bắt và áp dụng công nghệ này vào thiết kế phần mềm.
Cuối cùng, do tập trung phát triển công nghệ giao diện người dùng đa nền tảng mới như Xamarin.Forms và NET MAUI, WPF có thể không nhận được sự phát triển và cập nhật tiếp theo như các công nghệ giao diện người dùng mới hơn Điều này có thể gây khó khăn cho những người phát triển muốn sử dụng các tính năng và công nghệ mới nhất trong WPF.
Tóm lại, WPF là một công nghệ mạnh mẽ và linh hoạt để thiết kế phần mềm Windows với giao diện người dùng đẹp mắt và đồ họa phức tạp Tuy nhiên, nó có nhược điểm liên quan đến yêu cầu tài nguyên, hạn chế đa nền tảng và ngưỡng học đòi cao Trước khi sử dụng WPF, cần cân nhắc các yêu cầu cụ thể của dự án và đảm bảo rằng WPF phù hợp với các yêu cầu đó.
3.1.2 ActiveX Data Objects NET (ADO.Net)
ActiveX Data Objects NET (ADO.Net) là một công nghệ được sử dụng trong môi trường NET Framework để làm việc với dữ liệu trong các ứng dụng Windows Nó cung cấp các thành phần và lớp để kết nối, truy vấn và xử lý dữ liệu từ các nguồn dữ liệu khác nhau như cơ sở dữ liệu SQL Server, Oracle, MySQL và nhiều nguồn dữ liệu khác. Ưu điểm khi thiết kế một phần mềm windows:
Hiệu suất cao: ADO.NET được tối ưu hóa để đạt hiệu suất cao khi làm việc với dữ liệu Nó sử dụng các đối tượng như SqlConnection,SqlDataAdapter và SqlDataReader để thực hiện các tác vụ như kết nối
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
30 cơ sở dữ liệu, truy
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
31 vấn và đọc dữ liệu Các đối tượng này được thiết kế để tối ưu hóa tốc độ truy cập và xử lý dữ liệu, đảm bảo rằng ứng dụng hoạt động mượt mà và đáp ứng nhanh chóng với dữ liệu. Đa dạng nguồn dữ liệu: ADO.NET hỗ trợ làm việc với nhiều nguồn dữ liệu khác nhau như cơ sở dữ liệu quan hệ, cơ sở dữ liệu XML và các nguồn dữ liệu khác Điều này cho phép phát triển ứng dụng Windows tương tác với các nguồn dữ liệu khác nhau một cách linh hoạt và dễ dàng. Tích hợp với NET Framework: ADO.NET được tích hợp chặt chẽ với NET Framework, điều này mang lại nhiều lợi ích cho nhà phát triển Các lớp ADO.NET có thể được sử dụng trong ngôn ngữ lập trình C#, VB.NET và các ngôn ngữ khác trong NET Framework Việc sử dụng ADO.NET trong môi trường NET giúp tối ưu hóa quy trình phát triển, tăng cường tính nhất quán và dễ dàng quản lý mã nguồn.
Nhược điểm khi thiết kế một phần mềm windows:
Khó hiểu và phức tạp: ADO.NET có cấu trúc phức tạp và yêu cầu kiến thức kỹ thuật cao để làm việc với nó Người phát triển cần phải hiểu rõ về các khái niệm và cách thức hoạt động của ADO.NET, cũng như phải có kiến thức về SQL để tạo và xử lý các câu truy vấn Điều này đòi hỏi ngưỡng học đòi cao và có thể làm tăng thời gian và công sức để phát triển và bảo trì ứng dụng.
Cần viết mã thủ công: Trong ADO.NET, bạn cần viết mã thủ công để thực hiện các tác vụ như kết nối cơ sở dữ liệu, tạo câu truy vấn và xử lý dữ liệu Điều này yêu cầu kiến thức kỹ thuật cao và tốn nhiều thời gian và công sức So với các công nghệ ORM (Object-Relational Mapping) như Entity Framework, ADO.NET đòi hỏi người phát triển phải có kiến thức chi tiết về SQL và cách tương tác với cơ sở dữ liệu.
Kỹ Thuật
OOP (Object-Oriented Programming) là một phương pháp lập trình mà tập trung vào việc xây dựng các đối tượng, mô hình hóa thế giới thực vào trong mã
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
35 nguồn Trong OOP, các đối tượng được tạo ra từ các lớp, có khả năng tương tác với nhau thông qua việc truyền tin nhắn và thực hiện các phương thức. Ưu điểm khi thiết kế một phần mềm windows:
Tính mô-đun hóa: OOP cho phép mô-đun hóa mã nguồn thành các đối tượng độc lập Điều này giúp tạo ra mã dễ bảo trì, tái sử dụng và mở rộng Các đối tượng có thể được tạo ra và sử dụng lại trong các phần mềm khác nhau, giúp tiết kiệm thời gian và công sức phát triển.
Tính kế thừa và đa hình: OOP cung cấp tính năng kế thừa và đa hình, cho phép lớp con kế thừa các thuộc tính và phương thức từ lớp cha và tuỳ chỉnh hoặc mở rộng chúng Điều này giúp giảm sự lặp lại mã nguồn và tăng tính linh hoạt trong việc thiết kế phần mềm.
Tính trừu tượng: OOP cho phép tạo ra các lớp trừu tượng, chỉ định giao diện chung cho các đối tượng và giới hạn truy cập vào các thành phần nội bộ Điều này giúp tách biệt phần hiện thực và phần giao diện của phần mềm, giúp việc phát triển và bảo trì dễ dàng hơn.
Quản lý dễ dàng: OOP giúp quản lý mã nguồn dễ dàng hơn bằng cách chia thành các đối tượng, giúp tăng tính tổ chức và đơn giản hóa quá trình phát triển Các đối tượng có thể được quản lý độc lập và tái sử dụng, giúp nâng cao hiệu suất và khả năng mở rộng của phần mềm.
Nhược điểm khi thiết kế một phần mềm windows: Đòi hỏi kiến thức cao: OOP là một phương pháp lập trình phức tạp, đòi hỏi người phát triển phải có kiến thức chuyên sâu về nguyên lý và quy tắc của OOP Việc hiểu và áp dụng các khái niệm như kế thừa, đa hình, trừu tượng và gói gọn yêu cầu một quá trình học tập và nắm vững Điều này có thể tạo ra rào cản cho những người mới học hoặc người mới làm quen với OOP.
Phức tạp khi dự án lớn: Khi dự án có quy mô lớn, việc sử dụng OOP có thể làm cho cấu trúc và quản lý mã nguồn trở nên phức tạp hơn Việc xác định
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
36 và thiết kế các lớp, quan hệ giữa chúng, và quản lý sự tương tác giữa các đối tượng có thể trở thành một nhiệm vụ khó khăn và tốn thời gian. Khó khăn trong việc xác định các lớp và mối quan hệ: Trong OOP, việc xác định các lớp và quan hệ giữa chúng là một phần quan trọng trong thiết kế phần mềm Việc thiếu sự chính xác hoặc đánh giá sai về các đối tượng và quan hệ có thể dẫn đến cấu trúc phần mềm không linh hoạt, khó mở rộng và khó bảo trì.
Hiệu suất yếu trong một số trường hợp: Trong một số trường hợp, việc sử dụng OOP có thể làm giảm hiệu suất của phần mềm Việc sử dụng nhiều đối tượng và gọi các phương thức qua lại có thể tạo ra chi phí thời gian và tài nguyên Điều này đặc biệt quan trọng đối với các ứng dụng yêu cầu hiệu suất cao hoặc xử lý dữ liệu lớn.
Khó khăn trong việc kiểm thử và gỡ lỗi: Khi phần mềm được thiết kế theo mô hình OOP, việc kiểm thử và gỡ lỗi có thể trở nên phức tạp Vì các đối tượng tương tác với nhau, việc phát hiện và sửa lỗi có thể trở nên khó khăn hơn Điều này đòi hỏi kiến thức chuyên sâu về quá trình chạy và tương tác của các đối tượng.
Tổng quan, mặc dù OOP có nhược điểm, như đòi hỏi kiến thức cao và khó khăn trong thiết kế ban đầu, nhưng với sự hiểu biết và áp dụng đúng, OOP là một công cụ mạnh mẽ để xây dựng
MVVM (Model-View-ViewModel) là một mô hình thiết kế phần mềm trong lập trình Windows, nổi bật trong việc phát triển ứng dụng dựa trên WPF (Windows Presentation Foundation) và Xamarin.Forms MVVM chia ứng dụng thành ba phần chính: Model, View và ViewModel.
Model đại diện cho dữ liệu và logic xử lý dữ liệu của ứng dụng.
View đại diện cho giao diện người dùng, nơi người dùng tương tác với ứng dụng.
PHẦN MỀM QUẢN LÝ CÔNG TY – LẬP TRÌNH TRÊN WINDOWS – HKII_22_23
ViewModel là một lớp trung gian giữa Model và View, cung cấp dữ liệu và chứa logic xử lý cho View. Ưu điểm khi thiết kế một phần mềm windows:
Tách biệt logic xử lý và giao diện người dùng: MVVM tách rời logic xử lý dữ liệu và giao diện người dùng Điều này giúp rõ ràng hóa, dễ bảo trì và tái sử dụng code View chỉ chịu trách nhiệm hiển thị dữ liệu và gửi tương tác của người dùng đến ViewModel, trong khi ViewModel chịu trách nhiệm xử lý logic và cung cấp dữ liệu cho View.
Kiểm thử dễ dàng: MVVM giúp việc kiểm thử trở nên dễ dàng hơn Với sự tách biệt giữa logic và giao diện, bạn có thể kiểm thử logic của ứng dụng mà không cần tới giao diện người dùng ViewModel có thể được kiểm thử độc lập, giúp đảm bảo tính đúng đắn và hiệu suất của ứng dụng. Tính mô-đun hóa và tái sử dụng cao: MVVM giúp tách biệt các thành phần trong ứng dụng thành các mô-đun độc lập Điều này tạo điều kiện thuận lợi cho việc mở rộng, bảo trì và tái sử dụng code View và ViewModel có thể được sử dụng lại trong các phần mềm khác nhau, giúp tiết kiệm thời gian và công sức phát triển.