1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

66 32 1

Đ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

Thông tin cơ bản

Tiêu đề 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
Tác giả Nguyễn Văn Lâm, Hà Quốc Huy, Lê Huy Đạt, Lê Văn Quang, Nguyễn Hồng Sơn
Người hướng dẫn ThS. Vũ Thị Dương
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo thí nghiệm/thực nghiệm
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 66
Dung lượng 2,17 MB

Cấu trúc

  • PHẦN 1: MỞ ĐẦU (4)
    • 1.1 Mục đích (4)
    • 1.2 Lý do chọn đề tài (4)
    • 1.3 Các kiến thức cơ bản (5)
    • 1.4 Các kỹ năng đã có để thực hiện chủ đề nghiên cứu (5)
  • PHẦN 2: KẾT QUẢ NGHIÊN CỨU (7)
    • 2.1 Giới thiệu (7)
    • 2.2 Khảo sát hệ thống (8)
      • 2.2.1 Khảo sát sơ bộ (8)
      • 2.2.2 Tài liệu đặc tả yêu cầu (9)
    • 2.3 Phân tích hệ thống (12)
      • 2.3.1 Mô hình hóa chức năng hệ thống (12)
      • 2.3.2 Mô hình hóa dữ liệu hệ thống (17)
    • 2.4 Thực hiện bài 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 3. KẾT LUẬN VÀ BÀI HỌC KINH NGHIỆM (66)
    • 3.1. Nội dung đã thực hiện (66)
    • 3.2. Hướng phát triển (66)

Nội dung

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

KẾT QUẢ NGHIÊN CỨU

Giới thiệu

Tên bài toán sẽ 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 bài tập lớn: Xây dựng phần mềm theo mô hình thu thập bản mẫu

Thực hiện quy trình gồm 6 bước:

Bước đầu tiên trong quy trình phát triển phần mềm là thu thập và phân tích yêu cầu thông qua khảo sát sơ bộ Điều này được thực hiện bằng cách phỏng vấn trực tiếp các cán bộ phụ trách quản lý đăng ký lịch thực hành của giáo viên Từ kết quả khảo sát, các yêu cầu cần thiết của hệ thống sẽ được phân tích, bao gồm yêu cầu chức năng như yêu cầu nghiệp vụ và yêu cầu hệ thống, cùng với yêu cầu phi chức năng và miền ứng dụng.

+ Bước 2: Thiết kế nhanh: phân tích các chức năng thành các use case, mô tả chi tiết và thiết kế giao diện của từng use case

+ Bước 3: Xây dựng bản nguyên mẫu: thực hiện bài toán từ những mô tả đã nêu ở trên

+ Bước 4: Chuyển giao kết quả cho khách hàng và nhận ý kiến đánh giá của khách hàng

+ Bước 5: Làm mịn nguyên mẫu: điều chỉnh, bổ sung các chức năng và tích hợp vào hệ thống nhằm hoà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 cùng (Bàn giao, vận hành và bảo trì)

Hình thức sản phẩm: Sản phẩm ứng dụng Kết quả đạt được: Cài đặt và triển khai thành công phần mềm

Kết quả đạt được là cài đặt và sử dụng Apache Netbeans để triển khai phần mềm Nhóm chúng em lựa chọn công cụ này vì Netbeans hỗ trợ hiệu quả trong việc xử lý giao diện.

Khảo sát hệ thống

2.2.1 Khảo sát sơ bộ Đố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 một giáo viên đăng ký, thay đổi hoặc hủy lịch thực hành thì thông tin sẽ được lưu tại phòng đào tạo theo khuôn 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 có thể xảy ra, việc làm khá thủ công cần một lượng cán bộ nhân sự tương đối lớn của trường, đồng thời cũng tốn rất nhiều thời gian và công sức của giáo viên trong mỗi lần đăng ký lịch thực hành

Trước khi tiến hành khảo sát sơ bộ, nhóm em đặt mục tiêu hiểu cách đăng ký lịch thực hành, quản lý thông tin môn học, giáo viên, phòng học và lớp đăng ký Để đảm bảo kết quả khảo sát chính xác và khách quan, nhóm đã quyết định sử dụng phương pháp phỏng vấn trực tiếp bộ phận quản lý thông qua phiếu phỏng vấn.

