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

Phần mềm Quản lý vé máy bay

18 15 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ý vé máy bay
Tác giả Cà Văn Nguyên, Cà Văn Tiên, Lê Đức Việt
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập lớn
Năm xuất bản 2021
Thành phố Bắc Ninh
Định dạng
Số trang 18
Dung lượng 764,03 KB

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ý vé máy bay | 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.

Trang 1

BỘ 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

TÊN BÀI TẬP LỚN: Quản lý vé máy bay

Sinh viên thực hiện: Cà Văn Nguyên MSV:20200132

Cà Văn Tiên MSV: 20200133

Lê Đức Việt MSV: 20200113

Lớp: Công Nghệ Thông Tin 1 Khóa:11

Khoa : Công Nghệ Thông Tin

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

Trang 2

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

TÊN BÀI TẬP LỚN: Quản lý vé máy bay

Sinh viên thực hiện: Cà Văn Nguyên MSV:20200132

Cà Văn Tiên MSV: 20200133

Lê Đức Việt MSV: 20200113

Lớp: Công Nghệ Thông Tin 1 Khóa:11

Khoa : Công Nghệ Thông Tin

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 3

Lời nói đầ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 Ngoà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 ngoà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

Trang 4

MỤC LỤC:

Lời nói đầu 3

Chương I Tổng quan về LT HĐT với Java 5

1.Ngôn ngữ Java là gì? 5

2.Đối tượng (Object) và lớp (Class) trong OOP là gì? 5

2.1.Đối tượng(Object) 5

2.2.Lớp (Class) 6

3.Đặc tính cơ bản của OOP 7

4.Ưu điểm của OOP……….9

5.Giới thiệu công cụ lập trình………10

Chương II Phát biểu bài toán 11

1.Giới thiệu phần mềm 11

Chương III Cài đặt hệ thống 12

1.Cài đặt project 12

2.Code 12

3.Chạy thử kết quả 16

Chương IV Kiểm thử và đánh giá kết quả 17

Tài liệu tham khảo 18

Link source code:

https://drive.google.com/drive/folders/1NqfGD3Y16BUFTrbnGnMjPa7SFcTbo0F

U

Trang 5

Chương I Tổng quan về LT HĐT với Java

1 Ngôn ngữ Java là gì

Java là một một ngôn ngữ lập trình hiện đại, bậc cao, hướng đối tượng, bảo mật và mạnh mẽ và là một Platform

Platform: Bất cứ môi trường phần cứng hoặc phần mềm nào mà trong đó có một

chương trình chạy, thì được hiểu như là một Platform Với môi trường runtime riêng cho mình (JRE) và API, Java được gọi là Platform

Ngôn ngữ lập trình Java ban đầu được phát triển bởiSun Microsystems do James Gosling khởi xướng và phát hành vào năm 1995

Phiên bản mới nhất của Java Standard Edition là Java SE 8 Với sự tiến bộ của Java và sự phổ biến rộng rãi của nó, nhiều cấu hình đã được xây dựng để phù hợp với nhiều loại nền tảng khác nhau

Ví dụ: J2EE cho các ứng dụng doanh nghiệp, J2ME cho các ứng dụng di động

Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME

Phương châm của java là "Write Once, Run Anywhere" - viết một lần chạy

nhiều nơi, nghĩa là bạn chỉ cần viết một lần trên window chẳng hạn, sau đó vẫn chương trình đó bạn có thể chạy trên Linux, Android, các thiết bị J2ME

2 Đối tượng (Object) và lớp (Class) trong OOP là gì?

2.1 Đối tượng (Object)

Đối tượng trong OOP bao gồm 2 thành phần chính:

Trang 6

• Thuộc tính (Attribute): là những thông tin, đặc điểm của đối tượng

• Phương thức (Method): là những hành vi mà đối tượng có thể thực hiện

Để dễ hình dung, ta có một ví dụ thực tế về đối tượng là smartphone Đối tượng này sẽ có:

• Thuộc tính: màu sắc, bộ nhớ, hệ điều hành…

• Phương thức: gọi điện, chụp ảnh, nhắn tin, ghi âm…

Object xác định hành vi của class Khi bạn gửi một thông điệp vào một object, có nghĩa là bạn đang yêu cầu gọi các object hoặc thực hiện một trong những

phương thức của nó

Từ một quan điểm của lập trình hướng đối tượng, một đối tượng có thể là một cấu trúc dữ liệu (data structure), một biến (variable) hoặc một chức năng

(function)

Object được phân bổ vị trí bộ nhớ Các Object được thiết kế như class phân cấp

Cách tạo Object trong Java:

<class_name> ReferenceVariable = new <class_name>();

Trong đó:

• <class_name>: Là kiểu dữ liệu của đối tượng bạn định tạo

