Tải bản đầy đủ (.docx) (53 trang)

Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

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.47 MB, 53 trang )

Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin cũng như
các thầy cô giảng dạy trong trường Đại học Bách khoa Đà Nẵng đã truyền đạt
những kiến thức quý báu cho tôi trong những năm học vừa qua, đồng thời tạo điều
kiện tốt nhất để tôi có thời gian thực tập.
Đặc biệt, tôi xin chân thành cảm ơn người trực tiếp hướng dẫn tôi thực hiện
luận văn tốt nghiệp này là thầy Trương Minh Huy đã tận tình hướng dẫn trong suốt
quá trình thực hiện luận văn.
Và để có được thời gian thực hiện hiệu quả, tôi rất biết ơn gia đình đã động
viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng
như
quá trình thực hiện luận văn tốt nghiệp này.
Cuối cùng xin chân thành cám ơn các bạn, đặc biệt là các bạn khóa 10T đã
chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho tôi trong quá trình nghiên
cứu
và thực hiện đề tài.
Một lần nữa xin chân thành cám ơn!

Đà Nẵng, ngày 10 tháng 5 năm 2015
Sinh viên thực hiện

Nguyễn Ngọc Đại

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 1


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng



LỜI CAM ĐOAN
Tôi xin cam đoan:
1. Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn

trực tiếp của thầy Trương Minh Huy
2. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả,

tên công trình, thời gian, địa điểm công bố.
3. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu

hoàn toàn trách nhiệm.

Sinh viên

Nguyễn Ngọc Đại

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 2


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................

.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
Đà Nẵng, ngày 10 tháng 5 năm 2015
Cán bộ hướng dẫn
(Ký và ghi rõ họ tên)

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 3


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
____________________________________________________________________
____________________________________________________________________

____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 4


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng


MỤC LỤC
MỞ ĐẦU

3.1. Các công cụ
3.2. Thiết kế giao diện
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1.

Kết quả đạt được

2.

Hạn chế

3.

Hướng phát triển

TÀI LIỆU THAM KHẢO

DANH MỤC BẢNG BIỂU

Bảng 1: Chức năng đăng nhập................................................................................13
Bảng 2: Chức năng cập nhật thông tin cá nhân......................................................13
Bảng 3: Chức năng tìm kiếm...................................................................................14
Bảng 4: Chức năng đặt bàn ....................................................................................15
Bảng 5: Chức năng thêm thông tin nhà hàng..........................................................16
Bảng 6: Chức năng sửa thông tin nhà hàng............................................................17
Bảng 7: Chức năng xóa thông tin nhà hàng............................................................18

Bảng 8: Chức năng thêm thông tin khách hàng......................................................19
Bảng 9: Chức năng sửa thông tin khách hàng........................................................20
Bảng 10: Chức năng xóa thông tin khách hàng......................................................20
Bảng 11: Bảng restaurant......................................................................................33
Bảng 12: Bảng user.................................................................................................34
Bảng 13: Bảng people.............................................................................................35
Bảng 14: Bảng breakfast........................................................................................35
SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 5


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

Bảng 15: Bảng lunch...............................................................................................35
Bảng 16: Bảng dinner.............................................................................................36
Bảng 17: Bảng booked............................................................................................36
Bảng 18: Bảng booking..........................................................................................36
Bảng 19: Bảng check_table....................................................................................37
Bảng 20: Bảng time................................................................................................37

DANH MỤC HÌNH ẢNH
Hình 1: Use case tổng quát ....................................................................................12
Hình 2: Use case khách hàng..................................................................................12
Hình 3: Use case đăng nhập...................................................................................13
Hình 4: Use case cập nhật thông tin cá nhân..........................................................13
Hình 5: Use case tìm kiếm nhà hàng.......................................................................14
Hình 6: Use case đặt bàn........................................................................................15
Hình 7: Use case quản lý thông tin nhà hàng..........................................................16
Hình 8: Use case thêm thông tin nhà hàng..............................................................16

Hình 9: Use case sửa thông tin nhà hàng................................................................17
Hình 10: Use case xóa thông tin nhà hàng..............................................................17
Hình 11: Use case quản lý giao diện.......................................................................18
Hình 12: Use case quản lý thông tin khách hàng....................................................19
Hình 13: Use case thêm thông tin khách hàng........................................................19
Hình 14: Use case sửa thông tin khách hàng..........................................................20
Hình 15: Use case xóa thông tin khách hàng..........................................................20
SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 6


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

