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

Phần mềm quản lý cửa hàng xe máy 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 (1.18 MB, 28 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐƠNG Á

BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
TÊN TIỂU LUẬN:
PHẦN MỀM QUẢN LÝ CỬA HÀNG XE MÁY
Khoa
Giáo viên

:
:

CÔNG NGHỆ THÔNG TIN
GV.TRẦN XUÂN THANH

Bắc Ninh, tháng 10, năm 2021


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

TÊN TIỂU LUẬN:
PHẦN MỀM QUẢN LÝ CỬA HÀNG XE MÁY

STT Họ tên

Ngày
tháng năm
sinh


Mã sinh viên

Nhiệm vụ

1

Quản Thế Thành

25/1/2002

20200146

Code

2

Nguyễn Thanh
Tùng
Vũ Duy Hiếu

22/05/2002

20200354

Code,Word

23/03/2001

20200357


Code

3

Điểm (Tiểu luận/
bài tập lớn)

Bằng số:

CÁN BỘ CHẤM 1
(Ký và ghi rõ họ tên)

Bằng chữ:

CÁN BỘ CHẤM 2
(Ký và ghi rõ họ tên)


MỤC LỤC
I.

Giới thiệu chung về lập trình hướng đối tượng (OOP) . .......................... 2
1. Khái niệm: ................................................................................................... 2
Objects ............................................................................................................ 2
Layer ............................................................................................................... 2
Sự khác nhau giữa các đối tượng và lớp ....................................................... 2
2. Các tính chất cơ bản ................................................................................... 2
3. Một điểm mới về mẫu hình, về quan điểm. ............................................... 4
4. Các mẫu hình định hướng đối tượng con. ............................................... 5
5.Giới thiệu công cụ và dự án………………………………………………........6


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


LỜI MỞ ĐẦ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..

1


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ủ…
Đối tượng thì chính là con chó Phú Quốc ta đang ni trong nhà cũng mang đặc
tính của lớp chó.


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à 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
2


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 đó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 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.
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à
3


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 .
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.
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ó
4


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.
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 ngun mẫu cơ bản:
Khác với cách sử dụng lớp, nguyên 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 nguyên 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 ngun mẫu và phân lớp.
5


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).
5.Giới thiệu công cụ và dự án
*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.

6


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 12.5 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


Hỗ trợ nhiều loại ngơn ngữ lập trình.
7









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.

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

2.Dự án của chúng em là về phần mềm quản lý trong một của hàng mua bán xe máy
Phần mềm bao gồm các chức năng: (tt=thực thể ; xl=xử lý )
-Quản lý kho:
+khott.java ; khoxl.java
+soluongtt.java
-Quản lý thông tin xe:
+sanphamtt.java ; sanphamxl.java
+loaixett.java ; loaixexl.java
-Quản lý thông tin khách hang:
+khachhangtt.java ; khachhangxl.java
-Quản lý thông tin nhà cung cấp xe:
+Nhacungcaptt.java Nhacungcapxl.java
-Mua bán xe:
+banhangtt.java ; tongtientt,java
-Xử lý hóa đơn:
+hoadontt.java ; hoadonxl.java
+ct_hoadontt.java
-Quản lý tài khoản đăng nhập:
+taikhoantt.java ; taikhoanxl.java
-Kết nối với sql sever:
+ketnoi_sql.java
+hienthi_sql.java
Dự án bao gồm có 4 package:
+hinh: Nơi lưu chữ hình ảnh
+quanlyxe: tạo bảng jFrame
+quanlyxethucthe:Nơi xử lý thơng tin của từng đối tượng
+quanlyxe.xuly:Nơi xử lý công việc của từng đối tượng
Để kết nối thông tin dũ liệu bảng vào Java chúng em đã sử dụng SQL sever

8



Hóa Đơn:
9


Khách hàng:

Kho:

Loại xe:

10


Nhà cung cấp:

Tài khoản:

11


Tạo Project:

2.2 Viết code:
Quanlyxe.java(main):

12



Ketnoi.java

Taikhoan.java

13


14


Khachhang.java

15


Do có q nhiều class lên em khơng thể show hết code lên được vì q dài lên
những code cịn lại em sẽ để ở link github mong thầy thông cảm

16


2.3 Chạy chương trình:
Bảng đăng nhập:

Menu:

17




×