Hệ Thống Website Hỗ Trợ Chấm Công Cho Doanh Nghiệp

Xây dựng hệ thống website chấm công giúp doanh nghiệp quản lý thời gian làm việc hiệu quả, tiết kiệm chi phí và nâng cao năng suất.

Trường đại học

Đại học Đà Nẵng

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

54
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

CAM ĐOAN

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Ngôn ngữ lập trình Java

1.2. Lịch sử phát triển

1.3. Đôi nét về lịch sử

1.4. Tổng quan về Spring

1.5. Tổng quan về Hệ quản trị cơ sở dữ liệu PostgreSql

1.6. Bootstrap và Responsive

1.7. Javascript và ReactJs

1.8. Ngôn ngữ lập trình Python

1.9. Tổng quan về Face Recognition

1.10. Công cụ lập trình

1.11. Visual Studio Code

2. CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

2.1. Khảo sát yêu cầu

2.2. Liệt kê người dùng và yêu cầu

2.3. Quản lý nhân sự

2.4. Quản trị viên

2.5. Phân tích thiết kế hệ thống

2.6. Kịch bản cho từng usecase

2.6.1. Kịch bản cho usecase Chấm công

2.6.2. Kịch bản cho usecase Xem bảng chấm công

2.6.3. Kịch bản cho usecase Xem lịch sử chấm công

2.6.4. Kịch bản cho usecase Quản lý lương

2.6.5. Kịch bản cho usecase Xem bảng lương

2.6.6. Kịch bản cho usecase Quản lý loại phép

2.6.7. Kịch bản cho usecase Quản lý phép

2.6.8. Kịch bản cho usecase Duyệt phép

2.6.9. Kịch bản cho usecase Quản lý phòng ban

2.6.10. Kịch bản cho usecase Quản lý chức vụ

2.6.11. Kịch bản cho usecase Quản lý nhân viên

2.6.12. Kịch bản cho usecase Quản lý thông tin cá nhân

2.6.13. Kịch bản cho usecase Thống kê

2.6.14. Kịch bản cho usecase Báo cáo

2.6.15. Kịch bản cho usecase đăng nhập

2.7. Xem bảng chấm công

2.8. Xem bảng lương

2.9. Quản lý nhân viên

2.10. Thiết kế ERD

2.11. Xem bảng chấm công

2.12. Xem bảng lương

3. CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH

3.1. Công cụ xây dựng chương trình

3.2. Giao diện chương trình

3.2.1. Giao diện trang chủ

3.2.2. Giao diện Chấm công

3.2.3. Giao diện Bảng chấm công

3.2.4. Giao diện Bảng lương

3.2.5. Giao diện Chi tiết bảng lương

3.2.6. Giao diện Lịch sử nghỉ phép

3.2.7. Giao diện Danh sách phòng ban

3.2.8. Giao diện Cập nhật thông tin phòng ban

3.2.9. Giao diện Danh sách chức vụ

3.2.10. Giao diện Cập nhật thông tin chức vụ

3.2.11. Giao diện Danh sách nhân viên

3.2.12. Giao diện Cập nhật thông tin nhân viên

3.2.13. Giao diện Thống kê

3.2.14. Giao diện Thống kê chi tiết

3.2.15. Giao diện đăng nhập

KẾT LUẬN & HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về hệ thống website hỗ trợ chấm công cho doanh nghiệp

Hệ thống website hỗ trợ chấm công cho doanh nghiệp là một giải pháp công nghệ hiện đại, giúp quản lý thời gian làm việc của nhân viên một cách hiệu quả. Với sự phát triển của công nghệ thông tin, việc áp dụng phần mềm chấm công trực tuyến đã trở thành xu hướng tất yếu. Hệ thống này không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong việc ghi nhận thời gian làm việc của nhân viên.

1.1. Lợi ích của hệ thống chấm công trực tuyến

Hệ thống chấm công trực tuyến mang lại nhiều lợi ích cho doanh nghiệp như giảm thiểu sai sót trong việc ghi nhận thời gian làm việc, dễ dàng theo dõi và quản lý thông tin nhân viên, và tự động hóa quy trình tính lương.

1.2. Các chức năng chính của hệ thống

Hệ thống bao gồm các chức năng như đăng nhập, quản lý thông tin cá nhân, chấm công, xem bảng lương và báo cáo chấm công, giúp người dùng dễ dàng thao tác và quản lý.

II. Thách thức trong việc triển khai hệ thống chấm công cho doanh nghiệp

Mặc dù hệ thống website hỗ trợ chấm công mang lại nhiều lợi ích, nhưng việc triển khai cũng gặp không ít thách thức. Doanh nghiệp cần phải đối mặt với các vấn đề như chi phí đầu tư ban đầu, đào tạo nhân viên và tích hợp với các hệ thống hiện có.