Hình 16: Biểu đồ hoạt động thực hiện chức năng thêm nhà hàng...........................21
Hình 17: Biểu đồ hoạt động thực hiện chức năng thêm Khách hàng......................22
Hình 18: Biểu đồ hoạt động Admin thực hiện chức năng xóa.................................23
Hình 19: Biểu đồ hoạt động thực hiện chức năng sửa thông tin nhà hàng..............24
Hình 20: Biểu đồ hoạt động thực hiện chức năng sửa thông tin khách hàng..........25
Hình 21: Biểu đồ hoạt động thực hiện chức năng Tìm kiếm thông tin....................26
Hình 22: Biểu đồ hoạt động thực hiện chức năng Đặt bàn.....................................27
Hình 23: Biểu đồ hoạt động thực hiện chức năng Đăng nhập................................28
Hình 24: Biểu đồ lớp...............................................................................................29
Hình 25: Biểu đồ tuần tự thực hiện chức năng Thêm nhà hàng..............................30
Hình 26: Biểu đồ tuần tự thực hiện chức năng Thêm khách hàng...........................30
Hình 27: Biểu đồ tuần tự thực hiện chức năng Xóa................................................31
Hình 28: Biểu đồ tuần tự thực hiện chức năng Sửa thông tin Khách hàng.............31
Hình 29: Biểu đồ tuần tự thực hiện chức năng Sửa thông tin Nhà hàng.................32
Hình 30: Biểu đồ tuần tự thực hiện chức năng Tìm kiếm thông tin.........................32
Hình 31: Biểu đồ tuần tự thực hiện chức năng Đặt bàn..........................................33

Hình 32: Biểu đồ quan hệ cơ sở dữ liệu..................................................................38
Hình 33: Giao diện chính........................................................................................40
Hình 34: Giao diện tìm kiếm...................................................................................41
Hình 35: Giao diện đặt bàn.....................................................................................42
Hình 36: Giao diện đăng ký....................................................................................42
Hình 37: Giao diện đăng nhập................................................................................43
Hình 38: Giao diện quản lý thông tin cá nhân........................................................43

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 7


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

MỞ ĐẦU
I. Giới thiệu bối cảnh đề tài

Ngày nay, cả thế giới đang chứng kiến sự bùng nổ của cuộc cách mạng công
nghệ thông tin. Công nghệ thông tin đã chứng tỏ được vị trí của mình bằng sự xuất
hiện trong mọi lĩnh vực, mọi nơi trong đời sống. Có thể nói, nền kinh tế toàn cầu
đang chịu ảnh hưởng sâu sắc từ công nghệ thông tin.
Thật vậy, trong lĩnh vực ẩm thực, các nhà hàng,quán ăn ngày càng nhiều. Để
thuận lợi cho khách hàng mà không cần phải đi tới nơi để tìm hiểu đặt bàn. Khách
hàng có thể ngồi ở bất cứ nơi đâu cũng có thể đặt bàn nhà hàng ngay xung quanh
mình.
Đây là lý do em chọn đề tài “XÂY DỰNG WEBSITE ĐẶT BÀN NHÀ
HÀNG TRONG KHU VỰC HIỆN TẠI CỦA KHÁCH HÀNG”.
II. Mục tiêu
- Xây dựng được website đặt bàn nhà hàng.

- Quản lý, cập nhật thông tin nhà hàng một cách chính xác.
- Xác định được vị trí của khách hàng để đưa ra các nhà hàng gần nhất.
- Giao diện gần gũi, dễ dàng thao tác cho khách hàng.
III. Phạm vi nghiên cứu
Nghiên cứu kĩ về các kiến thức cơ bản để lập trình Web bên phía

client. Học các tag htm và css để tạo style đẹp mắt cho trang web. Nghiên
cứu các kỹ thuật của javascript để tạo tương tác cho trang (tạo menu xổ
xuống, tạo đồng hồ javascript...)
Nghiên cứu về lí thuyết cơ sở dữ liệu quan hệ: các dạng chuẩn, cách
tạo cơ sở dữ liệu, tạo bảng, mô hình hóa dữ liệu. Nghiên cứu cụ thể về một
hệ quản trị cơ sở dữ liệu (My SQL)
Nghiên cứu về PHP để tạo trang web có nội dung động, học cách kết
nối cơ sở dữ liệu từ PHP.
Các kiến thức cơ bản về phân tích và thiết kế hệ thống.
IV. Phương pháp nghiên cứu

