Tải bản đầy đủ (.pdf) (21 trang)

Phần mềm quản lý sinh viên với Java

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.33 MB, 21 trang )

BÀI TẬP LỚN
HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA

Đề tài: PHẦN MỀM QUẢN LÝ SINH VIÊN

1|Page


BÀI TẬP LỚN:
PHẦN MỀM QUẢN LÝ SINH VIÊN

2|Page


MỤC LỤC
Lời giới thiệu
I.

Giới thiệu chung về lập trình hướng đối tượng (OOP) . ................................................... 5
1.

Khái niệm: .......................................................................................................................... 5
Objects .................................................................................................................................... 5
Layer ....................................................................................................................................... 5
Sự khác nhau giữa các đối tượng và lớp ................................................................................. 5

2.Các tính chất cơ bản .............................................................................................................. 5
3.Một điểm mới về mẫu hình, về quan điểm. ......................................................................... 7
4.Các mẫu hình định hướng đối tượng con. ........................................................................... 9
II.Giới thiệu cơng cụ và dự án ................................................................................................... 10
1.Công cụ Apache Netbeans. .................................................................................................. 10


2.Giới thiệu về dự án ............................................................................................................... 12
2.1 Tạo Project: ..................................................................................................................... 15
2.2 Viết code: ........................................................................................................................ 15
2.3 Chạy chương trình: ......................................................................................................... 20
Đánh giá chung: .................................................................................................................... 20
Tài liệu tham khảo để cùng học Java: ................................................................................... 21

3|Page


LỜI GIỚI THIỆU
Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là
một mẫu hình lập trình dựa trên khái niệm "cơng nghệ đối tượng", mà trong đó, đối tượng
chứa đựng các dữ liệu, trên các trường, thường được gọi là các thuộc tính; và mã nguồn,
được tổ chức thành các phương thức. Phương thức giúp cho đối tượng có thể truy xuất và
hiệu chỉnh các trường dữ liệu của đối tượng khác, mà đối tượng hiện tại có tương tác (đối
tượng được hỗ trợ các phương thức "this" hoặc "self"). Trong lập trình hướng đối tượng,
chương trình máy tính được thiết kế bằng cách tách nó ra khỏi phạm vi các đối tượng
tương tác với nhau. Ngôn ngữ lập trình hướng đối tượng khá đa dạng, phần lớn là
các ngơn ngữ lập trình theo lớp, nghĩa là các đối tượng trong các ngôn ngữ này được xem
như thực thể của một lớp, được dùng để định nghĩa một kiểu dữ liệu.
OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở
rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm
ở bậc cao hơn. Ngồi ra, nhiều người cịn cho rằng OOP dễ tiếp thu hơn cho những người
mới học về lập trình hơn là các phương pháp trước đó. Một cách giản lược, đây là khái
niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho phép
họ tạo ra các ứng dụng mà các yếu tố bên ngồi có thể tương tác với các chương trình đó
giống như là tương tác với các đối tượng vật lý.
Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng
được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng biệt và tất cả

các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như vậy, mỗi đối tượng
có khả năng nhận vào các thơng báo, xử lý dữ liệu (bên trong của nó), và gửi ra hay trả
lời đến các đối tượng khác hay đến môi trường.
Đa phần các ngơn ngữ lập trình thơng dụng nhất hiện nay (như C++, Delphi, Java,
Python etc.) là các ngôn ngữ lập trình đa mẫu hình và đều hỗ trợ lập trình hướng đối
tượng ở nhiều mức độ khác nhau, thường được kết hợp với lập trình mệnh lệnh, lập trình
thủ tục. Các ngơn ngữ lập trình hướng đối tượng đáng chú ý gồm
có Java, C++, C#, Python, PHP, Ruby, Perl, Object Pascal, ObjectiveC, Dart, Swift, Scala, Common Lisp, và Smalltalk.
Để giải quyết các bài tốn thực tế, sử dụng cơng cụ của Java là JDK và cơng cụ lập trình
Apache Netbeans, nhóm chúng em đã thực hiện ứng dụng kiểm tra danh sách bệnh nhân
CoVid-19. Hiện nay tình hình dich COVID-19 đang rất nguy hiểm trên địa bàn Hà Nội
nói riêng cả nước Việt Nam nói chung và trên cả tồn thể thế giới. Để góp phần vào việc
phịng chống dịch bệnh. Nhóm chúng em đã triển khai phần mềm làm nhiệm vụ kiểm
sốt tình hình bệnh trên tồn quốc .
4|Page