2.1. Chi phí đầu tư và bảo trì

Chi phí đầu tư cho hệ thống chấm công có thể cao, bao gồm chi phí phần mềm, phần cứng và bảo trì. Doanh nghiệp cần cân nhắc kỹ lưỡng trước khi quyết định.

2.2. Đào tạo nhân viên sử dụng hệ thống

Đào tạo nhân viên là một yếu tố quan trọng để đảm bảo hệ thống hoạt động hiệu quả. Doanh nghiệp cần tổ chức các khóa đào tạo để nhân viên làm quen với hệ thống mới.

III. Phương pháp xây dựng hệ thống website hỗ trợ chấm công

Việc xây dựng hệ thống website hỗ trợ chấm công cho doanh nghiệp cần tuân thủ một quy trình rõ ràng. Các bước từ phân tích yêu cầu, thiết kế hệ thống đến triển khai và kiểm thử đều rất quan trọng.

3.1. Phân tích yêu cầu và thiết kế hệ thống

Bước đầu tiên là phân tích yêu cầu của người dùng và thiết kế hệ thống sao cho phù hợp với nhu cầu thực tế của doanh nghiệp.

3.2. Triển khai và kiểm thử hệ thống

Sau khi thiết kế, việc triển khai hệ thống và kiểm thử là rất quan trọng để đảm bảo mọi chức năng hoạt động đúng như mong đợi.

IV. Ứng dụng thực tiễn của hệ thống chấm công trong doanh nghiệp

Hệ thống website hỗ trợ chấm công đã được nhiều doanh nghiệp áp dụng và mang lại hiệu quả cao. Việc tự động hóa quy trình chấm công giúp tiết kiệm thời gian và giảm thiểu sai sót.

4.1. Cải thiện hiệu suất làm việc

Hệ thống giúp cải thiện hiệu suất làm việc của nhân viên bằng cách giảm thiểu thời gian dành cho việc chấm công thủ công.

4.2. Tăng cường tính chính xác trong báo cáo

Với hệ thống tự động, báo cáo chấm công trở nên chính xác hơn, giúp doanh nghiệp dễ dàng theo dõi và quản lý.

V. Kết luận và hướng phát triển hệ thống chấm công trong tương lai

Hệ thống website hỗ trợ chấm công cho doanh nghiệp không chỉ là một công cụ quản lý mà còn là một phần quan trọng trong chiến lược phát triển của doanh nghiệp. Trong tương lai, việc tích hợp thêm các công nghệ mới như trí tuệ nhân tạo và phân tích dữ liệu sẽ giúp hệ thống ngày càng hoàn thiện hơn.

5.1. Tích hợp công nghệ mới

Việc tích hợp công nghệ mới sẽ giúp hệ thống chấm công trở nên thông minh hơn, từ đó nâng cao hiệu quả quản lý.

5.2. Định hướng phát triển bền vững

Doanh nghiệp cần có định hướng phát triển bền vững cho hệ thống chấm công, đảm bảo đáp ứng nhu cầu ngày càng cao của thị trường.

10/07/2025

Trích đoạn nội dung tài liệu

Chương 1 CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ lập trình Java 1. Java là gì? Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành Bytecode, Bytecode sau đó sẽ được môi trường thực thi (Runtime Environment) chạy.

Cú pháp Java được vay mượn nhiều từ C và C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn. Lỗi! Không tìm thấy nguồn tham chiếu. Lịch sử phát triển Java được khởi đầu bởi James - Gosling và bạn đồng nghiệp ở Sun Microsystems năm 1991.

Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi) do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này. Java được phát hành vào năm 1994. Sau khi Oracle mua lại công ty Sun Microsystems năm 2009 - 2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch". Lịch sử phiên bản java: − JDK 1.2 (Playground) 08 tháng 12, 1998 − J2SE 1.3 (Kestrel) 08 tháng 5, 2000 − J2SE 1.0 (Merlin) 06 tháng 02, 2002 − J2SE 5 (1.0) (Tiger) 30 tháng 9, 2004 − Java SE 6 (còn gọi là Mustang), được công bố 11 tháng 12 năm 2006.