Phương pháp nghiên cứu lý thuyết
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ có liên quan.
- Tổng hợp các tài liệu.
- Phân tích và thiết kế hệ thống thông tin.
V. Kết quả dự kiến

Xây dựng, hoàn thiện và đưa vào sử dụng thử nghiệm website giúp người dùng
đặt bàn nhanh hơn

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 8



Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
VI. Bố cục luận văn

GIỚI THIỆU TỔNG QUAN
Chương 1. CƠ SỞ LÝ THUYẾT
1.
2.
3.
4.
5.

Tổng quan về HTML
Tổng quan về CSS
Tổng quan về Javascript
Tổng quan về PHP
Cơ sở dữ liệu

Chương 2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1. Phương pháp, công cụ, tài liệu
2. Thiết kế hệ thống

Chương 3. TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
1. Các công cụ
2. Triển khai chức năng các chương trình
3. Đánh giá kết quả

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết quả đạt được
2. Hạn chế

3. Hướng phát triển của đề tài

Chương 1: CƠ SỞ LÝ THUYẾT

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 9


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
1.1

TỔNG QUAN VỀ HTML

1.1.1 Căn bản về HTML

HTML (HyperText Markup Language). Đây là một ngôn ngữ đơn giản được
sử dụng trong các tài liệu siêu văn bản. Nó cũng chỉ là các tài liệu văn bản bình
thường nhưng có chứa các thành phần đặc biệt gọi là các thẻ (hoặc các cặp thẻ)
đánh dấu. Dựa theo các cặp thẻ này mà trình duyệt có thể biết được nó phải thực
hiện cái gì. Bản chất của HTML không phải là một ngôn ngữ lập trình nên người
lập trình cũng không cần lo lắng đến những thuật toán lằng nhằng. Nó chỉ là một
"ngôn ngữ" để đánh dấu văn bản. Và HTML là một trong các ngôn ngữ mà người
thiết kế website tối thiểu cần biết.
1.1.2 Thẻ (tag) trong html

Thẻ (tag) là thành phần cơ bản và quan trọng nhất trong html. Các thẻ tag
này làm lên một trang html.
1.1.3 Cấu trúc của một file html


Mở đầu một trang html bằng một khai báo DOCTYPE. Ví dụ:
" />Khai báo ở trên báo cho trình duyệt biết đây là một trang html, và nó chỉ ra
phiên bản của ngôn ngữ html đang được sử dụng
Sau đó là :
<HTML>
<HEAD>
phần đầu tài liệu
</HEAD>
<BODY>
phần thân tài liệu
</BODY>
</HTML>
Những cặp thẻ này bắt buộc phải có trong một tài liệu html. Trong phần
đầu tài liệu, chúng ta có thể đặt những thẻ liên kết đến các file css, js ngoài, các thẻ
meta...
Phần thân tài liệu là phần chính để vẽ lên trang web. Trong đó có thể đặt
các thẻ text, thẻ liên kết đến trang web khác, các thẻ hình ảnh...
1.1.4 Các thẻ HTML cơ bản
- Tạo tiêu đề cho trang: <title> tiêu đề của trang </title> Thẻ này được đặt

trong thẻ <head>

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 10


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
- Tạo liên kết đến trang khác thông qua text: <a href=”url”>text hiển thị</a>


-

-

Thẻ này sẽ tạo ra một dòng chữ liên kết. Khi nhấn chuột vào dòng chữ đó
thì trình duyệt sẽ dẫn ta đến một trang web khác chỉ bởi “url” ví dụ