I.

Giới thiệu chung về lập trình hướng đối tượng (OOP) .
1. Khái niệm:
-Lập đối tượng định hướng (OOP) là 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 các đối tượng mã hóa.
Objects
Một đối tượng bao gồm 2 thơng tin: thuộc tính và phương thức .
• Chính thuộc tí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 tác vụ, 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 ,..
Layer

Một lớp là một bao gồm dữ liệu kiể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à một biểu tượng của đối tượng . Khác với thông thường dữ
liệu kiểu, một lớp là một đơn vị (vật thể) 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 đồng được gom
lại thành một đối tượng lớp.
Sự khác nhau giữa các đối tượng và lớp
Lớp bạn có thể hiểu nó như là mẫu, đối tượng là một thực thể có thể thực hiện dựa trên
mẫu đó. Ví dụ: Ta nói về lồi chó, bạn có thể hiểu nó là lớp (lớp) chó có:


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



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

2.Các tính chất cơ bản
Đối tượng (object): Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo nên
một đối tượng. Đơn vị này tương đương với một chương trình con và vì thế các đối tượng
sẽ được chia thành hai bộ phận chính: phần các phương thức (method) và phần các thuộc
tính (attribute / Properties). Trong thực tế, các phương thức của đối tượng là các hàm và
5|Page


các thuộc tính của nó là các biến, các tham số hay hằng nội tại của một đối tượng (hay
nói cách khác tập hợp các dữ liệu nội tại tạo thành thuộc tính của đối tượng). Các phương
thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mơ tả đối tượng
có những tính chất gì.
Các phương thức và các thuộc tính thường gắn chặt với thực tế các đặc tính và sử dụng

của một đối tượng.
Trong thực tế, các đối tượng thường được trừu tượng hóa qua việc định nghĩa của
các lớp (class).
Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng.
Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa (bởi
người lập trình) được xem là một đặc tính riêng của đối tượng. Nếu khơng có gì lầm lẫn
thì tập hợp các đặc tính này gọi chung là đặc tính của đối tượng.
Lập trình hướng đối tượng là một phương pháp lập trình có 4 tính chất chính sau:






Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua hay
khơng chú ý đến một số khía cạnh của thơng tin mà nó đang trực tiếp làm việc lên,
nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết. Mỗi đối tượng phục
vụ như là một "động tử" có thể hồn tất các công việc một cách nội bộ, báo cáo,
thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà không cần cho
biết làm cách nào đối tượng tiến hành được các thao tác. Tính chất này thường
được gọi là sự trừu tượng của dữ liệu.
Tính trừu tượng còn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc
điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân
đối tượng ban đầu này có thể khơng có các biện pháp thi hành. Tính trừu tượng
này thường được xác định trong khái niệm gọi là lớp trừu tượng hay lớp cơ sở
trừu tượng.
Tính đóng gói (encapsulation) và che giấu thơng tin (information hiding): Tính
chất này khơng cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại
của một đối tượng. Chỉ có các phương thức nội tại của đối tượng cho phép thay
đổi trạng thái của nó. Việc cho phép mơi trường bên ngồ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 tùy thuộc vào người viết mã.
Đây là tính chất đảm bảo sự tồn vẹn của đối tượng.
Tính đa hình (polymorphism): Thể hiện thơng qua việc gửi các thông
điệp (message). Việc gửi các thông điệp này có thể so sánh như việc gọi các hàm
bên trong của một đối tượng. Các phương thức dùng trả lời cho một thông điệp sẽ
tùy theo đối tượng mà thơng điệp đó được gửi tới sẽ có phản ứng khác nhau.
Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thơng qua tên của các
6|Page


phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành thì dùng
cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra tương ứng
theo đặc tính của từng đối tượng mà khơng bị nhầm lẫn.
Ví dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương
thức chung là "chu_vi". Khi gọi phương thức này thì nếu đối tượng là "hinh_vuong"
nó sẽ tính theo cơng thức khác với khi đối tượng là "hinh_tron".


Tính kế thừa (inheritance): Đặc tính này cho phép một đối tượng có thể có sẵn
các đặc tính mà đối tượng khác đã có thơng qua kế thừa. Đ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. Tuy nhiên, không phải ngôn ngữ định hướng đối tượng nào cũng có tính
chất này.

