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

Bài tập lớn project1 đề tài phát triển phần mềm quản lí khách sạn

40 3 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 đề Phát triển phần mềm quản lí khách sạn
Tác giả Nguyễn Hữu Trung, Nguyễn Xuân Trường, Nguyễn Tường Quân
Người hướng dẫn ThS. Trịnh Tuấn Đạt
Trường học Trường Đại học Bách Khoa Hà Nội
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 2012
Thành phố Hà Nội
Định dạng
Số trang 40
Dung lượng 6,86 MB

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

Nội dung

Biểu đồ lớp Biểu đồ phụ thuộc của các package : Mô hình MVC :  Tầng cơ sở dữ liệu : Package model  Tầng nghiệp vụ : Package control, bean  Tầng giao diện : Package main,view,data Khi

Trang 1

-o0o -BÀI TẬP LỚN PROJECT1

Đề tài : Phát triển phần mềm quản lí khách sạn

Giáo viên hướng dẫn: ThS Trịnh Tuấn Đạt

Nhóm sinh viên thực hiện:

Nguyễn Hữu Trung 20102767 CNTT4 - K55

Nguyễn Xuân Trường 20102400 CNTT4- K55

Nguyễn Tường Quân 20102044 CNTT4 - K55

Trang 2

PROJECT1 Hà nội – 11/2012

Mục lục

Mục lục ii

LỜI NÓI ĐẦU 1

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM 2

CHƯƠNG 1 KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN 3

1.1 Mô tả yêu cầu bài toán 3

1.1.1 Tên đề tài 3

1.1.2 Mô tả yêu cầu 3

1.1.3 Yêu cầu 3

1.2 Biểu đồ use case 4

1.2.1 Biểu đồ Use case tổng quan 4

1.2.2 Biểu đồ use case phân rã mức 2 5

1.3 Đặc tả use case 9

 Quản lý phòng: 9

 Quản lý khách hàng : 9

 Thuê phòng : 10

 Trả phòng 10

 Thống kê : 10

Chương 2 : PHÂN TÍCH THIẾT KẾ BÀI TOÁN 11

2.1 Thiết kế Cơ sở dữ liệu 11

2.2 Biểu đồ trình tự 12

2.2.1 Biểu đồ trình tự thao tác nhân viên cho thuê phòng 12

2.2.2 Biểu đồ trình tự thao tác nhân viên nhận trả phòng 13

2.3 Biểu đồ lớp 14

2.4 Thiết kế chi tiết lớp 15

2.4.1 Package bean : 15

2.4.2 Package model : 16

Trang 3

Chương 3 : CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG 22

3.1 Mô hình MVC 22

3.2 Kỹ thuật lập trình hướng đối tượng 23

3.3 Kỹ thuật xử lý kết nối Data base và truy vấn SQL 23

3.3.1 Kết nối Data base 23

3.3.2 Khởi tạo, thực hiện câu lệnh truy vấn SQL 24

3.4 Các kỹ thuật và ứng dụng khác 25

3.4.1 Sử dụng XML DOM Parse để ghi và đọc file xml 25

3.4.2 Thư viện JDate 25

3.4.3 In hóa đơn 26

3.4.4 Tối ưu giao diện bằng việc thiết kế trên Photoshop 27

3.4.5 Chương trình Setting đi kèm 27

Chương 4 : XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA 29

4.1 Kết quả chương trình minh họa 29

4.2 Giao diện chương trình 29

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 33

TÀI LIỆU THAM KHẢO 35

Trang 4

LỜI NÓI ĐẦU

Trong giai đoạn hiện nay, giai đoạn mà đất nước ta đang phấn đầu trở thành quốc gia mạnh về công nghệ thông tin và viễn thông, coi công nghệ thông tin là mục tiêu phát triển hàng đầu Việc ứng dụng công nghệ thông tin vào tất cả các ngành kinh tế trong nền kinh tế quốc dân là một xu thế tất yếu, nhất là khi các ngành công nghiệp, dịch vụ đang ngày một pháp triển mạng trên quy mô lớn.

Nắm bắt được xu thế này, cùng với những kiến thức trong thực

tế, kiến thực tiếp thu được ở trong các bài giảng trên lớp, thành

viên trong nhóm thống nhất và đi đến quyết định chọn đề tài xây dựng phần mềm quản lý khách sạn với nhưng yêu cầu và chức

