Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
506,39 KB
Nội dung
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 : 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 LỜI MỞ ĐẦU .4 CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH JAVA Giới thiệu ngôn ngữ Java Một số đặc trưng ngôn ngữ Java 2.1 Tính đơn giản 2.2 Tính hướng đối tượng (OOP) 2.3 Tính mạnh mẽ 2.4 Tính bảo mật .8 2.5 Tính phân tán 2.6 Tính đa luồng 2.7 Tính linh động CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ XÂY DỰNG CHƯƠNG TRÌNH 10 Xác định yêu cầu 10 1.1 Yêu cầu chức 10 1.2 Yêu cầu phi chức 10 Phân tích thiết kế hệ thống .10 2.1 Phân tích chương trình 10 2.2 Thiết kế sở liệu .11 2.3 Xây dựng chức 15 2.4 Giao diện chương trình 18 2.5 Một số đoạn code 23 KẾT LUẬN .28 TÀI LIỆU THAM KHẢO 29 PHIẾU CHẤM ĐIỂM STT Họ tên Nội dung thực Hoàng Đức Vinh Phân tích thuật tốn code Điểm Chữ kí giao diện Hồng Thanh Phân tích thuật tốn code Tùng giao diện Họ tên Chữ ký Giảng viên chấm 1: Giảng viên chấm 2: Ghi LỜI MỞ ĐẦU Trong nắm gần với đời phát triển nhanh chóng máy tính điện tử, cơng dụng lưu trữ sủ lý thông tin làm tang khả nghiên cứu vận hành hệ thống lớn phức tạp Hệ thống thông tin ngành mũi nhọn cơng nghệ thơng tin có ứng dụng quản lý có ứng dụng trịg quản lý kinh tế đặc biệt quản lý doanh nghiệp Tuy nhiên hệ thống lớn việc vận dụng phần mềm chuyên dụng cong vấn đề gặp khơng khó khan Các hệ thống tông tin tin học hoas chưa đáp ứng yêu cầu nhà quản lý Để đáp ứng u cầu cần thiết địi hỏi phải có đội ngũ cán chun mơn có đủ trình độ để phân tích hệ thống quản lý hệ thống đầ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 chương trình thuận tiện 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 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 trở nên hiệu nâng cao hiệu công việc, đưa báo cáo, số liệu thống kê cách xác kịp thời Đồng thời nhờ có việc ứng dụng tin học tiết kiệm nhiều thời gian, cơng sức người, làm giảm nhẹ máy quản lý vốn cồng kềnh từ trước đến Song song với lĩnh vực công nghệ thông tin, công đổi đất nước, ngành Giáo dục Đào tạo ngành quan trọng xu Trong công tác quản lý trường đại học 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 giảng viên vấn đề quan tâm Vì định cơng tác giảng dạy học tập giảng viên, sinh viên Quản lịch giảng dạy trường đại học phải có hợp lý cần thiết cho hệ thống quản lý phải thậy gọn nhẹ, dễ hiểu 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 giảng viên” hội để em hiểu sâu việc quản lý Do hạn chế mặt thời gian kiến thức kinh nghiệm quản lý nên em tránh khỏi khiếm khuyết sai sót Em mong giúp đỡ ý kiến đống góp thầy để em tiếp tục hoàn thành đề tài hoàn thiệ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 Hà Nội, Ngày tháng năm 2021 Sinh viên thực Hoàng Đức Vinh Hồng Thanh Tùng CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH JAVA Giới thiệu ngôn ngữ Java Java ngơn ngữ lập trình cao cấp, ban đầu phát triển Sun Microsystems giới thiệu vào tháng năm 1995 Java chạy nhiều tảng, chẳng hạn Windows, Mac OS phiên khác UNIX Phiên Java Standard Edition Java SE Với tiến Java phổ biến rộng rãi nó, nhiều cấu hình xây dựng để phù hợp với nhiều loại tảng khác Ví dụ: J2EE cho ứng dụng doanh nghiệp, J2ME cho ứng dụng di động Các phiên J2 đổi tên thành Java SE, Java EE Java ME Java đảm bảo là Write Once, Run Anywhere Từ đó, Java trở thành cơng cụ lập trình lập trình viên chuyên nghiệp Java xây dựng tảng C C++, sử dụng cú pháp C đặc trưng hướng đối tượng C++ Vào năm 1991, nhóm kỹ sư Sun Microsystems có ý định thiết kế ngơn ngữ lập trình để điều khiển thiết bị điện tử tivi, máy giặt, lò nướng … Mặc dù C C++ có khả làm việc trình biên dịch lại phụ thuộc vào 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 đắt, để loại CPU có trình biên dịch riêng tốn Do nhu cầu thực tế địi hỏi ngơn ngữ chạy nhanh, gọn, hiệu độc lập thiết bị tức chạy nhiều loại CPU khác nhau, môi trường khác “Oak” đời vào năm 1995 đổi tên thành Java Mặc dù mục tiêu ban đầu cho Internet đặ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 Một số đặc trưng ngôn ngữ Java Java ngôn ngữ lập trình phát triển từ ngơn ngữ lập trình C/C++ Nó kế thừa, phát huy mạnh ngôn ngữ C/C++ lược bỏ cú pháp phức tạp C/C++ Ngơn ngữ lập trình Java có số đặc trưng tiêu biểu: đơn giản, hướng đối tượng, độc lập phần cứng hệ điều hành, mạnh mẽ, bảo mật, phân tán, đa luồng linh động 2.1 Tính đơn giản Những người thiết kế mong muốn phát triển ngôn ngữ dễ học quen thuộc với đa số người lập trình Do Java loại bỏ đặc trưng phức tạp C C++ như: - Loại bỏ thao tác 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 giao diện - Không sử dụng lệnh “goto” file header (.h) - Loại bỏ cấu trúc “struct” “union” 2.2 Tính hướng đối tượng (OOP) Java ngơn ngữ lập trình hướng đối tượng, chương trình viết Java phải xây dựng đối tượng Nếu C/C++ ta tạo hàm (chương trình khơng gắn với đối tượng nào) Java ta tạo phương thức (chương trình gắn liền với lớp cụ thể) Trong Java khơng cho phép đối tượng có tính đa kế thừa mà thay giao diện (interface) 2.3 Tính mạnh mẽ Java ngôn ngữ yêu cầu chặt chẽ kiểu liệu - Kiểu liệu phải khai báo tường minh - Java khơng sử dụng trỏ phép tốn trỏ - Java kiểm tra tất truy nhập đến mảng, chuỗi thực thi để đảm bảo truy nhập khơng ngồi giới hạn kích thước - Trong mơi trường lập trình truyền thống, lập trình viên phải tự cấp phát nhớ, trước chương trình kết thúc phải tự giải phóng nhớ cấp Vấn đề nảy sinh lập trình viên qn giải phóng 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 nhớ Q trình cấp phát, giải phóng thực tự động, nhờ dịch vụ thu nhặt đối tượng khơng cịn sử dụng (garbage collection) - Cơ chế bẫy lỗi Java giúp đơn giản hóa q trình xử lý lỗi hồi phục sau lỗi 2.4 Tính bảo mật Java cung cấp 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 tồn: - Ở mức thứ nhất, liệu phương thức đóng gói bên lớp Chúng truy xuất thông qua 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ã an toàn, tuân theo nguyên tắc Java - Mức thứ ba đảm bảo trình thơng dịch chúng kiểm sốt xem bytecode có đảm bảo quy tắc an toàn trước thực thi khơng - Mức thứ tư kiểm sốt việc nạp lớp vào nhớ để giám sát việc vi phạm giới hạn truy xuất trước nạp vào hệ thống 2.5 Tính phân tán Java thiết kế để hỗ trợ ứng dụng chạy mạng lớp mạng (java.net) Hơn nữa, Java hỗ trợ nhiều chạy khác nên chúng sử dụng rộng rãi công cụ phát triển Internet - nơi sử dụng nhiều khác 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ông việc đồng thời Chúng cung cấp giải pháp đồng luồng Đặc tính hỗ trợ đa luồng cho phép xây dựng ứng dụng mạng chạy hiệu 2.7 Tính linh động Java thiết kế ngôn ngữ động để đáp ứng cho môi trường mở Các chương trình Java chứa nhiều thơng tin thực thi nhằm kiểm soát truy nhập đối tượng lúc chạỵ Điều cho phép khả liên kết mã động CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG, XÂY DỰNG CHƯƠNG TRÌNH Xác định yêu cầu 1.1 Yêu cầu chức Phân chia lịch thực hành cho lớp, giáo viên hướng dẫn phòng lab vào ngày để đảm bảo lịch không bị trùng lặp, vừa đảm bảo việc dạy học không bị dán đoạn Mỗi phịng thực hành có số trang thiết bị phù hợp với mơn thực hành Vì cần nắm bắt cấu tổ chức phịng qua phân lịch thực hành phù hợp với môn học 1.2 Yêu cầu phi chức Giao diện đơn giản, đẹp mắt dễ sử dụng Phân tích thiết kế hệ thống 2.1 Phân tích chương trình Phần mềm quản lịch thực hành giảng viên gồm 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 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 giảng viên - Quản lý khoa: Quản lý khoa 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 mơn học - Quản lý phịng: Quản lý phòng thực hành 10 - Quản lý người dùng: o Liệt kê danh sách người dùng hiển thị liệu lên table o Thêm người dùng bao gồm thông tin: tên đăng nhập, mật khẩu, vai trị o Cập nhật thơng tin người dùng o Xóa người dung: Xóa thơng tin người dùng - Quản lý môn học: o Liệt kê danh sách môn học hiển thị liệu lên table o Thêm môn học bao gồm thông tin: mã môn, tên môn, mã khoa o Cập nhật thông tin mơn học o Xóa mơn học: Xóa thơng tin môn học - Quản lý lớp: o Liệt kê danh sách lớp hiển thị liệu lên table o Thêm lớp bao gồm thông tin: mã lớp, tên lớp, sĩ số o Cập nhật thông tin lớp o Xóa lớp: Xóa thơng tin lớp - Quản lý phòng: o Liệt kê danh sách phòng hiển thị liệu lên table o Thêm phịng bao gồm 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 phịng o Xóa phịng: Xóa thơng tin phịng 16 - Quản lý khoa: o Liệt kê danh sách khoa hiển thị liệu lên table o Thêm khoa bao gồm thông tin: mã khoa, tên khoa, số điện thoại khoa o Cập nhật thơng tin khoa o Xóa khoa: Xóa thơng tin khoa - Quản lý thời khóa biểu: o Liệt kê danh sách thời khóa biểu hiển thị liệu lên table o Thêm thời khóa biểu bao gồm thơng tin: ngày dạy, mã mơn học, mã phịng, từ tiết, đến tiết, dạy, ghi o Cập nhật thơng tin thời khóa biểu o Xóa thời khóa biểu: Xóa thơng tin thời khóa biểu 17 2.4 Giao diện chương trình - Giao diện đăng nhập 18 - Giao diện chương trình 19 - Giao diện quản lý giảng viên 20 - Giao diện quản lý lớp học 21 - Giao diện quản lý môn học 22 2.5 Một số đoạn code mẫu - Xóa liệu private void btnXoaMouseClicked (java.awt.event.MouseEvent evt) { // TODO add your handling code here: String NGAYDAY=txtNgayDay.getText(); try { if (NGAYDAY.length() ==0) JOptionPane.showMessageDialog (null,"Chon muc de xua", "Thong bao",1); else if (JOptionPane.showConfirmDialog (null, "Ban muon xua muc " + NGAYDAY + " hay không?","Thong bao",2)==0) THOIKHOABIEU.DeleteData (NGAYDAY);//goi ham xua du lieu theo ma loai Clearata (0://Xoa du lieu 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 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 23 cothem=true; -Sửa 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 24 -Lưu 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); else 25 //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 liệu private void btnKluuMouseClicked (java.awt.event.MouseEvent evt) { // TODO add your handling code here: setNull(); setKhoa (true); setButton (true); 26 -Thoát private void btnThoatActionPerformed (java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); -Đổ liệu Ham du lieu vao tableModel public void ShowData() throws SQLException ResultSet result= PHONG Show Phong (); try { 27 while (result.next ()) { // đọc tiếp dòng liệu String rows[] = new String[5]; rows [0] = result.getString (1); // lấy liệu Cột Số (ứng với mã hàng) rows[1] = result.getString (2); // lấy liệu tai Cột SỔ ứng với tên hàng rows[2] = result.getString (3); // lấy liệu tai cột sổ ứng với tên hàng rows [3] = result.getString (4); rows [4] = result.getString(5); tableModel.addRow (rows); // đưa dòng liệu vào tableModel //mỗi lần có thay đổi liệu tableModel Jtable tự động update } } catch (SQLException e) { } KẾT LUẬN 28 Với kiến thức tảng học trường nỗ lực mình, chúng em hồn thành đề tài “Quản lý lịch thực hành giảng viên” Mặc dù cố gắng nhiều thời gian kiến thức có hạn nên chưa giải vấn đề đặt Chúng em mong nhận thông cảm góp ý thầy để đề tài chúng em hoàn thiện 29 TÀI LIỆU THAM KHẢO [1] Bài giảng Lập trình với Java – Ngơ Quốc Long [2] Bài giảng Lập trình Java – Lê Tân [3]Xemtailieu.com 30 ... chương trình Phần mềm quản lịch thực hành giảng viên gồm 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 giảng viên theo môn học - Quản lý lớp học: Quản. .. tác quản lý trường đại học 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 giảng viên vấn đề quan tâm Vì định cơng tác giảng dạy học tập giảng viên, sinh viên Quản. .. Quản lý thtoong tin lớp thực hành giảng viên - Quản lý khoa: Quản lý khoa 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 mơn học