Hình 1.2 . Các tính chất OOP
3.Một điểm mới về mẫu hình, về quan điểm.
OOP vẫn cịn là một đề tài của nhiều tranh cãi về định nghĩa chuẩn xác hay về các
nguyên lý của nó.
Trong dạng tổng quát nhất, OOP được hiểu theo cách là một loại thực nghiệm viết
chương trình văn bản được phân cấp ra thành nhiều mơ đun (module), mà mỗi mơ đun

đóng vai như một lớp vỏ che đại diện cho mỗi kiểu dữ liệu.
Những khái niệm liên hệ đã được góp nhặt lại để tạo thành một khn khổ cho việc lập
trình. Các triết lý đằng sau việc định hướng đối tượng đã trở nên mạnh mẽ để tạo thành
một sự chuyển đổi mẫu hình trong ngành lập trình.

7|Page


Những mẫu hình khác như lập trình chức năng và lập trình thủ tục tập trung chủ yếu trên
các hành động, cịn lập trình lơ gíc lại tập trung vào những khẳng định hợp lý để kích
hoạt sự thực thi của mã chương trình.
OOP đã phát triển một cách độc lập từ việc nghiên cứu về các ngôn ngữ định hướng của
hệ thống mơ phỏng, đó là SIMULA 67, và từ việc nghiên cứu các kiến trúc của hệ thống
có độ tin cậy cao, đó là các kiến trúc CPU và khả năng cơ bản của các hệ điều hành.
Một chức năng đặc sắc của OOP là việc xử lý các kiểu con của các kiểu dữ liệu.
Dữ liệu của các đối tượng, một cách tổng quát, được đòi hỏi trong thiết kế để thỏa mãn
các yêu cầu của người lập trình (tức là các lớp).
Các kiểu dữ liệu bị giới hạn thêm các điều kiện mặc dù có cùng kiểu dữ liệu với loại
không bị ràng buộc bởi các điều kiện đó, gọi là kiểu dữ liệu con. Cả hai loại kiểu dữ liệu
này đều dựa vào và đều được điều tiết bởi các hành xử (tức là các phương thức) đã được
định nghĩa. Các điều kiện hay yêu cầu này có thể được khai báo rõ ràng hay được giả
thiết cơng nhận ngầm bởi người lập trình. Các ngôn ngữ định hướng đối tượng cung cấp
nhiều cơ chế cho việc khẳng định rằng các giả thiết đó có tính địa phương cho một phần
của chương trình. Các cơ chế này này có thể đọc thấy trong các tài liệu về các chương
trình định hướng đối tượng.
OOP tự nó đã đang được dùng để khuyến mãi cho nhiều sản phẩm và dịch vụ. Các định
nghĩa hiện tại và ích lợi của các đặc tính của OOP thường được màu mè hóa bởi các mục
đích của thị trường thương mại. Tương tự, nhiều ngơn ngữ lập trình có những quan điểm
đặc biệt về OOP mà nó ít tổng qt trong một số khía cạnh.
Các định nghĩa chính xác của OOP sẽ có sự khác biệt tùy theo quan điểm. Đặc biệt,

các ngơn ngữ có kiểu tĩnh thường có cái nhìn hơi khác với các ngơn ngữ có kiểu động về
OOP, nguyên do là vì chúng tập trung trên thời gian dịch hay tập trung vào thời gian thi
hành của các chương trình.
OOP thường được xem là một mẫu hình hơn là một kiểu hay một phong cách lập trình
nhằm nhấn mạnh vào điểm quan trọng là OOP có thể thay đổi phương thức phát triển
phần mềm bằng cách thay đổi tư duy của những người lập trình và những kỹ sư phần
mềm về phần mềm.
Mẫu hình của OOP chủ yếu khơng phải là kiểu lập trình mà là kiểu thiết kế. Một hệ thống
được thiết kế bởi định nghĩa của các đối tượng mà các đối tượng này sẽ tồn tại trong hệ
thống đó, trong mã mà hiện làm việc chưa tương thích với đối tượng, hay là trong người
dùng đối tượng do ảnh hưởng của tính chất đóng của đối tượng.
Cũng nên lưu ý rằng có sự khác biệt giữa mẫu hình định hướng đối tượng và lý thuyết
các hệ thống. OOP tập trung trên các đối tượng như là các đơn vị của một hệ thống, trong
khi đó, lý thuyết các hệ thống lại tự nó chỉ tập trung vào hệ thống. Như là phần trung
gian, người ta có thể tìm thấy các dạng thức thiết kế phần mềm hay các kỹ thuật khác
dùng các lớp và các đối tượng như là các viên gạch trong những thành phần lớn hơn.
Những thành phần này có thể được xem như là bước trung gian từ mẫu hình định hướng
đối tượng đến các mơ hình "định hướng sống thực" hơn của lý thuyết các hệ thống.
8|Page


