Tải bản đầy đủ (.docx) (29 trang)

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN MÔN LẬP TRÌNH JAVA ĐỀ TÀI QUẢN LÝ LỊCH THỰC HÀNHCỦA GIẢNG VIÊN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (478.9 KB, 29 trang )

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUN ĐỀ HỌC PHẦN MƠN
LẬP TRÌNH JAVA
ĐỀ TÀI
QUẢN LÝ LỊCH THỰC HÀNHCỦA GIẢNG VIÊN

Sinh viên thực hiện

:

HOÀNG THANH TÙNG
HOÀNG ĐỨC VINH

Giảng viên hướng dẫn :

PHƯƠNG VĂN CẢNH

Ngành

:

CÔNG NGHỆ THÔNG TIN

Chuyên ngành

:

CƠNG NGHỆ PHẦN MỀM


Lớp

:

D14CNPM3

Khóa

:

2019-2024

Hà Nội, tháng 04 năm 2021


MỤC LỤC

PHIẾU CHẤM ĐIỂM
STT

Họ và tên

Nội dung thực hiện

1

Hoàng Đức Vinh

Phân tích thuật tốn và code
giao diện.


2

Hồng Thanh
Tùng

Phân tích thuật toán và code
giao diện.

Họ và tên
Giảng viên chấm 1:

Giảng viên chấm 2:

Chữ ký

Điểm

Chữ kí

Ghi chú


LỜI MỞ ĐẦU
Trong những nắm gần đây cùng với sự ra đời và phát triển nhanh chóng của
máy tính điện tử, một công dụng lưu trữ và sủ lý thông tin đã làm tang khả năng nghiên
cứu và vận hành hệ thống lớn phức tạp. Hệ thống thông tin là một trong những ngành
mũi nhọn của công nghệ thông tin đã có những ứng dụng trong quản lý đã có những
ứng dụng tròg quản lý kinh tế đặc biệt là quản lý các doanh nghiệp.
Tuy nhiên hiện nay đối với một hệ thống lớn việc vận dụng các phần mềm

chuyên dụng cong là một vấn đề gặp khơng ít khó khan. Các hệ thống tông tin tin học
hoas chưa đáp ứng được yêu cầu của các nhà quản lý. Để đáp ứng được u cầu cần
thiết đó thì địi hỏi phải có một đội ngũ cán bộ chun mơn có đủ trình độ để phân tích
hệ thống quản lý hệ thống một các đầy đủ chi tiết mà không bị thiếu sót hay thừa thơng
tin. Từ đó thiết kế hệ thống thành những chương trình thuận tiện trong quá trình làm
việc như: tìm kiếm, nhập liệu, thống kê, …
Việc ứng dụng tin học trong công tác quản lý đã phát triển mạnh mẽ giúp cho
công tác quản lý ngày càng trở nên hiệu quả hơn như nâng cao hiệu quả trong công
việc, đưa ra các báo cáo, các số liệu thống kê một cách chính xác kịp thời. Đồng thời
nhờ có việc ứng dụng tin học đã tiết kiệm được rất nhiều thời gian, cơng sức của con
người, nó làm giảm nhẹ bộ máy quản lý vốn rất cồng kềnh từ trước đến nay.
Song song với lĩnh vực công nghệ thông tin, trong công cuộc đổi mới đất nước,
ngành Giáo dục và Đào tạo cũng là một ngành rất quan trọng trong xu thế hiện nay.
Trong các công tác quản lý của các trường đại học như việc quản lý dinh viên, quản lý
điểm, …thì cơng việc quản lý lịch thực hành cho các giảng viên cũng là một vấn đề
được quan tâm. Vì nó quyết định cơng tác giảng dạy và học tập của giảng viên, sinh


viên. Quản lịch giảng dạy của các trường đại học phải có sự hợp lý và cần thiết sao cho
hệ thống quản lý phải thậy gọn nhẹ, dễ hiểu đối với người sử dụng.
Được giảng viên Phương Văn Cảnh giao cho việc xây dựng chương trình “Quản
lý lịch thực hành của giảng viên” là một cơ hội để em hiểu sâu về việc quản lý.
Do hạn chế về mặt thời gian cũng như kiến thức và kinh nghiệm quản lý nên em
không thể tránh khỏi những khiếm khuyết và sai sót. Em rất mong được sự giúp đỡ và
ý kiến đống góp của thầy để em tiếp tục hồn thành đề tài này được hoàn thiện hơn.
Em xin chân thành cảm ơn giảng viên Phương Văn Cảnh đã tận tình hướng dẫn
em hoàn thành đề tài này.

Hà Nội, Ngày 2 tháng 4 năm 2021
Sinh viên thực hiện

Hoàng Đức Vinh
Hoàng Thanh Tùng


CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH JAVA
1. Giới thiệu về ngơn ngữ Java

