TỔNG QUAN
MÔ TẢ BÀI TOÁN VÀ ĐẶC TẢ ĐỀ TÀI
Kinh doanh và mua bán là nhu cầu thiết yếu trong cuộc sống hiện nay Trong bối cảnh cạnh tranh gay gắt, việc giới thiệu sản phẩm đến từng khách hàng với chi phí thấp và hiệu quả cao trở thành thách thức lớn cho doanh nghiệp Người tiêu dùng ngày càng có nhu cầu mua sắm đa dạng, với sản phẩm chất lượng và giá cả hợp lý Chính vì vậy, thương mại điện tử đã ra đời và ngày càng phát triển mạnh mẽ trên toàn cầu.
Việc ứng dụng công nghệ thông tin trong quản lý bán hàng đã tạo ra bước đột phá mới, giúp doanh nghiệp theo dõi chính xác và kịp thời thông tin về hàng hóa, vật tư, khách hàng và trạng thái đơn đặt hàng Nhờ đó, các nhà quản lý có thể đưa ra quyết định đúng đắn, giảm chi phí, tăng cường khả năng cạnh tranh và nâng cao hiệu quả hoạt động sản xuất kinh doanh.
Website quản lý bán hàng cần hỗ trợ quản lý thông tin cửa hàng như món ăn, khách hàng, đơn hàng và dịch vụ Nó tự động hóa quy trình đặt món, giúp giảm chi phí nhân công, tăng độ chính xác đơn hàng và cung cấp dịch vụ nhanh chóng cho khách hàng Được phát triển để đáp ứng đầy đủ chức năng từ chọn món, thống kê doanh thu đến quản lý đơn đặt hàng, nhằm nâng cao hiệu quả sản xuất kinh doanh cho cửa hàng.
Bộ phận quản lý cửa hàng gốm bao gồm một quản lý có quyền điều hành toàn bộ hệ thống, cùng với một số nhân viên chịu trách nhiệm phục vụ khách hàng, ghi nhận thông tin về khách hàng và nhà cung cấp, cũng như in ấn hóa đơn.
Mỗi loại danh mục món ăn tại cửa hàng bao gồm nhiều món, được nhận diện qua tên, giá và mã số món ăn để dễ dàng theo dõi Chủ cửa hàng cần theo dõi tình hình mua bán để kinh doanh hiệu quả, đồng thời nhận phản hồi về chất lượng món ăn và dịch vụ Việc này giúp họ đưa ra giải pháp kịp thời, bao gồm cả việc đền bù khách hàng khi có vấn đề xảy ra, nhằm duy trì uy tín trong kinh doanh.
MỤC TIÊU – HƯỚNG GIẢI QUYẾT VÀ KẾ HOẠCH THỰC HIỆN
2.1.1 Mục tiêu cần đạt được:
Chúng ta cần phải thiết kế và cài đặt một chương trình quản lý có các chức năng sau:
1 Chọn món ăn và các món ăn đi kèm (topping).
2 Thêm món ăn và menu, sửa số lượng, xóa món ăn và topping trong menu.
3 Cho phép người dùng xem các món ăn đã tìm kiếm, xem hoặc đã thêm trong menu (giỏ hàng) và các món ăn yêu thích.
4 Người dùng có thể xem lại các đơn hàng đã đặt, hủy đơn hàng.
5 Quản lý món ăn: Thêm, cập nhật, xóa món ăn và topping món ăn
7 Quản lý các thông tin đặt hàng.
8 Quản lý truy cập hệ thống.
9 Thống kê báo cáo các món ăn bán chạy, doanh thu cửa hàng dựa trên các đơn đặt bàn
10 Quản lý danh mục món ăn.
2.1.1 Hướng giải quyết và kế hoạch thực hiện:
- Xây dựng mô hình nghiệp vụ trong đặt món ăn trực tuyến.
- Thiết kế CSDL, các ràng buộc toàn vẹn.
- Cài đặt chương trình, nhập liệu, chạy thử và kiểm tra lỗi.
- Viết một bài báo cáo về công việc đã thực hiện theo mẫu qui định.
Để đáp ứng yêu cầu, cần sử dụng một ngôn ngữ lập trình có khả năng kết nối với cơ sở dữ liệu cùng với một hệ quản trị cơ sở dữ liệu phù hợp.
- Ngôn ngữ lập trình C#: Visual Studio 2019.
- Hệ quản trị cơ sở dữ liệu: SQL Server.
Thời gian thực hiện chương trình là 12 tuần với kế hoạch như sau:
2-3 Thiết kế các sơ đồ
4 Hiệu chỉnh các sơ đồ và cài đặt CSDL Tuần
5-10 Viết và kiểm thử chương trình Tuần
12 Hiệu chỉnh và hoàn tất
NGÔN NGỮ LẬP TRÌNH – CƠ SỞ DỮ LIỆU
Giới thiệu về Microsoft NET và Kiến trúc NET
2.1.1 Giới thiệu về Microsoft NET
Microsoft NET không phải là một ngôn ngữ lập trình mà là một môi trường phát triển tích hợp bốn ngôn ngữ lập trình: C#, VB.NET, Managed C++ và J# NET Các ngôn ngữ này có sự tương tác lẫn nhau và được định nghĩa trong Thư viện lớp framework (FCL).
Microsoft Net bao gồm hai phần quan trọng: Framework và Môi trường Phát triển Tích hợp (IDE) Framework cung cấp các công cụ và nền tảng cần thiết, tạo ra một môi trường hỗ trợ cho các hạ tầng cơ sở theo các quy tắc nhất định, giúp công việc trở nên thuận tiện hơn Trong khi đó, IDE mang đến một môi trường thuận lợi cho việc triển khai nhanh chóng và dễ dàng các ứng dụng dựa trên nền tảng Net.
Thành phần Framework là phần quan trọng nhất trong NET, đại diện cho cốt lõi và tinh hoa của môi trường phát triển IDE chỉ đóng vai trò là công cụ hỗ trợ phát triển trên nền tảng này Trong hệ sinh thái NET, tất cả các ngôn ngữ như C#, Visual C++ và Visual Basic.NET đều sử dụng chung một IDE.
Microsoft NET là nền tảng lý tưởng cho việc phát triển và triển khai các ứng dụng phân tán thế hệ mới, bao gồm từ ứng dụng client đến server và các dịch vụ khác Nền tảng này cung cấp nhiều tính năng hữu ích cho các nhà phát triển, giúp tối ưu hóa quy trình xây dựng ứng dụng.
Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng dụng client với Extensible Markup Language (XML).
Tập hợp dịch vụ XML Web, như Microsoft NET My Services cho phép nhà phát triển đơn giản và tích hợp người dùng kinh nghiệm.
Chúng tôi cung cấp các máy chủ phục vụ đa dạng như Windows 2000, SQL Server và BizTalk Server, tất cả đều được tích hợp để hoạt động hiệu quả và quản lý các dịch vụ XML Web cùng các ứng dụng liên quan.
Các phần mềm client như Windows XP và Windows CE hỗ trợ các nhà phát triển trong việc phân phối sâu và tạo trải nghiệm thuyết phục cho người dùng thông qua nhiều thiết bị khác nhau.
Nhiều công cụ hỗ trợ như Visual Studio NET giúp phát triển dịch vụ Web XML, mang lại sự dễ dàng và hiệu quả cho việc xây dựng ứng dụng trên nền Windows và nền web.
Mô hình kiến trúc của Net:
Hình 1: Mô hình kiến trúc của NET
.NET Framework là nền tảng hỗ trợ phát triển ứng dụng trong môi trường Internet phân tán, cung cấp môi trường lập trình hướng đối tượng vững chắc với khả năng thực thi mã nguồn cục bộ hoặc từ xa Nó đảm bảo việc đóng gói phần mềm và quản lý phiên bản, đồng thời bảo vệ an toàn cho mã nguồn, kể cả từ các nhà phát triển bên thứ ba tuân thủ kiến trúc NET Ngoài ra, NET Framework loại bỏ lỗi trong thực thi script và môi trường thông dịch, giúp các lập trình viên có thể phát triển đa dạng ứng dụng từ Windows đến web Cuối cùng, nó xây dựng trên các tiêu chuẩn công nghiệp, đảm bảo khả năng tích hợp mã nguồn với các hệ thống khác.
.NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư viện lớp NET Framework CLR là nền tảng của NET Framework.
Phát triển ứng dụng Client
Các ứng dụng client tương tự như những ứng dụng truyền thống được phát triển trên nền tảng Windows, cho phép người dùng thực hiện các thao tác qua các cửa sổ và form trên desktop Chúng bao gồm các ứng dụng như xử lý văn bản, bảng tính, và các công cụ thương mại như nhập liệu và tạo báo cáo Các ứng dụng này thường sử dụng giao diện đồ họa người dùng (GUI) với các thành phần như cửa sổ, menu, thanh công cụ và nút, đồng thời truy cập vào các tài nguyên cục bộ như tập tin hệ thống và thiết bị ngoại vi như máy in.
ActiveX control, hiện nay đã được thay thế bởi các Windows Form control, là một loại ứng dụng client đặc biệt được nhúng vào các trang web trên Internet Tương tự như các ứng dụng client truyền thống, ActiveX control cho phép người dùng truy cập tài nguyên cục bộ một cách hiệu quả.
.NET Framework bao gồm các lớp được tối ưu hóa cho việc phát triển giao diện người dùng (GUI), giúp lập trình viên dễ dàng và nhanh chóng tạo ra các thành phần như cửa sổ, nút bấm, menu, thanh công cụ và nhiều yếu tố khác cho các ứng dụng thương mại.
Ngôn ngữ lập trình C#
Ngôn ngữ C# là một ngôn ngữ lập trình đơn giản với khoảng 80 từ khóa và hơn mười kiểu dữ liệu cơ bản Dù vậy, C# mang lại giá trị cao nhờ vào khả năng thực thi các khái niệm lập trình hiện đại Ngôn ngữ này hỗ trợ tốt cho cấu trúc, thành phần component và lập trình hướng đối tượng.
Trái tim của ngôn ngữ lập trình hướng đối tượng là khả năng định nghĩa và làm việc với các lớp, cho phép phát triển các kiểu dữ liệu mới nhằm tạo ra mô hình hiệu quả hơn để giải quyết vấn đề Ngôn ngữ C# cung cấp các từ khóa để khai báo lớp đối tượng, cùng với các phương thức và thuộc tính của lớp, đồng thời hỗ trợ thực thi ba thuộc tính cơ bản: đóng gói, kế thừa và đa hình.
Trong ngôn ngữ C#, tất cả các khía cạnh liên quan đến khai báo lớp đều được tìm thấy trong phần khai báo của nó Khác với C++, việc định nghĩa một lớp trong C# không yêu cầu chia tách giữa tập tin header và tập tin nguồn Ngoài ra, C# còn hỗ trợ kiểu XML, cho phép chèn các thẻ XML nhằm tự động tạo ra tài liệu cho lớp.
Ngôn ngữ C# hỗ trợ lập trình hướng thành phần với các tính năng như thuộc tính và sự kiện Lập trình này được hỗ trợ bởi CLR, cho phép lưu trữ metadata cùng với mã nguồn của một lớp.
Hệ quản trị cơ sở dữ liệu SQL Server
2.3.1 Giới thiệu về SQL Server
SQL Server, hay còn gọi là Microsoft SQL Server (MS SQL Server), là phần mềm do Microsoft phát triển, được thiết kế để lưu trữ dữ liệu theo chuẩn RDBMS Nó cũng hoạt động như một hệ quản trị cơ sở dữ liệu quan hệ đối tượng (ORDBMS).
SQL Server cung cấp các công cụ quản lý toàn diện, từ giao diện đồ họa người dùng (GUI) đến ngôn ngữ truy vấn SQL Điểm mạnh của SQL Server nằm ở khả năng tích hợp hoàn hảo với các nền tảng của Microsoft như ASP.NET và C# trong việc phát triển ứng dụng Winform, đồng thời hoạt động độc lập một cách hiệu quả.
MS SQL Server, được ra mắt lần đầu vào năm 1989, đã phát hành phiên bản mới nhất là SQL Server 2019 vào tháng 7 năm nay Kể từ phiên bản SQL Server 2016, sản phẩm này chỉ hỗ trợ trên nền tảng 64-bit.
2.3.2 Các ưu điểm của SQL Server
Microsoft là một trong những công ty phần mềm hàng đầu thế giới, với hầu hết các máy tính hiện nay đều sử dụng hệ điều hành Windows Các sản phẩm phần mềm nổi tiếng như Word, Excel và PowerPoint đã trở nên phổ biến rộng rãi Đặc biệt, ngôn ngữ SQL Server được nhiều công ty lớn tin dùng cho quản lý cơ sở dữ liệu của họ.
Microsoft SQL Server là phần mềm quản lý cơ sở dữ liệu hàng đầu cho người dùng chuyên nghiệp và doanh nghiệp, nổi bật với tính dễ sử dụng và nhiều tính năng vượt trội so với các đối thủ như MySQL Hệ thống này hỗ trợ đầy đủ các trình kích hoạt, làm cho nó trở thành lựa chọn ưu việt cho các dự án lớn, bao gồm lập trình cho các trang web như mona.website, zing.vn và vnexpress.net.
Phần mềm Microsoft SQL Server tích hợp chặt chẽ với Net Framework, mang lại lợi thế cạnh tranh cho lập trình viên nhờ vào bộ công cụ đa dạng Các thành phần như SQL Server Profiler, SQL Server Management Studio, công cụ BI và Trình tư vấn điều chỉnh cơ sở dữ liệu giúp tiết kiệm thời gian trong việc khắc phục sự cố, phát triển và quản trị Là sản phẩm cốt lõi của Microsoft, MS SQL Server cũng được hỗ trợ bởi tài liệu hướng dẫn phong phú và dịch vụ hỗ trợ tận tình.
2.3.3 Các nhược điểm của SQL Server
Nếu nhu cầu về hệ thống cơ sở dữ liệu của bạn vượt quá các tính năng của SQL Server Express miễn phí, việc đầu tư vào các phiên bản cao cấp của SQL Server là một lựa chọn hợp lý Tuy nhiên, bạn cần lưu ý rằng giá của các phiên bản cao cấp này không hề rẻ và sẽ phụ thuộc vào quy mô của doanh nghiệp bạn.
*Hạn chế nhất định về cơ sở hạ tầng
Nếu doanh nghiệp của bạn không có cơ sở hạ tầng Microsoft, việc sử dụng Microsoft SQL Server sẽ yêu cầu cam kết và đầu tư bổ sung vào hệ sinh thái của Microsoft Điều này có thể tạo ra trở ngại về chi phí, dẫn đến việc doanh nghiệp phải thực hiện các cam kết mua sắm các sản phẩm máy chủ của Microsoft Tình hình tài chính của doanh nghiệp sẽ ảnh hưởng lớn đến khả năng thực hiện những cam kết này.
Đầu tư vào kho công nghệ của Microsoft có thể khiến doanh nghiệp bạn phụ thuộc vào các tính năng và cải tiến mới từ họ Microsoft thường cập nhật phiên bản SQL Server mới mỗi 2 năm, điều này có thể gây khó khăn nếu doanh nghiệp cần những tính năng cụ thể khác.
2.3.4 Các câu lệnh căn bản trong SQL
Câu lệnh SQL SELECT là một công cụ quan trọng trong MySQL, cho phép người dùng truy vấn dữ liệu từ cơ sở dữ liệu cụ thể Nó được sử dụng để đọc thông tin theo các tiêu chí hoặc biểu thức đã xác định.
Mệnh đề FROM chỉ ra tên 1bảng hay những bảng có quan hệ cần truy vấn thông tin.
Mệnh đề WHERE trong SQL được sử dụng để thiết lập các điều kiện nhằm lọc dữ liệu theo tiêu chí đã định nghĩa Thông thường, mệnh đề này so sánh các cột với nhau hoặc với các giá trị cụ thể trong bảng Cấu trúc của phát biểu SQL bao gồm các điều kiện cần thiết để truy xuất dữ liệu chính xác.
Lệnh SQL UPDATE được sử dụng để cập nhật dữ liệu đã tồn tại trong bảng Khi thực hiện UPDATE cho một bản ghi cụ thể, thường cần kết hợp với mệnh đề WHERE Nếu muốn cập nhật tất cả các bản ghi trong bảng, bạn có thể bỏ qua mệnh đề WHERE Cấu trúc của lệnh UPDATE như sau:
Nếu cập nhật giá trị là kết quả trả về từ phát biểu SELECT trên 1 hay nhiều bảng khác Cấu trúc như sau:
Khi thêm dữ liệu vào bảng trong cơ sở dữ liệu MySQL, bạn có thể sử dụng phát biểu INSERT để thực hiện công việc một cách chuyên nghiệp Cần lưu ý rằng kiểu dữ liệu của các giá trị thêm vào phải giống hoặc tương ứng với kiểu dữ liệu đã khai báo của các cột; nếu không, sẽ xảy ra lỗi.
Muốn INSERT vào CSDL thì ta có cấu trúc như sau:
Giới thiệu Visual Studio
Visual Studio, sản phẩm của Microsoft, là phần mềm lập trình website nổi tiếng và chưa có công cụ nào thay thế được Được phát triển bằng ngôn ngữ VB+ và C#, Visual Studio giúp người dùng xây dựng hệ thống website một cách dễ dàng và nhanh chóng Kể từ khi ra mắt, Visual Studio đã trải qua nhiều phiên bản cập nhật, cho phép người dùng lựa chọn phiên bản phù hợp với cấu hình máy của mình Hơn nữa, người dùng còn có thể tùy chỉnh giao diện chính theo nhu cầu cá nhân.
Lịch sử phát triển Visual Studio
Visual Studio, được phát triển bởi Microsoft, ra mắt lần đầu vào năm 1997 với hai phiên bản là Professional và Enterprise Qua nhiều lần cập nhật và cải tiến, hiện nay Visual Studio đã có nhiều phiên bản khác nhau, phục vụ nhu cầu đa dạng của lập trình viên.
Từ phiên bản Visual Studio 2005 đến 2013, mỗi bản phát hành đều mang đến những tính năng và công nghệ mới, cải thiện hiệu suất và trải nghiệm người dùng Phiên bản mới nhất, Visual Studio 2015, được ra mắt vào tháng 7 năm 2015, tiếp tục xu hướng này với nhiều cải tiến hấp dẫn.
Hiện nay, người dùng có thể khám phá thông tin chi tiết về Visual Studio tại trang chủ chính thức của nó, đồng thời có thể tải xuống phiên bản mới nhất của Visual Studio 2015 từ liên kết được cung cấp.
Để tiết kiệm chi phí, người dùng có thể tải phiên bản Community của Visual Studio, vì nó hoàn toàn miễn phí và cung cấp đầy đủ các tính năng cơ bản cần thiết.
Nếu bạn đã có tài khoản DreamSpark liên kết với Microsoft thông qua doanh nghiệp hoặc nhà trường, bạn có thể tải xuống và sử dụng miễn phí phiên bản Visual Studio Professional.
Tại sao nên sử dụng Visual Studio?
Người mới bắt đầu trong lĩnh vực lập trình và thiết kế website thường thắc mắc về Visual Studio và lý do tại sao nên chọn công cụ này thay vì các lựa chọn khác như DevC, Code Block hay CFree.
Sở dĩ Visual Studio được giới lập trình ưa chuộng như vậy là bởi những ưu điểm vượt trội sau đây:
Visual Studio hỗ trợ lập trình trên nhiều nền tảng ngôn ngữ khác nhau từ C/C+ +, C#, cho đến F#, Visual Basic, HTML, CSS, JavaScript Thậm chí, phiên bản VS
2015 có hỗ trợ code trên ngôn ngữ Python.
Visual Studio cung cấp khả năng gỡ lỗi hiệu quả và dễ dàng, cho phép người dùng chạy từng câu lệnh và theo dõi sự thay đổi trạng thái của chương trình thông qua giá trị các biến và cách vận hành của mã.
Visual Studio sở hữu giao diện thân thiện, dễ dàng sử dụng cho người mới bắt đầu.
Visual Studio cho phép xây dựng ứng dụng chuyên nghiệp thông qua kéo thả, hỗ trợ người mới bắt đầu tiếp cận nhanh hơn.
Visual Studio tích hợp nhiều ứng dụng hữu ích, bao gồm Resharper hỗ trợ quản lý và viết mã nhanh cho các ngôn ngữ thuộc NET, cùng với NuGet giúp cài đặt thư viện một cách dễ dàng.
Additionally, this tool supports the development of desktop applications using MFC, Windows Forms, and Universal Apps It also enables mobile application development for Windows Phone 8/8.1, Windows 10, iOS, and Android through Xamarin Furthermore, Visual Studio facilitates website development on the Web Forms platform, ASP.NET MVC, and supports Microsoft Office development as well.
Với tất cả những lợi thế khác biệt đó, Visual Studio là lựa chọn ưu tiên của đông đảo lập trình viên trên toàn thế giới.
THIẾT KẾ HỆ THỐNG
Thiết kế hệ thống
Để giới thiệu các món ăn của nhà hàng trên mạng, hệ thống quản lý cần đảm bảo thông tin về món ăn được tổ chức và đầy đủ Việc này giúp hiển thị thông tin món ăn một cách có hệ thống trên website, thu hút sự chú ý của khách hàng.
Khi khách hàng xem các món ăn trên website và chọn vào thực đơn thì đòi hỏi hệ thống phải xử lý được đơn đặt của khách hàng.
Chức năng cơ bản nhất là ghi nhận thông tin về khách hàng, họ là ai? Sản phẩm nào họ muốn mua? Số lượng bao nhiêu? Tổng tiền…
Chức năng được định nghĩa là một quá trình biến đổi dữ liệu, bao gồm việc thay đổi giá trị, cấu trúc, hoặc vị trí của dữ liệu Ngoài ra, từ một tập hợp dữ liệu đã cho, chức năng còn có khả năng tạo ra dữ liệu mới.
Biểu diễn một chức năng trong BLD thường được thực hiện bằng hình tròn hoặc hình ô van, được gọi là bong bóng, bên trong có chứa tên của chức năng đó.
Tên chức năng phải là một động từ, có thêm bổ ngữ nếu cần, cho phép hiểu một cách vắn tắt chức năng làm gì Chẳng hạn:
Luồng dữ liệu được định nghĩa là tuyến truyền dẫn thông tin vào hoặc ra một chức năng nhất định Thông tin này có thể là dữ liệu đơn giản như tên khách hàng hoặc dữ liệu có cấu trúc như hóa đơn Mỗi luồng dữ liệu đều phải liên quan đến một chức năng, do đó, ở hai đầu của luồng dữ liệu (đầu đi và đầu đến), ít nhất một đầu phải gắn liền với chức năng đó.
Lập hóa đơn một chức năng.
● Biểu diễn: Một luồng dữ liệu được vẽ trong BLD dưới dạng một một mũi tên trên đó có viết tên của luồng dữ liệu.
Tên luồng dữ liệu cần phải là một danh từ, có thể kèm theo tính ngữ nếu cần thiết, nhằm giúp người đọc nhanh chóng hiểu được nội dung của dữ liệu được chuyển giao.
Hóa đơn đã kiểm tra
● Định nghĩa: Một kho dữ liệu là một dữ liệu (đơn hay có cấu trúc) được lưu lại, để có thể được truy nhập nhiều lần về sau.
● Biểu diễn : Một kho dữ liệu được vẽ trong BLD dưới dạng hai đoạn thẳng nằm ngang, kẹp giữa tên của kho dữ liệu.
Tên kho dữ liệu nên là một danh từ, có thể kèm theo tính ngữ để diễn đạt ngắn gọn nội dung dữ liệu lưu trữ.
● Định nghĩa : Một đối tác (còn gọi là tác nhân ngoài, hay điểm mút) là một thực thể ngoài hệ thống, có trao đổi thông tin với hệ thống.
● Biêu diễn : Đối tác trong BLD được vẽ bằng một hình chữ nhật, bên trong có tên đối tác.
Tên đối tác phải là một danh từ, cho phép hiểu vắn tắt đối tác là ai, hoặc là gì? (người, tổ chức, thiết bị, tệp…) Chẳng hạn:
Một tác nhân trong hệ thống được định nghĩa là một chức năng hoặc hệ thống con, được mô tả ở một trang khác trong mô hình, nhưng có khả năng trao đổi thông tin với các phần tử trong trang hiện tại của mô hình.
Như vậy tác nhân trong xuất hiện trong BLD chỉ được làm nhiệm vụ tham chiếu
Trong biểu diễn BLD, các tác nhân được thể hiện dưới dạng hình chữ nhật thiếu cạnh trên, với tên tác nhân được ghi rõ bên trong, đại diện cho chức năng hoặc hệ thống con.
Tên tác nhân trong phải là một động từ, kèm theo bổ ngữ khi cần Chẳng hạn:
Mô hình tiến trình nghiệp vụ
Hình 3.1: Mô hình tiến trình nghiệp vụ
❖ Hệ thống gồm 2 chức năng chính là
Quản lý đơn đặt Đặt món ăn
Xem lại đơn đặt hàng
Admin Khách hàng Ứng dụng dành cho phía người sử dụng (khách hàng) và ứng dụng dành cho người quản lý (admin).
- Khách hàng có thể đăng ký tạo tài khoản mới, đổi mật khẩu, đăng xuất, quản lý hủy đơn hàng đã đặt.
- Khách hàng có thể chọn, tìm kiếm và xem thông tin về loại món ăn mình thích cùng với thông tin về món ăn.
Khách hàng có thể dễ dàng đánh giá món ăn sau khi đăng nhập vào website, đồng thời tìm kiếm món ăn ưng ý nhờ vào việc phân loại theo danh mục và giá cả.
- Cập nhật các danh mục món ăn.
- Quản lý đơn đặt từ phía khách hàng.
- Quản lý món ăn và món ăn đi kèm (topping).
- Thay đổi mật khẩu Admin.
- Thống kê báo cáo theo định kỳ.
❖ Tại sao phải xây dựng mô hình phân cấp chức năng?
Mô hình phân cấp chức năng là biểu đồ thể hiện sự phân rã các chức năng từ tổng quát đến chi tiết Mỗi nút trong biểu đồ đại diện cho một chức năng và mối quan hệ duy nhất giữa các chức năng được thể hiện qua các cung nối Đây là một cây cấu trúc với đặc điểm quan hệ bao hàm giữa các chức năng.
● Cho một cách nhìn khái quát, dễ hiểu từ đại thể đến chi tiết về các chức năng, nhiệm vụ cần thực hiện( thường ở mức diễn tả logic).
● Rất dễ thành lập bởi chúng chỉ cho thấy các chức năng mà không cho thấy trình tự xử lý.
Mô hình phân cấp chức năng được ưa chuộng trong phân tích hệ thống nhờ vào khả năng tăng cường tiếp cận logic tới các chức năng của hệ thống.
Sơ đồ tổ chức không chỉ đơn thuần là hình ảnh của các bộ phận trong một cơ quan, mà còn phản ánh sự phân cấp quản lý thường thấy Hình dạng cây của sơ đồ tổ chức thể hiện mối quan hệ giữa các tổ chức và chức năng của chúng, mặc dù sự tương ứng này không phải lúc nào cũng hoàn toàn chính xác.
Quản lý hóa đơn Đặt hàng
Quản lý khách hàng là một quá trình tương tác 1-1, trong đó không chỉ có sự khác biệt về tên gọi của các nút trên biểu đồ, mà còn có sự khác biệt rõ rệt về cấu trúc cây của chúng.
Các đối tượng chính trong sơ đồ phân cấp chức năng
- Xử lý thực đơn(giỏ hàng).
● Định nghĩa các đối tượng trên
Quản lý Admin cho phép theo dõi tổng quát danh sách món ăn mà các admin đang quản trị, bao gồm thông tin mã admin, tên đăng nhập và mật khẩu Chức năng này cũng cho phép thay đổi thông tin về tên đăng nhập và mật khẩu của admin, xóa tài khoản admin đã có trong hệ thống, cũng như quản lý quyền hạn cho nhân viên và hồ sơ nhân viên.
- Quản lý món ăn: Đây là chức năng dùng để liệt kê các sản phẩm món ăn, giá thành, danh mục món ăn.
- Tìm kiếm món ăn: Cho phép khách hàng tìm kiếm món ăn theo từ khóa tên.
- Xử lý thực đơn( giỏ hàng): Đảm bảo tính đúng đắn khi khách hàng thực hiện đặt hàng.
- Thống kê báo cáo: Đưa ra các báo cáo theo định kỳ cho ban quản lý nắm được tình hình kinh doanh của nhà hàng mình.
3.5.2 Biểu đồ luồng dữ liệu
Diễn tả chi tiết các chức năng (con) phải thực hiện để hoàn tất quá trình xử lý cần mô tả ở mức logic.
Hình 3.2: Sơ đồ phân cấp chức năng
Quản lý Website bán đồ ăn nhanh
Quản lý khách hàng, truy
Quản lý món ăn Xử lý tìm kiếm
Biểu đồ luồng dữ liệu mức khung cảnh
Hình 3.3: Biểu đồ luồng dữ liệu mức khung cảnh (mức 0) bàn
Thay đổi tài khoản Đăng ký tài khoản
Xử lý đặt hàng Quản lý truy cập
Admin Đăng ký tài khoản tài khoản Tài khoản đăng ký được kiểm tra T/k được thay đổi
T/k user được chấp nhận từ ch ối
Tìm kiếm nông sản S/p được xem
T/t cu ng cấ p, từ ch ối
H óa đ ơ n t ha nh to án
Th an h t oá n T/ t k há ch h àn g
Kiể m tra qu yề n t ru y cậ p
C ập n hậ t s ố lư ợ ng M ón ă n đ ư ợ c c ập n hậ t
Quản lý Website Bán đồ ăn nhanh
Biểu đồ luồng dữ liệu mức đỉnh
Hình 3.4: Biểu đồ luồng dữ liệu mức đỉnh
Quản lý User và Admin
Xử lý tìm kiếm Quản lý món ăn
Quản lý danh mục món ăn
Xử lý menu (giỏ hàng)
User Admin Đăng nhập ,thay đổi tài khoản Kiểm tra quyền truy cập
T/t p hản hồi T/t kh hàng ách Món ăn được đặt
Tìm kiế m m ón ă n Th ôn g t in kh ác h c ần
Th ôn g t in đ ư ợc xe m cập nhật
Yê u cầ u bá o cá o, th ốn g kê
Biểu đồ luồng dữ liệu mức 2 của chức năng quản lý Admin và User
Hình 3.5: Biểu đồ luồng dữ liệu mức 2 của chức năng quản lý Admin và User
❖ Biểu đồ luồng dữ liệu mức 2 của chức năng xử lý giỏ hàng
Hình 3.6: Biểu đồ luồng dữ liệu mức 2 của chức năng xử lý giỏ hàng
Y/c thông tin về khách hàng
Y/c xem sửa tài khoản Thông tin cá nhân
Trả lời thông tin khách hàng
Thông tin Admin Kiểm tra quyền
Hóa đơn Hàng đã duyệt
3.6 Mô tả các bảng quan hệ
❖ Bảng danh mục món ăn (Food_Category)
- Mô tả: Bảng để lưu các thông tin về danh mục món ăn.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
Không thể rỗng Mã danh
Không thể rỗng Tên danh mục
Không thể rỗng Thứ tự hiển thị
Status Bit Không thể rỗng Trạng thái hiển thị
- Mô tả: Bảng để lưu các menu trong trang web.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
Không thể rỗng Mã loại menu
Không thể rỗng URL hiển thị trên trình duyệt
Không thể rỗng Thứ tự hiển thị
Không thể rỗng Trạng thái hiển thị
- Mô tả: Bảng dùng để lưu các thông tin về người dùng.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID bigint Không thể rỗng
Account nchar(100) Không thể rỗng Tài khoản
Password nchar(100) Không thể rỗng Mật khẩu
Fullname nvarchar(250) Không thể rỗng Họ và tên
Address nvarchar(450) Không thể rỗng Địa chỉ
Phone nvarchar(50) Không thể rỗng
Email nchar(100) Không thể rỗng
Có thể rỗng Loại người dùng
Có thể rỗng Trạng thái
- Mô tả: Bảng để lưu các thông tin về món ăn.
ID bigint Không thể rỗng Mã sản phẩm
Không thể rỗng Tên món ăn
Metatitle varchar(250) Không thể rỗng Chuỗi Url hiển thị trên trình duyệt
Không thể rỗng Ảnh đại diện
CreatedDate datetime Không thể rỗng Ngày đăng
Không thể rỗng Giá bán
Food_Catego ryID bigint Không thể rỗng Thuộc loại danh mục món ăn
Status bit Có thể rỗng Trạng thái
❖ Bảng món ăn yêu thích (Favorite)
- Mô tả: Bảng để lưu các thông tin về món ăn yêu thích của người dùng.
- Khóa ngoại: Food_ID, User_ID
Tên Kiểu dữ liệu Rỗng hoặc không
ID bigint Không thể rỗng
Food_ID bigint Không thể rỗng Mã món ăn Khóa ngoại
User_ID Bigint Không thể rỗng Mã người dùng
- Mô tả: Bảng để lưu các thông tin về các đơn hàng của khách hàng.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID bigint Không thể rỗng Mã hóa đơn
Full_Name nvarchar(150) Không thể rỗng Tên khách hàng
Phone nvarchar(50) Không thể rỗng Điện thoại nhận hàng
Email nvarchar(250) Không thể rỗng Email
TotalQuantity int Không thể rỗng Tổng số lượng TotalMoney decimal(18, 0) Không thể rỗng Tổng tiền
CreatedDate datetime Không thể rỗng Ngày đặt hàng
Có thể rỗng Ngày vận chuyển
Có thể rỗng Ngày hủy/từ chối nhận đơn
PaidDate datetime Có thể rỗng Ngày thanh toán
Có thể rỗng Ghi chú
Có thể rỗng Mã khách hàngKhóa ngoại
Status bit Không thể rỗng
❖ Bảng chi tiết đơn hàng (Order_Detail)
- Mô tả: Bảng để lưu các thông tin về các chi tiết đơn hàng.
- Khóa ngoại: Food_ID, Order_ID
Rỗng hoặc không Giải thích
Mã chi tiết hóa đơn
Food_ID bigint Không thể rỗng Mã món ăn
Count int Không thể rỗng Số lượng
Order_ID bigint Không thể rỗng Mã đơn đặt
Không thể rỗng Đơn giá
❖ Bảng đánh giá món ăn (Comment)
- Mô tả: Bảng để lưu các đánh giá của người dùng về món ăn.
- Khóa ngoại: User_ID, Food_ID
Rỗng hoặc không Giải thích
ID bigint Không thể rỗng
Mã bài viết Khóa chính
[Content] ntext Không thể rỗng
Rating int Không thể rỗng Điểm đánh giá
CreatedD ate datetime Không thể rỗng
User_ID bigint Có thể rỗng Mã khách hàng
Food_ID bigint Có thể rỗng Mã món ăn
Status bit Không thể rỗng
❖ Bảng trả lời đánh giá ( ReplyCmt)
- Mô tả: Bảng để lưu các câu trả lời từ các đánh giá của khách hàng.
- Khóa ngoại: Comment_ID, User_ID
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID bigint Không thể rỗng
Mã trả lời Khóa chính
Mã đánh giá Khóa ngoại
User_ID bigint Không thể rỗng
Mã khách hàngKhóa ngoại
[Content] ntext Không thể rỗng
CreatedDate datetime Không thể rỗng Ngày trả lời
❖ Bảng món ăn đi kèm (Topping)
- Mô tả: Bảng để lưu các thông tin món ăn đi kèm.
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID bigint Không thể rỗng
Name nvarchar(450) Không thể rỗng Tên topping
Image nvarchar(250) Không thể rỗng Ảnh đại diện
0) Không thể rỗng Giá bán
0) Không thể rỗng Giá gốc
Food_ID bigint Không thể rỗng
Mã món ăn Khóa ngoại
❖ Bảng chi tiết đơn hàng có món ăn đi kèm (Topping_Order)
- Mô tả: Bảng để lưu các thông tin chi tiết đơn đặt hàng có món ăn đi kèm.
- Khóa ngoại: Topping_ID, OrderDetail_ID
Tên Kiểu dữ liệu Rỗng hoặc không Giải thích
ID bigint Không thể rỗng
Quantity int Không thể rỗng Số lượng
_ID bigint Không thể rỗng
Mã chi tiết đơn Khóa ngoại
Topping_ID bigint Không thể rỗng
CÀI ĐẶT WEBSITE
❖ Việc đặt món ăn của cửa hàng được chia làm 3 hình thức chính
- Gọi trực tiếp tới quản lý cửa hàng để đặt món.
- Tới tận cửa hàng để đặt món cùng với món ăn đi kèm.
- Đặt hàng thông qua hệ thống website của cửa hàng.
Gọi điện thoại trực tiếp cho quản lý nhà hàng là một phương thức giao dịch truyền thống, giúp khách hàng dễ dàng biết đến nhà hàng qua sự giới thiệu của bạn bè hoặc người thân Khách hàng có thể gọi để thông báo về món ăn và số lượng, đồng thời yêu cầu thêm các món ăn kèm Sau khi đến nhà hàng, khách sẽ đặt món trực tiếp và nhận hóa đơn thanh toán từ cửa hàng.
Khách hàng có thể đến trực tiếp cửa hàng để đặt món, đây là hình thức giao dịch phổ biến Nhiều khách hàng thân thiết chọn cách này để tự tay đặt món và trải nghiệm dịch vụ, tương tự như việc gọi điện thoại để đặt bàn.
Đặt bàn qua hệ thống website của cửa hàng là một hình thức giao dịch mới, được khách hàng ủng hộ nhờ tính tiện lợi và phù hợp với xu thế hiện nay Khách hàng có thể dễ dàng tham khảo thực đơn và chọn món ăn vào giỏ hàng Sau khi xác nhận đơn đặt, quản trị viên sẽ nhận thông tin và gọi điện xác nhận với khách hàng, từ đó lên kế hoạch thực hiện đơn hàng một cách nhanh chóng và chu đáo.
❖ Chúng ta tiến hành cài đặt hai phần mềm Visual Studio 2019 và SQL Server 2019
Bước 1: Truy cập và nhấn nút download: https://www.microsoft.com/en-us/sql- server/sql-server-downloads
Hình: Chú thích nơi tải SQL Server 2019 Developer
Bước 2: Sau khi tải xong, sẽ có một file dạng như này, click khởi chạy nó
Bước 3: Khi khởi chạy thành công, sẽ thấy một cửa sổ với ba mục để cho các bạn chọn:
– Basic: Đây là tùy chọn đơn giản nhất, phần mềm sẽ tự động cấu hình cho những cài đặt cơ bản.
– Custom: Với nhu cầu chuyên sâu hơn, chọn mục đấy để có thể cấu hình thủ công cài đặt
Tải xuống Media: Mục này cho phép bạn tải về file cài đặt offline, giúp cài đặt trên nhiều thiết bị mà không cần tải lại Bạn chỉ cần chọn mục Basic và tùy chỉnh cấu hình sau khi cài đặt xong, sau đó nhấn Next cho đến khi hoàn tất.
Hình: Các lựa chọn cài đặt
Hình: Lựa chọn cài đặt Basic
Nhớ chọn ổ đĩa để lưu, khuyến khích lưu vào ổ đĩa SSD, sau đó bấm Install.
Sau khi hoàn tất việc tải và cài đặt, bạn sẽ thấy một cửa sổ xuất hiện Như đã đề cập trước đó, chúng ta cần điều chỉnh cấu hình để phù hợp với nhu cầu sử dụng, vì vậy hãy nhấn vào tuỳ chọn "Tùy chỉnh".
Hình: Sau khi cài đặt xong
Sau khi cửa sổ tiếp theo xuất hiện, hãy nhấn "Next" để chuyển đến phần "Cài đặt tệp thiết lập" Hệ thống sẽ kiểm tra các mục đã hoàn thành, với dấu tích xanh cho thấy mọi thứ ổn Thường thì mục Firewall sẽ hiển thị màu vàng cảnh báo có thể ảnh hưởng đến quá trình cài đặt, nhưng bạn có thể bỏ qua và tiếp tục nhấn "Next".
Hình: Hệ thống kiểm tra các thành phần
Bấm không thay đổi gì ở các mục tiếp theo, bấm next cho đến mục “Product
Key”, ở đây nhớ chọn “Developer” để được dùng bản miễn phí dành cho lập trình viên nhé.
Hình: Chọn mục Developer để nhận bản free
Bước 5: Nhấn "next" cho đến khi đến mục "Features Selection", đây là bước quan trọng để cấu hình các gói (packages) cần sử dụng Thông thường, chúng ta chỉ cần chọn các mục dưới đây để học môn Cơ sở dữ liệu.
– Database Engine Services (nên có)
– Data Quality Client (tùy chọn)
– Client Tools Connectivity (nên có)
Hình: Chọn gói Database Engine Services
Hình: Chọn gói Client Tools Connectivity
Bước 6: Sau khi hoàn tất việc chọn, nhấn Next để chuyển đến phần “Feature Configuration Rules”, nơi bạn có thể đặt tên cho Instance Lưu ý rằng tên không được có dấu, khoảng cách hoặc ký tự đặc biệt.
Hình: Cấu hình tên Instance
Bước 7: Bấm Next cho đến mục “Database Engine Configuration” Đây là mục cực kì quan trọng, cần phải làm các thao tác sau:
– Chọn Mix Mode: Đây là chế độ kết hợp cả SQL Authentication và Windows
Authentication, tạm hiểu là phương thức bảo mật cho CSDL.
– Sau khi chọn Mix Mode, nhập mật khẩu, lưu ý đây là mật khẩu gốc cho tài khoản super admin (sa), hãy bảo mật nó.
– Chọn mục Add Current User (như hình), trong lúc Add nó sẽ khựng lại, kiên nhẫn một chút.
Hình: Cấu hình Database Engine Configuration
Bước 8: Install và chờ kết quả
Hình: Cài đật thành công
Sau khi chờ đợi cài đặt, màn hình hiện như này đã đi được 70% chặng đường, bây giờ chuyển sang cài SQL Server Management Studio (SSMS)
SQL Server Management Studio (SSMS) Để có giao diện tương tác với SQL Server thì ta cần cài SSMS, làm như sau:
Bước 1: Vào https://docs.microsoft.com/en-us/sql/ssms/download-sql-server- management-studio-ssms Bấm vào “Download SQL Server Management Studio
Hiện tại, phiên bản 18.5 của SQL Server Management Studio (SSMS) đang được tải về và được đánh giá là khá ổn định Tuy nhiên, nếu bạn muốn tải phiên bản cũ hơn, hãy tránh phiên bản 18.0 vì nó đã loại bỏ tính năng Database Diagram, tính năng rất hữu ích cho những người mới làm quen với các bảng trong cơ sở dữ liệu.
Hình: Tải SQL Server Management Studio
Sau khi tải xong và khởi chạy file cài đặt lên, màn hình sau sẽ xuất hiện, bấm Install.
Hình: Màn hình cài đặt
Sau khi cài đặt xong màn hình sẽ như thế này, coi như đã hoàn thành việc cài đặt, bây giờ đến phần kiểm tra.
Hình: Màn hình cài đặt thành công
After installation, you can access Microsoft SQL Server Management Studio by going to Start and typing its name It is also advisable to create a desktop shortcut for easier future access.
Hình: Màn hình tìm kiếm trong menu Start
After launching the application, the screen will display options where you should select "SQL Server Authentication" under the "Authentication" section Enter "sa" in the Login field and input the password that was created during the installation process.
The newly released Visual Studio 2019 has gained a significant user base Key improvements in this version can be found in detail at the official release notes link.
+ Bước 1: Bắt đầu tiến hành tải về Visual Studio 2019 theo đường link Download dưới đây: https://visualstudio.microsoft.com/downloads/
Giao diện của trang Download Visual Studio như ảnh dưới:
Có ba lựa chọn tải về tương ứng với ba gói phần mềm khác nhau Gói Community là miễn phí, phù hợp cho sinh viên và cá nhân Hai gói còn lại, Professional và Enterprise, là phiên bản trả phí Người dùng có thể tải về và sử dụng thử trong một khoảng thời gian trước khi quyết định trả phí để kích hoạt bản quyền vĩnh viễn.
To begin the installation process, click on the "Free trial" option to download the software If you prefer the Enterprise version, select the "Free trial" associated with that edition Once the download is complete, you will find the Visual Studio installation file named as indicated below.
+ Bước 3: Click đúp chuột vào file vừa tải về để bắt đầu chạy file cài đặt phần mềm.
Tuỳ thuộc vào tốc độ mạng Internet đang dùng và cấu hình máy tính mà quá trình tải về nhanh hay chậm.
Sau khi quá trình tải file cài đặt trọn vẹn Ta sẽ nhận được giao diện ban đầu của Visual Studio như dưới đây:
Đối với các máy có cấu hình khác nhau và nhu cầu làm việc của từng người, bạn có thể lựa chọn các công cụ phù hợp Chẳng hạn, khi thực hiện các dự án về Web như ASP.NET MVC, NET Core hoặc Node.js, bạn có thể chọn các tùy chọn như ASP.NET và phát triển web, cũng như Node.js và phát triển.
+ Bước 5: Chọn tiếp vào NET desktop development , Universal Windows
Plaform development và Mobile development with NET như dưới đây.
KẾT LUẬN
- Phân tích thiết kế hệ thống.
- Giao diện khá bắt mắt, đáp ứng yêu cầu về thầm mỹ.
- Xây dựng các chức năng giới thiệu quảng bá về cửa hàng.
- Xây dựng chức năng quản lý cập nhật thông tin cho admin.
- Các chức năng tìm kiếm món ăn
- Theo dõi món ăn mới, lưu những món ăn người dùng yêu thích.
- Hoàn thành đúng thời hạn, tiến độ được giao.
- Đã cố gắng bám sát nhiều tiêu chí đưa ra.
- Website chỉ hoạt động được trong phạm vi vừa và nhỏ Chưa số hóa được quá trình vận chuyển đơn hàng.
- Chỉ đáp ứng hoạt động cho 1 hoặc một chuỗi cửa hàng
- Website chỉ mới giải quyết được những vấn đề cơ bản nhất
- Trau rồi kinh nghiệm quý báu trong việc xây dựng thiết kế và xử lý hệ thống.
Qua đợt làm đồ án, tôi đã hiểu rõ hơn về các khái niệm và công việc cơ bản trong việc xây dựng website, đặc biệt là website thương mại điện tử Tôi cũng đã tìm hiểu về các công cụ thiết kế trang web, ngôn ngữ C# kết hợp với framework ASP.NET MVC và SQL Server, cùng với một số phần mềm hỗ trợ khác Ngoài ra, tôi đã có cơ hội làm quen với công việc thực tế tại công ty, giúp tôi tự tin hơn khi ra trường và bắt đầu sự nghiệp.
❖ Hướng phát triển trong tương lai
- Xây dựng hệ thống bán hàng thời trang thanh toán trực tuyến bằng ví điện tử hoặc Internet Banking.
- Ứng dụng Google map trong xác định vị trí và gợi ý cho khách hàng cửa hàng gần nhất.
- Xây dựng nền tảng cho nhiều cửa hàng đăng bán món ăn của mình trên website.
- Ứng dụng chatbot nhằm chăm sóc khách hàng tốt nhất cũng như nhanh chóng tiếp nhận phản hổi kịp thời.
- Từng bước hoàn thiện Website cho rõ ràng từng phần thân thiện, dễ dàng cho khách hàng vào xem và đặt hàng.
Với kiến thức nền tảng và sự nỗ lực cá nhân, cùng sự hướng dẫn tận tình của thầy Trần Phong Nhã, chúng em đã hoàn thành đồ án tốt nghiệp với đề tài “Xây dựng Website bán đồ ăn nhanh” Mặc dù đã cố gắng tìm hiểu và phân tích thiết kế, do thời gian hạn chế, chúng em không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm và góp ý từ quý thầy cô Xin chân thành cảm ơn.
Một lần nữa chúng em xin chân thành cảm ơn (thầy Trần Phong Nhã) đã tận tình hướng dẫn chúng em trong suốt thời gian thực hiện đồ án.