Nguyễn Hồng Sơn Địa chỉ: Số 69 phố Nhổn, Xuân

Phương, Bắc Từ Liêm Hà Nội

Thời gian hẹn: 16/05/2022 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õ về quản giáo viên và môn học

Nội dung: Giới thiệu tổng quan về dự án

Câu hỏi 1: Nhà trường cần một hệ thống đăng ký lịch thực hành như thế nào?

Câu hỏi 2: Hệ thống cần làm có những tính năng gì đặc biệt ngoài những tính năng cơ bản như: Đăng nhập, đăng kí lịch thực hành hay không?

Nhà trường đã hoàn tất việc thống kê đầy đủ thông tin về giáo viên, các môn học, số phòng học cho phép đăng ký và thông tin liên quan đến lớp đăng ký hay chưa?

Tổng hợp các nội dung chính ý kiến của người được hỏi

Dự kiến tổng cộng 60 phút

Bảng 1 Kế hoạch phỏng vấn

2.2.2 Tài liệu đặc tả yêu cầu

2.2.2.1 Mô tả hoạt động của hệ thống

Quy trình đăng ký lịch thực hành bắt đầu với việc phòng đào tạo thu thập thông tin cần thiết, bao gồm 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 học, môn học (mã và tên môn học) cùng với tài khoản (tên đăng nhập và mật khẩu) Sau khi hoàn tất việc nhập tất cả thông tin, quá trình thu thập dữ liệu sẽ kết thúc.

Mỗi 1 Giáo Viên sẽ phụ trách cùng 1 lúc nhiều lớp học, ứng với mỗi lớp học, giáo viên sẽ phải sắp xếp lịch học thực hành sao cho phù hợp nhất, và ứng với mỗi lớp đó, giáo viên bộ môn sẽ phải đăng kí 1 phòng máy với thời gian tương ứng Mỗi một phòng máy sẽ có chất lượng khác nhau, cán bộ Quản Lí có nhiệm vụ là phải nắm rõ tường tận tất cả các phòng máy này (thời gian, người đăng kí, phòng máy còn trống ) Mỗi khi 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 và điền đầy đủ thông tin vào form đăng kí Ứng với mỗi lớp học, giáo viên bộ môn phải kiểm soát được số lượng sinh viên của mỗi ca thực hành, đảm bảo số lượng máy và phụ kiện đầy đủ khi giao trả phòng Cán bộ quản lí sau mỗi 1 tuần sẽ phải thống kê lịch học và danh sách các phòng máy lên Cán bộ quản lí khi giao phòng máy hay là nhận trả phòng máy đều phải kiểm tra các trang thiết bị cũng như giờ giấc, nếu mọi kiểm tra đều đã ok thì ca đăng kí thực hành hôm đó hoàn tất

Mỗi giáo viên cần sắp xếp lịch học thực hành phù hợp cho từng lớp học bằng cách đăng ký thời gian tương ứng Khi có nhu cầu, giáo viên đăng nhập vào hệ thống để tìm kiếm phòng còn trống và điền thông tin vào form đăng ký, bao gồm 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 và trạng thái Hệ thống cho phép giáo viên đăng ký, thêm hoặc hủy lịch thực hành, và mọi đăng ký sẽ được gửi đến Admin để chờ xét duyệt Giáo viên có thể đăng ký 0, 1 hoặc nhiều lịch thực hành.

Hệ thống cho phép giáo viên thay đổi mật khẩu và thông tin cá nhân của mình nếu có sai sót

Khi giáo viên cần tài khoản, Admin có thể thêm, sửa hoặc xóa tài khoản giáo viên để cung cấp cho họ quyền truy cập vào hệ thống Admin có khả năng quản lý từ 0, 1 đến nhiều tài khoản giáo viên một cách linh hoạt.