năng cơ bản nhất.

Để hoàn thành được bài tập lớn này, nhóm chúng em xin được gửi lời cảm ơn chân thành đến:

Thầy giáo hướng dẫn đề tài - Thạc Sĩ Trịnh Tuấn Đạt,

Giảng viên Khoa Công nghệ Thông tin Trường Đại học Bách Khoa Hà Nội - đã hết lòng giúp đỡ, hướng dẫn, chỉ dạy tận tình để nhóm em hoàn thành được đề tài này.

Trang 5

 Các bạn cùng lớp Project 1 cũng đã góp ý và giúp đỡ trong quá trình làm đề tài.

Trang 6

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM

Nguyễn Hữu Trung Thiết kế Use-case, biểu đồ lớp, giao

diện Code phần View Nguyễn Xuân Trường Thiết kế CSDL, code phần Model,

Control và View Nguyễn Tường Quân Code phần Model, Control, kiểm thử

chương trình, viết báo cáo, Silde.

Trang 7

CHƯƠNG 1 KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TOÁN

1.1 Mô tả yêu cầu bài toán

Xây dựng chương trình quản lý khách sạn

Quản lý thông tin về phòng cho thuê của khách sạn bao gồm : Tênphòng, Loại phòng, Giá phòng, Tình trạng phòng

Thông tin về khách hàng : Mã số khách hàng, Tên khách hàng,Năm sinh, Giới tính, Số CMTND, Địa chỉ, Số điện thoại

Thống kê về lịch sử khách hàng, những phiên đặt phòng, trảphòng

Quản lý nhận và trả phòng, lập hóa đơn thanh toán

Thông kê, kế toán

Mô hình hóa bài toán:

Trang 8

1.2 Biểu đồ use case

1.2.1 Biểu đồ Use case tổng quan

Trang 9

 Chương trình phân cấp người sử dụng gồm :

 Kiểu tài khoản Admin

 Kiểu tài khoản User

 Với 2 lớp người dùng này thì chương trình có những chức năng

Trang 10

 Use case Quản lý phòng

Trang 11

 Use case Quản lý khách hàng :

 Use case Thuê phòng :

Trang 12

 Use case Trả phòng

Trang 13

1.3 Đặc tả use case

 Quản lý phòng:

 Thêm phòng: Người dùng nhập thông tin vào Dialog thêm phòng,Nếu những trường nhập vào sai với yêu cầu hay nhập tên phòngtrùng với tên phòng đã có sẽ xuất hiện thông báo Nhập lỗi và yêucầu nhập lại Khi nhập đầy đủ và chính xác thông tin thì xuất hiện

thông báo “Nhập thành công”.

 Sửa phòng: Người dùng chọn phòng trên bảng danh mục chọn

phòng Xuất hiện thông tin phòng lên Dialog sửa phòng. Thực hiệnsửa thông tin phòng trực tiếp lên Dialog.Các Dialog thông báo lỗitương tự như ở chức năng thêm phòng Nếu phòng đang trong tìnhtrạng “Đã thuê” Bởi 1 khách hàng sẽ không được phép chỉnh sửaphòng

 Xóa phòng : Người dùng chọn phòng trên bảng danh mục chọn

phòng Xuất hiện Dialog xác nhận Phòng đang được thuê sẽ khôngxóa được

 Thiết lập kiểu phòng : 2 chức năng , Thêm kiểu phòng và sửa kiểu

phòng Người dùng sẽ nhập thông tin các trường tên phòng giá phòng ở thêm kiểu phòng. Đồng thời sửa những trường này ở chức

năng sửa kiểu phòng.

 Tìm kiếm phòng : Thực hiện tìm kiếm theo tên phòng, tình trạng

Trang 14

 Sửa khách hàng: Người dùng chọn phòng trên bảng danh mục khách

hàng Xuất hiện thông tin khách hàng lên Dialog sửa phòng. Thựchiện sửa thông tin phòng trực tiếp lên Dialog đó Các Dialog thôngbáo lỗi tương tự như ở chức năng thêm phòng Nếu phòng đangtrong tình trạng “Đã thuê” Bởi 1 khách hàng sẽ không được phépchỉnh sửa phòng

 Xóa khách hàng : Người dùng chọn khách hàng trên bảng danh mục

