Mục tiêu của đề tài Xây dựng được một ứng dụng quản lí hệ thống thông tin nhân sự trong công ty.. Ứng dụng được xây dựng phải đáp ứng những nhu cầu cần thiết của cửahàng: Quản lí thôn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa Học Máy Tính
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Khoa KHMT – Phạm Văn Nam 21IT032
Trang 5LỜI CẢM ƠN
Em xin trân trọng cảm ơn TS Lý Quỳnh Trân – giảng viên Khoa Khoa Học Máy Tính đã tận tâm và nhiệt tình giúp đỡ trong suốt thời gian học tập và làm đồ án, thầy đã dành nhiều thời gian quý báu để tận tình chỉ bảo, hướng dẫn, định hướng cho chúng em thực hiện đồ án, giúp chúng em hoàn thiện đồ án và học hỏi được những kinh nghiệm quý giá Chúng em xin chân thành cảm ơn các thầy cô trong khoa Khoa Học Máy Tính cũng như những giáo viên bộ môn đã nhiệt tình dạy bảo , tạo điều kiện và hỗ trợ cho em trong suốt quá trình thực hiện
đồ án tại trường Đại Học Công Nghệ Thông Tin và Truyền Thông Việt-Hàn.
Em xin cảm ơn các bạn bè đã tạo mọi điều kiện tốt nhất trong quá trình học tập và nghiên cứu làm đồ án Do khả năng còn thấp, kiến thức còn hạn chế, kinh nghiệm thực tế chưa nhiều nên không tránh khỏi những thiếu sót Rất mong được sự chỉ bảo của các thầy cô Cuối cùng chúng em xin được gửi tới thầy cô, các trợ giảng đạt được nhiều thành công hơn trong công cuộc giảng dạy.
Sinh viên,
Phạm Văn Nam
Khoa KHMT – Phạm Văn Nam 21IT032
Trang 6MỤC LỤC
MỞ ĐẦU 1
1 Giới thiệu 1
2 Mục tiêu của đề tài 1
3 Nội dung và kế hoạch thực hiện 2
4 Bố cục báo cáo 2
Chương 1 CƠ SỞ LÍ THUYẾT 3
1 Giới thiệu về Ngôn ngữ lập trình Java 3
1.1 Java là gì ? 3
1.2 Đặc điểm của Java 3
1.3 Java Swing là gì? 4
2 Giới thiệu về SQL Server 4
2.1 SQL Server là gì? 4
2.2 Microsoft SQL Server là gì? 5
2.3 Mục đích việc sử dụng SQL Server 5
2.4 Các phiên bản SQL Server 5
Chương 2 TỔNG QUAN VỀ DỰ ÁN 7
1 Đánh giá hiện trạng 7
1.1 Khảo sát trên thực tế 7
1.2 Cách tổ chức quán lí 7
1 Các chức năng cơ bản 7
2.1 Nhập xuất, chỉnh sửa dữ liệu 7
2.2 Tìm kiếm 7
2.3 Thêm dữ liệu mới 7
3 Kết chương 1 8
Chương 3 XÂY DỰNG DỰ ÁN 9
1 Giao diện hệ thống 9
2 Xây dựng cơ sở dữ liệu 12
3 Kết chương 3 14
Chương 4: KẾT LUẬN 16
Khoa KHMT – Phạm Văn Nam 21IT032
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT
Khoa KHMT – Phạm Văn Nam 21IT032
Trang 9MENU HÌNH ẢNH
Hình 1 Form đăng nhập 10
Hình 2 Menu thao tác với hệ thống 10
Hình 3 Form đăng kí Account 11
Hình 4 Form tìm kiếm, thêm thông tin nhân sự 11
Hình 5 Form kiểm tra thông tin account 12
Hình 6 Form tìm kiếm dự án 12
Hình 7 Form tìm kiếm phòng ban 13
Hình 8 Bảng tài khoản đăng nhập 13
Hình 9 Bảng dữ liệu nhân viên 14
Hình 10 Bảng dữ liệu phòng ban 14
Hình 11 Câu lệnh thêm dữ liệu nhân sự vào SQL 14
Hình 12 Câu lệnh thêm dữ liệu cho dự án 14
Hình 13 Bảng dữ liệu nhân sự 15
Hình 14 Bảng dữ liệu phòng ban 15
Hình 15 Bảng dữ liệu dự án 15
Trang 10MỞ ĐẦU
1. Giới thiệu
Với sự bùng nổ của cách mạng số, mọi công việc ở hầu khắp các lĩnh vực trong đờisống Đó cũng là hướng phát triển tất yếu của xã hội hiện nay Giáo dục được quantâm đầu tư, tạo ra nguồn nhân lực ngày càng chất lượng, có chuyên môn kĩ thuật cao
Do đó số lượng các công ty cũng tăng theo, với số lượng lao động đông đảo như thếviệc quản lí hồ sơ theo cách truyền thống trở nên rất khó khăn, rất dễ có sai sót, các thủtục rất tốn thời gian, ngoài ra còn chiếm dụng không gian lưu trữ giấy tờ, đi kèm vớiviệc mất dữ liệu khi xảy ra sự cố với phòng lưu trữ Nhận thấy vấn đề đó, sau khi thamkhảo ở các nguồn thông tin từ Internet, em đã quyết định chọn chủ đề xây dựng hệthống quản lí nhân sự đơn giản Với giao diện tối giản, thân thiện người dùng, dễ dàng
sử dụng cũng như sửa chữa bảo trì Với hi vọng đồ án có thể góp phần như một giảipháp nhỏ cho vấn đề trên
Đề tài quản lí thông tin nhân sự được xây dựng dưới dạng desktop application cungcấp cho các công ty nhằm mục đích quản lí, nhập liệu, lưu trữ thông tin nhân sự Dữliệu sẽ được đưa vào database để lưu trữ và sẽ được hiển thị lên hệ thống khi có yêucầu Giúp các công ty rút gọn được thời gian chi phí cũng như những rủi ro khi lưu dữthông tin theo cách truyền thống
2 Mục tiêu của đề tài
Xây dựng được một ứng dụng quản lí hệ thống thông tin nhân sự trong công
ty Ứng dụng được xây dựng phải đáp ứng những nhu cầu cần thiết của cửahàng:
Quản lí thông tin nhân viên
Quản lí người dùng và quyền truy cập
Quản lí các phòng ban
Truy xuất, tìm kiếm thông tin nhân sự
Tìm kiếm, xóa dữ liệu trong hệ thống
1
Trang 113 Nội dung và kế hoạch thực hiện
Các bước thực hiện đồ án:
Thực hiện nghiên cứu các thuộc tính của, tính chất hồ sơ của các công ty
Tìm ra các chức năn cần thiết để lên các ý tưởng đồ án
Sử dụng quản lí dữ liệu SQL Server để tạo dữ liệu về nhân viên, bộ phạnalàm việc, người dùng và quyền truy cập
Sử dụng ngôn ngữ lập trình Java để xây dựng giao diện và các thao tác với dữ liệu,
Kết nối với Database
Chạy, kiểm thử kết quả và sửa chữa lần cuối
Trang 12Chương 1 CƠ SỞ LÍ THUYẾT
1 Giới thiệu về Ngôn ngữ lập trình Java
1.1 Java là gì ?
Java là là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết
kế để có càng ít phụ thuộc thực thi càng tốt Nó là ngôn ngữ lập trình có mục đích chung cho phép các nhà phát triển ứng dụng viết một lần, chạy ở mọi nơi
1.2 Đặc điểm của Java
Là một ngôn ngữ lập trình hướng đối tượng vì vậy Java cũng có 4 đặcđiểm chung sau đây:
Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộctính, các hành động liên quan đến một thực thể đặc thù, xét trong mốitương quan với ứng dụng đang phát triển
Tính đa hình (Polymorphism): cho phép một phương thức có các tác độngkhác nhau trên nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùngmột phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì
nó đưa đến những kết quả khác nhau Bản chất của sự việc chính làphương thức này bao gồm cùng một số lượng các tham số
Tính kế thừa (Inheritance): điều này cho phép các đối tượng chia sẻ hay
mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại
Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi nhữngchi tiết của một đối tượng đối với người sử dụng đối tượng ấy
Ngoài ra Java còn có một số đặc điểm sau:
Độc lập nền (Write Once, Run Anywhere): Không giống như nhiều ngônngữ lập trình khác như C và C ++, khi Java được biên dịch, nó khôngđược biên dịch sang mã máy cụ thể, mà thay vào đó là mã bytecode chạytrên máy ảo Java (JVM) Điều này đồng nghĩa với việc bất cứ thiết bị nào
có cài đặt JVM sẽ có thể thực thi được các chương trình Java
Đơn giản: Học Java thật sự dễ hơn nhiều so với C/C++, nếu bạn đã quenvới các ngôn ngữ lập trình hướng đối tượng thì việc học Java sẽ dễ dànghơn Java trở nên đơn giản hơn so với C/C++ do đã loại bỏ tính đa kế thừa
Đa luồng: Với tính năng đa luồng Java có thể viết chương trình có thểthực thi nhiều task cùng một lúc Tính năng này thường được sử dụng rấtnhiều trong lập trình game
3
Trang 13 Hướng đối tượng: Hướng đối tượng trong Java tương tự như C++ nhưngJava là một ngôn ngữ lập trình hướng đối tượng hoàn toàn Tất cả mọi thứ
đề cập đến trong Java đều liên quan đến các đối tượng được định nghĩatrước, thậm chí hàm chính của một chương trình viết bằng Java (đó làhàm main) cũng phải đặt bên trong một lớp Hướng đối tượng trong Javakhông có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào
đó Java đưa ra khái niệm interface để hỗ trợ tính đa kế thừa
Hiệu suất cao: Nhờ vào trình thu gom rác (garbage collection), giải phóng
bộ nhớ đối với các đối tượng không được dùng đến
Linh hoạt: Java được xem là linh hoạt hơn C/C ++ vì nó được thiết kế đểthích ứng với nhiều môi trường phát triển
1.3 Java Swing là gì?
Java Swing là cách gọi rút gọn khi người ta nhắc đến Swing của Java Foundation(JFC) Nó là GUI công cụ mà Sun Microsystems phát triển để xây dựng các ứng dụngtối ưu được sử dụng cho cửa sổ (bao gồm các thành phần như nút, cuộn thanh,…) Swing được xây dựng trên AWT API và hoàn toàn được viết bằng Java Tuy nhiên,
nó lại khác với AWT ở chỗ của công cụ này thuộc loại nền tảng độc lập, bao gồm cácthành phần nhẹ và phức hợp hơn AWT
Các gói javax.swing bao gồm các lớp cho Java Swing API như JMenu, JButton,JTextField, JRadioButton, JColorChooser,…
Ứng dụng được xây dựng sẽ trở nên dễ dàng hơn với Java Swing vì chúng ta có cáccông cụ hỗ trợ công việc GUI
Swing được phát hành chính thức vào tháng 3/1998 Nó đi kèm với Swing thư viện1.0 với hơn 250 lớp, 80 giao tiếp
Hiện con số này đã được tăng lên, ở phiên bản Swing 1.4 có 451 lớp và 85 giao tiếp Java 2 phiên bản phát hành (SDK 1.2 và phiên bản mới hơn) đều bao gồm Swingtrong môi trường thời gian chạy
2 Giới thiệu về SQL Server
– Tạp, thêm, xóa và sửa đổi các đối tượng trong của cơ sở dữ liệu
– Điều khiển việc truy cấp tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu để đảm bảo tính bảo mật, tính nhất quán và sự ràng buộc của cơ sở dữ liệu
Đối tượng của SQL Server là các bảng dữ liệu với các cột và các hàng Cột đượcgọi là trường dữ liệu và hàng là bản ghi của bảng Cột dữ liệu và kiểu dữ liệu xác địnhtạo nên cấu trúc của bảng Khi bảng được tổ chức thành một hệ thống cho một mụcđích sử dụng cụ thể vào công việc nào đó sẽ trở thành một cơ sở dữ liệu
4
Trang 14(Nói dễ hiểu là – Tương tự như phần mềm RDBMS khác, SQL Server được xây dựng dựa trên SQL, một ngôn ngữ lập trình tiêu chuẩn để tương tác với các cơ sở dữ liệu quan hệ Máy chủ SQL được liên kết với Transact-SQL hoặc T-SQL, triển khai SQL Microsoft Microsoft bổ sung một tập hợp các cấu trúc lập trình độc quyền).
SQL Server hoạt động độc quyền trên môi trường Windows trong hơn 20 năm.Năm 2016, Microsoft đã cung cấp phiên bản trên Linux SQL Server 2017 ra mắt vàotháng 10 năm 2016 chạy trên cả Windows và Linux, SQL Server 2019 sẽ ra mắt trongnăm 2019
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (VeryLarge Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàngngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như MicrosoftInternet Information Server (IIS), E-Commerce Server, Proxy Server…
2.3 Mục đích việc sử dụng SQL Server
Cho phép tạo nhiều cơ sở dữ liệu
Duy trì lưu trữ bền vững
Bảo mật cao
Phân tích dữ liệu bằng SSAS – SQL Server Analysis Services
Tạo được báo cáo bằng SSRS – SQL Server Reporting Services
Thực hiện quá trình ETL (Extract-Transform-Load) bằng SSIS – SQL Server Integration Services
2.4 Các phiên bản SQL Server
Enterprise : chứa tất cả cá đặc điểm nổi bật của SQL Server, bao gồm nhân bộ
máy cơ sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho tạo và quản lý phâncụm SQL Server Nó có thể quản lý các CSDL lớn tới 524 petabytes và đánh địa chỉ
12 terabytes bộ nhớ và hỗ trợ tới 640 bộ vi xử lý(các core của cpu)
Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so
với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advancedfeatures) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM
Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo
đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc… Ðây là phiênbản sử dụng cho phát triển và kiểm tra ứng dụng Phiên bản này phù hợp cho các cánhân, tổ chức xây dựng và kiểm tra ứng dụng
Workgroup: ấn bản SQL Server Workgroup bao gồm chức năng lõi cơ sở dữ liệu
nhưng không có các dịch vụ đi kèm Chú ý phiên bản này không còn tồn tại ở SQLServer 2012
5
Trang 15Express : SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn giản.
Được tích hợp với Microsoft Visual Studio, nên dễ dàng để phát triển các ứng dụng dữliệu, an toàn trong lưu trữ, và nhanh chóng triển khai SQL Server Express là phiênbản miễn phí, không giới hạn về số cơ ở dữ liệu hoặc người sử dụng, nhưng nó chỉdùng cho 1 bộ vi xử lý với 1 GB bộ nhớ và 10 GB file cơ sở dữ liệu SQL ServerExpress là lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2005nhỏ gọn, dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng khôngchuyên hay những người yêu thích xây dựng các ứng dụng nhỏ
6
Trang 16ra những hậu quả khó lường Như vậy, giải pháp áp dụng công nghệ thông tin vào để
xử lí những công việc truyền thống này là tất yếu
1.2 Cách tổ chức quán lí
Với mục tiêu khắc phục được những nhược diểm như trên em đã đi sâu tìm hiểu về cách tổ chức quản lí hồ sơ nhân viên trên một giao diện java swing dễ sử dụng, kết hợp
cơ sở dữ liệu với những chức năng như:
Quản lí nhập xuất hồ sơ (sửa, thêm, xem, xóa thông tin)
Tìm kiếm (tìm kiếm, tra cứu thông tin)
Sử dụng account ADMIN để truy cập hệ thống
1 Các chức năng cơ bản
2.1 Nhập xuất, chỉnh sửa dữ liệu
Với lưu lượng nhập xuất dữ liệu lớn, chức năng này giúp công việc này trở nên
dễ dàng hơn với giao diện swing tối giản
2.2 Tìm kiếm
Việc tìm kiếm nếu với phương pháp lưu giữu hồ sơ truyền thống thì sẽ tốn rất nhiều thời gian, công sức Khi đưa lên hệ thống cơ sở dữ liệu, người dùng chỉ cần nhậpmột số thông tin cơ bản Thông qua việc đối chiếu với dữ liệu trên hệ thống, app có thểnhanh chóng trả về hồ sơ có thông tin tương ứng
2.3 Thêm dữ liệu mới
Thêm các dữ liệu nhân viên vào trong cở sở dữ liệu Thao tác nhanh chóng, dễ dàng qua các cửa sổ với giao diện thân thiện người dùng
7
Trang 189
Trang 19Hình 2 Menu thao tác với hệ thống
Một sổ cửa sổ khác:
Hình 3 Form đăng kí Account
10
Trang 20Hình 4 Form tìm kiếm, thêm thông tin nhân sự
Hình 5 Form kiểm tra thông tin account
11
Trang 21Hình 6 Form tìm kiếm dự án
Hình 7 Form tìm kiếm phòng ban
12
Trang 222 Xây dựng cơ sở dữ liệu
Các thông tin về nhân sự, phòng ban,… được lưu trữ trên Microsoft SQL ServerĐối với form đăng nhập, tạo các tài khoản ADMIN để sử dụng cho việc đăng nhập vào
hệ thống với các thuộc tính như username, pasword
Hình 8 Bảng tài khoản đăng nhập
Trong cơ sở dữ liệu xây dựng các bảng ghi để lưu thông tin nhân viên và bộ phận làm việc
Nhân viên (Employee): Gồm những thuộc tính như Tên(Fullname), mã nhân viên(ID_Employee), ngày sinh(Birthday), số điện thoại(Phonenumber), email, địa chỉ(Address), vai trò(Role)
Hình 9 Bảng dữ liệu nhân viên
Phòng ban(Department): Gồm mã phòng(ID-Department), tên
phòng(DepartmentName), Trưởng phòng(ID_ EmployeeLead)
Hình 10 Bảng dữ liệu phòng ban
13
Trang 23Hình 11 Câu lệnh thêm dữ liệu nhân sự vào SQL
Hình 12 Câu lệnh thêm dữ liệu cho dự án
Hình 13 Bảng dữ liệu nhân sự
Hình 14 Bảng dữ liệu phòng ban
14
Trang 24Hình 15 Bảng dữ liệu dự án
3 Kết chương 3
Các dữ liệu được lưu trữ trên Microsoft SQL Server sẽ được hiện thị trên giao diệnđược thiết kế bằng ngôn ngữ lập trình Java thông qua Java Swing, giúp dễ dàng quản lícác đối tượng như khách hàng, sản phẩm và hóa đơn Với hệ thống quản lí như trên vàcác chức năng đã được cài đặt sẵn, việc xử lí, nhập xuất dữ liệu sẽ dễ dàng hơn Cáccông việc như hồ sơ và xuất dữ liệu sẽ được quản lí chặt chẽ, tránh các sai sót Côngviệc tìm kiếm sẽ thuận lợi cho việc quản lí nhân sự
15
Trang 25có thể ứng dụng vào thực tiễn để kiểm thử
Bên cạnh những kết quả và sản phẩm đã tạo trong quá trình làm đồ án thì cũngkhông tránh khỏi những khó khăn về thiếu sự trải nghiệm thực tế, kiến thức chưa đủsâu để thực hiện, cũng như việc phải làm đồ án một mình cũng mang lại một ít khókhăn Nhưng qua quá trình tìm tòi học hỏi thì cuối cùng em cũng đã hoàn thành đồ
án, dù chưa thực sự hoàn hảo nhưng đó cũng là thành quả đáng để lưu dấu nhữngkiến thức em đã tiếp thu được ở bộ môn java
2 Hướng nghiên cứu
Với những hạn chế và tồn tại nêu trên, nhóm đã đề ra những hướng nghiên cứu sau :
- Tìm hiểu thêm về nhu cầu và thị trường, cần hiểu rõ thị trường cần gì và muốn gì
- Khảo sát doanh nghiệp để biết thêm những yêu cầu, cũng như chức năng mà hệthống cần có
- Tìm hiểu mở rộng kiến thực chuyên ngành để cải tiến và phát triển ứng dụng
- Khai thác những tài liệu, những nguồn thông tin bổ ích để phát triển ứng dụng,đáp ứng đầy đủ các yêu cầu đề ra
16