Admin có khả năng quản lý các môn học trong hệ thống, bao gồm việc thêm, sửa hoặc xóa môn học khi cần thiết Mỗi môn học được xác định bởi mã môn, tên môn và số tín chỉ, cho phép Admin quản lý từ 0, 1 đến nhiều môn học một cách hiệu quả.

Khi giáo viên đăng ký lịch thực hành, Admin sẽ xem xét và phê duyệt hoặc từ chối phiếu đăng ký nếu có vấn đề về thời gian hoặc các vấn đề khác.

Admin có khả năng thêm, sửa hoặc xóa lớp thực hành khi cần thiết, giúp quản lý một hoặc nhiều lớp học thực hành một cách hiệu quả.

Phần mềm cần khắc phục các hạn chế hiện tại và đảm bảo quản lý hiệu quả quá trình đăng ký lịch thực hành của giáo viên Sau khi đăng nhập bằng tài khoản giáo viên, người dùng sẽ có thể thực hiện các chức năng cần thiết để quản lý lịch trình một cách thuận tiện và hiệu quả.

− Đăng ký 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 sẽ quản lý việc đăng ký lịch thực hành của giáo viên sau khi đăng nhập vào hệ thống phần mềm thông qua các chức năng được cung cấp.

− 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 hành

2.2.2.3 Yêu cầu phi chức năng

Các yêu cầu về thuộc tính quan trọng của phần mềm:

− Về yêu cầu xử lý:

+ Phần mềm bảo mật tốt, hỗ trợ việc xác thực bằng tên tài khoản và mật khẩu đăng nhập

+ Phần mềm dễ sử dụng, truy cập nhanh, chính xác, khả năng hoạt động ổn định

+ Đáp ứng đầy đủ nhu cầu của người sử dụng

− Về giao diện người sử dụng:

+ Đẹp, thân thiện với người dùng trong các tương tác giữa hệ thống với các đối tượng người sử dụng

+ Các chức năng phải được sắp xếp hợp lý, logic

+ Tương thích với cấu hình điện thoại và máy tính

− Về khả năng thích nghi: Phần mềm phải chạy được trên tất cả các phiên bản của Windows

Phần mềm có khả năng tái sử dụng cao, cho phép nâng cấp dễ dàng để phát triển thêm các chức năng mới mà không làm ảnh hưởng đến cấu trúc hiện tại.

− Hệ điều hành Windows 7 trở lên

− Chi phí thay thế, nâng cấp hệ thống máy tính là lớn

− Bên cạnh đó còn có các chi phí về bản quyền các phần mềm.

Phân tích hệ thống

2.3.1 Mô hình hóa chức năng hệ thống

• Các actor và nhiệm vụ chính đảm nhận:

Giáo viên Là người đăng ký, sửa và hủy lịch thực hành

Admin Là người quản lý phòng thực hành, tài khoản, lịch thực hành, lớp thực hành và môn học phần

Bảng 2 Mô tả tổng quát chức năng người dùng

• Mô tả vắn tắt use case:

STT Tên use case Mô tả use case Actor chính

1 Đăng nhập Cho phép người dùng đăng nhập vào hệ thống

2 Đăng ký lịch thực hành

Cho phép giáo viên đăng ký, sửa và hủy lịch lịch hành

3 Thống kê lịch thực hành

Cho phép giáo viên xem lịch thực hành đã duyệt của mình, thống kê theo phòng và theo môn

4 Thay đổi thông tin cá nhân

Cho phép giáo viên cập nhật thông tin cá nhân của mình

Giáo viên và đổi mật khẩu nếu cần

5 Quản lý lớp Cho phép admin quản lý lớp học bằng các chức năng thêm, sửa, xóa admin

6 Quản lý môn Cho phép admin quản lý môn học bằng các chức năng thêm, sửa, xóa admin

7 Quản lý phòng Cho phép admin quản lý phòng học bằng các chức năng thêm, sửa, xóa admin

Cho phép admin quản lý tài khoản bằng các chức năng thêm, sửa, xóa admin

9 Quản lý lịch thực hành

Cho phép giáo viên duyệt hoặc từ chối phiếu đăng ký thực hành của giáo viên admin

