Đề tài Nghiên cứu áp dụng tin học vào chương trình quản lý nhân sự cho công ty phần mềm kế toán ASIA

Tài liệu Đề tài Nghiên cứu áp dụng tin học vào chương trình quản lý nhân sự cho công ty phần mềm kế toán ASIA: Lời nói đầu ứng dụng tin học trong quản lý nhân sự là một trong những kết quả của tin học. Nó làm giảm tới mức tối thiểu việc tham gia thực hiện thủ công bằng sức người, tiết kiệm thời gian tìm kiếm, làm hẹp không gian lưu trữ, hệ thống hoá, cụ thể hoá những thông tin yêu cầu của người sử dụng. Nhiều cơ quan xí nghiệp đã đặt kế hoạch tin học hoá toàn bộ các khâu quản lý của đơn vị mình, đặc biệt là hệ thống quản lý cán bộ với sự trợ giúp của máy tính. Ngày nay nhu cầu thông tin cho các cán bộ quản lý đã trở nên phức tạp, đòi hỏi mức độ chi tiết và báo cáo nhanh hơn bao giờ hết. Điều này là một khó khăn trở ngại lớn cho các cơ sở vẫn duy trì những biện pháp lưu trữ, thống kê báo cáo theo phương pháp giấy bút thông thường. Đặc biệt một lĩnh vực quan trọng như quản lý kế toán - tài chính, quản lý cán bộ ... luôn luôn đòi hỏi chi tiết, chính xác và cập nhật thường xuyên. Vì thế, đối với các hoạt động này, giải pháp duy nhất thích hợp là sử dụng phần mềm tin học, ứng dụng công nghệ thông ...

