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

Phần mềm quản lí điểm sinh viên với Java

37 16 0

Đ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 đề Quản Lí Điểm Sinh Viên
Trường học Trường Đại Học
Chuyên ngành Lập Trình Hướng Đối Tượng
Thể loại Đồ Án Tốt Nghiệp
Định dạng
Số trang 37
Dung lượng 5,98 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phần mềm quản lí điểm sinh viên với Java | Học phần lập trình hướng đối tượng với Java giúp sinh viên năm được phương pháp lập trình hướng đối tượng (OOP) và ngôn ngữ lập trình Java cơ bản. Bài tập lớn môn học là tổng hợp kiến thức, kỹ năng về phương pháp lập trình hướng đối tượng và ngôn ngữ lập trình Java. Nội dung bài tập lớn gồm: Phân tích bài toán, giới thiệu tông quan về phương pháp lập trình hướng đối tượng, đặc trưng của ngôn ngữ lập trình Java, cài đặt phần mềm với ngôn ngữ Java trong đó sử dụng các lớp kế thừa, lớp trừu tượng vào giao diện (interface) của lập trình hướng đối tượng. Bài tập lớn là tài liệu tham khảo hữu ích cho SV ngành CNTT. Lập trình Java, bài tập lớn, đồ án môn học, lập trình hướng đối tượng

Trang 1

HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG QUẢN LÍ ĐIỂM SINH VIÊN

Trang 2

TÊN: QUẢN LÍ ĐIỂM SINH VIÊN

Trang 3

MỤC LỤC (Trình bầy trong trang riêng)

PHẦN I: CƠ SỞ LÍ THUYẾT

Trang 4

Khái niệm Java:

Ngôn ngữ lập trình Java là gì?

Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class), ban đầu được phát triển bởi Sun Microsystems do James Gosling khởi xướng và phát hành vào năm 1995 Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết

kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy

Đặc điểm của ngôn ngữ lập trình Java?

Là một ngôn ngữ lập trình hướng đối tượng vì vậy Java cũng có 4 đặc điểm chung sau đây:

Tính trừu tượng (Abstraction): Là tiến trình xác định và nhóm các thuộc tính, các hành động

liên quan đến một thực thể đặc thù, xét trong mối tương quan với ứng dụng đang phát triển

Tính đa hình (Polymorphism): Cho phép một phương thức có các tác động khác nhau trên

nhiều loại đối tượng khác nhau Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì nó đưa đến những kết quả khác nhau Bản chất của sự việc chính là phương thức này bao gồm cùng một số lượng các tham số

Tính kế thừa (Inheritance): Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính

sẵn có mà không phải tiến hành định nghĩa lại

Tính đóng gói (Encapsulation): Là tiến trình che giấu việc thực thi những chi tiết của một đối

tượng đối với người sử dụng đối tượng ấy

Ứng dụng của ngôn ngữ lập trình Java?

Các ứng dụng yêu cầu tính bảo mật cao

Các ứng dụng cho hệ điều hành Android

Điện toán đám mây

Không gian nhúng

Trong lĩnh vực giao dịch chứng khoán

Trang 5

Nói về môn học

Lập trình hướng đối tượng (OOP) là gì?

• Lập trình hướng đối tượng (OOP) là một kỹ thuật lập trình cho phép lập trình viên tạo

ra các đối tượng trong code trừu tượng hóa các đối tượng

Đối tượng

Một đối tượng bao gồm 2 thông tin: thuộc tính và phương thức

Thuộc tính chính là những thông tin, đặc điểm của đối tượng Ví dụ: con người có

các đặc tính như mắt, mũi, tay, chân…

Phương thức là những thao tác, hành động mà đối tượng đó có thể thực hiện Ví dụ:

một người sẽ có thể thực hiện hành động nói, đi, ăn, uống,

Lớp