• ReferenceVariable: Là tên tham chiếu của đối tượng

• new: Từ khóa để tạo đối tượng

• <class_name>(): Là class mà bạn tạo đối tượng từ nó

2.2 Lớp (Class)

Lớp là sự trừu tượng hóa của đối tượng Những đối tượng có những đặc tính tương tự nhau sẽ được tập hợp thành một lớp Lớp cũng sẽ bao gồm 2 thông tin là thuộc tính và phương thức

Trang 7

Một đối tượng sẽ được xem là một thực thể của lớp

Tiếp nối ví dụ ở phần đối tượng (object) phía trên, ta có lớp (class)

smartphone gồm 2 thành phần:

• Thuộc tính: màu sắc, bộ nhớ, hệ điều hành…

• Phương thức: gọi điện, chụp ảnh, nhắn tin, ghi âm…

Các đối tượng của lớp này có thể là: iPhone, Samsung, Oppo, Huawei…

Nói cách khác, class chỉ là một bản kế hoạch hay một bộ chỉ dẫn để xây dựng các đặc điểm của đối tượng cụ thể sau này

Cách tạo class trong Java:

class <class_name> {

field;

method;

}

Trong đó:

• class: Là từ khóa để tạo class

• <class_name>: Là tên class bạn định tạo nó sẽ được viết theo quy tắc PascalCase (Viết liên và viết HOA chữ cái đầu tiên của từng từ)

• field: Các biến đối tượng

• method: Các phương thức

3 Đặc tính cơ bản của OOP

4 đặc tính cơ bản của OOP

Tính đóng gói (Encapsulation)

Tính đóng gói cho phép che giấu thông tin và những tính chất xử lý bên trong của đối tượng Các đối tượng khác không thể tác động trực tiếp đến dữ liệu

Trang 8

bên trong và làm thay đổi trạng thái của đối tượng mà bắt buộc phải thông qua các phương thức công khai do đối tượng đó cung cấp

Tính chất này giúp tăng tính bảo mật cho đối tượng và tránh tình trạng dữ liệu bị hư hỏng ngoài ý muốn

Tính kế thừa (Inheritance)

Đây là tính chất được sử dụng khá nhiều Tính kế thừa cho phép xây dựng một lớp mới (lớp Con), kế thừa và tái sử dụng các thuộc tính, phương thức dựa trên lớp cũ (lớp Cha) đã có trước đó

Các lớp Con kế thừa toàn bộ thành phần của lớp Cha và không cần phải định nghĩa lại Lớp Con có thể mở rộng các thành phần kế thừa hoặc bổ sung những thành phần mới

Ví dụ:

• Lớp Cha là smartphone, có các thuộc tính: màu sắc, bộ nhớ, hệ điều hành…

• Các lớp Con là iPhone, Samsung, Oppo cũng có các thuộc tính: màu sắc, bộ nhớ, hệ điều hành…

Tính đa hình (Polymorphism)

Tính đa hình trong lập trình OOP cho phép các đối tượng khác nhau thực thi chức năng giống nhau theo những cách khác nhau

Ví dụ:

• Ở lớp smartphone, mỗi một dòng máy đều kế thừa các thành phần của lớp cha nhưng iPhone chạy trên hệ điều hành iOS, còn

Samsung lại chạy trên hệ điều hành Android

• Chó và mèo cùng nghe mệnh lệnh “kêu đi” từ người chủ Chó sẽ

“gâu gâu” còn mèo lại kêu “meo meo”

Tính trừu tượng (Abstraction)

Tính trừu tượng giúp loại bỏ những thứ phức tạp, không cần thiết của đối tượng và chỉ tập trung vào những gì cốt lõi, quan trọng

Ví dụ: Quản lý nhân viên thì chỉ cần quan tâm đến những thông tin như:

• Họ tên

• Ngày sinh

• Giới tính

• …

Chứ không cần phải quản lý thêm thông tin về:

Trang 9

• Chiều cao

• Cân nặng

• Sở thích

• Màu da

• …

Những ngôn ngữ OOP phổ biến nhất

Java

Java là ngôn ngữ lập trình hướng đối tượng (OOP), đa mục đích và độc lập nền tảng Thay vì biên dịch mã nguồn thành mã máy trên nền tảng cụ thể, code Java được biên dịch thành bytecode – một định dạng trung gian

Bytecode sau đó sẽ được chạy bởi môi trường thực thi (runtime

environment)

Code Java “viết một lần, chạy mọi nơi” nên khá lý tưởng cho những người mới tìm hiểu

C++

Là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Bjarne

Stroustrup nhưng C++ mang cả 2 phong cách: lập trình hướng cấu trúc giống

C và có thêm phong cách hướng đối tượng Nếu đã quen với lập trình hướng cấu trúc trước đó thì việc học C++ không phải là điều quá khó khăn