Java là một ngơn ngữ lập trình cao cấp, ban đầu được phát triển bởi Sun
Microsystems và giới thiệu vào tháng 6 năm 1995. Java chạy trên nhiều nền tảng,
chẳng hạn như Windows, Mac OS và các phiên bản khác nhau của UNIX.
Phiên bản mới nhất của Java Standard Edition là Java SE 8. Với sự tiến bộ của
Java và sự phổ biến rộng rãi của nó, nhiều cấu hình đã được xây dựng để phù hợp với
nhiều loại nền tảng khác nhau. Ví dụ: J2EE cho các ứng dụng doanh nghiệp, J2ME
cho các ứng dụng di động.
Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME.
Java được đảm bảo là Write Once, Run Anywhere.
Từ đó, Java đã 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.

2. Một số đặc trưng cơ bản của ngôn ngữ Java
5


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++. Ngơn ngữ lập trình Java có một số đặc trưng tiêu biểu: đơn giản, hướng
đối tượng, độc lập phần cứng và hệ điều hành, mạnh mẽ, bảo mật, phân tán, đa luồng
và linh động.
2.1.

Tính đơn giản
Nhữ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ư:

2.2.

-

Loại bỏ thao tác con trỏ, thao tác định nghĩa nạp chồng tố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 (.h)


-

Loại bỏ cấu trúc “struct” và “union”

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)

2.3.

Tính mạnh mẽ
Java là ngơn ngữ 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 ngồ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
6



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 (garbage
2.4.

collection).
Cơ chế bẫy lỗi của Java giúp đơn giản hóa q trình xử lý lỗi và hồi phục sau

lỗi.
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 số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 số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 sốt xem bytecode

có đảm bảo các quy tắc an tồ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.
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.
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ả.

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.
7


CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG, XÂY DỰNG
CHƯƠNG TRÌNH
1. Xác định yêu cầu

1.1 Yêu cầu chức năng

8



Phân chia lịch thực hành cho các lớp, các giáo viên
hướng dẫn ở mỗi phòng lab vào ngày giờ để đảm bảo lịch không bị trùng lặp,
vừa đảm bảo việc dạy và học khơng bị dán đoạn. Mỗi phịng thực hành có một số
trang thiết bị phù hợp với mỗi mơn thực hành. Vì thế cần nắm bắt cơ cấu tổ chức của
các phịng qua đó có thể phân lịch thực hành phù hợp với từng môn học.
1.2 Yêu cầu phi chức năng

2.1.

Giao diện đơn giản, đẹp mắt và dễ sử dụng.
2. Phân tích và thiết kế hệ thống
Phân tích chương trình
Phần mềm quản lịch thực hành của giảng viên gồm các chức năng:
- Quản lý giảng viên: Quản lý thông tin giảng viên.
- Quản lý môn học: Quản lý lịch của giảng viên theo môn học.
- Quản lý lớp học: Quản lý thtoong tin lớp thực hành của giảng viên.
- Quản lý khoa: Quản lý các khoa của trường.
- Quản lý người dùng: Quản lý thông tin người dùng hệ thống.
- Quản lý thời khóa biểu: Quản lý chi tiết lịch và các mơn học.
- Quản lý phịng: Quản lý phòng thực hành.

2.2.

Thiết kế cơ sở dữ liệu
- Diagram cơ dử dữ liệu:

9



10


- Thiết kế chi tiết cơ sử dữ liệu
.
o Bảng Khoa:

o Bảng Giảng Viên:

o Bảng Phòng:

11


o Bảng Thời Khóa Biểu:

o Bảng Lớp:

12


o Bảng Người Dùng:

o Bảng Môn Giảng Viên:

o Bảng Môn Học:
13



2.3.

Xây dựng các chức năng

Mô tả chi tiết xây dựng các chức năng trong phần mềm quản lý lịch thực hành giảng
viên.
- Quản lý giảng viên:
o Liệt kê danh sách giảng viên và hiển thị dữ liệu lên table.
o Thêm mới một sinh viên bao gồm cac thông tin: Mã giảng viên, Họ và tên,
Số diện thoại.
o Cập nhật thông tin một giảng viên.
o Xóa một giảng viên. Xóa thơng tin về giảng viên.
- Quản lý người dùng:
o Liệt kê danh sách người dùng và hiển thị dữ liệu lên table.
o Thêm mới người dùng bao gồm các thông tin: tên đăng nhập, mật khẩu,
vai trị.
o Cập nhật thơng tin một người dùng.
o Xóa một người dung: Xóa thơng tin về người dùng.
- Quản lý môn học:
14