Một lớp là một kiểu dữ liệu bao gồm các thuộc tính và các phương thức được định nghĩa từ trước Đây là sự trừu tượng hóa của đối tượng Khác với kiểu dữ liệu thông thường, một lớp là một đơn vị (trừu tượng) bao gồm sự kết hợp giữa các phương thức và các thuộc tính Hiểu nôm

na hơn là các đối tượng có các đặc tính tương tự nhau được gom lại thành một lớp đối tượng

Sự khác nhau giữa đối tượng và lớp

Lớp bạn có thể hiểu nó như là khuôn mẫu, đối tượng là một thực thể thể hiện dựa trên khuôn mẫu đó Ví dụ: Ta nói về loài chó, bạn có thể hiểu nó là class (lớp) chó có:

• Các thông tin, đặc điểm: 4 chân, 2 mắt, có đuôi, có chiều cao, có cân nặng, màu lông…

• Các hành động như: sủa, đi, ăn, ngủ…

Đối tượng thì chính là con chó Phú Quốc ta đang nuôi trong nhà cũng mang đặc tính của lớp chó

Trang 6

Các công cụ cho dự án: Netbeen, sql, mysql

- Để cụ thể hóa ý tưởng ấy, nhóm em đã chia dự án thành 3 class như sau:

2.1 Class SinhVien:

- Phần khai báo các đối tượng, thuộc tính:

+ Nhóm em sử dụng private cho tất cả các thuộc tính của lớp SinhVien với mục đích nhằm bảo mật thông sinh về sinh viên nhất có thể

- Get-Set:

Trang 7

+ Phương thức Get-Set sẽ cho phép nhập, lấy dữ liệu từ các đối tượng, thuộc tính của lớp SinhVien đã được khai báo ở trên Tuy sẽ hơi cầu kỳ, phức tạp một chút nhưng nó sẽ đạt được hiệu quả cao về bảo mật thông tin

- Phần khởi tạo:

+ Nhóm em chia thành 2 kiểu: không tham số và đầy đủ tham số

Trang 8

+ Mục đích chính của việc khởi tạo để cho phép tạo các đối tượng của lớp đồng thời đảm bảo rằng các đối tượng ấy được sinh ra một cách hợp lệ theo đúng như giá trị mà nó đã được khởi tạo từ trước

- Tổng thể class:

Trang 10

2.2 Class Database

- Để có thể lưu trữ thông tin, truy xuất dữ liệu đòi hỏi phải có một nơi để lưu trữ chúng Nếu thông tin không được lưu trữ thì việc nhập dữ liệu vào sẽ không cnf ý nghĩa gì bởi khi tắt ứng dựng, mọi thông tin được nhập vào trước đó sẽ biến mất hoàn toàn mà không thể lấy lại được Do đó đòi hỏi phải có sự tham gia của

database hay nói cách khác là cơ sở dữ liệu để lưu trữ thông tin

- Với lớp Database, nhóm em chỉ đơn gian là tạo 2 hàm là openConnection() và HienThi()

- Hàm openConnection() sẽ tạo kết nối tới bảng được tạo sẵn trên database với dữ

liệu phù hợp

- Hàm HienThi() sẽ thực hiện việc hiện thị dữ liệu từ database ra table tạo trước để

thuận tiện cho việc theo dõi dữ liệu bằng cách:

+ Mở kết với cơ sở dữ liệu qua câu lệnh Connection

+ Tạo câu lệnh hiển thị SELECT*FROM hienthikq tới cơ sở dữ liệu

- Tổng thể class:

Trang 12

2.3 Class ChucNang

- Để thực hiện, tương tác được với dữ liệu trong database cũng như trên app đòi hỏi phải có một phương thức để tạo kết nối giữa người và máy trong quá trình sử dụng Do đó nhóm em tạo lớp ChucNang để thực hiện việc đó

*Note: Để thống nhất cho các tác vụ cũng như tiện dụng nhất có thể, nhóm em xin

phép sử dụng mã sinh viên làm từ khóa chính cho các thao tác với cơ sở dữ liệu