khách hàng Xuất hiện Dialog xác nhận Khách hàng đang thuêphòng sẽ không xóa được

 Tìm kiếm khách hàng : Thực hiện tìm kiếm theo tên, CMTND và điện

thoại

 Thuê phòng :

 Người dùng sẽ chọn khách hàng, chọn phòng ở danh mục phòng vàkhách hàng Tương ứng với chưc năng tìm kiếm phòng và kháchhàng giống với use case Quản lý phòng Quản lý khách hàng.

 Thuê phòng : Xuất hiện Dialog xác nhận thuê phòng.

Trang 15

Chương 2 : PHÂN TÍCH THIẾT KẾ BÀI TOÁN

2.1 Thiết kế Cơ sở dữ liệu

Cơ sở dữ liệu của bài toán được thiết kế như sau :

Trang 16

2.2 Biểu đồ trình tự

2.2.1 Biểu đồ trình tự thao tác nhân viên cho thuê phòng

Trang 17

2.2.2 Biểu đồ trình tự thao tác nhân viên nhận trả phòng

Trang 18

2.3 Biểu đồ lớp

Biểu đồ phụ thuộc của các package :

Mô hình MVC :

Tầng cơ sở dữ liệu : Package model

Tầng nghiệp vụ : Package control, bean

Tầng giao diện : Package main,view,data

Khi người sử dụng tương tác với giao diện của chương trình (package

View), yêu cầu sẽ được gửi tới tầng nghiệp vụ (package Control - Kết

nối giữa giao diện và cơ sở dữ liệu , package ) Model tương tác với cơ

sở dữ liệu và thực hiện yêu cầu của người sử dụng

Trang 19

2.4 Thiết kế chi tiết lớp

2.4.1 Package bean :

 Là lớp đóng gói dữ liệu, được sử dụng trong package view và model

Trang 20

2.4.2 Package model :

 Lớp ConnectDB : Lấy dữ liệu kết nối trong file config Tạo kết nối đến

cơ sở dữ liệu Khởi tạo giá trị ban đầu của các câu lệnh cho câu lệnh

 Lớp CustomerManagerModel : Sử dụng những lớp đóng gói dữ liệu

Customer Tương tác trực tiếp với cơ sở dữ liệu thông qua các câu

lệnh truy vấn, liên quan đến chức năng quản lý khách hàng Tạo thựcthể cho package control 1 số phương thức chính như :

addCustomer(), deleteCustomer(), editCustomer(), testInforCustomer()…

 Lớp RoomManagerModel : Sử dụng những lớp đóng gói dữ liệu Room

Tương tác trực tiếp với cơ sở dữ liệu thông qua các câu lệnh truy vấn,liên quan đến chức năng quản lý phòng 1 số phương thức chính :

Trang 21

Lớp HirePayModel : Sử dụng lớp đóng gói dữ liệu Checkout Tươngtác trực tiếp với cơ sở dữ liệu thông qua các câu lệnh truy vấn, liênquan đến chức năng quản lý Thuê phòng, trả phòng, thống kê, kếtoán…

2.4.3 Package Control

 Là Lớp kết nối giữa lớp giao diện và lớp cơ sở dữ liệu

Trang 22

2.4.4 Package view

Trang 25

 Tương ứng với mỗi phần của giao diện, các lớp tương ứng sẽ thựchiện chức năng tương tác với người dùng, lấy thông tin, yêu cầu vàhiển thị trở lại giao diện.

 Lớp CustomerCategoryPanel : Thực hiện chức năng quản lý khách

hàng Hiển thị bảng danh sách khách hàng hiện có, thêm kháchhàng, sửa,xóa khách hàng

 Lớp RoomCategoryPanel : Thực hiện chức năng quản lý phòng : Hiện

thị danh sách thông tin về phòng hiện có, Thêm loại phòng, thêmphòng, sửa xóa phòng

 Lớp HireRoomPanel : Hiển thị thông tin khách hàng, phòng có thể

được thuê, Lấy thông tin về khách hàng, phòng thực hiện thuêphòng và lưu vào cơ sở dữ liệu

Lớp CheckOutPanel : Chọn phòng được trả, ngày trả và thực hiện trả

phòng Hỗ trợ chức năng in hóa đơn của khách hàng

Trang 26

Chương 3 : CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG

3.1 Mô hình MVC

