Hệ thống Chấm công doanh nghiệp
Hệ thống Chấm công doanh nghiệp C2H4 Group Mục lục Bài tập lớn Client – Server Trang 1 Hệ thống Chấm công doanh nghiệp C2H4 Group 1. Giới thiệu đề tài Ngày nay, việc tin học hóa đang diễn ra mạnh mẽ trong các doanh nghiệp, xí nghiệp ở tất cả các quy mô tại Việt Nam. Các phần mềm quản lý doanh thu, quản lý nhân viên, quản lý xuất nhập… trong các công ty đã và đang được các nhà quản lý quan tâm bởi lợi ích nó đem lại. Việc ứng dụng các HTTT vào thực tế giúp giảm chi phí cho việc quản lý trong công ty. Một trong những công việc được tin học hóa đó là hệ thống quản lý chấm công nhân viên trong các công ty. Chấm công hiện nay là một tác vụ thật sự cần thiết và diễn ra hàng ngày trong các doanh nghiệp. Qua việc quản lý tốt giờ giấc làm việc của nhân viên, doanh nghiệp có thể tăng thêm được hiệu quả hoạt động kinh doanh. Riêng với nhà quản lý, họ còn có thể dựa vào đó để lên kế hoạch nhân sự, phân bổ công việc… Như đã trình bày ở trên, hệ thống chấm công trong doanh nghiệp với mục đích chính là giúp cho doanh nghiệp kiểm soát được hoạt động, lịch làm việc, công tác của các nhân viên để từ đó quản lý tiền lương, nhân viên, lịch hoạt động của nhân viên để đảm bảo tính kỹ luật cũng như ổn định của sản xuất. Bằng việc khảo sát thực tế qua các doanh nghiệp cùng với việc tham khảo qua một số phần mềm chấm công hiện có trên thị trường ATA do Hà Nội CTA phát triển, TAS do Digitech phát triển và thương mại hóa, nhóm có rút ra một số nhược điểm của các phần mềm chấm công hiện nay như sau: - Phần lớn các phần mềm chấm công hiện nay phát triển dựa trên nền tảng desktop application, phụ thuộc nhiều vào môi trường hệ điều hành, khó khăn trong việc cập nhật, triển khai. - Việc này cũng khó khăn cho nhà quản lý trong việc kiểm soát tiến độ khi không ở trong công ty. - Việc thiết kế dựa vào chủ yếu mô hình hướng cấu trúc nên khả năng phân tầng không rõ ràng, khó khăn khi mở rộng hệ thống hơn so với mô hình hướng đối tượng. - Không có tính tương tác cao với người sử dụng. - Các tác vụ mang tính cứng nhắc, ít linh hoạt. Bởi vậy, nhóm dự án dự định sẽ xây dựng một hệ thống quản lý chấm công nhân viên trên nền web, vẫn đảm bảo được yêu cầu trong việc quản lý đồng thời cũng khắc phục được các nhược điểm trên. Bài tập lớn Client – Server Trang 2 Hệ thống Chấm công doanh nghiệp C2H4 Group 2. Quy trình phát triển dự án 2.1. Giới thiệu CMMI Mô hình CMMI (Capability Maturity Model Integration) là một khung các giải pháp tối ưu cho quá trình sản xuất phần mềm. Phiên bản CMMI-DEV hiện nay (CMMI cho chuyên viên phát triển), mô tả những giải pháp tốt nhất trong quá trình kiểm soát, đo lường và kiểm tra các quy trình phát triển phần mềm. Mô hình CMMI không tập trung mô tả chính các quá trình mà chỉ mô tả đặc điểm của các quá trình hiệu quả, vì vậy mô hình CMMI đưa ra chỉ dẫn cho các công ty để họ có thể tự mình phát triển hoặc điều chỉnh chính các quá trình của họ. Mô hình CMMI được mô tả trên trang web chính thức CMMI website :dự án CMMI là một nỗ lực chung nhằm cung cấp các mô hình để cải thiện nâng cấp các sản phẩm và quy trình. Trọng tâm chính của dự án là tập trung xây dựng các công cụ hỗ trợ việc cải thiện các quy trình dùng để phát triển và ổn định các hệ thống và sản phẩm. Kết quả của dự án CMMI là một bộ các sản phẩm cung cấp một phương pháp tiếp cận tích hợp trên toàn doanh nghiệp để cải thiện các quy trình sản xuất mà vẫn có thể giảm bớt nhân công dư thừa, độ phức tạp, và chi phí từ việc sử dụng các mô hình CMM (quy trình quản lý sản xuất phẩn mềm) riêng lẻ và nhiều mô hình CMM. Mô hình này xác định năm cấp độ của CMM đối với một công ty : 1 Khởi đầu (lộn xộn, không theo chuẩn): đây là điểm khởi đầu để sử dụng một quy trình mới. 2 Lặp (quản lý dự án, tuân thủ quy trình) : Quy trình này được lặp lại nhiều lần 3 Xác lập (thể chế hóa): Quy trình này được xác lập/ xác nhận như một quy trình doanh nghiệp tiêu chuẩn. 4 Kiểm soát (định lượng): Tiến hành kiểm soát và đo lường quy trình sản xuất phần mềm Bài tập lớn Client – Server Trang 3 Hệ thống Chấm công doanh nghiệp C2H4 Group 5 Tối ưu (cải tiến quy trình): Kiểm soát quy trình bao gồm việc cân nhắc kỹ để cải tiến/ tối ưu hóa quy trình. 2.2. Ứng dụng CMMI CMMI bao gồm hàng loạt các quy trình trong phát triển phần mềm từ khi bắt đầu dự án đến khi kết thúc, kèm theo là các tài liệu đi kèm, quản lý cấu hình,… Do quy mô của dự án nhỏ và thời gian không cho phép nên dự án sẽ chỉ tập trung vào cách tổ chức thư mục và quản lý source trong quá trình phát triển. Cấu trúc thư mục của dự án: Mô hình cấu trúc thư mục của dự án (mức System) Cấp 1 Cấp 2,3,4 Giải thích 01_Contracts Lưu trữ các văn bản hợp đồng của dự án 02_Baselines 01_BAL 01_BAL_<Tên viết tắt của dự án>_YYYYMMDD Lưu trữ các dữ liệu (các thành phần cấu hình tại version xác định) tại các mốc đặt Baseline của dự án – sử dụng cho việc xây dựng lại hệ thống sau này (nếu cần) và các phiên bản bàn giao (Release) cho khách hàng (hoặc các bên liên quan) Các thành phần cấu hình tại Baseline được lấy từ vùng lưu trữ các thành phần đã được rà soát và phê duyệt (Mục 03_Approval) 02_REL 01_REL_Tên viết tắt của dự án>_YYYMMDD 03_Approval 01_Requirements Các tài liệu đã được rà soát và phê chuẩn chốt phiên bản được lưu tại khu vực này. 02_Analysis & Design 03_Sources 04_Implementation Bài tập lớn Client – Server Trang 4 Hệ thống Chấm công doanh nghiệp C2H4 Group Các tài liệu có phiên bản sẽ được chọn lựa để lập dữ liệu cho Baseline và Release bàn 05_Testing 06_System Deployment 07_Project Management 08_Development 09_Configuration & Change Management 04_Working 01_Requirements Documents Các tài liệu yêu cầu của dự án Tài liệu đặc tả yêu cầu phần mềm Models Các tài liệu mô hình các thành phần của phần mềm: Tài liệu đặc tả usecase 02_Analysis & Design Analysis Các tài liệu phân tích thiết kế của phần mềm: Tài liệu Kiến trúc phần mềm, tài liệu thiết kế dữ liệu, Tài liệu thiết kế lớp, tài liệu thiết kế màn hình Design Database 03_Sources Khu vực lưu trữ mã nguồn của phần mềm 04_Implementation Build Các chương trình thực thi của phần mềm SubSystem 05_Testing Unit Test Các tài liệu Kiểm thử của dự án qua các giai đoạn Kiểm thử: Thiết kế Kiểm thử và các kết quả kiểm thử: Các trường hợp Kiểm thử, Báo cáo kết quả Kiểm thử Integration Test System Test Acceptance Test 06_System Deployment Documents Các tài liệu triển khai dự án: Thủ tục triển khai, Hướng dẫn sử dụng, Hướng dẫn cài Manuals Installation Bài tập lớn Client – Server Trang 5 Hệ thống Chấm công doanh nghiệp C2H4 Group đặt … 07_Project Management Plans Project Các tài liệu Kế hoạch của dự án: Kế hoạch phát triển, Kế hoạch quản lý cấu hình, Kế hoạch Kiểm thử, Kế hoạch Tích hợp, Kế hoạch triển khai CCM QA Test Integration Deploymen t TimeSheet Các tài liệu về biểu thời gian, báo cáo, ghi chú cuộc họp, các tài liệu đánh giá ước lượng dự án Lịch biểu thời gian cho tất cả các thành viên của dự án Records Meeting Estimation Reports 08_Development Khu vực lưu trữ các sản phẩm của dự án trên các công cụ sử dụng cho dự án (Mục này là tùy chọn) 09_Configuration & Change Management Khu vực quản lý cấu hình và kiểm soát thay đổi của dự án: Danh sách các thành phần cấu hình Yêu cầu thay đổi 05_Backup BAK_<Tên viết tắt của dự án>_YYYYMMDD Khu vực lưu trữ các dữ liệu sao lưu của dự án 06_Reused Nếu có 07_References Chứa tài liệu, biểu mẫu tham khảo phục vụ việc thực hiện dự án, Các tài liệu hướng dẫn đặc biệt của dự án (Project Specific Guidelines)… Người quản lý cấu hình có thể tạo thêm các thư mục khác tại đây nếu Bài tập lớn Client – Server Trang 6 Hệ thống Chấm công doanh nghiệp C2H4 Group cần Bên cạnh việc tổ chức thư mục, dự án có sử dụng Subversion (SVN) và Google Code để quản lý source code. Bài tập lớn Client – Server Trang 7 Hệ thống Chấm công doanh nghiệp C2H4 Group 3. Giới thiệu nghiệp vụ Qua việc phân tích nghiệp vụ tại công ty cổ phần Archi, hệ thống chia làm các phân hệ chính sau : 3.1. Phân hệ quản lý nhân sự : 3.1.1. Quản lý phòng ban bộ phận : Thêm mới,xem ,sửa xóa từng bộ phận 3.1.2. Quản lý nhân viên cán bộ : Thêm mới,cập nhật thông tin nhân viên Quản lý luân chuyển cán bộ giữa các phòng ban Tìm kiếm thông tin nhân viên Thống kê nhân viên theo các phong ban 3.2. Phân hệ chấm công : Quản lý tháng chấm công Quản lý ca làm việc Quản lý thông tin đăng ký làm thêm giờ của nhân viên Quản lý lý do vắng mặt Quản lý lý do xin ra ngoài giữa giờ Quản lý giờ vào ra của nhân viên 3.2.1 Quản lý tháng chấm công : Định nghĩa tháng chấm công: tuỳ theo yêu cầu của từng doanh nghiệp, có thể tuỳ ý đặt ngày bắt đầu và kết thúc của tháng chấm công. Mặc định là từ ngày 01 đến ngày cuối cùng hàng tháng. Tất cả các báo cáo theo tháng sẽ tính toán dựa theo ngày bắt đầu và ngày kết thúc đã được định nghĩa. Cập nhật thông tin tháng chấm công:cho phép người quản lý cập nhật lại thông tin tháng chấm công nếu thấy chưa phù hợp. Bài tập lớn Client – Server Trang 8 Hệ thống Chấm công doanh nghiệp C2H4 Group 3.2.2 Quản lý ca làm việc : Định nghĩa ca làm việc : Hệ thống cho phép định nghĩa thời gian làm việc theo mốc thời gian áp dụng (từ ngày bất kỳ nào đó). Có thể định nghĩa được rất nhiều ca và mỗi ca làm việc sẽ được hiểu dưới dạng: - Ngày bắt đầu hiệu lực (từ ngày) - Giờ đến, giờ về - Giờ vào ra riêng cho ngày thứ 7, chủ nhật (nếu không định nghĩa thì sẽ áp dụng giờ vào ra giống như ngày thường) - Nghỉ giữa ca (giờ ra, giờ vào) - Quy định thời gian cho phép đi muộn, về sớm, được hiểu là số phút xê dịch cho phép nhân viên đi muộn, và số phút cho phép nhân viên về sớm. - Quy định mốc bắt đầu tính làm thêm giờ được định nghĩa trong Ngưỡng tính làm thêm trước ca và sau ca. Đây được hiểu là nếu vượt qua số phút này thì mới được tính làm thêm. 3.2.3 Quản lý thông tin đăng ký làm thêm giờ của nhân viên : Hệ thống cho phép nhân viên đăng ký làm thêm giờ các ngày trong tuần.Để quản lý công làm thêm giờ được hiệu quả , cũng tránh được trường hợp nhân viên ở lại làm việc riêng đến quá giờ mới quẹt thẻ ra về thì không được hưởng lương làm thêm giờ 3.2.4 Quản lý lý do vắng mặt : * Dưới góc độ nhà quản lý : Hệ thống giúp công ty lập ra các quy định về lý do vắng mặt hợp lệ,lý do nào là không hợp lệ. * Dưới góc độ nhân viên : Hệ thống giúp nhân viên đăng ký lý do vắng mặt. Cập nhật thông tin đăng ký . Bài tập lớn Client – Server Trang 9 Hệ thống Chấm công doanh nghiệp C2H4 Group 3.2.5 Quản lý lý do xin ra ngoài giữa giờ : Tương tự như quản lý lý do vắng mặt, * Dưới góc độ nhà quản lý : Hệ thống giúp công ty lập ra các quy định về lý do ra ngoài hợp lệ,lý do nào là không hợp lệ, * Dưới góc độ nhân viên : Hệ thống giúp nhân viên đăng ký lý do ra ngoài. Cập nhật thông tin đăng ký ra ngoài trong giờ làm. 3.2.6 Quản lý giờ vào ra của nhân viên : Hệ thống cho phép cập nhật thông tin vào ra của nhân viên tự động ,dữ liệu lấy từ các máy quẹt thẻ. Hệ thống cho phép cập nhật thông tin vào ra của nhân viên thủ công khi có lỗi xảy ra với máy quẹt thẻ hoặc khi nhân viên quên thẻ,… 3.3. Phân hệ tính lương : Hệ thống cho phép tự động tính lương của nhân viên trong công ty trong tháng dựa trên số ngày công thực tế,mức lương cơ bản,phụ cấp,… Công thức tính lương tại công ty Archi : • Lương ngày = (Lương cơ bản + Phụ cấp)/Số ngày làm việc trong tháng • Lương tháng = Lương ngày x (số ngày đi làm + số ngày nghỉ nguyên lương) + (làm thêm NT * 150% + Làm thêm CN * 200% + Làm thêm Lễ * 300%) * Lương giờ - Bảo hiểm + Phụ cấp khác 3.4. Phân hệ báo cáo ,thống kê : Hệ thống cho phép người sử dụng lập các báo cáo ,thống kê chi tiết như : Báo cáo nhân viên đi làm từng ngày Báo cáo nhân viên đi muộn về sớm Báo cáo châm công tháng Bài tập lớn Client – Server Trang 10 [...]... các thành phần chuẩn cung cấp bởi công nghệ JSF • Tool Developer: người cung cấp các công cụ nhằm tạo ra công nghệ JSF xây dựng UI phía server dễ dàng hơn Những thành viên chính của công nghệ JSF sẽ là page authors và application developers Bài tập lớn Client – Server Trang 25 Hệ thống Chấm công doanh nghiệp C2H4 Group 5.2.6.Các thành phần chính Như hầu hết các công nghệ, Faces có những quy định nhằm... richfaces dựa trên AJAX: Bài tập lớn Client – Server Trang 29 Hệ thống Chấm công doanh nghiệp C2H4 Group 5.3.3.Ưu điểm của Richfaces a Tạo nhanh được một khung nhìn view phức tạp, thư viện Richfaces UI bao gồm các thành phần để thêm vào các đặc tả giao diện người sử dụng vào các ứng dụng JSF Bài tập lớn Client – Server Trang 30 Hệ thống Chấm công doanh nghiệp C2H4 Group b Các thành phần richfaces được thiết... trình bày) Xây dựng ứng dụng web với công nghệ JSP lưu trữ từng phần của việc phân chia này Tuy nhiên, một ứng dụng JSP không thể ánh xạ những request HTTP thành những xử lý sự kiện các Bài tập lớn Client – Server Trang 23 Hệ thống Chấm công doanh nghiệp C2H4 Group thành phần cụ hể hoặc quản lý các thành phần UI như những đối tượng có trạng thái trên server Công nghệ JSF cho phép bạn xây dựng các ứng... khởi tạo Java Bean (nếu cần thiết), ra lệnh thu thập, cập nhật thông tin Khi Java Bean hoàn thành công việc, servlet sẽ chọn trang JSP thích hợp để hiện thông tin trong Java Bean cho người dùng Bài tập lớn Client – Server Trang 22 Hệ thống Chấm công doanh nghiệp C2H4 Group 5.2.2 JavaServer Faces là gì? Công nghệ Java Server Faces là một UI framework cho việc xây dựng các ứng dụng web chạy trên Java server... Chính khả năng này đã giúp filter hoàn toàn trong suốt với các tầng xử lý phía sau Bài tập lớn Client – Server Trang 17 Hệ thống Chấm công doanh nghiệp C2H4 Group e Các ứng dụng thực tế của Filter: - Xác thực người dùng, ngăn chặn truy cập trái phép Thống kê người sử dụng khi truy cập hệ thống Nén dữ liệu trả về cho client Xác định vùng địa lý của người truy cập, thông qua đó có thể trả về được nội dung... dụng của các frame trong richfaces Bài tập lớn Client – Server Trang 34 Hệ thống Chấm công doanh nghiệp 5.4 C2H4 Group Hibernate 5.4.1.Tổng quan về Hibernate Hibernate 3.0, một công nghệ mới nhất trong nền tảng cốt lỗi của J2EE EJB 3.0 Hibernate là một framework cho persistence layer, là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh chóng Hibernate giúp người phát triển các class dùng... phần đó với nhau Một mục tiêu quan trọng khác của công nghệ JSF là cung cấp các mức độ thân thuộc các thành phần UI và các khái niệm tầng Web mà không giới hạn bạn trong một công nghệ scripting cụ thể hoặc một ngôn ngữ đánh dấu Trong khi công nghệ JSF bao gồm một thư viện thẻ tùy biến JSP dùng thay thế các thành phần trên trang JSP, API của công nghệ JSP được phân lớp trực tiếp trên đỉnh của JavaServlet... Redirect(LoginPage) End If If Not HavePermission(User) Then Redirect(DeniedPage) End If DoNextFilter End Function Bài tập lớn Client – Server Trang 18 Hệ thống Chấm công doanh nghiệp C2H4 Group Filter được cài đặt và cấu hình thực tế trong project java chấm công: File UserFilter.java package com.c2h4.timekeeping.common; import java.io.IOException; import import import import import import import import... http://java.sun.com/blueprints/patterns/DAO.html Mô hình client-server sử dụng J2EE Bài tập lớn Client – Server Trang 15 Hệ thống Chấm công doanh nghiệp Bài tập lớn Client – Server C2H4 Group Trang 16 Hệ thống Chấm công doanh nghiệp C2H4 Group 5 Các công nghệ được sử dụng 5.1.1.Filter a Khái niệm: Filter là một kỹ thuật ở mức thấp trong lập trình web của java Nó được hiểu như là một bộ lọc bao bọc lấy toàn bộ các Servlet và tài... đồng nhất với thư viện các thành phần 3d trong cùng một trang, nhờ đó bạn có nhiều lựa chọn hơn để phát triển ứng dụng Bài tập lớn Client – Server Trang 31 Hệ thống Chấm công doanh nghiệp C2H4 Group c Tạo ra một giao diện thân thiện với công nghệ skin bên trong Richfaces cung cấp các đặc tả giao diện cho phép dễ dàng định nghĩa lại và quản lý các màu khác nhau và các tham số khác của giao diện với . Hệ thống Chấm công doanh nghiệp C2H4 Group Mục lục Bài tập lớn Client – Server Trang 1 Hệ thống Chấm công doanh nghiệp C2H4 Group 1. Giới thiệu đề tài Ngày. Server Trang 7 Hệ thống Chấm công doanh nghiệp C2H4 Group 3. Giới thiệu nghiệp vụ Qua việc phân tích nghiệp vụ tại công ty cổ phần Archi, hệ thống chia làm các phân hệ chính sau : 3.1. Phân hệ quản lý. Server Trang 15 Hệ thống Chấm công doanh nghiệp C2H4 Group Bài tập lớn Client – Server Trang 16 Filter Servlet Request Reponse Filter Request Reponse Server Resource Hệ thống Chấm công doanh nghiệp