Ứng dụng ajax xây dựng website văn hóa ẩm thực

MỞ ĐẦU Việc cập nhật thông tin là điều không thể thiếu ở mỗi người, thông tin có thể từ nhiều nguồn như báo chí, sách, đài và các phương tiện thông tin đại chúng khác. Ngày nay Internet mở ra cho chúng ta một hình thức tiếp cận thông tin mới thông qua các hệ thống website điện tử cung cấp các nội dung báo chí truyền tải nội dung đến người xem một cách nhanh chóng và tiện lợi. Hằng ngày trên thế giới có hàng triệu triệu con người đang truy cập vào các website để tìm kiếm thông tin cho mình trong đó có thông tin về báo chí. Ở nước ta hiện nay có rất nhiều website cung cấp tin tức và có số lượng người truy cập lớn như: -www.vnexpress.net -www.tuoitre.com.vn -www.vietnamnet.vn -www.dantri.com.vn -www.thanhnien.com.vn Website văn hóa ẩm thực cung cấp một kênh riêng giúp các nhà hàng giới thiệu các món ăn của mình và giúp mang lại các thông tin văn hóa ẩm thực tới thực khách là rất cần thiết nhằm đem đến cho người dân Việt Nam các thông tin về các món ăn ngon, các món ăn ẩm thực truyền thống của dân tộc. Hơn thế nữa, nó còn giúp quảng bá, giới thiệu ra thế giới, với du khách đến VN các món ăn độc đáo mang đậm phong cách riêng của người Việt Nam. 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.3 CẤ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.6 HẠ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.1 LỊ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.2 SƠ ĐỒ 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.3 SƠ ĐỒ 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.8 DẠNG CHUẨN .65 3.9 SƠ ĐỒ WEBSITE 69 3.9.1 Sơ Đồ 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.3 CÀ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.2 HƯỚNG PHÁT TRIỂN .82 TÀI LIỆU THAM KHẢO .