Mô hình MVC (Model, Control,View) là kiến trúc phần mềm hay mô hìnhthiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp các developertách riêng ứng dụng của họ ra làm thành phần khác nhau Model, View,Control và mỗi thành phần có 1 nhiệm vụ riêng biệt, độc lập khác nhau

 Model

Đây là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử

lý, truy xuất database, đối tượng mô tả dữ liệu như các Class, hàm

Trang 27

 Controller

Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọiđúng những phương thức xử lý chúng Chẳng hạn thành phần này

sẽ nhận request từ form để thao tác trực tiếp với Model

3.2 Kỹ thuật lập trình hướng đối tượng

Là kĩ thuật lập trình hỗ trợ công nghệ đối tượng( OOP ) Được xem như

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 đốitượ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ươngpháp trước đó

3.3 Kỹ thuật xử lý kết nối Data base và truy vấn SQL

3.3.1 Kết nối Data base

Để truy xuất, tương tác được với dữ liệu trong Database và hiển thị,thao tác trên Giao diện chính của chương trình, nhóm đã lựa chọn hệ quảntrị cơ sở dữ liệu MySQL, môi trường IDE là Netbeans

Và để kết nối các ứng dụng Java với Database, thì cần phải có nhữngphần mềm giao diện lập trình ứng dụng (Application ProgrammingInterfaces – APIs) cho việc kết nối cơ sở dữ liệu Ở đây nhóm đã lựa chọnJDBC (Java Database Connection) - Một trong những phầm mềm giao diệnlập trình ứng dụng trong bộ sưu tập của thư viện ứng dụng và trình điềukhiển cơ sở dữ liệu, nó thực hiện độc lập với ngôn ngữ lập trình, hệ thống

cơ sở dữ liệu và hệ điều hành

Trang 28

 Những bước cơ bản để làm việc với JDBC:

 Load Driver – Nạp trình điều khiển kết nối

 Establish a database connection - Thiết lập kết nối đến cơ sở dữliệu

 Create and Execute an SQL Statement - Tạo và thực thi 1 câutruy vấn dữ liệu dạng SQL

 Process the results - Xử lý kết quả nhận về sau khi thi hành lệnhtruy vấn thành công trên cơ sở dữ liệu

 Close the database connection - Đóng kết nối và giải phóng tàinguyên

 Trong khi lập trình xây dựng ứng dụng nhóm đã gặp phải khá nhiềulỗi, và khó khăn quá trình làm việc với JDBC

o Lỗi “Too many connection” : Tạo quá nhiều kết nối Database màkhông đóng kết nối và giải phóng tài nguyên làm chương trình bịlỗi kết nối và treo

 Giải pháp : Sau mỗi lần kết nối Database, hay tạo và thực hiện

các câu lệnh truy vấn SQL đều sử dụng phương thức đóng kết nối

và câu lệnh truy vấn

o Thao tác và hiển thị dữ liệu lên bảng khó khăn

 Giải pháp : Nhóm đã tìm hiểu và nghiên cứu viết riêng lớp

Resultset table trong package Model để thao tác trực tiếp với

Database lấy dữ liệu, hiện thị, thao tác trên bảng giao diện

3.3.2 Khởi tạo, thực hiện câu lệnh truy vấn SQL

 Sử dụng đối tượng Statement

Trang 29

Với đối tượng này, chúng ta có thể dùng để thực thi câu các SQL Tươngứng với loại câu SQL ta sẽ dùng các phương thức tương ứng.

o Phương thức khởi tạo : Statement stmt=con.createStatement() ;

Thực thi câu SQL :

int executeUpdate(String sql) : Phương thức này dùng để thực thi các câu

sql insert, delete, update,… ngoại trừ câu select

ResultSet executeQuery(String sql) : Phương thức này thực thi câu select

SQL, trả về 1 đối tượng ResultSet để chứa 1 danh sách các recordsthỏa mãn câu select

 Sử dụng đối tượng PrepareStatement

Đối tượng này được sử dụng khi chúng ta muốn thực thi 1 câu truy vấn

có tham số truyền vào

PreparedStatement prepareStatement(String sql)throws SQLException

Trang 30

3.4 Các kỹ thuật và ứng dụng khác

3.4.1 Sử dụng XML DOM Parse để ghi và đọc file xml

3.4.2 Thư viện JDate

Để giải quyết vấn đề chọn thời gian tránh nhầm lần và pháp sinh lỗitrong quá trình sử dụng phần mềm nhóm đã lựa chọn them vào Projectthư viện JDate Và sử dụng JDateChoose như 1 công cụ trong Java Swing Giao diện của công cụ này :

