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

29 29 0
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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 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 LỜI MỞ ĐẦU​4 CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH JAVA​6 1.​Giới thiệu về ngôn ngữ Java​6 2.​Một số đặc trưng cơ bản của ngôn ngữ Java​7 2.1.​Tính đơn giản​7 2.2.​Tính hướng đối tượng (OOP)​7 2.3.​Tính mạnh mẽ​7 2.4.​Tính bảo mật​8 2.5. Tính phân tán​8 2.6.​Tính đa luồng​9 2.7.​Tính linh động​9 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ XÂY DỰNG CHƯƠNG TRÌNH​10 1.​Xác định yêu cầu​10 1.1 ​Yêu cầu chức năng​10 1.2 ​Yêu cầu phi chức năng​10 2.​ 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ế cơ sở dữ liệu​11 2.3.​Xây dựng các chức năng​15 2.4. ​Giao diện chương trình​18 2.5. ​Một số đoạn code chính​23 KẾT LUẬN​28 TÀI LIỆU THAM KHẢO​29 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 yêu cầu cần thiết đó thì đòi hỏi phải có một đội ngũ cán bộ chuyên 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 hoà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.

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 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 giao diện Hồng Thanh Tùng Phân tích thuật tốn code giao diện Họ tên Giảng viên chấm 1: Giảng viên chấm 2: Chữ ký Điểm Chữ kí 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 yê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 hồn thành đề tài Hà Nội, Ngày tháng năm 2021 Sinh viên thực Hoàng Đức Vinh Hoà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 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ư: 2.2 - 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” 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 toá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 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 2.4 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 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 toà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 tồ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 tồn trước thực thi khơng - Mức thứ tư kiểm soá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 số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 2.1 Giao diện đơn giản, đẹp mắt dễ sử dụng Phân tích 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 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 2.2 Thiết kế sở liệu - Diagram dử liệu: 10 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 - 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 15 - 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 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 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 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 cothem=true; 22 -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 23 -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); 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 liệu private void btnKluuMouseClicked (java.awt.event.MouseEvent evt) { // TODO add your handling code here: setNull(); setKhoa (true); setButton (true); 25 -Thoát private void btnThoatActionPerformed (java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); -Đổ liệu 26 Ham du lieu vao tableModel public void ShowData() throws SQLException ResultSet result= PHONG Show Phong (); try { 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) { } 27 KẾT LUẬN 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 28 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 29

Ngày đăng: 15/03/2022, 14:43

Mục lục

  • CHƯƠNG 1: TỔNG QUAN VỀ LẬP TRÌNH JAVA

    • 1. Giới thiệu về ngôn ngữ Java

    • 2.2. Tính hướng đối tượng (OOP)

    • 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

        • 1.2 Yêu cầu phi chức năng

        • 2. Phân tích và thiết kế hệ thống

          • 2.1. Phân tích chương trình

          • 2.2. Thiết kế cơ sở dữ liệu

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

          • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan