Phần mềm quản lý điểm 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 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
BÀI TẬP LỚN
HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Giáo viên hướng dẫn : ThS Trần Xuân Thanh
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
NHÓM 9
TÊN TẬP LỚN: PHẦN MỀM QUẢN LÝ ĐIỂM
DANH MỤC THÀNH VÊN
CÁN BỘ CHẤM 1
(Ký và ghi rõ họ tên)
CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên)
Bắc Ninh, tháng 10 Năm 2021
Trang 3DANH MỤC THANH VIÊN
1 Lường Hữu Học
2 Nguyễn Quang Khải
3 Nguyễn Sỹ Tính
Giáo viên hướng dẫn xác nhận
Trang 4LỜI MỞ ĐẦU
Quản lý sinh viên luôn là một công việc hàng đầu của các trường đại học Với lượng sinh viên hàng năm nhập học cũng như ra trường đông đảo thì việc quản lý những thông tin cũng như điểm của sinh viên rất quan trọng Cùng với sự phát triển của công nghệ nói chung và công nghệ thông tin nói riêng thì việc quản lý sinh viên cũng ngày càng được hiện đại hoá Thay vì phải ghi sổ sách lưu trữ trên giấy tờ truyền thống thì giờ đây đã có những phần mềm được sử dụng để giúp việc quản lý sinh viên được dễ dàng hơn Phần mềm quản lý sinh viên là phần mềm được tạo ra với mục tiêu là giúp đỡ giáo viên thuận tiện hơn trong việc quản
lý điểm sinh viên cụ thể như xem,sửa,thêm hoặc xoá thông tin của sinh việc Việc
đó tạo ra sự thuận tiện cho giảng viên, cải thiện việc quản lý nhanh hơn tốt
hơn thuận tiện hơn Bây giờ khi cần xem hoặc sửa thông tin, điểm của sinh viên giảng viên không cần phải dò sổ sách, cảm giác ngộp thở mệt mỏi với hàng tá giấy
tờ như trước Giảng viên chỉ cần đăng nhập vào phần mềm với một tài khoảng được cấp, ngay lập tức với những cú click chuột đơn giản giờ đây giáo viên đã có thể truy cập vào hồ sơ của sinh viên Tuy nhiên các phần mềm quản lý sinh viên ngày càng được cải thiện để phục vụ tốt hơn cho giảng viên Điều đó nhằm tạo ra những phần mềm tốt hơn về tính năng hoàn thiện hơn trong việc quản lý sinh viên Sau đâu chúng em xin giới thiệu về một phần mềm quản lý sinh viên, điểm sinh viên mô phỏng mà nhóm chúng em đã tạo ra Do năng lực còn hạn hẹp nên có những thiếu sót nhiều vấn đề nên mong thầy cô đóng góp ý kiến để bài tập của nhóm em được hoàn thiện hơn
Em xin chần thành cảm ơn
Trang 5LỜI CẢM ƠN
Để hoàn thành tốt bài tập lớn này nhóm em xin trân thành cảm ơn tớ sự giúp đỡ của quý thầy cô trong khoa Công Nghệ Thông Tin Trường Đại Học Công Nghệ Đông Á
Đặc biết nhóm chúng em xin cảm ơn đến thầy Trần Xuân Thanh đã tận tình
chỉ bảo và truyền những kiến thức quý báu giúp chúng em hoàn thành bài tập này
Do thời gian và trình độ còn hạn chế, bài tập của chúng em không thể tránh khỏi những thiếu sót Kính mong các thầy cô chỉ bảo và đóng góp ý kiến để bài tập của nhóm em được hoàn thiện hơn
Cuối cùng nhóm em xin chúc quý thầy cô dồi dào sức khỏe và thành công trong
sự nghiệp trồng người của mình
Em xin chân thành cảm ơn
Trang 64
MỤC LỤC
DANH MỤC THANH VIÊN 3
LỜI MỞ ĐẦU 4
LỜI CẢM ƠN 5
MỤC LỤC 4
DANH MỤC BẢNG BIỂU 5
DANH MỤC HÌNH ẢNH 6
PHẦN I TỔNG QUAN CƠ SỞ LÝ THUYẾT 7
1 Class (lớp) và Object (đối tượng) trong Java 7
2. Các tính chất trong lập trình hướng đối tượng 8
aTính đóng gói (encapsulation) 9
b Tính kế thừa (inheritance) 9
c.Tính đa hình (polymorphism) 9
d.Tính trừu tượng (abstraction) 10
PHẦN II MÔ TẢ CHƯƠNG TRÌNH 10
2.1 Xác định các thực thể tham gia 10
2.2 Mô hình liên kết 11
PHẦN III THỰC THI CHƯƠNG TRÌNH 12
PHẦN IV KẾT LUẬN /TÀI LIỆU THAM KHẢO 17
4.1 Kết Luận: 17
4.2 Tài Liệu Tham Khảo: 17
Trang 7DANH MỤC BẢNG BIỂU
Bảng Tên bảng Trang
Trang 86
DANH MỤC HÌNH ẢNH
1 Bốn tính chất trong lập trình hướng đối tượng 9
Trang 9PHẦN I TỔNG QUAN CƠ SỞ LÝ THUYẾT
Java là một trong những ngôn ngữ lập trình hướng đối tượng Nó được sử dụng trong phát triển phần mềm, trang wed, game hay ứng dụng trên các thiết bị di động
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phàn public boolean checkLogin(String username, String pass) {mềm cho các sản phẩm gia dụng và
có tên là Oak
Java được phát hành năm 1994, năm 2010 được Oracle mua lại từ Sun
MicroSystem
Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi ” Chương
trình phần mềm viết bằng ngôn ngữ Java có thể chạy trên mọi nền tảng khác nhau thông qua môi trường thực thi với điều kiện của môi trường thực thi thích hợp hỗ trợ nền tảng đó
1 Class (lớp) và Object (đối tượng) trong Java
Object (đối tượng) là một thực thể vật lý có thể là một con vật, đồ vật,…Ví dụ như ngôi nhà, cái xe, người,…
Trong lập trình hướng đối tượng, các đối tượng trong Java có 3 đặc trưng sau:
- Trạng thái: thể hiện ở giá trị của các biến Class
- Hành vi: các Method/ phương thức của Class
- Định danh: mỗi khi bạn tạo đối tượng mới thì chúng sẽ được lưu trong bộ nhớ với địa chỉ, kích thước khac nhau JVM phân biệt được các đối tượng theo các địa chỉ nhớ đó Nếu bạn thấy hai đối tượng A và B có cùng một
bộ nhớ thì bản chất nó là một đối tượng với các tên gọi khác nhau
Chương trình Java được tạo nên từ trạng thái, hành vi và sự tương tác giữa các đối tượng
Trang 108
Về Class (lớp) thì được hiểu là một nhóm các đối tượng có đặc điểm chung Các Class là một mẫu thiết kế, khi thực thi mẫu thiết kế đó ta có được đối tượng Việc tạo ra các đối tượng phải tuân theo bản thiết kế (class) đã định nghĩa trước đó Các bản thiết kế có thể mở rộng từ các bản thiết kế khác (kế thừa)
Mỗi Class có thể có những thành phần như:
- Các thuộc tính: chứa trạng thái của các đối tượng được tạo ra
- Các Method – phương thức: mô tả các hành vi của đối tượng được tạo ra
- Hàm khởi tạo (hành động thực thi bản thiết kế để tạo ra đối tượng): bản chất cũng là một method, được dùng để tạo ra đối tượng Hàm khởi tạo chứa các tham số để thiết lập giá trị mặc định cho các thuộc tính gọi là hàm khởi tạo có tham số (mặc định nếu không khai báo hàm khởi tạo thì
ta hiểu nó là hàm khởi tạo không tham số)
- Các block code: các đoạn code được thực thi ngay khi đối tượng được
khởi tạo
2 Các tính chất trong lập trình hướng đối tượng
Hình 1 : Bốn tính chất trong lập trình hướng đối tượng
Trang 11aTính đóng gói (encapsulation)
Được xem là trạng thái của đối tượng sẽ không cho phép truy cập từ code phía bên ngoài như thay đổi trạng thái hay nhìn trực tiếp Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn phụ thuộc vào người viết mã Đây là tính chất đảm bảo sự toàn vẹn, bảo mật của đối tượng trong Java, tính đóng gói được thể hiện thông qua phạm vi truy cập (access modifier) Ngoài ra, các lớp liên quan đến nhau có thể được gom chung lại thành package
b Tính kế thừa (inheritance)
Là khả năng cho phép ta xây dựng một lớp mới dựa trên các định nghĩa của một lớp đã có Lớp đã có gọi là lớp Cha, lớp mới phát sinh gọi là lớp Con và sẽ kế thừa tất cả các thành phần của lớp Cha, có thể 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
c.Tính đa hình (polymorphism)
Khi một tác vụ được thực hiện theo nhiều cách khác nhau được gọi là tính đa hình Đối với tính chất này, nó được thể hiện rõ nhất ở việc gọi phương thức của đối tượng Tính đa hình cung cấp khả năng cho phép người lập trình gọi trước một phương thức của đối tượng, tuy chưa xác định đối tượng có phương thức muốn gọi hay không Đến khi thực hiện, chương trình mới xá định được đối tượng và gọi phương thức tương ứng của đối tượng đó Kết nối trễ giúp chương trình được uyển chuyển hơn, chỉ yêu cầu đối tượng cung cấp đúng phương thức cần thiết là đủ
Trong Java, chúng ta sửa dụng Nạp chồng phương thức (method
overloading) và Ghi đè phương thức (method overriding) để có tính đa hình
Trang 1210
Nạp chồng (Overloading): đây là khả năng cho phép một lớp có nhiều
thuộc tính, phương thức cùng tên nhưng với các tham số khác nhau về loại và số lượng Khi được gọi, dựa vào tham số truyền vào phương thức tương ứng sẽ được thực hiện
Ghi đè (Overriding): là hai phương thức cùng tên, cùng tham số, cùng
kiểu trả về nhưng con viết lại và dùng theo cách của nó, xuất hiện ở lớp Cha và tiếp tục xuất hiện ở lớp Con Khi dùng Override, lúc thực thi nếu lớp Con không có phương thức riêng, phương thức của lớp Cha sẽ được gọi, ngược lại nếu có phương thức của lớp Con sẽ được gọi
d.Tính trừu tượng (abstraction)
Tính trừu tượng là một tiến trình ẩn các chi tiết tiến trình triển khai và chỉ hiển thị tính năng đến người dung Tính trừu tượng cho phép loại bỏ tính chất phức tạp của đối tượng bằng cách chỉ đưa ra các thuộc tính và
phương thức cần thiết của đối tượng trong lập trình
Tính trừu tượng khiến bạn tập chung vào các cốt lõi cần thiết của đối tượng thay vì quan tâm đến cách nó thực hiện
PHẦN II MÔ TẢ CHƯƠNG TRÌNH
2.1 Xác định các thực thể tham gia
Bảng Login:
Tên cột Ý nghĩa Kiểu Độ rộng username Tài khoản Nvarchar 50
password Mật khẩu Nvarchar 50
role Số lượng tài khoản Bit
Bảng1: Login
Trang 13Bảng Sinh Viên :
Tên cột Ý nghĩa Kiểu Độ rộng MaSV Mã sinh viên Nvarchar 50 TenSV Tên sinh viên Nvarchar 50 NgaySinh Ngày Sinh Dete
GioiTinh Giới Tính Bit
DiaChi Địa Chỉ Nvarchar 50 HinhAnh Hình Ảnh Nvarchar 50
Bảng 2: Sinh Viên Bảng Điểm:
Tên cột Ý nghĩa Kiểu Độ rộng
MaSV Mã sinh viên Nvarchar 50 LTHDT Lập trình hướng đối tượng Float
CSDL Cơ sở dữ liệu Float
TA Tieng anh Float
TKGDND Thiết kế giao diện người
dùng Float
Bảng 3: Điểm
2.2 Mô hình liên kết
Trang 1412
Hình 2 Mô hinh liên kết PHẦN III THỰC THI CHƯƠNG TRÌNH
Trang 15Hình 3: Thông tin đăng nhập
Trang 1614
Hình 4: Trang chủ hệ thống
Trang 17Hình 5: Thông tin sinh viên
Trang 1816
Hình 6: Thông tin điểm sinh viên
Trang 19PHẦN IV KẾT LUẬN /TÀI LIỆU THAM KHẢO
4.1 Kết Luận:
Nhóm e đang trong quá trình hoàn thiện các phần còn lại của dự án
Trong quá trình làm chúng em đã bị lỗi SQL và đang trong quá trình khắc phục nên không thể quay được Video mong thầy thông cảm
Link project: QLDiemSVN9.zip
4.2 Tài Liệu Tham Khảo:
* https://codelearn.io/sharing/tat-tan-tat-ve-lap-trinh-huong-doi-tuong-phan-1
* https://topdev.vn/blog/oop-la-gi/