MỤC LỤC 
CHƯƠNG 1 TỔNG QUAN.7 
1.1 ĐẶT VẤN ĐỀ.7 
1.1.1 Hiện trạng chung.7 
1.1.2 Lý do thực hiện đềtài.8 
1.2 NHIỆM VỤCỦA ĐỀTÀI.9 
1.3CẤU TRÚC CỦA ĐỒÁN.10 
1.4 YÊU CẦU CÁC CHỨC NĂNG CHÍNH.11 
1.4.1 Đối với ban quản trị.11 
1.4.2 Đối với Nhà cung cấp.11 
1.4.3 Đối với khách hàng.11 
1.5 YÊU CẦU PHI CHỨC NĂNG.11 
1.6HẠN CHẾCỦA HỆTHỐNG.12 
1.7 YÊU CẦU KỸTHUẬT.12 
1.7.1 Phần cứng.12 
1.7.2 Phần mềm.12 
1.7.2.1 Đối với người phát triển phần mềm.12 
1.7.2.2 Đối với máy chủtriển khai ứng dụng.12 
CHƯƠNG 2 TỔNG QUAN VỀAJAX.13 
2.1LỊCH SỬAJAX.13 
2.2 ỨNG DỤNG CỦA AJAX.14 
2.3 KHÁI NIỆM AJAX.15 
2.4 MÔ HÌNH HOẠT ĐỘNG CỦA AJAX.17 
2.5 CÁC CÔNG NGHỆTRONG AJAX.19 
2.5.1 Công nghệtrong AJAX – Javascript.19 
2.5.2 Đặc tính của ngôn ngữjavascript.20 
2.5.3 Built-in Object trong javascript.21 
2.5.4 Các đối tượng được cung cấp bởi môi trường Netscape.21 
2.5.5 Các đối tượng do người lập trình xây dựng.21 
2.5.6 Các cú pháp cơbản của lệnh :.22 
2.5.7 Sựkiện trong JavaScript.25 
2.5.8 Cascading Style Sheet – CSS.26 
2.5.9 Các ưu điểm của CSS trong thiết kếweb.27 
2.5.10 Tổng quan XML.28 
2.5.10.1 Khái niệm.28 
2.5.10.2 Lịch sử.28 
2.5.10.3 Đặc điểm.28 
2.5.10.4 Ứng dụng của XML.30 
CHƯƠNG 3 GIẢI QUYẾT BÀI TOÁN.35 
3.1 PHÂN TÍCH THIẾT KẾHỆTHỐNG THÔNG TIN.35 
3.1.1 Sơ ĐồUse Case.35 
3.1.1.1 Use Case Nhà Cung Cấp.35 
3.1.1.2 Sơ ĐồUse Case Thực Khách Và HệThống.36 
3.1.1.3 Sơ ĐồUse Case Ban Quản Trị.36 
3.1.1.4 Sơ đồUse Case Khách Hàng Vãng lai.38 
3.1.1.5 Sơ đồUse Case Của Toàn HệThống.39 
3.1.2 Đặc tảUse case.39 
3.2SƠ ĐỒTRÌNH TỰCÁC CHỨC NĂNG CHÍNH.41 
3.2.1 Sequence diagram cho Use Case Login.41 
3.2.2 Sequence diagram cho Use Case Đăng ký thành viên.42 
3.2.3 Sequence diagram cho Use Case Cập nhật Thông Tin Nhà Cung Cấp.43 
3.2.4 Sequence diagram Use Case Đăng Bài Giới Thiệu Món Ăn.44 
3.2.5 Sequence diagram cho Use Case Tìm kiếm Món Ăn, Nhà Hàng, Tin tức.45 
3.3SƠ ĐỒTIẾN TRÌNH.46 
3.3.1 Sơ ĐồTiến Trình Của Nhà Cung Cấp.46 
3.3.2 Sơ ĐồTiến Trình Của Món Ăn.46 
3.3.3 Sơ ĐồTiến Trình Của Thông Tin Phản Hồi.47 
3.4 MÔ HÌNH THỰC THỂKẾT HỢP.48 
3.5 MÔ HÌNH DỮLIỆU QUAN HỆ.48 
3.5.1 Bảng PhanLoaiNCC.48 
3.5.2 Bảng KhuVucNCC.49 
3.5.3 Bảng NhaCungCap.49 
3.5.4 Bảng PhanLoaiMonAn.50 
3.5.5 Bảng MonAn.50 
3.5.6 Bảng PhanLoaiTinTuc.51 
3.5.7 Bảng TinTuc.51 
3.5.8 Bảng BanQuanTri.52 
3.5.9 Bảng PhanHoiTuThucKhach.52 
3.6 QUAN HỆGIỮA CÁC BẢNG.54 
3.7 Ràng buộc toàn vẹn.54 
3.7.1 Ràng buộc toàn vẹn trên một bảng.54 
3.7.2 Ràng buộc toàn vẹn vềmiền giá trị.57 
3.7.3 Ràng buộc liên bộ.59 
3.7.4 Ràng buộc toàn vẹn có bối cảnh gồm nhiều quan hệ.61 
3.7.4.1 Ràng buộc toàn vẹn vềphụthuộc tồn tại.61 
3.7.4.2 Ràng buộc liên thuộc tính , liên quan hệ.63 
3.8DẠNG CHUẨN.65 
3.9SƠ ĐỒWEBSITE.69 
3.9.1Sơ ĐồCho Người Dùng.69 
3.9.2 Sơ ĐồCho Ban Quản Trị.70 
CHƯƠNG 4 KẾT QUẢTHỰC HIỆN.71 
4.1 NHỮNG TRANG ỨNG DỤNG AJAX.71 
4.1.1 Trang của ban quản trị.71 
4.1.2 Trang khi xác lập lại mật khẩu cho quản trịkhác.71 
4.1.3 Trang đăng kí.72 
4.1.4 Trang đổi mật khẩu của Nhà cung cấp.73 
4.1.5 Trang quy định khi đăng ki.74 
4.1.6 Xác lập lại mật khẩu cho nhà cung cấp.75 
4.2 GIAO DIỆN CỦA CHƯƠNG TRÌNH.75 
4.2.1 Trang chủ.75 
4.2.2 Chi tiết món ăn.77 
4.2.3 Trang admin.78 
4.2.4 Góp ý tới nhà cung cấp.78 
4.2.5 Giới thiệu thông tin nhà cung cấp.79 
4.2.6 Trang đổi mật khẩu của Nhà cung cấp.79 
4.3CÀI ĐẶT VÀ THỬNGHIỆM.81 
4.3.1 Chuẩn bị.81 
4.3.2 Thực hiện.81 
CHƯƠNG 5 ĐÁNH GIÁ VÀ KẾT LUẬN.82 
5.1 ĐÁNH GIÁ.82 
5.2HƯỚNG PHÁT TRIỂN.82 
TÀI LIỆU THAM KHẢO.83
                
              
                                            
                                
            
 
            
                
83 trang | 
Chia sẻ: netpro | Lượt xem: 2992 | Lượt tải: 5
              
            Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ợc đ
 kí tự. 