− Java SE 7 (còn gọi là Dolphin), được bắt đầu từ tháng 8 năm 2006 và công bố ngày 28 tháng 7 năm 2011. − Java SE 8 ngày 18 tháng 3 năm 2014 − Java SE 9 ngày 21 tháng 9 năm 2017 − Java SE 10 ngày 20 tháng 3 năm 2018 − Java SE 11 ngày 25 tháng 9 năm 2018 − Java SE 12 ngày 19 tháng 3 năm 2019 SVTH: Phạm Văn Đông 1 Hệ thống website hỗ trợ chấm công cho doanh nghiệp − Java SE 13 ngày 17 tháng 9 năm 2019 − Java SE 14 ngày 17 tháng 3 năm 2020 − Java SE 15 ngày 15 tháng 9 năm 2020 − Java SE 16 ngày 16 tháng 3 năm 2021 − Java SE 17 ngày 14 tháng 9 năm 2021 1. Đôi nét về lịch sử Vào năm 2002, Spring Framework phát hành phiên bản đầu tiên bởi Rod Johnson. Việc xây dựng các ứng dụng doanh nghiệp trở nên đơn giản và dễ dàng hơn.

Rod Johnson đã cho xuất bản một cuốn sách được phổ biến rộng rãi có nhan đề "J2EE Development without EJB". Điều này đã cho Spring Framework rất nhiều động lực để thay thế EJB.[2] Ngày nay, Spring đã trở thành framework mã nguồn mở phổ biến nhất để xây dựng các ứng dụng doanh nghiệp. Cách tiếp cận thực tế ban đầu của Rod Johnson tiếp tục được phát triển và hướng tới một bộ công cụ hoàn chỉnh dành cho xây dựng các ứng dụng doanh nghiệp. Theo một số nguồn, trên 50% các ứng dụng web Java hiện nay đang sử dụng Spring Framework.

Để ngăn chặn sự phức tạp trong phát triển các ứng dụng, Spring Framework thường dựa trên các quan điểm như sau: − Đơn giản hóa công việc phát triển thông qua việc sử dụng các đối tượng Java đơn giản hay còn được gọi là POJO (Plain Old Java Object). − Nới lỏng ràng buộc giữa các thành phần thông qua việc sử dụng Dependency Injection và viết các interface. − Tiếp cận lập trình khai báo bằng cách sử dụng các quy tắc (convention) và các khía cạnh (aspect) chung. − Giảm thiểu các mã nghi thức và soạn sẵn (boilerplate) thông qua việc sử dụng các khuôn mẫu (template) và các khía cạnh.

Tổng quan về Spring − Spring Core: Spring Core chính là thành phần trung tâm, cốt lõi của Spring Framework. Đây chính là nền tảng để xây dựng nên các thành phần khác. − Spring Bean: Spring Bean là trung tâm của Spring Core và là trái tim của một ứng dụng Spring. − Dependency Injection (DI): Dependency Injection (có thể dịch tiêm các thành phần phụ thuộc) là một sức mạnh nổi bật của Spring Framework.

SVTH: Phạm Văn Đông 2 Hệ thống website hỗ trợ chấm công cho doanh nghiệp − Spring Context: Spring Context mang mọi thứ lại với nhau. − Spring Expression Language (SpEL): Spring Expression Language là một ngôn ngữ ngắn gọn giúp cho việc cấu hình Spring Framework trở nên linh hoạt hơn. − Các dự án trong Spring Framework: Spring Framework là một tập hợp của nhiều dự án con. − Spring MVC: Spring MVC được thiết kế dành cho việc xây dựng các ứng dụng nền tảng web.

− Spring Data: Cung cấp một cách tiếp cận đúng đắn để truy cập dữ liệu từ cơ sở dữ liệu quan hệ, phi quan hệ, map-reduce, … − Spring Security: Dự án này cung cấp các cơ chế xác thực (authentication) và phân quyền (authorization) cho ứng dụng. − Spring Boot: là một framework giúp phát triển cũng như chạy ứng dụng một cách nhanh chóng. − Spring Batch: tạo các lịch trình (scheduling) và tiến trình (processing). − Spring Integration: là một implementation của Enterprise Integration Patterns (EIP).

− Spring XD: đơn giản hóa công việc phát triển các ứng dụng Big Data. − Spring Social: kết nối ứng dụng của bạn với các API bên thứ ba của Facebook, Twitter, Linkedin, .1: Mô hình Spring Framework Runtime SVTH: Phạm Văn Đông 3 Hệ thống website hỗ trợ chấm công cho doanh nghiệp 1. RestfulAPI (RestController Spring Boot) Khác với @Controller là sẽ trả về một template. @RestController trả về dữ liệu dưới dạng JSON.

Các đối tượng trả về dưới dạng Object sẽ được Spring Boot chuyển thành JSON. Các đối tượng trả về rất đa dạng, bạn có thể trả về List, Map, … Spring Boot sẽ convert hết chúng thành JSON, mặc định sẽ dùng Jackson converter để làm điều đó. Nếu bạn muốn API tùy biến được kiểu dữ liệu trả về, bạn có thể trả về đối tượng ResponseEntity của Spring cung cấp. Đây là đối tượng cha của mọi response và sẽ wrapper các object trả về.