PHP

PHP là ngôn ngữ lập trình đa mục đích, được rất nhiều Developer sử dụng Đây là ngôn ngữ kịch bản mã nguồn mở, chạy ở phía server và được dùng

để tạo ra các ứng dụng web

JavaScript

JavaScript là ngôn ngữ lập trình được sử dụng trong việc xây dựng các

website có tính tương tác cao, với mức độ phổ biến được xếp hạng bậc nhất Học JavaScript khá dễ dàng và đặc biệt phù hợp cho những developer mới bắt đầu học lập trình

Python

Python là ngôn ngữ lập trình hướng đối tượng bậc cao, dùng để phát triển website và nhiều ứng dụng khác nhau Python được tạo ra bởi Guido van Rossum và được phát triển trong một dự án mã mở (open source)

Với cú pháp cực kì đơn giản và thanh lịch, Python là lựa chọn hoàn hảo cho những ai lần đầu tiên học lập trình

4.Ưu điểm của OOP

• OOP mô hình hóa những thứ phức tạp dưới dạng cấu trúc đơn giản

Trang 10

• Code OOP có thể sử dụng lại, giúp tiết kiệm tài nguyên

• Giúp sửa lỗi dễ dàng hơn So với việc tìm lỗi ở nhiều vị trí trong code thì tìm lỗi trong các lớp (được cấu trúc từ trước) đơn giản và ít mất thời gian hơn

• Có tính bảo mật cao, bảo vệ thông tin thông qua đóng gói

• Dễ mở rộng dự án

5.Công cụ lập trình Apache NetBeans

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

Tính năng chính của NetBeans IDE

• 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

Trang 11

• 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

Chương II Phát biểu bài toán

Mục đích:

+ Giúp quản lý thông tin chuyến bay của khách hàng một cách dễ dàng và

tiện lợi nhất

Mô hình Class:

Input

+Mã chuyến bay +Số ghế

+Ngày bay +Chặng bay

+Sân bay

Quản lý chuyến bay

Chức năng

+Thêm +Xóa +Sửa +In +Lưu +Tìm theo mã chuyến bay

Output

Danh sách thông tin các chuyến bay

Quản Lý Chuyến Bay

Class: CB

-Changbay:String

-NgayBay:int

-NhaGa:String

-Quay:double

-SanBay:String

-SoCB:String

-SoGhe:int

TinhTrang:String

Class: DanhSach

+DanhSach()

-dsCB:ArrayLít<CB

>

Class:Application

+Application

Class :CBTableModel

-CHANGBAY:int -NGAYBAY:int -NHAGA:int -QUAY:int -SANBAY:int -SOCB:int -SOGHE:int -TINHTRANG:int -dsCB:ArrayList<CB> Headers:String[]

serialVersionUID:long

Trang 12

Chương III.Cài đặt hệ thống

1.Cài đặt project

Main

2.Code

Modify

Trang 14

Tính kế thừa

Trang 15

GUI

Trang 16

Build UI

3.Kết quả

Trang 17

Chương IV: Kiểm thử và đánh giá kết quả

Video Demo: Video Demo QuanLyVeMayBay.mp4 - Google Drive

Trong dự án lần này nhóm em đã dùng phương pháp lập trình hướng đối tượng để xây dựng chương trình quản lý vé máy bay.Kết quả đạt được bao gồm:

-Phát truyển được mô hình quản lý vé máy bay

-Phân tích,thiết kế bài toán theo đúng quy định và phương pháp lập trình hướng đối tượng

-Chương trình chạy và cho ra kết quả chính xác

Qua dự án lần này chúng em đã có thể vận dụng kiến thức học được để giải quyết bài toán và học thêm được nhiều kiến thức mới

Một số hạn chế:

Tuy đã đạt được kết quả trên nhưng vẫn còn rất hạn chế như là:

-Chưa có phần giao diện đăng nhập

-Chưa khai thác hết vấn đề thực tế của dự án

Trang 18

Và vẫn còn nhiều hạn chế mà nhóm chưa khắc phục được do kiến thức còn hạn chế

Để có thể làm tốt hơn chúng em cần phải thực hành và vận dụng kiến thức nhiêu hơn và cần có sự hỗ trợ của các thầy cô để những dự án tiếp theo có thể tốt hơn

Tài liệu tham khảo

1 Website:

[1] https://lap-trinh-may-tinh.blogspot.com

[2].https://viettuts.vn/java

[3] https://www.tutorialspoint.com/java/index.htm

[4] https://docs.oracle.com/javase/tutorial/java/index.html

https://lap-trinh-may-tinh.blogspot.com/2021/05/khoa-hoc-hoc-lieu-tai-nguyen-mien-phi.html

Ngày đăng: 06/12/2023, 15:37

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

TÀI LIỆU LIÊN QUAN

w