Tạo chữ in đậm: <B>các chữ cần viết đậm</B>
Chữ nghiêng: <I>các chữ cần viết nghiêng</I>
Chữ gạch chân: <U>các chữ cần gạch chân</U>
Tạo một đoạn văn: <P>giữa thẻ này là một đoạn văn</P>
Xuống dòng mới: <BR>chữ này được viết dưới dòng mới và không cần thẻ
đóng cho loại tab này
Tạo một gạch ngang: <HR>các chữ này được nằm ở dưới, ngăn cách với
cách đoạn chữ trước bởi một gạch ngang.
Tạo heading: <H#>dòng tiêu đề</H#> Trong đó # có thể là từ 1 đến 6. Giá
trị 1 ứng với dòng tiêu đề lớn nhất, cấp độ giảm nhỏ dần xuống khi giá trị #
tăng lên.
Đoạn chú thích: <!- -những gì ở đây đều bị trình duyệt bỏ qua - ->
Hiển thị hình ảnh: <IMG src=”url” /> Hình ảnh ở đường dẫn url sẽ được
trình duyệt hiển thị lên trang web
Tạo table: Dùng thẻ <TABLE>, <TR>, <TD>để tạo bảng
Tạo danh sách: <UL><LI>dòng 1 <LI>dòng 2 </UL> <UL>để tạo danh
sách không có thứ tự. Để tạo danh sách có thứ tự ta dùng thẻ <OL>
Ngoài ra còn có các thẻ tạo form, các thẻ tạo control....

1.2

TỔNG QUAN VỀ CSS


1.2.1 CSS là gì?

Khi thế giới web mới ra đời người ta thường dùng các thẻ HTML để dàn trang.
Việc dàn trang đó bao gồm chia trang web thành các bảng, ô, để add text, add ảnh,
kiểu chữ, màu sắc...
Khi mà công nghệ web ngày càng phát triển người ta nhận thấy việc dàn trang
bằng các bảng ngày càng trở nên bất tiện. Khối lượng mã HTML lớn cùng việc khó
khăn trong kiểm soát các vùng nội dung trên trang web là những lý do khiến HTML
ngày càng thất thế trong việc này.
Công nghệ CSS được đề cập đầu tiên bởi W3C vào năm 1996. Theo định nghĩa
của W3C (Wide Web Consortium) CSS (từ viết tắt của Cascading Style Sheet tạm
dịch là bảng kiểu xếp chồng) là một ngôn ngữ giúp người thiết kế web có thể add
kiểu vào tài liệu web (như kiểu font chữ, màu sắc, khoảng cách vv..). Với CSS,
chúng ta có thể tạo ra kiểu một lần nhưng có thể dùng lại nhiều lần trong các tài liệu
web tiếp theo.
1.2.2

Các cách sử dụng CSS

Có 3 cách để sử dụng css:
SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 11


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
-

Áp dụng trực tiếp trên một đối tượng nhất định bằng thuộc tính style

style="font-weight:bold;text-decoration:underline;color:#FF0000;">Đoạn text cần
in đậm, gạch chân, màu đỏ</span>

-