- Lưu thông tin sinh viên được nhập vào từ bàn phím

+ Nhập câu lệnh SQL từ bàn phím bằng câu lệnh String sql=“”

+ Mở kết nối với cơ sở dữ liệu thông qua câu lệnh Connection và gọi hàm đã có

trước là openConnection()

+ Gán lệnh SQL đã tạo vào câu lệnh PreparedStatement để tiến hành thực hiện

+ Lần lượt thiết lập các giá trị cho các cột trong cơ sở dũ liệu bằng câu lệnh

setString

+ Trả về bảng mới vừa được cập nhật

+ Tất cả sẽ được đặt trong lệnh try nhằm tránh việc phát sinh lỗi gây treo hệ thống

- Tìm kiếm sinh viên theo mã sinh viên

Trang 13

+ Nhập câu lệnh SQL từ bàn phím bằng câu lệnh String sql=“”

+ Mở kết nối với cơ sở dữ liệu thông qua câu lệnh Connection và gọi hàm đã có

trước là openConnection()

+ Gán lệnh SQL đã tạo vào câu lệnh PreparedStatement để tiến hành thực hiện + Thiết lập tìm kiếm với mã sinh viên qua câu lệnh prstm.setString và

prstm.executeQuery

+ Nếu tìm thấy mã sinh viên tương ứng sẽ thực hiện in toàn bộ thông tin của sinh

viên đó ra giao diện sử dụng qua câu lệnh if với điều kiện là tìm thấy sinh viên

(rs.next())

+ Tất cả sẽ được đặt trong lệnh try nhằm tránh việc phát sinh lỗi gây treo hệ thống

- Cập nhật thông tin sinh viên

Trang 14

+ Nhập câu lệnh SQL từ bàn phím bằng câu lệnh String sql=“”

+ Mở kết nối với cơ sở dữ liệu thông qua câu lệnh Connection và gọi hàm đã có

trước là openConnection()

+ Gán lệnh SQL đã tạo vào câu lệnh PreparedStatement để tiến hành thực hiện

+ Lần lượt thiết lập các giá trị mới cho các cột trong cơ sở dũ liệu bằng câu lệnh

setString

+ Trả về bảng mới vừa được cập nhật

+ Tất cả sẽ được đặt trong lệnh try nhằm tránh việc phát sinh lỗi gây treo hệ thống

- Xóa thông tin sinh viên khỏi cơ sở dữ liệu

+ Nhập câu lệnh SQL từ bàn phím bằng câu lệnh String sql=“”

+ Mở kết nối với cơ sở dữ liệu thông qua câu lệnh Connection và gọi hàm đã có

Trang 16

3 Các chức năng chính

3.1 Lưu thông tin sinh viên

- Dòng 309-401: Kiểm tra mã sinh viên nhập vào có hợp lệ hay không Nếu mã sinh viên trống sẽ hiện thông báo đồng làm đỏ ô mã sinh viên để người dùng biết

- Dòng 404-411: Lấy các giá trị được người dùng nhập vào từ bàn phím để lưu trữ vào cơ sở dữ liệu

- Dòng 413-417: Tiến hành lưu thông tin được nhập và hiển thị kết quả ra màn hình

- Tất cả sẽ được đặt trong khối lệnh try catch nhằm tránh việc phát sinh lỗi gây treo

hệ thống

- Gọi hàm btnHuyActionPerformed(evt) để tiền hành xóa trắng thông tin vừa được

nhập trên giao diện để bảo mật tối đa

Trang 17

3.2 Hủy các thông tin vừa nhập

- Ở thao tác này, nhóm em chỉ tiến hành thiết lập cho toàn bộ các ô nhập

liệu(textField) về trạng thái rỗng

3.3 Cập nhật thông tin sinh viên

- Dòng 460-467: Kiểm tra mã sinh viên nhập vào có hợp lệ hay không Nếu mã sinh viên trống sẽ hiện thông báo đồng làm đỏ ô mã sinh viên để người dùng biết

