Khách vãng lai: ❖ Là khách hàng truy cập vào trang website của cửa hàng nhưng chưa đăng ký thành viên hoặc chưa đăng nhập vào hệ thống.. Khách Hàng thành viên: ● Là khách hàng đã thực hi
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
-BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: THỰC TẬP CƠ SỞ
ĐỀ TÀI: WEBSITE BÁN ĐỒ ĂN
Sinh viên thực hiện: Nguyễn Thành Dương– B19DCCN157
Lê Khánh Linh – B19DCCN373
Nguyễn Văn Hiếu-B19DCCN253
Nhóm bài tập :4
Hà Nội – 2022
Trang 2MỤC LỤC
CHƯƠNG I KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN 6
1 Khảo sát hiện trạng và đánh giá hiện trạng: 6
1.2 Đánh giá hiện trạng và mục đích chọn đề tài: 6
1 Xác định UC các tác nhân của hệ thống 8
2.3 UC Tìm kiếm Món ăn, nước uống: 10
2.5 UC cập nhật thông tin giỏ hàng: 11
5 Thiết Kế CSDL: Database FoodShop 11 CHƯƠNG III: TRIỂN KHAI DỰ ÁN LÊN WEBSITE 18
1 Kết quả triển khai trên website:
Trang 3KẾT LUẬN
1 Ưu điểm
2 Những việc chưa đạt được
3 Hướng phát triển
Trang 4LỜI CẢM ƠN
Lời đầu tiên nhóm em xin cảm ơn các thầy cô giáo thuộc Khoa Công nghệ thông tin đã dạy cho chúng em những kiến thức, thực hành trong suốt ba năm
em học tại trường
Nhóm em xin trân thành cảm ơn cô , là giáo viên hướng dẫn và giúp đỡ nhóm em tận tình trong thời gian thực hiện đề tài 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 những sai sót Vì vậy bọn em mong cô thông cảm và góp ý
để em hoàn thiện đề tài của mình
Một lần nữa chúng em xin chân thành cảm ơn!
Trang 5LỜI MỞ ĐẦU
Hiện nay thế giới bước vào nền công nghiệp 4.0, để bắt kịp với các nước trong khu vực và trên thế giới, Việt Nam cần phải hội nhập vào nền công nghệ
kỹ thuật số và phát triển kinh tế theo mô hình “kinh tế số” hay kinh tế kỹ thuật
số “Kinh tế số” là bước phát triển tất yếu, phù hợp với xu thế mới, mang lại hiệu quả và giá trị lợi nhuận cao trong khi nền kinh tế truyền thống đang dần bão hòa Tuy nhiên, theo nhận định của các chuyên gia, kinh tế số hóa ở Việt Nam hiện mới chỉ tập trung vào khía cạnh liên lạc, giải trí và thông tin, trong khi nhiều lĩnh vực khác như thương mại điện tử vẫn còn nhiều thách thức
Hiện nay thương mại điện tử ngày càng được ứng dụng rộng rãi ở nước ta dưới nhiều hình thức khác nhau và một trong số đó là dịch vụ mua bán qua mạng internet hay bán hàng trực tuyến.Với một quốc gia hơn 53% dân số sử dụng internet và gần 50 triệu thuê bao sử dụng smartphone, thị trường thương mại điện tử ở Việt Nam được dự đoán rất tiềm năng và sẽ bùng nổ trong thời gian tới
Thương mại điện tử ngày một phát triển và cùng với đó là sự phát triển của các ngôn ngữ lập trình cho phép bạn 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 Đặc biệt với sự hỗ trợ của các hệ quản trị cơ sở dữ liệu, bạn có thể kết hợp chúng với một kịch bản trình chủ như: ASP, JSP, Perl, PHP,… để triển khai nhiều ứng dụng với nhiều mục đích khác nhau
Trong đề tại tốt nghiệp lần này, để ứng dụng công nghệ thông tin vào dịch
vụ buôn bán mặt hàng thức ăn nhanh, em đã chọn đề tài Xây dựng website
bán đồ ăn theo thể thức thương mại điện tử.
Trang 6CHƯƠNG I KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN
1 Khảo sát hiện trạng và đánh giá hiện trạng:
1.1.Khảo sát hiện trạng:
Hiện tại các cửa hàng bán thức ăn , đồ ăn trên địa bàn thành phố Hà Nội cũng như một số tỉnh thành phố khác hầu hết đều có phương thức đặt đồ
ăn online.Với nhiều phần mềm lớn shopee food ,grab food ,beamin,
1.2.Đánh giá hiện trạng và mục đích chọn đề tài:
- Việc chỉ bán hàng trực tiếp tại các cửa hàng hạn chế rất lớn việc tiếp cận và thu hút khách hàng, hạn chế danh tiếng của doanh nghiệp cũng như tiềm năng phát triển
- Mục đích nhóm chọn đề tài này nhằm tạo ra một website cho các cửa hàng đồ ăn vừa và nhỏ có thể tiếp cận kinh doanh đồ ăn nhanh trực tuyến,
mở rộng tiềm năng kinh tế và dễ dàng tiếp cận và thu hút nhiều khách hàng qua website này
2 Xác lập dự án
2.1 Phạm vi dự án :
Dự án được triển khai cho các công ty, cửa hàng bán đồ ăn vừa và nhỏ cho các tỉnh, thành phố
2.2 Mục tiêu và nhiệm vụ:
2.2.1 Mục tiêu:
Mục tiêu của đề tài này là xây dựng một website với giao diện trực quan, dễ dàng sử dụng, hỗ trợ quản lý, theo dõi được hoạt động của cửa hàng từ xa
2.2.2 Nhiệm vụ:
- Nghiên cứu và nắm vững quá trình xây dựng một website hoàn chỉnh trên mô hình MVC
Trang 7- Sử dụng thành thục các công cụ hỗ trợ của apache netbean và với ngôn ngữ Java
- Nắm bắt được cách vận hành của một hệ thống bán hàng qua mạng
3 Các yêu cầu của hệ thống:
3.1.Các yêu cầu chức năng:
+ Hỗ trợ nghiệp vụ:Nhập, lưu trữ,quản lý thông tin món ăn, thức uống… của cửa hàng
+ Hỗ trợ quản lý các thông tin khách hàng
+ Hỗ trợ nhanh chóng chính xác việc tra cứu thông tin của từng khách hàng, sản phẩm
3.2.Các yêu cầu phi chức năng
+ Website thao tác dễ dàng, giao diện đẹp mắt
+ Cho phép truy cập dữ liệu đa người dùng Người dùng có thể truy cập
dữ liệu đồng thời
+ Giao diện dễ dùng, trực quan, gần gũi với người sử dụng
+ Hướng dẫn sử dụng dễ hiểu, dễ thực hiện
+ Ngôn ngữ trong hệ thống phải phổ biến phù hợp với nhiều người dùng
Trang 8Chương II: MÔ HÌNH HÓA YÊU CẦU
1 Xác định UC các tác nhân của hệ thống
Chương trình website bán thức ăn gồm có 3 tác nhân chính: khách vãng lai, khách hàng thành viên và quản trị viên hệ thống.
1.1 Khách vãng lai:
❖ Là khách hàng truy cập vào trang website của cửa hàng nhưng chưa đăng ký thành viên hoặc chưa đăng nhập vào hệ thống
❖ Các chức năng chính:
● Đăng ký: Khách hàng thực hiện thao tác Đăng ký khi click vào link đăng
ký trong mục Đăng Nhập/Đăng ký, trang web sẽ chuyển hướng đến trang Đăng ký thành viên Người dùng nhập thông tin như: username, password, Email rồi ấn nút đăng ký
● Xem sản phẩm: Các sản phẩm được hiển thị trên trang chủ theo dạng bảng, người dùng có thể ấn vào xem thông tin chi tiết để biết chi tiết về sản phẩm
1.2 Khách Hàng thành viên:
● Là khách hàng đã thực hiện đăng ký thành viên và đăng nhập tài khoản
thành viên vào hệ thống
● Đăng nhập: Khách hàng nhập username và password vào mục Đăng nhập tài khoản thành viên (tài khoản được tạo sau khi đăng ký) và click vào nút đăng nhập Hệ thống sẽ trả lại thông báo đăng nhập thất bại nếu người dùng nhập sai thông tin, ngược lại nếu không nhận được thông báo thất bại tức là đã đăng nhập thành công và chuyển hướng đến trang chủ
● Xem sản phẩm: các sản phẩm được hiển thị dưới dạng danh sách, khách hàng có thể click vào hình ảnh sản phẩm để xem thông tin chi tiết
● Mua/Đặt hàng: Người dùng lựa chọn món ăn, nước uống từ cửa sổ sản phẩm tại trang chủ và ấn vào nút thêm vào giỏ hàng cho từng sản phẩm được chọn, hệ thống sẽ thêm sản phẩm được chọn vào giỏ hàng của tài khoản khách hàng đang sử dụng, tiếp theo khách hàng có thể truy cập vào trang giỏ hàng điều chỉnh ( thêm sản phẩm hoặc loại bỏ sản phẩm)
Trang 9giỏ hàng của mình, sau khi đã hợp ý khách hàng có thể ấn vào nút đặt hàng vào xác nhận thông tin đặt hàng
● Cập nhật thông tin giỏ hàng: khách hàng có thể truy cập vào trang giỏ hàng điều chỉnh (thêm sản phẩm hoặc loại bỏ sản phẩm) giỏ hàng của mình, theo dõi đơn hàng và hủy đơn hàng
1.3 Quản trị viên:
+Là người giám sát và thực hiện, điều khiển các chức năng của hệ thống
● Các tài khoản được đăng ký thành công được hệ thống lưu trữ vào csdl, Quản trị viên quản lý các tài khoản đã đăng ký thành công
● Cập nhật thông tin sản phẩm: quản trị viên sau khi xác nhận thông tin
hàng hóa được chuyển về cửa hàng có thể điều chỉnh trên hệ thống các thông tin về sản phẩm như: giá cả, số lượng…hoặc thêm sản phẩm mới cũng như xóa bỏ sản phẩm khỏi hệ thống
● Quản lý danh mục sản phẩm: Trang web cung cấp cho khách hàng những
thông tin cần thiết về các món ăn, nước uống được chia theo dạng danh mục, mỗi danh mục có nhiều loại sản phẩm liên quan, quản trị viên sẽ quản lý, cập nhật thường xuyên thông tin các loại sản phẩm trong danh mục Cụ thể các danh mục được chia như sau:
o Thức ăn
▪ Gà Rán
▪ Pizza
▪ Hamburger
▪ Kem
o Nước uống
▪ Nước tinh khiết / Nước có ga
▪ Trà / Trà Sữa
▪ Bia
● Quản lý danh mục hình ảnh: Hình ảnh của từng sản phẩm được cập nhật
liên tục và được quản lý theo dạng danh mục, mỗi danh mục cũng có nhiều loại sản phẩm và trong mỗi loại sản phẩm sẽ có hình ảnh của từng sản phẩm liên quan
● Quản lý nhân viên: người quản lý phân công công việc cụ thể đến cho
từng nhân viên Mỗi nhân viên được sắp xếp công việc phù hợp, ứng với
Trang 10mỗi vị trí một nhân viên sẽ làm nhiệm vụ của mình, sau khi người quản lý nhận được đơn hàng sẽ chuyển thông tin các món ăn, nước uống được khách hàng chọn cho bộ phận chế biến để tiến hành chế biến món ăn và cuối cùng là chuyển giao cho bộ phận giao hàng để giao cho khách hàng
2 Đặc tả usecase
2.1 UC Đăng ký:
Actor: Khách vãng lai
Input: - Trang đăng ký/đăng nhập được hiển thị.
❖ Người dùng chọn đăng ký và nhập thông tin đăng ký (ID, password, thông tin cá nhân)
❖ Hệ thống tiếp nhận thông tin – kiểm tra (ID có tồn tại trong csdl hay không), cập nhật csdl
❖ Trả lại thông báo đăng ký Thành công hoặc đăng ký thất bại
Output: - Nếu đăng ký thành công tài khoản thành viên được kích hoạt,
ngược lại đăng ký thất bại báo lỗi tài khoản đã tồn tại người dùng phải đăng ký tên tài khoản mới
2.2 UC Đăng Nhập:
Actor: Quản trị viên và thành viên
Input: - Trang đăng ký/đăng nhập được hiển thị
❖ Người dùng nhập ID và password rồi chọn đăng nhập
❖ Hệ thống kiểm tra thông tin đăng nhập có tồn tại trong csdl hay không
Output:
❖ Nếu ID và password trùng khớp với dữ liệu được lưu thì đăng nhập thành công trang hiển thị được đưa về trang chủ hoặc trang trước đó
❖ Nếu ID hoặc password không trùng khớp với dữ liệu được lưu thì thông báo tài khoản hoặc mật khẩu không đúng
2.3 UC Tìm kiếm Món ăn, nước uống:
Actor: Khách hàng
Input: - Trang thông tin sản phẩm được hiển thị
❖ Người dùng chọn các danh mục loại sản phẩm muốn tìm kiếm và chọn
Output: - Danh sách các sản phẩm cùng loại với loại sản phẩm được
chọn được hiển thị hoặc gần đúng với tên sản phẩm được tìm kiếm
Trang 112.4 UC đặt món:
Actor: Thành viên
Input: - Trang thông tin sản phẩm được hiển thị.
❖ Người dùng chọn món ăn, nước uống
❖ Tại giao diện giỏ hàng chọn món cần thanh toán
❖ Hệ thống xác nhận đơn hàng
Output: - Khách hàng được thông báo thông tin hàng được giao.
2.5 UC cập nhật thông tin giỏ hàng:
Actor: Thành viên
Input: - Trang giỏ hàng được hiển thị.
❖ Các sản phẩm được chọn nằm trong giỏ hàng, khách hàng có thể thực hiện tác vụ chọn thêm sản phẩm hoặc loại sản phẩm khỏi giỏ hàng
Output: Thông tin giỏ hàng được cập nhật.
2.6 UC đặt hàng:
Actor: Thành viên
Input: - Trang giỏ hàng được hiển thị.
❖ Các sản phẩm được chọn nằm trong giỏ hàng, khách hàng sau khi hoàn tất điều chỉnh giỏ hàng và ấn vào nút Đặt hàng Hệ thống sẽ chuyển đến trang Đặt hàng
Output: Trang đặt hàng sẽ tính tiền và đưa ra hóa đơn thanh toán.
4 Mô hình ERD
Trang 125.Thiết kế cơ sở dữ liệu:
● Cài đặt hệ thống gồm 4 bảng dữ liệu
● Bảng user
user int(11) Primary Key
gmail của user
varchar(25
Trang 13CREATE TABLE `users` (
`id` int(11) NOT NULL,
`name` varchar(250) NOT NULL,
`email` varchar(250) NOT NULL,
`password` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Đang đổ dữ liệu cho bảng `users`
INSERT INTO `users` (`id`, `name`, `email`, `password`) VALUES (1, 'Duong', 'duongnt@gmail.com', '123456'),
(3, 'Hieu', 'hieunv@gmail.com', '123456'),
(6, 'Linh', 'linhlk@gmail.com', '123456'),
(7, 'Thang', 'thangnt@gmail.com', '123456');
Kết quả đạt được:
● Bảng Bill
Key
Key
Key
Trang 14CREATE TABLE `bill` (
`o_id` int(11) NOT NULL,
`p_id` int(11) NOT NULL,
`u_id` int(11) NOT NULL,
`o_quantity` int(11) NOT NULL,
`o_date` varchar(450) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Đang đổ dữ liệu cho bảng `bill`
INSERT INTO `bill` (`o_id`, `p_id`, `u_id`, `o_quantity`,
`o_date`) VALUES
(34, 2, 1, 1, '2022-05-09'),
(35, 3, 1, 1, '2022-05-09'),
(36, 7, 1, 1, '2022-05-09'),
(37, 13, 1, 1, '2022-05-09');
Kết quả đạt được:
● Bảng Food
Key
đồ ăn int(11) Foreign Key
Trang 15CREATE TABLE `food` (
`id` int(11) NOT NULL,
`name` varchar(450) NOT NULL,
`c_id` int(11) NOT NULL,
`price` double NOT NULL,
`image` varchar(450) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Đang đổ dữ liệu cho bảng `food`
INSERT INTO `food` (`id`, `name`, `c_id`, `price`, `image`) VALUES
(1, 'Milk Coffee', 1, 13.5, 'milk coffee.jpg'),
(2, 'Black Coffee', 1, 12, 'black coffee.jpg'),
(3, 'Orange Juice', 1, 6, 'orange juice.jpg'),
(4, 'Matcha Tea', 1, 5, 'matcha tea.jpg'),
(5, 'C2 Tea', 1, 5, 'c2 tea.jpg'),
(6, 'Hamburger', 2, 10.5, 'hamburger.jpg'),
(7, 'Pizza', 2, 20, 'pizza.jpg'),
(8, 'Banh My', 2, 5, 'banh my.jpg'),
(9, 'Pho', 2, 5.5, 'pho.jpg'),
(10, 'Bun Cha', 2, 5, 'bun cha.jpg'),
(11, 'Matcha Ice-cream', 3, 3, 'matcha ice-cream.jpg'),
(12, 'Socola Ice-cream', 3, 3, 'socola ice-cream.jpg'),
(13, 'Milk Ice-cream', 3, 3, 'milk ice-cream.jpg'),
(14, 'Socola Cake', 3, 10, 'socola cake.jpg'),
(15, 'Strawberry Cake', 3, 10, 'strawberry cake.jpg');
Kết quả đạt được:
Trang 16● Bảng Category
đồ ăn int(11) Primary Key
CREATE TABLE `category` (
`id` int(11) NOT NULL,
`name` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Đang đổ dữ liệu cho bảng `category`
INSERT INTO `category` (`id`, `name`) VALUES
(1, 'Drink'),
Trang 17(2, 'Food'),
(3, 'Dessert');
Kết quả đạt được:
Các câu lệnh cài đặt các ràng buộc:
Chỉ mục cho bảng `bill`
ALTER TABLE `bill`
ADD PRIMARY KEY (`o_id`),
ADD KEY `p_id` (`p_id`),
ADD KEY `u_id` (`u_id`);
Chỉ mục cho bảng `category`
ALTER TABLE `category`
ADD PRIMARY KEY (`id`);
Chỉ mục cho bảng `food`
ALTER TABLE `food`
ADD PRIMARY KEY (`id`),
ADD KEY `c_id` (`c_id`);
Chỉ mục cho bảng `users`
ALTER TABLE `users`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `email_UNIQUE` (`email`);
AUTO_INCREMENT cho các bảng đã đổ
AUTO_INCREMENT cho bảng `bill`
ALTER TABLE `bill`
Trang 18MODIFY `o_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=40;
AUTO_INCREMENT cho bảng `category`
ALTER TABLE `category`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
AUTO_INCREMENT cho bảng `food`
ALTER TABLE `food`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
AUTO_INCREMENT cho bảng `users`
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
Các ràng buộc cho các bảng đã đổ
Các ràng buộc cho bảng `bill`
ALTER TABLE `bill`
ADD CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`p_id`) REFERENCES
`food` (`id`),
ADD CONSTRAINT `orders_ibfk_2` FOREIGN KEY (`u_id`) REFERENCES
`users` (`id`);
Các ràng buộc cho bảng `food`
ALTER TABLE `food`
ADD CONSTRAINT `products_ibfk_1` FOREIGN KEY (`c_id`) REFERENCES
`category` (`id`);
COMMIT;
Trang 19Chương III: TRIỂN KHAI LÊN WEBSITE
1.Trang login:
KẾT LUẬN
1 Ưu điểm
● Đã hoàn thành được các chức năng cơ bản nhất như cập nhật giỏ hàng, quản lý các đơn hàng, các thao tác xem, tìm kiếm, mua hàng của khách hàng
● Giao diện thao tác đơn giản, trực quan,dễ dàng cho mọi đối tượng khách hàng
● Khi hệ thống được triển khai, công tác quản lý sẽ được nhanh hơn, chặt chẽ hơn, thuận tiện về mặt không gian địa lý, tiết kiệm được thời gian quản lý
● Tăng số lượng đơn hàng ,tiếp cận được thị trường lớn và rộng hơn
● Giải quyết được các vấn đề khó khăn trong đại dịch covid
2 Những việc chưa đạt được
- Một số chức năng chưa được xây dựng như: thống kê doanh thu
- Thêm sửa xóa thông tin sản phẩm trực tiếp trên giao diện
- Chưa thêm được phương thức thanh toán
- Hệ thống vẫn chưa được tối ưu về cấu trúc database, code, giao diện, và một số chức năng