Đề tài Khảo sát hiện trạng tại công ty may 20

Tài liệu Đề tài Khảo sát hiện trạng tại công ty may 20: Lời mở đầu Nhịp độ phát triển của Công nghệ thông tin đang là một vấn đề rất được các ngành Khoa học, Giáo dục, Kinh tế... quan tâm. Nó hiện hữu với một tầm vóc hết sức mạnh mẽ, to lớn và ngày đang một lớn mạnh thêm. Việc ứng dụng công nghệ thông tin vào trong các lĩnh vực đã đem lại những hiệu quả to lớn. Trong những năm gần đây việc ứng dụng công nghệ thông tin đã khá phổ biến ở các xí nghiệp, cơ sở sản xuất kinh doanh ở nước ta. Việc đưa các phần mềm vào trong quá trình quản lý sản xuất kinh doanh đã đem lại hiệu quả rõ rệt cho các doanh nghiệp như tăng hiệu quả quản lý, giảm thời gian lao động, nhanh chóng và thuận tiện. Tuy nhiên để lựa chọn được một phần mềm phù hợp bao giờ cũng rất quan trọng với doanh nghiệp. Hiện nay yêu cầu của người sử dụng phầm mềm ngày càng đa dạng và có nhiều tính năng hơn do đó đòi hỏi người làm phần mềm phải đáp ứng ngày càng cao các yêu cầu trên. Phầm mềm tính lương là một trong những phần mềm phổ biến nhất hiện nay mà hầu như doanh nghiệp nào cũng ...