o Liệt kê danh sách môn học và hiển thị dữ liệu lên table.
o Thêm mới môn học bao gồm các thông tin: mã môn, tên môn,
mã khoa.
o Cập nhật thơng tin một mơn học.
o Xóa một mơn học: Xóa thông tin về môn học.
- Quản lý lớp:
o Liệt kê danh sách lớp và hiển thị dữ liệu lên table.
o Thêm mới lớp bao gồm các thông tin: mã lớp, tên lớp,

sĩ số.
o Cập nhật thơng tin một lớp.
o Xóa một lớp: Xóa thơng tin về lớp.
- Quản lý phịng:
o Liệt kê danh sách phòng và hiển thị dữ liệu lên table.
o Thêm mới phịng bao gồm các thơng tin: mã phòng, tên phòng,
chức năng, sĩ số, số lượng.
o Cập nhật thơng tin một phịng.
o Xóa một phịng: Xóa thơng tin về phòng.

- Quản lý khoa:
o Liệt kê danh sách khoa và hiển thị dữ liệu lên table.
o Thêm mới khoa bao gồm các thông tin: mã khoa, tên khoa,
số điện thoại khoa.
o Cập nhật thơng tin một khoa.
o Xóa một khoa: Xóa thơng tin về khoa.
15


- Quản lý thời khóa biểu:
o Liệt kê danh sách thời khóa biểu và hiển thị dữ liệu lên table.
o Thêm mới thời khóa biểu bao gồm các thơng tin: ngày dạy, mã mơn học,
mã phịng, từ tiết, đến tiết, bài dạy, ghi chú.
o Cập nhật thông tin một thời khóa biểu.
o Xóa một thời khóa biểu: Xóa thơng tin về thời khóa biểu.

2.4. Giao diện chương trình.

- Giao diện đăng nhập.


16


- Giao diện chương trình.

17


- Giao diện quản lý giảng viên.

18


19


- Giao diện quản lý lớp học.

20


- Giao diện quản lý môn học.

2.5. Một số đoạn code mẫu.
-

Xóa dữ liệu

private void btnXoaMouseClicked (java.awt.event.MouseEvent evt) {


21


// TODO add your handling code here: String
NGAYDAY=txtNgayDay.getText(); try { if (NGAYDAY.length() ==0)
JOptionPane.showMessageDialog (null,"Chon 1 muc de xua", "Thong
bao",1); else
if (JOptionPane.showConfirmDialog (null, "Ban muon xua muc " +
NGAYDAY + " nay hay không?","Thong bao",2)==0)
THOIKHOABIEU.DeleteData (NGAYDAY);//goi ham xua du lieu theo
ma loai Clearata (0://Xoa du lieu trong tableModel ShowData(); //Do
du lieu vao table Model setNull();//Xua trang Textfield
catch (SQLException ex)
{ JOptionPane.showMessageDialog(null,"Xóa thất bại","Thong
bao",1);

-Thêm dữ liệu.

private void btnThemMouseClicked
(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
setNull0://Xoa trang TextField
setKhoa (false)://Mo khoa TextField
setButton(false);//Goi ham chua cac Button
cothem=true;

22


-Sửa dữ liệu.


private void
btnSuaMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
String NGAYDAY=txtNgayDay.getText();
if (NGAYDAY.length()==0) Chua Chon Ma loai
JOptionPane.showMessageDialog (null,"Vui lòng chọn loi can sua",
"Thong bao",1);
else
{
setKhoa (false);//Mo khoa cac TextField
this.txtNgayDay.enable(false);
setButton (false); //Khoa cac Button
cothem=false; // Gan co them=false de ghi nhan trang thai la sua

23


-Lưu dữ liệu.
PrivatevoidbtnLuuMouseClicked(java.awt.event.MouseEve nt
evt)
{
// TODO add your handling code here:
String NGAYDAY=txtNgayDay.getText();
String MAMH=txtMaMH.getText();
String MAPH=txtMaPH.getText();
String TUTIET=txtTuTiet.getText();
String DENTIET=txtDenTiet.getText();
String BAIDAY=txtBaiDay.getText();
String GHICHU=txtGhiChu.getText();

try
{
if (cothem==true)//Luu cho them moi THOIKHOABIEU.Insert
Data (NGAYDAY, MAMH, MAPH, TUTIET, DENTIET, BAIDAY,
GHICHU);
24


else
//Luu cho sua
THOIKHOABIEU.EditData (NGAYDAY, MAMH, MAPH, TUTIET,
DENTIET, BAIDAY, GHICHU);
ClearData(); /goi ham xua du lieu tron tableModel
ShowData(); //Do lai du lieu vao Table Model
}
catch (SQLException ex)
{
JOptionPane. showMessageDialog(null, "Cap nhat that bai",
"Thong bao", 1);
setKhoa (false);
setButton(true);

-Không lưu dữ liệu.

private void btnKluuMouseClicked
(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
setNull();
setKhoa (true);
setButton (true);

25


×