Hiểu được các vấn đề đó cũng như mong muốn đưa thương mại điện tử đến với nhiều người hơn em thực hiện đề tài: “Xây dựng Website bán hàng trực tuyến cho nhà hàng Gau Cho”.Với mục đích x
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy cô đã giúp đỡ em thực hiện đề tài này Đặc biệt Thầy Nguyễn Quang Hiệp đã tận tình giúp đỡ, chỉ bảo em Em xin trân trọng cảm ơn những tình cảm quý báu mà các thầy cô trường Đại Học Công Nghệ Thông tin và Truyền Thông – Đại Học Thái Nguyên đã truyền đạt cho em, những kinh nghiệm, kỹ thuật và cách thức trong việc xây dựng đề tài này
Qua đây em cũng xin gửi lời cảm ơn chân thành đến nhà hàng Gau Cho và cộng đồng diễn đàn Wordpress đã tận tình giúp đỡ để em thực hiện đề tài này
Tuy nhiên, do thời gian có hạn nên em không thể phát huy hết những ý tưởng, khả năng hỗ trợ của ngôn ngữ và kỹ thuật lập trình vào đề tài Trong quá trình xây dựng website, không thể tránh khỏi những sai xót, mong nhận được sự đóng góp và cảm thông của quý thầy cô và các bạn
Thái Nguyên, tháng 05 năm 2016
Sinh viên
Nguyễn Thị Thảo
Trang 3LỜI CAM ĐOAN
Đồ án tốt nghiệp là một sản phẩm tổng hợp toàn bộ kiến thức mà sinh viên đã học được trong suốt thời gian học tập tại trường đại học Ý thức được điều đó, với tinh thần nghiêm túc, tự giác cùng với sự làm việc mệt mài của bản thân và sự hướng dẫn tận tình của thầy Nguyễn Quang Hiệp em đã hoàn thành xong đồ án tốt nghiệp của mình
Em xin cam đoan: nội dung đồ án của em không sao chép nội dung cơ bản từ các đồ án khác và sản phẩm đồ án của em là của chính bản thân em nghiên cứu và dựng lên Mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng bảo vệ
Thái nguyên, ngày 10 tháng 05 năm 2016
Sinh viên
Nguyễn Thị Thảo
Trang 4KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
Trang 5MỤC LỤC
LỜI CẢM ƠN 0
LỜI CAM ĐOAN 2
KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT 3
MỤC LỤC 4
DANH MỤC HÌNH ẢNH 6
LỜI NÓI ĐẦU 7
1.1 Kiến trúc cơ bản .10
1.2 Client 10
1.3 Server .10
1.4 Web Server .11
1.5 Website động là gì ? 11
1.6 Tìm Hiểu Về PHP 12
1.7 Tìm Hiểu Về Wordpress .12
1.7.1.Giới thiệu về mã nguồn mở wordpress .12
1.7.2.Cấu trúc thư mục trong wordpress 15
1.7.3 Các lí do khiến chúng ta phải chọn WordPress 19
1.8 Giới thiệu về UML 20
1.8.1 Khái niệm và đặc điểm của UML 20
1.8.2 Mô hình khái niệm của UML 21
1.9 Công Cụ Lập Trình 24
Chương 2 KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 26
2.1 Khảo sát hệ thống 26
2.2 Lý do xây dựng website 27
2.3 Các yêu cầu khi xây dựng website 28
2.3.1 Yêu cầu chức năng 28
2.3.2 Yêu cầu phi chức năng 28
2.4 Các tác nhân của hệ thống 28
Trang 62.5 Phân tích các Use Case 29
2.5.1 Xác định các UC của các tác nhân 29
2.5.2 Biểu đồ Use Case 29
2.5.3 Đặc tả Use Case 32
2.5.4 Biểu đồ trình tự, cộng tác cho một số use case 39
2.5.5 Biểu đồ hoạt động 44
2.5.6 Biểu đồ lớp 46
Chương 3: CÀI ĐẶT CHƯƠNG TRÌNH 56
3.1 Giao diện trang chủ 56
3.2 Giao diện trang danh mục món ăn 57
3.3 Giao diện trang chi tiết món ăn 58
3.4 Giao diện trang chi tiết giỏ hàng 59
3.5 Giao diện trang thanh toán 60
3.6 Giao diện trang liên hệ 61
3.7 Giao diện trang quản lý 62
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
Trang 7DANH MỤC HÌNH ẢNH
Hình 1.1 Sơ đồ hoạt động ứng dụng web trên server 11
Hình 2.1: Biểu đồ UC tổng quát cho hệ thống 30
Hình 2.2: Biểu đồ UC cho tác nhân khách hàng 30
Hình 2.3: Biểu đồ UC cho tác nhân Người quản trị 30
Hình 2.4: Biểu đồ trình tự cho tác vụ quản trị viên đăng nhập 39
Hình 2.5: Biểu đồ cộng tác cho tác vụ quản trị viên đăng nhập 39
Hình 2.6: Biểu đồ trình tự cho tác vụ tìm kiếm của khách hàng 40
Hình 2.7: Biểu đồ cộng tác cho tác vụ tìm kiếm của khách hàng 41
Hình 2.8: Biểu đồ trình tự cho tác vụ mua hàng của khách hàng 41
Hình 2.9: Biểu đồ cộng tác cho tác vụ mua hàng của khách hàng 41
Hình 2.10: Biểu đồ trình tự cho tác vụ quản lý sản phẩm của người quản trị 42
Hình 2.11: Biểu đồ cộng tác cho tác vụ quản lý sản phẩm của người quản trị 43
Hình 2.12: Biểu đồ trình tự cho người quản trị quản lí đơn hàng 43
Hình 2.13: Biểu đồ cộng tác cho tác vụ quản lý đơn hàng của người quản trị 44
Hình 2.14: Biểu đồ hoạt động cho người quản trị 44
Hình 2.15: Biểu đồ hoạt động cho khách hàng tìm kiếm 45
Hình 2.16 Biểu đồ hoạt động cho khách hàng xem sản phẩm 45
Hình 2.17: Biểu đồ hoạt động cho khách hàng thanh toán 46
Hình 3.1: Giao diện trang chủ 57
Hình 3.2: Giao diện trang danh mục món ăn 57
Hình 3.3: Giao diện trang chi tiết món ăn 58
Hình 3.4: Giao diện trang chi tiết giỏ hàng 59
Hình 3.5: Giao diện trang thanh toán 60
Hình 3.6: Giao diện trang liên hệ 61
Hình 3.7: Giao diện trang quản lý 63
Trang 8LỜI NÓI ĐẦU
Trong thời buổi hiện nay, khi mà công nghệ phát triển, thương mại điện tử ngày càng phát triển trên thế giới cũng như Việt Nam và dần khẳng định được vị thế của mình trong nền kinh tế thị trường Cùng với đó là sự ra đời của các ngôn ngữ lâp trình cho phép thiết kế và xây dựng các ứng dụng thương mại điện tử dưới nhiều hình thức khác nhau Và một trong những ứng dụng của thương mại điện tử phổ biến ở nước ta là dịch vụ bán hàng qua mạng internet Dịch vụ này cho phép người dùng tìm kiếm chọn lựa sản phẩm để mua, thực hiện giao dịch mà không cần phải trực tiếp đến nhà hàng, mà chỉ cần sử dụng một thiết bị máy tính có kết nối internet Tuy nhiên hiện nay dịch vụ này vẫn còn khá mới với nhiều người tiêu dùng nước ta, đặc biệt là những người không có kiến thức về tin học nói chung và thương mại điện tử nói riêng Nên hiện giờ các đối tượng chính của thương mại điện tử vẫn chủ yếu là tầng lớp tri thức và học sinh ,sinh viên Là những người sinh viên, cũng có chút kiến thức về tin học cũng như tiếp xúc với thương mại điện tử tuy nhiên đôi lúc cũng gặp một số khó khăn trong việc mua bán trên các hệ thống bán hàng qua mạng hiện tại Như hình thức thanh toán, nhận hàng, chất lượng sản phẩm thực tế không được như trên website
Hiểu được các vấn đề đó cũng như mong muốn đưa thương mại điện tử
đến với nhiều người hơn em thực hiện đề tài: “Xây dựng Website bán hàng
trực tuyến cho nhà hàng Gau Cho”.Với mục đích xây dựng một hệ thống bán
hàng qua mạng uy tín, đơn giản, thân thiện, cũng như đem lại cho khách hàng những lựa chọn tối ưu để ngay cả những người không có kiến thức về tin học cũng có thể tham gia mua hàng qua mạng chỉ với một số thao tác đơn giản Sản phẩm mà em hướng tới là các món ăn ẩm thực Việt Nam và nước ngoài.Vì nhu cầu ăn uống là cần thiết với mỗi người và hơn nữa mong muốn của em là muốn quảng bá và đưa ẩm thực trong và ngoài nước đến với người dân nhiều hơn
*Mục đích tìm hiểu và nghiên cứu đề tài
Trang 9Tìm hiểu thực tế công việc quảng bá, bán hàng của nhà hàng.Thiết kế xây dựng website bằng Wordpress, Từ đó rút ra được kết quả và những điều chưa đạt được
*Đối tượng nghiên cứu đề tài
Chương trình : Áp dụng mã nguồn mở Wordpress để xây dựng website bán hàng trực tuyến cho nhà hàng Gau Cho
Nhiệm vụ
- Tìm hiểu và nắm được các kiến thức về php, Mysql, Wordpress,Css,Jquery
- Khảo sát và phân tích thiết kế hệ thống, đưa ra sơ đồ chức năng của website
- Xây dựng website bán hàng cho nhà hàng áp dụng giải pháp Wordpress
- Hoàn thiện hệ thống báo cáo, đánh giá kết quả đạt được và các mặt hạn chế của chương trình, đồng thời đưa ra giải pháp cũng như hướng mở rộng của chương trình
*Phương pháp nghiên cứu
- Khảo sát thực tế
- Phân tích chi tiết bài toán
- Xây dựng, cài đặt và kiểm thử chương trình
Trang 11Chương 1 : CƠ SỞ LÝ THUYẾT.
1.1 Kiến trúc cơ bản
Kiến trúc cơ bản nhất để trang Dynamic Web hoạt động được là nó phải làm việc trên mô hình client/server Nôm na là mỗi thứ client hay server đều đảm đương một chức năng riêng để hoàn thành công việc chung đó là cho ra một trang web động Ứng dụng Web phải có một mô hình server có thể là một máy tính làm server thôi, nhằm tập trung hóa việc xử lý dữ liệu Còn các client, còn được hiểu là máy tính của người sử dụng phải được nối mạng với server, giả sử các máy này truy cập vào một website chẳng hạn, thì có nghĩa họ đã truy cập vào server, sau đó lấy dữ liệu từ server
về thể hiện lên màn hình Cùng một lúc có thể có hàng trăm người (client) truy cập vào cùng một Website được xử lý tập trung trên server
1.2 Client
Các ứng dụng phát triển trên nền My SQL và PHP sử dụng tính năng single client đó là trình truyệt web.Tuy nhiên, không phải đây chỉ là ngôn ngữ duy nhất để phát triển ứng dụng Web.Ngôn ngữ khởi thuỷ cho việc duyệt Web
là HTML HTML cung cấp những thẻ lệnh (Tag) cho phép thể hiện trang Web theo nhiều kiểu cách khác nhau Ngoài HTML ra các trình duyệt Web còn cho phép các add-in hỗ trợ nhiều thứ khác như RealPlayer, Flash, Shockwave, hoặc
Trang 12Hình 1.1 Sơ đồ hoạt động ứng dụng web trên server
1.5 Website động là gì ?
Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu và được hỗ trợ bởi các phần mềm phát triển web Các ưu điểm của Website động: đáp ứng nhiều tham số khác nhau, thường có các giao diện cho phép người quản trị có thể quản lý nội dung của site, có bộ nhớ, cho phép người sử dụng đăng ký và đăng nhập, thực hiện thương mại điện tử, dễ dàng duy trì cập nhật và phát triển…
Trang 131.6 Tìm Hiểu Về PHP
PHP (Hypertext Preprocessor) là ngôn ngữ script trên server được thiết kế để
dễ dàng xây dựng các trang Web động Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng
Ngôn ngữ PHP ra đời năm 1994 Rasmus Lerdorf sau đó được phát triển bởi nhiều người trải qua nhiều phiên bản Phiên bản hiện tại là PHP 5 đã được công bố 7/2004
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra đây một số lý do cơ bản :
- Mã nguồn mở (open source code)
- Miễn phí, download dễ dàng từ Internet
hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của IBM
1.7 Tìm Hiểu Về Wordpress
1.7.1.Giới thiệu về mã nguồn mở wordpress
WordPress là một phần mềm miễn phí cho việc quản lý nội dung web(văn bản và hình ảnh) Nó đặc biệt hữu ích cho việc xây dựng và duy trì một weblog trên, vì nó cho phép mỗi bài cho một hoặc nhiều mẫu hệ thống chỉ định, và tự động tạo ra các chuyển hướng thích hợp
Tiếp theo, các hệ thống ý kiến độc giả có cơ hội để xem xét nó trước khi phát hành, cũng như quản lý các liên kết, quản lý một vai trò người sử dụng, quyền và
Trang 14khả năng bên ngoài các plug-in, làm cho WordPress hướng tới một “hệ thống quản
lý nội dung ” đầy đủ và có thể được mở rộng hơn
WordPress được viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL Database(cơ sở dữ liệu database) WordPress là hậu duệ chính thức của b2/cafelog, được phát triển bởi Michel Valdrighi.Cái tên WordPress được đề xuất bởi Chritine Selleck, một người bạn của nhà phát triển Matt Mullenweg
Lịch sử phát triển
Trong những năm 2001/2002 Michel Valdrighi phát triển một chương trình bằng văn bản trong hệ thống PHP Weblog gọi là b2/Cafelog, phát hành bởi GPL.B2/Cafelog thường được biết đến cái tên đơn giản hơn là b2 hay cafelog là tiền thân của WordPress B2/cafelog đã ước lượng được khoảng 2000 blog được sử dụng trong tháng 5 năm 2003 Nó cũng được viết bằng ngôn ngữ lập trình PHP để dùng với MySQL bởi Michel Valdrighi, người đã trở thành nhà phát triển chính của WordPress hiện nay
Phiên bản ổn định đầu tiên của WordPress được phát hành vào ngày 3 tháng
1 năm 2004 Kể từ phiên bản 1.5 WordPress hỗ trợ quản lý các trang tĩnh, vì vậy nền tảng đã được tạo ra để sử dụng WordPress không như là một phần mềm viết blog tinh khiết, mà còn là một hệ thống quản lý nội dung đơn giản
Năm 2007, WordPress đã giành giải thưởng Packt Open Source CMS.Năm
2009, WordPress dẫn đầu về mã nguồn CMS tốt nhất
Nét nổi bật
Hệ thống Plugin phong phú và không ngừng cập nhật, ngoài ra người dùng
có thể viết Plugin hoặc tích hợp code vào Wordpress
Được phát triển bằng nhiều ngôn ngữ (hỗ trợ tiếng việt)
Cập nhật phiên bản liên tục, cộng đồng hỗ trợ lớn
Có hệ thống Theme đồ sộ, nhiều theme chuyên nghiệp có khả năng SEO tốt
Trang 15 Việc quản lý blog, quản lý các bài viết rất thuận tiện giống như các phần mềm thiết kế website chuyên nghiệp
Thể hiện các tệp PDF, DOC, Powerpoint ngay trên nội dung bài viết Đặc biệt tích hợp sẵn Latex - công cụ soạn thảo công thức toán học, giúp người sử dụng
có thể viết công thức toán học ngay trên blog
WordPress có 23 Widget (ứng dụng tạo thêm) như Thống kê số truy nhập blog, Các bài mới nhất, Các bài viết nổi bật nhất, Các comment mới nhất, Liệt kê các chuyên mục, Liệt kê các Trang, Danh sách các liên kết, Liệt kê số bài viết trong từng tháng Có 79 theme để người dùng lựa chọn
Ngoài thống kê số truy nhập của từng ngày cho blog, Wordpress còn thống
kê số truy nhập của từng ngày đối với mỗi bài viết của blog Trên cơ sở đó chủ blog
sẽ có định hướng nên viết vấn đề gì tiếp theo
Các comment có thể duyệt rồi mới cho đăng, comment nào có nội dung không phù hợp có thể xóa, nếu cho là spam thì sau này IP đó không có thể gửi comment vào blog được nữa
Admin (chủ blog) có thể cho 35 cộng tác viên gửi bài vào blog, có thể phân quyền cho các cộng tác viên theo các cấp độ khác nhau Lưu giữ danh sách thành viên đã ghé thăm trang blog Admin cũng có thể cho bất kỳ ai đăng bài qua email vào blog miễn là admin cho họ một địa chỉ email bí mật của blog (địa chỉ này có thể thay đổi bất kỳ lúc nào)
Sao lưu dữ liệu nhằm khôi phục nội dung blog một cách dễ dàn nếu chẳng may blog bị hack, và cung cấp công cụ chuyển nhà từ các blog khác sang blog WordPress
WordPress hỗ trợ 3 GB để lưu trữ các tệp hình ảnh và văn bản
Hàng ngày WordPress có thống kê 100 bài trên các blog tiếng Việt của WordPress được nhiều người đọc nhất trong vòng 48 tiếng Nhờ đó bạn biết được các thông tin quan trọng nhất đang diễn ra
Trang 161.7.2.Cấu trúc thư mục trong wordpress
Thư mục chủ của wordpress
Thư mục chủ chính là thư mục chứa toàn bộ dữ liệu về website của bạn, nó bao gồm toàn bộ mã nguồn lõi (core) của WordPress và các tập tin hình ảnh, text, … thuộc bài viết của bạn
Trong demo thực hiện demo của mình thì thư mục boutique chính là thư mục chủ của trang web wordpress
Trang 17 Thư mục admin
Đây là thư mục chứa toàn bộ code hiển thị trang quản trị (dành cho admin) bao gồm các tập tin JS, CSS và các tập tin PHP chứa các function dành cho admin
Thông thường thì chúng ta rất ít can thiệp vào các file trong thư mục này của
WP, nếu bạn là một người am hiểu về code PHP thì bạn có thể mở từng file và xem nội dung mã nguồn
Trang 18 Thư mục content
Thư mục này chứa các plugin, theme, hình ảnh upload trong bài viết,…; nó là thư mục chứa nội dung web của bạn tức là chứa các bài viết, hình ảnh, video,… trên trang web của bạn
Thông thường đây là thư mục thường bị hacker tấn công vào nhất, thông qua việc chèn các mã độc và upload những script trái phép thông qua các plugin ở trong thư mục này
Khi chúng ta chỉnh sửa các plugin hay theme thì chúng ta sẽ vào thao tác trong thư mục này của WP
Trang 19 Thư mục includes
Thư mục này cũng giống thư mục admin ở chỗ chúng ta sẽ hầu như không thao tác gì trên thư mục này cả vì thư mục này chứa các file PHP class cho WP, các file
JS và CSS
Trang 20 Các tập tin trong core WP
WP chỉ tồn tại 3 thư mục lớn trong mã nguồn của nó còn lại là tập tin, các tập tin này cùng cấp (level) với 3 thư mục vừa nêu ở trên
htaccess: đây là tập tin phát sinh của Apache, có quy định các chính sách sẽ
áp dụng lên trên WP
wp-config.php: tập tin cấu hình cho WP, chứa thông tin kết nối đến database của trang web Tập tin này cực kì quan trọng và cần được bảo mật tốt
wp-login.php: tập tin chứa mã dành cho trang đăng nhập WP
wp-signup: tập tin mã PHP cho trang đăng kí thành viên
1.7.3 Các lí do khiến chúng ta phải chọn WordPress
Trang 21 Tối ưa hóa Seo
1.8 Giới thiệu về UML
1.8.1 Khái niệm và đặc điểm của UML
UML là ngôn ngữ mô hình hóa thống nhất(Unified Modeling Language), trước hết nó là mô tả ký pháp thống nhất, ngữ nghĩa và các định nghĩa về metamodel(mô tả định nghĩa chính ngôn ngữ mô hình hóa), nó không mô tả phương pháp phát triển UML được sử dụng để hiển thị, đặc tả, xây dựng và làm tài liệu các vật phẩm của quá trình phân tích xây dựng hệ thống phần mềm theo hướng đối tượng UML được sử dụng cho mọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển và độc lập với các công nghệ cài đặt hệ thống
UML là ngôn ngữ chuẩn để viết các kế hoạch chi tiết phần mềm Nó phù hợp cho việc mô hình hóa các hệ thông tin doanh nghiệp, các ứng dụng phân tán trên nền Web, hệ thống nhúng thời gian thực… Các khung nhìn của ngôn ngữ được quan sát từ góc độ phát triển và triển khai hệ thống, nó không khó sử dụng và dễ
hiểu UML là ngôn ngữ mô hình được cả con người và máy sử dụng
Đặc điểm của UML
UML là ngôn ngữ
UML là ngôn ngữ để hiển thị
UML làm ngôn ngữ đặc tả
UML là ngôn ngữ dễ xây dựng
UML là ngôn ngữ tài liệu
Trang 221.8.2 Mô hình khái niệm của UML
Phần tử mô hình UML
Các khối hình thành mô hình UML gồm ba loại như sau: phần tử, quan hệ và biểu đồ Phần tử là trừu tượng căn bản trong mô hình, các quan hệ gắn các phần tử này lại với nhau, còn biểu đồ nhóm tập hợp các phần tử Trong UML có bốn loại phần tử mô hình, đó là cấu trúc, hành vi, nhóm và chú thích Các phần tử này là các khối để xây dựng hướng đối tượng cơ bản của UML
Phần tử cấu trúc là các danh từ trong mô hình UML Chúng là bộ phận tĩnh của mô hình để biểu diễn các thành phần khái niệm hay vật lý Có bảy loại phần tử cấu trúc, đó là: lớp, giao diện, phần tử cộng tác, trường hợp sử dụng(Use Case), lớp tích cực(active class), thành phần, nút(node)
Phần tử hành vi là bộ phận động của mô hình UML Chúng là các động từ của mô hình, biểu diễn hành vi theo thời gian và không gian Có hai loại chính là tương tác và máy trạng thái
Phần tử nhóm là bộ phận tổ chúc của mô hình UML Chỉ có một phần tử thuộc nhóm này có tên là gói(package) Gói là cơ chế đa năng để tổ chức các phần tử của nhóm Các phần tử cấu trúc, hành vi và ngay cả phần tử nhóm có thể cho vào gói
Các quan hệ trong UML
Có bốn loại quan hệ trong UML, bao gồm quan hệ phụ thuộc, kết hợp, khái quát và hiện thực hóa.Chúng là cơ sở để xây dựng mọi quan hệ trong UML
Phụ thuộc(dependency) Phụ thuộc là quan hệ ngữ nghĩa hai phần tử trong đó thay đổi phần tử độc lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc
Kết hợp(association) Kết hợp là quan hệ cấu trúc để mô tả tập liên kết Khi đối tượng của lớp này gửi/nhận thông điệp đến/từ đối tượng của lớp kia thì gọi đó
là quan hệ kết hợp
Khái quát hóa(generalization) Khái quát hóa là quan hệ đặc biệt háo/khái quát hóa mà trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và phương pháp của đối tượng tổng quát
Hiện thực hóa(realization) Hiện thực hóa là quan hệ ngữ nghĩa giữa giao diện và lớp(hay thành phần) hiện thực lớp, giữa UC và hợp tác hiện thực UC
Trang 23 Kiểu dữ liệu
Kiểu dữ liệu không phải là phần tử mô hình trong UML Kiểu dữliệu cơ sở
là kiểu dữ liệu không có cấu trúc UML có các kiểu dữ liệu sau:
Boolean: là kiểu đếm với hai giá trị True và False
Biểu thức (Expression): là xâu ký tự có cú pháp
Tính nhiều (Multiplicity): là tập không rỗng của các số nguyên dương và ký tự*(để biểu thị tính nhiều vô hạn)
Tên (Name): là xâu ký tự cho khả năng đặc tả phần tử
Số nguyên (Integer): là kiểu cơ bản và là phần tử của tập vô hạn các số
nguyên âm và dương
Xâu (String): là trật tự của các ký tự, được sử dụng là tên
Thời gian (Time): xâu ký tự biểu dirn giá trị tuyệt đối hay khoảng tương tương đối
Không lý giải (Uninterpreted): là ‘cái gì đó’ mà ý nghĩa của nó phụ thuộc và lĩnh vực
Biểu đồ UML
Biểu đồ UML là biểu diễn đồ họa tập hợp các phần tử mô hình Vẽ biểu đồ
để biểu diễn hệ thống đang xây dựng dưới các góc độ quan sát khác nhau Có thể hiểu biểu đồ là ánh xạ của hệ thống Một phần tử có thể xuất hiện trong một hay nhiều biểu đồ Về lý thuyết thì biểu đồ có thể bao gồm tổ hợp vô số phần tử đồ họa
và quan hệ vừa mô tả trên UML cho khả năng xây dựng một vài kiểu biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống, bao gồm biểu đồ trường hợp sử dụng, biểu đồ trình tự, biểu đồ cộng tác, biểu đồ lớp, biểu đồ biến đổi trạng thái, biểu đồ thành phần, biểu đồ triển khai
Biểu đồ trường hợp sử dụng(Use case- UC)
Biểu đồ này chỉ ra tương tác giữa UC và tác nhân.UC biểu diễn các chức năng hệ thống Tác nhân con người hay hệ thống khác cung cấp hay thu nhận thông tin từ hệ thống đang được xây dựng Biểu đồ UC tập trung vào quan sát trạng thái tĩnh của các UC trong hệ thống biểu đồ loại này chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thông tin từ hệ thống
Trang 24 Biểu đồ trình tự (Sequence)
Biểu đồ trình tự chỉ ra các luồng chức năng xuyên qua các UC, nó là biểu đồ mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp thời gian
Biểu đồ cộng tác (Collabaration)
Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ trình tự theo cách khác, nó tập trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp Biểu đồ cộng tác và biểu đồ trình tự thuộc loại biểu đồ tương tác và chúng có thể biến đổi qua lại
Biểu đồ lớp(Class)
Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống.Các lớp được xem như kế hoạch chi tiết của từng đối tượng.Mỗi lớp trong biểu đồ lớp được tạo ra cho mỗi loại đối tượng trong biểu đồ trinh tự và cộng tác
Biểu đồ chuyển trạng thái(State transition)
Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng, từ khi nó được sinh
ra đến khi bị phá hủy.Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hóa các trạng thái khác nhau của đối tượng Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về các lớp và quan hệ của chúng thì biểu đồ chuyển trạng thái được sử dụng để
mô hình hóa các hành vi động của hệ thống
Biểu đồ thành phần(Component)
Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình.Biểu diễn thành phần cho ta thấy được các thành phần mềm trong hệ thống và quan hệ giữa chúng Hai loại thành phần trong biểu diển đồ, đó là thành phần khả thực và thành phần thư viện Bất kỳ ai có trách nhiệm dịch chương trình đều quan tâm đến biểu đồ loại này.Biểu đồ cho ta thấy trình tự dịch của các mođun trong hệ thống.Đồng thời nó cũng cho biết rõ thành phần nào được tạo ra khi chạ chương trình
Biểu đồ triển khai(Deployment)
Biểu đồ triển khai chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đây Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng,
Trang 25kiến trúc sư và đội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt ra ở đâu
1.9 Công Cụ Lập Trình
DreamWeaver
Dreamweaver là một trương trình biên tập HTML chuyên nghiệp, nhằm phục
vụ cho việc thiết kế, lập trình, phát triển các website, các trang web và các ứng dụng web cho dù là người thích viết mã bằng tay hay là thực hiện công việc làm web bằng công cụ trực quan, thì Dreamweaver cũng cung cấp công cụ hữu ích để cải tiến kinh nghiệm thiết kế web
Các tính năng của các công cụ thiết kế trực quan trong Dreamweaver giúp người lập trình tạo ra một trang web mà không cần phải viết bất kỳ một dòng mã nào Có thể quan sát tất cả các thành phần site hay tài nguyên web và kéo chúng vào tài liệu một cách dễ dàng từ một panel Ngoài ra, chúng ta còn có thể phát triển website bằng cách tạo ra và chỉnh sửa các tấm ảnh trong các ứng dụng đồ họa khác, Dreamweaver còn cung cấp các công cụ giúp người ta có thể dễ dàng thêm các tài nguyên Flash vào trong các web
Ngoài các chức năng kéo và thả giúp chúng ta xây dựng các trang web, Dreamweaver còn cung cấp một môi trường viết mã chuyên nghiệp bao gồm các công cụ biên tập mã (chẳng hạn như: màu cú pháp, tự động đóng tab, và thu mã
thành một dòng), các bản tham khảo CSS, javacript, ColdFusion,… Công nghệ RoundTrip HTML sẽ chèn vào những tài liệu viết tay mà không hề định dạng lại
mã, sau đó có thể chỉnh lại mã theo cách viết tùy thích
Dreamweaver còn giúp chúng ta xây dựng các ứng dụng web dựa trên cơ sở
dữ liệu, và các trang web động chẳng hạn như CFML (Confusion), ASP.NET, ASP,
JSP, và PHP Nếu như có sở thích dùng cơ sở dữ liệu SML, thì Dreamweaver sẽ đưa cho người lập các công cụ mà giúp chúng ta dẽ dàng tạo ra các trang XSLT, các tập tin XML, và thể hiện được dữ liệu XML trên trang web
Trong thực tế với Dreamweaver, chúng ta có thể tạo ra các đối tượng và các lệnh cho riêng bản thân mình, chúng ta còn có thể chỉnh sửa các phím tắt ứng dụng,
hay thậm chí viết thêm mã javascript vào phần Extend Dreamweaver tạo ra các
behavior mới, các thanh thuộc tính mới, và các báo cáo site
Trang 26 Công cụ đồ họa
Adobe Photoshop là phần mềm xử lý hình ảnh (image-proceesing software) chuyên nghiệp, Photoshop cho phép người sử dụng sửa ảnh (retouching), ghép ảnh (composing), phục chế ảnh (retoration), tô màu ảnh (painting) một cách dễ dàng và hiệu quả Phần mềm này là một công cụ không thể thiếu của các nhiếp ảnh gia, các nhà thiết kế đồ họa, thiết kế web và biên tập video
Ngoài ra Adobe Photoshop còn phối hợp rất tốt với các phần mềm của Adobe như:
- Phần mềm vẽ trang trí và minh họa (illustration software) Adobe Illustrator
- Phần mềm sắp chữ và trình bày (typesetting and layout software) Adobe
InDesign
- Phần mềm tạo hình ảnh động (Animation software) Adobe Flash
- Phần mềm thiết kế trang web (Web design software) Adobe Dreamweaver
XAMPP
- Xampp là một ứng dụng để chạy Webserver trên máy tính mà không cần
phải mua hosting và domain
- Chúng ta thường sử dụng để thực hành và phát triển web phục vụ cho việc
học tập và giải trí
- Xampp là viết tắt của X + Apache + Mysql + PHP + Perl
- Chữ X là cross (platfrom) ám chỉ dùng được cho cả 4 hệ điều hành khác
nhau: Windows, Linux, Solaris và MAC
FileZilla Client
- FileZilla Client là chương trình hỗ trợ truyền tải tập tin thông qua mạng
Internet sử dụng giao thức FTP (File Transfer Protocol) FileZilla Client là chương
trình miễn phí, có giao diện thân thiện, dễ sử dụng và tốc độ nhanh nên được nhiều người sử dụng Đây là giải pháp dùng tải dữ liệu giữa máy tính cá nhân và các máy chủ web
- Sử dụng FileZilla Client để quản lý dữ liệu cũng giống như quản lý tập tin
bằng trương trình Explorer của Windows hoặc các chương trình quản lý tập tin
thông dụng khác
Trang 27Chương 2 KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hệ thống
Nhà hàng Gau Cho được thành lập vào ngày 3/8/2011 tại địa chỉ số 88 Tạ Hiện, Hàng Buồm, Hoàn kiếm Hà Nội Được thành lập đến nay đã được năm năm nhà hàng luôn là địa chỉ tin cậy, uy tín, vui lòng khách đến vừa lòng khách
đi Cùng với một không gian đẹp và sự phục vụ nhiệt tình các món ăn ở đây được bố trí rất đẹp mắt và vô cùng ngon miệng với khách hàng
Với phương châm “ Đảm bảo vệ sinh an toàn thực phẩm “ các thực phẩm tạiđây luôn được kiểm nghiệm kĩ càng trước khi chế biến để đem lại cho khách hàng những món ăn ngon và đảm bảo chất lượng
“Chia sẻ lợi ích, hướng tới thành công” là triết lí kinh doanh của nhà
hàng.Nhà hang GauCho luôn mong muốn hợp tác trên tinh thần đôi bên cùng có lợi với tất cả các nhà cung cấp thực phẩm, các nhà hàng khác, các khách hàng để đem lại sự phục vụ tốt nhất cho khách hàng nhà hàng Gau Chotin rằng: chỉ khi các nhà cung cấp, các khách hàng có được lợi ích khi hợp tác thìnhà hàng Gau Chomới có thể thành công Nhà hàng luôn cố gắng làm hài lòng những khách hàng khó tính
nhất với các món ănngon được chế biến tinh tế, đẹp mắt, đảm bảo vệ sinh an toàn
Trang 28Nhà hàng luôn cố gắng có chính sách tiền lương hợp lý và công bằng Bên cạnh đó, nhà hàng có các đãi ngộ vật chất và phi vật chất và các chế độ phúc lợi khác
2.2 Lý do xây dựng website
Ngày nay khi thương mại điện tử phát triển đã đem lại cơ hội to lớn cho các doanh nghiệp quảng bá sản phẩm thương hiệu của mình,giúp cho doanh nghiệp mở rộng được hình thức kinh doanh,giúp cho người tiêu dùng tiết kiệm được thời gian hơn có thể ngồi tại nhà đặt hàng mua sắm nhiều loại hàng hóa,giúp cho các chủ nhà hàng có thể quản lý bán hàng ngay tại nhà chỉ cần qua một máy tính có kết nối internet.So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, hiệu quả đạt cao hơn Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyền tải thông tin về sản phẩm nhanh chóng, thuận tiện.Kết hợp với bộ phận giao hàng tận nơi và thông qua ngân hàng để thanh toán tiền, càng tăng thêm thuận lợi để loại hình đó phát triển Nắm bắt được những lợi ích đó thì nhà hàng Gau Cho cũng không là một ngoại lệ.Hiện nay các hoạt động bán hàng, quảng cáo, marketing… của công ty vẫn gặp phải những khó khăn nhất định: Hoạt động kinh doanh hầu như dựa trên phương pháp thủ công, truyền thống là chủ yếu, các hoạt động khuyến mại, quảng cáo của công ty chỉ được thông báo qua tờ rơi hay băng rôn khẩu hiệu, khi khác hàng có nhu cầu tiếp cận với các dịch vụ của nhà hàng thì phải trực tiếp đến nhà hàng để thưởng thức và thanh toán điều này sẽ bất lợi cho những khách hàng bận rộn và không có thời gian đến vớinhà hàng Qua thực tiễn đó cho ta thấy cả khác hàng và doanh nghiệp đều mất một khoảng thời gian và chi phí để giới thiệu, quảng cáo, marketing, bán hàng nhưng lại không thu hút được đông đảo khách hàng Ngược lại về phía khách hàng thì phải mất thời gian, chi phí để tìm hiểu, lựa chọn được các dịch vụ ưng ý mà đôi lúc không lựa chọn được dịch vụ mà mình mong muốn
Xuất phát từ những nhu cầu trên, nhà hàng muốn xây dựng nên một website nhằm giúp nhà hàng giới thiệu, quảng bá hình ảnh, sản phẩm trên mạng internet qua đó
có thể giúp doanh nghiệp giảm thiểu được các chi phí phát sinh không đáng có và mở
Trang 29rộng hình thức kinh doanh Bên cạnh đó, website còn hỗ trợ khách hàng trong việc lựa chọn các sản phẩm Nếu khách hàng cảm thấy thích thú với các sản phẩm thì có thể đặt hàng trực tiếp trên website mà không cần đến tận nhà hàng để mua kết hợp với bộ phậm giao hàngsẽ đem lại sự hài lòng uy tin nhất cho khách hàng
2.3 Các yêu cầu khi xây dựng website
2.3.1 Yêu cầu chức năng
- Website hỗ chợ khách hàng tìm kiếm sản phẩm
- Website phải có khả năng lưu trữ, quản lý những thông tin về khách hàng, và
có thể quản lý các tin phản hồi của khách hàng qua dịch vụ liên hệ
- Chức năng xem chi tiết sản phẩm, chức năng quảng cáo, chức năng đưa ra các bản tin nổi bật và tin tức dịch vụ
- Chức năng quản lý khách hàng, quản lý sản phẩm,quản lý danh mục sản phẩm,quản lý đơn hàng
- Chức năng danh mục sản phẩm, đưa ra các danh mục sản phẩm để khách hàng có thể lựa chọn những nhóm sản phẩm mà họ muốn đặt
- Chức năng thanh toán nhanh chóng an toàn tiên lợi qua ngân hàng trung gian
2.3.2 Yêu cầu phi chức năng
- Giao diện thân thiện, dễ sử dụng và có tính thẩm mỹ cao
- Website phải truy cập nhanh, thông tin đưa ra phải chính xác tin cậy
- Website phải bảo mật tốt
2.4 Các tác nhân của hệ thống
- Khách hàng: là những khách hàng ghé qua website xem sản phẩm và mua
hàng, bình luận sản phẩm
- Người quản trị : điều hành, quản lý và theo dõi mọi hoạt động của hệ thống,
theo dõi thông tin các đơn hàng, cập nhật tin tức, sản phẩm , thanh toán và chuyển hàng cho khách
Trang 302.5 Phân tích các Use Case
2.5.1 Xác định các UC của các tác nhân
- Thống kê báo cáo
2.5.2 Biểu đồ Use Case
Trang 31Hình 2.1: Biểu đồ UC tổng quát cho hệ thống
Hình 2.2: Biểu đồ UC cho tác nhân khách hàng
Hình 2.3: Biểu đồ UC cho tác nhân Người quản trị
Trang 332.5.3 Đặc tả Use Case
Đặc tả Use case Đăng nhập
- Tác nhân: Người quản trị(Admin)
- Mô tả: UC cho phép người quản trị đăng nhập vào hệ thống
- Tiền điều kiện: Người quản trị chưa đăng nhập vào hệ thống
- Luồng sự kiện chính:
1 Người quản trị chọn chức năng đăng nhập
2 Form đăng nhập hiển thị
3 Nhập tên, mật khẩu vào form đăng nhập
4 Hệ thống kiểm tra tên, mật khẩu của người quản trị
5 Nếu việc đăng nhập thành công thì hoàn thành quá trình đăng nhập hệ thống Nếu người quản trị nhập sai tên hoặc mật khẩu thì chuyển sang luồng nhánh A1
3 Hệ thống yêu cầu người quản trị nhập lại tên và mật khẩu
4 Nếu người quản trị đồng ý thì quay về bước 2 của luồng sự kiện chính, nếu không đồng ý thì UC kết thúc
- Hậu điều kiện: Người quản trị đã đăng nhập thành công và có thể sử dụng các chức năng mà hệ thống cung cấp
Đặc tả Use case xem thông tin
Đặc tả UC xem thông tin giỏ hàng:
- Tác nhân: khách hàng
- Mô tả: cho phép khách hàng xem thông tin về giỏ hàng của mình
- Tiền điều kiện:
- Luồng sự kiện chính:
1 Khách hàng chọn chức năng giỏ hàng