Trƣờng đại học sƣ phạm hà nội 2
Khoa công nghệ thông tin
****************
NGUYỄN THỊ HOÀ
Quản lý nhân sự
Công ty TNHH Âu Lạc
khoá luận tốt nghiệp đại học
chuyên ngành: Cử nhân Tin học
Ngƣời hƣớng dẫn khoa học
Ts. Trịnh Đình Thắng
Hà Nội - 2010
1
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc tới Tiến sĩ Trịnh Đình Thắng – Trưởng khoa
Công nghệ thông tin trường Đại học Sư phạm Hà Nội 2 - Người đã tận tình hướng dẫn, chỉ
bảo giúp em hoàn thành chương trình này.
Em xin chân thành cảm ơn đến quý thầy cô trong khoa Công nghệ thông tin
Trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện cho em trong suốt quá trình học tập,
nghiên cứu và thực hiện chương trình. Em cũng xin gửi lời cảm ơn toàn thể cán bộ công
nhân viên Công ty trách nhiệm hữu hạn Âu Lạc – Thị xã Tam Điệp – Ninh Bình, đặc biệt
là giám đốc Lê Đức Tú đã cung cấp cho em đầy đủ các thông tin để thực hiện chương
trình.
Chương trình này được hoàn thành cũng một phần nhờ sự đóng góp ý kiến của các
bạn trong khoa Công nghệ thông tin đặc biệt là tập thể các bạn sinh viên lớp K32B. Xin
chân thành cảm ơn sự ủng hộ của các bạn.
Với điều kiện thời gian nghiên cứu và vốn kiến thức của bản thân còn hạn chế nên
chương trình không thể tránh khỏi những thiếu sót. Em rất mong nhận được sự chỉ bảo của
quý thầy cô và đóng góp ý kiến của các bạn để chương trình hoàn thiện hơn nữa.
Em xin chân thành cảm ơn!
Hà Nội, tháng 4 năm 2010
Sinh viên
Nguyễn Thị Hoà
2
DANH MỤC CÁC CHỮ VIẾT TẮT
Công ty TNHH Âu Lạc: Công ty trách nhiệm hữu hạn Âu Lạc
Trung tâm VLXD: Trung tâm vật liệu xây dựng
DANH MỤC CÁC HÌNH
Trang
Hình 1. Mô hình cơ cấu tổ chức Công ty TNHH Âu Lạc ............................... 21
Hình 2. Biểu đồ phân cấp chức năng .............................................................. 29
Hình 3. Chức năng quản lý hệ thống .............................................................. 30
Hình 4. Chức năng cập nhật danh mục ........................................................... 31
Hình 5. Chức năng cập nhật hồ sơ .................................................................. 32
Hình 6. Chức năng tìm kiếm nhân viên .......................................................... 33
Hình 7. Chức năng thống kê báo cáo .............................................................. 33
Hình 8. Biểu đồ luồng dữ liệu mức khung cảnh của hệ thống........................ 34
Hình 9. Biểu đồ luồng dữ liệu mức đỉnh của hệ thống ................................... 35
Hình 10. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng đăng nhập ........... 36
Hình 11. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục36
Hình 12. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng cập nhật nhân sự 37
Hình 13. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng tìm kiếm ............. 37
Hình 14. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng thống kê.............. 38
Hình 15. Mô hình thực thể liên kết ................................................................. 40
Hình 16. Bảng nhân viên................................................................................. 41
Hình 17. Bảng lý lịch Đảng viên..................................................................... 41
Hình 18. Bảng chức vụ.................................................................................... 42
Hình 19. Bảng phòng ban ............................................................................... 42
Hình 20. Bảng lương nhân viên ...................................................................... 43
Hình 21. Bảng quá trình công tác của nhân viên ............................................ 43
3
Hình 22. Form giao diện chính ....................................................................... 45
Hình 23. Giao diện Form đăng nhập ............................................................... 45
Hình 24. Cập nhật danh mục trình độ ............................................................. 46
Hình 25. Cập nhật danh mục chức vụ ............................................................. 46
Hình 26. Cập nhật danh mục phòng ban ......................................................... 47
Hình 27. Cập nhật hồ sơ nhân viên ................................................................. 48
Hình 28. Cập nhật quá trình công tác của nhân viên ...................................... 48
Hình 29. Cập nhật quá trình đào tạo của nhân viên ........................................ 49
Hình 30. Cập nhật quá trình lương của nhân viên .......................................... 49
Hình 31. Form tìm kiếm nhân viên ................................................................. 50
Hình 32. Form truy vấn quá trình công tác của nhân viên.............................. 51
Hình 33. Form giới thiệu chương trình ........................................................... 51
Hình 34. Danh sách nhân viên toàn thể công ty ............................................. 52
Hình 35. Danh sách nhân viên phòng kinh doanh .......................................... 53
Hình 36. Danh sách nhân viên là Đảng viên ................................................... 53
Hình 37. Bảng báo cáo quá trình công tác của nhân viên ............................... 54
Hình 38. Bảng báo cáo quá trình đào tạo của nhân viên ................................ 54
Hình 39. Bảng báo cáo lương nhân viên công ty ............................................ 55
4
MỤC LỤC
Trang
Lời cảm ơn
Lời cam đoan
Mở đầu ....................................................................................................... 1
1. Lý do chọn đề tài ............................................................................. 1
2. Mục đích, nhiệm vụ và phạm vi nghiên cứu ................................... 1
3. Đối tượng và phương pháp nghiên cứu ........................................... 2
4. Ý nghĩa khoa học và thực tiễn của đề tài ........................................ 3
5. Cấu trúc đề tài.................................................................................. 3
Chƣơng 1. Cơ sở lý thuyết ........................................................................ 4
2.1. Tổng quan về cơ sở dữ liệu .......................................................... 4
2.2. Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft Access ........... 6
2.3. Tổng quan về ngôn ngữ lập trình Visual Basic 6.0 ...................... 10
Chƣơng 2. Khảo sát hệ thống ................................................................... 18
2.1. Khởi tạo dự án .............................................................................. 18
2.2. Yêu cầu hệ thống .......................................................................... 18
2.3. Quản lý dự án ............................................................................... 19
2.4. Khảo sát hệ thống ......................................................................... 19
2.4.1. Khảo sát hiện trạng ............................................................ 19
2.4.2. Mô tả quy trình quản lý nhân sự tại công ty ...................... 22
2.4.3. Các vấn đề đặt ra với hệ thống mới ................................... 26
Chƣơng 3. Phân tích và thiết kế hệ thống ............................................... 28
3.1. Phân tích hệ thống về chức năng .................................................. 28
3.1.1. Biểu đồ phân cấp chức năng .............................................. 28
3.1.2. Chức năng quản lý hệ thống .............................................. 29
5
3.1.3. Chức năng quản lý danh mục ............................................ 30
3.1.4. Chức năng cập nhật nhân sự .............................................. 31
3.1.5. Chức năng tìm kiếm nhân viên .......................................... 32
3.1.6. Chức năng thống kê báo cáo.............................................. 33
3.1.7. Chức năng trợ giúp ............................................................ 34
3.2. Phân tích hệ thống về dữ liệu ....................................................... 34
3.2.1. Biểu đồ luồng dữ liệu mức khung cảnh ............................. 34
3.2.2. Biểu đồ luồng dữ liệu mức đỉnh hệ thống ......................... 35
3.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh ................................ 36
3.3. Mô hình thực thể liên kết ............................................................. 38
3.4. Thiết kế cơ sở dữ liệu ................................................................... 40
3.5. Thiết kế giao diện ......................................................................... 44
3.6. Thiết kế báo cáo ........................................................................... 52
Kết luận và hƣớng phát triển đề tài ........................................................ 56
Phụ lục ........................................................................................................ 59
Tài liệu tham khảo .................................................................................... 61
6
MỞ ĐẦU
1. Lý do chọn đề tài
Quản lý nhân sự là một trong những bộ phận quan trọng trong công ty,
đặc biệt là trong các công ty lớn trong nước và các công ty nước ngoài. Sự
thành bại của công ty phụ thuộc vào cách thức tổ chức nhân sự có tốt không.
Trong những năm vừa qua quản lý nhân sự đang dần phát triển mạnh mẽ
không những ở các công ty nước ngoài mà các công ty tư nhân cũng đang dần
nhận thấy sự quan trọng của cơ cấu tổ chức nhân sự trong công ty.
Dựa vào nhu cầu thực tế của xã hội đòi hỏi con người phải luôn năng
động và sáng tạo để tạo ra nhiều sản phẩm cho xã hội. Các công ty luôn phát
triển, các hồ sơ tuyển vào nhiều lên vì vậy đòi hỏi phải cần nhiều những kho
chứa hồ sơ để lưu trữ hồ sơ của nhân viên khi vào công ty. Quản lý nhân sự
không tốt sẽ dẫn đến nhiều vấn đề bất cập trong công ty. Vì vậy yêu cầu đặt ra
ở đây là làm thế nào để có thể lưu trữ hồ sơ và lương của nhân viên một cách
hiệu quả nhất, giúp cho nhân viên trong công ty có thể yên tâm và thoải mái
làm việc đạt kết quả cao.
Để đáp ứng nhu cầu cấp thiết đó, sau một thời gian tìm hiểu và học tập,
em đã sử dụng vốn kiến thức ít ỏi của mình nghiên cứu và phân tích bài toán
quản lý nhân sự với đề tài: “Quản lý nhân sự Công ty TNHH Âu Lạc” được
viết bằng ngôn ngữ Visual Basic 6.0 và hệ quản trị cơ sở dữ liệu Microsoft
Access 2003.
2. Mục đích, nhiệm vụ và phạm vi nghiên cứu
2.1. Mục đích nghiên cứu
Nghiên cứu đề xuất giải pháp xây dựng phần mềm quản lý nhân sự
trong Công ty trách nhiệm hữu hạn Âu Lạc sao cho phù hợp với điều kiện
thực tiễn của công ty.
7
Phần mềm này được viết bằng ngôn ngữ Visual Basic 6.0 với hệ quản
trị cơ sở dữ liệu mạnh, giao diện thân thiện, thuận tiện cho người sử dụng và
cũng nhằm mục đích rèn luyện kỹ năng lập trình, bước đầu làm quen với
những chương trình lớn.
Điều quan trọng là hệ thống không chỉ đáp ứng cho người thông thạo
về Tin học mà còn đáp ứng cho những người hiểu biết hạn chế về máy tính.
2.2. Nhiệm vụ nghiên cứu
- Làm sáng tỏ cơ sở lý luận của đề tài.
- Tìm hiểu cơ cấu tổ chức của Công ty trách nhiệm hữu hạn Âu Lạc.
- Khảo sát tình hình thực tế của Công ty.
- Áp dụng các kiến thức về cơ sở dữ liệu và phân tích - thiết kế hệ
thống thông tin quản lý để xây dựng chương trình Quản lý nhân sự tự động
thực hiện một số công việc bằng máy tính có thể thay thế một phần công việc
cho con người.
2.3. Phạm vi nghiên cứu
Phạm vi nghiên cứu của đề tài “Quản lý nhân sự công ty TNHH Âu
Lạc” tập trung vào quản lý nhân viên, quản lý lương cho nhân viên phù hợp
với đặc thù riêng của công ty trách nhiệm hữu hạn Âu Lạc.
3. Đối tƣợng và phƣơng pháp nghiên cứu
3.1. Đối tƣợng nghiên cứu
Đối tượng nghiên cứu là việc quản lý, cách thức tổ chức hoạt động của
công ty trách nhiệm hữu hạn Âu Lạc.
3.2. Phƣơng pháp nghiên cứu
3.2.1. Phƣơng pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo, tài liệu liên quan nhằm xây dựng
cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề
của đề tài.
8
3.2.2. Phƣơng pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở những lý luận được
nghiên cứu, phần mềm sẽ được đưa vào chạy thử nghiệm tại công ty trách
nhiệm hữu hạn Âu Lạc để từ đó có những điều chỉnh cho phù hợp hơn.
4. Ý nghĩa khoa học và thực tiễn của đề tài
Chương trình được xây dựng đã áp dụng thành tựu của Công nghệ
thông tin vào công tác quản lý nhân sự của công ty trách nhiệm hữu hạn Âu
Lạc và có thể sử dụng cho một số công ty có quy mô và điều kiện thực tiễn
tương đương.
Chương trình “Quản lý nhân sự công ty TNHH Âu Lạc” ra đời giúp
người quản lý có thể nắm bắt tình hình nhân sự trong công ty một cách tổng
quát, nhanh chóng và chính xác nhất.
5. Cấu trúc của đề tài
Khoá luận tốt nghiệp ngoài phần kết luận và phương hướng phát triển
nội dung chính bao gồm ba chương:
Chƣơng 1. Cơ sở lý thuyết
Chƣơng 2. Khảo sát hệ thống
Chƣơng 3. Phân tích và thiết kế hệ thống
9
Chƣơng 1
CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về cơ sở dữ liệu
1.1.1 Đặt vấn đề
Vai trò của thông tin trong đời sống, trong khoa học kỹ thuật, kinh
doanh, cũng như trong 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à cả quốc tế quả là quan trọng. Việc nắm
bắt thông tin thực, nhanh, nhiều, chính xác và kịp thời ngày càng đóng vai trò
cốt yếu trong quản lý, điều hành. Nói cách khác quản lý thực chất là quản lý
thông tin. Song mọi thông tin cần quản lý trên máy tính (theo bất cứ quy trình
cụ thể nào) cũng đều được thể hiện bằng các dữ liệu (Data). Bởi vậy khi ta nói
quản lý thông tin tức là nói đến quản lý dữ liệu.
Ở nước ta hiện nay thuật ngữ cơ sở dữ liệu (Database) không còn mấy
xa lạ đối với những người làm Tin học. Các ứng dụng Tin học vào quản lý
đang ngày một nhiều hơn. Do đó ngày càng có đông đảo người quan tâm hơn
đến thiết kế, xây dựng các cơ sở dữ liệu. Tuy nhiên vẫn còn ít những tài liệu
phổ biến về lý thuyết cơ sở dữ liệu. Một trong những hướng nghiên cứu chỉ
phát triển trong thập niên gần đây, đặc biệt từ khi E.Code đề xuất ra “mô hình
cơ sở dữ liệu quan hệ” (Relational Data Model). Ngày nay người dùng máy
tính có thể thấy khá nhiều hệ quản trị cở sở dữ liệu (các DBMS) được các
hãng phần mềm lớn trên thế giới phát triển thành thương phẩm trên nền tảng
lý thuyết về mô hình quan hệ này. Đó là những công cụ tốt cho người lập
trình, để giúp họ xây dựng nên các ứng dụng quản lý thật đa dạng. Song thiết
kế cơ sở dữ liệu theo mô hình quan hệ lại là một việc hết sức quan trọng.
Ngoài những hiểu biết thấu đáo về những bài toán quản lý thực tế (về những
10
tương quan ý nghĩa, hay các phụ thuộc hàm của những dữ liệu ban đầu); việc
thiết kế còn đòi hỏi thiết kế viên phải có một loạt kiến thức về các mức mô
hình hóa (khái niệm, logic, vật lý), các cách tiếp cận để thiết kế cơ sở dữ liệu,
các ngôn ngữ mô tả và thao tác dữ liệu, cũng như tối ưu hóa câu hỏi...
1.1.2. Khái niệm cơ bản về cơ sở dữ liệu
Để dễ dàng trong việc giải thích khái niệm, trước hết xem xét hệ
thống bán vé máy bay bằng máy tính. Dữ liệu trong máy tính gồm các thông
tin về khách hàng, chuyến bay, đường bay... Mọi thông tin về mối quan hệ
này được biểu diễn trong máy thông qua việc đặt chỗ của khách hàng. Vậy
làm thế nào để biểu diễn được các dữ liệu đó và đảm bảo cho hành khách đi
đúng chuyến.
Dữ liệu trên được lưu trữ trong máy theo một quy định nào đó và được
gọi là cơ sở dữ liệu (Database)
Phần chương trình để có thể xử lý dữ liệu này là hệ quản trị cơ sở dữ
liệu (Database Management System). Theo nghĩa này, hệ quản trị cơ sở dữ
liệu có nhiệm vụ rất quan trọng như là một bộ diễn dịch (Interpreter) với ngôn
ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà ít nhiều
không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy.
1.1.3. Tổng quan về cơ sở dữ liệu quan hệ
Khi thiết kế một cơ sở dữ liệu quan hệ thường đòi hỏi phải chọn các
lược đồ quan hệ. Việc chọn tập các lược đồ này có thể tốt hơn hoặc xấu hơn
tập các lược đồ quan hệ khác dựa trên một số tiêu chuẩn nào đó. Do vậy cần
thiết phải nghiên cứu các tính chất cơ bản cũng như các thuật toán để có thể
nhận được những tập lược đồ phù hợp. Trọng tâm của việc thiết kế các lược
đồ cơ sở dữ liệu phù hợp là các phụ thuộc dữ liệu, tức là các mối ràng buộc có
thể giữa các giá trị hiện hữu của các lược đồ. Ta xét một quan hệ sau về nhà
cung cấp. S (SNAME, ADD, PRO, PRICE).
11
Việc thiết kế một cơ sở dữ liệu tốt cần phải tránh được những vấn đề
sau:
1. Dư thừa dữ liệu (Redundanncy): Dễ dàng thấy rằng mỗi lần xuất
hiện nhà cung cấp thì địa chỉ của ông ta lại gặp lại trong quan hệ.
2. Không nhất quán (dị thường khi xuất hiện dữ liệu, Inconsistency): Là
hệ quả của việc dư thừa dữ liệu.
3. Dị thường khi thêm bộ (Insertion anomaliaes): Một nhà cung cấp
chưa cung cấp một mặt hàng (PRO) nào cả, khi đó không thể đưa địa chỉ, tên
nhà cung cấp là một bản ghi (bộ) vào quan hệ vì rằng sẽ phải đưa giá trị nào
vào thuộc tính PRO và PRICE.
4. Dị thường khi xoá bộ (Deletion anomalies): là vấn đề ngược lại của
vấn đề trên. Không thể xoá tất cả các mặt hàng được cung ứng bởi một nhà
cung cấp vì mặt hàng đó có thể nhiều người cùng cung ứng. Do vậy quan hệ S
nêu trên có thể phân chia thành những quan hệ khác nhau nhằm tránh tất cả
các vấn đề đã nêu, nhằm đạt được một lược đồ cơ sở dữ liệu (tập các lược đồ
quan hệ) sao cho tốt hơn.
1.2. Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft Access
1.2.1 Giới thiệu về Access
Access là một hệ quản trị cơ sở dữ liệu quan hệ (RDMS – Relational
Database Management System) rất phù hợp cho các bài toán quản lý vừa và
nhỏ cho hiệu năng cao và đặc biệt dễ sử dụng bởi lẽ sử dụng gần giống hệt
một số phần mềm quen thuộc trong bộ Microsoft Office như Word,
Excel…Hơn nữa, Access còn cung cấp hệ thống công cụ phát triển khá mạnh
đi kèm (Development Tools). Công cụ này sẽ giúp các nhà phát triển phần
mềm xây dựng trọn gói các phần mềm quản lý quy mô vừa và nhỏ đơn giản
12
hơn. Đặc biệt những ai muốn học phát triển phần mềm thì đây là cách dễ học
nhất, nhanh nhất.
Access cũng là một ứng dụng mạnh trong môi trường Windows. Ngay
từ đầu Access cũng là một sản phẩm của cơ sở dữ liệu trong Microsoft
Windows. Cả Windows và Access đều xuất phát từ Microsoft, nên hai sản
phẩm này làm việc rất tốt cùng nhau, tính tương thích cao. Bạn có thể cắt, dán
dữ liệu từ bất cứ ứng dụng nào trong môi trường Windows cho Access và
ngược lại. Bạn có thể liên kết các đối tượng nào ví dụ như: OLE trong Exel,
Paintbrush và Word for Windows vào môi trường Access.
Những ứng dụng chính của Access:
Dùng để xây dựng hệ cơ sở dữ liệu (chỉ là phần cơ sở dữ liệu còn phần
phát triển thành phần mềm có thể dùng các công cụ khác để làm như Visual
Basic 6.0, Visual C, Delphi.Net…)
Có thể dùng để xây dựng trọn gói những phần mềm quản lý quy mô
vừa và nhỏ.
Access là hệ quản trị cơ sở dữ liệu kiểu quan hệ chạy trên Windows
dùng để quản lý, bảo trì và khai thác số liệu được lưu trữ một cách có tổ chức
trong máy vi tính. Microsoft Access là một trong bốn phần mềm ứng dụng
của bộ Microsoft Office (Word, Excel, Powerpoint, Access). Khi cài đặt
Microsoft Office thì Microsoft Access tự động được cài.
Nhìn chung Access là một hệ quản trị dữ liệu rất tốt trong cơ sở dữ liệu,
nó có thể giúp ta truy cập đến tất cả các dạng dữ liệu. Nó có thể làm việc với
nhiều hơn một bảng (Table) tại cùng một thời điểm để giảm bớt sự rắc rối của
dữ liệu và làm cho các công việc dễ dàng thực hiện hơn.
1.2.2. Các cơ sở dữ liệu trong Access
Access cung cấp những thông tin quản lý cơ sở dữ liệu quan hệ thực sự,
hoàn thiện với những định nghĩa khoá (Primary key) và khoa ngoại (Foreign
13
key), các loại luật quan hệ (một - một, một - nhiều, nhiều - nhiều), các mức
kiểm tra mức toàn vẹn của dữ liệu cũng như định dạng và những định nghĩa
mặc định cho môi trường (Field) trong một bảng.
Bằng việc thực hiện sự toàn vẹn dữ liệu ở mức Database engine,
Access ngăn chặn được sự cập nhật và xoá thông tin không phù hợp.
Access cung cấp tất cả các kiểu dữ liệu cần thiết cho trường như: văn
bản (Text), kiểu số (Number), kiểu tiền tệ (Currency), kiểu ngày/tháng
(Date/Time), kiểu meno và các giá trị OLE. Nó cũng hỗ trợ các giá trị rỗng
(Null) khi các giá trị này bị bỏ qua.
Việc xử lý quan hệ trong Access đáp ứng những đòi hỏi với những kiến
thức mềm dẻo của nó. Nó có thể sử dụng như một hệ quản trị cơ sở dữ liệu
độc lập hoặc theo mô hình Client/Server. Thông qua ODBC (Open Database
Connectivity) chúng ta còn có thể kết nối với nhiều dạng dữ liệu bên ngoài
như: Oracle, Sybase…thậm chí với cả những cơ sở dữ liệu trên máy tính lớn
như DB/2.
Hiện nay thường sử dụng ba phiên bản Access là: Access 2.0, Access
2000 và Access 2003. Các cơ sở dữ liệu trong Access là một hệ cơ sở dữ liệu
quan hệ, tức là dữ liệu được tổ chức thành các bảng và có các mối quan hệ
giữa các bảng. Mỗi cơ sở dữ liệu được lưu trữ trong một tệp có đuôi là MDB
(Microsoft Database) và bao gồm các đối tượng:
Table (Bảng dữ liệu): Có cấu trúc tương tự như một tệp DBF của
Foxpro được dùng để tổ chức, lưu trữ dữ liệu của cơ sở dữ liệu. Một cơ sở dữ
liệu thường gồm nhiều bảng quan hệ với nhau.
Queries (Bảng truy vấn): Là công cụ mạnh của Access dùng để tổng
hợp, sắp xếp, tìm kiếm dữ liệu trên bảng có thể kèm thêm điều kiện. Khi thực
hiện truy vấn sẽ nhận được một tập hợp kết quả thể hiện trên màn hình dưới
dạng bảng gọi là Dynaset. Dynaset chỉ là bảng kết quả trung gian, không được
14
ghi lên đĩa và nó sẽ bị xoá khi kết thúc truy vấn. Tuy nhiên có thể sử dụng
một Dynaset như một bảng để xây dựng các truy vấn khác. Chỉ với truy vấn
đã có thể giải quyết khá nhiều dạng toán trong quản trị cơ sở dữ liệu.
Form (Mẫu biểu): Thường dùng tổ chức cập nhật dữ liệu cho các bảng
và thiết kế giao diện chương trình. Tuy có thể nhập dữ liệu trực tiếp vào các
bảng, nhưng mẫu biểu sẽ cung cấp nhiều khả năng nhập dữ liệu tiện lợi như:
nhập dữ liệu từ một danh sách, nhận các hình ảnh, nhập dữ liệu đồng thời trên
nhiều bảng. Mẫu biểu còn cho phép nhập các giá trị riêng lẻ (không liên quan
đến bảng) từ bàn phím. Mẫu biểu còn có một khả năng quan trọng khác là tổ
chức giao diện chương trình dưới dạng một bảng nút lệnh hoặc một hệ thống
menu.
Report (Báo biểu): Là một công cụ phục vụ cho công việc in ấn, nó cho
các khả năng: in dữ liệu dưới dạng bảng, in dữ liệu dưới dạng biểu, sắp xếp
dữ liệu trước khi in, sắp xếp và phân nhóm dữ liệu tới 10 cấp cho phép thực
hiện các phép toán để nhận dữ liệu tổng hợp trên mỗi nhóm. Ngoài ra, Report
còn cho phép tổ chức và trình bày dữ liệu theo nhóm, tổng hợp, thống kê theo
nhóm và cũng dùng để tạo các nhãn.
Page (Các trang truy nhập dữ liệu): Trang truy nhập dữ liệu là một đối
tượng gộp một tệp HTML và các tệp hỗ trợ (ví dụ hình ảnh kèm theo), có thể
xuất bảng trang này trên mạng nội tuyến (Intranet) của công ty và những
người dùng khác có thể sử dụng Internet Explore để xem, tìm kiếm, hiệu
chỉnh dữ liệu.
Macro (Lệnh vĩ mô): Bao gồm dãy các hành động dùng để tự động hoá
một loạt các thao tác. Macro thường dùng với mẫu biểu để tổ chức giao diện
chương trình.
15
Modules (Đơn thể chương trình): Là nơi chứa các hàm, thủ tục viết
bằng ngôn ngữ Access, Visual Basic. Trong đó, phần bảng được sử dụng để
tạo cơ sở dữ liệu cho chương trình “Quản lý nhân sự”.
Group (Các nhóm): Một nhóm là tập hợp các shorcut để mở các
Table, Query, Form, Report, Page, Macro, Module cùng làm nhiệm vụ con
của bài toán cần thực hiện.
Vói Access chúng ta cũng có thể phân quyền cho người sử dụng và cho
các nhóm trong việc xem và thay đổi rất nhiều các kiểu đối tượng dữ liệu.
Tóm lại: Microsoft Access là một hệ quản trị cơ sở dữ liệu tương tác
với người sử dụng chạy trên môi trương Windows, nó tăng thêm sức mạnh
trong công tác tổ chức, tìm kiếm thông tin. Khả năng kết nối và công cụ truy
vấn mạnh của nó giúp ta tìm kiếm thông tin một cách nhanh chóng. Nó cho
phép ta thiết kế được những biểu mẫu và báo cáo đáp ứng các yêu cầu đề ra
đối với quản lý dữ liệu ở mức độ chuyên môn cao.
1.3. Tổng quan về ngôn ngữ lập trình Visual Basic
1.3.1. Giới thiệu về ngôn ngữ lập trình Visual Basic
Microsoft Visual Basic là một ngôn ngữ lập trình, là công cụ lập trình
hiệu quả, Multmedia thiết kế Web và lập trình Internet. Dựa vào Visual Basic
ta có thể xây dựng những ứng dụng quản lý như quản lý tồn kho, quản lý học
sinh, kế toán bán hàng hoặc xây dựng các chương trình dạy học như dạy
ngoại ngữ, dạy toán, dạy tin…Visual Basic đã có rất nhiều phiên bản, hiện
nay Microsoft Visual Basic 6.0 là phiên bản mới nhất và có khả năng hỗ trợ
Multmedia giúp cho người lập trình viên có thể thiết kế dễ dàng các giao diện
như: chọn, phát nhạc, xem phim, lập trình game, đặc biệt là khả năng thiết kế
Web và lập trình Internet.
Visual Basic là một ngôn ngữ lập trình có thể dịch ra ứng dụng, ra tập
tin EXE, tăng khả năng bảo mật mã nguồn chương trình và dữ liệu. Tập tin đã
16
dịch ra EXE có thể cài đặt và chạy trên các máy tính độc lập mà không cần
cài đặt phiên bản Visual Basic.
Visual Basic hỗ trợ nhiều điều khiển thiết kế giao diện đẹp mắt và hiệu
quả như: nút lệnh, hộp văn bản, điều khiển thanh cuộn, điều khiển Image,
điều khiển Toolbar…
Visual Basic có thể kết nối và xử lý dữ liệu từ các hệ quản trị cơ sở dữ
liệu khác như: Excel, Foxpro, Access, SQL sever…
Mặc dù mục đích của chúng ta là tạo ra những ứng dụng nhỏ cho bản
thân hay một nhóm, một hệ thống các công ty lớn hoặc thậm chí phân phối
những ứng dụng ra toàn cầu qua Internet. Visual Basic là công cụ mà bạn cần.
Những chức năng truy xuất dữ liệu cho phép ta tạo ra những cơ sở dữ
liệu, những ứng dụng front-end, những thành phần phạm vi Server-side
cho hầu hết các dạng thức cơ sở dữ liệu phổ biến, bao gồm SQL server
và những cơ sở dữ liệu mức Enterprise khác.
Những kỹ thuật ActiveX cho phép ta dùng những chức năng được cung
cấp từ những ứng dụng khác như chương trình xử lý văn bản, bảng tính
và những ứng dụng Windows khác.
Khả năng Internet làm cho nó dễ dàng cung cấp cho việc thêm vào
những tài liệu và ứng dụng qua Internet hoặc Intranet từ bên trong ứng
dụng của bạn hoặc tạo những ứng dụng Internet server.
Ứng dụng của bạn kết thúc là một file.EXE thật sự. Nó dùng một máy
ảo Visual Basic để bạn tự do phân phối ứng dụng.
Những ứng dụng chính của Visual Basic 6.0:
1) Tạo giao diện người sử dụng: Giao diện người sử dụng có lẽ là thành
phần quan trọng nhất đối với một ứng dụng. Đối với người sử dụng, giao diện
chính là ứng dụng; họ không cần quan tâm đến thành phần mã thực thi bên
dưới. Ứng dụng của ta có được phổ biến hay không phụ thuộc vào giao diện.
17
2) Sử dụng những điều khiển chuẩn của Visual Basic: Sử dụng những
điều khiển ấy để lấy thông tin mã của người sử dụng nhập vào và để hiển thị
kết xuất trên màn hình. Ví dụ: Hộp văn bản, nút lệnh, hộp danh sách...
3) Lập trình với đối tượng: Những đối tượng là thành phần chính để lập
trình Visual Basic. Đối tượng có thể là form, điều khiển, cơ sở dữ liệu.
4) Lập trình với phần hợp thành: Khi cần sử dụng khả năng tính toán
của Microsoft Excel, định dạng một tài liệu sử dụng thanh công cụ của
Microsoft Word, lưu trữ và xử lý dữ liệu dùng Microsoft Jet...Tất cả những
điều này có thể thực hiện bằng cách xây dựng những ứng dụng sử dụng thành
phần ActiveX. Tuy nhiên người sử dụng có thể tạo ActiveX riêng.
5) Đáp ứng những sự kiện phím và con chuột: Sử dụng phím nóng, rê
và thả chuột như tính năng của OLE...
6) Làm việc với văn bản đồ hoạ: Xử lý văn bản, chèn hình theo ý muốn.
7) Gỡ rối và quản lý lỗi.
8) Xử lý ổ đĩa thư mục và file: Qua phương thức cũ là lệnh Open,
Write# và một tập hợp những công cụ mới như FSO (File System Object).
9) Thiết kế cho việc thi hành và tính tương thích: Chia xẻ hầu hết
những tính năng ngôn ngữ cho ứng dụng.
10) Phân phối ứng dụng: Sau khi tạo xong một ứng dụng ta có thể tự do
phân phối cho bất kỳ ai. Ta có thể phân phối trên đĩa, trên CD, trên mạng...
1.3.2. Các đối tƣợng trong Visual Basic 6.0
a) Đối tƣợng
Lấy ví dụ trong cuộc sống: Đối tượng có thể là một cái ti vi hoặc một
công tắc đèn dùng để thắp sáng. Một đối tượng có thể được tạo từ một đối
tượng khác. Ví dụ: Chiếc ô tô được tạo từ bánh xe, bộ khung xe, động cơ và
nhiều thứ khác.
18
Trong Visual Basic, đối tượng là những thành phần tạo nên giao diện
người sử dụng cho ứng dụng. Các điều khiển là những đối tượng. Những nơi
chứa (Container), như biểu mẫu (Form), hay hộp ảnh (Picturebox) cũng là một
đối tượng.
b) Thuộc tính
Nói một cách đơn giản, thuộc tính (Properties) mô tả đối tượng. Mỗi
một đối tượng đều có một bộ thuộc tính mô tả đối tượng. Biểu mẫu và điều
khiển đều có thuộc tính. Thậm chí, màn hình và máy in, là những đối tượng
chỉ cho phép can thiệp lúc thi hành cũng có thuộc tính. Ví dụ: Vị trí và kích cỡ
của biểu mẫu trên màn hình được xác định trong các thuộc tính Left, Top,
Height và Width. Màu nền của biểu mẫu được quy đinh trong thuộc tính
Backcolor. Thuộc tính BorderStyle quyết định người sử dụng có thể co giãn
cửa sổ được hay không.
Mặc dù mỗi đối tượng có những thuộc tính khác nhau nhưng trong đó
vấn có một số thuộc tính thông dụng cho hầu hết các điều khiển.
Các thuộc tính thông dụng:
Thuộc tính
Giải thích
Left
Vị trí cạnh trái của điều khiển so với vật chứa nó.
Top
Vị trí cạnh trên của điều khiển so với vật chứa nó.
Height
Chiều cao của điều khiển.
Width
Chiều rộng của điều khiển.
Name
Một giá trị chuỗi được dùng để nói đén điều khiển.
Enabled
Giá trị logic (True hoặc False) quyết định người sử dụng có
được làm việc với điều khiển hay không.
Visible
Giá trị logic (True hoặc False) quyết định người sử dụng có
thấy điều khiển hay không.
19
c) Phƣơng thức
Là đoạn chương trình chứa trong điều khiển, cho điều khiển biết cách
thức thực hiện một công việc nào đó, chẳng hạn đối với điều khiển đến một vị
trí mới trên biểu mẫu. Tương tự thuộc tính, mỗi điều khiển có phương thức
khác nhau, nhưng vẫn có một số phương thức rất thông dụng cho hầu hết các
điều khiển.
Các phương thức thông dụng:
Phương thức
Giải thích
Move
Thay đổi vị trí một đối tượng theo yêu cầu của chương trình.
Drage
Thi hành hoạt động kéo và thả của người sử dụng.
SetFocus
Cung cấp tầm ngắm cho đối tượng được chỉ ra.
Zorder
Quy định thứ tự xuất hiện của các điều khiển trên màn hình.
d) Sự kiện
Giống như thuộc tính mô tả đối tượng, phương thức chỉ ra cách thức đối
tượng hành động thì sự kiện là những phản ứng của đối tượng. Ví dụ: Khi
người sử dụng nhấn vào nút lệnh, nhiều sự kiện xảy ra: Nút chuột được nhấn,
CommandButton trong ứng dụng được nhấn, sau đó nút chuột được thả. Ba
hoạt động này tương đương với ba sự kiện MouseDown, Click và MouseUp.
Đồng thời hai sự kiện GotFocus và LostFocus của CommandButton cũng xảy
ra.
Tương tự thuộc tính và phương thức, mỗi điều khiển có những bộ sự
kiện khác nhau, nhưng một số sự kiện rất thông dụng với hầu hết các điều
khiển. Các sự kiện này xảy ra thường là kết quả của một hành động nào đó,
như là di chuyển chuột, nhấn nút bàn phím hoặc gõ vào hộp văn bản. Kiếu sự
kiện này được gọi là sự kiện khởi tạo bởi người sử dụng và ta sẽ phải lập trình
cho chúng.
20
Các sự kiện thông dụng:
Sự kiện
Xảy ra khi
Change
Người sử dụng sửa đổi chuỗi ký tự trong hộp kết hợp
(Combobox) hoặc hộp văn bản (Textbox).
Click
Người sử dụng nút chuột để nhấn lên đối tượng.
DblClick
Người sử dụng nút chuột để nhấn đúp lên đối tượng.
DragDrop
Người sử dụng kéo rê đối tượng sang nơi khác.
DragOver
Người sử dụng kéo rê một đối tượng ngang qua một điều khiển
khác.
KeyPress
Người sử dụng nhấn và thả một nút trên bàn phím trong khi một
đối tượng đang trong tầm ngắm.
e) Mối quan hệ giữa thuộc tính, phƣơng thức và sự kiện
Mặc dù thuộc tính, phương thức và sự kiện có vai trò khác nhau nhưng
chúng thường xuyên liên hệ với nhau. Ví dụ: Ta di chuyển một điều khiển
bằng phương thức Move (thường để đáp ứng một sự kiện), một số thuộc tính
như Top, Heigh, Left, Width sẽ thay đổi theo. Bởi vì khi kích cỡ của điều
khiển thay đổi, sự kiện Resize xảy ra.
Phụ thuộc lẫn nhau còn có nghĩa là ta có thể đạt được mục đích công
việc bằng nhiều cách: Xử lý trên thuộc tính hoặc phương thức.
f) Xây dựng chƣơng trình con Sub và Funtion
Visual Basic hỗ trợ hai loại chương trình con khác nhau: Thủ tục (Sub)
và hàm (Funtion). Visual Basic cung cấp sẵn cho bạn một số thủ tục, đó là thủ
tục biến cố (Event Procedures) và hàm xây dựng sẵn. Bạn có thể viết lệnh
trong các thủ tục biến cố. Khác với một thủ tục thông thường, thủ tục biến cố
sẽ tự động thi hành khi biến cố xảy ra.
21
g) Thủ tục
Thủ tục là một chương trình con không có giá trị trả về, có thể nhận
không hay nhiều đối số.
Định nghĩa thủ tục:
Private Sub tên thủ tục (danh sách tham số)
„ Mã lệnh của thủ tục
End Sub
h) Hàm
Hàm là một chương trình con luôn trả về một giá trị và chỉ nhận một mà
thôi, hàm cũng có thể nhận không hay nhiều đối số.
Định nghĩa hàm:
Private Funtion tên hàm (danh sách tham số)
„ Mã lệnh của hàm
End Funtion
i) Các cấu trúc điều khiển
Cấu trúc lựa chọn If:
Cấu trúc If không có Else:
If <Điều kiện> Then
End If
Cấu trúc If có Else:
If <Điều kiện> Then
Else
End If
Cấu trúc Select Case:
Select Case <Biến hay biểu thức>
Case <Giá trị 1>
-------------------„ Các lệnh
22
Case <Giá trị 2>
--------------------„ Các lệnh
…………………………..
Case <giá trị n>
---------------------„ Các lệnh
Case Else
End Select
Cấu trúc For…Next
For <Biến=Giá trị đầu> to <Giá trị cuối> Step [Khoảng tăng]
„ Các lệnh
Next Biến
Để dừng cấu trúc For ta dùng Exit For.
23
Chƣơng 2
KHẢO SÁT HỆ THỐNG
2.1. Khởi tạo dự án
Ngữ cảnh
Sử dụng máy tính để quản lý nhân sự đã được thực hiện ở nhiều nơi và
thể hiện thế mạnh của nó. Tại Công ty trách nhiệm hữu hạn Âu Lạc – Thị xã
Tam Điệp – Ninh Bình vẫn chưa có một hệ thống quản lý nhân sự hoàn chỉnh
sử dụng bằng máy tính mà phần nhiều đều áp dụng hình thức quản lý truyền
thống bằng sổ sách, giấy tờ. Chính do thực tế đó, dự án quản lý nhân sự được
xây dựng nhằm mục đích tối ưu hoá công tác quản lý cho công ty.
2.2. Yêu cầu hệ thống
Tên dự án : Hệ thống quản lý nhân sự
Nhu cầu hệ thống:
- Giảm tải công việc quản lý cho người quản lý.
- Khả năng cập nhật, tìm kiếm, thống kê dữ liệu nhanh chóng, chính xác,
tiện lợi.
- Hệ thống được bảo mật, bảo trì, có tính mở để phát triển, điều chỉnh.
24
2.3. Quản lý dự án
Kế hoạch thực hiện:
STT
Nội dung
Mô tả
1
Lập kế hoạch và phát triển hệ thống:
- Khởi tạo dự án
Tìm hiểu kế hoạch xây dựng
- Quản lý dự án
hệ thống và đề ra các bước xây
dựng nên hệ thống.
2
Phân tích:
- Kế hoạch phân tích
Xác định yêu cầu hệ thống.
- Thu thập các yêu cầu
Lập kế hoạch phỏng vấn người
dùng đưa ra các yêu cầu
nghiệp vụ, yêu cầu chức năng
của hệ thống.
- Xác định các mô hình
Xác định được tác nhân cơ bản
của hệ thống và những hoạt
động của hệ thống.
3
4
Thiết kế:
- Giao diện.
Thiết kế chi tiết: Dữ liệu, xử lý
- Sơ đồ định hướng
và giao diện.
Xây dựng hệ thống:
- Viết code và đóng gói hệ thống
2.4. Khảo sát hệ thống
2.4.1. Khảo sát hiện trạng
Thị xã Tam Điệp là thị xã phía Nam của tỉnh Ninh Bình, nằm ở vị trí
cửa ngõ miền Bắc Việt Nam. Thị xã có diện tích 110,9 km2 với dân số 55.600
người, gồm 5 phường: Bắc Sơn, Nam Sơn, Trung Sơn, Tây Sơn, Tân Bình và
25