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

(Tiểu luận) 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 5 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
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 0,94 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ớpBiể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

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:

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

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

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

Tên thành viên

Nguyễn Hữu Trung

Nguyễn Xuân Trường

Nguyễn Tường Quân

Công việc Thiết kế Use-case, biểu đồ lớp, giao diện Code phần View Thiết kế CSDL, code phần Model,

Control và View 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

1.1.1 Tên đề tài

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

1.1.2 Mô tả yêu cầu

Quản lý thông tin về phòng cho thuê của khách sạn bao gồm : Tên phò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

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 Quản

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òng trùng với tên phòng đã có

sẽ xuất hiện thông báo Nhập lỗi và yêu cầ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ện sửa thông tin phòng trực tiếp lên Dialog.Các Dialog thông báo lỗi tương tự như ở chức năng thêm phòng Nếu phòng đang trong tình trạng “Đã thuê” Bởi 1 khách hàng sẽ không

được phép chỉnh sửa phò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ông xó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 và 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 phòng và kiểu

phòng

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

Thêm khách hàng : Người dùng nhập thông tin vào Dialog thêm khách hàng,

nếu những trường nhập vào sai với yêu cầu hay nhập thiếu trường sẽ xuất

hiện thông báo Nhập lỗi và yêu cầ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”.

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ực hiện sửa thông tin phòng trực tiếp lên Dialog đó Các Dialog thông báo lỗi tương tự như ở chức năng thêm phòng Nếu phòng đang trong tình trạng “Đã thuê” Bởi 1 khách hàng

sẽ không được phép chỉ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ách hàng giống với use

case Quản lý phòng và 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ênquan đến chức năng quản lý khách hàng Tạo thực thể cho package control

Trang 21

Lớp HirePayModel : Sử dụng lớp đóng gói dữ liệu Checkout 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ý 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ực hiệ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ách hà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êm phò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ình thiết kếđược sử dụng trong kỹ thuật phần mềm Nó giúp các developer tách riêng ứng dụngcủa họ ra làm thành phần khác nhau Model, View, Control và mỗi thành phần có 1nhiệm vụ riêng biệt, độc lập khác nhau

Trang 27

Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúngnhững phương thức xử lý chúng Chẳng hạn thành phần này sẽ nhậnrequest 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úptă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ềmbằ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 caohơ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ớihọc về lập trình hơn là các phương phá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ênGiao diện chính của chương trình, nhóm đã lựa chọn hệ quản trị cơ sở dữ liệuMySQL, 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ững phần mềmgiao diện lập trình ứng dụng (Application Programming Interfaces – APIs) cho việckết nối cơ sở dữ liệu Ở đây nhóm đã lựa chọn JDBC (Java Database Connection) -Một trong những phầm mềm giao diện lập trình ứng dụng trong bộ sưu tập của thưviện ứng dụng và trình điều khiể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ệuCreate and Execute an SQL Statement - Tạo và thực thi 1 câu truy 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ệnh truy 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ài nguyênTrong khi lập trình xây dựng ứng dụng nhóm đã gặp phải khá nhiều lỗ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

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 records thỏa mãncâ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ỗi trong quátrình sử dụng phần mềm nhóm đã lựa chọn them vào Project thư 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ời lưu trữ hóa

đơn khách hàng cho khách sạn Nhóm đã nghiên cứu và viết lớp Export trong

package Model để thực hiện in hóa đơn Ở dạng thực thi HTML, và mặc định xuất rafile 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ực quan

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ên chắcchắn sẽ còn nhiều thiếu sót cả về kỹ năng thiết kế hệ thống, kỹ năng lậ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ũng như đó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ểmcủa chương trình so với yêu cầu của bài toá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ư 1chương trình Window bình thường Dễ dàng sử dụng cho 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àng chỉ có thể đặt, thuê phòng vào ngày hiện tại và không thể đặt phò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ần nà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ế

Trang 39

Nghiên cứu, xử lý thời gian, sắp xếp phòng để bổ sung và hoàn thiện chức năng đặt phòng Sẽ cho khách hàng đặt phòng trước qua điện thoại hoặc email trước khi khách hàng trực tiếp đến nhận phòng.

Để giải quyết vấn đề về bẫy lỗi và lập trình phần mềm, nhóm sẽ viết riêng những hàm xử lý lỗi, hiển thị thông báo, chỉ ra cụ thể phần lỗi trong những thao tác của người dung chương trình

Ngày đăng: 20/09/2023, 14:52

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

TÀI LIỆU LIÊN QUAN

w