doc109 trang | Chia sẻ: hunglv | Lượt xem: 1376 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Nghiên cứu áp dụng tin học vào chương trình quản lý nhân sự cho công ty phần mềm kế toán ASIA, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lời nói đầu ứng dụng tin học trong quản lý nhân sự là một trong những kết quả của tin học. Nó làm giảm tới mức tối thiểu việc tham gia thực hiện thủ công bằng sức người, tiết kiệm thời gian tìm kiếm, làm hẹp không gian lưu trữ, hệ thống hoá, cụ thể hoá những thông tin yêu cầu của người sử dụng. Nhiều cơ quan xí nghiệp đã đặt kế hoạch tin học hoá toàn bộ các khâu quản lý của đơn vị mình, đặc biệt là hệ thống quản lý cán bộ với sự trợ giúp của máy tính. Ngày nay nhu cầu thông tin cho các cán bộ quản lý đã trở nên phức tạp, đòi hỏi mức độ chi tiết và báo cáo nhanh hơn bao giờ hết. Điều này là một khó khăn trở ngại lớn cho các cơ sở vẫn duy trì những biện pháp lưu trữ, thống kê báo cáo theo phương pháp giấy bút thông thường. Đặc biệt một lĩnh vực quan trọng như quản lý kế toán - tài chính, quản lý cán bộ ... luôn luôn đòi hỏi chi tiết, chính xác và cập nhật thường xuyên. Vì thế, đối với các hoạt động này, giải pháp duy nhất thích hợp là sử dụng phần mềm tin học, ứng dụng công nghệ thông tin vào quản lý dữ liệu. Đáp ứng nhu cầu tin học hoá từng phần trong công tác quản lý nhân sự của công ty đầu tư và phát triển phần mềm kế toán ASIA là một vấn đề vô cùng quan trọng, nó quyết định sự thành công hay thất bại của công ty, trên cơ sở đó đề tài "áp dụng tin học vào chương trình quản lý nhân sự cho công ty phần mềm kế toán ASIA " nhằm trợ giúp công tác quản lý nhân sự trong công ty đạt hiệu quả cao hơn. Đề tài gồm các phần: Chương I: Giới thiệu đơn vị thực tập và đề tài nghiên cứu. Chương II: Phương pháp luận phân tích, thiết kế hệ thống thông tin phục vụ quản lý. Chương III: Phân tích thiết kế hệ thống thông tin quản lý nhân sự. Chương I Giới thiệu đơn vị thực tập và đề tài nghiên cứu I. Quá trình hình thành và phát triển của công ty ASIA - Tên đơn vị thực tập: Công ty đầu tư và phát triển phần mềm kế toán ASIA - Trụ sở chính của công ty đặt tại số 6 Vũ Ngọc Phan, Đống Đa -Hà Nội - Công ty đầu tư và phát triển phần mềm kế toán ASIA được thành lập theo giấy phép số 978 /QĐUB do Uỷ ban nhân dân thành phố Hà Nội cấp ngày 9-10-2001 Công ty do ba sáng lập viên là Phùng Đăng Vũ, Phạm Văn Lộc và Nguyễn Văn Hưng lập nên với số vốn điều lệ là 550 000 000đ - Hình thức sở hữu của công ty là cổ phần. - Công ty với một đội ngũ nhân viên trẻ, có trình độ, năng động sáng tạo trong đó có hơn 30 nhân viên tại Hà Nội, 25 cử nhân khoa học và kinh tế chuyên ngành toán tin, 4 cử nhân kinh tế chuyên ngành kế toán, 1 cử nhân ngoại ngữ. - Ngành nghề kinh doanh của công ty khi mới thành lập là: Sản xuất phần mềm. Triển khai ứng dụng trong lĩnh vực tin học hoá công tác tài chính kế toán và quản trị kinh doanh - Sau một thời gian đi vào hoạt động công ty có bổ sung thêm ngành nghề kinh doanh: Cài đặt và hướng dẫn sử dụng cho khách hàng. - Dịch vụ: Tư vấn và triển khai xây dựng hệ thống thông tin tài chính kế toán và quản trị kinh doanh cho các doanh nghiệp. - Mục tiêu: Đạt được và giữ vững vị trí số một trên thị trường Việt Nam trong lĩnh vực cung cấp các giải pháp phần mềm tài chính kế toán và quản trị doanh nghiệp - Phương châm: Chất lượng cao dịch vụ tốt. - Quan điểm dịch vụ khách hàng: vì sự thành công của khách hàng. - Chiến lược phát triển sản phẩm: Phát triển liên tục II Sơ đồ tổ chức bộ máy của công ty đầu tư và phát triển phần mềm kế toán ASIA. Trong nhiều năm qua nhà nước ta luôn coi trọng việc tin học hoá tổ chức quản trị doanh nghiệp và luôn coi vấn đề này là một trong những nội dung chủ yếu đối với quản trị doanh nghiệp. Trong phạm vi từng doanh nghiệp việc tổ chức bộ máy quản trị phải đảm bảo hoàn thành những nhiệm vụ của doanh nghiệp thực hiện đầy đủ các chức năng quản lý của doanh nghiệp. Sơ đồ các bộ phận của công ty Ban giám đốc P.kinh doanh P. Marketing P. kế toán P. tổ chức Hệ thống kinh doanh Hệ thống kĩ thuật P.kĩ thuật P.Triển khai dự án Phòng bảo hành Chức năng và nhiệm vụ của các phòng ban 1. Ban giám đốc: Công ty đầu tư và phát triển phần mềm kế toán ASIA là công ty cổ phần đứng đầu lãnh đạo công ty là Giám đốc và hai Phó giám đốc giúp việc (một Phó giám đốc giúp việc quản lý điều hành kinh doanh và một phó giám đốc phụ trách kĩ thuật) có kế toán trưởng phụ trách công tác kế toán thống kê - tài chính, có bộ máy giúp việc chuyên môn nghiệp vụ và có lực lượng lao động trực tiếp. Giám đốc là người đại diện pháp nhân người điều hành cao nhất, điều hành mọi hoạt động cuả công ty theo chức năng nhiệm vụ, theo dõi và chỉ đạo cụ thể các hoạt động của công ty. Hai Phó giám đốc công ty điều hành một số lĩnh vực giám đốc phân công, chịu trách nhiệm về các công việc đó, thay giám đốc điều hành và quản lý đơn vị khi giám đốc đi vắng. 2. Phòng tổ chức: Nhiệm vụ của phòng này là phụ trách công tác nhân sự và nội vụ công ty (tuyển dụng, đào tạo nhân viên, theo dõi, tham mưu giúp Giám đốc sắp xếp tổ chức, nâng lương, khen thưởng,...) 3. Phòng kĩ thuật: Chức năng lập và quản lý các chương trình phần mềm theo nhiệm vụ được giao tuân thủ theo qui trình qui định nghiệp vụ của công ty phần mềm kế toán. các chương trình do cấp trên giao, tham mưu cho giám đốc công ty về kĩ thuật nghiệp vụ, bảo dưỡng sửa chữa các chương trình phần mềm kế toán. 4. Phòng kế toán Có chức năng làm tham mưu cho giám đốc trong lĩnh vực tài chính kế toán thống kê và thực hiện đúng nguyên tắc thể lệ thủ tục quản lý tài chính kế toán của đơn vị. 5. Phòng kinh doanh: Có chức năng làm tham mưu cho giám đốc quản lý các lĩnh vực công tác kế hoạch kinh doanh vật tư và tài sản trung tâm. 6. Phòng marketing: Chức năng phụ trách lĩnh vực kinh doanh thương mại, phát triển thị trường, tìm kiếm bạn hàng và đối tác, nắm bắt kịp thời thông tin thị trường, dự báo biến động thị trường, tham mưu cho lãnh đạo những vẫn đề thuộc lĩnh vực kinh doanh. 7. Phòng triển khai dự án Chức năng chuyên trách về các dự án phần mềm kế toán phù hợp yêu cầu của khách hàng. 8. Phòng bảo hành Có trách nhiệm thực hiện bảo hành cho khách hàng khi khách hàng có yêu cầu. III. sự cần thiết phải xây dựng hệ thống thông tin quản lý nhân sự Chúng ta đang trong kỷ nguyên thông tin, hướng đến thế kỷ 21, ngày nay không ai còn nghi ngờ gì vai trò của tin học trong đời sống, trong khoa học kĩ thuật, kinh doanh cũng như mọi mặt vận động của xã hội, dưới mọi quy mô từ xí nghiệp, công ty cho đến quốc gia và toàn thế giới. Đúng vậy nhu cầu thông tin cho các cán bộ quản lý đã trở nên phức tạp, đòi hỏi mức độ chi tiết và báo cáo nhanh hơn bao giờ hết. Điều này là một trở ngại lớn cho các cơ sở vẫn duy trì những biện pháp lưu trữ, thống kê báo cáo theo phương pháp giấy bút thông thường đặc biệt là lĩnh vực quản lý nhân sự. Công ty đầu tư và phát triển phần mềm kế toán ASIA đã ứng dụng tin học vào trong công tác quản lý kinh doanh. Nhưng hiện tại phòng nhân sự của công ty vẫn duy trì biện pháp quản lý nhân sự thủ công thông thường. Vì vậy đề tài đưa tin học vào quản lý nhân sự của công ty là một trong những vấn đề được công ty quan tâm. Công ty đầu tư và phát triển phần mềm kế toán ASIA là một công ty mới thành lập vẫn còn non trẻ do vậy để có thể đứng vững trên thị trường thì vấn đề còn người là khâu đầu tiên công ty quan tâm. Phòng nhân sự của công ty phần mềm kế toán ASIA đang thực hiện quản lý nhân sự bằng phương pháp thủ công thông qua các bảng biểu, hồ sơ nhân viên để theo dõi ngày công , trình độ chuyên môn, trình độ văn hoá...với thủ tục thủ công này, người quản lý phải làm rất lâu, mất nhiều thời gian mà hiệu quả không cao, nhiều khi vẫn xảy ra sai sót trong công tác quản lý. Mỗi lần nhân viên yêu cầu lĩnh lương thì người quản lý lại phải giở sổ ra để tra xem nhân viên đó làm việc được bao lâu, hệ số lương là bao nhiêu...tra cứu rất lâu. Hơn nữa với thủ tục thủ công như hiện nay, phòng nhân sự không thể tập trung được nhân viên. Khi người quản lý muốn xem tình hình ngày công, phòng ban...như thế nào đều không thể cập nhật nhanh. Trên cơ sở thực tế đó của công ty và đáp ứng yêu cầu thực tế của công tác quản lý nhân sự, công ty đã quyết định đưa tin học vào quản lý nhân sự. Đây là một quyết định đúng đắn phù hợp yêu cầu thực tế đặt ra của công tác quản lý nhân sự, đưa tin học vào quản lý nhân sự thì hệ thống sẽ đáp ứng được việc cung cấp các thông tin về nhân sự một cách chính xác, kịp thời, giảm bớt thời gian tra cứu, đáp ứng được yêu cầu của lãnh đạo trở nên đơn giản hơn. Hệ thống được viết trên hệ quản trị cơ sở dữ liệu Visual Basic 6.0 nhằm giải quyết 3 vấn đề: Quản lý thông tin cơ bản nhân sự Quản lý thông tin nhân sự Quản lý thông tin hệ thống Chương II Phương pháp luận phân tích và thiết kế hệ thống thông tin quản lý nhân sự I. Hệ thống Thông tin Trong thời đại ngày nay cũng như trước đây, công tác quản lý và điều hành một tổ chức phải nắm bắt chính xác các thông tin và xử lý chúng khi ra quyết định. Nhưng ngày nay đòi hỏi có những quyết định nhanh và chính xác. Nếu quyết định không chính xác nó sẽ dẫn đến những hậu quả rất to lớn, vì vậy công tác quản lý ngày nay không chỉ dựa trên những kinh nghiệm mà còn dựa vào những công cụ, phương tiện hiện đại để nắm bắt, xử lý nhanh, chính xác các luồng thông tin để phục vụ ra các quyết định. Hệ thống thông tin là một tập hợp những con người, các thiết bị phần cứng, phần mềm dữ liệu... thực hiện hoạt động thu thập, lưu trữ, xử lý và phân phối thông tin trong một tập các ràng buộc được gọi là môi trường. Nó được thể hiện bởi những con người, các thủ tục dữ liệu và thiết bị tin học. đầu vào (input) của hệ thống thông tin được lấy từ các nguồn (Sources) và được xử lý bởi hệ thống sử dụng nó cùng với các dữ liệu đã được lưu trữ từ trước. Kết quả xử lý (Output) được chuyển đến các đích (Destination) hoặc cập nhật vào kho lưu trữ dữ liệu (Storage). 1. Sơ đồ hệ thống thông tin Nguồn Thu thập Xử lý và lưu trữ Kho dữ liệu Đích Phân phát Mô hình hệ thống thông tin Như hình trên minh hoạ, mọi hệ thống thông tin có bốn bộ phận: bộ phận đưa dữ liệu vào, bộ phận xử lý, kho dữ liệu, và bộ phận đưa dữ liệu ra. Từ mô hình hệ thống thông tin tổng quát ta có mô hình hệ thống thông tin phục vụ quản lý chung. 2. Hệ thống thông tin phục vụ quản lý Sơ đồ quản lý hệ thống Hệ thống thông tin phục vụ quản lý Cấp dưới Ban lãnh đạo Đầu ra Đầu vào Thông tin ngoài vào Thông tin ra Thông tin đã được xử lý Thông tin thu thập Ban lãnh đạo ban hành các quyết định quản lý. Cấp dưới thực hiện các quyết định quản lý, biến các yếu tố đầu vào của hệ thống thành các yếu tố đầu ra. Hệ thống thông tin phục vụ quản lý là trung gian của hai hệ thống trên có chức năng thu thập, lưu trữ và truyền thông tin trong hệ thống, đưa thông tin vào quá trình xử lý và truyền đạt thông tin ra một cách kịp thời. Hoạt động của tổ chức được đánh giá là tốt hay xấu tuỳ thuộc vào chất lượng của việc xử lý, sự phù hợp của thông tin. Với sơ đồ quản lý hệ thống trên, ta có thể ứng dụng vào công ty và có sơ đồ hệ thống quản lý nhân sự của công ty. Kiểm tra hồ sơ nhận Hồ sơ nhân viên Phân hệ quản lý nhân sự Bộ phận quản lý nhân sự Hệ thống thông tin quản lý nhân sự Thông tin đã xử lý Quyết định quản lý nhân sự Báo cáo tổng hợp nhân sự Hồ sơ được chấp nhận Dữ liệu quản lý Thông báo của phòng nhân sự Thông tin nhân sự Tra cứu thông tin nhân viên 3. Mô hình biểu diễn hệ thống thông tin Cùng một hệ thống thông tin có thể được mô tả khác nhau tuỳ theo quan điểm của người mô tả. Có ba mô hình đã được đề cập tới để mô tả cùng một hệ thống thông tin: mô hình logic, mô hình vật lý ngoài và mô hình vật lý trong. Mô hình logic mô tả hệ thống làm gì. Mô hình này trả lời câu hỏi “Cái gì?” và “Để làm gì?”. Nó không quan tâm tới phương tiện được sử dụng cũng như địa điểm hoặc thời điểm mà dữ liệu được xử lý. Mô hình vật lý ngoài chú ý tới những khía cạnh nhìn thấy được của hệ thống. Mô hình này cũng chú ý tới mặt thời gian của hệ thống, nghĩa là những thời điểm mà các hoạt động xử lý dữ liệu khác nhau xẩy ra. Nó trả lời câu hỏi: Cái gì? Ai? ở đâu? và Khi nào? Mô hình vật lý trong liên quan tới những khía cạnh vật lý của hệ thống tuy nhiên không phải là cái nhìn của người sử dụng mà là của nhân viên kỹ thuật. Mô hình giải đáp câu hỏi: Như thế nào? Mỗi mô hình là kết quả của một góc nhìn khác nhau, mô hình logic là kết quả của góc nhìn quản lý, mô hình vật lý ngoài là góc nhìn sử dụng, mô hình vật lý trong là của góc nhìn kỹ thuật. Ba mô hình trên có độ ổn định khác nhau, mô hình logic là ổn định nhất và mô hình vật lý trong là hay biến đổi nhất. Khái niệm mô hình này là rất quan trọng, nó tạo ra một trong những nền tảng của phương pháp phân tích, thiết kế và cài đặt hệ thống thông tin sẽ được trình bày ở phần sau. 4. Cơ sở dữ liệu 4.1 Hệ thống quản lý dữ liệu Trong hệ thống thông tin người ta lưu trữ và quản lý dữ liệu trong những kho dữ liệu, đó là nơi cất giữ dữ liệu một cách có tổ chức sao cho có thể tìm kiếm nhanh chóng những dữ liệu cần thiết. Nếu kho dữ liệu này được đặt trên các phương tiện nhớ của máy tính điện tử và được bảo quản nhờ chương trình máy tính thì nó còn được gọi là ngân hàng dữ liệu hay hệ cơ sở 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. 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ì sự hoạt động của nó tạo thành hệ thống quản lý dữ liệu. Việc xử lý nghiệp vụ và việc ra quyết định đều phải dựa vào những hệ thống quản lý dữ liệu, vì vậy các tổ chức phải duy trì những hệ thống quản lý dữ liệu. 4.2 Mô hình dữ liệu Mô hình dữ liệu là một bản phác hoạ chỉ ra các thực thể, thuộc tính và những mối quan hệ giữa chúng với nhau. Hệ quản trị cơ sở dữ liệu thường sử dụng 3 mô hình dưới đây để gắn kết các thực thể có quan hệ với nhau trong một cơ sở dữ liệu: Mô hình phấn cấp (Hierarchical Model) thể hiện mối quan hệ Cha - Con. Một thực thể cha có thể có nhiều thực thể con, nhưng mỗi thực thể con chỉ có thể có một thực thể cha. Quan hệ này còn được gọi là quan hệ Một - Nhiều. Mô hình mạng lưới (Network Model) tỏ ra mềm dẻo hơn nhiều so với mô hình phân cấp. Theo sơ đồ này thực thể cha có thể có nhiều thực thể con và ngược lại. Quan hệ này còn được gọi là quan hệ Nhiều - Nhiều. Mô hình này mềm dẻo nhưng cũng có điểm yếu của nó. Kích thước và sự phức tạp của các mối quan hệ sẽ làm cho cơ sở dữ liệu trở thành rất lớn, rất cồng kềnh và dễ nhầm lẫn. Hai mô hình trên đã là nền tảng cho hầu hết các hệ quản trị cơ sở dữ liệu phát triển vào những năm từ 1960 đến những năm đầu 1980. Vào năm 1970, khi nhận thấy những nhược điểm của các HQTCSDL phân cấp và mạng lưới, E.F. Codd đã đưa ra mô hình quan hệ (relational model). Việc nghiên cứu để sáng lập ra mô hình quan hệ nhằm vào ba mục tiêu. Mục tiêu thứ nhất là vạch ra một đường ranh giới rõ ràng giữa các phương diện logic và vật lý của việc quản trị CSDL. Khi đó các nhà lập trình ứng dụng không cần phải để ý tới cách trình bày dữ liệu trên các phương tiện vật chất nữa. Codd gọi mục tiêu này là mục tiêu độc lập dữ liệu. Mục tiêu thứ hai là tạo ra một mô hình đơn giản mà đông đảo các nhà lập trình và những người dùng có thể hiểu được ngay. Đây là mục tiêu truyền đạt nhằm tăng hiệu suất và hiệu quả của việc trao đổi giữa người dùng và các cán bộ hệ thống thông tin quản lý. Mục tiêu thứ ba được gọi là mục tiêu xử lý tập hợp, nhằm tăng khả năng xử lý từ “lần lượt từng bản ghi” đến “đồng thời nhiều bản ghi”. Đạt được các mục tiêu này nghĩa chỉ cần viết một số ít dòng lệnh cho các chương trình ứng dụng đồng thời những người dùng và những cán bộ phân tích sẽ ít hiểu lầm nhau hơn trong giao tiếp. Theo mô hình quan hệ thì HQTCSDL xem xét và thể hiện các thực thể như một bảng hai chiều với bản ghi là các hàng và các trường là các cột. Có một cột đóng vai trò trường khoá hay còn gọi là trường định danh. Mỗi giá trị của nó xác định một bản ghi duy nhất. Bảng có thể chứa các trường liến kết, chúng không phải là những trường mô tả về thực thể mà là móc xích liên kết với một hoặc nhiều bản ghi của một bảng khác. Cấu trúc như vậy có rất nhiều thuận lợi cho việc thao tác với dữ liệu trên các bảng. Mô hình quan hệ là mô hình được dùng phổ biến nhất hiện nay. Cơ sở dữ liệu nhân sự được tổ chức theo mô hình quan hệ. Gần đây xuất hiện mô hình dữ liệu hướng đối tượng, mô hình này được dùng kết hợp với mô hình quan hệ. Mô hình dữ liệu giúp chúng ta hiểu được cấu trúc, quan hệ và ý nghĩa của dữ liệu, đây là điều hết sức cần thiết trước khi bắt tay tạo lập một cơ sở dữ liệu. Lập mô hình dữ liệu là phần việc chính của việc thiết kế cơ sở dữ liệu. 5. Các giai đoạn của việc phát triển một hệ thống thông tin Một hệ thống thông tin là một đối tượng phức tạp, vận động trong một môi trường cũng rất phức tạp. Do đó phân tích viên cần phải có một phương pháp tiến hành nghiêm túc. Một phương pháp được định nghĩa như một tập hợp các bước và các công cụ cho phép tiến hành một quá trình phát triển hệ thống chặt chẽ nhưng dễ quản lý hơn. Phương pháp được đề nghị ở đây dựa vào ba nguyên tắc cơ sở chung của nhiều phương pháp hiện đại có cấu trúc để phát triển hệ thống thông tin. Ba nguyên tắc đó là: Nguyên tắc 1: Sử dụng các mô hình. Trong phần 3 đã nêu ra định nghĩa ba mô hình của hệ thống thông tin, đó là mô hình logic, mô hình vật lý ngoài và mô hình vật lý trong. Bằng cách cùng mô tả về một đối tượng chúng ta thấy ba mô hình này được quan tâm từ những góc độ khác nhau. Phương pháp phát triển hệ thống được thể hiện cũng dùng tới khái niệm của những mô hình này và do đó cần luôn luôn phân định rõ ràng ba mức. Nguyên tắc 2: Chuyển từ cái chung sang cái riêng. Nguyên tắc 3: Chuyển từ mô hình vật lý sang mô hình lôgíc khi phân tích và từ mô hình lôgíc sang mô hình vật lý khi thiết kế Các giai đoạn của phát triển hệ thống Phương pháp được đưa ra ở đây có 7 giai đoạn. Mỗi giai đoạn bao gồm một dãy các công đoạn. Phát triển hệ thống là một quá trình lặp. Tuỳ theo kết quả của một giai đoạn có thể, và đôi khi là cần thiết, phải quay về giai đoạn trước để tìm cách khắc phục những sai sót. Phương pháp có các giai đoạn sau. Giai đoạn 1: Đánh giá yêu cầu Giai đoạn 2: Phân tích chi tiết Giai đoạn 3: Thiết kế lô gíc Giai đoạn 4: Đề xuất các phương án của giải pháp Giai đoạn 5: Thiết kế vật lý ngoài Giai đoạn 6: Triển khai kĩ thuật hệ thống Giai đoạn 7: Cài đặt và khai thác 5.1 Giai đoạn 1: Đánh giá yêu cầu Đánh giá yêu cầu có mục đích cung cấp cho lãnh đạo tổ chức những dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và hiệu quả của một dự án phát triển hệ thống. Giai đoạn này được thực hiện tương đối nhanh và không đòi hỏi chi phí lớn. Nó bao gồm các công đoạn sau: Lập kế hoạch đánh giá yêu cầu. Làm rõ yêu cầu. Đánh giá khả năng thực thi. Chuẩn bị và trình bày báo cáo đánh giá yêu cầu. 5.2 Giai đoạn 2: Phân tích chi tiết Phân tích chi tiết được thực hiện sau khi có sự đánh giá thuận lợi về yêu cầu. Mục đích chính của giai đoạn này là hiểu rõ các vấn đề của hệ thống đang nghiên cứu, xác định những nguyên nhân đích thực của vấn đề, xác định những đòi hỏi và những ràng buộc áp đặt đối với hệ thống và xác định mục tiêu mà hệ thống thông tin mới phải đạt được. Giai đoạn này bao gồm các công đoạn sau: Lập kế hoạch phân tích chi tiết. Nghiên cứu môi trường của hệ thống đang tồn tại. Nghiên cứu hệ thống thực tại. Đưa ra chuẩn đoán và xác định các yếu tố giải pháp. Đánh giá lại tính khả thi. Thay đổi đề xuất của dự án. Chuẩn bị và trình bày báo cáo phân tích chi tiết. Một số khái niệm Sơ đồ luồng thông tin (IFD) được dùng để mô tả hệ thống thông tin theo cách thức động. Tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thế giới vật lý bằng các sơ đồ. Các ký pháp của sơ đồ luồng thông tin như sau: - Xử lý Thủ công Giao tác người - máy Tin học hoá hoàn toàn - Kho lưu trữ dữ liệu Thủ công Tin học hoá Dòng thông tin - Điều khiển Tài liệu Sơ đồ luồng dữ liệu (DFD) dùng để mô tả cũng chính hệ thống thông tin như sơ đồ luồng thông tin nhưng trên góc độ trừu tượng. Trên sơ đồ chỉ bao gồm các luồng dữ liệu, các xử lý, các lưu trữ dữ liệu, nguồn và đích nhưng không hề quan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý. Sơ đồ luồng dữ liệu chỉ mô tả đơn thuần hệ thống làm gì và để làm gì. Ký pháp dùng cho sơ đồ luồng dữ liệu Ngôn ngữ sơ đồ luồng dữ liệu DFD sử dụng 4 loại ký pháp cơ bản: thực thể, tiến trình, kho dữ liệu và dòng dữ liệu. Tên người/bộ phận phát/nhận tin Nguồn hoặc đích Tên dòng dữ liệu Tên tiến trình xử lý Tệp dữ liệu Dòng dữ liệu Tiến trình xử lý Kho dữ liệu Các mức của DFD Sơ đồ ngữ cảnh (Context Diagram) thể hiện rất khái quát nội dung chính của hệ thống thông tin. Sơ đồ này không đi vào chi tiết, mà mô tả sao cho chỉ cần một lần nhìn là nhận ra nội dung chính của hệ thống. Để cho sơ đồ ngữ cảnh sáng sủa, dễ nhìn có thể bỏ qua các kho dữ liệu; bỏ qua các xử lý cập nhật. Sơ đồ ngữ cảnh còn được gọi là sơ đồ mức 0. Phân rã sơ đồ Để mô tả hệ thống chi tiết hơn người ta dùng kỹ thuật phân rã (Explosion) sơ đồ. Bắt đầu từ sơ đồ ngữ cảnh, người ta phân ra thành sơ đồ mức 1, tiếp sau mức 1 là mức 2… 5.3 Giai đoạn 3: Thiết kế lô gíc Giai đoạn này nhằm xác định tất cả các thành phần lô gíc của một hệ thống thông tin, cho phép loại bỏ được các vấn đề của hệ thống thực tế và đạt được những mục tiêu đã được thiết lập ở giai đoạn trước. Thiết kế lô gíc bao gồm các công đoạn sau: Thiết kế cơ sở dữ liệu. Thiết kế xử lý. Thiết kế các luồng dữ liệu vào. Chỉnh sửa tài liệu cho mức logic. Hợp thức hoá mô hình logic. Có hai phương pháp thiết kế cơ sở dữ liệu: Thiết kế cơ sở dữ liệu logic đi từ các thông tin ra. Thiết kế cơ sở dữ liệu logic bằng phương pháp mô hình hoá. Trong đề tài này lựa chọn thiết kế bằng phương pháp mô hình hoá. Khái niệm cơ bản Thực thể quản lý (Entity) Là tập hợp các đối tượng có cùng bản chất được nhà quản lý quan tâm tới. Một thực thể có thể là nhân sự (cán bộ nhân viên, giáo viên, sinh viên, người làm dịch vụ); tổ chức (ngân hàng, kho bạc); nguồn lực hữu hình (tiền, đồ dùng văn phòng phẩm). Thực thể được biểu diễn bằng một hình chữ nhật có ghi tên thực thể bên trong. Cán bộ nhân viên Quan hệ Một thực thể trong thực tế không tồn tại độc lập với các thực thể khác. Có sự liên hệ qua lại giữa các thực thể khác nhau. Khái niệm quan hệ được dùng để trình bày, thể hiện mối liên hệ tồn tại giữa các thực thể. Nhân viên Chức vụ Có Giữa thực thể nhân viên và thực thể chức vụ tồn tại mối quan hệ: một nhân viên có thể có nhiều chức vụ, một chức vụ nhiều người nắm giữ. Số mức quan hệ Ngoài việc biết thực thể này liên kết với thực thể khác ra sao còn phải biết có bao nhiêu lần xuất của thực thể A tương ứng với mỗi lần xuất của thực thể B và ngược lại. 1@1 Quan hệ Một-Một Một lần xuất của thực thể A được liên kết với chỉ một lần xuất của thực thể B và ngược lại. Trưởng phòng Phòng công tác Lãnh đạo 1 1 Một trưởng phòng chỉ có thể lãnh đạo một phòng công tác và một phòng công tác chỉ có một trưởng phòng. 1@N Quan hệ Một - Nhiều Mỗi lần xuất của thực thể A được liên kết với một hoặc nhiều lần xuất của thực thể B và mỗi lần xuất của thực thể B chỉ liên kết với duy nhất một lần xuất của thực thể A. Nhân viên Lương Có 1 N Một nhân viên có nhiều khoản lương nhưng lương đó chỉ thuộc về một nhân viên N@M Quan hệ Nhiều-Nhiều Một lần xuất của thực thể A được liên kết với một hoặc nhiều lần xuất của thực thể B và mỗi lần xuất của thực thể B được liên kết với một hoặc nhiều lần xuất của thực thể A. Nhân viên Ngoại ngữ Có N M Một nhân viên có thể có nhiều ngoại ngữ, một ngoại ngữ có nhiều nhân viên theo học. Khả năng tuỳ chọn của quan hệ Trong thực tế có những lần xuất của thực thể A không tham gia vào liên kết đang tồn tại giữa thực thể A và thực thể B. Trong trường hợp như vậy ta gọi là quan hệ tuỳ chọn. Khách hàng Đơn hàng Đặt 1 N Dùng hình ovan nhỏ để chỉ một quan hệ tuỳ chọn Chiều của một quan hệ Chiều của một quan hệ chỉ ra số lượng các thực thể tham gia vào quan hệ đó. Người ta chia các quan hệ làm 3 loại: một chiều, hai chiều, ba chiều. Quan hệ một chiều là một quan hệ mà một lần xuất của một thực thể được quan hệ với một lần xuất của chính thực thể đó. Ví dụ: Quan hệ “Là bạn” trong một thực thể sinh viên Sinh viên Là bạn 1 N Mối quan hệ hai chiều là quan hệ trong đó có hai thực thể liên kết với nhau. Ví dụ: Quan hệ giữa nhân viên và lương Nhân viên Lương Có 1 N Quan hệ nhiều chiều là một quan hệ có nhiều hơn hai thực thể tham gia. Nhân viên Ngoại ngữ Có N M Chức vụ M Ví dụ Các máy tính hiện nay không biểu diễn được quan hệ ba chiều (nhiều chiều) nên chúng ta phải phân rã quan hệ này thành các quan hệ hai chiều. Thuộc tính Thuộc tính dùng để mô tả các đặc trưng của một thực thể hoặc một quan hệ. Có ba loại thuộc tính: thuộc tính mô tả, thuộc tính định danh và thuộc tính quan hệ. Thuộc tính định danh (Identifier) là thuộc tính dùng để xác định một cách duy nhất mỗi lần xuất của thực thể. Giá trị của thuộc tính đó là duy nhất đối với mọi lần xuất của thực thể. Ví dụ, “Mã nhân viên” là duy nhất cho mỗi nhân viên. Thuộc tính mô tả (Description) dùng để mô tả về thực thể. Ví dụ: Tên phòng ban, chức vụ… Thuộc tính quan hệ dùng để chỉ đến một lần xuất nào đó trong thực thể có quan hệ. Ví dụ: thuộc tính “Mã nhân viên” là để trỏ tới thực thể “Nhân viên”. Một quan hệ được định danh bằng việc ghép định danh của các thực thể tham gia vào quan hệ. Nhân viên Ngoại ngữ Có N M Chức vụ M #Mã nhân viên #Mã chức vụ #Mã ngoại ngữ #Mã nhân viên #Mã ngoại ngữ #Mã chức vụ Thuộc tính được đặt ở bên cạnh thực thể và quan hệ, gạch chân các thuộc tính định danh trong các biểu diễn về thực thể và quan hệ. Chuyển đổi sơ đồ khái niệm dữ liệu (ERD) sang sơ đồ cấu trúc dữ liệu (DSD) Sau khi có được sơ đồ khái niệm dữ liệu thì cần chuyển nó thành tập hợp các tệp và vẽ sơ đồ cấu trúc dữ liệu. Sau đây là một số quy tắc chuyển đổi từ mô hình quan hệ thực thể hai chiều sang sơ đồ cấu trúc dữ liệu. Quan hệ hai chiều 1@1 Đối với quan hệ này cần phải tạo ra hai tệp ứng với hai thực thể, thuộc tính định danh của một trong hai thực thể sẽ là thuộc tính phi khoá của thực thể kia. Trong trường hợp sự tham gia của một thực thể vào quan hệ là tuỳ chọn thì tốt nhất là đặt khoá vào tệp ứng với thực thể bắt buộc trong quan hệ để tránh thuộc tính nhận giá trị rỗng. Quan hệ hai chiều loại 1@N Trong trường hợp này ta tạo ra hai tệp, mỗi tệp ứng với một thực thể. Khoá của tệp ứng với thực thể có số mức quan hệ 1 được dùng như khoá quan hệ trong tệp ứng với thực thể có số mức quan hệ N. Khoá quan hệ có thể nhận giá trị rỗng nếu thực thể có số mức N là tuỳ chọn trong quan hệ. Quan hệ hai chiều loại N@M Trong trường hợp này ta phải tạo ra ba tệp: hai tệp mô tả hai thực thể và một tệp mô tả quan hệ. Khoá của tệp mô tả quan hệ được tạo thành bởi việc ghép khoá của các thực thể tham gia vào quan hệ. 5.4 Giai đoạn 4: Đề xuất các phương án của giải pháp Sau khi mô hình logic được người sử dụng lựa chọn thì cần xây dựng các phương án khác nhau để cụ thể hoá mô hình logic. Những người sử dụng sẽ chọn lấy một phương án tỏ ra đáp ứng tốt nhất các yêu cầu của họ mà vẫn tôn trọng các ràng buộc của tổ chức. Giai đoạn này gồm các công đoạn: Xác định các ràng buộc tin học và ràng buộc tổ chức. Xây dựng các phương án của giải pháp. Đánh giá các phương án của giải pháp. Chuẩn bị và trình bày báo cáo của giai đoạn đề xuất các phương án giải pháp. 5.5 Giai đoạn 5: Thiết kế vật lý ngoài Sau khi một phương án của giải pháp được lựa chọn sẽ tiến hành thiết kế vật lý ngoài. Những công đoạn chính của giai đoạn này là: Lập kế hoạch thiết kế vật lý ngoài. Thiết kế chi tiết các giao diện (vào/ra). Thiết kế cách thức tương tác với phần tin học hoá. Thiết kế các thủ tục thủ công Chuẩn bị và trình bày báo cáo về thiết kế vật lý ngoài Kết thúc giai đoạn này cần có hai tài liệu kết quả: + Tài liệu chứa tất cả các đặc trưng của hệ thống sẽ cần cho việc thực hiện kỹ thuật. + Tài liệu dành cho người sử dụng và nó mô tả phần thủ công và cả những giao diện với những phần tin học hoá. Mục đích của thiết kế vật lý ngoài là mô tả chi tiết hình thức bên ngoài cho hệ thống thông tin. Các nhiệm vụ chính của thiết kế vật lý bao gồm: Thiết kế chi tiết các giao diện vào/ra: xác định HTTT trình bày thông tin như thế nào cho người sử dụng khi nhập dữ liệu vào hệ thống hoặc đưa kết quả ra. Thiết kế cách thức tương tác với phần tin học hoá: xác định cách thức mà người sử dụng hội thoại với HTTT. Thiết kế các thủ tục thủ công. Lập kế hoạch thiết kế vật lý ngoài Phải lựa chọn phương tiện, khuôn dạng của các dòng vào/ra. Xác định cách thức hội thoại với phần tin học hoá của hệ thống. Cách thực hiện các thủ tục thủ công. Một số nguyên tắc: - Làm sao cho người sử dụng luôn kiểm soát được hệ thống.Thiết kế hệ thống theo thói quen và kinh nghiệm của người sử dụng. - Gắn chặt chẽ với các thuật ngữ, dạng thức và các thủ tục đã được dùng. - Che khuất toàn bộ phần cứng và phần mềm. - Cung cấp thông tin về tư liệu đang sử dụng trên màn hình. - Làm sao để giảm tối thiểu lượng thông tin mà người sử dụng cần phải nhớ. - Sử dụng các quy tắc cơ bản về mầu sắc và ký hiệu. 5.6 Giai đoạn 6: Triển khai kỹ thuật hệ thống Kết quả quan trọng nhất của giai đoạn này là phần mềm, các công đoạn chính gồm: Lập kế hoạch thực hiện kỹ thuật. Thiết kế vật lý trong. Lập trình. Thử nghiệm hệ thống. Chuẩn bị tài liệu. Kết thúc giai đoạn này cần có tài liệu hướng dẫn sử dụng và thao tác cũng như các tài liệu mô tả về hệ thống. 5.7 Giai đoạn 7: Cài đặt và khai thác Giai đoạn này gồm các công đoạn: Lập kế hoạch cài đặt. Chuyển đổi. Khai thác và bảo trì. Đánh giá. II. hệ thống thông tin quản lý nhân lực Đối với một hệ thống thông tin quản lý nhân lực thì nó bao gồm các nội dung sau: 1. Cập nhật dữ liệu Trong phần này nó phải cập nhật toàn bộ dữ liệu có liên quan đến nhân viên, để làm cơ sở cho quản lý sau này. Các dữ liệu cần cập nhật là: Hồ sơ nhân viên Chức vụ Chứng chỉ Lương nhân viên Trình độ Phòng ban ... 2. Xử lý dữ liệu Trên cơ sở các dữ liệu nhập vào, hệ thống phải tiến hành xử lý Các xử lý bao gồm: Xử lý lương Xử lý hồ sơ Xử lý chức vụ Xử lý phòng ban Xử lý quá trình công tác ................................ 3. Sao lưu dữ liệu Dữ liệu phục vụ quản lý nhân sự phải được lưu trữ lâu dài, bởi vì khi cần thiết dữ liệu phải cung cấp ngay cho người sử dụng. Chương trình sau khi sử dụng phải sao lưu ra đĩa mềm hoặc một thư mục khác để cất trữ. 4. Các loại báo cáo Báo cáo là phần quan trọng nhất mà chương trình cung cấp cho người sử dụng. Dựa vào báo cáo người sử dụng mới có thể thống kê tính toán được các công việc cần thiết. - Danh sách nhân sự - Bảng lương nhân viên - Danh sách phòng ban ............................... Chương III Phân tích và thiết kế hệ thống thông tin quản lý nhân sự Phân tích là phương pháp nghiên cứu nhằm lựa chọn giải pháp thích hợp, biện pháp cụ thể để đưa máy tính vào phục vụ cho công việc hàng ngày. Phân tích là công việc đầu tiên của quá trình xây dựng một ứng dụng trên máy tính. Hiệu quả đem lại của hệ thống chương trình ứng dụng phụ thuộc vào độ nông sâu của kết quả phân tích ban đầu. I. Phân tích và thu thập dữ liệu Tìm hiểu tình hình thực tế và yêu cầu quản lý tại công ty Phân tích tình hình thực tế tại công ty Công ty đầu tư và phát triển phần mềm kế toán ASIA là một công ty cổ phần do các cổ đông thành lập. Nó mới được thành lập 10-2001 do vậy khâu quản lý nhân sự, để tìm hiểu hồ sơ, trình độ, chuyên ngành đào tạo , kinh nghiệm ...là một điều hết sức cần thiết cho công ty. Do vậy khâu quản lý nhân sự rất phức tạp và phải trải qua nhiều bước. Khi một nhân viên mới vào công ty thì ta phải cập nhật hồ sơ của nhân viên đó vào kho hồ sơ. Sau đó, từ kho hồ sơ ta có thể lấy ra để xem xét các thông tin của nhân viên đó, nếu có thiếu sót gì thì đưa ra để sửa chữa. Trong quá trình công tác nếu có sự biến động thông tin của nhân viên như: chuyển đổi phòng ban, bổ xung thêm dữ liệu... thì phải cập nhật kịp thời. Thông tin nhân viên nghỉ hưu, chuyển đổi công tác khác hay bị sa thải phải được theo dõi trong kho hồ sơ lưu. Mỗi tháng nhân viên lĩnh lương lại phải kiểm tra ngày công, bậc lương, hệ số lương, mức lương ... để xác định được lương nhân viên. In ấn báo cáo khi cấp trên có yêu cầu. Hiện nay công ty ứng dụng tin học trong công tác quản lý kinh doanh và chuyên viết phần mềm kế toán cung cấp cho thị trường phần mềm kế toán. Nhưng trong khâu nhân sự thì vẫn áp dụng phương pháp thủ công thông thường rất phức tạp và mất nhiều thời gian và công sức cho việc cập nhật, sao chép sửa chữa, xoá, tìm kiếm, do đó không đảm bảo được yêu cầu về thời gian và độ chính xác của báo cáo. Để khắc phục nhược điểm đó yêu cầu có hệ thống phù hợp quy mô của công ty. Yêu cầu của hệ thống Yêu cầu đặt ra là thiết kế một hệ thống quản lý nhân sự cho công ty. Hệ thống đó phải được ứng dụng thực tế và tin học hóa một cách khả thi, đáp ứng được yêu cầu đặt ra trong thời kì mới, phải thuận tiện an toàn và đạt hiệu quả cao. Để thực hiện các mục tiêu trên thì hệ thống mới cần làm các việc sau: + Cập nhật thông tin hồ sơ phải nhanh chóng thuận tiện và chính xác. + Xem, sửa, xoá một cách dễ dàng mà vẫn đảm bảo đẹp đẽ, rõ ràng + Tìm kiếm các thông tin một cách nhanh chóng, chính xác + Chương trình sử dụng đơn giản, người sử dụng không cần có trình độ đào tạo sâu về máy tính cũng có thể sử dụng được. Các thông tin đầu vào 2.1 Thông tin phục vụ cập nhật hồ sơ nhân sự ban đầu Bao gồm những thông tin cơ bản về CBCNV Mã nhân viên Họ tên Giới tính Năm sinh Số chứng minh thư Số thẻ bảo hiểm y tế Quốc tịch Số hợp đồng Dân tộc Thời hạn hợp đồng Tôn giáo Ngày ký hợp đồng Quê quán Hộ khẩu Địa chỉ Điện thoại Ghi chú Tình trạng Thời hạn hợp đồng Ngày bắt đầu Hộ khẩu Địa chỉ ..................... 2.2 Thông tin phục vụ cho việc cập nhật và bổ sung dữ liệu - Bảng thông tin cơ bản nhân viên - Bảng thông tin lương của nhân viên - Bảng thông tin chức vụ của nhân viên - Bảng thông tin trình độ chuyên môn của nhân viên - Bảng thông tin phòng ban của nhân viên - Bảng thông tin quá trình công tác của nhân viên - Bảng thông tin hệ thống 3. Các thông tin đầu ra Bao gồm các báo cáo Danh sách nhân sự Bảng lương nhân viên Danh sách phòng ban II. Thiết kế lô gíc hệ thống 1. Sơ đồ IFD và DFD của hệ thống * Sơ đồ luồng thông tin của hệ thống quản lý nhân sự Gồm 4 chủ thể: Nhân viên, phòng nhân sự, phòng kế toán và Giám đốc. Gồm 5 xử lý: Nhập hồ sơ, nhập thông tin liên quan, cập nhật tìm kiếm, xử lý dữ liệu, tính lương. Dòng thông tin gồm dòng vào và dòng ra. Các dòng vào: Thông tin của nhân sự , những thông tin liên quan nhân sự, yêu cầu. Dòng ra: Lương, trả lời, báo cáo,thông tin đã xử lý. Có 2 kho lưu trữ dữ liệu: Kho hồ sơ cá nhân, kho hồ sơ nhân viên Sơ đồ luồng thông tin của hệ thống quản lý nhân sự Nhân viên Phòng nhân Sự Phòng kế toán Giám đốc Thông tin cơ bản của nhân sự Nhập hồ sơ nhân sự Báo cáo Nhập TT liên quan Kho hồ sơ cá nhân Kho hồ sơ nhân viên Cập nhật tìm kiếm Xử lý dữ liệu Thông tin đã xủ lý Những TT liên quan nhân sự Yêu cầu Trả lời Tính lương * Sơ đồ DFD của hệ thống quản lý nhân sự Trong quá trình phân tích thì sơ đồ dòng dữ liệu giúp cho ta dễ dàng xác định được yêu cầu của người sử dụng. Sơ đồ dòng dữ liệu nêu ra một mô hình hệ thống thông tin chuyển vận từ một quá trình này sang một quá trình khác. Điều quan trọng là phải xác định được đầy đủ các thông tin vào ra. Sơ đồ mức ngữ cảnh của hệ thống Yêu cầu được đáp ứng P.nhân sự Nhân viên Giám đốc P.kế toán Quản lý nhân sự Lương Yêu cầu Thông tin Lưu trữ hồ sơ nhân sự nhân sự Sơ đồ ngữ cảnh của hệ thống trên chỉ là tổng quát. Khi các vấn đề khác phát sinh được đặt ra thì với sơ đồ mức ngữ cảnh như trên chưa vạch ra được chi tiết của vấn đề. Bởi vậy ta phải phân tích cụ thể các vấn đề này trong sơ đồ dữ liệu mức 1 và mức dưới 1. Sơ đồ DFD mức 0 của hệ thống Thông tin hệ thống Hồ sơ thông tin liên quan Nhân viên Quản lý thông tin cơ bản nhân sự P.nhân sự 3.0 Cập nhật thông tin hệ thống 2.0 Quản lý các thông tin liên quan nhân sự Hồ sơ nhân sự cơ bản Giám đốc P.nhân sự P.nhân sự P.kế toán Báo cáo Lương Thông tin cần cập nhật TT đã Xlý Yêu cầu Giám đốc Sơ đồ DFD phân rã tiến trình quản lý thông tin cơ bản nhân sự Tìm kiếm Yêu cầu P. Nhân sự Cập nhật thông tin cơ bản Nhân viên Xử lý thông tin cơ bản nhân sự P. Nhân sự Hồ sơ nhân sự cơ bản P. nhân sự Các tra cứu Thông tin cần xử lý Thông tin cập nhật Giám đốc Yêu cầu Sơ đồ DFD phân rã tiến trình quản lý các thông tin liên quan nhân sự P. kế toán P. Nhân sự Tính lương Cập nhật thông tin liên quan nhân sự Lương Hồ sơ thông tin liên quan Nhân viên Thông tin c Liên quan Báo cáo P. Nhân sự P. Kế toán P. Giám đốc Thông tin Yêu cầu Báo cáo cập nhật Sơ đồ phân rã tiến trình quản lý các thông tin hệ thống P. Nhân sự Lựa chọn chỉ tiêu hệ thống Thông tin hệ thống Cập nhật thông tin hệ thống P. Nhân sự Danh sách được chọn Thông tin cần cập nhật 2. Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hoá 2.1 Khái niệm cơ bản - Thực thể (Entity).Thực thể trong mô hình lô gíc dữ liệu được dùng để biểu diễn những đối tượng cụ thể hoặc trừu tượng trong thế giới thực mà ta muốn lưu trữ những thông tin về chúng. Trong hệ thống chúng ta đang nghiên cứu có các thực thể sau: Nhân viên Trình độ chuyên môn Phòng ban Chức vụ Ngoại ngữ Tin học Chứng chỉ Nhân viên chức vụ Nhân viên phòng ban Nhân viên lương Nhân viên ngoại ngữ Nhân viên quá trình công tác Nhân viên tin học Nhân viên trình độ chuyên môn. 2.2. Mối quan hệ các thực thể và chuyển đổi thực thể khái quát Liên kết Một thực thể trong thực tế không tồn tại độc lập với các thực thể khác. Có sự liên kết qua lại giữa các thực thể khác nhau. Cũng có thể gọi là có quan hệ qua lại với nhau. Để thiết kế tốt các sự trợ giúp quản lý của HTTT, ngoài việc biết thực thể này liên kết với thực thể khác ra sao, còn phải biết có bao nhiêu lần thực thể A tương tác với mỗi lần của thực thể B và ngược lại. Liên kết Một_Một (1-1) Liên kết Một_Nhiều (1-n) Liên kết Nhiều_Nhiều (n_n) Thuộc tính Thuộc tính dùng để mô tả đặc trưng của một quan hệ. Thuộc tính định danh (Identifier) là thuộc tính dùng để xác định một cách duy nhất mỗi lần xuất hiện của thực thể. Thuộc tính mô tả (Description) dùng để mô tả về thực thể. Thuộc tính quan hệ (Relation) dùng để chỉ đến một lần xuất nào đó trong thực thể có quan hệ. Ta có các quan hệ giữa các thực thể theo phương pháp mô hình hoá Có Nhân viên Chức vụ M N Có Nhân viên NV-Lương N 1 Có M Nhân viên Ngoại ngữ N Chứng chỉ 1 Làm việc Nhân viên Phòng ban M N Có Nhân viên Tin học M N Chứng chỉ 1 Nhân viên TĐCM Có N M Chứng chỉ 1 Có Nhân viên QT công tác M 1 Sơ đồ quan hệ các thực thể ERD NV_QTCT #mãnhânviên từ ngày đến ngày Chứng chỉ #mã phòng ban NV-Lương Chức vụ Ngoại ngữ Nhân viên Có Làm việc N 1 1 N N N Phòng ban M MM N #mãngoạingữ #mã chứng chỉ chỉ #mã trình độ CM #mã chức vụ #Bậc lương #mãtin học Trình độ CM Tin học M M N Có M Có N 1 Có Có Có 1 1 #mãnhânviên Chuyển từ ERD sang DSD NV-Lương Mã nhân viên Bậc lương Hê.số-LCB ... Phòng ban Mã phòng ban Tên phòng ban NV-Phòng ban Mã nhân viên Mã phòng ban ... Chức vụ Mã chức vụ Tên chức vụ NV-Chức vụ Mã nhân viên Mã chức vụ .... NV-QTCT Mã nhân viên Từ ngày Đến ngày Nhân viên Mã nhân viên Tên nhân viên .... NV-Ngoại ngữ Mã Nhân viên Mã ngoại ngữ Mã chứng chỉ Ngoại ngữ Mã ngoại ngữ Tên ngoại ngữ Chứng chỉ Mã chứng chỉ Tên chứng chỉ NV- Trình độ chuyên môn Mã nhân viên Mã TĐCM Mã chứng chỉ Trình độ chuyên môn Mã TĐCM Tên TĐCM NV-Tin học Mã nhân viên Mã tin học Mã chứng chỉ ... Tin học Mã tin học Tên tin học III. Thiết kế vật lý ngoài Thiết kế vào/ra 1.1 Thiết kế ra Đầu ra của hệ thống bao gồm các báo cáo. Các đầu ra này sẽ được in trên giấy khổ A4. Thiết kế vào Mục đích của thiết kế vào là thiết kế các thủ tục nhập dữ liệu có hiệu quả và giảm thiểu các sai sót. Thiết kế vào bao gồm: lựa chọn phương tiện, thiết kế khuôn dạng cho thông tin nhập. Lựa chọn phương tiện nhập: Nhập dữ liệu từ các thông tin liên quan nhân sự vào máy qua bàn phím. 2. Thiết kế khuôn dạng màn hình nhập Nguyên tắc thiết kế: Thiết kế khuôn dạng màn hình . Tên trường được đặt ở phía trên hoặc trước trường nhập. Một số trường được đặt các giá trị ghi nhớ những thông tin giúp cho người sử dụng không phải nhớ nhiều. IV. Triển khai hệ thống Lựa chọn công cụ phát triển hệ thống Cùng với sự phát triển và công nghệ thông tin, công nghệ phần mềm ngày nay đã có những bước tiến nhanh chóng, trải qua các giai đoạn từ ngôn ngữ lập trình không cấu trúc, đến ngôn ngữ lập trình có cấu trúc rồi chuyển sang ngôn ngữ lập trình hướng đối tượng. Từ các mô hình cơ sở dữ liệu quan hệ đến các cơ sở hướng đối tượng, từ hoạt động trên máy PC riêng lẻ đến hoạt động trên môi trường mạng, từ những ngôn ngữ lập trình tổng quát đến những hệ quản trị cơ sở dữ liệu cho những ứng dụng chuyên sâu. Tất cả những sự phát triển đó giúp cho các ngôn ngữ lập trình ngày càng trở nên gần gũi, dễ sử dụng đối với những người thiết kế, lập trình , bảo trì chương trình. Lựa chọn ngôn ngữ lập trình đóng vai trò quan trọng đối với sự thành công của chương trình. Việc lựa chọn ngôn ngữ lập trình dựa vào nhiều yếu tố khách quan, chủ quan như: khả năng của người được giao nhiệm vụ, thói quen của người sử dụng, yêu cầu về môi trường phần cứng, khả năng của ngôn ngữ định lựa chọn ... Việt Nam hiện nay đang sử dụng nhiều ngôn ngữ lập trình và các hệ quản trị cơ sở dữ liệu khác nhau. Điển hình là các ngôn ngữ Pascal, TurboC, C++, Basic, Foxpro, Visual Basic, Access,...Qua thực tế dựa trên nhiều yếu tố đó. Em đã lựa chọn ngôn ngữ lập trình cho hệ chương trình quản lý nhân sự này là Visual Basic 6.0. 2. Thiết kế vật lý trong 2.1 Liệt kê các chức năng của hệ thống Hệ thống quản lý nhân sự gồm 3 chức năng chính: * Chức năng quản lý thông tin cơ bản nhân sự * Chức năng quản lý các thông tin nhân sự * Chức năng quản lý danh sách hệ thống Trong chức năng quản lý thông tin cơ bản nhân sự có các chức năng con như: - Thêm - Tìm kiếm - Bỏ qua - Sửa - Xoá - Lưu Trong chức năng quản lý các thông tin nhân sự có các chức năng con - Cập nhật - Bỏ qua - Xoá Trong chức năng quản lý danh sách hệ thống - Bỏ qua - Cập nhật - Xoá - Đóng 2.2 Sơ đồ BFD của hệ thống quản lý nhân sự Biểu đồ phân cấp chức năng (BFD) Quản lý nhân sự Quản lý thông tin cơ bản nhân sự Quản lý thông tin nhân sự Quản lý danh sách hệ thống Thêm nhân viên Tìm kiếm Bỏ qua Sửa nhân viên Bỏ qua Cập nhật Xoá Cập nhật Bỏ qua Xoá nhân viên Lưu Xoá Đóng lại 2.3 Thiết kế cơ sở dữ liệu vật lý trong quản lý nhân sự Trong giai đoạn thiết kế lô gíc, cơ sở dữ liệu chứa tất cả những dữ liệu chính nhưng không có dữ liệu dư thừa, để tạo ra các thông tin đầu ra của hệ thống. Thiết kế vật lý trong nhằm mục đích tìm cách tiếp cận tới dữ liệu nhanh và hiệu quả. Việc xây dựng một cơ sở dữ liệu trong Access được bắt đầu bằng việc xây dựng bảng dữ liệu. Cấu trúc bảng dữ liệu gồm các trường (Field) và các bản ghi (record). Mỗi trường được xây dựng bởi một kiểu dữ liệu nhất định. Hệ quản trị cơ sở dữ liệu Access hỗ trợ các kiểu dữ liệu sau: - Text: đây là kiểu dữ liệu rộng nhất trong các kiểu dữ liệu mà Access quản lý. Nó bao gồm ký tự, chữ, chữ số. Kiểu dữ liệu này cũng được sử dụng thường xuyên nhất, nó có thể dùng để lưu thông tin về tên, địa chỉ, quê quán... giới hạn của kiểu kí tự này là 255 kí tự. - Number: đây là kiểu dữ liệu số, có thể là integer (số nguyên) long integer, single, double, byte. - Currency: kiểu tiền tệ. - Date/time: lưu dữ liệu kiểu ngày tháng ........................ Thiết kế cơ sở dữ liệu giúp người sử dụng quản lý thông tin thông qua các bản ghi. Các bảng dữ liệu có cấu trúc chặt chẽ, có chức năng quản lý nhân sự với hệ thống chính xác cao. Việc thiết kế các trường dữ liệu phải đảm bảo đầy đủ về mặt nội dung và thể hiện rõ chức năng của trường. Các bước thiết kế CSDL có vai trò quan trọng đảm bảo yêu cầu sau: + Đảm bảo việc thiết kế thông tin không thừa, không thiếu. + Đảm bảo tính khoa học, phát triển cho hệ thống sau này. Qua quá trình tìm hiểu và phân tích bài toán ta có thể đưa ra các tệp cơ sở dữ liệu: Các bảng dữ liệu Bảng 1: Chức vụ Chức vụ STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 Machucvu Number 4 Mã chức vụ 2 Tenchucvu Text 50 Tên chức vụ Bảng này lưu giữ thông tin về chức vụ trong công ty Bảng 2: Danh mục chứng chỉ Chứng chỉ STT Tên trường Kiểu Kích thước Mô tả 1 MaCC Number 4 Mã chứng chỉ 2 TenCC Text 50 Tên chứng chỉ Bảng này nêu danh mục các loại văn bằng chứng chỉ Bảng 3: Nhân viên Nhân viên STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Text 5 Mã nhân viên 2 TenNV Text 35 Tên nhân viên 3 Gioitinh Yes/no 1 Giới tính 4 Ngaysinh Date/time 8 Ngày sinh 5 SoCMT Text 10 Số chứng minh thư 6 SoBHYT Text 8 Số bảo hiểm y tế 7 Quoctich Text 30 Quốc tịch 8 Dantoc Text 20 Dân tộc 9 Quequan Text 50 Quê quán 10 Tongiao Text 30 Tôn giáo 11 SoHD Text 20 Số hợp đồng 12 ThoihanHD Number 4 Thời hạn hợp đồng 13 NgayBD Date/time 8 Ngày bắt đầu 14 Hokhau Text 50 Hộ khẩu 15 Diachi Text 50 Địa chỉ 16 Tel Text 30 Điện thoại 17 Ghichu Text 100 Ghi chú 18 Tinhtrang Yes/no 1 Tình trạng Bảng này chứa thông tin về lý lịch nhân viên Bảng 4: Ngoại ngữ Ngoại ngữ STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNN Number 4 Mã ngoại ngữ 2 TenNN Text 15 Tên ngoại ngữ Bảng 5: Phòng ban Phòng ban STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaPB Number 4 Mã phòng ban 2 TenPB Text 30 Tên phòng ban Bảng 6: Tin học Tin học STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaTH Number 4 Mã tin học 2 TenTH Text 50 Tên tin học Bảng 7: Trình độ chuyên môn Trình độ chuyên môn STT Tên trường Kiểu Kích thước Mô tả 1 MaTDCM Number 5 Mã trình độ chuyên môn 2 TenTDCM Text 30 Tên trình độ chuyên môn Bảng 8: Nhân viên chức vụ Nhân viên chức vụ STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Text 5 Mã nhân viên 2 MaCV Number 4 Mã chức vụ 3 Tungay Date/time 8 Từ ngày Bảng 9: Nhân viên lương Nhân viên lương STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Text 5 Mã nhân viên 2 Bacluong Number 4 Bậc lương 3 Heso-LCB Number 4 Hệ số lương cơ bản 4 Heso-CT Number 4 Hệ số lương công tác 5 Heso-PC Number 4 Hệ số lương phụ cấp 6 NgayQD Number 8 Ngày quyết định Bảng 10: Nhân viên ngoại ngữ Nhân viên ngoại ngữ STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Text 5 Mã nhân viên 2 MaNN Number 4 Mã ngoại ngữ 3 MaCC Number 4 Mã chứng chỉ 4 Loai Text 15 Loại 5 Noicap Text 30 Nơi cấp 6 Ngaycap Date/time 8 Này cấ Bảng 11: Nhân viên phòng ban Nhân viên phòng Ban STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaPB Number 4 Mã của phòng ban 2 MaNV Text 5 Mã nhân viên 3 Tungay Date/time 8 Từ ngày Bảng 12: Nhân viên quá trình công tác NhânViên quá trình công tác STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Number 5 Mã của nhân viên 2 Tungay Date/time 8 Từ ngày 3 Denngay Date/time 8 Đến ngày 4 Congviec Text 50 Công việc 5 Coquan Text 50 Cơ quan 6 Chucvu Text 5 0 Chức vụ 7 Diaphuong Text 50 Địa phương 8 Ghichu Text 50 Ghi chú Bảng 13: Nhân viên tin học Nhân viên tin học STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Text 5 Mã nhân viên 2 MaTH Number 4 Mã tin học 3 MaCC Number 4 Mã chứng chỉ 4 Loai Text 15 Loại 5 Noicap Text 30 Nơi cấp 6 Ngaycap Date/time 8 Ngày cấp Bảng 14: Nhân viên trình độ chuyên môn Nhân viên trình độ chuyên môn STT Tên trường Kiểu dữ liệu Kích thước Mô tả 1 MaNV Text 5 Mã nhân viên 2 MaTDCM Number 4 Mã trình độ chuyên môn 3 MaCC Number 4 Mã chứng chỉ 4 Loai Text 15 Loại 5 Noicap Text 30 Nơi cấp 6 Ngaycap Date/time 8 Ngày cấp Relationships thiết kế trong access 3. Thiết kế các giải thuật Trong công tác quản lý nhân sự trên máy tính, mỗi cơ quan đều có hướng quản lý tương đối giống nhau.Tuy nhiên trong các khâu xử lý, lưu trữ , tìm kiếm dữ liệu lại tuỳ thuộc vào từng doanh nghiệp lại hoàn toàn khác nhau. Để tìm kiếm dữ liệu ta có thể mở tập tin CSDL ra rồi nhập hoặc tìm kiếm trực tiếp, làm như thế công việc trên không đảm bảo trực quan và không thể áp dụng các câu lệnh đặc biệt, các phép toán phức tạp theo yêu cầu đặt ra như ta muốn nhập theo bảng ... Vì vậy để khắc phục tình trạng này ta nên viết riêng một chương trình. Để viết chương trình được khả thi thì đòi hỏi trước tiên phải có thuật toán đúng, đủ và phải là phương pháp giải quyết bài toán nhanh nhất, tối ưu nhất. Dưới đây là các thuật toán cơ bản của chương trình quản lý nhân sự: Không Begin Bấm vào nút thêm Nhập đầy đủ các thông tin End Mở form nhập Có cập nhât không? Kết thúc Có Không Cập nhật 3.1 Sơ đồ thuật toán nhập dữ liệu 3.2 Thuật toán tìm kiếm Begin Mở form tìm kiếm Có tồn tại không? Hiện đầy đủ dữ liệu thoả mãn Lời thông báo không có dữ liệu thoả mãn Kết thúc End Nhập điều kiện tìm Có Không Bấm nút tìm kiếm Không Không In Mở báo cáo Begin Mở form báo cáo Có báo cáo hay không Có xem trước khi in không Kết thúc End Nhập tiêu chuẩn báo cáo Không Có Có Không 3.3 Thuật toán lập báo cáo Không Begin Bấm vào nút xoá Nhập thông tin cần xoá End Mở form xoá Có xoá Không? Kết thúc Có Không Xoá 3.4 Thuật toán xoá Một số giao diện của chương trình Giao diện chính của chương trình Thông tin nhân sự cơ bản Thông tin chức vụ của nhân viên Thông tin phòng ban của nhân viên Thông tin lương của nhân viên Thông tin chuyên môn của nhân viên Thông tin ngoại ngữ của nhân viên Thông tin về tin học của nhân viên Các thông tin hệ thống Thông tin phòng ban Thông tin về chức vụ Thông tin về các trình độ chuyên môn Thông tin ngoại ngữ Thông tin về tin học Thông tin về các loại bằng cấp chứng chỉ Các báo cáo Kết Luận Tin học hoá quản lý là quá trình áp dụng những thành tựu khoa học công nghệ thông tin vào các hoạt động quản lý, nhằm tự động hóa các bước của hoạt động quản lý với tốc độ cao và độ chính xác tối đa. Trong thời gian thực tập và thiết kế chương trình, em đã tìm hiểu tổng quan về công tác quản lý nói chung và công tác quản lý nhân sự nói riêng. Đồng thời em còn nghiên cứu về ngôn ngữ Visual Basic thiết kế cơ sở dữ liệu bằng ACCESS. Trong khuôn khổ của luận văn tốt nghiệp, em đã trình bày tổng quan về công tác quản lý nhân sự cho công ty đầu tư và phát triển phần mềm kế toán ASIA. Trên đây mới chỉ là mở đầu có tính khai phá, nên chương trình chắc chắn còn nhiều khiếm khuyết nhất định cần khắc phục và phát triển, đó là các vấn đề liên quan đến quản lý và xử lý ở nhiều doanh nghiệp khác nhau. Rất mong nhận được sự đóng góp của thầy cô và bạn bè. Cuối cùng một lần nữa cho phép em bày tỏ lòng biết ơn sâu sắc tới thầy giáo Đoàn Quốc Tuấn đã tận tâm giúp đỡ em trong suốt thời gian qua, và các phòng ban trong công ty đầu tư và phát triển phần mềm kế toán ASIA đã giúp cho em hoàn thành đề tài này. Danh mục tài liệu tham khảo 1. Nguyễn Thị Ngọc Mai Microsoft Visual Basic 6.0 và lập trình cơ sở dữ liệu NXB Giáo dục, 2000 2. Trương Văn Tú Giáo trình phân tích và thiết kế hệ thống thông tin quản lý NXB Thống kê, Hà Nội 2000 3. Lê tiến Vượng Cơ sở dữ liệu quan hệ Đại học bách khoa Hà Nội,1994 4. Trung tâm khoa học tự nhiên và công nghệ quốc gia Phân tích và thiết kế tin học hệ thống quản lý nhân sự NXB Giao thông vận tải, 1995 5. Phân tích, thiết kế và cài đặt hệ thống thông tin quản lý Viện khoa học - Thành Phố Hồ Chí Minh Phụ lục Attribute VB_Name = "frmNhansu" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Public add As Boolean, res As Boolean, edi As Boolean, fin As Boolean Public manv As String, ngay As Date, td As Byte, tong_bg As Long, bg_hientai As Long Sub Vitri_bg() tong_bg = Data1.Recordset.RecordCount bg_hientai = Data1.Recordset.AbsolutePosition + 1 lbvt = "Bản ghi: " & bg_hientai & " / " & tong_bg End Sub Sub Op_td() td = 0 If optd(0).Value = True Then td = 1 If optd(1).Value = True Then td = 2 If optd(2).Value = True Then td = 3 End Sub Sub Dtcv_refresh() sql = "select Macv,Tencv,Tungay from Dsnv_chucvu where Manv='" & manv & "' order by Tungay" dtcv.RecordSource = sql dtcv.Refresh End Sub Sub Dtpb_refresh() sql = "select Mapb,Tenpb,Tungay from Dsnv_phongban where Manv='" & manv & "' order by Tungay" dtpb.RecordSource = sql dtpb.Refresh End Sub Sub Dtcc_refresh() sql = "select Mapb,Tenpb,Tungay from Dsnv_phongban where Manv='" & manv & "' order by Tungay" dtpb.RecordSource = sql dtpb.Refresh End Sub '----------------- Cap nhat trinh do Ngoai ngu; Tin hoc; Chuyen mon --------------------- Sub Trinhdo_refresh(n As Byte) Call Crea_Cb(cb1, s_dbname, "DsChungchi", "Tencc", "", "Tencc") Select Case n Case 1 'Chuyen mon sql = "select * from DsNv_Chuyenmon where Manv='" & manv & "' order by Ngaycap" dttd.RecordSource = sql dttd.Refresh dttd.UpdateControls Call Crea_Cb(cb0, s_dbname, "DsTrinhdocm", "Tentdcm", "", "Tentdcm") If dttd.Recordset.RecordCount > 0 Then cb0.DataField = "Ten" cb1.DataField = "Tencc" End If lb(7).Caption = "Chuyên môn" Case 2 'Ngoai ngu sql = "select * from DsNv_Ngoaingu where Manv='" & manv & "' order by Ngaycap" dttd.RecordSource = sql dttd.Refresh dttd.UpdateControls Call Crea_Cb(cb0, s_dbname, "DsNgoaingu", "Tennn", "", "Tennn") If dttd.Recordset.RecordCount > 0 Then cb0.DataField = "Ten" cb1.DataField = "Tencc" End If lb(7).Caption = "Ngoại ngữ" Case 3 'Tin học sql = "select * from DsNv_Tinhoc where Manv='" & manv & "' order by Ngaycap" dttd.RecordSource = sql dttd.Refresh dttd.UpdateControls Call Crea_Cb(cb0, s_dbname, "DsTinhoc", "Tenth", "", "Tenth") If dttd.Recordset.RecordCount > 0 Then cb0.DataField = "Ten" cb1.DataField = "Tencc" End If lb(7).Caption = "Tin học" End Select If dttd.Recordset.RecordCount > 0 Then dttd.Recordset.MoveLast frtd.Caption = "Nhân sự: " & lbtennv End Sub Sub Luong_refresh() Dim r As Recordset 'cbbl.Text = 0 txt1(14) = 0 txt1(15) = 0 txt1(16) = 0 lbam = 0 sql = "select * from Dsnv_luong where manv='" & manv & "'" Set r = db.OpenRecordset(sql, 2) With r If .RecordCount > 0 Then If IsNull(!bacluong) = False Then cbbl.Text = CStr(!bacluong) If IsNull(!heso_lcb) = False Then txt1(14) = F_num(!heso_lcb) If IsNull(!heso_ct) = False Then txt1(15) = F_num(!heso_ct) If IsNull(!heso_pc) = False Then txt1(16) = F_num(!heso_pc) If IsNull(!thunhap) = False Then lbam = F_num(!thunhap) If IsNull(!ngayqd) = False Then dpngayqdl = !ngayqd End If r.Close End With End Sub '---------- Cap nhat Qua trinh cong tac ---------------- Sub Qtct_refresh() sql = "select * from Nv_qtct where manv='" & manv & "' order by Tungay, Denngay" dtqtct.RecordSource = sql dtqtct.Refresh 'If dtqtct.Recordset.RecordCount > 0 Then dtqtct.Recordset.MoveLast dtqtct.UpdateControls frqtct.Caption = "Nhân sự: " & lbtennv End Sub Sub Tinh_tong_luong() Dim am As Single am = CSng(txt1(14)) * CSng(lbmlcb) + CSng(txt1(15)) * CSng(lbmlk) + CSng(txt1(16)) * CSng(lbmpc) lbam = F_num(am) End Sub '====================================================== Private Sub cbbl_Click() If cbbl.Text "" Then sql = "select * from Dsluong where Bacluong=" & CSng(cbbl) & " " Set rs = db.OpenRecordset(sql, 2) With rs If .RecordCount > 0 Then lbmlcb = F_num(!Muclcb) lbmlk = F_num(!Muclct) lbmpc = F_num(!Mucpc) End If .Close End With Call Tinh_tong_luong End If End Sub Private Sub chgt_Click() chgt.Caption = "(Nam)" If chgt = 0 Then chgt.Caption = "(Nữ)" End Sub Private Sub chtt_GotFocus() If add Then chtt.Value = 1 End Sub Private Sub chtt_LostFocus() If cmdluu.Enabled = True Then cmdluu.SetFocus End Sub Private Sub cmd41_Click() Call Trinhdo_refresh(td) End Sub '------------- Cap nhat Trinh do ------------------- Private Sub cmd42_Click() Dim ma As Long, macc As Long macc = Get_Ma("DsChungchi", "Tencc", cb1.Text, "Macc") Select Case td Case 1 ' Chuyên môn If MsgBox("Cập nhật thông tin về Trình độ Chuyên môn của nhân sự " & vbCrLf & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub ma = Get_Ma("DsTrinhdocm", "Tentdcm", cb0.Text, "Matdcm") sql = "select * from Nv_Trinhdocm where manv='" & manv & "' and Matdcm=" & ma & "" Set rs = db.OpenRecordset(sql, 2) With rs If .RecordCount > 0 Then sql = "update Nv_Trinhdocm set Macc=" & macc & " ,Loai='" & t4(1) & "',Noicap='" & t4(0) & "',Ngaycap=#" & dp4 & "#" sql = sql & " where manv='" & manv & "' and Matdcm=" & ma & "" Else sql = "insert into Nv_Trinhdocm values ('" & manv & "'," & ma & "," & macc & ",'" & t4(1) & "','" & t4(0) & "',#" & dp4 & "#)" End If .Close End With db.Execute sql Case 2 ' Ngoai ngu If MsgBox("Cập nhật thông tin về Trình độ Ngoại ngữ của nhân sự " & vbCrLf & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub ma = Get_Ma("Dsngoaingu", "Tennn", cb0.Text, "Mann") sql = "select * from Nv_Ngoaingu where manv='" & manv & "' and Mann=" & ma & "" Set rs = db.OpenRecordset(sql, 2) With rs If .RecordCount > 0 Then sql = "update Nv_Ngoaingu set Macc=" & macc & " ,Loai='" & t4(1) & "',Noicap='" & t4(0) & "',Ngaycap=#" & dp4 & "#" sql = sql & " where manv='" & manv & "' and Mann=" & ma & "" Else sql = "insert into Nv_Ngoaingu values ('" & manv & "'," & ma & "," & macc & ",'" & t4(1) & "','" & t4(0) & "',#" & dp4 & "#)" End If .Close End With db.Execute sql Case 3 ' Tin học If MsgBox("Cập nhật thông tin về Trình độ Tin học của nhân sự " & vbCrLf & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub ma = Get_Ma("DsTinhoc", "Tenth", cb0.Text, "Math") sql = "select * from Nv_Tinhoc where manv='" & manv & "' and Math=" & ma & "" Set rs = db.OpenRecordset(sql, 2) With rs If .RecordCount > 0 Then sql = "update Nv_Tinhoc set Macc=" & macc & " ,Loai='" & t4(1) & "',Noicap='" & t4(0) & "',Ngaycap=#" & dp4 & "#" sql = sql & " where manv='" & manv & "' and Math=" & ma & "" Else sql = "insert into Nv_Tinhoc values ('" & manv & "'," & ma & "," & macc & ",'" & t4(1) & "','" & t4(0) & "',#" & dp4 & "#)" End If .Close End With db.Execute sql End Select Call Trinhdo_refresh(td) End Sub '----------- Xoá Trình độ -------------- Private Sub cmd43_Click() Dim ma As Long Select Case td Case 1 'Chuyen mon If MsgBox("Xoá Trình độ Chuyên môn " & cb0 & " ?", vbOKCancel + 32, "Thông báo") = vbCancel Then Exit Sub ma = Get_Ma("DsTrinhdocm", "Tentdcm", cb0.Text, "Matdcm") sql = "delete * from Nv_Trinhdocm where manv='" & manv & "' and matdcm=" & ma & "" db.Execute sql Case 2 'Ngoai ngu If MsgBox("Xoá Trình độ Ngoại ngữ " & cb0 & " ?", vbOKCancel + 32, "Thông báo") = vbCancel Then Exit Sub ma = Get_Ma("Dsngoaingu", "Tennn", cb0.Text, "Mann") sql = "delete * from Nv_Ngoaingu where manv='" & manv & "' and mann=" & ma & "" db.Execute sql Case 3 'Tin hoc If MsgBox("Xoá Trình độ Tin học " & cb0 & " ?", vbOKCancel + 32, "Thông báo") = vbCancel Then Exit Sub ma = Get_Ma("DsTinhoc", "Tenth", cb0.Text, "Math") sql = "delete * from Nv_Tinhoc where manv='" & manv & "' and math=" & ma & "" db.Execute sql End Select Call Trinhdo_refresh(td) End Sub Private Sub cmd51_Click() If MsgBox("Cập nhật thông tin về Quá trình công tác của nhân sự " & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub sql = "select * from Nv_Qtct where manv='" & manv & "' and Tungay=#" & dp5(0) & "# " Set rs = db.OpenRecordset(sql, 2) With rs If .RecordCount > 0 Then sql = "update Nv_Qtct set Denngay=#" & dp5(1) & "# ,Congviec='" & t5(4) & "',Coquan='" & t5(0) & "',Chucvu='" & t5(1) & "',Diaphuong='" & t5(2) & "',Ghichu='" & t5(3) & "'" sql = sql & " where manv='" & manv & "' and Tungay=#" & dp5(0) & "# " Else sql = "insert into Nv_Qtct values ('" & manv & "',#" & dp5(0) & "#,#" & dp5(1) & "#,'" & t5(4) & "','" & t5(0) & "','" & t5(1) & "','" & t5(2) & "','" & t5(3) & "')" End If .Close End With db.Execute sql Call Qtct_refresh dp5(0).SetFocus End Sub Private Sub cmd52_Click() Call Qtct_refresh End Sub Private Sub cmd53_Click() If MsgBox("Xoá Quá trình công tác từ ngày " & dp5(0) & " đến ngày " & dp5(1) & " ?", vbOKCancel + 32, "Thông báo") = vbCancel Then Exit Sub sql = "delete * from Nv_qtct where manv='" & manv & "' and Tungay=#" & dp5(0) & "# " db.Execute sql Call Qtct_refresh End Sub Private Sub cmdbo_Click() Tab1.Tab = 0 txt1(0) = "" cmdluu.Enabled = False cmdthem.Enabled = True cmdbo.Enabled = False cmddong.Enabled = True cmdtim.Enabled = True If edi Then Data1.Recordset.CancelUpdate Data1.Enabled = True add = False edi = False fin = False fr0.Enabled = False Tab1.Tab = 0 cmdthem.SetFocus txtmanv.Locked = True End Sub Private Sub cmdbotcv_Click() If gdnv_cv.Text = "" Then Exit Sub gdnv_cv.Col = 0 If MsgBox("Xoá Chức vụ: " & gdnv_cv.Text & " của nhân sự ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub Dim mcv As Long mcv = Get_Macv(gdnv_cv.Text) sql = "delete * from Nv_cv where Manv='" & manv & "' and Macv=" & mcv & "" db.Execute sql Call Dtcv_refresh End Sub Private Sub cmdbotpb_Click() If gdnv_pb.Text = "" Then Exit Sub gdnv_pb.Col = 0 If MsgBox("Xoá phòng ban: " & gdnv_pb.Text & " của nhân sự ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub Dim mpb As Long mpb = Get_Mapb(gdnv_pb.Text) sql = "delete * from Nv_phongban where Manv='" & manv & "' and Mapb=" & mpb & "" db.Execute sql Call Dtpb_refresh End Sub Private Sub cmddong_Click() Unload Me End Sub Private Sub cmdl2_Click() If MsgBox("Cập nhật thông tin về Lơng của nhân sự " & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub Dim bl As Single, hslcb As Single, hslct As Single, hspc As Single bl = CSng(cbbl) hslcb = CSng(txt1(14)) hslct = CSng(txt1(15)) hspc = CSng(txt1(16)) sql = "select * from Nv_luong where manv='" & manv & "'" Set rs = db.OpenRecordset(sql, 2) With rs If .RecordCount > 0 Then sql = "update Nv_luong set Bacluong=" & bl & ",Heso_lcb=" & hslcb & ",Heso_ct=" & hslct & ",Heso_pc=" & hspc & ",Ngayqd=#" & dpngayqdl & "#" sql = sql & " where manv='" & manv & "'" Else sql = "insert into Nv_Luong values ('" & manv & "'," & bl & "," & hslcb & "," & hslct & "," & hspc & ",#" & dpngayqdl & "#)" End If .Close End With db.Execute sql Call Luong_refresh End Sub Private Sub cmdl3_Click() Call Luong_refresh End Sub Private Sub cmdluu_Click() Tab1.Tab = 0 Data1.ReadOnly = False If add Then Call GetFd_val("DsNhanvien", "Tennv", txt1(1), res) If res Then MsgBox "Tên Nhân viên đã tồn tại. Hãy kiểm tra lại!", 0 + 48, "Thông báo" Call S_key(txt1(1)) Exit Sub End If End If '------------------------------- If edi Then If Data1.Recordset.BOF = False Then Data1.Recordset.MovePrevious Data1.Recordset.MoveNext GoTo Ex End If '----- Ghi du lieu ----------- Dim gt As Boolean, tt As Boolean If chgt.Value = 0 Then gt = False Else gt = True If chtt.Value = 0 Then tt = False Else tt = True txt1(0) = txtmanv Data1.UpdateRecord If add Then Data1.Recordset.MoveLast GoTo Ex '-------------- Ex: cmdluu.Enabled = False cmdthem.Enabled = True cmdbo.Enabled = False cmddong.Enabled = True cmdsua.Enabled = True cmdxoa.Enabled = True cmdtim.Enabled = True Data1.Enabled = True add = False edi = False fin = False fr0.Enabled = False Tab1.Tab = 0 cmdthem.SetFocus Exit Sub End Sub Private Sub cmdsua_Click() Tab1.Tab = 0 cmdluu.Enabled = True cmdbo.Enabled = True cmdsua.Enabled = False cmdthem.Enabled = False cmdxoa.Enabled = False cmdtim.Enabled = False cmddong.Enabled = False fr0.Enabled = True edi = True add = False fin = False Data1.Recordset.Edit Data1.Enabled = False txtmanv.Locked = True Call S_key(txttennv) End Sub Private Sub cmdthem_Click() Tab1.Tab = 0 fr0.Enabled = True Dim n As Long n = Getlast_id("DsNhanvien", "Manv") txtmanv = them0(5, n + 1) txtmanv.Locked = True 'Call S_key(txt1(1)) cmdthem.Enabled = False add = True edi = False fin = False cmdtim.Enabled = False cmdluu.Enabled = True cmdbo.Enabled = True cmdsua.Enabled = False cmdthem.Enabled = False cmdxoa.Enabled = False cmddong.Enabled = False Data1.Recordset.AddNew Data1.Enabled = False txttennv.SetFocus End Sub Private Sub cmdthemcv_Click() If ltcv.Text "" Then Dim mcv As Long, r As Recordset, them As Boolean mcv = Get_Macv(ltcv.Text) ngay = dpngay them = False sql = "select * from Nv_Cv where Manv='" & manv & "' order by Macv" Set r = db.OpenRecordset(sql, 2) With r If .RecordCount <= 0 Then them = True Else .FindFirst "Manv='" & manv & "' and Macv=" & mcv & "" If .NoMatch Then them = True End If .Close End With If them Then sql = "insert into Nv_Cv values ('" & manv & "'," & mcv & ",#" & ngay & "#)" db.Execute sql Call Dtcv_refresh End If End If End Sub Private Sub cmdthempb_Click() If ltpb.Text "" Then Dim mpb As Long, r As Recordset, them As Boolean, ngaypb As Date mpb = Get_Mapb(ltpb.Text) ngaypb = dpngaypb them = False sql = "select * from Nv_phongban where Manv='" & manv & "' order by Mapb" Set r = db.OpenRecordset(sql, 2) With r If .RecordCount <= 0 Then them = True Else .FindFirst "Manv='" & manv & "' and Mapb=" & mpb & "" If .NoMatch Then them = True End If .Close End With If them Then sql = "insert into Nv_phongban values ('" & manv & "'," & mpb & ",#" & ngaypb & "#)" db.Execute sql Call Dtpb_refresh End If End If End Sub Private Sub cmdtim_Click() Tab1.Tab = 0 fr0.Enabled = True txtmanv.Locked = False Call S_key(txtmanv) cmdtim.Enabled = False cmdluu.Enabled = False cmdbo.Enabled = True cmdsua.Enabled = False cmdthem.Enabled = False cmdxoa.Enabled = False cmddong.Enabled = False fr0.Enabled = True edi = False add = False fin = True Data1.Enabled = False Data1.ReadOnly = True End Sub Private Sub cmdxoa_Click() Tab1.Tab = 0 If MsgBox("Bạn thật sự muốn xoá Nhân sự: " & txt1(1) & " ?", vbOKCancel + 16, "Khẳng định") = vbCancel Then Exit Sub sql = "update DsNhanvien set Tinhtrang=false where Manv='" & txtmanv & "'" db.Execute sql Data1.Refresh End Sub Private Sub cmdxoacv_Click() If MsgBox("Xoá bỏ hết các Chức vụ của nhân sự " & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub sql = "delete * from Nv_cv where Manv='" & manv & "'" db.Execute sql Call Dtcv_refresh End Sub Private Sub cmdxoapb_Click() If MsgBox("Xoá bỏ hết các Phòng ban của nhân sự " & lbtennv & " ?", vbOKCancel + 32, "Khẳng định") = vbCancel Then Exit Sub sql = "delete * from Nv_phongban where Manv='" & manv & "'" db.Execute sql Call Dtpb_refresh End Sub Private Sub Data1_Reposition() If IsNull(Data1.Recordset.Fields(0)) = False Then manv = Data1.Recordset.Fields(0) Select Case Tab1.Tab Case 1 Call Dtcv_refresh Call Dtpb_refresh Case 2 Call Luong_refresh Call cbbl_Click Case 3 Call Op_td Call Trinhdo_refresh(td) Case 4 Call Qtct_refresh End Select Call Vitri_bg End If End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) '' Call Vitri_bg 'Select Case Action '' Case 1: MsgBox "<<" '' Case 2: MsgBox "<" '' Case 3: MsgBox ">" '' Case 4: MsgBox ">>" ' 'Case 1, 2, 3, 4: MsgBox Data1.Recordset.Fields(0) 'End Select End Sub Private Sub dtcv_Validate(Action As Integer, Save As Integer) End Sub Private Sub Form_Load() dtcv.DatabaseName = s_dbname dtpb.DatabaseName = s_dbname dtqtct.DatabaseName = s_dbname dttd.DatabaseName = s_dbname Data1.DatabaseName = s_dbname sql = "select * from Dsnhanvien where Tinhtrang=true order by Manv " Data1.RecordSource = sql Data1.Refresh txtmanv = txt1(0) Tab1.Tab = mnu_ns Call Vitri_bg Call Dtcv_refresh Call Crea_List(ltcv, s_dbname, "Dschucvu", "Tencv", "", "Macv") Call Crea_List(ltpb, s_dbname, "DsPhongban", "Tenpb", "", "Mapb") Call Crea_Cb(cbbl, s_dbname, "Dsluong", "Bacluong", "", "Bacluong") ngay = Date dpngay = ngay dpngaypb = ngay Call Dtpb_refresh Call Luong_refresh Call Qtct_refresh Call Trinhdo_refresh(2) add = False edi = False fin = False End Sub Private Sub lbtennv_Click() Me.lbtennv.Caption = "tên nhân viên" End Sub Private Sub ltcv_DblClick() Call cmdthemcv_Click End Sub Private Sub ltpb_DblClick() Call cmdthempb_Click End Sub Private Sub optd_Click(Index As Integer) Select Case Index Case 0: If optd(0).Value = True Then td = 1 Case 1: If optd(1).Value = True Then td = 2 Case 2: If optd(2).Value = True Then td = 3 End Select Call Trinhdo_refresh(td) End Sub Private Sub t4_GotFocus(Index As Integer) Call S_key1(t4(Index)) End Sub Private Sub t5_GotFocus(Index As Integer) Call S_key1(t5(Index)) End Sub Private Sub Tab1_Click(PreviousTab As Integer) Call Data1_Reposition End Sub Private Sub txt1_Change(Index As Integer) Select Case Index Case 0: If txt1(0) "" Then txtmanv = txt1(0) manv = txt1(0) End If Case 1: lbtennv = txt1(1) txttennv = txt1(1) If txt1(0) = "" Then lbtennv = "(Noname)" End Select End Sub Private Sub txt1_GotFocus(Index As Integer) Call S_key1(txt1(Index)) End Sub Private Sub txt1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) 'If KeyCode = 13 Then ' Select Case Index ' 'Case 0: If txt1(0) "" Then txtmanv = txt1(0) ' 'Case 1: ' End Select 'End If End Sub Private Sub txt1_LostFocus(Index As Integer) Select Case Index Case 14, 15, 16: Call Tinh_tong_luong End Select End Sub Private Sub txtmanv_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then If txtmanv "" And fin Then With Data1.Recordset .FindFirst "Manv='" & txtmanv & "'" If .NoMatch Then MsgBox "Nhân viên có mã: " & txtmanv & " không tồn tại !", 0 + 48, "Thông báo" cmdsua.Enabled = False Call S_key(txtmanv) Exit Sub Else Call S_key(txtmanv) cmdsua.Enabled = True 'MsgBox Data1.Recordset.AbsolutePosition End If End With End If End If End Sub Private Sub txttennv_Change() If edi Or add Then txt1(1) = txttennv End Sub Private Sub txttennv_GotFocus() Call S_key1(txttennv) End Sub Private Sub txttennv_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then If add Then Call GetFd_val("DsNhanvien", "Tennv", txt1(1), res) If res Then MsgBox "Tên Nhân viên đã tồn tại. Hãy kiểm tra lại!", 0 + 48, "Thông báo" Call S_key(txt1(1)) Exit Sub End If '---------------------------- If fin Then If txttennv "" Then With Data1.Recordset .FindFirst "Tennv='" & txttennv & "'" If .NoMatch Then MsgBox "Nhân viên có tên: " & txttennv & " không tồn tại !", 0 + 48, "Thông báo" cmdsua.Enabled = False Call S_key(txttennv) Exit Sub Else Call S_key(txttennv) txtmanv = .Fields("Manv") cmdsua.Enabled = True End If End With End If End If '---------------------------- End If End Sub Mục Lục Lời Nói Đầu .....................................................................1 Chương I: Giới thiệu đơn vị thực tập và đề tài nghiên cứu.................................................................................3 I. Giới thiệu tóm tắt công ty phần mềm kế toán ASIA II. Chức năng nhiệm vụ của công ty......................4 1. Chức năng..................................................................................4 2. Nhiệm vụ.................................................................................. 4 III. Chức năng nhiệm vụ các phòng ban.................. 5 1. Ban lãnh đạo............................................................................. 5 2. Phòng tổ chức........................................................................... 5 3. Phòng kĩ thuật............................................................................6 4. Phòng kế toán............................................................................6 5. Phòng kinh doanh......................................................................6 6. Phòng thương mại và tiếp thị.....................................................6 7. Phòng triển khai dự án...............................................................6 8. Phòng bảo hành.........................................................................6 IV. Sự cần thiết phải xây dựng hệ thống thông tin quản lý nhân sự........................................................7 Chương II: Phương pháp luận phân tích và thiết kế hệ thống thông tin quản lý nhân sự...................9 I. Hệ thống thông tin ....................................................9 1. Sơ đồ hệ thống thông tin...........................................................9 2. Sơ đồ hệ thống thông tin phục vụ quản lý................................10 3. Mô hình biểu diễn hệ thống thông tin................................11 4. Cơ sở dữ liệu............................................................... 12 4.1 Hệ thống quản lý dữ liệu....................................................12 4.2 mô hình dữ liệu....................................................................... 13 5. Các giai đoạn của việc phát triển một hệ thống thông tin....... 14 5.1 Đánh giá yêu cầu 5.2 Phân tích chi tiết 5.3 Thiết kế logic.............................................................. 5.4 Đề xuất các phương án của giải pháp 5.5 Thiết kế vật lý ngoài............................................... 5.6 Triển khai kĩ thuật hệ thống 5.7 Cài đặt và khai thác II hệ thống thông tin quản lý nhân lực 1. Cập nhật dữ liệu................................................................26 2. Xử lý dữ liệu..............................................................27 3. Sao lưu dữ liệu..........................................................27 4. Các loại báo cáo........................................................27 Chương III: Phân tích và thiết kế hệ thống thông tin quản lý nhân sự .......................................28 I. Phân tích và thu thập dữ liệu...................28 1. Tìm hiểu tình hình thực tế và yêu cầu quản lý tại công ty1.1 Phân tích tình hình thực tế tại công ty...............................28 1.2 Yêu cầu của hệ thống...................................................29 2. Các thông tin đầu vào................................... 29 2.1 Thông tin cập nhật hồ sơ nhân sự ban đầu 2.2 Thông tin phục vụ cập nhật và bổ xung dữ liệu 3. Thông tin đầu ra..................................................30 II. Thiết kế logic 1. Sơ đồ IFD và DFD của hệ thống 2. Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hoá 2.1. Khái niệm cơ bản 2.2. Thực thể mối quan hệ các thực thể và chuyển đổi thực thể khái quát III. Thiết kế vật lý ngoà 1. Thiết kế vào -ra 1.1. Thiết kế ra 1.2. Thiết kế vào 2. Thiết kế khuôn dạng màn hình IV. Triển khai hệ thống 1. Lựa chọn công cụ phát triển hệ thống 2 Thiết kế vật lý trong 2.1. Liệt kê các chức năng của hệ thống 2.2. Sơ đồ BFD của hệ thống quản lý nhân sự 2.3. Thiết kế cơ sở dữ liệu vật lý trongquản lý nhân sự 3. Thiết kế các giải thuật................................................... 3.1. Sơ đồ thuật toán nhập dữ liệu. 3.2. Sơ đồ thuật toán tìm kiếm 3.3. Sơ đồ thuật toán lập báo cáo 3.4. Sơ đồ thuật toán xoá............................. Sơ đồ cấu trúc chương trình Một số giao diện của chương trình Kết luận Danh mục tài liệu tham khảo Phụ lục

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

  • doc27393.DOC