- Dòng 469-471: Do vấn đề về thông tin đều rất quan trọng trong bất kỳ dự án nào nên sẽ tiến hành xác nhận người dùng có thực sự muốn cập nhật thông tin hay không

- Dòng 473-480: Lấy các giá trị được người dùng nhập vào từ bàn phím để lưu trữ vào cơ sở dữ liệu

Trang 18

- Dòng 482-484: Tiến hành cập nhật và hiển thị kết quả ra màn hình

- Tất cả sẽ được đặt trong khối lệnh try catch nhằm tránh việc phát sinh lỗi gây treo

hệ thống

- Gọi hàm btnHuyActionPerformed(evt) để tiền hành xóa trắng thông tin vừa được

nhập trên giao diện để bảo mật tối đa

Trang 19

3.4 Xóa sinh viên

- Dòng 495-503: Kiểm tra mã sinh viên nhập vào có hợp lệ hay không Nếu mã sinh viên trống sẽ hiện thông báo đồng làm đỏ ô mã sinh viên để người dùng biết

- Dòng 504-506: Do vấn đề về thông tin đều rất quan trọng trong bất kỳ dự án nào nên sẽ tiến hành xác nhận người dùng có thực sự muốn cập nhật thông tin hay không

- Dòng 508-515: Lấy các giá trị được người dùng nhập vào từ bàn phím để lưu trữ vào cơ sở dữ liệu

- Dòng 517-519: Tiến hành xóa và hiển thị kết quả ra màn hình

- Tất cả sẽ được đặt trong khối lệnh try catch nhằm tránh việc phát sinh lỗi gây treo

hệ thống

- Gọi hàm btnHuyActionPerformed(evt) để tiền hành xóa trắng thông tin vừa được

nhập trên giao diện để bảo mật tối đa

Trang 20

4 Các chức năng phụ

4.1 Tính điểm trung bình cho 4 năm

- Dòng 531-538: Kiểm tra sinh viên đã có đầy đủ điểm cho 4 năm hay chưa Nếu chưa thì hiển thị thông báo cho người dùng biết

- Dòng 540-545: Tiến hành tính toán và in kết quả ra vị trí đã được thiết lập sẵn

4.2 Tìm kiếm sinh viên

Trang 21

- Dòng 549-555: Kiểm tra mã sinh viên đã được nhập hay chưa Nếu chưa sẽ tiến hành thông báo cho người dùng biết

- Dòng 558-568: Tiến hành tìm kiếm sinh viên theo mã được nhập

- Tất cả sẽ được đặt trong khối lệnh try catch nhằm tránh việc phát sinh lỗi gây treo

hệ thống

Trang 22

5 Kết quả:

5.1 Giao diện:

- Do nhóm em có demo trước nên trong phần database sẽ có sẵn dữ liệu

Trang 23

5.2 Lưu thông tin sinh viên

- Thông tin được lưu thành công

- Sau khi lưu, xóa trắng toàn bộ thông tin

Trang 25

5.3 Hủy thông tin sinh viên đã nhập

- Nhập thông tin vào

- Thông tin bị hủy sau khi click nút “Hủy”

Trang 27

5.4 Tìm kiếm sinh viên theo mã

- Mã sinh viên trống

Trang 28

- Mã sinh viên không tồn tại

Trang 29

- Đúng mã sinh viên

Trang 31

5.5 Cập nhật thông tin sinh viên

Trang 32

- Thông tin được xóa trắng sau khi cập cập nhật xong

Trang 34

5.6 Tính điểm trung bình 4 năm

- Chưa nhập điểm

- Nhập đầy đủ điểm

Trang 36

5.7 Xóa sinh viên

- Hộp thoại xác nhận hiện lên để thông báo tới người dùng

- Nếu người dùng ấn Yes sẽ tiến hành xóa sinh viên khỏi cơ sở dữ liệu

Ngày đăng: 06/12/2023, 17:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w