- Thông dịch nghĩa là các mã nguồn không được biên dịch thành các đoạn mã nhị 
phân có th
và mã nguồn này được truyền trực tiếp qua Internet tới web browser. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 19 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
- 
g, date và 
- 
oi là các phương tiện 
- 
jax, JavaScript là chất kết dính các thành phần lại với nhau. 
2.5 
 của nó 
gated) vào tập tin HTML chuẩn. Khi file 
được l
 Đơn giản. 
tượng (Object Oriented). 
c tính quan trọng của ngôn ngữ JavaScript là khả năng 
t). Các Object này cho phép người lập 
Trong Jav
Đa năng nghĩa là ngôn ngữ này thích hợp để lập trình theo hầu hết các thuật 
toán và các tác vụ. JavaScript cơ bản hỗ trợ các kiểu số - number, strin
time, array, các biểu thức toán học được xử lí trong văn bản, và các hàm toán 
học như các hàm lượng giác và bộ tạo số ngẫu nhiên. Hoàn toàn có thể định 
nghĩa cấu trúc một đối tượng bằng JavaScript, điều này mang đến nguyên lý cơ 
bản cho lập trình và để viết lên nhưng đoạn mã phức tạp. 
Trong môi trường trình duyệt web, các chức năng cơ bản của trình duyệt, gồm 
CSS, DOM, và các đối tượng XMLHttpRequest, được c
của JavaScript, cho phép các nhà phát triển điều khiển các trang ở các mức độ 
khác nhau. 
Trong chồng công nghệ (tức là các công nghệ sử dụng liệt kê từ trên xuống 
dưới) của A
.2 Đặc tính của ngôn ngữ javascript 
Javascript là một ngôn ngữ thông dịch (interpreter), chương trình nguồn
được nhúng (embedded) hoặc tích hợp (inte
oad trong Browser (có support cho JavaScript), Browser sẽ thông dịch các Script 
và thực hiện các công việc xác định. Chương trình nguồn JavaScript được thông dịch 
trong trang HTML sau khi toàn bộ trang được load nhưng trước khi trang được hiển 
thị. 
Javascript là một ngôn ngữ có đặc tính: 
 Động (Dynamic). 
 Hướng đối 
 Một trong những đặ
tạo và sử dụng các đối tượng (Objec
trình sử dụng để phát triển ứng dụng. 
aScript, các Object được nhìn theo 2 khía cạnh: 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 20 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Các Object đã tồn tại chia làm 2 kiểu: 
 Các Object của JavaScript (JavaScript Built-in Object). 
Các O c
uilt-in Object để cung cấp các thông tin về sự 
hiện h
 được cung cấp bởi môi trường Netscape 
avaScript tương tác với 
file HT
 Các đối tượng được cung cấp bởi môi trường Netscape. 
bje t do người lập trình xây dựng. 
2.5.3 Built-in Object trong javascript 
JavaScript cung cấp 1 bộ các B
ành của các đối tượng được load trong trang Web và nội dung của nó.Các đối 
tượng này bao gồm các phương pháp (Method) làm việc với các thuộc tính 
(Properties) của nó. 
2.5.4 Các đối tượng
Netscape Navigator cung cấp các đối tượng cho phép J
ML, các đối tượng này cho phép chúng ta điều khiển việc hiển thị thông tin và 
đáp ứng các sự kiện trong môi trường Navigator (điều hướng). 
Ví dụ : Đối tượng mô tả 
 Window: Cung cấp các phương pháp và các tính chất cho cửa sổ hiện hành 
 việc với các địa chỉ 
 tory cung cấp thông tin về các danh sách cũ và có 
 sử dụng nhiều nhất .Nó chứa đựng 
2.5.5 Cá
 Properties) 
Cú ph h). 
của trình duyệt,bao gồm các đối tượng cho mỗi frame. 
Location: Cung cấp các tính chất và phương pháp làm
URL hiện hành được mở. 
History: Các đối tượng his
thể giới hạn sự tương tác với danh sách. 
Document: Đây là một đối tượng được 
các đối tượng,tính chất và các phương pháp làm việc với các thành phần của 
tài liệu như các: form, link, anchor, applet. 
c đối tượng do người lập trình xây dựng 
Định nghĩa thuộc tính của đối tượng: (Object
áp : Object-name.Property-name (tên đối tượng.tên đặc tín
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 21 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Ví dụ : Một đối tượng airplane có các thuộc tính như sau: 
 Airplane.model 
 Airplane.price 
 Airplane.seating 
d 
Thêm ho đối tượng (Method to Object) : 
ây dựng phương pháp để 
dụng t
a đối tượng: 
ượng của JavaScript ta phải tạo một instance 
cho đố
p cơ bản của lệnh : 
phát biểu,các toán tử và các biểu thức trên 
cùng m
BR>"); 
 có thể được liên kết với nhau và được bao bởi { } 
cument.writeln("Does It work"); 
 Airplane.maxspee
 Airplane.fuel 
các phương pháp c
Sau khi đã có các thông tin về airplane ta tiếp tục x
hông tin này. Ví dụ bạn muốn in ra mô tả của airplane hoặc tính toán khoảng 
cách tối đa của cuộc hành trình với nhiên liệu đã có: 
Airplane.description() 
Airplane.distance() 
Tạo một instance củ
Trước khi thao tác với một đối t
i tượng đó. 
2.5.6 Các cú phá
JavaScript xây dựng các hàm,các 
ột dòng và kết thúc bằng dấu “;”. 
Ví dụ: document.writeln("It work<
Các khối lệnh: 
Nhiều dòng lệnh
Ví dụ: 
{ 
do
document.writeln("It work!"); 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 22 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
} 
Xuất dữ liệu ra cửa sổ trình duyệt: 
te() và document.writeln() 
; 
Xuất c 
ML> 
utputting Text 
 plain 
Các k t trong chuổi: 
ge return 
\b
Dùng 2 phương pháp document.wri
Ví dụ: 
document.write(“Test”); 
document.writeln(“Test”)
ác thẻ HTML từ JavaScript:
Ví dụ 1: 
<HT
O
This is text
í tự đặc biệ
\n : New line 
\t : Tab 
\r : carria
\f : form feed 
: backspace 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 23 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Ví dụ riteln("It work!\n"); 
 dụng hàm alert() để hiển thị thông báo trong 
- với người sử dụng: Sử dụng phương pháp promt() để tương tác với 
Dữ liệu
ên: ví dụ 720 
.24 , -34.2 ,2E3 
Dữ liệu
”, ’245’, “ “ 
quả trả về là true hoặc false. 
chuổi). 
Tạo bi
Hello”; 
Ta có te(example); để xuất nội dung của biến. 
Nhúng JavaScript vào trong tập tin HTML:
: document.w
- Làm việc với các dialog boxes: Sử
một hộp. 
Tương tác
người sử dụng. 
 kiểu số: 
+ Số nguy
+ Số Octal: ví dụ :056 
+ Số Hexa:ví dụ:0x5F 
+ Số thập phân :ví dụ :7
 kiểu chuổi: 
ví dụ: ” Hello
Dữ liệu kiểu Boolean: Kết 
Dữ liệu kiểu null: Trả về giá trị rỗng. 
Dữ liệu kiểu văn bản (giống như kiểu 
ến trong javascript: 
Var example; 
Var example=”
 thể dùng document.wri
Phép toán Logic 
&& : và 
||: hoặc 
! not 
Cú pháp: 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 24 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Script Program 
</SC
Thuộc tí RIPT 
hỉ đến tập tin chương trình JavaScript (*.js) 
ác phiên bản 
sử dụn
ng tác với cửa sổ trình duyệt và tài liệu hiện hành 
đang đ
ện bạn có thể viết các hàm để biểu diễn cho các 
hành đ
lur : Xãy ra khi điểm tập trungcủa ngõ vào được di chuyển ra khỏi một thành 
- Form. 
r. 
erlink. 
Java
RIPT> 
nh của thẻ SC
+ SRC :Địa chỉ URL c
+ LANGUAGE: Chỉ định ngôn ngữ được sử dụng trong Script và c
g (ví dụ như :JavaScript ,JavaScript .1.2 vv… ,VBScript). 
2.5.7 Sự kiện trong JavaScript 
Các sự kiện cung cấp các tươ
ược load trong trang web, các hành động của user khi nhập dữ liệu vào form và 
khi click vào các button trong form. 
Khi sử dụng bộ quản lý sự ki
ộng dựa vào các sự kiện đựoc chọn. Bảng sự kiện trong Javascript. Tên sự kiện 
mô tả: 
- b
phần của Form (Khi user click ra ngoài một trường). 
click : Khi user Click vào 1 link hoặc thành phần của 
- change : Xãy ra khi giá trị của Form Field bị thay đổi bởi use
- focus : Xãy ra khi ngõ vào tập trung vào thành phần của Form 
- load : Xãy ra khi một trang được Load vào trong bộ duyệt. 
- mouseover : Xãy ra khi User di chuyển mouse qua một Hyp
- select : Xãy ra khi User chọn 1 trường của thành phần Form. 
- submit : Xãy ra khi User xác nhận đã nhập xong dữ liệu. 
- unload : Xãy ra khi User rời khỏi trang Web. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 25 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
2.5.8 Cascading Style Sheet – CSS 
CSS là từ viết tắt của Cascading Style Sheets : công dụng dùng để trang trí 
trang web của bạn, và thông thường được gắn với các ngôn ngữ như là HTML, PHP, 
dùng làm nổi bậc trang web và hình ảnh trang web của bạn. 
Mỗi khi bạn bắt đầu một Style Sheets, thì bắt buộc mở bằng và kết 
thúc bằng và tiếp theo sau đó là khai báo và 
kết thúc bằng . 
Cascading Style Sheet – tạm dịch là bảng kiểu xếp chồng - là một phần không 
thể thiếu trong thiết kế Web, nó được dùng rất nhiều trong các ứng dụng Web truyền 
thống cũng như trong Ajax. Một stylesheet đưa ra cách kiểm soát các loại định dạng 
trực quan, nó có thể được áp dụng cho các thành phần riêng lẻ trên các trang. 
Hơn nữa, cho các thành phần định dạng trực quan như màu sắc, lề, hình nền, 
tính trong suốt, kích cỡ, stylesheet có thể xác định cách mà các phần tử được bố trí 
quan hệ với các phần tử khác và tương tác với người dùng, cho phép các hiệu ứng khá 
mạnh mẽ. 
Trong ứng dụng Web truyền thống, stylesheet cung cấp một cách hiệu quả để 
xác định cách thể hiện vị trí và có thể được dùng lại trong nhiều trang web khác 
nữa.Với AJAX, stylesheet cung cấp một “kho chứa” các giao diện xác định trước có 
thể áp dụng cho các phần tử động với độ dài các đoạn mã nguồn là nhỏ nhất. 
CSS định dạng một trang web theo ba cách : 
- Sử dụng trực tiếp kèm với các thẻ HTML (Inline Style Sheet). 
- Định nghĩa trong một trang web (Internal Style Sheet). 
- Định nghĩa thành một file CSS riêng (External Style Sheet). Trang web của 
chúng ta sẽ tham chiếu đến file CSS này. 
Một quy tắc định dạng và bố trí gồm có hai phần: thành phần lựa chọn - selector 
và phần khai báo - style declaration. Selector đặc tả các phần tử được định dạng và bố 
trí, và style declaration khai báo các thuộc tính định dạng sẽ được áp dụng. Giả sử 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 26 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
muốn tạo ra các dòng text trong level-1 heading trong tài liệu (đó là đoạn nằm trong 
thẻ ) có màu đỏ. 
Có thể khai báo thuộc tính CSS như sau: 
 h1 {color: red} 
2.5.9 Các ưu điểm của CSS trong thiết kế web 
CSS giúp tiết kiệm được rất nhiều thời gian và công sức cho việc thiết kế web. 
Style trong phiên bản HTML 4.0 qui định cách thức thể hiện các thẻ. Style thường 
được lưu trong các file nằm ngoài trang web. Chúng giúp thay đổi cách thức định dạng 
và cách bố trí các trang web chỉ bằng cách thay đổi riêng file CSS. 
CSS cho phép điều khiển cách định dạng và cách bố trí của cùng lúc nhiều 
trang web với chỉ duy nhất một lần thay đổi tại một vị trí. Có thể định nghĩa nhiều 
style vào một thẻ HTML . 
CSS cho phép đưa các thông tin định nghĩa thẻ thông qua nhiều con đường 
khác nhau. Style có thể được qui định ở trong chỉ một thẻ HTML, được qui định trong 
một trang web hoặc ở trong một file CSS bên ngoài. 
Cú pháp cơ bản của CSS: 
Cú pháp của CSS gồm ba thành phần: 
- Thành phần lựa chọn (thường là một thẻ HTML) (Selector). 
- Thuộc tính (Property). 
- Giá trị (Value). 
Thể hiện của cú pháp CSS: 
 Selector { 
Property1: Value1; 
Property2: Value2; 
} 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 27 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Selector có thể là các thẻ/nhóm thẻ HTML, các lớp khai báo, hay bằng định danh duy 
nhất của phần tử. 
2.5.10 Tổng quan XML 
2.5.10.1 Khái niệm 
XML viết tắt từ tiếng Anh Extensible Markup Language, "Ngôn ngữ Đánh dấu 
Mở rộng".XML là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo ra 
các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của SGML, có khả năng mô 
tả nhiều loại dữ liệu khác nhau. Mục đích chính của XML là đơn giản hóa việc chia sẻ 
dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet. 
Các ngôn ngữ dựa trên XML (thí dụ: RDF, RSS, MathML, XHTML, SVG, và cXML) 
được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm 
tra hợp lệ bằng các ngôn ngữ này mà không cần có hiểu biết trước về hình thức của 
chúng. 
2.5.10.2 Lịch sử 
Vào giữa những năm 1990, các chuyên gia SGML đã có kinh nghiệm với 
World Wide Web (vẫn còn khá mới vào thời đó). Họ tin tưởng rằng SGML có thể 
cung cấp giải pháp cho các vấn đề mà Web đang gặp phải. Jon Bosak đưa ra ý kiến 
W3C nên tài trợ một chương trình mang tên "SGML trên Web". 
2.5.10.3 Đặc điểm 
XML cung cấp một phương tiện dùng văn bản (text) để mô tả thông tin và áp 
dụng một cấu trúc kiểu cây cho thông tin đó. Tại mức căn bản, mọi thông tin đều thể 
hiện dưới dạng text, chen giữa là các thẻ đánh dấu (markup) với nhiệm vụ ký hiệu sự 
phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử 
dùng để chứa dữ liệu, và các thuộc tính của các phần tử đó. Về mặt đó, XML tương tự 
với các biểu thức S (S-expression) của ngôn ngữ lập trình LISP ở chỗ chúng đều mô tả 
các cấu trúc cây mà trong đó mỗi nút có thể có một danh sách tính chất của riêng 
mình. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 28 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Universal Character Set 
(Bộ ký tự toàn cầu). Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành 
một tài liệu XML. Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thường là 
một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một chuỗi các bit 
và lưu trữ trong một tệp văn bản (text file). 
Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện. RFC3023 định 
nghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễn bằng 
XML mà không nói gì đến ngữ nghĩa của dữ liệu. 
Sự phổ biến của các phần mềm soạn thảo văn bản (word processor) đã hỗ trợ 
việc soạn thảo và bảo trì tài liệu XML một cách nhanh chóng. Trước XML, có rất ít 
ngôn ngữ mô tả dữ liệu với các đặc điểm đa năng, thân thiện với giao thức Internet, dễ 
học và dễ tạo. Thực tế, đa số các định dạng trao đổi dữ liệu thời đó đều chuyện dụng, 
có tính độc quyền, và có định dạng nhị phân (chuỗi bit thay vì chuỗi ký tự) khó dùng 
chung giữa các ứng dụng phần mềm khác nhau hay giữa các hệ nền (platform) khác 
nhau. Việc tạo và bảo trì trên các trình soạn thảo thông dụng lại càng khó khăn. 
Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của 
các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một giản đồ 
tùy biến được, XML cung cấp một cơ sở cú pháp cho việc tạo lập các ngôn ngữ đánh 
dấu dựa XML theo yêu cầu. Cú pháp chung của các ngôn ngữ đó là cố định — các tài 
liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất cả các phần mềm 
hiểu XML ít ra cũng phải có khả năng đọc (phân tích cú pháp - parse) và hiểu bố cục 
tương đối của thông tin trong các tài liệu đó. Giản đồ chỉ bổ sung một tập các ràng 
buộc cho các quy tắc cú pháp. Các giản đồ thường hạn chế tên của phần tử và thuộc 
tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' 
chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng 
một ký tự. Đây là điểm khác biệt giữa XML và HTML. HTML có một bộ các phần tử 
và thuộc tính không mềm dẻo, chỉ có một tác dụng và nói chung là không thể dùng cho 
mục đích khác. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 29 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
XML không hạn chế về việc nó được sử dụng như thế nào. Mặc dù XML về cơ 
bản là dạng text, các phần mềm với chức năng trừu tượng hóa nó thành các định dạng 
khác giàu thông tin hơn đã nhanh chóng xuất hiện, quá trình trừu tượng hóa này được 
thực hiện chủ yếu qua việc sử dụng các giản đồ định hướng kiểu dữ liệu (datatype-
oriented schema) và khuôn mẫu lập trình hướng đối tượng (mà trong đó, mỗi tài liệu 
XML được thao tác như là một đối tượng). Những phần mềm như vậy có thể coi XML 
như là dạng text đã được tuần tự hóa chỉ khi nó cần truyền dữ liệu qua mạng. 
2.5.10.4 Ứng dụng của XML. 
- XML có thể tạo ra các tập ngôn ngữ con khác(ngôn ngữ định dạng dựa trên 
XML hay XML-based Language). 
- Ứng dụng XML mang ý nghĩa cho biết một tập hợp các thẻ hay tập con XML 
hoạt động trong riêng một lĩnh vực nào đó.Ví dụ MathML là một ứng dụng của 
XML trong lĩnh vực toán học. 
- CML –Ngôn ngữ định dang hóa học. 
- MathMl – Ngôn ngữ định dạng toán học. 
- CDF – Khuôn dạng định nghĩa kênh. 
- SMIL – Ngôn ngữ tích hợp multimedia đồng bộ. 
- HTML+TIME. 
- XHTML. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 30 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Chương trình XML đơn giản: 
Ví dụ 1: 
Hình 2.5 
Đoạn mã của hình 2.5. 
 Smit 
 Sam 
 Ngay 18 thang 3 nam 2008 
 Tomatoes 
 8 
 $1 .25 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 31 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Ví dụ 2: 
Hình 2.6 
Đoạn mã của hình 2.6: 
 Data Binding With the XML DSO 
 Data Binding With the XML DSO 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 32 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 <XML ID="dsoCustomer" 
SRC="customer.xml" HEIGHT="0" WIDTH="0"> 
 Name:<INPUT TYPE="TEXT" DATASRC="#dsoCustomer" 
 DATAFLD="NAME" SIZE="10"> 
 ID:<INPUT TYPE="TEXT" DATASRC="#dsoCustomer" 
DATAFLD="CUSTOMER_ID" SIZE="5"> 
 Purchase date:<SPAN DATASRC="#dsoCustomer" 
DATAFLD="PURCHASE_DATE"> 
 Department:<SPAN DATASRC="#dsoCustomer" 
DATAFLD="DEPARTMENT" SIZE="1"> 
Product 
<OPTION VALUE="Meat"Meat 
<OPTION VALUE="Frozen" Frozen 
 Product:<SPAN DATASRC="#dsoCustomer" 
DATAFLD="PRODUCT_NAME"> 
 < < 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 33 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 <BUTTON ONCLICK=”if(!dsoCustomer.recordset.BOF) 
dsoCustomer. recordset.movePrevious()”>< 
 <BUTTON ONCLICK=”if(!dsoCustomer.recordset.EOF) 
dsoCustomer. recordset.moveNext()”>> 
 > > 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 34 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
CHƯƠNG 3 GIẢI QUYẾT BÀI TOÁN 
3.1 PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN 
3.1.1 Sơ Đồ Use Case 
3.1.1.1 Use Case Nhà Cung Cấp 
 Các chức năng của nhà cung cấp: 
- Đăng ký. 
- Đăng nhập. 
- Quản lý thông tin. 
- Xem phản hồi. 
Hình 3.1 Sơ đồ Use Case Nhà Cung Cấp 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 35 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.1.1.2 Sơ Đồ Use Case Thực Khách Và Hệ Thống 
 Các chức năng của thực khách: 
 Đăng nhập. 
 Viết phản hồi. 
 Tìm kiếm. 
Hình 3.2 Sơ đồ Use Case Thực Khách 
3.1.1.3 Sơ Đồ Use Case Ban Quản Trị 
 Các chức năng chính của ban quản trị và hệ thống là: 
 Đăng nhập. 
 Quản lý nhà cung cấp. 
 Quản lý món ăn. 
 Quản lý tin tức. 
 Quản lý phản hồi. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 36 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
 Quản lý danh mục: tin tức, loại nhà cung cấp, khu vực nhà cung cấp. 
Hình 3.3 Sơ đồ Use Case Ban Quản Trị 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 37 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.1.1.4 Sơ đồ Use Case Khách Hàng Vãng lai 
Các chức năng của khách hàng vãng lai 
 Đăng ký thành viên. 
 Xem thông tin ẩm thực. 
 Tìm kiếm. 
Hình 3.4 Sơ đồ Use Case Khách Hàng Vãng lai 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 38 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.1.1.5 Sơ đồ Use Case Của Toàn Hệ Thống 
Hình 3.5 Use Case Của Toàn Hệ Thống 
3.1.2 Đặc tả Use case 
Đăng nhập: 
Use case này mô tả cách thức người dùng đăng nhập vào hệ thống. 
Các luông sự kiện 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 39 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Use case này bắt đầu khi hệ thống yêu cầu người dùng đăng nhập. 
Luồng sự kiện chính: 
- Hệ thống hiển thị một màn hình yêu cầu người sử dụng nhập tên và mật khẩu. 
- Người dùng nhập tên và mật khẩu. 
- Sau khi nhập xong nhấn đồng ý. 
- Hệ thống sẽ chuyển thông tin lên server để xử lý. 
- Hệ thống sẽ kiểm tra tên và mật khẩu có trong cơ sở dữ liệu hay không. 
- Hệ thống sẽ dựa vào quyền của người đăng nhập để cấp cho những chức năng 
tương ứng. 
- Sau đó hệ thống sẽ thông báo cho người dùng biết là đã đăng nhập thành công. 
Luồng sự kiện phụ 
- Nếu trong luông sự kiện chính, người dùng nhập sai tên hoặc mật khẩu thì hệ 
thống sẽ thông báo là nhập tên và mật khẩu sai. Hệ thống sẽ hiển thị lại màn 
hình đăng nhập yêu cầu người dùng đăng nhập lại. 
- Người dùng có thể đăng nhập lại hoặc là hủy bỏ việc đăng nhập. 
- Điều kiện tiên quyết. 
- Hệ thống phải kết nối thành công với server. 
Kết quả 
Nếu đăng nhập thành công sẽ xuất hiện màn hình quản lý chính và tùy theo từng quyền 
của người dùng sẽ xuất hiện những chức năng tương ứng. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 40 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.2 SƠ ĐỒ TRÌNH TỰ CÁC CHỨC NĂNG CHÍNH 
3.2.1 Sequence diagram cho Use Case Login 
Hình 3.6 Sequence diagram cho Use Case Login 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 41 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.2.2 Sequence diagram cho Use Case Đăng ký thành viên 
Hình 3.7 Sequence diagram cho Use Case Đăng ký thành viên 
Chức năng: Cho phép nhà cung cấp có thể đăng ký làm thành viên của website. 
Đối tượng: Nhà cung cấp (khách sạn, nhà hàng, quán ăn). 
Thông tin đầu vào: Ảnh minh hoạ, tên đăng nhập, mật khẩu, xác nhận mật khẩu, tên 
nhà hàng, khu vực, loại hình, địa chỉ nhà hàng, số điện thoại, email (nếu có), câu hỏi bí 
mật, câu trả lời, giới thiệu về nhà hàng, xác nhận dãy số an toàn. 
Cách thức xử lý: Kiểm tra form: Tên đăng nhập phải từ 6 tới 24 ký tự và chưa có 
trong cơ sở dữ liệu, Mật khẩu phải từ 6 tới 24 ký tự, Mật khẩu xác nhận phải giống với 
mật khẩu chính, Địa chỉ không quá 100 ký tự, Số điện thoại phải là số và có từ 8 đến 
12 số, Địa chỉ email phải đúng mẫu, Câu hỏi bí mật phải được chọn, câu trả lời phải 
được điền. Kiểm tra ràng buộc dữ liệu trong CSDL. 
Dữ liệu cần lưu trữ: Tất cả các giữ liệu nhập vào được lưu vào trong database và sẽ 
có thêm trạng thái của dữ liệu (được ban quản trị xác nhận hay chưa?). 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 42 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Thông tin đầu ra: Hiện thông báo lỗi nếu các form nhập không đúng mẫu hoặc không 
hợp lệ. Hiện form thông báo đăng ký thành công và chờ Ban quản trị xác nhận nếu các 
thông tin đầy đủ và hợp lệ.
3.2.3 Sequence diagram cho Use Case Cập nhật Thông Tin Nhà Cung Cấp 
Hình 3.8 sequence diagram cho Use Case Cập nhật Thông Tin Nhà Cung Cấp 
Chức năng: Cho phép nhà cung cấp có thể thêm, sửa chữa lại các thông tin của mình. 
Đối tượng: Nhà cung cấp (khách sạn, nhà hàng, quán ăn ). 
Thông tin đầu vào: Ảnh minh hoạ, tên đăng nhập, mật khẩu, xác nhận mật khẩu, tên 
nhà hàng, khu vực, loại hình, địa chỉ nhà hàng, số điện thoại, email (nếu có), câu hỏi bí 
mật, câu trả lời, giới thiệu về nhà hàng. 
Cách thức xử lý: Kiểm tra ràng buộc dữ liệu mới nhập vào, sau đó cập nhật vào 
CSDL thông tin mới. 
Dữ liệu cần lưu trữ: Các thông tin mới của nhà cung cấp. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 43 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
Thông tin đầu ra: Hiện thông báo lỗi nếu các form nhập không đúng mẫu hoặc không 
hợp lệ. Hiện form thông báo cập nhật thành công nếu các thông tin điền vào hợp lệ. 
3.2.4 Sequence diagram Use Case Đăng Bài Giới Thiệu Món Ăn 
Hình 3.9 Sequence diagram Use Case Đăng Bài Giới Thiệu Món Ăn 
: Cho phép nhà cung cấp đăng bài giới thiệu về món ăn. Chức năng
Đối tượng: Nhà cung cấp (Khách sạn, nhà hàng, quán ăn...). 
Thông tin đầu vào: Ảnh minh hoạ, tên món ăn, thể loại món ăn, nội dung giới thiệu 
món ăn. 
Cách Cách thức xử lý: Kiểm tra ràng buộc dữ liệu mới nhập vào, sau đó cập nhật vào 
CSDL dữ liệu mới. 
Thông tin đầu ra: Trưng bày món ăn mới lên trang chủ của thực khách. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 44 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.2.5 Sequence diagram cho Use Case Tìm kiếm Món Ăn, Nhà Hàng, Tin tức 
Hình 3.10 Sequence diagram cho Use Case Tìm kiếm Món Ăn, Nhà Hàng, Tin tức. 
Chức năng: Cho phép thực khách tìm kiếm các món ăn theo danh mục, nhà hàng, 
thông tin. 
Đối tượng: Thực khách. 
Thông tin đầu vào: Nhập vào từ khóa cần tìm và loại tìm kiếm. 
Cách thức xử lý: Kiểm tra từ khoá trong CSDL xem có không. 
Thông tin đầu ra: Hiện ra các thông tin có chứa từ khóa được tìm thấy trong CSDL. 
SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 45 
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 
3.3 SƠ ĐỒ TIẾN TRÌNH 
3.3.1 Sơ Đồ Tiến Trình Của Nhà Cung Cấp 
Hình 3.11 Sơ Đồ Tiến Trình Của Nhà Cung Cấp 
3.3.2 Sơ Đồ Tiến Trình Của Món Ăn 
Hình 3.12 Sơ Đồ Tiến Trình Của Món Ăn 
SVTH: Đỗ Thị Hiền, Nguyễn Thị
            Các file đính kèm theo tài liệu này:
Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực.pdf