Bảng 3 Mô tả vắn tắt các use case

Hình 1 Biểu đồ use case tổng quát

• Đặc tả tóm tắt usecase

Mô tả ngắn gọn use case Chức năng

UC001 Đăng nhập Giáo viên nhập tài khoản mật khẩu để sử dụng các chức năng của hệ thống

Thông báo nếu tài khoản, mật khẩu không đúng

Cho phép Admin và giáo viên đăng nhập vào hệ thống

UC002 Đăng ký lịch thực hành

Giáo viên nhấn vào nút thêm hoặc sửa phiếu, nhập thông tin vào form

Trạng thái của phiếu đổi sang chờ duyệt Hệ thống

Giáo viên đăng ký, sửa hoặc hủy lịch thực hành

Tác nhân giáo viên sẽ thông báo cho giáo viên nếu trùng lịch

Giáo viên nhấn nút hủy để xóa phiếu đăng ký đã chọn

UC003 Thống kê lịch thực hành

Hiển thị danh sách lịch đã duyệt của giáo viên Thực hiện thống kê theo mã phòng hoặc mã môn

Thống kê lịch thực hành

UC004 Thay đổi thông tin cá nhân

Nhập thông tin cá nhân cần đổi vào form

Cập nhật thông tin cá nhân

Admin nhấn vào nút thêm hoặc sửa phiếu, nhập thông tin vào form Hệ thống sẽ thông báo nếu thông tin nhập không hợp lệ

Admin nhấn nút xóa để xóa lớp đã chọn

Cho phép admin thêm, sửa, xóa lớp học

Admin nhấn vào nút thêm hoặc sửa phòng, nhập thông tin vào form Hệ thống sẽ thông báo nếu thông tin nhập không hợp lệ

Admin nhấn nút xóa để xóa phòng đã chọn

Cho phép admin thêm, sửa, xóa phòng học

Admin nhấn vào nút thêm hoặc sửa phòng, nhập thông tin vào form Hệ thống sẽ thông báo nếu thông tin nhập không hợp lệ

Admin nhấn nút xóa để xóa phòng đã chọn

Cho phép admin thêm, sửa, xóa môn học

UC008 Quản lý tài khoản

Admin nhấn vào nút thêm hoặc sửa tài khoản, nhập thông tin vào form Hệ thống sẽ thông báo nếu thông tin nhập không hợp lệ

Admin nhấn nút xóa để xóa tài khoản đã chọn

Cho phép admin thêm, sửa, xóa tài khoản

UC009 Quản lý lịch thực hành

Admin chọn phiếu đăng ký và nhấn duyệt, trạng thái phiếu đăng ký chuyển sang đã duyệt, nếu nhấn từ chối thì chuyển sang trạng thái từ chối

Cho phép admin duyệt hoặc từ chối phiếu đăng ký

Bảng 4 Bảng đặc tả tóm tắt usecase

2.3.2 Mô hình hóa dữ liệu hệ thống

• Biểu đồ lớp tham gia ca sử dụng

Hình 2 Biểu đồ lớp tham gia ca sử dụng Đăng nhập

Hình 3 Biểu đồ lớp tham gia ca sử dụng Dang ky lich thuc hanh

Hình 4 Biểu đồ lớp tham gia ca sử dụng Thay đổi thông tin cá nhân

Hình 5 Biểu đồ lớp tham gia ca sử dụng Thống kê lịch thực hành

Hình 6 Biểu đồ lớp tham gia ca sử dụng Quản lý lịch thực hành

Hình 7 Biểu đồ lớp tham gia ca sử dụng Quản lý lớp

Hình 8 Biểu đồ lớp tham gia ca sử dụng Quản lý môn

Hình 9 Biểu đồ lớp tham gia ca sử dụng Quản lý phòng thực hành

Hình 10 Biểu đồ lớp tham gia ca sử dụng Quản lý tài khoản

• Lớp thực thể lưu trữ dữ liệu

− Một tài khoản có thể quản lý 0,1 hoặc nhiều lớp học