Đặt CSS ở đầu trang web để áp dụng kiểu dáng cho một mình trang ấy
<style type=”text/css”>
body {font-family:verdana;color:#0000FF;} // Kiểu chữ trong trang web là
"Verdana", màu chữ thông thường là màu đỏ
</style>

-

Đặt các thuộc tính CSS vào một tệp riêng biệt (*.css), có thể đưa vào nhiều trang
khác nhau:
Nội dung tệp style.css: body {font-family:verdana;color:#0000FF;}
*Đặt tệp này vào trang web bằng đoạn mã (mã có thể nằm ngoài thẻ <head>):
<link rel="stylesheet" type="text/css" href="style.css">
1.2.3

Cú pháp của CSS

Cú pháp của CSS được tạo nên bởi 3 thành phần:
- Thành phần lựa chọn (thường là một thẻ HTML) (Selector), hoặc một id,
class
- Thuộc tính (Property)
- Giá trị (Value)
Cú pháp của CSS được thể hiện như sau:
Selector {
Property1: Value1;

Property2: Value2;
}
Selector thường là các thẻ HTML mà chúng ta muốn định nghĩa thêm, hoặc là
một id, class. Property là thuộc tính mà chúng ta muốn thay đổi; mỗi một thuộc tính
cần phải có một giá trị. Một thuộc tính và giá trị của nó được phân cách bởi dấu hai
chấm. Hai cặp thuộc tính-giá trị được phân cách nhau bởi dấu chấm phảy. Toàn bộ
các cặp thuộc tính-giá trị của một thẻ HTML được đặt trong cặp dấu ngoặc nhọn {}
Ví dụ:
P{
text-align: center;
color: red;
font-family: arial;
}
Có thể nhóm một số thẻ vào. Ví dụ dưới đây thì những gì nằm trong thẻ P hoặc
SPAN đều có chung style:
SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 12


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
P , SPAN{
text-align: center;
color: red;
font-family: arial;
}
1.3

TỔNG QUAN VỀ JAVASCRIPT


1.3.1 Javascript là gì

Với việc dùng HTML và CSS như đã nói ở trên thì chúng ta có thể tạo được
một trang web có bố cục trình bày đẹp mắt. Tuy nhiên, trang web đó không có tính
tương tác động với người dùng. Ví dụ: nó không thể nhận biết được khi người dùng
di chuyển chuột, nhấn phím... Nhiệm vụ đó dành cho javascript.
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa
trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Nó được đưa ra nhằm hỗ
trợ khả năng tương tác của trình duyệt web. Ngôn ngữ này được dùng rộng rãi cho
các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối
tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại
Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành
LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương
tự C, nhưng nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho
tập tin mã nguồn JavaScript.
1.3.2
-

Cách nhúng Javascript vào html

Đặt trong mã html:
<html>
<head>
<script language=”JavaScript”>

</Script>
<body>

<script language=”JavaScript”>


SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 13


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
</script>
</body>
</html>
Như vậy có thể thấy JavaScript nằm giữa thẻ <script> và </Script> có thuộc
tính language=”javascript”
-

Đặt ở file ngoài

Chúng ta phải tạo một file JavaScript (có phần mở rộng là .js) rồi viết tất cả
code javascript vào đó. Và dùng khai báo sau để nhúng mã js từ file đó vào trang
html ta dùng cú pháp:
<script src=’File_nguồn’></script>
1.3.3

Ứng dụng của Javascript

Điểm cần nhấn mạnh là JavaScript được đưa ra nhằm hỗ trợ khả năng tương

tác của trình duyệt Web, do vậy tất cả các ứng dụng của JScript đều hướng tới cách
trình bày một trang Web.
Ví dụ, dùng Javascript chúng ta có thể làm được việc sau: Bình thường, các
nút bấm đều ở trạng thái nổi (thực chất chúng đều là các tệp ảnh bình thường). Khi
đưa con trỏ chuột vào, nút tương ứng sẽ lõm xuống (thực tế là được thay thế bằng
một tệp ảnh khác).
Rất nhiều trang web sử dụng JavaScript để thiết kế trang web động và một
số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một số
tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự
động thay đổi hình ảnh,... Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ
tiếng Việt giống như bộ gõ hiện đang sử dụng trên trang Wikipedia tiếng Việt.
1.4

TỔNG QUAN VỀ PHP

1.4.1 PHP là gì?
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ .Nói một
cách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý PHP được
thực hiện trên máy chủ ( Windowns hoặc Unix ) .Khi một trình duyệt yêu cầu một
trang php từ webserver thì trước hết webserver sẽ thực hiện đoạn mã php đó, sau đó
đưa ra kết quả như ngôn ngữ HTML .Vì quá trình xử lý này diễn ra trên máy chủ
nên trang Web được viết bằng PHP sẽ được truy cập bằng trình duyệt ở bất kì hệ
điều hành nào.

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 14


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

1.4.2 Tại sao nên dùng php?
PHP là ngôn ngữ mã nguồn mở : Bởi vì mã nguồn của PHP sẵn có nên cộng
đồng các nhà phát triển Web luôn có ý thức cải tiến nó ,nâng cao để khắc phục các
lỗi trong ngôn ngữ này.
PHP rất ổn định và tương thích ,vận hành khá tốt trên các hệ điều hành gồm
cả Unix ,windows...
1.4.3 Cấu trúc của một trang PHP
Một trang php là một trang HTML có nhúng mã php giữa cặp thẻ
<?php mã php ở đây ?>
Ví dụ:
<HTML>
<BODY>
echo ("Hello world!");
?>
</BODY>
</HTML>
Trang PHP ở trên đơn giản chỉ trả về cho trình duyệt một trang web hiển thị
dòng chữ “Hello world!”
1.4.4 Kết nối cơ sở dữ liệu
Kết nối cơ sở dữ liệu là nhiệm vụ cực kỳ quan trọng trong PHP để tạo ra một
trang web động.
Các bước cần thực hiện để làm việc với csdl:
Bước 1: Thiết lập kết nối tới CSDL.
Bước 2: Lựa chọn CSDL.
Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu có
Bước 4: Đóng kết nối tới CSDL.
1.5

CƠ SỞ DỮ LIỆU


1.5.1 Các khái niệm cơ bản
-

Cơ sở dữ liệu: Là một tập hợp các bảng dữ liệu có quan hệ với nhau sao cho cấu
trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách biệt với
chương trình ứng dụng bên ngoài, đồng thời nhiều người dùng khác nhau cũng như
nhiều ứng dụng khác nhau có thể cùng khai thác và chia sẻ một cách chọn lọc lúc
cần

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 15


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
-

Thực thể:Là hình ảnh cụ thể của một đối tượng trong hệ thống thông tin quản lí.
Một thực thể xác định tên và các thuộc tính.
Thuộc tính: Là một yếu tố dữ liệu hoặc thông tin của thực thể
Lớp thực thể: Là các thực thể cùng thuộc tính
Lược đồ quan hệ: tập các thuộc tính của một quan hệ. Lược đồ một quan hệ gồm
các thuộc tính của thực thể cùng với các mệnh đề ràng buộc.
Ví dụ lược đồ một quan hệ:
R=<x,w>=(A1:D1,A2:D2,...An:Dn,M)
Trong đó: R là một lược đồ quan hệ
Ai: tên thuộc tính i
Di: miền xác định của thuộc tính
M:Mệnh đề ràng buộc

Nội dung của một lược đồ quan hệ gọi là các bộ.
Các phép toán tối thiểu:



Tìm kiếm dữ liệu theo tiêu chuẩn đã chọn, không làm thay đổi trạng thái CSDL.



Thay đổi cấu trúc CSDL



Thay đổi nội dung CSDL



Xử lí tính toán trên CSDL
1.5.2 Phụ thuộc dữ liệu và các dạng chuẩn

-

Một thuộc tính gọi là phụ thuộc vào các thuộc tính khác khi giá trị của thuộc tính
này phụ thuộc vào giá trị của thuộc tính kia. Sự phụ thuộc này có thể là gián tiếp
hay trực tiếp.

-

Một quan hệ bao giờ cũng có một nhóm thuộc tính mà giá trị của chúng quy định
giá trị của các thuộc tính khác, nhóm thuộc tính đó gọi là khóa.


-

Với một quan hệ tùy vào các phụ thuộc của các thuộc tính vào khóa có trong đó, mà
ta phân chia các quan hệ đó thành các dạng chuẩn khác nhau. Các dạng chuẩn cơ
bản:



Dạng chuẩn1



Dạng chuẩn 2



Dạng chuẩn 3

-

Các dữ liệu lưu trữ dưới dạng chuẩn 3 tránh được hiện tượng dư thừa dữ liệu, tạo
cho dữ liệu có tính độc lập cao. Các quan hệ nếu chưa ở dạng chuẩn 3 sẽ được phân
rã thành các quan hệ nhỏ hơn có dạng chuẩn 3.

1.5.3 Chỉ dẫn và khóa chỉ dẫn

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 16



Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
Để có thể tìm kiếm thông tin nhanh theo một tiêu chuẩn nào đó, chúng ta tạo ra
các thông tin chỉ dẫn theo tiêu chuẩn đó. Các thông tin chỉ dẫn là các thông tin giúp
ta tìm kiếm dữ liệu nhanh. Các thông tin này gọi là khóa chỉ dẫn. Khóa chỉ dẫn có
thể là một trường hoặc nhiều trường, trong trường hợp này phải chỉ ra thứ tự. Với
cách tạo ra khóa theo tiêu chuẩn nào đó, ta có thể tìm kiếm dữ liệu nhanh theo tiêu
chuẩn đó.
1.5.4 Mục tiêu và tính ưu việt của mô hình quan hệ
-

Cho một lược đồ dữ liệu dễ sử dụng, mô hình đơn giản, người dùng không cần biết
cấu trúc vật lý của dữ liệu. Tiện lợi cho người dùng cuối không chuyên tin học.

-

Tăng cường tính độc lập của dữ liệu. Đặc biệt là độc lập vật lý

-

Cho một khả năng có thể thao tác với ngôn ngữ lập trình bậc cao.

-

Tối ưu việc tìm kiếm dữ liệu trong cơ sở dữ liệu, hệ quản trị tự tìm cách truy cập.

-

Cải thiện nâng cao toàn vẹn dữ liệu và bảo mật dữ liệu


-

Có thể phục vụ cho nhiều chương trình ứng dụng
Có cơ sở toán học phong phú, chắc chắn: lý thuyết quan hệ, dạng chuẩn có độ
bền vững và đầy đủ thông tin

Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 17


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
2.1.

PHƯƠNG PHÁP, CÔNG CỤ

2.1.1 Phương pháp
Qua tìm hiểu các phương pháp, em đã chọn thực hiện theo phương pháp
hướng đối tượng. Đây là phương thức thực hiện thiết kế hướng đối tượng qua việc
sử dụng một ngôn ngữ lập trình có hỗ trợ các tính năng hướng đối tượng. Phương
pháp này có một số ưu điểm như:
- Đơn giản hóa độ phức tạp khi bảo trì.
- Giảm nhẹ các thao tác viết mã cho người lập trình.
- Phản ánh được quan hệ giữa các bảng có thực.
- Có tính đóng gói và che giấu thông tin.
- Tính đa hình.
- Tính kế thừa.

- Ngoài ra, đối với người mới học về lập trình thì phương pháp này dể tiếp

thu hơn so với những phương pháp trước đó
2.1.2 Công cụ:
- Sử dụng StarUML để vẽ sơ đồ.
2.2. PHÂN TÍCH
Đặc tả yêu cầu
Mỗi nhà hàng có một vị trí cụ thể với kinh độ và vĩ độ riêng biệt
Mỗi khách hàng truy cập vào website có một vị trí cụ thể.
Khách hàng tìm kiếm nhà hàng quanh khu vực xung quanh của mình dựa
trên khoảng cách kinh độ và vĩ độ của hiện tại của khách hàng tới nhà hàng.
- Khách hàng có thể tìm kiếm nhà hàng theo nhu cầu thích hợp của mình.
- Khách hàng có thể đặt bàn ngay mà không cần phải liên hệ tới nhà hàng.

2.2.1
-

2.2.2Yêu cầu giao diện:
- Giao diện gần gủi, dễ sử dụng với khách hàng
- Hình ảnh hài hòa hiển thị gọn gang cho khách hàng dễ dàng trong việc đặt

bàn
- Các chức năng được bố trí hợp lí và dễ tìm kiếm.
- Font chữ dễ nhìn, dễ đọc.

2.3. SƠ ĐỒ USE CASE

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 18



Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
2.3.1 Use case tổng quát:

Hình 1. Use case tổng quát

2.3.2 Use case khách hàng

Hình 2. Use case khách hàng.

Mô tả ngắn gọn:
SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 19


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
Khách hàng đăng nhập vào website để xem các thông tin của nhà hàng, chọn
thời gian và địa điểm nhà hàng để đặt bàn.
2.3.3 Use case khách hàng đăng nhập website

Hình 3. Use case đăng nhập.


Đặc tả chức năng đăng nhập

Bảng 1. Chức năng đăng nhập

Thuộc tính

Actor
Pre-conditions
Post-conditions
Flow
1.

Mô tả
Khách hàng
Khách hàng đang ở giao diện đăng nhập
Cập nhật lại dữ liệu
Nhập thông tin của khách hàng.
2. Khách hàng chọn xác nhận.
3. Hệ thống kiểm tra email và mật khẩu có trùng khớp với cơ sở dữ
liệu hay không?
4. Nếu có thì thông báo thành công.

After Flow
2.3.4 Use case khách hàng cập nhật thông tin cá nhân

Hình 4. Use case cập nhật thông tin cá nhân.
• Đặc tả chức năng cập nhật thông tin cá nhân
Bảng 2. Chức năng cập nhật thông tin cá nhân

Thuộc tính
Actor

Mô tả
Khách hàng

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4


Page 20


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
Pre-conditions Khách hàng đang ở giao diện thông tin cá nhân
Post-conditions Cập nhật lại dữ liệu
Flow
Khách hàng xem thông tin cá nhân
Khách hàng chọn thay đổi.
Hệ thống kiểm tra email và mật khẩu có trùng khớp với cơ sở dữ
liệu hay không?
Nếu có thì thông báo thành công.
Hệ thống cập nhật lại dữ liệu
After Flow
2.3.5 Use case tìm kiếm nhà hàng

Hình 5. Use case tìm kiếm nhà hàng

• Đặc tả chức năng tìm kiếm nhà hàng
Bảng 3. Chức năng tìm kiếm

Thuộc tính
Actor
Pre-conditions
Post-conditions
Flow
1.

Mô tả

Khách hàng
Khách hàng đang ở form tìm kiếm
Xuất kết quả tìm kiếm
Khách hàng nhập thông tin cần tìm
2. Khách hàng chọn tìm kiếm.
3. Hệ thống kiểm tra thông tin nhập vào có trùng khớp với cơ sở dữ
liệu hay không?
4. Nếu có thì xuất kết quả tìm kiếm.

After Flow

2.3.6 Use case đặt bàn

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 21


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

Hình 6. Use case đặt bàn

• Đặc tả chức năng đặt bàn
Bảng 4. Chức năng đặt bàn

Thuộc tính
Actor
Pre-conditions
Post-conditions
Flow

1.
2.
3.
4.
5.
6.

Mô tả
Khách hàng
Khách hàng đang ở giao diện đặt bàn
Cập nhật lại dữ liệu
Khách hàng chọn thông tin mình cần đặt bàn
Khách hàng chọn đặt bàn.
Hệ thống kiểm tra bàn có còn trống trong thời gian khách hàng
chọn hay không?
Nếu có thì thông báo thành công
Hệ thống gửi thông tin của khách hàng đến email của nhà hàng
được chọn.
Hệ thống cập nhật lại dữ liệu.

After Flow

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 22


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
2.3.7 Use case admin quản lý thông tin nhà hàng:


Hình 7. Use case quản lý thông tin nhà hàng.

Mô tả:
Admin có nhiệm vụ cập nhật thông tin của nhà hàng sau đó đưa vào cơ sở dữ
liệu.
2.3.8 Use case admin thêm thông tin nhà hàng

Hình 8. Use case thêm thông tin nhà hàng

• Đặc tả chức năng thêm thông tin nhà hàng
Bảng 5. Chức năng thêm thông tin nhà hàng.

Thuộc tính
Actor
Pre-conditions
Post-conditions
Flow
1.

Mô tả
Admin
Admin trong cơ sở dữ liệu của nhà hàng
Cập nhật lại dữ liệu
Nhập thông tin nhà hàng cần thêm vào

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 23



Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng
2. Admin chọn xác nhận lưu
3. Hệ thống hiển thị thông báo thành công
4. Hệ thống cập nhật thông tin nhà hàng vừa được thêm vào cơ

sở dữ liệu.
After Flow
2.3.9 Use case admin sửa thông tin nhà hàng

Hình 9. Use case sửa thông tin nhà hàng
• Đặc tả chức năng sửa thông tin nhà hàng
Bảng 6. Chức năng sửa thông tin nhà hàng.

Thuộc tính
Actor
Pre-conditions
Post-conditions
Flow
1.
2.
3.
4.
5.

Mô tả
Admin
Admin trong cơ sở dữ liệu của nhà hàng
Cập nhật lại dữ liệu
Chọn thông tin cần sửa
Admin nhập thông tin mới

Chọn xác nhận lưu
Hệ thống hiển thị thông báo thành công
Hệ thống cập nhật lại dữ liệu.

After Flow

2.3.10 Use case admin xóa thông tin nhà hàng

Hình 10. Use case xóa thông tin nhà hàng

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 24


Xây dựng website đặt bàn nhà hàng trong khu vực hiện tại của khách hàng

• Đặc tả chức năng xóa thông tin nhà hàng
Bảng 7. Chức năng xóa thông tin nhà hàng.

Thuộc tính
Actor
Pre-conditions
Post-conditions
Flow
1.

Mô tả
Admin
Admin trong cơ sở dữ liệu của nhà hàng

Cập nhật lại dữ liệu
Chọn thông tin cần xóa
2. Chọn xác nhận lưu
3. Hệ thống hiển thị thông báo thành công
4. Hệ thống cập nhật lại dữ liệu

After Flow
2.3.11 Use case admin quản lý giao diện:

Hình 11. Use case Quản lý giao diện.

Mô tả:
Admin có nhiệm vụ quản lý giao diện, chỉnh sửa cho phù hợp với nhu cầu của
khách hàng.

SVTH: Nguyễn Ngọc Đại – Lớp: 10T4

Page 25


×