4.Các mẫu hình định hướng đối tượng con.
Có nhiều phong cách lập trình hướng đối tượng. Sự khác nhau giữa các phong cách này
là tùy theo việc các ngôn ngữ lập trình chú trọng vào khía cạnh nào của sự thuận lợi của
định hướng đối tượng và vào việc kết hợp các cấu trúc trong các phương cách khác nhau.
OPP với các ngôn ngữ cấu trúc:
Trong các ngôn ngữ cấu trúc, OOP thường xuất hiện như là một dạng mà ở đó các kiểu
dữ liệu được mở rộng để hành xử giống như là một kiểu của một đối tượng trong OOP,
hoàn toàn tương tự cho một kiểu dữ liệu trừu tượng với sự mở rộng như là sự kế thừa.
Mỗi phương pháp thực ra là một chương trình con, một cách cú pháp, giới hạn nội trong

một lớp.
Các mô hình nguyên mẫu cơ bản:
Khác với cách sử dụng lớp, ngun mẫu là một mơ hình khác ít được biết đến hơn, nó có
ý nghĩa đạt tới việc chia sẻ ứng xử theo định hướng đối tượng. Sau khi đối tượng được
định nghĩa, một đối tượng khác tương tự sẽ được định nghĩa từ đối tượng ban đầu. Ngôn
ngữ nguyên mẫu cơ bản được biết đến nhiều nhất là JavaScript mà đây là một sự thiết lập
của ECMAScript. Self, một ngơn ngữ lập trình được phát triển bởi Sun
Microsystems cũng là một ví dụ của ngơn ngữ dùng ngun mẫu cho việc chia sẻ ứng xử
chứ không dùng sự phân lớp. NewtonScript, Act1, Io và Delegation là các ví dụ khác.
Đặc biệt, Hybrid và Exemplars sử dụng cả hai mô hình nguyên mẫu và phân lớp. Trong
các hệ thống nguyên mẫu, các đối tượng tự chúng là các khuôn thức (template), trong khi
các hệ thống phân lớp dùng các lớp như là các khuôn thức cho các đối tượng.
Các tiếp cận kiểu phân lớp thì chiếm đa số trong OOP mà nhiều người sẽ định nghĩa các
đối tượng như là có tính chất đóng mà việc chia sẻ dữ liệu xảy ra bởi sự phân lớp và bởi
tính kế thừa. Mặc dù vậy, khái niệm tổng quát hơn "chia sẻ ứng xử" được công nhận như
là các kỹ thuật thay thế (như trường hợp nguyên mẫu).

9|Page


Hình 1.3 hệ thống chương trình của OOP
II.Giới thiệu cơng cụ và dự án
1.Công cụ Apache Netbeans.
NetBeans là một môi trường phát triển tích hợp (IDE) cho Java. NetBeans cho phép các
ứng dụng được phát triển từ một tập hợp các thành phần phần mềm được gọi là modules.
NetBeans chạy trên Windows, macOS, Linux và Solaris. Ngoài việc phát triển Java, nó
cịn có các phần mở rộng cho các ngơn ngữ khác
như PHP, C, C++, HTML5, và JavaScript. Các ứng dụng dựa trên NetBeans, bao gồm
NetBeans IDE, có thể được mở rộng bởi các nhà phát triển bên thứ ba.
Netbeans IDE

NetBeans IDE là một cơng cụ hỗ trợ lập trình viết mã code miễn phí được cho là tốt nhất
hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy nhiên phần
mềm có dung lượng khá là nặng dành cho các máy cấu hình có RAM, CPU tương đối cao
để vận hành.
NetBeans IDE là môi trường phát triển tích hợp và cực kỳ cần thiết cho các lập trình viên,
cơng cụ này có thể hoạt động tốt với rất nhiều nền tảng hệ điều hành khác nhau như
Linux, Windows, MacOS,... là một mã nguồn mở cung cấp các tính năng cần thiết nhất
nhăm tại ra các ứng dụng web, thiết bị di động, desktop.
NetBeans IDE hỗ trợ rất nhiều những ngơn ngữ lập trình như Python, Ruby, JavaScript,
Groovy, C / C + +, và PHP.