− Một tài khoản chỉ có thể đăng ký 0,1 phiếu đăng ký lịch thực hành

− Một phiếu đăng ký có thể đăng ký 0,1 hoặc nhiều môn học

− Một phiếu đăng ký có thể đăng ký được 0,1 hoặc nhiều lớp học

− Một phiếu đăng ký có thê đăng ký được 0,1 hoặc nhiều phòng học

• Thông tin cần lưu trữ

Từ mô tả hệ thống và các Use Case bên trên, ta có các thông tin cần phải lưu lại trong hệ thống là:

− Thông tin lớp học(use case quản lý lớp học)

− Thông tin tài khoản(use case quản lý tài khoản)

Hình 11 Lớp thực thể lưu trữ dữ liệu

− Thông tin môn học(use case quản lý môn học)

− Thông tin phòng thực hành(use case quản lý phòng thực hành)

− Thông tin phiếu đăng ký học phần(use case đăng ký học phần)

 Ta có lớp tương ứng

− LOPHOC(thể hiện thông tin lớp học)

− TAIKHOAN(thể hiện thông tin tài khoản người dùng)

− PHIEUDANGKY(thể hiên thông tin cho phép giáo viên đăng ký lịch học)

− MONHOC(thể hiện thông tin của môn học)

− PHONGTHUCHANH(thể hiện thông tin của phòng thực hành được đăng ký)

Các thuộc tính của lớp: o Lớp LOPHOC:

− maLopHoc: là thuộc tính khóa xác định mã lớp học

− tenLopHoc: xác định tên lớp học

− maGV: khóa ngoại o Lớp TAIKHOAN:

− maGV: là thuộc tính khóa, xác định mã giáo viên

− username: xác định tên tài khoản người dùng

− password: để xác thực tài khoản người dùng

− hoTen: xác định tên giáo viên

− ngaySinh: xác định ngày sinh của giáo viên

− diaChi: xác định địa chỉ

− SDT: xác định số điện thoại

− Quyen: xác định quyền o Lớp MONHOC

− maMonHoc: là thuộc tính khóa, xác định mã môn học

− tenMonHoc: xác định tên môn học

− soTinChi: xác định số tín chỉ của môn học o Lớp PHONGTHUCHANH

− maP: là khóa chính, xác định mã phòng thực hành

− tenPhong: xác định tên phòng

− khuNha: xác định khu nhà

− cauHinh: xác định cấu hình

− tinhTrang: xác định tình trạng o Lớp PHIEUDANGKY

− maPhieu: là khóa chính, xác định mà phiếu đăng ký lịch thực hành

− Ca: xác định ca thực hành

− Thứ: xác định thứ trong tuần

− ngayBD: xác định ngày bắt đầu thực hành

− ngayKT: xác định ngày kết thúc thực hành

− tinhTrang: xác định tình trạng phiếu

• Biểu đồ lớp dữ liệu:

Thực hiện bài toán

2.4.1 Nguyễn Văn Lâm - Module quản lý phòng thực hành

Hình 12 Biểu đồ lớp dữ liệu

Hình 13 Giao diện quản lý phòng thực hành

− Nhập dữ liệu thông qua các ô trên màn hình

− Bảng hiển thị danh sách các phòng thực hành

+ Hướng đối tượng: sử dụng tính chất đóng gói, tính đa hình

The `PhongTHModel` class is a public class that implements the `Serializable` interface, designed to represent a room model with several attributes It includes properties such as `maPhong` (room code), `tenPhong` (room name), `tang` (floor number), `toaNha` (building name), `cauHinh` (configuration), `soMay` (number of machines), and `tinhTrang` (status) The class features a default constructor for initialization.