Trang 31

3.4.3 In hóa đơn

Để thuận tiện cho việc xuất, in hóa đơn cho khách hàng đồng thờilưu trữ hóa đơn khách hàng cho khách sạn Nhóm đã nghiên cứu và viếtlớp Export trong package Model để thực hiện in hóa đơn Ở dạng thực thiHTML, và mặc định xuất ra file văn bản word

Kết quả khi in ra:

Trang 32

3.4.4 Tối ưu giao diện bằng việc thiết kế trên Photoshop

Trước khi chương trình được code, giao diện chuẩn được thiết kế trên photoshop, đảm bảo tính thẩm mĩ

3.4.5 Chương trình Setting đi kèm

Setting là 1 công cụ phát triển kèm theo chương trình chính này, có nhiệm vụ cấu hình kết nối và khởi tạo CSDL (trong trường hợp chưa có CSDL ban đầu) Công cụ này tối ưu hóa việc thiết lập CSDL cho người sử dụng, thay vì copy file sql, thực thi… thì chỉ cần nhập cấu hình kết nối, còn lại chương trình sẽ tự động làm

Đoạn code mô tả cách Setting xây dựng CSDL:

Trang 34

Chương 4 : XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA

4.1 Kết quả chương trình minh họa

Sau khoảng 8 tuần tích cực xây dựng, hoàn thiện chương trình, chúng

em đã thu được những kết quả hết sức khả quan

 Về kết quả đạt được :

 Kỹ năng lập trình java tương đối tốt

 Kỹ năng phân tích thiết kế hướng đối tượng một chương trình

 Kỹ năng làm việc nhóm

 Kỹ năng bẩy lỗi và kiểm thử phần mềm

 Làm việc, thao tác với CSDL

 Về chương trình :

 Chương trình chạy tốt ổn định

 Hoàn hiện hầu hết các chức năng cơ bản nhất

 Giao diện chương trình bắt mắt, thao tác sử dụng dễ dàng trựcquan

Trang 35

4.2 Giao diện chương trình

Dialog đăng nhập

Trang 36

Giao diện chương trình chính

Giao diện trang quản trị

Trang 37

Dialog thêm khách hàng

Giao diện Setting

Trang 38

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Đây là chương trình gần như là đầu tiên nhóm chúng em xây dựng nênchắc chắn sẽ còn nhiều thiếu sót cả về kỹ năng thiết kế hệ thống, kỹ nănglập trình cũng như làm báo cáo, rất mong thầy và mọi người thông cảm cũngnhư đóng góp ý kiến để chúng em có thể hoàn thiện chương trình hơn nữa.Sau đây là một số ưu nhược điểm của chương trình so với yêu cầu của bàitoán đặt ra

1 Về ưu điểm :

 Hoàn thiện tất cả những yêu cầu chức năng của bài toán đưa ra

Như các thao tác Quản lý phòng, Quản lý khách hàng, Đặt phòng,

Trả phòng, Hóa đơn, Thống kê kế toán.

 Chương trình được thiết kế với giao diện rất đẹp, hợp lý và vô cùng

trực quan với những thao tác như Nhập thông số phòng, khách

hàng Các thao tác Tìm kiếm, Thao tác Thuê phòng.

 Chương trình được đóng gói 1 cách gọn nhẹ, thao tác cài đặt dễdàng như 1 chương trình Window bình thường Dễ dàng sử dụngcho người mới tiếp cận

2 Về nhược điểm :

 Chương trình vẫn còn khuyết đi chức năng đặt phòng Khách hàngchỉ có thể đặt, thuê phòng vào ngày hiện tại và không thể đặtphòng trước ngày đó

 Khả năng phòng ngừa bẫy lỗi của chương trình còn nhiều hạn chế.Chỉ bắt được những lỗi chung chung và chưa chỉ rõ được lỗi ở phầnnào, lỗi do nguyên nhân gì

 Tư duy lập trình hướng đối tượng chưa tốt, thể hiện ở phần thiết kế

và viết code còn nhiều chỗ không hợp lý

Nhằm khắc phục nhưng mặt nhược điểm của chương trình, nhómđưa ra kế hoạch và công việc cần làm để hoàn thiện chương trình :

Ngày đăng: 28/06/2023, 09:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w