- Nghiên cứu các công cụ, framework được sử dụng để xây dựng website: ngôn ngữ Java, framework Struts, mô hình MVC, công nghệ Bootstrap, Javascript, HTML5, hệ quản trị cơ sở dữ liệu SQL
Trang 1ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
-* -KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE ĐẶT CƠM ONLINE
Sinh viên thực hiện:
Nguyễn Thị Thu Phong
Trang 2Lời Cảm Ơn
Trong đợt thực tập vừa qua, em đã nhận được sự giúp đỡ tận tình và động viên từ
nhiều phía Tất cả những điều đó đã giúp em có động lực cố gắng hoàn thành tốt kỳ thực
tập tốt nghiệp này
Trước hết, Em xin bày tỏ lời cảm ơn đến lãnh đạo trường Đại học Kinh tế Huế , lãnh
đạo khoa Hệ thống thông tin Kinh tế đã tổ chức các buổi giao lưu giữa các doanh nghiệp
và sinh viên thật sự bổ ích, giúp em có cơ hội tìm được một đơn vị thực tập tốt tế và tất
cả quý Thầy Cô Trường Đại học Kinh Tế đã truyền đạt những kiến thức, kinh nghiệm quý
báu trong suốt thời gian 4 năm trên giảng đường đại học để em có đủ kiến thức để vận
dụng vào công việc và phát triển bản thân mình tốt nhất Đặc biệt, em xin chân thành
cảm ơn đến thầy giáo Ths.Lê Viết Mẫn, người đã trực tiếp tận tình hướng dẫn và giúp đỡ
Em hoàn thành đề tài này
Tiếp theo, Em cũng xin được gởi lời cảm ơn đến công ty FPT Software Đà Nẵng đã
tạo điều kiện cho em được tham gia thực tập tại đơn vị cũng như cung cấp tất cả các cơ
sở vật chất và trang thiết bị có thể cho em trong thời gian vừa qua Bên cạnh đó, Em xin
cảm ơn các anh chị trong công ty và những người bạn thực tập tại công ty đã luôn đồng
hành và tận tình hướng dẫn giúp đỡ em trong suốt thời gian em tham gia thực tập
Trong quá trình thực hiện đề tài, do kiến thức và thời gian còn hạn chế nên không
thể tránh khỏi những sự cố, sai sót Mong quý Thầy, Cô thông cảm và góp ý chân thành
để em có thể phát triển đề tài và tích luỹ được kiến thức phục vụ cho công việc sau này
Em xin trân trọng cảm ơn!
Huế, tháng 5 năm 2017Sinh viên ký tênNguyễn Thị Thu Phong
Trường Đại học Kinh tế Huế
Trang 3Trường Đại học Kinh tế Huế
Trang 4MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v
DANH MỤC CÁC HÌNH vi
DANH MỤC CÁC BẢNG viii
MỞ ĐẦU 1
1 Giới thiệu đơn vị thực tập – công ty FPT SOFTWARE Đà Nẵng 1
2 Giới thiệu đề tài khóa luận 2
2.1 Lý do chọn đề tài 2
2.2 Mục đích và nhiệm vụ của đề tài 3
2.3 Đối tượng, phạm vi nghiên cứu 3
2.4 Phương pháp nghiên cứu 3
2.5 Cấu trúc của khóa luận 4
CHƯƠNG I CƠ SỞ LÝ THUYẾT 5
1 TỔNG QUAN VỀ NGÔN NGỮ JAVA VÀ MÔI TRƯỜNG PHÁT TRIỂN TÍCH HỢP ECLIPSE 5
1.1 Ngôn ngữ lập trình Java 5
1.2.Môi trường phát triển tích hợp Eclipse 6
1.3 Java Framework Struts 1.0 7
1.3.1 Khái niệm Java framework Struts 1.0 7
1.3.2 Cấu trúc của framework Struts 8
1.4 Mô hình MVC (Model– View – Controller) 9
1.4.1 Khái niệm mô hình MVC 9
1.4.2 Cấu trúc mô hình MVC 9
1.4.3 Tiến trình thực thi mô hình MVC của Struts 10
1.5 Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server 11
1.5.1 Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL – Structure Query Language) 11
1.5.2 SQL Server 2014 14
Trường Đại học Kinh tế Huế
Trang 51.6.HTML5 và CSS3 15
1.7 BOOTSTRAP 15
1.8 JAVASCRIPT 15
CHƯƠNG II PHÂN TÍCH THIẾT KẾ WEBSITE ĐẶT CƠM ONLINE 16
2.1 Mô tả hệ thống 16
2.2 Mục tiêu nghiên cứu hệ thống : 17
2.3 Yêu cầu chức năng 17
2.3.1 Tổng quát chức năng 17
2.4 Yêu cầu phi chức năng 18
2.5 Thiết kế hệ thống 18
2.5.1 Sơ đồ Use-case Trang Chủ 18
2.5.2 Sơ đồ Use-case Quản lý món ăn 19
2.5.3 Sơ đồ Use-case Quản lý đơn hàng 20
2.5.4 Sơ đồ Use-case Quản lý menu 21
2.6 Thiết kế cơ sở dữ liệu 23
2.6.1 Mô hình quan hệ dữ liệu 23
2.6.2 Cấu trúc bảng và ràng buộc 23
2.7 Sơ đồ Lớp ( Class Diagram) 25
2.7.1 Sơ đồ Quản lý trang chủ 25
2.7.2 Quản lý Menu 26
2.7.3 Quản lý món ăn 27
2.7.4 Quản lý đơn hàng 27
2.7.5 Quản lý User 28
2.7.6 Quản lý User Info 29
2.7.7 Quản lý Phản Hồi 29
2.8 Mô hình hóa hệ thống 30
2.8.1 Biểu đồ luồng chức năng hệ thống 30
2.8.1.1 Luồng chức năng hệ thống dành cho user 30
2.8.2 Sơ đồ tuần tự(Sequence Diagram) 30
2.8.2.1 Trang chủ 31
Trường Đại học Kinh tế Huế
Trang 62.8.2.2 Hiển thị danh sách món ăn 31
2.8.2.3 Quản lý đặt cơm 33
2.8.2.4 Quản lý giỏ hàng 34
2.8.2.5 Tư vấn 35
CHƯƠNG III CÀI ĐẶT, ĐÁNH GIÁ WEBSITE ĐẶT CƠM ONLINE 36
3.1 Môi trường cài đặt 36
3.2 Giao diện chương trình 37
3.2.1 Giao diện người sử dụng 37
3.2.2 Giao diện admin 41
3.3 Đánh giá kết quả 45
3.3.1 Những điểm đạt được 45
3.3.2 Những điểm chưa đạt được 45
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46
TÀI LIỆU THAM KHẢO 48
PHỤ LỤC 49
Trường Đại học Kinh tế Huế
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
T Ký hiệu viết tắt Tên của ký hiệu viết tắt
Trường Đại học Kinh tế Huế
Trang 8DANH MỤC CÁC HÌNH
Hình 1.1 Quy trình của framework Struts 7
Hình 1.2 Cấu trúc của framework Struts 8
Hình 1.3 Cấu trúc của mô hình MVC 9
Hình 1.4 Tiến trình mô hình MVC của Struts 10
Hình 1.5 Các thành phần của SQL Server 14
Hình 2.1 Sơ đồ Use Case mô tả chức năng tổng thể .18
Hình 2.2 Chức năng quản lý món ăn của admin và user 19
Hình 2.3 Chức năng quản lý đơn hàng của admin và user 20
Hình 2.4 Chức năng quản lý menu của Admin 21
Hình 2.5 Sơ đồ quan hệ dữ liệu 23
Hình 2.6 Sơ đồ tổng quát Class Diagram 25
Hình 2.7 Sơ đồ quản lý Menu 26
Hình 2.8 Sơ đồ quản lý món ăn 27
Hình 2.9 Sơ đồ quản lý đơn hàng 28
Hình 2.10 Sơ đồ quản lý UserForm 28
Hình 2.11 Sơ đồ quản lý UserInfo 29
Hình 2.12 Sơ đồ quản lý phản hồi 30
Hình 2.13 Sơ đồ luồng chức năng hệ thống 30
Hình 2.14 Sơ đồ tuần tự của hành động hiển thị trang chủ 31
Hình 2.15 Sơ đồ tuần tự của hành động hiển thị danh sách món ăn 31
Hình a Sơ đồ tuần tự thêm món ăn 32
Hình b Sơ đồ tuần tự của hành động sửa món ăn 33
Hình c Sơ đồ tuần tự xóa món ăn 33
Hình 2.16 Sơ đồ hiển thị trang đặt cơm 34
Hình 2.17 Sơ đồ đặt cơm 34
Hình 2.18 Sơ đồ xem giỏ hàng 34
Hình 2.19 Sơ đồ xác nhận đơn hàng 35
Trường Đại học Kinh tế Huế
Trang 9Hình 2.20 Sơ đồ tư vấn món ăn 35
Hình 3.1 Giao diện trang chủ người sử dụng .37
Hình 3.2 Giao diện trang đăng nhập 38
Hình 3.3 Giao diện trang danh mục món ăn 39
Hình 3.4 Giao diện trang tư vấn món ăn .40
Hình 3.5 Giao diện trang phản hồi .40
Hình 3.6 Giao diện trang giỏ hàng .41
Hình 3.7 Giao diện trang chủ admin .41
Hình 3.8 Giao diện đăng nhập admin 42
Hình 3.9 Giao diện trang quản lý món ăn .42
Hình 3.10 Giao diện trang quản lý menu .43
Hình 3.11 Giao diện trang quản lý đơn hàng .43
Hình 3.12 Giao diện trang quản lý phiếu cơm .44
Hình 3.13 Giao diện trang quản lý phản hồi .44
Hình 3.14 Giao diện trang quản lý thống kê .44
Hình 3.15 Giao diện trang quản lý thành viên .45
Trường Đại học Kinh tế Huế
Trang 10DANH MỤC CÁC BẢNG
Bảng 2.1 Tổng quát về chức năng 17
Bảng 2.2 UserInfo .23
Bảng 2.3 Users 24
Bảng 2.4 Đơn Hàng 24
Bảng 2.5 ChiTietDonHang 24
Bảng 2.6 MonAn .24
Bảng 2.7 LoaiMonAn 24
Bảng 2.8 PhanHoi 25
Bảng 2.9 Menu .25
Bảng 2.10 PhieuCom 25
Trường Đại học Kinh tế Huế
Trang 11MỞ ĐẦU
1 Giới thiệu đơn vị thực tập – công ty FPT SOFTWARE Đà Nẵng
Công ty phần mềm FPT (FPT Software) là nhà cung cấp hàng đầu về dịch vụ gia
công phần mềm tại Việt Nam Công ty cung cấp các dịch vụ chất lượng cao, chẳng hạn
như phát triển phền mềm và bảo trì, đảm bảo chất lượng kiểm tra, các hệ thống
nhúng…Công ty cũng có uy tín trên các lĩnh vực khác như: ngân hàng và tài chính,
viễn thông, sản xuất, bảo hiểm, chính phủ và công cộng, bán lẻ, cơ sở hạ tầng, cùng
với các dịch vụ và tiện ích khác
Công ty có thể đáp ứng các yêu cầu của khách hàng toàn cầu với dịch vụ được
đảm bảo chất lượng FPT Software xác định tiến bộ công nghệ và quy trình quản lý
tiêu chuẩn là ưu tiên hàng đầu Thật vậy, FPT Software đã được cấp giấy chứng nhận
rất có uy tín của CMMI mức 5, ISO 27001:2005 (BS 7799-2:2002), và ISO
9001:2000
Được thành lập vào năm 1988 như là một bộ phận của công ty FPT, công ty
CNTT lớn nhất Việt Nam, FPT Software đã phát triển nhanh chóng và trở thành một
công ty có tầm vóc quốc tế Hiện nay, FPT Software đã có mặt tại 3 thành phố lớn nhất
của Việt Nam (Hà Nội, Đà Nẵng, TP Hồ Chí Minh) và trên các thị trường CNTT lớn
như Nhật Bản (Tokyo, Osaka), Đông Nam Á (Singapore, Malaysia, Thái Lan,
Philippines), châu Âu (Pháp), Hoa Kỳ và ÚC
Ngày 27/12/2009, chi nhánh công ty FPT Software Đà Nẵng chuyển về trụ sở
mới trong khu công nghiệp An Đồn, Đà Nẵng (Massda Industrial Park) Ngày
22/04/2016công ty FPT khánh thành và đưa vào vận hành khu công nghệ phần mềm
FPT Đà Nẵng (FPT Complex) tại Khu đô thị FPT, phường Hòa Hải, quận Ngũ Hành
Sơn Cho đến nay, công ty đã hoạt động liên tục với số lượng nhân viên không ngừng
tăng lên và định hướng đến năm 2020 số lượng nhân viên đạt ở mức 10000 người
Trường Đại học Kinh tế Huế
Trang 122 Giới thiệu đề tài khóa luận
2.1 Lý do chọn đề tài
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức,
cũng như của các công ty, nó đóng góp vai trò hết sức quan trọng, có thể tạo ra những
bước đột phá mạnh mẽ Trong những năm gần đây với sự phát triển vượt trội của khoa
học kỹ thuật đặt biệt là công nghệ thông tin với những ứng dụng của công nghệ thông
tin vào các lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển của con người
Không thể phủ nhận việc áp dụng công nghệ thông tin vào các lĩnh vực phát triển
của các công ty là một vấn đề nan giải, cần rất nhiều thời gian và sự đầu tư vào lĩnh
vực này mới có thể đưa ra sản phẩm tốt để sử dụng Nhưng cần nhấn mạnh sự phát
triển không ngừng của nền công nghệ thông tin hiện nay thì việc thực hiện các ý tưởng
không còn là vấn đề nan giải nữa Bằng chứng là đa số các công ty hiện nay đều đã áp
dụng lĩnh vực công nghệ thông tin vào sự phát triển, cũng như đời sống sinh hoạt của
các nhân viên làm việc trong công ty Mặc dù vậy, nhưng ta cũng có thể nhận thấy rõ
những thiếu sót trong việc áp dụng vào các lĩnh vực phát triển của công ty Cụ thể là
việc ăn uống của nhân viên trong các công ty còn nhiều bất cập, vì mỗi nhân viên
thường chỉ có một tiếng rưỡi đến hai tiếng trong giờ nghỉ trưa để ăn uống và nghỉ ngơi,
thế nhưng đa số các nhân viên đã phản hồi là họ phải bỏ ra hơn một tiếng đồng hồ mới
có thể ăn xong một bữa trưa, không còn nhiều thời gian để nghỉ ngơi Hoặc còn khó
chịu hơn nữa là việc chờ đợi xếp hàng vào mua cơm tại căn tin của công ty có thể coi
là một trở ngại lớn cho các nhân viên trong các công ty lớn, vì số lượng nhân viên quá
nhiều Chính vì điều đó, năng suất lao động của các nhân viên không đạt mức cao nhất
vào mỗi buổi chiều là chuyện không đáng ngạc nhiên
Vì thế, để giải quyết vấn đề trên, em đã quyết định chọn đề tài “XÂY
DỰNG WEBSITE ĐẶT CƠM ONLINE” sử dụng ngôn ngữ java và Frameword
Struts cho các quầy căng tin để phục vụ cho các nhân viên của công ty FPT
Trường Đại học Kinh tế Huế
Trang 132.2 Mục đích và nhiệm vụ của đề tài
Mục tiêu tổng quát:
Dựa trên nghiên cứu những cơ sở lý thuyết cần thiết Khóa luận tập trung phân
tích, thiết kế và xây Website đặt cơm online dành cho các quầy căn tin
Mục tiêu cụ thể:
- Nghiên cứu và nắm vững quy trình xây dựng một website hoàn chỉnh và các
hoạt động của nó
- Nghiên cứu các công cụ, framework được sử dụng để xây dựng website: ngôn
ngữ Java, framework Struts, mô hình MVC, công nghệ Bootstrap, Javascript, HTML5,
hệ quản trị cơ sở dữ liệu SQL Server
- Xây dựng và kiểm thử website đặt cơm văn phòng với các tín năng để dễ dàng
- Địa điểm: Tòa nhà FPT Complex, đường Nam Kỳ Khởi Nghĩa, Phường Hòa
Hải, Quận Ngũ Hành Sơn, Thành Phố Đà Nẵng
- Thời gian: Từ ngày 03/01/2017 đến hết ngày 03/04/2017
2.4 Phương pháp nghiên cứu
Để nghiên cứu và xây dựng website đặt cơm online, tác giả đã sử dụng các
phương pháp sau trong quá trình thực hiện đề tài:
a Quá trình thu thập dữ liệu và sử dụng các phương pháp:
Phương pháp nghiên cứu tài liệu: chủ động tìm kiếm, nghiên cứu các tài liệu,
sách liên quan đến đề tài, các website đặt cơm tương tự để đánh giá những ưu và
nhược điểm, đồng thời kết hợp với những kiến thức đạt được trong quá trình thực tập
để đề ra hướng xây dựng website hoàn chỉnh, trực quan, dễ tương tác
Phương pháp phân tích, đánh giá: dựa vào việc quan sát,phân tích, nhìn nhận
vấn đề thực tế, áp dụng những kiến thức, công nghệ cần thiết, từ đó hoàn thiện đề tài
Trường Đại học Kinh tế Huế
Trang 14 Phương pháp tổng hợp: tổng hợp kiến thức và hoàn thiện khoá luận dựa trên
những kiến thức cơ bản đã thu nhận được trong quá trình học tập và những tài liệu,
kiến thức tích luỹ được trong quá trình chủ động tìm kiếm tài liệu, học hỏi
b.Giai đoạn phân tích thiết kế và thực hiện
Phương pháp phân tích, thiết kế hệ thống: tiến hành liệt kê, tổng hợp, phân loại
các thông tin Dựa trên những thông tin thu thập được, cùng với kiến thức và nền tảng
công nghệ hiện có để tiến hành xây dựng website đặt cơm văn phòng
Phương pháp lập trình hướng đối tượng: sau khi tiến hành phân tích, thiết kế
website, sẽ lựa chọn ngôn ngữ lập trình Java và framework Struts với hệ quản trị
CSDL Microsoft SQL Server để xây dựng và quản lý website
2.5 Cấu trúc của khóa luận
Ngoài Mở đầu và Kết luận, Khóa luận gồm 3 chương :
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
Nghiên cứu lý thuyết, trình bày những kỹ thuật sử dụng Cụ thể, Chương này sẽ
trình bày khái quát về lịch sử hình thành và phát triển, các đặc điểm của ngôn ngữ lập
trình Java, framework Struts và tầm quan trọng của việc ứng dụng framework Struts
trong quá trình xây dựng một website
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ WEBSITE ĐẶT CƠM ONLINE
Chương này đề cập đến việc khảo sát thực trạng, sau đó sẽ đi sâu vào việc phân
tích bài toán: mô phỏng hệ thống, thiết kế cơ sở dữ liệu và áp dụng framework Struts
để xây dựng hệ thống
CHƯƠNG III: CÀI ĐẶT, ĐÁNH GIÁ WEBSITE ĐẶT CƠM ONLINE
Chương này đề cập đến về môi trường cài đặt, thiết kế giao diện website và kết
quả chạy thử website.Trường Đại học Kinh tế Huế
Trang 15CHƯƠNG I CƠ SỞ LÝ THUYẾT
1 TỔNG QUAN VỀ NGÔN NGỮ JAVA VÀ MÔI TRƯỜNG PHÁT TRIỂN
TÍCH HỢP ECLIPSE
1.1 Ngôn ngữ lập trình Java
Java (đọc như “Gia-va”) vừa là một ngôn ngữ lập trình (programming language)
mà cũng vừa là một nền tảng (platform), cú pháp ngôn ngữ Java có phần giống với
ngôn ngữ C và C++
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems
năm 1991, thời điểm sơ khai thì ngôn ngữ này được gọi là Oak (cây sồi) Khoảng năm
2009 thì tập đoàn Oracle đã mua lại Java bởi công ty Sun Microsystems và hiện vẫn
đang tiếp tục xây dựng và phát triển các phiên bản tiếp theo
Java được tạo ra với tiêu chí viết một lần, thực thi khắp mọi nơi (Write Once,
Run Anywhere) Những chương trình phần mềm được viết bằng ngôn ngữ lập trình
Java có thể chạy trên mọi nền tảng (platform) khác nhau với điều kiện cần phải có môi
trường máy ảo Java (JVM – Java Virtual Machine) Một số nền tảng hiện nay hỗ trợ
Java chẳng hạn như Sun Solaris, Linux, Mac OS, FreeBSD & Windows
Những đặc điểm của ngôn ngữ lập trình Java :
- Là ngôn ngữ hoàn toàn hướng đối tượng
- Là ngôn ngữ đa nền cho phép một chương trình có thể thực thi trên các hệ điều
hành khác nhau (MS Windows, UNIX, Linux) mà không phải biên dịch lại chương trình
- Là ngôn ngữ đa luồng
- Là ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản
- Là ngôn ngữ an toàn, có tính bảo mật cao
- Java hỗ trợ phát triển nhiều loại hình ứng dụng khác nhau chẳng hạn
như J2SE (Java 2 Standard Edition) dành cho phát triển ứng dụng client
-server, J2ME (Java 2 Micro Edition) dành cho phát triển ứng dụng trên thiết bị di
động, J2EE (Java 2 Enterprise Edition) dành cho phát triển ứng dụng thương mại
Trường Đại học Kinh tế Huế
Trang 161.2 Môi trường phát triển tích hợp Eclipse
Eclipse là một môi trường phát triển tích hợp cho ngôn ngữ lập trình Java, được
phát triển ban đầu bởi IBM, và hiện nay bởi tổ chức Eclipse Ngoài Java, Eclipse còn
hỗ trợ nhiều ngôn ngữ lập trình khác như C#, C, C++, PHP, Python, XML, HTML,
JavaScript khi sử dụng thêm trình bổ sung (plug-in)
Eclipse được các nhóm phát triển Java trên toàn thế giới sử dụng hàng ngày để
viết mã lệnh, gỡ lỗi và thử nghiệm các cơ sở mã lệnh lên đến hàng triệu dòng Các tính
năng của Eclipse hấp dẫn các nhà phát triển nói chung và các nhà phát triển Java nói
riêng gồm có :
- Có sẵn các trình soạn thảo thông minh để viết Java, HTML, XML…
- Làm nổi bật toàn bộ cú pháp trên tất cả trình soạn thảo
- Kiểm tra toàn bộ cú pháp khi bạn nhập mã lệnh của bạn vào
- Trợ giúp viết mã phân biệt theo ngữ cảnh đối với các ngôn ngữ lập trình được
hỗ trợ, bao gồm cả tra cứu động tài liệu hướng dẫn API
- Hỗ trợ phát triển các ứng dụng Java chuẩn, cũng như các ứng dụng đích Java
EE, như các ứng dụng Web và các dịch vụ Web
- Hỗ trợ thiết kế các ứng dụng dựa trên POJO có tích hợp JPA
- Tích hợp chặt chẽ với các hệ thống kiểm soát phiên bản phổ biến, như
- Có khả năng kiểm soát, quản lý, và triển khai các ứng dụng tới các máy chủ
ngay trong chu kỳ thời gian thử nghiệm và gỡ lỗi
- Tích hợp chặt chẽ với các nguồn dữ liệu quan hệ và không quan hệ thông qua
JDBC và Open Data Access (ODA)
- Khả năng nhấn chuột một lần để tìm khai báo kiểu hay kiểu cơ sở ở bất cứ nơi
nào trong mã nguồn
Trường Đại học Kinh tế Huế
Trang 17- Khả năng nhấn chuột một lần để tìm tất cả các tham chiếu đến một kiểu hay
một ký hiệu ở bất cứ nơi nào trong mã nguồn
- Công cụ tái cấu trúc mã nguồn (refactoring) để hỗ trợ quá trình tái cấu trúc mã
nguồn thường là buồn tẻ, khá phức tạp và dễ mắc lỗi
1.3 Java Framework Struts 1.0
1.3.1 Khái niệm Java framework Struts 1.0
Hình 1.1 Quy trình của framework Struts
Struts là 1 framework dựa trên hoạt động của mô hình MVC(Model – View –
Controller), phủ lên bên trên JSP&Servlet Struts có 1 Servlet duy nhất là
ActionServlet ( được hệ thống ẩn đi ) Do không sử dung Servlet nào khác nên hệ
thống sẽ thay thế bằng Action + Struts-config.xml Struts cần tuân thủ các quy định
của MVC, phân rõ chức năng của từng tầng, không được vi phạm
Trường Đại học Kinh tế Huế
Trang 18 Struts là một tập thư viện các thẻ JSP tùy chọn (Custom JSP Tag): Struts cung
cấp các thư viện thẻ tùy chọn cho việc thể hiện các thuộc tính của bean, quản lý các
HTML forms, lặp lại các kiểu cấu trúc dữ liệu, và đưa ra các HTML có điều kiện
1.3.2 Cấu trúc của framework Struts
Hình 1.2 Cấu trúc của framework Struts
Cấu trúc của Framework như sau :
- Trong Struts, chỉ có 1 Servlet duy nhất là ActionServlet (được hệ thống ẩn đi)
Do không sử dụng Servlet nào khác nên hệ thống sẽ thay thế bằng Action và
Struts-config.xml
- Struts phải tuân thủ các quy định của mô hình MVC (Model – View –
Controller), phân rõ chức năng của từng tầng
- 1 Action có thể hiểu đơn giản là một màn hình, làm nhiệm vụ điều hướng
- 1 ActionForm có thể hiểu đơn giản là để chứa tất cả các dữ liệu cần thiết của 1
Action
- 1 ActionForm tương tự như javabean, có dữ liệu (private) và các phương thức
set/get
- 1 ActionForm có thể chứa các javabean khác nhau
- Mỗi Action chỉ có thể có một ActionForm
- Một ActionForm có thể có nhiều javabean khác nhau
Trường Đại học Kinh tế Huế
Trang 191.4 Mô hình MVC (Model – View – Controller)
1.4.1 Khái niệm mô hình MVC
MVC(Model – View – Controller) là mô hình thiết kế mang tính tổng thể để
giải quyết vấn đề có tính nghiệp vụ cao, thường áp dụng cho những dự án lớn và có
tính thương mại cao Mô hình MVC được tạo ra bởi Krasner và Pope năm 1988 cho
Smalltalk, hiện tại được IBM và Apache ứng dụng trong các dự án của họ rất thành
công Đây là một giải pháp cho phép xây dựng các ứng dụng phân tầng một cách rất
hiệu quả, bằng cách tạo ra những phương thức quản lý từng tầng một cách riêng lẽ
Trong J2EE, thì MVC cũng được xây dựng dựa trên những tính năng mạnh của công
nghệ JSP và Servlet
1.4.2 Cấu trúc mô hình MVC
Hình 1.3 Cấu trúc của mô hình MVCMVC gồm 3 tầng:
Model: Tách riêng phần Logic và phần hiển thị
JavaBean: Chứa các thực thể, gồm các dữ liệu (private), kèm theo các phương
thức set/get
DAO: Thực hiện các công việc liên quan đến CSDL như kết nối, lấy dữ liệu,
truy vấn, chỉnh sửa, thêm xóa dữ liệu trực tiếp với databasse
BO: Truyền yêu cầu từ Servlet chuyển qua DAO, lấy dữ liệu DAO về cho
Servlet Xử lý các yêu cầu nghiệp vụ
Trường Đại học Kinh tế Huế
Trang 20View: Là các trang JSP, nhiệm vụ trả về hiển thị cho người dùng.
Controller: Là các trang JSP, có nhiệm vụ nhân các yêu cầu từ người dùng, đưa
yêu cầu và nhận dữ liệu từ tầng Model, từ đó chuyển hướng và trả về cho tầng View
1.4.3 Tiến trình thực thi mô hình MVC của Struts
Hình 1.4 Tiến trình mô hình MVC của Struts
Tiến trình thực thi mô hình của Struts như sau :
1.Một yêu cầu (request) được gửi đến từ view
2.ActionServlet sẽ tiếp nhận request này, phân tích, kiểm tra Sau đó chỉ định
cho Action tương ứng thực thi yêu cầu, tính toán những tác vụ cần thiết
ActionServlet đóng vai trò là Controller
3.Action sẽ thao tác và xử lí trên Model của ứng dụng
4.Mỗi khi Action hoàn thành việc thao tác và xử lí, nó trả quyền điều khiển về
cho ActionServlet kèm theo một key gắn kèm với kết quả trả về ActionServlet sẽ dựa
vào key này mà quyết định xem các kết quả trả về sẽ được hiển thị như thế nào
5.ActionServlet trả lời bằng cách gửi lại một request cho view là một liên kết
đến kết quả trả về của Action thông qua key trên Sau đó, view làm nốt công việc trình
bày kết quả
Trường Đại học Kinh tế Huế
Trang 211.5 Tổng quan về hệ quản trị cơ sở dữ liệu Microsoft SQL Server
1.5.1 Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL – Structure Query Language)
SQL (Structure Query Language) là một công cụ quản lý dữ liệu được sử dụng
phổ biển ở nhiều lĩnh vực và nó bao gồm tập các câu lệnh sử dụng để tương tác với cơ
sở dữ liệu quan hệ Hầu hết các ngôn ngữ bậc cao đều có trình hỗ trợ SQL như Java,
C#, C, C++…
SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở
dữ liệu cung cấp cho người dùng bao gồm: định nghĩa dữ liệu, truy xuất và thao tác dữ
liệu, điều khiển và truy cập
Với SQL, chúng ta có thể truy vấn Cơ sở dữ liệu (Database) theo nhiều cách khác
nhau bằng việc sử dụng các lệnh SQL cho phép người dùng miêu tả dữ liệu, định
nghĩa dữ liệu trong một Database và thao tác nó khi cần thiết
SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu
và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu
Đặc điểm của SQL:
- SQL là ngôn ngữ tựa tiếng Anh
- SQL là ngôn ngữ phi thủ tục, nó không yêu cầu cách thức truy nhập cơ sở dữ liệu
như thế nào, tất cả các thông báo của SQL đều rất dễ sử dụng và ít khả năng mắc lỗi
- SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp dữ liệu
- Chèn, cập nhật, xóa các hàng trong một quan hệ
- Tạo, sửa đổi, thêm và xóa các đối tượng của cơ sở dữ liệu
- Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu
để đảm bảo tính bảo mật của cơ sở dữ liệu
-Đảm bảo tính nhất quán và sự ràng buộc của cơ sở dữ liệu
- SQL sử dụng các kiểu dữ liệu cơ bản: Integer, Number(n,p), char(n),
varchar(n), nvarchar(n), ….v.v
Trường Đại học Kinh tế Huế
Trang 22 Vai trò của SQL:
SQL là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị
cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ
quản trị cơ sở dữ liệu SQL có vai trò như sau:
- SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các
câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng nên các chương trình ứng
dụng giao tiếp với cơ sở dữ liệu
- SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông
qua các trình tiện ích để gửi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu
và nhận kết quả trả về từ cơ sở dữ liệu
- SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở
dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều
khiển truy cập cơ sở dữ liệu
- SQL là ngôn ngữ truy cập dữ liệu trên Internet: SQL với vai trò là ngôn ngữ để
tương tác với dữ liệu trong các cơ sở dữ liệu trên Internet
- SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu
phân tán, mỗi hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gửi
và nhận các yêu cầu truy xuất dữ liệu với nhau
- SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: SQL thường
được dùng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu
khi hệ thống máy tính có nhiều hệ quản trị cơ sở dữ liệu khác nhau
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi
dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases,
database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau
trong RDBMS
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn
(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho
hàng ngàn người dùng (user)
Trường Đại học Kinh tế Huế
Trang 23SQL Server là một hệ thống quản trị CSDL quan hệ nhiều người dùng hoạt động
theo mô hình Client/Server Hệ quản trị CSDL này được sử dụng ở hầu hết các ứng
dụng lớn hiện nay
Trong mô hình Client/Server, phần Server chứa CSDL, cung cấp các chức năng
phục vụ cho việc tổ chức và quản lý CSDL, cho phép nhiều người sử dụng cùng lúc
truy cập dữ liệu Điều này không chỉ tiết kiệm mà còn thể hiện tính nhất quán về mặt
dữ liệu Tất cả dữ liệu đều được truy xuất thông qua Server, không được truy xuất trực
tiếp Do đó, có độ bảo mật cao, chịu lỗi tốt hơn, dễ dàng sao lưu dữ liệu Phần Client là
người sử dụng giao tiếp với CSDL trên Server
Các đặc tính của SQL Server
- Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý dữ
liệu nhanh đáp ứng yêu cầu về thời gian
- Cho phép nhiều người cùng khai thác trong một thời điểm đối với một CSDL
và toàn bộ quản trị CSDL (lên đến vài chục ngày user)
- Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công
nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của Windows NT
hoặc sử dụng hệ thống bảo về độc lập của SQL Server
- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên
Internet
- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng
cácứng dụng đặc thù (Visual Basic, C, C++, ASP )
- Sử dụng câu lệnh truy vấn dữ liệu Transaction – SQL (ví dụ như trong Access
là SQL, trong Oracle là PL/SQL)
Các thành ph ần của SQL Server
- SQL Server được cấu thành bởi nhiều thành phần khác nhau, các thành phần
này có mối quan hệ trong một hệ thống, phối hợp với nhau tạo thành một giải pháp
hoàn chỉnh, nâng cáo hiệu quả quản trị, phân tích, lưu trữ dữ liệu Mô hình các thành
phần của SQL Server được thể hiện như sau:
Trường Đại học Kinh tế Huế
Trang 24Hình 1.5 Các thành phần của SQL Server
- Công cụ nhân bản dữ liệu (Replication): Là công cụ mà người dùng có thể tạo
một máy chủ khác với bộ dữ liệu giống bộ dữ liệu trên máy chủ chính Công cụ tạo cơ
chế tự đồng bộ dữ liệu giữa máy chủ chính và máy chủ nhân bản Mục đích của việc
tạo máy chủ nhân bản là giảm tải cho máy chủ chính, nâng cao hiệu quả phục vụ với
số lượng người, phiên giao dịch lớn
- Công cụ chuyển đổi dữ liệu (Data Transformation Service – DTS): Là công cụ
giúp người dùng chuyển dữ liệu giữa các máy chủ quản trị CSDL khác nhau, DTS có
thể chuyển dữ liệu từ SQL Server sang Oracle, Access, DB, trước khi chuyển dữ liệu
DTS định dạng kiểu dữ liệu để chuyển sang hệ quản trị CSDL khác
- Công cụ phân tích dữ liệu (Analysis service): Là công cụ giúp khai thác phân
tích dữ liệu, hay khai phá dữ liệu theo phương thức đa chiều Từ một tập dữ liệu sẵn
có, người dùng có thể khai phá rồi từ đó đưa ra những nhận định, phân tích, đánh giá
và dự đoán theo lĩnh vực nào đó, mỗi chiều trong ngữ cảnh này được coi là một tiêu
chí xem xét của dữ liệu
- Công cụ truy vấn tiếng anh (English query): Là công cụ tra cứu dữ liệu bằng
tiếng Anh, cú pháp có thể sử dụng theo văn phạm tiếng Anh thông thường
- Bộ công cụ cung cấp giao diện cho người quản trị (SQL Server tools):
Enterprise manager, Query Analyzer,
1.5.2 SQL Server 2014
SQL Server 2014 là hệ thống quản trị cơ sở dữ liệu phiên bản mới nhất SQL
Server 2014 giúp người dùng xây dựng được những ứng dụng trọng điểm và các giải
Trường Đại học Kinh tế Huế
Trang 25pháp quản trị siêu dữ liệu sử dụng công nghệ bộ nhớ trong hiệu suất cao xuyên suốt
các OLTP, kho dữ liệu và các hệ thống BI đồng thời phân tích dữ liệu mà không đòi
hỏi các ứng dụng cao cấp hay ứng dụng cài đặt bổ sung add-on đắt tiền SQL Server
2014 sử dụng một tập các công cụ thường để triển khai và quản trị CSDL trên cả đám
mây và tại doanh nghiệp, giúp cho người dùng dễ dàng có được lợi ích từ đám mây từ
các kỹ năng hiện hành
1.6 HTML5 và CSS3
HTML 5 là một phiên bản mới sửa đổi thứ 5 của ngôn ngữ World Wide Web: the
Hypertext Markup Language (HTML) HTML 5 sẽ cho phép một lớp ứng dụng web
mới ra đời, hỗ trợ nội dung đa phương tiện và các chức năng offline mà không cần đến
những công nghệ độc quyền đi kèm
CSS3 không phải là một thành phần của HTML5, nhưng có mối liên quan mật
thiết với HTML5 và được phát triển song song với HTML5 CSS3 được chia thành các
modul, các thành phần cũ được chia nhỏ và bổ sung các thành phần mới
1.7 BOOTSTRAP
Bootstrap là Front-end framework, là một bộ sưu tập miễn phí các công cụ để tạo
ra các trang web và cácứng dụng web Nó chứa HTML và CSS dựa trên các mẫu thiết
kế cho kiểu chữ, hình thức, các nút, chuyển hướng và các thành phần giao diện khác,
cũng như mở rộng JavaScript tùy chọn
Bootstrap tương thích với các phiên bản mới nhất của tất cả các trình duyệt nổi
tiếng trên thế giới như Chrome, Firefox, IE, Opera v.v
1.8 JAVASCRIPT
- JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất thế giới, nó là
ngôn ngữ cho HTML, web, server, PC, laptop, tablet, smart phone…
- JavaScript là một ngôn ngữ kịch bản
- Ngôn ngữ kịch bản là một ngôn ngữ lập trình nhỏ
- JavaScript là mã lập trình có thể được chèn vào các trang HTML
- JavaScript được chèn vào các trang web có thể được chạy bởi tất cả các trình
duyệt web hiện đại
- JavaScript là một ngôn ngữ lập trình dễ học
Trường Đại học Kinh tế Huế
Trang 26CHƯƠNG II PHÂN TÍCH THIẾT KẾ WEBSITE ĐẶT CƠM ONLINE
2.1 Mô tả hệ thống
Website đặt cơm online nhằm hướng đến đối tượng chủ yếu là các bộ, nhân viên
tại công ty FPT nhằm phục vụ nhu cầu trong bữa ăn chính trong ngày Người dùng sẽ
được giao cơm tận nơi theo ý muốn của mình tại công ty
Website hoạt động chủ yếu phục vụ ba đối tượng cơ bản: người dùng vãng lai
(visitor), thành viên (user) và người quản trị website (admin)
Đối với người quản trị website (admin):
o Admin là người có quyền quản trị cao nhất trong hệ thống
o Admin là người bảo mật an ninh của website
o Admin có thể quản lý các nghiệp vụ :
- Quản lý món ăn: cho phép người quản trị thực hiện các chức năng : thêm, sửa,
xóa , tìm kiếm món ăn
- Quản lý menu: cho phép người quản trị xem menu đã thiết lập theo từng ngày,
thêm món ăn vào menu tưng ứng với ngày cụ thể, sửa, xóa, tìm kiếm menu
- Quản lý đơn hàng: cho phép người quản trị xem tất cả các đơn hàng mà người
dùng đã đặt trong hệ thống, xem chi tiết đơn hàng, xóa đơn hàng và cập nhật trạng thái
Đối với thành viên (user):
o Thành viên là người dùng sau khi đã đăng ký thành công tài khoản
o Thành viên có thể lựa chọn món ăn, đồ uống và các món ăn khác có trong thực
Trang 27- Đối với người dùng vãng lai (visitor):
o Người dùng vãng lai có thể xem nội dung website chẳng hạn như xem bài viết
có trong hệ thống, có thể đăng ký trở thành thành viên của hệ thống
2.2 Mục tiêu nghiên cứu hệ thống :
Xây dựng được một hệ thống Website đặt cơm online với các mục tiêu sau:
- Đầy đủ tính năng cơ bản, phù hợp với nhu cầu sử dụng của người quản lý và
khách hàng cần đặt cơm trực tuyến (dành riêng cho dân văn phòng)
- Giao diện trực quan, dễ sử dụng
- Có khả năng bảo mật, phân quyền truy cập, mỗi loại người dùng chỉ có thể
truy cập những chức năng nhất định
- Thông qua đó:
- Hiểu được cách thức triển khai một dự án phần mềm theo quy trình chung
nhất
- Trau dồi khả năng làm việc nhóm, phục vụ quá trình học tập được tốt hơn
2.3 Yêu cầu chức năng
2.3.1 T ổng quát chức năng
Hiện tại hệ thống gồm có các tác nhân đó là: Admin, User và Visitor Mỗi tác
nhân đều có chức năng riêng của mình
Bảng 2.1 Tổng quát về chức năng
Admin Là người quản trị hệ thống, chủ cửa hàng hoặc quản lý cửa hàng cơm Họ
có thể xem, thêm, sửa, xóa dữ liệu đơn hàng, menu, món ăn, account
User Là một thành viên của hệ thống, người đăng kí thông tin để đặt cơm Họ có
thể xem đơn hàng, xác nhận đơn hàng, đặt cơm, xem tư vấn, gửi phản hồi
Visitor Là người dùng truy cập vào website nhưng không phải là thành viên Họ có
thể xem danh sách menu hằng ngày, thông tin chi tiết của món ăn, xem tư vấn
-CSDL có thể được truy cập trực tuyến và miễn phí
-Người dùng truy cập vào hệ thống có thể xem món ăn theo menu
-Người dùng có thể đặt cơm theo ý muốn
Trường Đại học Kinh tế Huế
Trang 28-Người dùng có thể được tư vấn món ăn theo sức khỏe.
-Người dùng có thể phản hồi
2.4 Yêu cầu phi chức năng
-Đơn giản, dễ dàng sử dụng
-Đáp ứng nhanh
-Dễ dàng tìm kiếm thông tin
-Các chức năng theo một luồng thống nhất
2.5 Thiết kế hệ thống
Vì yêu cầu về số lượng trang, nên mục này Khóa luận chỉ đưa ra một số thiết kế
chính Những thiết kế còn lại có thể xem ở Phụ Lục
2.5.1 Sơ đồ Use-case Trang Chủ
Hình 2.1 Sơ đồ Use Case mô tả chức năng tổng thể
Hình 2.1ở trên thể hiện chức năng tổng quát của admin,User, Visitor :
+ Admin có các chức năng: quản lý món ăn, quản lý đơn hàng, quản lý menu,
quản lý người dùng, quản lý phản hồi, thống kê
+ User có các chức năng: xem menu, đặt cơm, xem mục tư vấn, phản hồi
+ Visitor có chức năng: xem thông tin menu, xem tư vấn, món ăn hàng ngày
Trường Đại học Kinh tế Huế
Trang 292.5.2 Sơ đồ Use-case Quản lý món ăn
Hình 2.2 Chức năng quản lý món ăn của admin và user
Hình 2.2 thể hiện chức năng quản lý món ăn của admin và user như sau :
+ Use case này cho phép người sử dụng hoặc admin đăng nhập vào hệ thống, tùy
theo nhu cầu của người dùng và admin mà hệ thống sẽ cho phép người dùng hoặc
admin thực hiện các chức năng của mình
- Hệ thống sẽ kiểm tra trong CSDL người dùng hoặc admin nhập tên và mật
khẩu Sau đó lựa chọn đăng nhập
-Hệ thống sẽ hiển thị các chức năng tương ứng
- Người dùng hoặc admin có thể đăng xuất bằng cách chọn đăng xuất trên trang
chủ
o Luồng thay thế: Sai thông tin đăng nhập
Trường Đại học Kinh tế Huế
Trang 30- Nếu trong luồng cơ sở người dùng hoặc admin đăng nhập với những thông tin
không có trong cơ sở dữ liệu người dùng hoặc admin, thì hệ thống sẽ thông báo lỗi và
yêu cầu đăng nhập lại hoặc trở về trang chủ
Các yêu cầu đặc biệt: Không.
Điều kiện trước:Thông tin nhập đầy đủ
Điều kiện sau:Thông tin nhập chính xác
Điểm mở rộng: Không.
2.5.3 Sơ đồ Use-case Quản lý đơn hàng
Hình 2.3 Chức năng quản lý đơn hàng của admin và user
Hình 2.3 thể hiện chức năng quản lý đơn hàng của admin và user như sau :
+ Use case này cho phép admin đăng nhập vào hệ thống, hệ thống sẽ cho phép
thực hiện các thao tác như hủy xác nhận đơn hàng, xem chi tiết đơn hàng, cập nhật
trạng thái đơn hàng
+ Use case này cho phép người dùng đăng nhập hệ thống, hệ thống cho phép
thực hiện các thao tác: thêm đơn hàng, xóa đơn hàng, xác nhận đơn hàng
Luồng sự kiện:
o Luồng cơ sở: Use case này bắt đầu khi người quản trị chọn quản lý đơn hàng
Trường Đại học Kinh tế Huế
Trang 31- Hệ thống sẽ kiểm tra thông tin các chức năng về quản lý đơn hàng.
- Hệ thống sẽ hiển thị danh sách thông tin đơn hàng
- Admin sẽ thể hủy xác nhận đơn hàng của một người dùng nào đó và cập nhật
trạng thái đơn hàng Sau đó có thể xem chi tiết đơn hàng mà người dùng đã đặt ở
wesite đợt cơm online và có thể in hóa đơn củ người dùng
- Admin có thể đăng xuất bằng cách chọn đăng xuất trên trang chủ
o Luồng thay thế: Sai thông tin quản lý công việc
- Nếu trong luồng cơ sở, chủ cửa hàng đăng nhập với những thông tin không có
trong cơ sở dữ liệu người dùng, thì hệ thống sẽ thông báo lỗi và yêu cầu đăng nhập lại
- Đối với các tài khoản sai tên truy cập và mật khẩu thì không thể truy cập vào
nội dung này
Các yêu cầu đặc biệt: Không.
Điều kiện trước: Có thể sử dụng khi đã đăng nhập vào hệ thống với quyền
admin
Điều kiện sau: Không.
Điểm mở rộng: Không.
2.5.4 Sơ đồ Use-case Quản lý menu
Hình 2.4 Chức năng quản lý menu của Admin
Trường Đại học Kinh tế Huế
Trang 32Hình 2.4 thể hiện chức năng quản lý của Admin như sau :
+ Use case này cho phép admin đăng nhập vào hệ thống, hệ thống sẽ cho phép
thực hiện các thao tác như thêm, sửa, xóa 1 menu
Luồng sự kiện:
o Luồng cơ sở: Use case này bắt đầu khi người dùng chọn quản lý menu
- Hệ thống sẽ kiểm tra thông tin người sử dụng có chức năng này hay không
- Hệ thống sẽ hiển thị danh sách thông tin menu
- Admin sẽ chọn 1 thông tin menu nào đó để sửa thông tin, xóa hoặc thêm mới
một menu
- Sau khi thêm, sửa, xóa các thông tin phải lưu lại trước khi thoát khỏi hệ thống
- Admin có thể đăng xuất bằng cách chọn đăng xuất trên trang chủ
o Luồng thay thế: Sai thông tin quản lý công việc
- Nếu trong luồng cơ sở, chủ cửa hàng đăng nhập với những thông tin không có
trong cơ sở dữ liệu người dùng, thì hệ thống sẽ thông báo lỗi và yêu cầu đăng nhập lại
- Đối với các tài khoản sai tên truy cập và mật khẩu thì không thể truy cập vào
nội dung này
Các yêu cầu đặc biệt: Không.
Điều kiện trước: Có thể sử dụng khi đã đăng nhập vào hệ thống với quyền
Trang 332.6 Thiết kế cơ sở dữ liệu
2.6.1 Mô hình quan hệ dữ liệu
Sau khi thiết kế các bảng cơ sở dữ liệu trên SQ server và tổng hợp lại Sơ đồ
quan hệ giữa các bảng dữ liệu được thể hiện như sau:
Hình 2.5 Sơ đồ quan hệ dữ liệu
2.6.2 Cấu trúc bảng và ràng buộc
Bảng UserInfo (Thông tin người dùng)
Bảng 2.2 UserInfo
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
SDT Số điện thoại Nvarchar 20
Trường Đại học Kinh tế Huế
Trang 34 Bảng Users
Bảng 2.3 Users
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
foreign key
Bảng DonHang (Đơn hàng)
Bảng 2.4 Đơn Hàng
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
Ngay Ngày lập đơn hàng Date
Bảng ChiTietDonHang (Chi tiết đơn hàng)
Bảng 2.5 ChiTietDonHang
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
ĐiaChiGiaoHang Địa chỉ giao hàng Nvarchar 50
Bảng MonAn (Món Ăn)
Bảng 2.6 MonAn
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
Bảng LoaiMonAn (Loại món ăn)
Bảng 2.7 LoaiMonAn
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
Trường Đại học Kinh tế Huế
Trang 35Bảng PhanHoi (Phản hồi)
Bảng 2.8 PhanHoi
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
GopY Góp ý Nvarchar 50
Bảng Menu
Bảng 2.9 Menu
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
Bảng PhieuCom (Phiếu cơm)
Bảng 2.10 PhieuCom
Tên cột Giải thích Kiểu dữ liệu Maxlength Ghi chú
2.7 Sơ đồ Lớp ( Class Diagram)
Vì yêu cầu về số lượng trang, nên mục này Khóa luận chỉ đưa ra một số thiết kế
chính.Những thiết kế còn lại có thể xem ở Phụ Lục
2.7.1 Sơ đồ Quản lý trang chủ
Hình 2.6 Sơ đồ tổng quát Class Diagram
Trường Đại học Kinh tế Huế