10 | P a g e


Hình 2.1. Cơng cụ Apache Netbeans IDE
Qua nhiều phiên bản cũ, nay cơng cụ lập trình NetBeans IDE đã cập nhật lên phiên bản
8.2 mới nhất có rất nhiều thay đổi và nâng cấp so với các phiên bản cũ hơn có thể kể đến
như:






Nâng cao ngơn ngữ lập trình C và C++.
Nâng cấp, cải tiến các công cụ soạn thảo Profiler và Java.
Hỗ trợ Docker, PHP 7.
ECMAScript 6 và hỗ trợ thử nghiệm ECMAScript 7.
Nâng cấp, cải tiến HTML 5 và Javascript.


Để có thể cài đặt được NetBeans IDE các bạn phải cài đặt và cấu hình sẵn JDK trong
máy thì mới cài đặt được. NetBean IDE được chia thành nhiều gói khác nhau để người
dùng có thể tải về từng phần, tiết kiệm dung lượng, tùy theo nhu cầu của mình.
Giống với Notepad++, NetBean IDE có gợi ý cú pháp khá tốt, và cịn nhiều tính năng khá
thú vị như tự động căn chỉnh mã nguồn, Remote FTP, SVN …. Chính vì thế, nó được
xem là mơi trường phát triển khơng thể bỏ qua cho các lập trình viên.
Tính năng chính của Netbeans IDE

11 | P a g e










Hỗ trợ nhiều loại ngơn ngữ lập trình.
Chỉnh sửa mã nguồn thông minh.
Giao diện trực quan, dễ thao tác, sử dụng,
Là một cơng cụ lập trình phần mềm máy tính hoặc phần mềm trên các thiết bị di
động.
Gỡ lỗi mạng nội bộ và từ xa.
Thử nghiệm tính năng xây dựng giao diện đồ họa.
Tính năng QuickSearch (Tìm kiếm nhanh), tự động biên dịch, hỗ trợ các
Framework cho website, trình ứng dụng máy chủ GlassFish và cơ sở dữ liệu.

2.Giới thiệu về dự án

Dự án của chúng em là về phần mềm quản lý Sinh Viên

Phần mềm bao gồm:
+Nhập thông tin Sinh Viên
+Quản lý thông tin Sinh Viên
+Sửa thông tin Sinh Viên
+Tìm kiếm thơng tin Sinh Viên
Dự án bao gồm có 4 package:
+Code: Nơi nhập thông tin sinh viên,xét học bổng
+conten: Kết nối SQL
+display:Tạo bảng jFrame
+qlsv3
Có 1jFrame trong đó có 6 button :
+Lưu:Là lưu và in thơng tin vừa nhập
+Xóa trắng: là xóa hết mọi thơng tin vừa nhập phía trên
+Làm Mới:
+Xóa: Chọn 1 thơng tin sinh viên muốn xóa
+Sửa thơng tin: quản Sửa thơng tin sinh viên
+Tìm Kiếm: Nhập tên sinh viên muốn tìm
Để kết nối thơng tin dũ liệu bảng vào Java chúng em đã sử dụng XamPP, là một ứng
dụng đang được mọi người sử dụng rộng rãi. Xampp chúng em dung là bản cho window
7.3.31
Link dự án: />
12 | P a g e


13 | P a g e


Chúng em đã kết nối dữ liệu bảng bằng thư viện jdbc và đây là URL của dự án:

dbc:mysql://localhost:3306/student_manager

===============================================================

14 | P a g e


2.1 Tạo Project:

2.2 Viết code:
QLSV3.java

TTSV.java

15 | P a g e


16 | P a g e


17 | P a g e


Xuly.java

18 | P a g e


ketnoisql.java


19 | P a g e


2.3 Chạy chương trình:

ð Đánh giá chung: Java vẫn là một trong những ngơn ngữ lập trình phổ biến nhất
hiện nay. Phần lớn nhờ vào lịch sử lâu đời và danh tiếng của nó: sau khi tìm
hiểu rõ ràng, nhờ quá trình học tập và rèn luyện chúng em đã thực hiện được
một dự án nhỏ còn nhiều lỗi, chúng em sẽ cố gắng học tập để có thể làm tốt hơn
trong tương lai.

20 | P a g e



×