Vì xây dựng API, nên các thông tin từ phía Client gửi lên Server sẽ nằm trong Body, và cũng dưới dạng JSON luôn. Tất nhiên là Spring Boot sẽ làm giúp chúng ta các phần nặng nhọc, nó chuyển chuỗi JSON trong request thành một Object Java. bạn chỉ cần cho nó biết cần chuyển JSON thành Object nào bằng Annotation @RequestBody. Ngoài thông tin trong Body của request, thì cái chúng ta cần chính là cái con số 12 nằm trong URL.

Phải lấy được con số đó thì mới biết được đối tượng To-do cần thao tác là gì. Lúc đó Anotation @PathVariable tham chiến. Tổng quan về Hệ quản trị cơ sở dữ liệu PostgreSql PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng. Nó là một hệ quản trị cơ sở dữ liệu miễn phí (open source) phổ biến nhất hiện nay.

Với hơn 30 năm phát triển mạnh mẽ nó đã đạt được độ tin cậy cao, tính năng mạnh mẽ và hiệu suất cao. Cơ sở dữ liệu PostgreSQL là một hệ thống quản lý dữ liệu nguồn mở cấp doanh nghiệp. Nó hỗ trợ cả SQL cho quan hệ và JSON cho các truy vấn không liên quan. Nó được hỗ trợ bởi một cộng đồng các nhà phát triển có kinh nghiệm, những người đã đóng góp to lớn để làm cho nó trở thành hệ thống DBMS có độ tin cậy cao.

Bootstrap và Responsive Bootstrap là front-end framework, là một bộ sưu tập miễn phí các công cụ để tạo ra các trang web và các ứng dụng web. Bootstrap bao gồm HTML và CSS dựa trên các mẫu thiết kế cho kiểu chữ, hình thức, các button và các thành phần giao diện khác, cũng như mở rộng tùy chọn JavaScript. Boostrap định nghĩa sẵn các class CSS giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian. Các thư viện Bootstrap có những đoạn mã sẵn sàng cho chúng ta áp dùng vào website của mình mà không phải tốn quá nhiều thời gian để tự viết.

Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết. Bootstrap cung cấp tính năng responsive và mobile first, nghĩa là làm cho trang web có thể tự co giãn để tương thích với mọi thiết SVTH: Phạm Văn Đông 4 Hệ thống website hỗ trợ chấm công cho doanh nghiệp bị khác nhau, từ điện thoại di động đến máy tính bảng, máy tính xách tay, máy tính để bàn,. Một khía cạnh khác là responsive web design làm cho trang web cung cấp được trải nghiệm tuyệt vời cho người dùng trên nhiều thiết bị, kích thước màn hình khác nhau. Một trang có thể hoạt động tốt bất kể sự biến đổi sẽ cung cấp một trải nghiệm người dùng tốt và nhất quán hơn một trang được thiết kế cho một loại thiết bị và kích thước màn hình cụ thể.

Javascript và ReactJs 1. Javascript JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo trang web tương tác. Từ làm mới bảng tin trên trang mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác, các chức năng của JavaScript có thể cải thiện trải nghiệm người dùng của trang web. Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web.

Ví dụ: khi duyệt internet, bất cứ khi nào bạn thấy quảng cáo quay vòng dạng hình ảnh, menu thả xuống nhấp để hiển thị hoặc màu sắc phần tử thay đổi động trên trang web cũng chính là lúc bạn thấy các hiệu ứng của JavaScript. Trước đây, các trang web có dạng tĩnh, tương tự như các trang trong một cuốn sách. Một trang tĩnh chủ yếu hiển thị thông tin theo một bố cục cố định và không làm được mọi thứ mà chúng ta mong đợi như ở một trang web hiện đại. JavaScript dần được biết đến như một công nghệ phía trình duyệt để làm cho các ứng dụng web linh hoạt hơn.

Sử dụng JavaScript, các trình duyệt có thể phản hồi tương tác của người dùng và thay đổi bố cục của nội dung trên trang web. Khi ngôn ngữ này phát triển hoàn thiện, các nhà phát triển JavaScript đã thiết lập các thư viện, khung và cách thức lập trình cũng như bắt đầu sử dụng ngôn ngữ này bên ngoài trình duyệt web. Ngày nay, bạn có thể sử dụng JavaScript để thực hiện hoạt động phát triển cả ở phía máy khách và máy chủ. Ngôn ngữ lập trình Python 1.

Python Python là một ngôn ngữ lập trình bậc cao được tạo ra bởi Guido van Rossum và ra mắt lần đầu vào năm 1991. Được thiết kế với ưu điểm dễ đọc, dễ học và dễ nhớ, Python được sử dụng rộng rãi trong nhiều mục đích lập trình, đặc biệt là trong phát triển trí tuệ nhân tạo.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