doc74 trang | Chia sẻ: hunglv | Lượt xem: 1157 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Khảo sát hiện trạng tại công ty may 20, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lời mở đầu Nhịp độ phát triển của Công nghệ thông tin đang là một vấn đề rất được các ngành Khoa học, Giáo dục, Kinh tế... quan tâm. Nó hiện hữu với một tầm vóc hết sức mạnh mẽ, to lớn và ngày đang một lớn mạnh thêm. Việc ứng dụng công nghệ thông tin vào trong các lĩnh vực đã đem lại những hiệu quả to lớn. Trong những năm gần đây việc ứng dụng công nghệ thông tin đã khá phổ biến ở các xí nghiệp, cơ sở sản xuất kinh doanh ở nước ta. Việc đưa các phần mềm vào trong quá trình quản lý sản xuất kinh doanh đã đem lại hiệu quả rõ rệt cho các doanh nghiệp như tăng hiệu quả quản lý, giảm thời gian lao động, nhanh chóng và thuận tiện. Tuy nhiên để lựa chọn được một phần mềm phù hợp bao giờ cũng rất quan trọng với doanh nghiệp. Hiện nay yêu cầu của người sử dụng phầm mềm ngày càng đa dạng và có nhiều tính năng hơn do đó đòi hỏi người làm phần mềm phải đáp ứng ngày càng cao các yêu cầu trên. Phầm mềm tính lương là một trong những phần mềm phổ biến nhất hiện nay mà hầu như doanh nghiệp nào cũng cần. Trong thời gian em thực tập có tìm hiểu quá trình tính lương tại một công ty may công nghiệp. Qua đó tiến hành phân tích thiết kế hệ thống thông tin Quản lý lương tại công ty đó. Do trong quá trình tìm hiểu em còn gặp rất nhiều lúng túng khi thực hiện và tìm hiểu các nghiệp vụ của đề tài. Đặc biệt trong quá trình thực hiện viết chương trình. Em rất mong được cô hướng dẫn để chương trình có thể thực hiện được tốt hơn. Chương 1 Khảo sát hiện trạng tại công ty may 20 Công ty may 20 là một công ty chuyên may những mặt hàng xuất khẩu lớn trong nước. Chuyên gia công các loại mặt hàng như: áo Jacket, Shirt,... Công ty có khoảng 1000 công nhân tham gia lao động. Sau một thời gian khảo sát em đã tìm hiểu được một số vấn đề cụ thể về tính lương tại công ty. Để từ đó xây dựng chương trình quản lý lương cho công ty may 20. I. Khảo sát hiện trạng công ty 1. Hiện trạng về tổ chức: Công ty may 20 có bộ máy vận hành, tổ chức sản xuất được chia thành nhìu phòng ban. Mỗi phòng ban chịn trách nhiệm thực hiện các nhiệm vụ khác nhau. Tuy nhiên mức độ quan trọng, trách nhiệm ở từng phòng ban là khác nhau. Sơ đồ tổ chức công ty : Phòng Tổ chức hành chính Ban giám đốc Phòng Kỹ Thuật Phòng Kế Toán Các phân xưởng Phòng Kế hoạch - XNK 2.Tính lương tại công ty: Tại Công ty may 20 để khuyến khích tinh thần làm việc nhằm mục tiêu mang lại lợi nhuận cao cho công ty. Cho nên việc tính lương phải dựa trên năng suất lao động thực thụ của từng nhân viên trong công ty. Ngoài hệ số lương căn bản của từng nhân viên, tiền lương của từng nhân viên được tính cụ thể như sau: Tổng số tiền lương của tất cả nhân viên làm việc tại công ty (TQLCTY) được tính = 15% * Tổng quỹ lương. Trong đó: Tổng quỹ lương là tổng lương của toàn công ty - Tất cả các phòng, ban tại công ty mỗi phòng ban đều có một hệ số % lương so với tổng quỹ lương nói trên. Do đó chỉ cần có được tổng lương của công ty là ta biết được số lương cho mỗi phòng ban. - Mỗi nhân viên làm việc tại phòng, ban thuộc công ty đều có một hệ số lương, để tính lương cho mỗi nhân viên chỉ cần căn cứ vào hệ số lường và bảng chấm công trong một tháng cụ thể của từng nhân viên trong mỗi phòng ban. Ví dụ: Phòng Kế hoạch - XNK có hệ số lương là 20% Tổng lương Phòng Kế hoạch - XNK = 20% x TQLCTY Phòng Kế hoạch - XNK có 3 nhân viên, căn cứ vào hệ sô số lương của mỗi nhân viên và tổng số ngày công của mỗi nhân viên đó ta tính được hệ số công của nhân viên đó. Ví dụ: Nhân viên A có hệ số lương là 2,1 và tổng số ngày công làm việc trong tháng 07/2002 là 27. Do đó hệ số công của nhân viên A được tính là = 2,1 x 27 Các nhân viên khác cũng được tính nhưbvậy và cộng 3 hệ số công của 3 nhân viên đó thì tính được tổng hệ số công của Phòng Kế hoạch - XNK. Ta tính được lương một ngày công của Phòng Kế hoạch - XNK. Lương một ngày công = Tổng lương Phòng KH - XNK /Tổng hệ số công. Khi có lương một ngày công, nhân viên nào có số ngày công bằng bao nhiêu thì nhân với số tiền lương một ngày công đó thì ra được tổng tiền lương theo ngày công. Tại phân xưởng là nơi trực tiếp sản xuất đưa ra mặt hàng một cách hoàn chỉnh. Có 2 hình thức tính lương cho các nhân viên làm việc tại phân xưởng. Do đó tại phân xưởng được chia thành nhiều tổ tương ứng với 2 hình thức tính lương trên. - Các tổ tính lương theo thời gian gồm 3 tổ: Tổ điểu hành, tổ bảo vệ, tổ cắt. - Các tổ tính lương theo sản phẩm: tổ May a. Các tổ tính lương theo thời gian: Tổ điều hành: Quản đốc, Phó quản đốc, nhân viên KCS, nhân viên kế toán, nhân viên điện, nhân viên đóng gói. Tổ bảo vệ: các nhân viên bảo vệ Tổ cắt: các nhân viên cắt b. Các nhân viên trực tiếp sản xuất: Trong một phân xưởng, chia thành nhiều tổ may, có các tổ trưởng, tổ phó, kiểm hóa của từng tổ. Các tổ trưởng, tổ phó không trực tiếp thực hiện việc may mà có nhiệm vụ nhận hàng cho công nhân của tổ mình may. Ngoài ra tổ trưởng, tổ phó còn có nhiệm vụ ghi lại số lượng chi tiết công đoạn may của từng nhân viên trong tổ mình. Cuối tháng tổ trưởng hoặc tổ phó của mỗi tổ nộp bảng năng suất về cho kế toán để tính lương. Kiểm hóa có nhiệm vụ kiểm tra lại các mặt hàng đã được nhân viên tổ mình gia công xong, kết hợp với tổ trưởng hoặc tổ phó để giao hàng về cho phân xưởng. Cách tính lương cho nhân viên không trực tiếp sản xuất: Trong mỗi phân xưởng, lương của nhân viên hành chánh và nhân viên cắt được tính bằng số % lương của tất cả nhân viên may. Mỗi nhân viên có một hệ số lương, có bảng chấm công để tính lương. Cách tính lương cho nhân viên trực tiếp sản xuất: Trước hết là trình bày cách tính lương cho các tổ trưởng, tổ phó và kiểm hóa. Do các nhân viên này không tính lương thep thời gian như những nhân viên hành chính mà là tính lương theo sản phẩm. Tuy nhiên những nhân viên này không trực tiếp sản xuất như những nhân viên sản xuất, cho nên việc tính lương của các nhân viên này dựa trên tổng số sản phẩm mà tổ mình làm ra được. Công thức tính như sau: Tổ trưởng = đơn giá /30 Tổ phó = Tổ trưởng/1.12 Kiểm hóa = Tổ trưởng x 70% Trên đây là đơn giá một sản phẩm sau khi đã hoàn tất ứng với từng nhân viên, chỉ cần biết được số lượng sản phẩm của tổ mình là biết được số lương. Nhân viên may: Sau khi nhân viên kế toán tại xí nghiệp tính toán và trừ các khoản lương như lương nhân viên quản lý phân xưởng, lương nhân viên cắt, lương các tổ trưởng, tổ phó, kiểm hóa. Còn lại nhân viên tính định mức sẽ tính đơn giá từng chi tiết cụ thể và nhân viên sẽ được tíanh lương dựa vào đơn giá đã được tính vào số lượng cụ thể mà mình may được. Trong quá trình thực tập và tìm hiểu tại công ty cho thấy hệ thống tính lương tại đây thủ công và chậm. Do đó sau thời gian tìm hiểu em đã chọn đề tài: "Quản lý lương tại Công ty may 20" để thực hiện trong thời gian thực tập của mình. Đó là xây dựng phần mềm “Quản lý lương” bằng ngôn ngữ lập trình VISUAL BASIC 6.0 kết nối với cơ sở dữ liệu của ACCESS . Chương 2 Các vấn đề phương pháp luận cơ bản I. Phân tích và thiết kế một hệ thống thông tin 1. Lý do để phân tích một hệ thống thông tin quản lý Có rất nhiều lý do để các nhà quản lý đưa ta quyết định xây dựng một hệ thống thông tin mới, song gộp lại có thể đưa ra những lý do chính sau: - Hệ thống thông tin hiện tại đang có những vấn đề về quản lý mới nảy sinh đòi hỏi có những thay đổi lớn, yêu cầu cần phải thiết kế mới hệ thống thông tin. - Hệ thống thông tin quản lý cần những yêu cầu mỡi về lĩnh vực và do đó cần thiết kế mới hệ thống. - Hệ thống thông tin quản lý có những thay đổi về khoa học công nghệ nên cần thiết kế mới để hoạt động có hiệu quả hơn. - Nhà quản lý có những chính sách mới đưa ra nhằm thiết kế mới hệ thống thông tin có chất lượng cao hơn. 2. Mục đích của việc phân tích thiết kế hệ thống - Nhằm hiểu rõ hệ thống thông tin hiện có. - Xác định rõ các vấn đề và nguyên nhân thực sự của những ràng buộc của hệ thống thông tin. - Đề xuất, đưa ra các yếu tố giải pháp. - Xây dựng mục tiêu cụ thể mà hệ thống thông tin mới cần phải đạt được. 3. Lựa chọn phương pháp phân tích có cấu trúc. Hiện nay có nhiều phương pháp phân tích và thiết kế hệ thống thông tin quản lý. Tuy nhiên phương pháp có cấu trúc là phương pháp sử dụng phổ biến. Phân tích một hệ thống có cấu trúc là cách gián tiếp cận hiện đại tới các giai đoạn phân tích và thiết kế của chu trình phát triển hệ thống nhằm khắc phục những yếu điểm của cách tiếp cận hệ thống. 3.1. Phương pháp phân tích có cấu trúc bao gồm các hoạt động - Khảo sát - Phân tích - Thiết kế - Xây dựng - Cài đặt chương trình Ưu điểm của phương pháp này là: các hoạt động có thể tiến hành thực hiện một cách song song. 3.2. Các công cụ kỹ thuật sử dụng trong phân tích hệ thống có cấu trúc. Phương pháp luận phân tích hệ thống có cấu trúc sử dụng một số công cụ và kỹ thuật được dùng để xây dựng mô hình cho cả hệ thống hiện đại và hệ thống dự kiến. Các mô hình này giúp các nhà phân tích ghi lại thực hiện phân tích thiết kế. Những công cụ thông thường nhất gắn với việc phân tích thiết kế hệ thống có cấu trúc là: - Sơ đồ dòng dữ liệu (Data Flow Diagram) - Mô hình cụ thể (Entity Diagram) - Mô hình quan hệ (Relationship Diagram0 - Sơ đồ chức năng phân cấp - Lịch sử tồn tại của thực thể - Từ điển dữ liệu - Các ngôn ngữ có cấu trúc - Họp xét duyệt 3.3. Khuôn khổ phương pháp luận của hệ thống có cấu trúc Phân tích hệ thống có cấu trúc là cách tiếp cận hiện đại tới vấn đề ohân tích và thiết kế hệ thống máy tính nghiệp vụ, gồm một nhóm các công cụ và kỹ thuật, chúng thích hợp với nhau qua cấu trúc hoặc khuôn khổ của các giai đoạn và các bước. Các mô hình được sử dụng để liên lạc với cả người sử dụng và cả người xây dựng hệ thống tương lai, sau đó đến nhà thiết kế và cài đặt chương trình. Trong quá trình thiết kế hệ thống, thì hệ thống không còn tĩnh tại nữa mà thay đổi liên tục những tác nhân bên trong và những tác nhân bên ngoài. Nhiệm vụ của người phân tích là nắm bắt được những ràng buộc mà người sử dụng áp đặt lên hệ thống, từ đó xây dựng nên hệ thống thông tin hữu hiệu. Điều này nói lên rằng: khi phân tích chức năng phân tích viên phải đề cập đến những mô tả cơ sở để mô tả hệ thống. Việc sử dụng các công cụ để mô tả hệ thống là thể hiện mục đích của việc phân tích thiết kế như: Tìm ra ngôn ngữ chung giữa người sử dụng và phân tích viên hệ thống để thể hiện triệt để các yêu cầu đối với hệ thống (ngôn ngữ giữa người sử dụng và phân tích viên). - Thể hiện hệ thống ngôn ngữ gần gũi với tư duy tin học cho giai đoạn lập trình, cài đặt (ngôn ngữ chung giữa phân tích viên và lập trình viên). Từ đó có thể rút ra được các bước cơ bản để phân tích và thiết kế hệ thống như sau: - Khảo sát thực tế - Phân tích nghiệp vụ - Thiết kế hệ thống 3.3.1. Khảo sát thực tế 3.3.1.1. Mục đích của việc khảo sát - Để hiểu được chi tiết xem hệ thống cần cải tiến gì trong hoạt động? - Đặt ra được những mục tiêu 3.3.1.2. Mục đích của thu nhập thông tin Nhằm tìm hiểu về: - Mục đích của hệ thống của hệ thống - Các vị trí quan trọng trong hệ thống và tầm quan trọng của các vị trí trong hệ thống. - Các con số lượng hóa chung. - Hoạch định được lĩnh vực cần nghiên cứu cải tiến. - Bên cạnh đó cần phải tìm hiểu thêm tình hình nhân sự tài chính của các đơn vị, các phương tiện khoa học, kỹ thuật có hoạt động trong hệ thống. - Liệt kê và mô tả chi tiết các nhiệm vụ cần thực thi tại công việc đó. - Những loại dữ liệu, khối lượng của chúng và nguyên tắc quản lý. - Quan sát sự vận dụng của thông tin. - Làm quen với các ngôn từ dùng trong hệ thống. Sau đó củng cố các kết quả, thu thập thông tin phụ vụ hệ thống. 3.3.2. Phân tích nghiệp vụ 3.3.2.1. Vì sao phải phân tích khi triển khai một ứng dụng tin học? Phân tích một ứng dụng tin học là một nghiên cứu gồm: Nghiên cứu vấn đề mà giới hạn của nó đã xác định, lựa chọn một lời giải, xác định và phát triển lời giải đó dựa trên cơ sở của các xử lý trên máy điện tử. Phân tích nghiệp vụ chia ra là 3 phần: - Phân tích chức năng nghiệp vụ - Phân tích các yêu cầu thông tin - Hoàn thiện phân tích nghiệp vụ 3.3.3.2. Phân tích chức năng nghiệp vụ - Xây dựng sơ đồ chức năng nghiệp vụ BFD (): Bước đầu tiên trong việc phân tích một hệ thống là xác định các chức năng nghiệp vụ cần được tiến hàng bởi hệ thống dự định xây dựng. Chức năng nghiệp vụ là việc mô tả điều cần thực hiện để nghiệp vụ được thực hiện chứ không phải là việc thực hiện nghiệp vụ ở đâu, như thế nào do ai làm. + Định nghĩa sơ đồ BFD: Sơ đồ chức năng nghiệp BFD là việc phân rã có thức bậc đơn giản các chức năng của hệ thống trong miền khảo cứu. Sơ đồ chính của BFD là sơ đồ phân cấp chức năng của hệ thống, mỗi chức năng được ghi trong một khung và nếu cần sẽ được bẻ ra thành các chức năng con, số mức bẻ ra phụ thuộc vào kích cỡ và độ phức tạp của hệ thống. Sơ đồ BFD được biểu hiện dưới dạng hình cây, tại mỗi nút là một hình chữ nhật thể hiện chức năng hoặc một nhóm chức năng cụ thể. Sơ đồ chức năng là công cụ khá hữu hiệu, cho người đọc một bức tranh tổng thể về các chức năng mà hệ thống có thể thực hiện được. + Mục đích của sơ đồ chức năng nhiệm vụ: . Để giúp tăng cường cách tiếp cận Logic tớ vịec phân tích hệ thống. Các chức năng được xác định ở đây sẽ được dùng nhiều trong mô hình sau này. . Để chỉ ra vị trí của miền khảo cứu hệ thống trong toàn bộ hệ thống tổ chức. - Xây dựng mô hình dòng dữ liệu DFD () Bước tiếp theo trong tiến trình phân tích là xem xét chi tiết hơn về thông tin cần cho việc thực hiện các chức năng đã được nêu và những thông tin cần cung cấp để thực hiện chúng. Công cụ mô hình được sử dụng cho mục đích này là sơ đồ dòng dữ liệu DFD. + Định nghĩa sơ đồ DFD: Là mô hình về hệ thống có quan điểm cân xứng cho cả dữ liệu và chức năng. Nó chỉ ra cách thông tin chuyển vận từ chức năng này trong hệ thống sang một chức năng khác. + Mục đích của sở đồ DFD: Sơ đồ DFD là một công cụ để hỗ trợ cho 4 hoạt động chính của nhà phân tích: - Phân tích DFD được dùng để xác định yêu cầu người sử dụng - Phân tích DFD cũng được dùng trong thiết kế để cạch kế hoạch và minh họa các phương án cho nhà phân tích và người dùng xem xét khi thiết kế hệ thống mới. - Phân tích DFD còn hỗ trợ cho việc liên lạc, một trong những sức mạnh của DFD chính là tính đơn giản, tính dễ hiểu của nó đối với nhà phân tích và người tiêu dùng. + Một số khái niệm cơ bản dùng trong sơ đồ DFD . Tiến trình (chức năng): Nó có chức năng biến đổi thông tin đầu vàot heo một cách nào đó tổ chức lại thông tin, bổ sung thông tin hoặc tạo ra thông tin mới. . Dòng dữ liệu (Flow): là việc chuyển thông tin vào hoặc ra khỏi một tiến trình. Nó được chỉ ra trên sơ đồ bằng một đường kẻ có mũi tên ít nhất một đầu. Mũi tên chỉ ra hướng của dòng thông tin. . Các thông tin đầu vào và đầu ra: được ký hiệu bằng hình chữ nhật. Chúng biểu diễn thông tin đầu vào và đầu ra dưới dạng vật lý. + Phương pháp tạo ra sơ đồ dòng dữ liệu: . Dùng sơ đồ DFD: Việc phân rã chức năng trong sơ đồ DFD cũng được dùng để chỉ ra mức độ mà từng tiến trình hoặc tiến trình con phải xuất hiện trong sơ đồ DFD. . Dùng sơ đồ ngữ cảnh: Như mức cao nhất có thể được DFD, trong đó ta có thể đạt tới tiến trình sơ đồ mức 0 bằng cách phân rã chức năng tiến trình trung tâm của sơ đồ ngữ cảnh. 3.3.2.3. Phân tích các thông tin nghiệp vụ (Phân tích dữ liệu) Phân tích dữ liệu là một phương pháp xác dịnh các đơn vị thông tin cơ sở có ích cho hệ thống (các thực thể) và định rõ mối quan hệ bên trong hoặc các tham chiếu chéo nhau giữa chúng. Mô hình dữ liệu Có hiều mô hình dữ liệu * Mô hình dữ liệu quan hệ * Mô hình dữ liệu phân cấp * Mô hình dữ liệu E-R () Hiện nay tất cả các quan hệ quản trị cơ sở dữ liệu đều thường dùng dữ liệu quan hệ. Những khái niệm cơ sở Cơ sở dữ liệu: là một hay một số bảng có liên quan với nhau Kho dữ liệu; Trong một hệ thống thông tin đều có những kho dữ liệu, đó là nơi cất giữ dữ liệu mọt cach có tổ chức sao cho có thể tỉm kiếm được một cách nhan chóng những dữ liệu cần thiết. Ngân hàng dữ liệu: Ngân hàng dữ liệu là một hệ thống dùng máy tính điện tử để lưu trữ, quản lý tập trung dữ liệu nhằm phục vụ cho nhiều người và nhiều mục đích quản lý khác nhau. Theo ngôn ngữ mô hình dữ liệu thì ngân hàng dữ liệu là một tập hợp các cơ sở dữ liệu có liên quan với nhau. Hệ thống quản lý dữ liệu: Bản thân kho dữ liệu hay ngân hàng dữ liệu cùng với con người và các phương tiện để duy trì hoạt động của nó tạo thành hệ thống quản lý dữ liệu với tầm quan trọng lớn lao của hệ thống quản lý dữ liệu mà người ta thường ví nó như hệ thống nhớ của cơ quan Hệ quan trị cơ sở dữ liệu: là hệ thống chương trình máy tính giúp tạo lập, duy trì sử dụng các hệ cơ sở dữ liệu. Thực thể: là tập hợp các đối tượng quản lý cùng loại. Trong thực thể có thể hiện lần xuất của thực thể (thực thể cụ thể). Kiểu thực thể: Là một lớp thực thể cho có các đặc trưng mà các đơn vị cơ sở quan tâm giống nhau, mô tả cho một loại thông tin chữ không phải cho bản thân thông tin. Thuộc tính: là những thông tin cần lưu trữ cho mỗi thực thể hay cho đặc trưng của thực thể, biểu thị bằng trường hay cột của bảng. + Thuộc tính khóa: là một hoặc nhiều thuộc tính trong kiểu thực thuể được dùng để gán cho mỗi thực thể một cách tham khảo duy nhất. + Thuộc tính mô tả: là những thông tin mô tả cho thực thể được trỏ tới. Thông tin này làm tăng hiểu biết của ta về thực thể và sẽ phục vụ cho các mục đích bên trong hệ thống. + Thuộc tính kết nối: là những thuộc tính được dùng để chỉ ra quan hệ giữa thực thể đã có và một thực thể khác trong bảng khác. Thuộc tính kết nối rất giống thuộc tính mô tả thông thường trong bản thân thực thể chứa nó nhưng ở trong một thực thể khác thì nó lại là một thuộc tính khác. Tệp cơ sở dữ liệu: là tập hợp các bản ghi mô tả về các thực thể. Quan hệ: bản thân của mỗi quan hệ là tổ chức và tạo nên cách sử dụng trong việc điều khiển hoạt động nghiệp vụ. Số mức quan hệ: trong các mối quan hệ của một thực thể thì quan hệ đó phải thể hiện độ đậm nhạt, tức là chi ra mức độ tham gia vào thực thể đó, bao gồm mỗi quan hệ 1-1-, 1-N và N-N. Mô hình dữ liệu quan hệ: là một bản khắc họa cơ sở dữ liệu, nó chỉ ra các thực thể, các thuộc tính của mỗi thực thể và những mối quan hệ giữa các thực thể trong cơ sở dữ liệu. II. Các giai đoạn trong quá trình xây dựng mô hình dữ liệu - Xác định các thực thể của CSDL - Xác định mỗi quan hệ giữa các thực thể trong CSDL 1. Xác định các kiểu thực thế CSDL Mục đích của giai đoạn này là đưa ra các bảng chính lưu trữ thông tin về hệ thống trong lĩnh vực nghiên cứu, để xem xét và mở rộng về sau. Giai đoạn này được tiến hành như sau: Bước 1: Xác định các thông tin đầu vào mà ta thu thập được và những thông tin đầu ra ra cần có. Bước 2: Liệt kê toàn bộ danh sách thuộc tính căn cứ theo những thông tin đầu vào và những thông tin đầu ra. Bước 3: Thực hiện việc chuẩn hóa . Chuẩn hóa mức 1: + Chuẩn hóa mức 1 (1NF) quy định rằng trong mỗi danh sách không được chứa những thuộc tính lặp. + Gắn thêm cho nó một tên, tìm cho nó một thuộc tính riêng và thêm thuộc tính định dạng của danh sách gốc. . Chuẩn hóa mức 2: + Chuẩn hóa mức 2 (2NF) quy định rằng trong một danh sách các thuộc tính phụ thuộc hàm vào toàn bộ khóa chứ không phụ thuộc vào một phần của khóa. + Lấy bộ phận khóa đó làm khóa cho danh sách. Đặt cho danh sách mới này một tến riêng cho phù hợp với nội dung của các thuộc tính trong danh sách. . Chuẩn hóa mức 3 (3NF) quy định rằng trong một danh sách không có sự phụ thuộc bắc cầu giữa các thuộc tính. 2. Xác định các mỗi quan hệ giữa các thực thể Sau khi xác định các thực thể chính, vấn đề bây giờ là xác định các liên kết tự nhiên giữa chúng và phải ghi các liên kết đó dưới dạng quan hệ một chiều. Đây là giai đoạn phát triển mô hình quan hệ thực thể bằng cách mô tả chi tiết từng bảng dữ liệu - Các bước xác định mỗi quan hệ + Mô tả các thực thể (bảng) và các thuộc tính của nó. + Xác định các khóa (khóa chính và khóa ngoại lai) Khóa chính là tập thuộc tính mà giá trị của chúng xác định duy nhất một bản ghi. Khóa ngoại lai là các thuộc tính kết nối, thường là thuộc tính khóa chính ở bảng khác. + Tiến hành chuẩn hóa dữ liệu đối với từng thực thể (bảng): là quá trình khảo sát các danh sách các thuộc tính, áp dụng các quy tắc phân tích vào các danh sách đó, chuyển chúng thành một dạng mà tối thiểu việc lặp lại, tránh sự dư thừa, xác định và giải quyết sự nhập nhằng về ý nghĩa của từng thuộc tính khóa trong bảng. - Thông qua việc chuyển quan hệ N-N thành quan hệ 1-N - Thông qua các dạng chuẩn Phụ thuộc hàm: Với mọi giá trị của khóa tại mọi thời điểm được xét, chỉ có một giá trị cho từng thuộc tính khóa trong bảng Những nguyên tắc thực hiện tiến hành chuẩn hóa: + Các thực thể có quan hệ 1 - 1 thường được đồng nhất thành một thực thể mang các thuộc tính của cả hai thực thể ban đầu. + Quan hệ N-N thể hiện mỗi quan hệ chưa được chuẩn hóa, thông thường sẽ được chuyển thành các quan hệ 1-N thông qua các thực thể trung gian. Hay nói cách khác là mô hình dữ liệu sẽ được chuẩn hóa để đạt được dạng cần thiết đảm bảo tính nhất quán sau này của hệ thống. 3. Thiết kế cơ sở dữ liệu - Xác định mục địch của cơ sở dữ liệu Đây là công việc quan trọng nhất. Là một cán bộ thiết kế, họ phải biết dữ liệu dùng để làm gì? Muốn vậy phải nghiên cứu xem người sử dụng cơ sở dữ liệu trong tương lai cần trích rút những dữ liệu nào (dưới dạng các báo cáo như thế nào), sử dụng thường xuyên cơ sở dữ liệu ấy vào công việc gì? - Phác họa mô hình dữ liệu + Trước hết phải xác định các thực thể và các thuộc tính của các thực thể đó. + Xác định thực thể nào với thuộc tính nào, xác định cơ sở dữ liệu cần chứa những bảng nào, mỗi bảng cần chứa những cột nào. + Nguyên lý xác định các bảng, các cột trong bảng . Giảm tối thiểu sự trùng lặp: các bảng khác nhau không nên chứa những dữ liệu giống nhau. . Tránh dư thừa: Mỗi bảng chỉ nên chứa vừa đủ những dữ liệu cần thiết về một thực thể. . Tăng cường tính độc lập giữa các cột. . Dữ liệu nguyên tố (dữ liệu ít khi chia nhỏ hơn nữa). - Xác định những mối quan hệ giữa các thực thể. Sau khi đã phân chia dữ liệu vào các bảng, nhà thiết kế phải tìm ra mối quan hệ giữa các bảng để sau này trích rút ra hay kết hợp dữ liệu đáp ứng nhanh yêu cầu người sử dụng. - Xác định khóa chính để tránh sự nhập nhằng về thông tin dữ liệu giữa các bản ghi trong một bảng đòi hỏi ta phải nhận diện một trường hay một thuộc tính làm yếu tố phân biệt, tức là khóa chính của bảng. Trong trường hợp nếu có nhiều lựa chọn thì phải chọn ra trường nào có ý nghĩa nhất đối với ứng dụng để làm khóa định danh. Đôi khi, ta cũng phải biết kết hợp một vài thuộc tính để tạo mục khóa chính. - Nhận diện mục khoá ngoại lai: Khoá này yêu cầu là một trường trên bảng dữ liệu này những giá trị của nó phải khớp với giá trị của mục khóa chính trên bảng dữ liệu cần liên kết kia. Song khóa này chỉ mang tính kết nối chứ không xác định tính duy nhất của các bản ghi trong bảng dữ liệu. - Thêm vào các trường không phải là khóa: yêu cầu của bước này là tìm ra những tên để đặt cho các trường trong bảng sao cho gợi nhớ và thuận tiện khi xử lý các dữ liệu trên bảng. Sau đó cần tiến hành chuẩn hóa các bảng dữ liệu nhằm tránh sự trùng lặp về dữ liệu, giữ cho các dữ liệu có thể liên kết một cách chặt chẽ với nhan đảm bảo không mất thông tin. - Duyệt lại mô hình dữ liệu để khắc phục, phát hiện những khiểm khuyết của mô hình dữ liệu ở trên, lúc này tìm ra và chỉnh sửa dễ hơn nhiều sau khi các bảng cơ sở dữ liệu đã chứa đầy đủ thông tin về các thực thể. - Tạo lập CSDL: Sau khi đã vạch ra và khắc phục những khiếm khuyết của mô hình dữ liệu ở trên, người thiết kế đã bắt đầu phiên dịch mô hình dữ liệu ấy thành cơ sở dữ liệu các bảng chứa đầy đủ thông tin về các thực thể bằng cách dùng một hệ quản trị cơ sở dữ liệu để điền dữ liệu vào các bảng với dối tượng khác của cơ sở dữ liệu như lệnh truy vấn (query), các phom (form) và các báo cáo (report). CHƯƠNg 3 Phân tích thiết kế hệ thống thông tin quản lý Lương I. Khảo sát hệ thống thông tin quản lý lương I-1. Khái quát. Mục tiêu của đề tài này là xây dựng một hệ thống thông tin hỗ trợ công tác quản lý lương cho Công ty may 20. Vì vậy ở phần này sẽ đi sâu vào khảo sát cơ cấu tổ chức cũng như các hoạt động chính của công ty . Thực tế cho thấy công việc chính của hệ thống thông tin quản lý lương của các đơn vị sản xuất kinh doanh là quản lý thông tin liên quan tới hoạt động tính lương bao gồm các thông tin: Nhân viên, thời gian lao động nhân viên, khen thưởng, kỷ luật, bảo hiểm xã hội, cách thức tính lương. Thông tin đầu vào của hệ thống gồm các thông tin về nhân viên, thông tin về thời gian lao động nhân viên, khen thưởng, kỷ luật, bảo hiểm xã hội của từng nhân viên. Trên cơ sở đó đưa ra các số liệu về phiếu lương từng nhân viên và bảng lương báo cáo lên các cấp lãnh đạo và các phòng ban để thuận tiện cho việc quản lý. Trong thời đại hiện nay, thời đại thông tin việc nắm bắt được thông tin nhanh và chính xác là yêu cầu sống còn đối với các doanh nghiệp. Điều này không thể thực hiện được nếu chỉ dựa vào hệ thống quản lý thủ công đặc biệt là khi tin học hoá các hệ thống quản lý đã trở nên phổ biến trong các doanh nghiệp. I-2. Yêu cầu hệ thống thông tin quản lý lương Trong quá trình tính lương tại một công ty may công nghiệp, điều cần thiết mà không thể có là bộ phận tính lương. Bộ phận này phải nắm được đơn giá của một chi tiết công đoạn ứng với từng mặt hàng, và biết được bảng chấm công của từng nhân viên để tính lương cho nhân viên. Do đó phải có bộ phận quản lý tính lương, một bộ phận quản lý chấm công. 1. Cập nhật đơn giá chi tiết công đoạn ứng với mỗi mặt hàng đã được đặt để gia công, các chi tiết của từng công đoạn ứng với mỗi mặt hàng đó phải có đơn giá. Do đó hệ thống yêu cầu phải có một kho dữ liệu để lưu trữ đơn giá của từng chi tiết công đoạn đó. Kho dữ liệu này lưu tất cả đơn giá của từng chi tiết công đoạn ứng với một mặt hàng vừa được cập nhật vào kho mặt hàng. Đơn giá của từng chi tiết công đoạn ứng với một mặt hàng cần phải được ghi vào hệ thống khi mặt hàng đó chưa được tính đơn giá cho từng chi tiết cụ thể. 2. Quản lý chấm công 2.1. Chấm công thường nhật Yêu cầu tổ chức kho dữ liệu lưu trữ những bảng chấm công cho từng nhân viên theo từng tháng. Kho dữ liệu này lưu bảng chấm công cho tất cả nhân viên tại công ty. Trên mỗi bảng chấm công của từng nhân viên cần ghi lại tổng số ngày công như tổng số ngày nghỉ. Vì vậy bộ phận quản lý việc chấm công phải cập nhật chính xác và đầy đủ các thông tin về bảng chấm công cho mỗi nhân viên (gồm tổng số ngày công làm việc, tổng số ngày nghỉ) do phòng ban hay tổ trực tiếp quản lý đưa lên. 2.2. Chấm công sản xuất Đối với nhân viên sản xuất, hệ thống tính lương cần phải biết được số lượng của từng chi tiết công đoạn mà nhân viên đó hoàn thành. Do đó kho dữ liệu dùng để lưu trữ những bảng năng suất cho nhân viên trực tiếp sản xuất này phải ghi lại số lượng sản phẩm đúng yêu cầu ứng với từng mặt hàng và công đoạn đã được gia công. Trên các chi tiết sản phẩm và số lượng ứng với mỗi chi tiết đó, bởi vì một nhân viên có thể tham gia làm việc trên nhiều chi tiết khác nhau. Bộ phậm chấm công ghi nhận đầy đủ thông tin trên bảng năng suất do tổ trưởng của từng tổ đưa lên. 3. Quản lý tính lương 3.1. Yêu cầu tính lương Trong nền kinh tế thị trường hiện nay, việc không ngừng tăng năng suất lao động, đẩy mạnh nâng cao chất lượng sản phẩm là yêu cầu mà không thể thiếu trong kế hoạch phát triển của một công ty, mà nhất là đối với công ty may công nghiệp. Do đó, việc tính trả lương cho từng nhân viên trong công ty là đều áp dụng hình thức lương theo giờ làm việc và số lượng thành phẩm nhằm khuyến khích các nhân viên làm việc tích cực. Với hình thức nhận lương như thế này mỗi nhân viên trong công ty luôn tự trau dồi kiến thức, học hỏi kinh nghiệm, không ngừng nâng cao tay nghề. Tạo cho mỗi nhân viên một ý thức trách nhiệm cao trong công việc, luôn đặt ra điều kiện cho mình là phải hoàn thành nhiệm vụ một cách xuất sắc. Trong đó, mục tiêu phấn đấu là điều không thể thiếu. Điều này có tác động rất lớn đến tiền lương của mỗi nhân viên. Lương của nhân viên hành chính là tính theo hệ số, còn lương của nhân viên trực tiêp sản xuất thì tình theo số lượng sản phẩm. 3.2. Yêu cầu của hệ thống tính lương: Do cơ chế tính lương của công ty may là tính lương theo số lượng sản phẩm hoặc tính ngày công tuỳ theo từng loại nhân viên. Do đó yêu cầu của hệ thống tính lương cho nhân viên phải đảm bảo độ chính xác, rõ ràng. Vấn đề chính xác, rõ ràng ở đây là việc tính lương này dựa trên bảng chấm công của từng nhân viên cho nên hệ thống cần phải quản lý từ bộ phận chấm công, cập nhật bảng chấp công và bảng năng suất của từng nhân viên đến giai đoạn tính trả lương cho nhân viên. 3.3. Hình thức tính lương 3.3.1. Tính trả lương theo thời gian Hầu như tất cả các công ty may công nghiệp của nước ta đều áp dụng cách tính trả lương cho nhân viên của công ty mình là theo thời gian lao động và theo số sản phẩm. Do đó cách tính trả lương tại công ty may 20 cho nhân viên là việc theo thời gian như sau: Theo hình thức này, tiền lương trả cho người lao động được tính theo thời gian làm việc, cấp bậc và thang lương theo Nhà nước quy định. - Lương tháng : được quy định cho từng bậc lương trong bản lương, áp dụng cho nhân viên thuộc các phòng quản lý. - Lương ngày : căn cứ vào số ngày làm việc thực tế trong tháng và đơn giá ngày công một ngày để tính trả lương cho nhân viên. 3.3.2. Tính trả lương theo sản phẩm Để phản ánh chính xác năng lực của từng nhân viên, đồng thời phản ánh năng xuất là việc của nhân viên đó. Công ty sử dụng phương thức tính trả lương theo sản phẩm. Do đó hệ thống tính lương theo sản phẩm như sau. Cũng từ bảng năng suất của nhân viên sản xuất, trong bảng năng suất này ghi đầy đủ chi tiết từng công đoạn mà nhân viên đó tham gia, gia công cùng với số lượng cụ thể của mỗi chi tiết công đoạn. Cách tính như sau: - Mỗi chi tiết công đoạn thuộc một mặt hàng đã được xác định đơn giá rõ ràng. - Lấy số lượng chi tiết công đoạn đó nhân với đơn giá từng công đoạn cho ta được tổng số tiền cho một công đoạn mà nhân viên đó đã gia công. - Cộng tất cả số tiền ứng với mỗi công đoạn mà nhân viên đó gia công được tổng tiền lương của mỗi nhân viên sản xuất. II. Phân tích các luồng dữ liệu: Các quy ước biểu diễn trong sơ đồ : Tên tiến trình xử lí Biểu diễn chức năng xử lí dữ liệu. Tên bộ phận phát nhận tin Biểu diễn bộ phận phát nhận tin. Kho dữ liệu. Biểu diễn kho dữ liệu. Biểu diễn dòng dữ liệu. Dòng dữ liệu. 1. Sơ đồ ngữ cảnh hệ thống tính lương YC Phieu Luong NV YC Bang Cham Cong NV YC Bang Nang Suat Bang Cham Cong Bang Nang Suat Phieu Luong NV Bang Luong NV YC Bang Luong 0 He Thong Quan Ly Tien Luong BP Quan Ly Tien Luong BP Quan Ly Cham Cong Hệ Thống quản lý tiền lương Bộ phận quản lý chấm công Cập nhập bảng chấm công Cập nhập bảng năng xuất Bộ phận quản lý tính lương Tính lương Thống kê bảng lương Cập nhập đơn giá công đoạn 2. Sơ đồ chức năng 3. Sơ đồ xử lý các chức năng 3.1. Sơ đồ hệ thống mô tả hoạt động chấm công Bang Cham Cong Ma_NV & Ngay Cong & Ngay Nghi Ma_NV YC Nhap BCC Cuoi Thang Bang Cham Cong DSNV & BCC 1 Kiem tra QT lam viec cua NV 2 Cham Cong & Nhap BCC 3 In Bang Cham Cong Quan Ly Cham Cong Nhan Vien Bang Cham Cong 3.2. Sơ đồ mô tả hoạt động tính lương 1 Luong con lai Luong Thuc Lanh Luong con lai Tien phep YC tinh luong Luong CB Ma_PC & so tien Ma_NV & So NC Ma_NV & So NN Ma_NV Bang luong NV Luong CB Tien dong BHXH Tong luong Tong luong NC Ma_NV & Tong so NC Xac dinh ngay cong 2 Tinh luong 3 Tong PC 4 Cac khoan giam tru 5 In bang luong 6 Tinh BHXH 7 Tinh luong phep Nhan Vien Bang CC Phu Cap Quan li tinh luong 8 Luong Con Lai BANGLUONG 3.2.1. Sơ đồ tính lương theo thời gian 3.2.2. Tính lương theo sản phẩm Luong con lai Bang Luong Luong thuc Linh So tien PC Ma_CD & Don gia YC tinh luong Luong thuc Linh Ma so DG Ma_NV & So NN Tien phep Tien BHXH Luong CB Luong CB So luong chi tiet CD Ma_NV Tong luong Tong luong theo SP Ma_NV & Tong SP tung CD 1 Xac dinh SLSP tung cong doan 2 Tinh luong 3 Tong PC & KT 4 Tinh cac khoan giam tru 5 Luong Con Lai 6 Tinh BHXH Quan li tinh luong 7 Tinh luong phep Don gia Bang CC DGCD Nhan Vien Cham Cong SX Phu Cap 8 In Bang Luong BANGLUONG 3.3. Sơ đồ mô tả hoạt động thống kê lương 1 Ma_NV YC thong ke Thong tin bang luong cua NV bang luong trong pham vi thong ke Pham vi thong ke Ma_NV Tiep nhan YC thong ke 2 Nhap pham vi thong ke Tim bang luong NV trong pham vi thong ke 3 4 In bang luong Quan Ly Tinh Luong NHANVIEN BANGLUONG Bang luong NV 3.3.1.Sơ đồ thống kê phiếu lương nhân viên 3.3.2. Sơ đồ thống kê bảng lương Bang thong ke luong YC thong ke bang luong Ma_NV Thong tin bang luong Bang luong Pham vi thong ke DS Nhan Vien 1 Tiep nhan YC TK luong 2 Nhap YC thong ke 3 Tim bang luong TK 4 In bang luong Quan li tinh luong NHANVIEN BANGLUONG DS Cong Doan & Don Gia Ma_CD & Don Gia Gia tung CD mat hang DS chi tiet cong doan mot MH 1 Kiem tra chi tiet CD mat hang 2 Nhap don gia tung CD DGCD 3 Thong ke bang DG 4 In bang DG tung CD 3.4 Sơ đồ quản lý cập nhận đơn giá công đoạn III. xây dựng cơ sở dữ liệu a. Mô tả các bảng: 1. Bảng Nhân Viên (Ký hiệu NHANVIEN) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_NV C 9 Khóa chính 2 TENNV C 20 3 CHUCVU C 15 4 TRINHDO C 10 5 SOCMND C 9 6 NGAYSINH D 7 NOISINH C 30 8 PHAI C 3 9 DIACHI C 30 10 DIENTHOAI C 10 11 LCB Float 12 HESO Float 13 NGAYBD D 14 BHYT C 5 15 BHXH C 5 16 LOAINV C 10 2. Bảng CTHD STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_MH C 5 Khóa chính 2 TENMH C 20 3 LOAIMH C 15 4 SOHD Int Khóa ngoại 5 DONGIA Float 3. Bảng Đơn Giá Công Đoạn (ký hiệu DGCD) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_CD C 4 Khóa 2 MS_MH C 5 Chính 3 TENCD C 5 Khóa 4 DONGIA Float Chính 4. Bảng Chấnm Công (Ký hiệu BANGCC) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 THANG C 7 Khóa chính 2 MS_NV C 9 Khóa chính 3 SONC Int 15 4 SONN Int Khóa ngoại 5 GHICHU Var 5. Bảng Khen Thưởng (Ký hiệu KHENTHUONG) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_KT Int Khóa chính 2 MS_NV C 9 Khóa ngoại 3 NGAYKT C 7 4 LYDO C 20 Khóa ngoại 5 HINHTHUC C 20 6 SOBIENBAN Int 6. Bảng Kỷ Luật ( Ký hiệu KYLUAT) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_KL Int Khóa chính 2 MS_NV C 9 Khóa ngoại 3 NGAYKL C 7 4 LYDO C 20 5 HINHTHUC C 20 6 SOBIENBAN Int 7 NGAYQD D 8 NGAYTH D 7. Bảng Biệt Lệ (ký hiệu BIETLE) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_BL Int Khóa chính 2 MS_NV C 9 Khóa ngoại 3 BLTRUYTHU Float 15 4 BLTRUYLINH Float 5 LYDO C 20 5 NGAYBL C 7 8. Bảng Phụ Cấp (ký hiện PHUCAP) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_PC C 5 Khóa chính 2 MS_NV C 9 Khoá chính 3 SOTIENPC C 4 NGAYPC C 7 Khóa chính 9. Bảng CCSXTT STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_NV C 9 Khóa chính 2 MS_CD C 4 Khoá chính 3 MS_MH C 5 Khóa chính 4 SOLUONG Int 10. Bảng Loại Phụ Cấp (ký hiệu LOAIPC) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_PC C 5 Khóa chính 2 LYDO C 15 11. Bảng Đặt Hàng (ký hiệu DATHANG) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_KH C 9 Khóa ngoại 2 SOHD Int Khoá chính 3 NGAYDAT D 4 NGAYHG D 12. Bảng Chấm Công Sản Xuất Gián Tiếp STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_NV C 9 Khóa chính 2 MS_MH C 5 Khoá chính 4 SOLUONGQL Int 13. Bảng Khách Hàng (Ký hiệu KHACHHANG) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_KH C 9 Khóa chính 2 TENKH C 15 3 DIACHI C 15 4 DIENTHOAI C 10 5 TAIKHOANNH C 9 14. Bảng Lương (BANGLUONG) STT Tên thuộc tính Kiểu Độ dài Ràng buộc 1 MS_NV C 9 Khóa chính 2 THANG C 5 Khoá chính 3 LSP Money Khóa chính 4 LTG Money 5 LPHEP Money 6 BOSUNG Money 7 TONGLUONG Money 8 TAMUNG Money 9 CONLAI Money b. Mô hình liên kết các thực thể : c. Một số giải thuật trong thiết kế chương trình Tìm thấy End Không tìm thấy Thông báo Hiện kết quả tìm kiếm Tìm kiếm Nhập mã nhân viên cần tìm Hiện giao diện tìm kiếm nhân viên Begin 1- Tìm kiếm nhân viên Begin Hiện giao diện thêm Nhập thông tin cần thêm Kiểm tra Thông báo Mã chưa có ở phía 1 End Hiện giao diện thêm phía 1 Lưu vào bảng phía nhiều Lưu vào bảng phía 1 2- Giải thuật thêm trong các form ở bảng nhiều Mã đã có ở phía1 3. Nhập mới ở bảng phía một : Begin Hiện giao diện thêm Nhập thông tin cần thêm Kiểm tra dữ liệu Thông báo Sai End Hiện giao diện sửa dữ liệu Lưu vào Đúng III. Phân quyền 1.1. Menu hệ thống: Hệ thống Cấu hình Thoát Nhóm 1N có toàn quyền trên Menu Hệ thống Nhóm 2N có quyền trên hệ thống, ngoại trừ Menu Cấu hình 1.2. Menu Nhân Viên Cập Nhật Thêm Nhân Viên Thêm Khách hàng Nhóm 1N có toàn quyền trên Menu Cập nhật Nhóm 2N có quyền trên Menu Nhân Viên 1.3. Chấm Công Chấm công Chấm công theo thời gian Chấm công theo sản phẩm Bảng khen thưởng Bảng kỷ luật Bảng phụ cấp Bảng 1N có toàn quyền trên Menu Chấm công Nhóm 2N có toàn quyền trên Menu: - Chấm công theo thời gian - Chấm công theo sản phẩm 1.4. Menu Tìm Kiếm Tìm kiếm Tìm kiếm nhâm viên Tìm kiếm khách hàng Nhóm 1N có toàn quyền trên Menu Tìm kiếm Nhóm 2N có toàn quyền trên Menu Tìm kiếm 1.5. Bảng luơng Bảng lương Bảng lương Báo cáo Nhóm 1N có toàn quyền trên Menu Bảng lương Nhóm 2N có quyền xem trên Menu này V. Chi tiết các giao diện H1. Màn hình chính H2. Màn hình mật khẩu H3. Màn hình Thêm Nhân Viên H4. Màn hình Thêm khách hàng H5. Màn hình chấm công thời gian H6. Màn hình chấm công sản phẩm H7. Màn hình Khen thưởng H8. Màn hình Kỷ luật H9. Màn hình Phu cấp H10. Màn hình Đơn giá ngày công H11. Màn hình bảng lương nhân viên hành chính H12. Màn hình Bảng lương nhân viên sản xuất H13. Màn hình tìm kiếm nhân viên H14. Màn hình báo cáo Lương nhân viên hành chính Hình 15 : Màn hình báo cáo Lương nhân viên sản xuất VI. Một số CODE chương trình chính Form chính : Private Sub a_Click() Matkhau.Show End Sub Private Sub BangLNVHC_Click() LuongNVHC.Show End Sub Private Sub BANGLNVSX_Click() LuongNVSX.Show End Sub Private Sub BCNVHC_Click() Dim msaccess As Access.Application Set msaccess = New Access.Application msaccess.OpenCurrentDatabase ("D:\luu\tuan.mdb") msaccess.DoCmd.OpenReport "LNVHC", acViewPreview msaccess.CloseCurrentDatabase Set msaccess = Nothing End Sub Private Sub Cauhinh_Click() Matkhau.Show End Sub Private Sub ChamcongTG_Click() ChamCTG.Show End Sub Private Sub Chamcongtheosanpham_Click() ChamcongSP.Show End Sub Private Sub DGNC_Click() DongiaNC.Show End Sub Private Sub Khachhang_Click() KhachH.Show End Sub Private Sub Khenthuong_Click() KhenT.Show End Sub Private Sub Kyluat_Click() KyL.Show End Sub Private Sub MDIForm_Load() Matkhau.Show ' CapnhapA.Enabled = False ' ChamcongA.Enabled = False ' TimkiemA.Enabled = False ' BanglA.Enabled = False FORMMAIN.Enabled = False End Sub Private Sub Nhan_Click() TimNV.Show End Sub Private Sub Nhanvien_Click() NhanV.Show End Sub Private Sub Phucap_Click() PhuC.Show End Sub Private Sub Thoat_Click() End End Sub Form nhân viên Option Explicit Dim Cnn As New ADODB.Connection Dim Res As New ADODB.Recordset Private Sub Command4_Click() Unload Me Cnn.Close End Sub Private Sub Command5_Click() If Not Res.EOF Then Res.MoveNext If Not Res.EOF Then Me.Text1.Text = Res.Fields(0).Value Me.Text2.Text = Res.Fields("Tennv").Value Me.Text3.Text = Res.Fields("Chucvu").Value Me.Text4.Text = Res.Fields("Trinhdo").Value Me.Text5.Text = Res.Fields("SoCMND").Value Me.Text6.Text = Res.Fields("Ngaysinh").Value Me.Text7.Text = Res.Fields("Noisinh").Value Me.Text8.Text = Res.Fields("Gioitinh").Value Me.Text9.Text = Res.Fields("Diachi").Value Me.Text10.Text = Res.Fields("Dienthoai").Value Me.Text11.Text = Res.Fields("LuongCB").Value Me.Text12.Text = Res.Fields("Heso").Value Me.Text13.Text = Res.Fields("BHXH").Value Me.Text14.Text = Res.Fields("BHYT").Value Me.Text15.Text = Res.Fields("LoaiNV").Value Me.Text16.Text = Res.Fields("NgayBD").Value Else MsgBox "Ban ghi cuoi cung ", vbOKOnly End If End Sub Private Sub Command6_Click() If Not Res.BOF Then Res.MovePrevious If Not Res.BOF Then Me.Text1.Text = Res.Fields(0).Value Me.Text2.Text = Res.Fields("Tennv").Value Me.Text3.Text = Res.Fields("Chucvu").Value Me.Text4.Text = Res.Fields("Trinhdo").Value Me.Text5.Text = Res.Fields("SoCMND").Value Me.Text6.Text = Res.Fields("Ngaysinh").Value Me.Text7.Text = Res.Fields("Noisinh").Value Me.Text8.Text = Res.Fields("Gioitinh").Value Me.Text9.Text = Res.Fields("Diachi").Value Me.Text10.Text = Res.Fields("Dienthoai").Value Me.Text11.Text = Res.Fields("LuongCB").Value Me.Text12.Text = Res.Fields("Heso").Value Me.Text13.Text = Res.Fields("BHXH").Value Me.Text14.Text = Res.Fields("BHYT").Value Me.Text15.Text = Res.Fields("LoaiNV").Value Me.Text16.Text = Res.Fields("NgayBD").Value Else MsgBox "Ban ghi Dau tien ", vbOKOnly End If End Sub Private Sub Form_Load() Dim mSql As String mSql = "SELECT * FROM Nhanvien " Cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=D:\LUU\Tuan.mdb" Cnn.Open Res.ActiveConnection = Cnn Res.Open mSql, , adOpenKeyset, adLockBatchOptimistic Me.Text1.Text = Res.Fields(0).Value Me.Text2.Text = Res.Fields("Tennv").Value Me.Text3.Text = Res.Fields("Chucvu").Value Me.Text4.Text = Res.Fields("Trinhdo").Value Me.Text5.Text = Res.Fields("SoCMND").Value Me.Text6.Text = Res.Fields("Ngaysinh").Value Me.Text7.Text = Res.Fields("Noisinh").Value Me.Text8.Text = Res.Fields("Gioitinh").Value Me.Text9.Text = Res.Fields("Diachi").Value Me.Text10.Text = Res.Fields("Dienthoai").Value Me.Text11.Text = Res.Fields("LuongCB").Value Me.Text12.Text = Res.Fields("Heso").Value Me.Text13.Text = Res.Fields("BHXH").Value Me.Text14.Text = Res.Fields("BHYT").Value Me.Text15.Text = Res.Fields("LoaiNV").Value Me.Text16.Text = Res.Fields("NgayBD").Value Me.Text1.Text = vbNullString Me.Text2.Text = vbNullString Me.Text3.Text = vbNullString Me.Text4.Text = vbNullString Me.Text5.Text = vbNullString Me.Text6.Text = vbNullString Me.Text7.Text = vbNullString Me.Text8.Text = vbNullString Me.Text9.Text = vbNullString Me.Text10.Text = vbNullString Me.Text11.Text = vbNullString Me.Text12.Text = vbNullString Me.Text13.Text = vbNullString Me.Text14.Text = vbNullString Me.Text15.Text = vbNullString Me.Text16.Text = vbNullString End Sub Private Sub Command1_Click() Me.Text1.Text = vbNullString Me.Text2.Text = vbNullString Me.Text3.Text = vbNullString Me.Text4.Text = vbNullString Me.Text5.Text = vbNullString Me.Text6.Text = vbNullString Me.Text7.Text = vbNullString Me.Text8.Text = vbNullString Me.Text9.Text = vbNullString Me.Text10.Text = vbNullString Me.Text11.Text = vbNullString Me.Text12.Text = vbNullString Me.Text13.Text = vbNullString Me.Text14.Text = vbNullString Me.Text15.Text = vbNullString Me.Text16.Text = vbNullString Me.Text1.SetFocus End Sub Private Sub Command2_Click() Res.AddNew Res.Fields("MSNV").Value = Me.Text1.Text Res.Fields("Tennv").Value = Me.Text2.Text Res.Fields("Chucvu").Value = Me.Text3.Text Res.Fields("Trinhdo").Value = Me.Text4.Text Res.Fields("SoCMND").Value = Me.Text5.Text Res.Fields("Ngaysinh").Value = Me.Text6.Text Res.Fields("Noisinh").Value = Me.Text7.Text Res.Fields("Gioitinh").Value = Me.Text8.Text Res.Fields("Diachi").Value = Me.Text9.Text Res.Fields("Dienthoai").Value = Me.Text10.Text Res.Fields("LuongCB").Value = Me.Text11.Text Res.Fields("Heso").Value = Me.Text12.Text Res.Fields("BHXH").Value = Me.Text13.Text Res.Fields("BHYT").Value = Me.Text14.Text Res.Fields("LoaiNV").Value = Me.Text15.Text Res.Fields("NgayBD").Value = Me.Text16.Text Res.UpdateBatch Me.Text1.Text = vbNullString Me.Text2.Text = vbNullString Me.Text3.Text = vbNullString Me.Text4.Text = vbNullString Me.Text5.Text = vbNullString Me.Text6.Text = vbNullString Me.Text7.Text = vbNullString Me.Text8.Text = vbNullString Me.Text9.Text = vbNullString Me.Text10.Text = vbNullString Me.Text11.Text = vbNullString Me.Text12.Text = vbNullString Me.Text13.Text = vbNullString Me.Text14.Text = vbNullString Me.Text15.Text = vbNullString Me.Text16.Text = vbNullString Me.Text1.SetFocus End Sub Private Sub Command3_Click() Res.Fields("MSNV").Value = Me.Text1.Text Res.Fields("Tennv").Value = Me.Text2.Text Res.Fields("Chucvu").Value = Me.Text3.Text Res.Fields("Trinhdo").Value = Me.Text4.Text Res.Fields("SoCMND").Value = Me.Text5.Text Res.Fields("Ngaysinh").Value = Me.Text6.Text Res.Fields("Noisinh").Value = Me.Text7.Text Res.Fields("Gioitinh").Value = Me.Text8.Text Res.Fields("Diachi").Value = Me.Text9.Text Res.Fields("Dienthoai").Value = Me.Text10.Text Res.Fields("LuongCB").Value = Me.Text11.Text Res.Fields("Heso").Value = Me.Text12.Text Res.Fields("BHXH").Value = Me.Text13.Text Res.Fields("BHYT").Value = Me.Text14.Text Res.Fields("LoaiNV").Value = Me.Text15.Text Res.Fields("NgayBD").Value = Me.Text16.Text Res.Delete Res.UpdateBatch Me.Text1.Text = vbNullString Me.Text2.Text = vbNullString Me.Text3.Text = vbNullString Me.Text4.Text = vbNullString Me.Text5.Text = vbNullString Me.Text6.Text = vbNullString Me.Text7.Text = vbNullString Me.Text8.Text = vbNullString Me.Text9.Text = vbNullString Me.Text10.Text = vbNullString Me.Text11.Text = vbNullString Me.Text12.Text = vbNullString Me.Text13.Text = vbNullString Me.Text14.Text = vbNullString Me.Text15.Text = vbNullString Me.Text16.Text = vbNullString Me.Text1.SetFocus End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocus End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text3.SetFocus End If End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text4.SetFocus End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text5.SetFocus End If End Sub Private Sub Text5_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text6.SetFocus End If End Sub Private Sub Text6_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text7.SetFocus End If End Sub Private Sub Text7_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text8.SetFocus End If End Sub Private Sub Text8_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text9.SetFocus End If End Sub Private Sub Text9_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text10.SetFocus End If End Sub Private Sub Text10_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text11.SetFocus End If End Sub Private Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text12.SetFocus End If End Sub Private Sub Text12_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text13.SetFocus End If End Sub Private Sub Text13_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text14.SetFocus End If End Sub Private Sub Text14_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text15.SetFocus End If End Sub Private Sub Text15_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text16.SetFocus End If End Sub 'Private Sub Command4_Click() End End Sub Môi trường cài đặt Chương trình "Quản lý tiền lương tại Công ty may công nghiệp" là một phần mềm ứng dụng phát triển trên môi trường Visual Basic sử dụng các công nghệ sau: - Hệ điều hành: Win 98 - Microsoft Access - Môi trường phát triển chương trình: Visual Basic 6.0 - Kết nối Database 1. Hệ điều hành Win 98 cũng là một trong những hệ điều hành mạnh hàng đầu trên thị trường, và cũng là hệ điều hành phát triển với tốc độ nhanh nhất. 2. Môi trường phát triển chương trình Visual Basic 6.0: là một trong những ngôn ngữ đang được sử dụng nhiều nhất ở nước ta hiện nay. Ưu điểm của Visual Basic là dễ thao tác sử dụng, hỗ trợ nhiều thanh công cụ giúp cho việc thiết kế giao diện được dễ dàng. Bên cạnh đó Visual Basi cụng thao tác được các hàm trong Window, giúp cho chương trình thực thi một cách nhanh chóng. Đa số các ứng dụng dùng cho việc quản lý, thường thì được viết bởi ngôn ngữ Accese, SQL, Oracel dễ dàng, hiệu quả thông qua công nghệ mới hiện nay là ADO. Ngoài ra Visual Basic cho phép những ứng dụng có thể thực thi trên môi trường mạng. 3. Kết nối Database - DAO (Data Access Object) là 1 kỹ thuật đầu tiên về CSDL. Nó được kết nối đến CSDL theo con đường ODBC, hiệu quả hoạt động thấp. DAO chỉ dùng những chương trình cục bộ và nó không kiểm soát nổi như trong môi trường WEB được. - RDO (Remote Data Object): là công nghệ được thiết kế sớm cho ODBC, nhưng nó chỉ thiết kế vvới loại CSDL đơn lẻ. Khi nó cung cấp đầy đủ tính năng và phơi ra những hàm ở cấp độ thấp của ODBC. Nó thu hút những nhà phát triển CSDL về SQL và Oracle. - ADO (Active Data Object); là 1 công nghệ truy cập cơ sở dữ liệu của Microsoft. Công nghệ này cung cấp cho bạn 1 giao diện thống nhất dùng để truy cập tất cả các dữ liệu, cho dù nó xuất hiện ở đâu trên ổ đĩa của bạn. Ngoài ra, chúng cung cấp mức độ linh hoạt lớn nhất của bất kỳ công nghệ truy cập dữ liệu của Microsoft. Để truy cập dữ liệu từ bất kỳ ngôn ngữ nào với ADO thì nó sẽ giúp bạn nhanh hơn và có hiệu quả hơn. Khi ADO có thể dùng trực tiếp từ Visual Basic, vì thế nó hỗ trợ rất tốt về việc phát triển những thanh công cụ như ASP, Visual C++. Kết luận Đề tài "Quản lý tiền lương tại Công Ty May Công Nghiệp" là một đề tài nghiên cứu để giúp cho việc tính lương cho các nhân viên một cách nhanh chóng, chính xác, hiệu quả. Đây là một đề tài đang được doanh nghiệp cần để ứng dụng vào việc kinh doanh của mình để hạn chế bớt những sai sót khi tính lương và quản lý tiền lương của các nhân viên một cách hiệu quả hơn, và in bảng lương vào cuối mỗi tháng một cách tự động. Ngoài ra còn có việc quản lý các bộ phận, đơn vị trực thuộc, và các khoản khen thưởng, kỷ luật, phụ cấp... Trong quá trình khảo sát và tìm hiểu để phân tích đề tài này dưới sự chỉ dẫn của Cô Hồ Bích Hà, em cũng đã hiểu được phần nào và thấy được các công việc cần phải làm để xây dựng chương trình "Quản lý tiền lương tại Công ty may công nghiệp". Trong quá trình khảo sát phân tích và thiết kế chương trình em gặp rất là nhiều khó khăn và cố gắng nhiều để hoàn thành chương trình với những chức năng sau: - Chương trình căn bản là đã xây dựng được phần tính lương cho nhân viên nhưng chỉ trên môi trường máy đơn. Thế nhưng được bảo mật an toàn về dữ liệu thông qua phần phân quyền cho từng user sử dụng chương trình. - Chương trình còn có sự phân chia quyền hạn theo từng nhóm sử dụng chương trình nhằm để đảm bảo cho các thông tin về lương của nhân viên. - Với chương trình "Quản lý tiền lương tại công ty may" của em đã đạt được một số chức năng chính để phục vụ cho việc tính lương. Nhưng đó chỉ là mới đáp ứng được một phần nhỏ của các yêu cầu hiện nay. Em mong được sự góp ý của cô để phát triển hoàn thiện hơn trong thời gian tới để đáp ứng đầy đủ các yêu cầu thực tế hiện nay. Nhìn chung đề tài đã đáp ứng được công việc chính là lương của tất cả nhân viên trong công ty, in bảng lương tháng cho từng bộ phận. Đẩm bảo cho việc bảo mật thông qua các quyền đã được giới han bởi nghiệp vụ của chương trình và các user được cấp bởi người có quyền hạn cao nhất trong chương trình. Mặc dù em dã rất cố gắng trong quá trình khảo sát tìm hiểu "Quản lý tiền lương tại Công ty may công nghiệp". Nhưng không tránh khỏi những thiếu xót. Vì vậy em rất mong quý thầy cô cũng như những ai quan tâm đến đề tài này chỉ dẫn và góp ý kiến cho chúng em để chúng em hoàn thiện chương trình này một cách đầy đủ. Trong quá trình thực hiện chương trình hiện nay em mới chỉ xử lý được việc tính lương theo thời gian cụ thể là theo ngày và cấp bậc. Em rất mong trong thời gian tới có thể thực hiện được tính lương theo sản phẩm như trong phân tích ở trên. Em mong được cô giúp để hoàn thành để tài này tốt hơn. Em xin chân thành cảm ơn cô. Mong muốn của em là phát triển chương trình thành một đề tài lớn trong đó có quản lý được nhân sự, quá trình hoạt động của tất cả nhân viên trong công ty. - Quản lý việc tính lương như đề tài hiện nay - Chấm công cho các nhân viên một cách tự động mỗi ngày - Sự phân quyền sử dụng cao hơn - Chương trình được phân chia cho 4 nhóm sử dụng chương trình gồm có: Nhóm 1N (Giám đốc), Nhóm 2N (Quản lý thuộc Công ty & xí nghiệp), nhóm 3N (kế toán của công ty & xí nghiệp), nhóm 4N (nhân viên). - Chương trình còn cho phép người quản lý cấp phát cho người dùng user mới hoặc cần thay đổi khi có yêu cầu và chỉ có nhóm 1N là có quyền hạn. - Chương trình còn đáp ứng được việc xem, tìm kiếm, hiệu chỉnh lương cho nhân viên. - Chương trình đáp ứng được việc cập nhật bảng chấm công cho nhân viên, cập nhật mặt hàng, đơn giá công đoạn bảng lương. - Chương trình cho phép thêm, xóa, hiệu chỉnh trên các đối tượng như khen thưởng, kỷ luật, phụ cấp.

Các file đính kèm theo tài liệu này:

  • docV8402.DOC
Tài liệu liên quan