pdf83 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2520 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Ứ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
iệ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ị Thuý Loan. 46 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.3.3 Sơ Đồ Tiến Trình Của Thông Tin Phản Hồi Hình 3.13 Sơ Đồ Tiến Trình Của Thông Tin Phản Hồi SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 47 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.4 MÔ HÌNH THỰC THỂ KẾT HỢP Nhà Cung Cấp Phân Loại Nhà Cung Cấp Khu Vực Nhà Cung Cấp Thuôc1 n 1 n 1 Ban Quản Trị Có Có Có Món Ăn n Thuộc n 1 Có Thuộc Tin Tức Phân Loại Tin Tức 1 n Phản Hồi Từ Thực Khách 1 1 n n Có Phân Loại Món Ăn Hình 3.14 Sơ đồ quan hệ thực thể 3.5 MÔ HÌNH DỮ LIỆU QUAN HỆ Cơ sở dữ liệu có cấu trúc như sau: 3.5.1 Bảng PhanLoaiNCC PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) Đây là bảng lưu trữ dữ liệu về phân loại nhà cung cấp, mỗi một nhà cung cấp thuộc một loại nhà cung cấp. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 48 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaLoaiNCC Tinyint Mã loại nhà cung cấp 2 TenLoaiNCC Nvarchar Tên loại nhà cung cấp Bảng 1: PhanLoaiNCC 3.5.2 Bảng KhuVucNCC KhuVucNCC(MaKhuVuc, TenKhuVuc) Đây là bảng lưu trữ dữ liệu về khu vực nhà cung cấp. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaKhuVuc Tinyint Mã Khu Vực 2 TenKhuVuc Nvarchar Tên Khu Vực Bảng 2: KhuVucNCC 3.5.3 Bảng NhaCungCap NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) Đây là bảng lưu trữ dữ liệu về thông tin nhà cung cấp. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaNhaCungCap Int Mã nhà cung cấp 2 MaKhuVuc Tinyint Mã khu vực 3 MaLoaiNCC Tinyint Mã loại nhà cung cấp 4 TenNCC Nvarchar Tên nhà cung cấp 5 TenDangNhap Varchar Tên đăng nhập SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 49 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 6 MatKhau Varchar Mật khẩu 7 DiaChiNCC Nvarchar Địa chỉ nhà cung cấp 8 SoDienThoai Varchar Số điện thoại 9 DiaChiEmail Varchar Địa chỉ Email 10 GioiThieu Nvarchar Giới thiệu 11 HinhAnh Varchar Hình ảnh 12 CauHoiBiMat Nvarchar Câu hỏi bí mật 13 CauTraLoi Nvarchar Câu trả lời 14 NgayDangKy Datetime Ngày đăng ký 15 TrangThai Tinyint Trạng thái Bảng 3: Nhà cung cấp 3.5.4 Bảng PhanLoaiMonAn PhanLoaiMonAn(MaLoaiMonAn, TenLoaiMonAn ) Đây là bảng lưu trữ dữ liệu phân loại món ăn. Nó cung cấp thể loại cho các món ăn. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaLoaiMonAn Tinyint Mã loại món ăn 2 TenLoaiMonAn Nvarchar Tên loại món ăn Bảng 4: Phân loại món ăn 3.5.5 Bảng MonAn MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) Đây là bảng lưu trữ dữ liệu về món ăn, cho biết thông tin đầy đủ và chi tiết đến các món ăn. STT Thuộc tính Kiểu dữ liệu Diễn giải SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 50 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 1 MaMonAn Int Mã món ăn 2 MaNhaCungCap Int Mã nhà cung cấp 3 MaLoaiMonAn Tinyint Mã loại món ăn 4 TenMonAn Nvarchar Tên món ăn 5 HinhAnh Varchar Hình ảnh 6 GioiThieu Nvarchar Giới thiệu 7 NgayDangBai Datetime Ngày đăng bài 8 TrangThai Bit Trạng thái Bảng 5 : Món ăn 3.5.6 Bảng PhanLoaiTinTuc PhanLoaiTinTuc(MaLoaiTT, TenLoaiTT ) Đây là bảng lưu trữ dữ liệu loại tin tức. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaLoaiTT Tinyint Mã loại tin tức 2 TenLoaiTT Nvarchar Tên loại tin tức Bảng 6: Phân loại tin tức 3.5.7 Bảng TinTuc TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin ) Đây là bảng lưu trữ dữ liệu về tin tức. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaTinTuc Int Mã tin tức 2 MaLoaiTT Tinyint Mã loại tin tức 3 TieuDe Nvarchar Tiêu đề SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 51 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 4 NoiDung Nvarchar Nội dung 5 NgayDangTin Datetime Ngày đăng tin Bảng 7: Tin tức 3.5.8 Bảng BanQuanTri BanQuanTri(MaQuanTri, TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, DiaChiEmail, LoaiQuanTri ) Đây là bảng lưu trữ dữ liệu về ban quản trị. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaQuanTri Int Mã quản trị 2 TenDangNhap Varchar Tên đăng nhập 3 MatKhau Varchar Mật khẩu 4 HoTen Nvarchar Họ tên 5 DiaChi Nvarchar Địa chỉ 6 SoDiaChi Varchar Số điện thoại 7 DiaChiEmail Varchar Địa chỉ Email 8 LoaiQuanTri Bit Loại quản trị Bảng 8: Ban quản trị 3.5.9 Bảng PhanHoiTuThucKhach PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui, TrangThai) Đây là bảng lưu trư dữ liệu về phản hồi từ thực khách. STT Thuộc tính Kiểu dữ liệu Diễn giải 1 MaPhanHoi Int Mã phản hồi 2 MaNhaCungCap Int Mã nhà cung cấp SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 52 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3 MaQuanTri Int Mã quản trị 4 TenThucKhach Nvarchar Tên thực khách 5 DiaChi Nvarchar Địa chỉ 6 SoDienThoai Varchar Số điện thoại 7 DiaChiEmail Varchar Địa chỉ Email 8 TieuDe Nvarchar Tiêu đề 9 NoiDung Nvarchar Nội dung 10 TraLoi Nvarchar Trả lời 11 NgayGui Datetime Ngày gửi 12 TrangThai Bit Trạng thái Bảng 9: Phản hồi từ thực khách SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 53 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.6 QUAN HỆ GIỮA CÁC BẢNG 3.7 Ràng buộc toàn vẹn 3.7.1 Ràng buộc toàn vẹn trên một bảng Ràng buộc 1: BanQuanTri(MaQuanTri, TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, DiaChiEmail, LoaiQuanTri) SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 54 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Nội dung: Mỗi một ban quản trị phải có một mã số phân biệt với các ban quản trị Bối cảnh: BanQuanTri Điều kiện: ∀q1, q2 ∈ BanQuanTri q1.MaQuanTri q2.MaQuanTri Tầm ảnh hưởng: Thêm Xoá Sửa BanQuanTri + - +[MaQuanTri] Ràng buộc 2: NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) Nội dung: Mỗi nhà cung cấp phải có một mã nhà cung cấp phân biệt với các nhà cung cấp. Bối cảnh: NhaCungCap Điều kiện: ∀q1, q2 ∈ NhaCungCap q1.MaNhaCungCapq2.MaNhaCungCap Tầm ảnh hưởng: Thêm Xoá Sửa NhaCungCap + - +[NhaCungCap] Ràng buộc 3: MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) Nội dung: Mỗi một món ăn phải có một mã số phân biệt với các món ăn khác SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 55 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Bối cảnh: MonAn Điều kiện: ∀q1, q2 ∈ MonAn q1.MonAn q2.MonAn Tầm ảnh hưởng: Thêm Xoá Sửa MonAn + - +[MonAn] Ràng buộc 4: TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin) Nội dung: Mỗi một tin tức có một mã số phân biệt với các tin tức khác Bối cảnh: TinTuc Điều kiện: ∀q1, q2 ∈ TinTuc q1.TinTuc q2.TinTuc Tầm ảnh hưởng: Thêm Xoá Sửa TinTuc + - +[TinTuc] Ràng buộc 5: PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui,TrangThai) Nội dung: Mỗi một phản hồi từ thực khách có một mã phản hồi phân biệt với các phản hồi khác Bối cảnh: PhanHoiTuThucKhach Điều kiện: ∀q1, q2 ∈ PhanHoiTuThucKhach SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 56 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu q1.PhanHoiTuThucKhach q2.PhanHoiTuThucKhach Tầm ảnh hưởng: Thêm Xoá Sửa PhanHoiTuThucKhach + - +[PhanHoiTuThucKhach] Ràng buộc 6: KhuVucNCC(MaKhuVuc, TenKhuVuc) Nội dung: Mỗi một khu vực nhà cung cấp phải có một mã số khu vực phân biệt với các khu vực Bối cảnh: KhuVucNCC Điều kiện: ∀q1, q2 ∈ KhuVucNCC q1.KhuVucNCC q2.KhuVucNCC Tầm ảnh hưởng: Thêm Xoá Sửa KhuVucNCC + - +[KhuVucNCC] 3.7.2 Ràng buộc toàn vẹn về miền giá trị Ràng buộc 7: Mô tả: Ngày viết phải nhỏ hơn hoặc bằng ngày trên mạng. Thuật toán: Ngày viết bài <= Ngày đăng bài Ràng buộc 8: Mô tả: Số ký tự của tiêu đề phải nhỏ hơn hoặc bằng 200 SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 57 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Câu trả lời không được để trống và phải dài không quá 50 ký tự. Số ký tự của trích dẫn giới thiệu dài không quá 4000 ký tự. Chiều dài , chiều cao của ảnh đại diện >0. Thuật toán: Length(TieuDe)<=200 and Length(CauTraLoi )<=50 and TieuDe >0 and HinhAnh >0 Ràng buộc 9: Mô tả: Số ký tự của tên đăng nhập phải khác rỗng và có ký tự từ 6 đến 24. Số ký tự của mật khẩu không được để rỗng và có ký tự từ 6 đến 24. Thuật toán: Length(ID) >= 6 and Length(ID)<=24 and Length(MK) >=6 and Length(MK) <=24. Ràng buộc 10: Mô tả: Số điện thoại phải là chữ số có từ 8-12 ký tự Email không được để trống và phải hợp lệ. Thuật toán: Length(SoDienThoai)>=8 and Length(SoDienThoai)<=12 and Length(Email) 0. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 58 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.7.3 Ràng buộc liên bộ Ràng buộc 11: NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) Bối cảnh: NhaCungCap Điều kiện: q1∈ T NhaCungCap, q2∈ T NhaCungCap q1.MaNhaCungCapq2.MaNhaCungCap Or q1.MaKhuVucq2.MaKhuVuc Or q1.MaLoaiNCC q2.MaLoaiNCC Tầm ảnh hưởng: Thêm Xoá Sửa NhaCungCap + - +[MaNhaCungCap, MaKhuVuc,MaLoaiNCC] Ràng buộc 12: MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) Bối cảnh: MonAn Điều kiện: q1∈ T MonAn, q2∈ T MonAn q1.MaMonAnq2.MaMonAn Or q1.MaNhaCungCapq2.MaNhaCungCap Or q1.MaLoaiMonAn q2.MaLoaiMonAn Tầm ảnh hưởng: SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 59 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Thêm Xoá Sửa MonAn + - +[MaMonAn,MaNhaCungCap, MaLoaiMonAn] Ràng buộc 13: PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui,TrangThai) Bối cảnh: PhanHoiTuThucKhach Điều kiện: q1∈ T PhanHoiTuThucKhach, q2∈ T PhanHoiTuThucKhach q1.MaPhanHoiq2.MaPhanHoi Or q1.MaNhaCungCapq2.MaNhaCungCap Or q1.MaQuanTri q2.MaQuanTri Tầm ảnh hưởng: Thêm Xoá Sửa PhanHoiTuThucKhach + - +[MaPhanHoi, MaNhaCungCap,MaQuanTri] Ràng buộc 14: TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin) Bối cảnh: TinTuc Điều kiện: q1∈ T TinTuc, q2∈ T TinTuc q1.MaTinTucq2.MaTinTuc Or q1.MaLoaiTinTucq2.MaLoaiTinTuc Tầm ảnh hưởng: Thêm Xoá Sửa SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 60 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu TinTuc + - +[MaTinTuc, MaLoaiTinTuc] 3.7.4 Ràng buộc toàn vẹn có bối cảnh gồm nhiều quan hệ 3.7.4.1 Ràng buộc toàn vẹn về phụ thuộc tồn tại Ràng buộc 15: PhaLoaiNCC(MaLoaiNCC, TenLoaiNCC) NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) Bối cảnh: PhanLoaiNCC, NhaCungCap Điều kiện: PhanLoaiNCC[MaLoaiNCC] NhaCungCap[MaLoaiNCC] ⊆ Tầm ảnh hưởng: Thêm Xoá Sửa PhanLoaiNCC + - +[MaLoaiNCC] NhaCungCap - + +[MaLoaiNCC] Ràng buộc 16: Bối cảnh: KhuVucNCC, NhaCungCap Điều kiện: KhuVucNCC[MaKhuVuc] ⊆ NhaCungCap[MaKhuVuc] Tầm ảnh hưởng: Thêm Xoá Sửa KhuVucNCC + - +[MaKhuVuc] NhaCungCap - + +[MaKhuVuc] SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 61 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Ràng buộc 17: TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin) PhanLoaiTinTuc(MaLoaiTT, TenTT) Bối cảnh: PhanLoaiTinTuc, TblTinTuc Điều kiện: PhanLoaiTinTuc[MaLoaiTT] ⊆ TinTuc[MaLoaiTT] Tầm ảnh hưởng: Thêm Xoá Sửa PhanLoaiTinTuc + - +[MaLoaiTT] TinTuc - + +[MaLoaiTT] Ràng buộc 18: NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) Bối cảnh: NhaCungCap, MonAn Điều kiện: NhaCungCap[MaNhaCungCap] MonAn[MaNhaCungCap] ⊆ Tầm ảnh hưởng: Thêm Xoá Sửa PhanLoaiNhaCungCap + - +[MaNhaCungCap] MonAn - + +[MaNhaCungCap] Ràng buộc 19: SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 62 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) PhanLoaiMonAn(MaLoaiMonAn, TenLoaiMonAn) Bối cảnh: PhanLoaiMonAn, MonAn Điều kiện: PhanLoaiMonAn[MaLoaiMonAn] MonAn[MaLoaiMonAn] ⊆ Tầm ảnh hưởng: Thêm Xoá Sửa PhanLoaiTinTuc + - +[MaLoaiTT] TinTuc - + +[MaLoaiTT] Ràng buộc 20: PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui,TrangThai) BanQuanTri(MaQuanTri,TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, DiaChiEmail, LoaiQuanTri) Bối cảnh: PhanHoiTuThucKhach, BanQuanTri Điều kiện: PhanHoiTuThucKhach[MaQuanTri] BanQuanTri[MaQuanTri] ⊆ Tầm ảnh hưởng: Thêm Xoá Sửa PhanHoiTuThucKhach + - +[MaQuanTri] BanQuanTri - + +[MaQuanTri] 3.7.4.2 Ràng buộc liên thuộc tính , liên quan hệ Ràng buộc 21: SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 63 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) Bối cảnh: MonAn ,NhaCungCap Điều kiện: ∀ qi ∈ MonAn ∃ qj ∈ T NhaCungCap: qi.MaNhaCungCap=qj.MaNhaCungCap Thì qi.NgayDangKy>=qj.NgayDangBai Tầm ảnh hưởng: Thêm Xoá Sửa MonAn + - +[NgayDangBai] NhaCungCap - + +[NgayDangKy] Bối cảnh: NhaCungCap ,PhanHoiTuThucKhach Điều kiện: qi ∀ ∈ NhaCungCap ∃ qj ∈ T PhanHoiTuThucKhach: qi.MaNhaCungCap=qj.MaNhaCungCap Thì qi.NgayGui<=qj.NgayDangKy Tầm ảnh hưởng: Thêm Xoá Sửa PhanHoiTuThucKhach + - +[NgayGui] NhaCungCap - + +[NgayDangKy] SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 64 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.8 DẠNG CHUẨN NhaCungCap(MaNhaCungCap, MaKhuVuc, MaLoaiNCC, TenNCC, TenDangNhap, MatKhau, DiaChiNCC, SoDienThoai, DiaChiEmail, GioiThieu, HinhAnh, CauHoiBiMat, CauTraLoi, NgayDangKy, TrangThai) ƒ Nhà cung cấp đạt dạng chuẩn 1 vì mọi thuộc tính của nhà cung cấp đều là thuộc tính đơn. ƒ Nhà Cung Cấp đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của Nhà Cung Cấp đều phụ thuộc đầy đủ vào các khóa của Nhà Cung Cấp. ƒ Nhà Cung Cấp đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của Nhà Cung Cấp đều không phụ thuộc bắc cầu vào một khóa nào của Nhà Cung Cấp. ƒ Nhà Cung Cấp có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) ƒ Đạt dạng chuẩn 1 vì mọi thuộc tính của nhà cung cấp đều là thuộc tính đơn. ƒ FPhanLoaiNCC = { f1: MaLoaiNCCÆ TenLoaiNCC } Æ PhanLoaiNCC đạt dạng chuẩn 2. ƒ PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) đạt dạng chuẩn 3 vì chỉ có một thuộc tính không khóa là TenLoaiNCC và thuộc tính này không phụ thuộc bắc cầu vào các khóa. ƒ PhanLoaiNCC(MaLoaiNCC, TenLoaiNCC) có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. KhuVucNCC(MaKhuVuc, TenKhuVuc) ƒ KhuVucNCC Đạt dạng chuẩn 1 vì mọi thuộc tính của KhuVucNCC đều là thuộc tính đơn. ƒ FKhuVucNCC = { f1: MaKhuVucÆ TenKhuVuc } Æ KhuVucNCC đạt dạng chuẩn 2. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 65 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu ƒ KhuVucNCC(MaKhuVuc, TenKhuVuc) đạt dạng chuẩn 3 vì chỉ có một thuộc tính không khóa là TenKhuVuc và thuộc tính này không phụ thuộc bắc cầu vào các khóa. ƒ KhuVucNCC có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. PhanLoaiMonAn(MaLoaiMonAn, TenLoaiMonAn ) ƒ PhanLoaiMonAn Đạt dạng chuẩn 1 vì mọi thuộc tính của nhà cung cấp đều là thuộc tính đơn. ƒ FPhanLoaiMonAn = { f1: MaLoaiMonAnÆ TenLoaiMonAn} ÆPhanLoaiMonAn đạt dạng chuẩn 2. ƒ PhanLoaiMonAn( MaLoaiMonAn, TenLoaiMonAn) đạt dạng chuẩn 3 vì chỉ có một thuộc tính không khóa là TenLoaiMonAn và thuộc tính này không phụ thuộc bắc cầu vào các khóa. ƒ PhanLoaiMonAn có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. MonAn(MaMonAn, MaNhaCungCap, MaLoaiMonAn, TenMonAn, HinhAnh, GioiThieu, NgayDangBai, TrangThai) ƒ MonAn Đạt dạng chuẩn 1 vì mọi thuộc tính của món ăn đều là thuộc tính đơn. ƒ MonAn đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của MonAn đều phụ thuộc đầy đủ vào các khóa MonAn. ƒ MonAn đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của MonAn không phụ thuộc bắc cầu vào các khóa. ƒ MonAn có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. PhanLoaiTinTuc(MaLoaiTT, TenLoaiTT ) ƒ PhanLoaiTinTuc Đạt dạng chuẩn 1 vì mọi thuộc tính của PhanLoaiTinTuc đều là thuộc tính đơn. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 66 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu ƒ FPhanLoaiTinTuc = { f1: MaLoaiTTÆ TenLoaiTT} ÆPhanLoaiTT đạt dạng chuẩn 2. ƒ PhanLoaiTinTuc( MaLoaiTinTuc, TenLoaiTinTuc) đạt dạng chuẩn 3 vì chỉ có một thuộc tính không khóa là TenLoaiTinTuc và thuộc tính này không phụ thuộc bắc cầu vào các khóa. ƒ PhanLoaiTinTuc có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. TinTuc(MaTinTuc, MaLoaiTT, TieuDe, NoiDung, NgayDangTin ) ƒ TinTuc đạt dạng chuẩn 1 vì mọi thuộc tính của TinTuc đều là thuộc tính đơn. ƒ FtinTuc{f1: MaTinTuc, MaLoaiTTÆ TieuDe, NoiDung, NgayDangTin }Æ Đạt dạng chuẩn 2. ƒ TinTuc đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của TinTuc không phụ thuộc bắc cầu vào các khóa. ƒ TinTuc có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. BanQuanTri(MaQuanTri, TenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, DiaChiEmail, LoaiQuanTri ) ƒ BanQuanTri đạt dạng chuẩn 1 vì mọi thuộc tính của BanQuanTri đều là thuộc tính đơn. ƒ FBanQuanTri{f1: MaQuanTriÆTenDangNhap, MatKhau, HoTen, DiaChi, SoDienThoai, DiachiEmail , LoaiQuanTri}Æ đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của BanQuanTri đều phụ thuộc đầy đủ vào các khóa BanQuanTri. ƒ BanQuanTri đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của BanQuanTri không phụ thuộc bắc cầu vào các khóa. ƒ BanQuanTri có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 67 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu PhanHoiTuThucKhach(MaPhanHoi, MaNhaCungCap, MaQuanTri, TenThucKhach, DiaChi, SoDienThoai, DiaChiEmail, TieuDe, NoiDung, TraLoi, NgayGui, TrangThai) ƒ PhanHoiTuThucKhach đạt dạng chuẩn 1 vì mọi thuộc tính của PhanHoiTuThucKhach đều là thuộc tính đơn. ƒ PhanHoiTuThucKhach đạt dạng chuẩn 2 vì mọi thuộc tính không khóa của PhanHoiTuThucKhach đều phụ thuộc đầy đủ vào các khóa. ƒ PhanHoiTuThucKhach đạt dạng chuẩn 3 vì mọi thuộc tính không khóa của PhanHoiTuThucKhach không phụ thuộc bắc cầu vào các khóa. ƒ PhanHoiTuThucKhach có vế trái của phụ thuộc hàm là siêu khóa. Nó đạt dạng chuẩn BCK. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 68 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.9 SƠ ĐỒ WEBSITE 3.9.1 Sơ Đồ Cho Người Dùng SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 69 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 3.9.2 Sơ Đồ Cho Ban Quản Trị SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 70 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu CHƯƠNG 4 KẾT QUẢ THỰC HIỆN 4.1 NHỮNG TRANG ỨNG DỤNG AJAX 4.1.1 Trang của ban quản trị Khi dùng AJAX thì tại trang đổi mật khẩu của Ban quản trị, nhập mật khẩu cũ vào thì Ajax sẽ giúp kiểm tra mật khẩu cũ mà admin nhập vào, bằng cách trao đổi dữ liệu với web server, không có nạp lại trang. Hình 4.1 Màn hình thay đổi mật khẩu. Thông tin đầu vào: - Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới. Thông tin đầu ra: - Hiện thông báo lỗi nếu thông tin điền vào không đầy đủ hoặc không hợp lệ. - Hiện thông báo đổi mật khẩu thành công nếu thông tin đầu vào đầy đủ và hợp lệ. Kiểm tra hợp lệ: - Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu không được để trống và phải có từ 6 đến 24 ký tự. Xác nhận mật khẩu phải giống với mật khẩu mới. 4.1.2 Trang khi xác lập lại mật khẩu cho quản trị khác Tại trang xác nhập lại mật khẩu cho quản trị khác, khi admin nhấn vào nút xác lập lại thì việc kiểm tra đó không cần nạp lại trang mà nó trao đổi dữ liệu với web server. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 71 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Hình 4.2 Màn hình xác lập lại mật khẩu cho quản trị khác Trang này có chức năng hỗ trợ cho admin có quyền cao nhất để xác nhận lại mật khẩu cho các admin khác. 4.1.3 Trang đăng kí Tại trang đăng kí, khi nhập hết thông tin rồi gửi form đăng kí lên máy chủ để kiểm tra. Ajax sẽ giúp kiểm tra từng dòng lệnh mà khách hàng nhập vào form đăng kí xem có hợp lí và không trùng lặp với thông tin trong cơ sở dữ liệu, mà không nạp lại trang. Hình 4.3 Đăng Ký SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 72 Ứ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 vào: 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, số điện thoại, địa chỉ email, câu hỏi bí mật, câu trả lời, giới thiệu về nhà hàng, ảnh minh họa nhà hàng. - Thông tin đầu ra: Hiện thông báo lỗi nếu thông tin nhập vào không hợp lệ. Hiện thông báo đăng ký thành công và chờ duyệt nếu thông tin nhập vào đầy đủ và hợp lệ. - Kiểm tra hợp lệ: - Tên đăng nhập và mật khẩu: Không được để trống và phải có từ 6 đến 24 ký tự, giữa các ký tự không có khoảng trắng. - Xác nhận mật khẩu: Phải giống với mật khẩu. - Tên nhà hàng: Không được để trống và dài không quá 50 ký tự. - Số điện thoại: Phải là chữ số và có từ 8 đến 12 ký tự. - Địa chỉ email: Không được để trống và phải hợp lệ. - Câu trả lời: Không được để trống và dài không quá 50 ký tự. - Giới thiệu: Không được để trống và dài không quá 4000 ký tự. - Ảnh nhà hàng: Bắt buộc phải có. Sau khi nhập những thông tin cần thiết tiếp tục đăng ký sẽ có trang quy định khi đăngký. Nếu đồng ý với những quy định đã đề ra khi đăng ký thì bấm tiếp tục để hoànthành việc đăng ký. 4.1.4 Trang đổi mật khẩu của Nhà cung cấp Tương tự ở trang của Ban quản trị khi nhà cung cấp đổi mật khẩu, khi nhà cung câp nhập mật khẩu cũ vào thì Ajax sẽ giúp kiểm tra mật khẩu cũ đó, bằng cách trao đổi dữ liệu với web server, không có nạp lại trang. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 73 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Hình 4.4 Đổi mật khẩu nhà cung cấp - Thông tin đầu vào: Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới. - Thông tin đầu ra: Hiện thông báo lỗi nếu thông tin điền vào không đầy đủ hoặc không hợp lệ. Hiện thông báo đổi mật khẩu thành công nếu thông tin đầu vào đầy đủ và hợp lệ. - Kiểm tra hợp lệ: Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu không được để trống và phải có từ 6 đến 24 ký tự. Xác nhận mật khẩu phải giống với mật khẩu mới. 4.1.5 Trang quy định khi đăng ki - Áp dụng khi đăng ký làm thành viên của trang web. - Để đăng kí được thành viên của trang web thì phải đồng ý với những qui định của trang web, khách hàng cần lick vào checkbox thì Ajax sẽ giúp trao đổi dữ liệu với web server, không có nạp lại trang. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 74 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Hình 4.5 Quy định khi đăng ký 4.1.6 Xác lập lại mật khẩu cho nhà cung cấp Khi nhà cung cấp quên mật khẩu thì vào trang xác lập lại mật khẩu cho nhà cung cấp, nhà cung cấp phải đăng nhập đúng tên, chọn câu hỏi bí mật và phải trả lời đúng câu hỏi bí mật khi click vào xác nhận thì Ajax sẽ giúp kiểm tra tên đăng nhập và câu trả lời chính xác với thông tin dưới cơ sở dữ liệu, nhưng không cần nạp lại trang. Hình 4.6 Xác lập lại mật khẩu cho nhà cung cấp 4.2 GIAO DIỆN CỦA CHƯƠNG TRÌNH 4.2.1 Trang chủ SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 75 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Hình 4.7 Trang chủ Đăng nhập: - Thông tin đầu vào: Tên đăng nhập và mật khẩu. - Thông tin đầu ra: Hiện thông báo lỗi nếu thông tin nhập vào không hợp lệ. Hiện thông báo đăng nhập thành công nếu thông tin đúng và hợp lệ. - Kiểm tra hợp lệ: Tên đăng nhập và mật khẩu: Không được để trống và phải có từ 6 đến 24 ký tự. Phần tìm kiếm: - Thông tin đầu vào: Từ khóa cần tìm và thể loại tìm kiếm. - Thông tin đầu ra: Hiện thông báo lỗi nếu từ khóa tìm kiếm không hợp lệ. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 76 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Hiển thị loại thông tin tìm được có chứa từ khóa nếu thông tin đầy đủ vào hợp lệ. - Kiểm tra hợp lệ: Từ khóa: Không được để trống. Giới thiệu tổng quát về các món ăn. Khi thực khách muốn xem thông tin của món ăn nào đó thì nhấp vào xem chi tiết. Chương trình sẽ hiển thị giới thiệu chi tiết về món ăn đó. 4.2.2 Chi tiết món ăn Hình 4.8 Chi tiết món ăn Giới thiệu chi tiết thông tin món ăn mà bạn muốn biết. Tên món ăn, loại món ăn, nhà cung cấp, giới thiệu thông tin chi tiết nguyên liệu, thành phần dinh dưỡng của món ăn. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 77 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 4.2.3 Trang admin Hình 4.9 Trang Admin 4.2.4 Góp ý tới nhà cung cấp Hình 4.10 Góp ý tới nhà cung cấp - Thông tin đầu vào: Nhà hàng muốn gửi phản hồi tới, tên thực khách, địa chỉ thực khách, số điện thoại, địa chỉ email, tiêu đề phản hồi, nội dung phản hồi. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 78 Ứ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 thông tin đầu vào không đầy đủ hoặc không hợp lệ. Hiện thông báo phản hồi đã được gửi đi nếu thông tin đầu vào đầy đủ và hợp lệ. - Kiểm tra hợp lệ: Tên khách hàng: Không được để trống và dài không quá 50 ký tự. Địa chỉ: Không được để trống và dài không quá 100 ký tự. Số điện thoại: Phải là chữ số và có từ 8 đến 12 ký tự. Địa chỉ email: Phải hợp lệ. Tiêu đề phản hồi: Không được để trống và dài không quá 50 ký tự. Nội dung phản hồi: Không được để trống và dài không quá 4000 ký tự. 4.2.5 Giới thiệu thông tin nhà cung cấp Hình 4.11 Thông tin nhà cung cấp Đưa ra những thông tin chi tiết về nhà cung cấp: Tên nhà cung cấp, loại hình, khu vực, địa chỉ, số điện thoại, địa chỉ email, ngày đăng ký, giới thiệu. 4.2.6 Trang đổi mật khẩu của Nhà cung cấp Tương tự ở trang của Ban quản trị khi nhà cung cấp đổi mật khẩu, khi nhà cung câp nhập mật khẩu cũ vào thì Ajax sẽ giúp kiểm tra mật khẩu cũ đó, bằng cách trao đổi dữ liệu với web server, không có nạp lại trang. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 79 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu Hình 4.12 Đổi mật khẩu nhà cung cấp - Thông tin đầu vào: Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu mới. - Thông tin đầu ra: Hiện thông báo lỗi nếu thông tin điền vào không đầy đủ hoặc không hợp lệ. Hiện thông báo đổi mật khẩu thành công nếu thông tin đầu vào đầy đủ và hợp lệ. - Kiểm tra hợp lệ: Mật khẩu cũ, mật khẩu mới, xác nhận mật khẩu không được để trống và phải có từ 6 đến 24 ký tự. Xác nhận mật khẩu phải giống với mật khẩu mới. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 80 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu 4.3 CÀI ĐẶT VÀ THỬ NGHIỆM 4.3.1 Chuẩn bị - Lập đề cương chi tiết cho đồ án. - Tìm hiểu, nghiên cứu các tài liệu về: ASP.NET,công nghệ AJAX, SQL Server 2005, Photoshop, Corew… - Cơ chế mã hóa thông tin trên cơ sở dữ liệu. - Tìm hiểu cơ chế tổ chức, thực hiện các chương trình trên website. - Tìm hiểu, tổng hợp thông tin, chuẩn bị nội dung cho trang web. 4.3.2 Thực hiện - Thực hiện xây dựng sơ đồ chức năng tương tác giữa các trang trong website. - Xây dựng database và mô hình quan hệ dữ liệu. - Thiết kế giao diện website - Tạo các Template theo cấu trúc đã đưa ra. - Lập trình hiển thị nội dung website. - Lập trình phân quyền người quản trị website - Lập trình hỗ trợ việc tìm kiếm các yêu cầu của User. - Nhập dữ liệu vào database thông qua giao diện. - Lập trình cho phép User đăng ký thành viên. SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 81 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu CHƯƠNG 5 ĐÁNH GIÁ VÀ KẾT LUẬN 5.1 ĐÁNH GIÁ Xây dựng website văn hóa ẩm thực không phải là một vấn đề mới, nhưng nó mang tính cần thiết cao, nhất là trong giai đoạn hiện nay – Web site đã trở thành một phần không thể thiếu trong cuộc sống của nhiều người dân Việt Nam. Đẩy mạnh công nghệ thông tin, đưa tin học hóa vào cuộc sống. Để đáp ứng được sự thay đổi nhanh chóng của tin học, bắt kịp với nhu cầu phục vụ cho đất nước, đảm bảo được một đội ngũ trong ngành tin học có kiến thức. Dưới sự hướng dẫn và góp ý của cô Trương Thị Minh Châu chúng tôi thực hiện đề tài này nhằm mang lại các thông tin Văn Hóa Ẩm Thực tới thực khách. Đem đến cho người dân Việt Nam các thông tin về món ăn ngon, các món ăn ẩm thực truyền thống của dân tộc. Hơn thế nữa nó còn giúp quảng bá, giới thiệu ra thế giới, với du khách đến Việt Nam các món ăn độc đáo mang đậm phong cách riêng của người Việt Nam. Nhưng do thời gian hạn hẹp và trình độ kiến thức còn hạn nên website chúng tôi xây dựng được trong đồ án này mới chỉ đáp ứng được yêu cầu cơ bản, nếu đưa vào sử dụng thì cần phải nâng cấp thêm, chưa ứng dụng được nhiều về AJAX. Tuy nhiên với đồ án này chúng tôi đã thực hiện được các phần sau: - Thiết kế giao diện cho website với màu sắc hài hòa, phù hợp với lĩnh vực văn hóa ẩm thực. Bố trí hợp lý, tiện ích cho người sử dụng, trình bày rõ ràng. - Đưa ra được những thông tin cần thiết: Thông tin về ẩm thực, thông tin về văn hóa, thông tin nhà cung cấp… - Có thể tìm kiếm, xem thông tin chi tiết về văn hóa ẩm thực. - Mỗi một User đều có thể đăng ký một tài khoản trong website. - Có thể đăng, chỉnh sửa, xóa thông tin của họ trên website. 5.2 HƯỚNG PHÁT TRIỂN Tạo thêm cho Website chức năng mua bán trực tuyến. Đặt hàng qua mạng cũng như thanh toán trực tuyến. Hỗ trợ chức năng của diễn đàn SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 82 Ứng dụng AJAX xây dựng website Văn Hóa Ẩm Thực GVHD:Trương Minh Châu TÀI LIỆU THAM KHẢO Tham khảo một số website: www.w3schools.com www.thegioiwebsite.net www.htmedsoft.com www.dot.net.vn Một số sách tham khảo: Phạm Hữu Khang, (2007). Lập trình ASP.Net 2.0. Nhà xuất bản Lao Động Xã Hội . Phạm Hữu Khang, (2007). Đối tượng ADO.NET 2.0 VÀ XML. Nhà xuất bản Lao Động Xã Hội… SVTH: Đỗ Thị Hiền, Nguyễn Thị Thuý Loan. 83

Các file đính kèm theo tài liệu này:

  • pdfỨng dụng AJAX xây dựng website Văn Hóa Ẩm Thực.pdf