TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN LẬP TRÌNH JAVA ĐỀ TÀI: THIẾT KẾ PHẦN MỀM QUẢN LÝ NHÂN VIÊN Sinh viên thực hiện : NGUYỄN ĐÌNH CÔNG TRẦN MANH C
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
LẬP TRÌNH JAVA
ĐỀ TÀI:
THIẾT KẾ PHẦN MỀM QUẢN LÝ NHÂN VIÊN
Sinh viên thực hiện : NGUYỄN ĐÌNH CÔNG
TRẦN MANH CƯỜNG Giảng viên hướng dẫn : ĐẶNG TRẦN ĐỨC
Hà Nội, tháng 06 năm 2021
Trang 2PHIẾU CHẤM ĐIỂM
Ký
1 Nguyễn Đình Công
18810310059
2 Trần Mạnh Cường
18810310438
Giảng Viên Chấm 1
Giảng Viên Chấm 1
Trang 3MỤC LỤC
PHIẾU CHẤM ĐIỂM 2
PHẦN MỞ ĐẦU 6
Chương 1: Tổng quan về lập trình Java 7
1.1 Giới thiệu về ngôn ngữ Java 7
1.2 Một số tính chất của ngôn ngữ Java 7
1.2.1 Tính đơn giản 8
1.2.2 Tính hướng đối tượng (OOP) 8
1.2.3 Tính mạnh mẽ 8
1.2.4 Tính bảo mật 9
1.2.5 Tính phân tán 9
1.2.6 Tính đa luồng 9
1.2.7 Tính linh động 9
Chương 2: Giải quyết bài toán, xây dựng chương trình 10
2.1.Xác định yêu cầu 10
2.1.1.Yêu cầu chức năng 10
2.1.2.Yêu cầu hệ thống 10
2.2.Mô hình hóa 11
2.3.Mô hình chức năng 12
2.4 Thiết kế các chức năng Xử lí 12
Chương 3: Chương trình mô phỏng 15
Chương 4: Tổng kết 17
1 Ưu điểm - nhược điểm hệ thống 17
3
Trang 42 Hướng phát triển và mở rộng đề tài 18 LỜI KẾT 19 TÀI LIỆU THAM KHẢO 20
Trang 5LỜI CẢM ƠN
Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP) và dự trên các lớp (class) Khác hẳn với phần lớn ngôn ngữ lập trình thông thường, thay
vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode sau đó sẽ được môi trường thực thi chạy
Java không còn là một từ ngữ xa lạ với cộng đồng lập trình Với việc có lợi thế khi được sinh ra với tiêu chí “Viết một lần, chạy mọi nơi”, cùng việc liên tiếp cải tiến tốc độ chương trình, để từng bước thu hẹp khoảng cách về thời gian biên dịch với các ngôn ngữ C, C++,… Java đã thực sự thể hiện vai trò quan trọng của mình trong giới chuyên môn
Ngày nay, công nghệ thông tin trở thành một phần không thể thiếu trong cuộc sống, công nghệ thông tin đã và đang đóng vai trò quan trong trong các ngành khoa học, kỹ thuật, kinh tế, mang tính giải trí cao, gây được sức hút to lớn, và đặc biệt là giáo dục Sau quá trình học tập cũng như tìm hiểu sâu hơn về ngôn ngữ lập trình
Java, nhóm chúng em đã đi tới nghiên cứu đề tài “Thiết kế phần mềm quản lí
Nhân Viên” Chúng em xin chân thành cảm ơn thầy Đặng Trần Đức giảng viên khoa Công nghệ thông tin, Trường đại học Điện Lực đã hướng dẫn, theo dõi chúng em trong suốt quá trình học tập môn học này
5
Trang 6PHẦN MỞ ĐẦU
Lý do chọn đề tài
- Trong những năm gần đây, khoa học công nghệ Việt Nam đã từng bước
hội nhập vào dòng chảy của khoa học công nghệ tiên tiến trên thế giới Công nghệ thông tin ở nước ta mới, song tốc độ phát triển của nó rất nhanh và mạnh, chiếm một vị trí quan trọng trong các ngành khoa học công nghệ Một trong những lĩnh vực đang được ứng dụng tin học hóa rất phổ biến ở nước ta là lĩnh vực quản lý Tin học hóa trong quản lý đã giúp cho các nhà quản lý điều hành công việc một cách khoa học, chính xác và hiệu quả
- Quản lý PTGT là một trong những công việc tương đối phức tạp, tốn
nhiều thời gian và công sức Chính vì vậy, tin học hóa trong lĩnh vực quản lí là một yêu cầu tất yếu Muốn quản lý tốt cần có được các phần mềm tốt, phần mềm phải đảm bảo được độ bảo mật cao, dễ sử dụng và nhiều tiện ích
- Đề tài là một yêu cầu thiết thực trong quản lý của các hầu hết tất cả các cơ
sở đang hoạt động hiện nay
- Số lượng sinh viên đông vì vậy điểm cần nhập vào là rất nhiều, chắc chắn
sẽ gây nhiều khó khăn trong việc quản lý sinh viên
- Khó khăn trong việc cập nhật, sửa chưa thông tin
- Qua đề tài cũng là cách kiểm tra hiệu quả những kiến thức đã học và cũng
là cách tiếp cận với thực tế có hiệu quả nhất đối với mọi người
Trang 7Chương 1: Tổng quan về lập trình Java 1.1 Giới thiệu về ngôn ngữ Java
Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm 1995 Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyên nghiệp Java được xây dựng trên nền tảng của C và C++, do vậy nó sử dụng các cú pháp của C và các đặc trưng hướng đối tượng của C++ Vào năm 1991, một nhóm các kỹ sư của Sun Microsystems có ý định thiết kế một ngôn ngữ lập trình để điều khiển các thiết bị điện tử như tivi, máy giặt, lò nướng … Mặc dù C và C++ có khả năng làm việc này nhưng trình biên dịch lại phụ thuộc vào từng loại CPU Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên rất đắt, vì vậy để mỗi loại CPU có một trình biên dịch riêng là rất tốn kém Do đó nhu cầu thực tế đòi hỏi một ngôn ngữ chạy nhanh, gọn, hiệu quả và độc lập thiết bị tức là có thể chạy trên nhiều loại CPU khác nhau, dưới các môi trường khác nhau “Oak” đã ra đời và vào năm 1995 được đổi tên thành Java Mặc dù mục tiêu ban đầu không phải cho Internet nhưng do đặc trưng không phụ thuộc thiết bị nên Java đã trở thành ngôn ngữ lập trình cho Internet
1.2 Một số tính chất của ngôn ngữ Java
Java là ngôn ngữ lập trình được phát triển từ ngôn ngữ lập trình C/C++ Nó kế thừa, phát huy các thế mạnh của ngôn ngữ C/C++ và lược bỏ đi các cú pháp phức tạp của C/C++
Tiêu chí hàng đầu của ngôn ngữ lập trình Java là “Viết một lần, chạy mọi nơi”, nghĩa là Java cho phép chúng ta viết code một lần và thực thi được trên các hệ điều hành khác nhau Với đặc điểm nổi bật đó, Java có những đặc điểm cơ bản như: đơn giản và quen thuộc, hướng đối tượng, mạnh mẽ và an toàn, kiến trúc trung lập, độc lập nền tảng, hiệu suất cao, đa nhiệm
1.2.1 Tính đơn giản
7
Trang 8Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Do vậy Java loại bỏ các đặc trưng phức tạp của C
và C++ như:
- Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán tử
- Không cho phép đa kế thừa mà sử dụng các giao diện
- Không sử dụng lệnh “goto” cũng như file header
- Loại bỏ cấu trúc “struct” và “union”
1.2.2 Tính hướng đối tượng (OOP)
Java là ngôn ngữ lập trình thuần hướng đối tượng, mọi chương trình viết trên Java đều phải được xây dựng trên các đối tượng Nếu trong C/C++ ta có thể tạo ra các hàm (chương trình con không gắn với đối tượng nào) thì trong Java ta chỉ có thể tạo ra các phương thức (chương trình con gắn liền với một lớp cụ thể) Trong Java không cho phép các đối tượng có tính năng đa kế thừa mà được thay thế bằng các giao diện (interface)
1.2.3 Tính mạnh mẽ
Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu - Kiểu dữ liệu phải khai báo tường minh - Java không sử dụng con trỏ và các phép toán con trỏ - Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảo rằng các truy nhập
đó không ra ngoài giới hạn kích thước - Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình cấp phát bộ nhớ, trước khi chương trình kết thúc thì phải tự giải phóng bộ nhớ đã cấp Vấn đề có thể nảy sinh khi lập trình viên quên giải phóng bộ nhớ đã xin cấp trước đó Trong chương trình Java, lập trình viên không phải bận tâm đến việc cấp phát bộ nhớ Quá trình cấp phát, giải phóng được thực hiện tự động, nhờ dịch vụ thu nhặt những đối tượng không còn sử dụng nữa
Trang 9(garbage collection) - Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý lỗi
và hồi phục sau lỗi
1.2.4 Tính bảo mật
Java cung cấp một môi trường quản lý thực thi chương trình với nhiều mức để kiểm soát tính an toàn:
- Ở mức thứ nhất, dữ liệu và các phương thức được đóng gói bên trong lớp Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp
- Ở mức thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, và tuân theo các nguyên tắc của Java
- Mức thứ ba được đảm bảo bởi trình thông dịch chúng kiểm soát xem bytecode có đảm bảo các quy tắc an toàn trước khi thực thi không
- Mức thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống
1.2.5 Tính phân tán
Java được thiết kế để hỗ trợ các ứng dụng chạy trên mạng bằng các lớp mạng (java.net) Hơn nữa, Java hỗ trợ nhiều nền chạy khác nhau nên chúng được sử dụng rộng rãi như là công cụ phát triển trên Internet - nơi sử dụng nhiều nền khác nhau
1.2.6 Tính đa luồng
Chương trình Java cung cấp giải pháp đa luồng (Multithreading) để thực thi các công việc đồng thời Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng Đặc tính hỗ trợ đa luồng này cho phép xây dựng các ứng dụng trên mạng chạy hiệu quả
1.2.7 Tính linh động
Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường mở Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát và truy nhập đối tượng lúc chạỵ Điều này cho phép khả năng liên kết mã động
9
Trang 10Chương 2: Giải quyết bài toán, xây dựng chương trình
2.1.Xác định yêu cầu
2.1.1.Yêu cầu chức năng
-Quản lý nhân viên là một trong những công việc tương đối phức tạp, tốn nhiều thời gian và công sức Chính vì vậy, tin học hóa trong lĩnh vực quản này
là một yêu cầu tất yếu Muốn quản lý tốt cần có được các phần mềm tốt, phần mềm phải đảm bảo được độ bảo mật cao, dễ sử dụng và nhiều tiện ích
2.1.2.Yêu cầu hệ thống
- Máy chủ có khả năng tính toán nhanh, chính xác, lưu trữ lâu dài, bảo mật
- Hệ thống mạng đáp ứng khả năng truy cập lớn
- Đưa ra thông tin sinh viên qua hệ thống, tự động
- Thông tin có tính đồng bộ, phân quyền quản lý chặt chẽ
- Bảo mật tốt cho người quản trị hệ thống.
2.3.Mô hình chức năng
Chức năng thống kê thông tin
- Chứa các thông tin của Quản lí nhân viên: mã nhân viên ,họ
tên ,tuổi ,email,tuổi,lương ,hình
Chức năng quản lí
- Thêm, sửa, xoá, tìm kiếm và hiển thị thông tin Quản lí nhân viên
Chức năng đăng nhập hệ thống
- Đăng nhập hoặc đăng suất tài khoản để xử lý chương trình.
Chức năng hiển thị thông tin người quản lí ( tác giả)
- Chứa các thông tin của tác giả như mã nhân viên, tên và người hướng
dẫn
2.4 Thiết kế các chức năng Xử lí
* Chức năng Thêm
Trang 11* Chức năng Xóa
* Chức năng Sửa
11
Trang 12* Chức Tìm Kiếm
Trang 13* Chức năng Clear
* Chức năng Lưu vào file txt
13
Trang 14Chương 3: Chương trình mô phỏng
* Giao diện chương trình khi đăng nhập yêu cầu chúng ta nhập tài khoản và mật khẩu để có thể dùng được phần mềm
Trang 15
* Sau khi đăng nhập thành công thì ta có thể dùng được phần mềm để quản lý nhân viên với các chức năng cơ bản như thêm, sửa, xóa, sắp xếp
Chương 4: Tổng kết
1 Ưu điểm - nhược điểm hệ thống
1.1 Ưu điểm
16
Trang 16- Việc lưu trữ sẽ đơn giản, không cần phải có nơi lưu trữ lớn, các thông tin
về sinh viên sẽ chính xác và nhanh chóng
- Việc thống kê định kỳ từng kỳ, từng năm thuận tiện, nhanh chóng.
- Với chức năng xử lư hệ thống mới sẽ rút ngắn công việc của nhân viên
quản lý và giảm số lượng nhân viên quản lý, tránh tình trạng dư thừa
1.2 Nhược điểm
- Do thời gian làm phần mềm và báo cáo hạn chế nên bài báo cáo này vẫn
chưa được hoàn chỉnh,
2 Hướng phát triển và mở rộng đề tài
- Để phần mềm quản lý điểm góp phần quan trọng trong việc giảm bớt sự
cồng kềnh của sổ sách… thì việc mở rộng đề tài, xem xét nhiều khía cạnh hơn nữa để phần mềm được hoàn thiện hơn là rất cần thiết Trong đề tài này em chỉ mới có phân tích và xây dựng phần mềm đơn giản chưa có tính phức tạp Vì vậy, hướng phát triển của đề tài này là:
Chuyển hướng quản lý thông tin qua mạng
Mở rộng thêm ứng dụng web: cho phép nhập và chỉnh sửa các thông tin từ xa
Trang 17Xây dựng phần mềm quản lý nói chung, phần mềm quản lý điểm nói riêng không chỉ là việc xây dựng đơn thuần, mà nó đòi hỏi một cách có hệ thống các giai đoạn khảo sát, phân tích thiết kế phải được tiến hành trước đó
Đứng trước xu thế phát triển của công nghệ thông tin như vũ bão hiện nay thì xây dựng phần mềm quản lý phương tiện giao thông là điều không thể thiếu, đây là một đề tài mang tính thực tế cao Qua việc nghiên cứu xây dựng đề tài này, một phần đã củng cố cho em kiến thức về lập trình thì nó cũng cung cấp cho em thêm là làm thế nào có thể xây dựng được một phần mềm hoàn chỉnh, qua bài quản lý phương tiện giao thông này em đã có thể tự tin xây dựng được các phần mềm tương tự như: quản lý thư viện, quản lý nhân sự, quản lý khách sạn…
Em xin cảm ơn thầy Đặng Trần Đức đã tận tình giúp đỡ hướng dẫn em làm báo cáo kết thúc môn, để em có thể hoàn thiện đề tài theo đúng thời gian quy định của nhà trường Em cũng xin được gửi lời cảm ơn chân thành tới khoa công nghệ thông tin cùng các thầy cô trong trường đã tận tình giảng dạy em trong suốt những năm học qua
18
Trang 18TÀI LIỆU THAM KHẢO
[1] Nguyễn Văn Thành, Lập trình hướng đối tượng JAVAR core, Xuất bản 2017
[2] Nguyễn Văn Quân, Chương trình Quản lý nhân viên, Xuất bản 2014
[3] Vũ Văn Thanh, Giáo trình java, Xuất bản 2018