BÁO CÁO THÍ NGHIỆMTHỰC NGHIỆM LẬP TRÌNH JAVA XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐĂNG KÝ VÀ LẬP LỊCH THỰC HÀNH KHOA CNTT ĐHCN HÀ NỘI Xây dựng phần mềm viết bằng java swing đầy đủ hướng đối tượng, file, collection, nghiệp vụ.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - BÁO CÁO THÍ NGHIỆM/THỰC NGHIỆM LẬP TRÌNH JAVA XÂY DỰNG PHẦN MỀM QUẢN LÝ ĐĂNG KÝ VÀ LẬP LỊCH THỰC HÀNH KHOA CNTTĐHCN HÀ NỘI ThS Vũ Thị Dương GVHD: Sinh viên: Nhóm: Lớp: 20212IT6019007 Khóa: 14 Hà Nội – Năm 2022 MỤC LỤC Lời nói đầu PHẦN 1: MỞ ĐẦU 1.1 Mục đích 1.2 Lý chọn đề tài 1.3 Các kiến thức 1.4 Các kỹ có để thực chủ đề nghiên cứu PHẦN 2: KẾT QUẢ NGHIÊN CỨU 2.1 Giới thiệu 2.2 Khảo sát hệ thống 2.2.1 Khảo sát sơ 2.2.2 Tài liệu đặc tả yêu cầu 2.3 Phân tích hệ thống 12 2.3.1 Mơ hình hóa chức hệ thống 12 2.3.2 Mơ hình hóa liệu hệ thống 17 2.4 Thực toán 26 2.4.1 Nguyễn Văn Lâm- Module quản lý phòng thực hành 26 2.4.2 Hà Quốc Huy- Module quản lý tài khoản 38 2.4.3 Lê Huy Đạt- Module quản lý môn thực hành 44 2.4.4 Lê Văn Quang- Module đăng ký lịch thực hành 49 2.4.5 Nguyễn Hồng Sơn- Module quản lý lịch thực hành 54 2.4.6 Lê Huy Đạt- Module thay đổi thông tin tài khoản 58 2.4.7 Nguyễn Văn Lâm- Module đăng nhập 62 PHẦN KẾT LUẬN VÀ BÀI HỌC KINH NGHIỆM 66 3.1 Nội dung thực 66 3.2 Hướng phát triển 66 Lời nói đầu Trong thời đại ngày nay, Công nghệ thông tin phát triển mạnh mẽ, nhanh chóng xâm nhập vào nhiều lĩnh vực khoa học, kỹ thuật sống Nó trở thành cơng cụ đắc lực nhiều ngành nghề giao thông, quân sự, y học đặc biệt cơng tác quản lý nói chung quản lý phịng máy nói riêng Trước máy tính chưa ứng dụng rộng rãi, cơng việc quản lý thực thủ công sổ sách dẫn đến việc lưu giữ cồng kềnh, gây tốn nhiều thời gian, cơng sức thiếu độ xác Do đó, cơng việc quản lý sử dụng phương pháp thủ công không đáp ứng nhiệm vụ mục tiêu hệ thống gây ảnh hưởng lớn tới suất, chất lượng hiệu công việc Để khắc phục nhược điểm đây, đồng thời nhờ vào phát triển nhanh chóng Cơng nghệ thơng tin xây dựng chương trình đăng ký lich thực hành nhu cầu cần thiết cấp bách để tự động hóa cơng tác Trường đại học cơng nghiệp hà nội trường có số lượng mơn học cần thực hành nhiều, đặc biệt khoa công nghệ thông tin Số lượng thực hành môn ngày vô lớn điều tạo nên phức tạp cách đăng ký lịch thực hành,chính việc tin học hóa hệ thống cách đăng ký lịch thực hành hoạt động có hiệu nhu cầu cần thiết Quá trình tìm hiểu cách đăng ký lịch thực hành khoa công nghệ thông tin trường Đại học Công Nghiệp Hà Nội chúng em xây dựng đề tài “Xây dựng phần mềm quản lý lập lịch thực hành khoa CNTT-DHCNHN” với mong muốn giúp cho việc quản lýđược dễ dàng thuận tiện, tránh sai sót Do thời gian có hạn hiểu biết ngơn ngữ lập trình cịn hạn chế nên chắn làm không tránh khỏi thiếu sót, mong giúp đỡ góp ý kiến thầy Chúng em chân thành cảm ơn! PHẦN 1: MỞ ĐẦU 1.1 Mục đích Trong thời đại cơng nghệ thơng tin phát triển mạnh mẽ nay, việc tin học hóa cơng việc giảng dạy trường đại học cần thiết, từ thiết bị đến cách thức giảng dạy học tập phải không ngừng đầu tư, đại Việc ứng dụng công nghệ thông tin tiết kiệm thời gian, chi phí cho nhà trường sinh viên mà kết đạt lại cao Với mục đích tạo hệ thống đăng ký lịch thực hành, hỗ trợ tốt công việc quản lý đăng ký lịch thực hành phòng đào tạo giáo viên học kỳ nên nhóm chúng em chọn đề tài Xây dựng phần mềm quản lý lập lịch thực hành khoa CNTT-DHCNHN 1.2 Lý chọn đề tài Trong trường đại học có nhiều mơn phải thực hành đăng ký lịch thực hành để phịng đào tạo theo dõi việc giảng dạy sử dụng phòng máy giáo viên Tất trường học áp dụng phương pháp đăng ký lịch thực hành trực tuyến để giảm thiểu cơng việc cho phịng đào tạo, cho giáo viên, giảm chi phí, thời gian cơng sức Chính vậy, xây dựng hệ thống đăng ký lịch thực hành vô cần thiết vô cần thiết Xây dựng hệ thống đăng ký lịch thực hành giúp chúng em tổng kết lại kiến thức có q trình học tập nghiên cứu trường, ứng dụng vào xây dựng hệ thống thực tế Hệ thống đăng ký lịch thực hành sản phẩm ứng dụng vào thực tế cho trường đại học có nhu cầu Từ việc nghiên cứu hệ thống đăng ký lịch thực hành, nghiên cứu quy trình, quy chế đăng ký lịch thực hành trường Đại học Công nghiệp Hà Nội với kiến thức chuyên môn mà chúng em có q trình học tập, chúng em hi vọng hệ thống đăng ký lịch thực hành sản phẩm chất lượng phục vụ tốt chức đưa vào áp dụng thực tế 1.3 Các kiến thức Tổng hợp kiến thức cần có để thực xây dựng hệ thống gồm: − Kiến thức lập trình hướng đối tượng để thiết kế đối tượng cần thiết sử dụng ngơn ngữ lập trình Java để trình bày − Kiến thức Java bao gồm: lớp, đối tượng, gom rác, bẫy lỗi, xử lý giao diện, thao tác đọc ghi file đối tượng,… 1.4 Các kỹ có để thực chủ đề nghiên cứu Nhóm thực mơ tả xây dựng hệ thống đăng ký học phần với kiến thức kỹ đây: Về kiến thức: − Kiến thức lập trình Java: lớp, đối tượng, gom rác, bẫy lỗi, xử lý giao diện, đọc ghi file đối tượng − Thành thạo ngôn ngữ Java số công cụ viết mã nguồn Eclipse, Netbeans…,công cụ Microsoft Word làm báo cáo công việc, công cụ IBM Rational Rose để thiết kế phần mềm − Ngồi việc sử dụng mơn “Lập trình Java” cịn sử dụng kiến thức mơn “Phân tích thiết kế hệ thống”,để khảo sát, mơ tả, phân tích, thiết kế hệ thống giao diện − Áp dụng môn học “Quản lý dự án” lên kế hoạch chi tiết triển khai công việc để thực đề tài Về kỹ năng: − Các kỹ làm việc nhóm, thuyết trình, tổng hợp kiến thức, lập bảng biểu thực cơng việc Bài tập lớn hồn thành từ kiến thức, kỹ có triển khai mơ hình xây dựng mẫu Xây dựng phần mềm theo mơ hình thu thập mẫu cách tiếp cận thực tế nhất, phù hợp với hệ thống vừa nhỏ, đặc biệt chưa có yêu cầu rõ ràng hệ thống đăng ký lịch thực hành mà nhóm thực Đồng thời, từ mẫu thử ban đầu đưa cho khách hàng, qua trình tinh chỉnh mẫu thử qua nhiều phiên nhóm chúng em tin làm thỏa mãn yêu cầu người sử dụng tạo kết tốt PHẦN 2: KẾT QUẢ NGHIÊN CỨU 2.1 Giới thiệu Tên toán xây dựng: Xây dựng phần mềm đăng ký môn học Trường đại học Cơng nghiệp Hà Nội Quy trình áp dụng triển khai tập lớn: Xây dựng phần mềm theo mơ hình thu thập mẫu Thực quy trình gồm bước: + Bước 1: Thu thập phân tích u cầu phần mềm thơng qua khảo sát sơ hình thức vấn trực tiếp cán phụ trách quản lý đăng ký lịch thực hành giáo viên Từ kết khảo sát, phân tích yêu cầu cần có hệ thống bao gồm yêu cầu chức (yêu cầu nghiệp vụ, yêu cầu hệ thống), yêu cầu phi chức năng, miền ứng dụng + Bước 2: Thiết kế nhanh: phân tích chức thành use case, mô tả chi tiết thiết kế giao diện use case + Bước 3: Xây dựng nguyên mẫu: thực toán từ mô tả nêu + Bước 4: Chuyển giao kết cho khách hàng nhận ý kiến đánh giá khách hàng + Bước 5: Làm mịn nguyên mẫu: điều chỉnh, bổ sung chức tích hợp vào hệ thống nhằm hồn thiện dần hệ thống + Bước 6: Bàn giao cho khách hàng sản phẩm cuối (Bàn giao, vận hành bảo trì) Hình thức sản phẩm: Sản phẩm ứng dụng Kết đạt được: Cài đặt triển khai thành công phần mềm Kết đạt được: Cài đặt sử dụng Apache Netbeans để triển khai phần mềm Nhóm chúng em sử dụng cơng cụ Netbeans hỗ trợ nhan việc xử lý giao diện 2.2 Khảo sát hệ thống 2.2.1 Khảo sát sơ Đối tượng: Trường đại học Công nghiệp Hà Nội Địa chỉ: Số 298 Đường Cầu Diễn, Minh Khai, Bắc Từ Liêm, Hà Nội Khi giáo viên đăng ký, thay đổi hủy lịch thực hành thơng tin lưu phịng đào tạo theo khn mẫu Vì số lượng giáo viên lớn nên dẫn đến việc sai sót thơng tin xảy ra, việc làm thủ công cần lượng cán nhân tương đối lớn trường, đồng thời tốn nhiều thời gian công sức giáo viên lần đăng ký lịch thực hành Trước tiến hành khảo sát sơ bộ, nhóm em xác định mục tiêu đạt hiểu cách đăng ký lịch thực hành, cách quản lý thông tin môn học, thông tin giáo viên, phịng học đăng ký, thơng tin lớp đăng ký Để kết trình khảo sát xác khách quan, nhóm em định khảo sát phương pháp vấn trực tiếp phận quản lý thông qua phiếu vấn đây: Kế hoạch vấn Người vấn: Người vấn: Lê Văn Quang Nguyễn Hồng Sơn Địa chỉ: Số 69 phố Nhổn, Xuân Thời gian hẹn: 16/05/2022 Phương, Bắc Từ Liêm Hà Nội Thời gian bắt đầu: 8h Thời gian kết thúc: 9h Cần thu thập thông tin về: Trình độ: Hiểu rõ quản giáo - Thông tin giáo viên viên môn học - Thông tin môn học Nội dung: Giới thiệu tổng quan dự Dự kiến thời gian: án 10 phút Câu hỏi 1: Nhà trường cần hệ thống đăng ký lịch thực hành nào? 10 phút Câu hỏi 2: Hệ thống cần làm có tính đặc biệt ngồi tính như: Đăng nhập, đăng kí lịch thực hành hay khơng? Câu hỏi 3: Nhà trường có thống kê 10 phút đầy đủ thơng tin giáo viên, mơn học, số phịng cho phép đăng ký, thông tin lớp đăng ký hay chưa chưa? Tổng hợp nội dung ý kiến 10 phút người hỏi Kết thúc (thỏa thuận) 20 phút Dự kiến tổng cộng 60 phút Bảng Kế hoạch vấn 2.2.2 Tài liệu đặc tả yêu cầu 2.2.2.1 Mô tả hoạt động hệ thống Quy trình hoạt động việc đăng ký lịch thực hành bắt đầu việc phịng đào tạo lấy thơng tin thông tin giáo viên(mã giáo viên, tên giáo viên, địa chỉ, email, số điện thoại), phòng thực hành, lớp, môn học (thường mã môn học, tên môn học) tài khoản (Tên đăng nhập, mật khẩu) Sau nhập hết thơng tin việc nhập thơng tin kết thúc 10 Mỗi Giáo Viên phụ trách lúc nhiều lớp học, ứng với lớp học, giáo viên phải xếp lịch học thực hành cho phù hợp nhất, ứng với lớp đó, giáo viên mơn phải đăng kí phịng máy với thời gian tương ứng Mỗi phịng máy có chất lượng khác nhau, cán Quản Lí có nhiệm vụ phải nắm rõ tường tận tất phòng máy (thời gian, người đăng kí, phịng máy cịn trống ) Mỗi giáo viên có nhu cầu đăng kí phịng học,họ phải đăng nhập vào hệ thống, tìm kiếm danh sách phịng cịn trống điền đầy đủ thơng tin vào form đăng kí Ứng với lớp học, giáo viên mơn phải kiểm sốt số lượng sinh viên ca thực hành, đảm bảo số lượng máy phụ kiện đầy đủ giao trả phòng Cán quản lí sau tuần phải thống kê lịch học danh sách phòng máy lên Cán quản lí giao phịng máy nhận trả phòng máy phải kiểm tra trang thiết bị giấc, kiểm tra ok ca đăng kí thực hành hơm hồn tất Mỗi giáo viên phải xếp lịch học thực hành phù hợp cho lớp học Giáo viên mơn phải đăng kí lịch với thời gian tương ứng cho lớp học Mỗi giáo viên có nhu cầu đăng kí lịch học, họ phải đăng nhập vào hệ thống tìm kiếm danh sách phịng cịn trống điền đầy đủ thơng tin vào form đăng kí lịch thực hành Phiếu đăng ký lịch thực hành gồm thơng tin lớp, phịng, ca, thứ, ngày bắt đầu, ngày kết thúc, mã phiếu đăng ký, mã môn học trạng thái Hệ thống cho phép giáo viên đăng ký, thêm, hủy lịch thực hành Mỗi giáo viên đăng ký lịch thực hành gửi đến Admin chờ xét duyệt Mỗi giáo viên đăng ký 0,1 nhiều lịch thực hành Hệ thống cho phép giáo viên thay đổi mật thông tin cá nhân có sai sót Khi có giáo viên cần tài khoản Admin thêm sửa xóa tài khoản giáo viên để cung cấp tài khoản cho giáo viên đăng nhập vào hệ thống Admin quản lý 0,1 nhiều tài khoản giáo viên 52 hình 53 Thao tác với file • Các chức − Nút thêm: Người quản trị nhập thơng tin lịch học muốn đăng ký Hệ thống kiểm tra thơng tin nhập hợp lệ đăng ký thành cơng lưu vào file Nếu khơng hợp hệ thống thơng báo lỗi Hình 54 Code xử lý nút đăng ký − Nút sửa: Người quản trị chọn lịch cần sửa chọn nút “sửa phiếu” hệ thống mở giao diện cho phép người dùng nhập thông tin lịch cần sửa 53 Hệ thống kiểm tra thơng tin nhập hợp lệ sửa thành cơng lưu vào file Nếu khơng hợp lệ hệ thống báo lỗi Hình 55 Code xử lý sửa file − Nút hủy lịch: Người quản trị nhấn chọn dịng thơng tin lịch muốn hủy chọn nút “hủy lịch” Hệ thống hiển thị thông báo xóa mã phiếu Nếu chọn “Đồng ý” hệ thống xóa lịch thực hành cập nhập danh sách lịch Nếu ấn hủy hệ thống hủy thao tác hủy lịch Hình 56 Code xử lý nút hủy lịch 54 2.4.5 Nguyễn Hồng Sơn - Module quản lý lịch thực hành Hình 17 Giao diện quản lý lịch thực hành − Lấy liệu thông qua lịch thực hành mà giáo viên đăng ký, lấy thông tin từ file đăng ký lịch thực hành giáo viên − Bảng hiển thị danh sách lịch thực hành − Khi người dùng chọn nút “duyệt” hệ thống lịch thực hành trạng thái duyệt người dùng chọn lịch thực hành chọn nút”từ chối” hệ thống lịch thực hành trạng thái từ chối + Hướng đối tượng: tính đóng gói, đa hình 55 Hình 58 Tính đóng gói Hình 59 Tính đa hình + Bắt lỗi gom rác: chương trình khơng bắt lỗi Chương trình khơng sử dụng gom rác + Tập hợp: Tập hợp nhóm chọn Arraylist, nhóm lựa chọn tập hợp ArrayList nhanh việc trữ lấy liệu phép tốn sử dụng add(), set(),remove(), get() 56 Hình 60 Tốn tử set Hình 61 Tốn tử add() Hình 62 Tốn tử remove() Hình 63 Tốn tử get() • Các chức 57 − Khi người dùng chọn lịch thực hành chọn nút duyệt trạng thái lịch thực hành dã duyệt danh sách hiển thị lại danh sách thực hành giáo viên Hình 64 Code xử lý nút duyệt 58 − Khi người dùng chọn lịch thực hành chọn nút từ chối trạng thái lịch thực hành dã từ chối danh sách hiển thị lại danh sách thực hành giáo viên Hình 65 Code xử lý nút từ chối 2.4.6 Lê Huy Đạt - Module thay đổi thơng tin tài khoản Hình 18 Giao diện thay đổi thông tin tài khoản 59 − Người dùng chọn cập nhật thông tin tài khoản hệ thống form cho phép người dùng nhập thơng tin cần thay đổi nhấn nút thay cập nhật thông tin + Hướng đối tượng: module sử dụng tính chất đóng gói đa hình Hình 67 Tính đóng gói Hình 68 Tính đa hình lỗi gom rác: Người dùng nhập vào số điện thoại khơng phải số chương trình bắt lỗi Chương trình khơng sử dụng gom rác + Bắt 60 Hình 69 Bắt lỗi + Tập hợp: Tập hợp nhóm chọn Arraylist, nhóm lựa chọn tập hợp ArrayList nhanh việc trữ lấy liệu phép toán sử dụng set() Hình 70 Tốn tử set() + Thao tác file: nhóm lựa chọn thao tác file sử dụng fileoutputstream FileOutStream luồng liệu đầu dùng để ghi liệu File FileDescriptor FileOutputStream sử dụng để ghi luồng liệu thô dạng byte tốt cho trường hợp liệu dạng text pdf 61 Hình 71 Thao tác file − Người dùng chọn cập nhật thông tin tài khoản hệ thống form cho phép người dùng nhập thơng tin cần thay đổi nhấn nút thay cập nhật thông tin Hình 72 Code xử lý cập nhật thơng tin tài khoản 62 2.4.7 Nguyễn Văn Lâm - Module đăng nhập Hình 19 Giao diện đăng nhập − Người dùng chọn đăng nhập hệ thống form cho phép người dùng đăng nhập vào hệ thống, người dùng chọn “thốt” hệ thống đóng chương trình + Hướng đối tượng: module sử dụng tính chất đóng gói đa hình Hình 74 Tính đóng gói 63 Hình 75 Tính đa hình + Bắt lỗi gom rác: Người dùng nhập vào tài khoản mật khơng xác chương trình bắt lỗi Chương trình khơng sử dụng gom rác Hình 76 Bắt lỗi chương trình + Thao tác file: nhóm lựa chọn thao tác file sử dụng fileoutputstream FileOutStream luồng liệu đầu dùng để ghi liệu File FileDescriptor FileOutputStream sử dụng để ghi luồng liệu thơ dạng byte tốt cho trường hợp liệu dạng text pdf 64 Hình 76 Đọc ghi file 65 • Các chức Hình 77 Code nút đăng nhập Hình 78 Code nút 66 PHẦN KẾT LUẬN VÀ BÀI HỌC KINH NGHIỆM 3.1 Nội dung thực Trong trình xây dựng hệ thống dựng phần mềm quản lý lập lịch thực hành khoa CNTT-DHCNHN, thành viên nhóm tổng hợp nhiều kiến thức mơn lập trình Java số mơn học khác phân tích thiết kế hệ thống, quản lý dự án,… để áp dụng vào xây dựng hệ thống thực tế Thơng qua q trình làm việc nhóm thành viên trong nhóm đoàn kết với hơn, tinh thần làm việc tập thể nâng cao hơn, rèn luyện kỹ làm việc nhóm Nhưng kiến thức kinh nghiệm cịn hạn chế nên nhóm mong nhận đóng góp ý kiến giáo bạn để hệ thống nhóm xây dựng hồn thiện Nhóm xin chân thành cảm ơn giáo Vũ Thị Dương nhiệt tình hướng dẫn nhóm suốt q trình thực đề tài này, nhiệt tình hướng dẫn nhóm hồn thành đề tài hiểu môn học 3.2 Hướng phát triển Hoàn thiện hệ thống chức giao diện để hệ thống áp dụng vào thực tế quản lý công tác đăng ký học phần trường đại học khác ... phần mềm tài khoản giáo viên thực chức năng: − Đăng ký lịch thực hành − Sửa lịch hành − Xem lịch thực hành − Xem lịch thực hành đăng ký − Hủy lịch thực hành đăng ký Phòng đào tạo sau đăng nhập vào... thống phần mềm quản lý việc đăng ký lịch thực hành giáo viên chức sau đây: − Quản lý phòng thực hành − Quản lý tài khoản giáo viên − Quản lý lịch thực hành − Quản lý lớp học phần − Quản lý môn thực. .. chúng em chọn đề tài Xây dựng phần mềm quản lý lập lịch thực hành khoa CNTT- DHCNHN 1.2 Lý chọn đề tài Trong trường đại học có nhiều mơn phải thực hành đăng ký lịch thực hành để phịng đào tạo