Tính đa hình @Override public int hashCode() { int hash = 5; return hash;

@Override public boolean equals(Object obj) { if (this == obj) { return true;

} if (obj == null) { return false;

} if (getClass() != obj.getClass()) { return false;

} final PhongTHModel other (PhongTHModel) obj; return Objects.equals(this.maPhong, other.maPhong);

Chương trình sẽ kiểm tra lỗi khi nhập vào số máy, nếu giá trị không phải là số hoặc số máy nhỏ hơn hoặc bằng 0, sẽ phát sinh lỗi Cụ thể, phương thức `setSoMay(int soMay)` sẽ ném ra ngoại lệ với thông báo "Số máy phải lớn hơn không" khi điều kiện không được thỏa mãn.

} try { pth.setSoMay(Integer.parseInt(txtSoMay.getText()));

JOptionPane.showMessageDialog(null, "Thêm thành công"); JPQLPhongTH.jPQLPhongTH.loadTable();

JOptionPane.showMessageDialog(null, "Số máy phải là số nguyên dương");

The chosen collection type is ArrayList, primarily due to its superior speed in storing and retrieving data Key operations performed on this collection include add(), set(), remove(), get(), and contains().

Phương thức add() public void themPhongTH(PhongTHModel pth) { listPhongTH.add(pth); ghiDSPhongTH();

Phương thức set() public void suaPhongTH(PhongTHModel pth, int index) { listPhongTH.set(index, pth); ghiDSPhongTH();

Phương thức remove() public void xoaPhongTH(int index) { listPhongTH.remove(index); ghiDSPhongTH();

The method `getValueAt(int rowIndex, int columnIndex)` retrieves specific values from a list of classroom objects based on the provided row and column indices It returns the row number incremented by one for the first column, while subsequent columns return various attributes of the classroom, such as room code, room name, floor, building, configuration, number of computers, and status If the column index does not match any predefined cases, the method returns null.

PhongTHModel pth = new PhongTHModel(); pth.setMaPhong(txtMaPhong.getText()); if(JPQLPhongTH.jPQLPhongTH.getListPhongTH().contains(pt h)) {

JOptionPane.showMessageDialog(null, "Mã phòng đã tồn tại");

FileOutputStream là luồng dữ liệu đầu ra dùng để ghi dữ liệu vào File hoặc FileDescriptor, thích hợp cho việc ghi các luồng dữ liệu thô dưới dạng byte Điều này đặc biệt hữu ích cho các dữ liệu không phải dạng text, chẳng hạn như file PDF Để đọc file, bạn có thể sử dụng phương thức public ArrayList readFile(String fileName).

File file = new File(fileName); if(file.length() > 0) { try {

FileInputStream fis = new FileInputStream(file);

ObjectInputStream ois = new ObjectInputStream(fis);

Object o = ois.readObject(); list = (ArrayList)o; ois.close(); fis.close();

} catch(IOException ex) { ex.printStackTrace();

} catch (ClassNotFoundException ex) { ex.printStackTrace();

} public ArrayList getDSLopHoc() { return readFile(fileLopHoc);

Ghi file public void writeToFile(ArrayList list, String fileName) { File file = new File(fileName); try { file.createNewFile();

FileOutputStream fos = new FileOutputStream(file);

ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(list); oos.close(); fos.close();

} catch(IOException ex) { ex.printStackTrace();

} } public void ghiDSLopHoc(ArrayList lh) { writeToFile(lh, fileLopHoc);

Người quản trị có thể thêm thông tin phòng thực hành qua nút "Thêm" Hệ thống sẽ kiểm tra tính hợp lệ của thông tin nhập vào; nếu hợp lệ, thông tin sẽ được lưu vào file thành công Ngược lại, nếu thông tin không hợp lệ, trùng mã phòng hoặc số lượng máy nhỏ hơn 0, hệ thống sẽ thông báo lỗi.

|| txtSoMay.getText().isEmpty()|| txtTinhTrang.getText().isEmpty()) {

JOptionPane.showMessageDialog(null, "Vui lòng nhập đầy đủ");

PhongTHModel pth = new PhongTHModel(); pth.setMaPhong(txtMaPhong.getText()); if(JPQLPhongTH.jPQLPhongTH.getListPhongTH().contains(pth))

JOptionPane.showMessageDialog(null, "Mã phòng đã tồn tại");

In the code snippet, the method sets various properties of the object `pth`, including the room name, floor number, building name, configuration, and status It retrieves these values from user inputs, such as text fields and combo boxes Additionally, it attempts to parse and set the number of machines based on the input provided in the corresponding text field.

JOptionPane.showMessageDialog(null, "Thêm thành công"); JPQLPhongTH.jPQLPhongTH.loadTable();

JOptionPane.showMessageDialog(null, "Số máy phải là số nguyên dương");

To delete a practice room, the administrator selects the desired row of information and clicks the delete button The system will then prompt a confirmation message If "Agree" is selected, the system will remove the practice room and update the room list Conversely, if "Cancel" is chosen, the deletion action will be aborted.

JOptionPane.showMessageDialog(null, "Bạn chưa chọn phòng nào

String maPhong = tbPhongTH.getValueAt(selectedRowIndex,

PhongTHModel pthXoa = new PhongTHModel(maPhong);

To confirm the deletion of a room with the code "maPhong," a dialog box is displayed using JOptionPane If the user selects "Yes," the function xoaPhongTH is called to remove the room from the list, followed by a refresh of the table to update the displayed information.

− Nút sửa: Người quản trị chọn phòng thực hành cần sửa và chọn nút

Hệ thống "sửa" sẽ hiển thị giao diện cho phép người dùng nhập thông tin lớp cần chỉnh sửa Sau khi người dùng nhập, hệ thống sẽ kiểm tra tính hợp lệ của thông tin; nếu hợp lệ, thông tin sẽ được thêm thành công và lưu vào file Ngược lại, nếu thông tin không hợp lệ hoặc mã phòng bị trùng, hay số lượng máy nhỏ hơn 0, hệ thống sẽ thông báo lỗi.

//Lấy thông tin phòng thực hành đã chọn và mở form sửa khi nhấn nút sửa int selectedRowIndex = tbPhongTH.getSelectedRow(); if (selectedRowIndex < 0) {

JOptionPane.showMessageDialog(null, "Bạn chưa chọn phòng nào

PhongTHModel pth = new PhongTHModel(); pth.setMaPhong(tbPhongTH.getValueAt(selectedRowIndex,

1).toString()); pth.setTenPhong(tbPhongTH.getValueAt(selectedRowIndex,

2).toString()); pth.setTang((int)tbPhongTH.getValueAt(selectedRowIndex, 3)); pth.setToaNha(tbPhongTH.getValueAt(selectedRowIndex,

4).toString()); pth.setCauHinh(tbPhongTH.getValueAt(selectedRowIndex,

5).toString()); try { pth.setSoMay((int)tbPhongTH.getValueAt(selectedRowIndex,

6)); pth.setTinhTrang(tbPhongTH.getValueAt(selectedRowIndex, 7).toString());

//Truyền pth từ lựa chọn trên bảng vào form sửa

DLSuaPhongTH(test.jfmainAdmin, true, pth, listPhongTH.indexOf(pth)); dlSuaPhong.setTitle("Sửa thông tin phòng thực hành"); dlSuaPhong.setVisible(true);

2.4.2 Hà Quốc Huy - Module quản lý tài khoản

− Nhập dữ liệu thông qua các ô trên màn hình

− Bảng hiển thị danh sách các phòng thực hành

Khi người dùng nhấn nút “Thêm”, hệ thống sẽ hiển thị form để nhập thông tin tài khoản Nếu người dùng chọn một tài khoản và nhấn nút “Sửa”, hệ thống sẽ cung cấp form để chỉnh sửa thông tin cần thiết.

+ Hướng đối tượng: tính đóng gói, tính đa hình

Hình 14 Giao diện module quản lý tài khoản

Hình 23 Tính chất đóng gói cho module quản lý tài khoản

Hình 24 Tính chất đa hình module quản lý tài khoản

+ Bắt lỗi gom rác: chương trình khi nhập vào số điện thoại không phải là số chương trình sẽ bắt lôi Chương trình không sử dụng gom rác

Hình 25 Bắt lỗi được sử dụng trong chương trình

ArrayList là một lựa chọn tối ưu cho việc lưu trữ và truy xuất dữ liệu nhanh chóng Các thao tác chính thường được sử dụng với ArrayList bao gồm add(), set(), remove() và get().

FileOutputStream là một luồng dữ liệu đầu ra được sử dụng để ghi dữ liệu vào file hoặc FileDescriptor Nó cho phép ghi các luồng dữ liệu thô dưới dạng byte, rất phù hợp cho các loại dữ liệu không phải văn bản, chẳng hạn như file PDF.

Để thêm tài khoản mới, người quản trị cần nhập thông tin tài khoản vào hệ thống Hệ thống sẽ kiểm tra tính hợp lệ của thông tin đã nhập; nếu thông tin hợp lệ, tài khoản sẽ được thêm thành công và lưu vào file Ngược lại, nếu thông tin không hợp lệ hoặc tên đăng nhập đã tồn tại, quá trình thêm tài khoản sẽ không thành công.

Hình 30 Code xử lý nút thêm tài khoản

Người quản trị có thể sửa tài khoản bằng cách chọn tài khoản cần chỉnh sửa và nhấn nút “sửa” Hệ thống sẽ hiển thị giao diện để người dùng nhập thông tin cần sửa Nếu thông tin hợp lệ, hệ thống sẽ thêm thành công và lưu vào file; ngược lại, hệ thống sẽ thông báo lỗi.

Hình 31 Giao diện sửa tài khoản

Ngày đăng: 08/06/2022, 10:32

HÌNH ẢNH LIÊN QUAN

Bảng 4 Bảng đặc tả tóm tắt usecase - 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
Bảng 4 Bảng đặc tả tóm tắt usecase (Trang 17)
Hình 3 Biểu đồ lớp tham gia ca sử dụng Dang ky lich thuc hanh - 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
Hình 3 Biểu đồ lớp tham gia ca sử dụng Dang ky lich thuc hanh (Trang 18)
Hình 2 Biểu đồ lớp tham gia ca sử dụng Đăng nhập - 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
Hình 2 Biểu đồ lớp tham gia ca sử dụng Đăng nhập (Trang 18)
Hình 4 Biểu đồ lớp tham gia ca sử dụng Thay đổi thông tin cá nhân - 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
Hình 4 Biểu đồ lớp tham gia ca sử dụng Thay đổi thông tin cá nhân (Trang 19)
Hình 5 Biểu đồ lớp tham gia ca sử dụng Thống kê lịch thực hành - 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
Hình 5 Biểu đồ lớp tham gia ca sử dụng Thống kê lịch thực hành (Trang 20)
Hình 8 Biểu đồ lớp tham gia ca sử dụng Quản lý môn - 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
Hình 8 Biểu đồ lớp tham gia ca sử dụng Quản lý môn (Trang 21)
Hình 11 Lớp thực thể lưu trữ dữ liệu - 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
Hình 11 Lớp thực thể lưu trữ dữ liệu (Trang 23)
Hình 13 Giao diện quản lý phòng thực hành - 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
Hình 13 Giao diện quản lý phòng thực hành (Trang 26)
Hình 23. Tính chất đóng gói cho module quản lý tài khoản - 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
Hình 23. Tính chất đóng gói cho module quản lý tài khoản (Trang 39)
Hình 26. Toán tử get() - 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
Hình 26. Toán tử get() (Trang 40)
Hình 30. Code xử lý nút thêm tài khoản - 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
Hình 30. Code xử lý nút thêm tài khoản (Trang 42)
Hình 31. Giao diện sửa tài khoản - 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
Hình 31. Giao diện sửa tài khoản (Trang 43)
Hình 34. Tính đóng gói được sử dụng trong module Hình 15 Giao diện chính quản lý môn thực hành - 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
Hình 34. Tính đóng gói được sử dụng trong module Hình 15 Giao diện chính quản lý môn thực hành (Trang 44)
Hình 35. Tính  đa hình trong module - 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
Hình 35. Tính đa hình trong module (Trang 45)
Hình 36. Thao tác bắt lỗi - 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
Hình 36. Thao tác bắt lỗi (Trang 45)

TỪ KHÓA LIÊN QUAN

w