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 đại Trong bối cảnh cạnh tranh gay gắt, việc giới thiệu sản phẩm đến tay người tiêu dùng với chi phí thấp và hiệu quả cao trở thành thách thức lớn cho các doanh nghiệp Người tiêu dùng ngày càng đòi hỏi những sản phẩm đa dạng, 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à phát triển mạnh mẽ trên toàn cầu, đáp ứng nhu cầu này.
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á, giúp doanh nghiệp nắm bắt thông tin về hàng hóa, vật tư, và trạng thái đơn đặt hàng một cách chính xác và kịp thời Nhờ đó, người quản lý có thể đưa ra các quyết định đúng đắn, giảm chi phí, tă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 Mục đích phát triển của nó là đáp ứng kịp thời các 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 cửa hàng gốm bao gồm một quản lý có toàn quyền điều hành hệ thống, cùng với một số nhân viên phụ trách các nhiệm vụ như 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 danh mục món ăn trong cửa hàng thường bao gồm nhiều món khác nhau, mỗi món được xác định qua tên, giá và mã số món ăn để dễ dàng theo dõi Chủ cửa hàng cần nắm bắt thị trường và theo dõi tình hình kinh doanh để đạt hiệu quả cao Đồng thời, họ cũng cần nhận phản hồi về chất lượng món ăn và dịch vụ phục vụ để cải thiện trải nghiệm khách hàng.
Đề xuất vận chuyển cần được thảo luận với quản lý để tìm ra giải pháp hiệu quả Trong trường hợp xảy ra vấn đề, việc thực hiện đền bù cho khách hàng là cần thiết để 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.
Để thực hiện yêu cầu, cần có một ngôn ngữ lập trình có khả năng kết nối với cơ sở dữ liệu và 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 nền tảng tổng hợp gồm 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 khung (FCL).
Microsoft Net bao gồm hai phần chính: 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à cấu trúc cơ bản cần thiết cho việc phát triển ứng dụng, tạo ra một môi trường hỗ trợ theo quy ước nhất định Trong khi đó, IDE giúp người dùng dễ dàng và nhanh chóng triển khai các ứng dụng dựa trên nền tảng Net.
Thành phần Framework là phần cốt lõi và quan trọng nhất trong NET, tạo nên nền tảng cho môi trường phát triển IDE chỉ đóng vai trò là công cụ hỗ trợ phát triển dựa trên nền tảng này Trong 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 mạnh mẽ cho việc phát triển và triển khai ứng dụng phân tán thế hệ mới, bao gồm cả ứng dụng client-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 lập trình và nâng cao hiệu suất ứ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ủ bao gồm Windows 2000, SQL Server và BizTalk Server, tất cả đều được tích hợp để hoạt động và quản lý các dịch vụ XML Web cùng các ứng dụng.
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 ra trải nghiệm thuyết phục cho người dùng qua nhiều thiết bị khác nhau.
Visual Studio NET là một công cụ hỗ trợ mạnh mẽ cho việc phát triển các dịch vụ Web XML, giúp tạo ra ứng dụng trên nền Windows và nền web một cách dễ dàng và hiệu quả.
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 giúp đơn giản hóa việc phát triển ứng dụng trong môi trường Internet phân tán Nó cung cấp một môi trường lập trình hướng đối tượng vững chắc, cho phép mã nguồn được lưu trữ và thực thi cục bộ hoặc từ xa Bên cạnh đó, NET Framework giảm thiểu vấn đề đóng gói phần mềm và tranh chấp phiên bản, đồng thời đảm bảo an toàn cho mã nguồn, bao gồm cả mã từ bên thứ ba tuân thủ kiến trúc NET Nền tảng này cũng loại bỏ lỗi thực thi script và môi trường thông dịch, giúp các nhà phát triển có thể dễ dàng nắm vững nhiều loại ứng dụng, từ ứng dụng Windows đến ứng dụng web Cuối cùng, NET Framework 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ư các ứ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 Ví dụ về ứng dụng client bao gồm phần mềm 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 Những ứ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 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.
Một loại ứng dụng client khác với ứng dụng truyền thống là ActiveX control, hiện đã được thay thế bởi các Windows Form control, và được nhúng vào các trang web trên Internet Những ứng dụng này tương tự như các ứng dụng client khác, cho phép truy cập tài nguyên cục bộ.
Các lớp trong NET Framework đượ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 cửa sổ, nút bấm, menu, thanh công cụ và nhiều thành phần khác cho các ứng dụng thương mại.
Ngôn ngữ lập trình C#
Ngôn ngữ C# đơn giản với khoảng 80 từ khóa và nhiều kiểu dữ liệu tích hợp Tuy nhiên, C# lại mang ý nghĩa lớn khi thực thi các khái niệm lập trình hiện đại Ngôn ngữ này hỗ trợ cấu trúc, thành phần component và lập trình hướng đối tượng, tạo điều kiện thuận lợi cho việc phát triển phần mềm hiệu quả.
Cốt lõi 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 kiểu dữ liệu mới Ngôn ngữ C# cung cấp từ khóa để khai báo lớp, phương thức và thuộc tính, đồng thời hỗ trợ thực thi các tính năng như đóng gói, kế thừa và đa hình, là ba đặc điểm chính của lập trình hướng đối tượng.
Trong ngôn ngữ C#, tất cả các khía cạnh liên quan đến khai báo lớp đều nằm 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 phải tách biệt giữa tập tin header và tập tin nguồn Hơn nữa, C# hỗ trợ kiểu XML, cho phép người dùng chèn các thẻ XML để 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 thông qua các thuộc tính và sự kiện, cho phép phát triển ứng dụng linh hoạt Với sự hỗ trợ của CLR, C# có khả năng lưu trữ metadata cùng với mã nguồn của lớp, nâng cao khả năng quản lý và tổ chức mã.
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 sử dụng để 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ý đa dạng, từ giao diện người dùng đồ họa (GUI) đến ngôn ngữ truy vấn SQL Điểm mạnh của SQL Server là sự tích hợp hoàn hảo với nhiều nền tảng của Microsoft như ASP.NET và C# trong phát triển ứng dụng Winform, cho phép hoạt động độc lập hiệu quả.
MS SQL Server, lần đầu tiên được phát triển vào năm 1989, đã cho ra mắt 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 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, phù hợp cho người dùng chuyên nghiệp và doanh nghiệp So với các đối thủ như MySQL, SQL Server nổi bật với tính dễ sử dụng và nhiều tính năng vượt trội 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 trong các dự án lớn như lập trình cho 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 công cụ 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ú, đảm bảo người dùng có thể khai thác tối đa tiềm năng của phần mềm.
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 không hề rẻ và phụ thuộc vào quy mô doanh nghiệp của bạn.
*Hạn chế nhất định về cơ sở hạ tầng
Nếu doanh nghiệp bạn không có hạ tầng Microsoft, bạn sẽ cần đầu tư thêm vào hệ sinh thái Microsoft để sử dụng SQL Server, điều này có thể tạo ra rào cản về chi phí với các cam kết mua sản phẩm máy chủ Tình hình tài chính của doanh nghiệp cũng sẽ ảnh hưởng lớn đến quyết định 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ông ty này cho các tính năng và cải tiến cần thiết cho cơ sở hạ tầng Microsoft thường cập nhật phiên bản mới của SQL Server mỗi hai năm, điều này có thể gây khó khăn nếu doanh nghiệp bạn 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à công cụ chính để yêu cầu MySQL truy vấn dữ liệu từ cơ sở dữ liệu cụ thể Nó cho phép người dùng đọc thông tin theo các trường hợp quy định hoặc các biểu thức tương ứng.
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 để lọc các bản ghi theo tiêu chí nhất định Thông thường, nó so sánh một cột với giá trị của cột khác hoặc với biểu thức chứa cột trong bảng Cấu trúc của câu lệnh SQL với mệnh đề WHERE thường được định nghĩa rõ ràng để đảm bảo tính chính xác trong việc truy xuất dữ liệu.
Câu 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 cập nhật cho một bản ghi cụ thể, lệnh này thường đi kèm với mệnh đề WHERE Nếu bạn muốn cập nhật tất cả các bản ghi trong bảng, có thể bỏ qua mệnh đề WHERE Cấu trúc của câu 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 cần thêm dữ liệu vào bảng trong CSDL MySQL, bạn có thể sử dụng phát biểu SQL chuyên nghiệp là INSERT Lưu ý rằng kiểu dữ liệu của giá trị thêm vào phải tương ứng với kiểu dữ liệu đã khai báo của 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à không thể thay thế Đượ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 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 chọn lựa phiên bản phù hợp với cấu hình máy của mình Ngoài ra, phần mềm còn cho phép tùy chỉnh giao diện chính theo nhu cầu của người dùng.
Lịch sử phát triển Visual Studio
Visual Studio, sản phẩm của Microsoft, lần đầu tiên được giới thiệu vào năm 1997 với hai phiên bản là Professional và Enterprise Qua nhiều lần phát triển, Visual Studio hiện nay có nhiều phiên bản khác nhau, đáp ứng nhu cầu đa dạng của lập trình viên.
Visual Studio đã trải qua nhiều phiên bản từ 2005 đến 2015, với phiên bản mới nhất là Visual Studio 2015 được phát hành vào tháng 7 năm 2015 Mỗi phiên bản đều mang đến những tính năng và công nghệ mới, hấp dẫn hơn, giúp cải thiện trải nghiệm lập trình cho người dùng.
Người dùng có thể tìm hiểu thêm về Visual Studio tại trang chủ chính thức: https://www.visualstudio.com/ hoặc tải phiên bản mới nhất của Visual Studio 2015 Để tiết kiệm chi phí, người dùng cũng có thể tải phiên bản Community, phiên bản này hoàn toàn miễn phí và cung cấp đầy đủ các tính năng cơ bản.
Nếu bạn có tài khoản DreamSpark liên kết với doanh nghiệp hoặc nhà trường, bạn có thể dễ dàng tải và sử dụng miễn phí phiên bản Visual Studio Professional.
Tại sao nên sử dụng Visual Studio?
Đối với những người mới bắt đầu học lập trình và thiết kế website, việc tìm hiểu Visual Studio là gì và lý do nên sử dụng nó là rất quan trọng Visual Studio không chỉ là một công cụ lập trình mạnh mẽ mà còn hỗ trợ người dùng trong việc phát triển ứng dụng một cách hiệu quả và dễ dàng hơn.
[Type here] không phải là các công cụ khác để lập trình như DevC, Code Block, 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 công cụ gỡ rối (Debug) mạnh mẽ, cho phép người dùng chạy từng câu lệnh để theo dõi sự thay đổi trạng thái của chương trình Qua việc kiểm tra giá trị các biến và cách vận hành của mã, người lập trình có thể dễ dàng xác định và khắc phục lỗi trong quá trình phát triển phần mề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, như Resharper giúp quản lý và viết mã nhanh cho các ngôn ngữ thuộc NET, cùng với khả năng cài đặt thư viện dễ dàng thông qua NuGet.
In addition, this tool supports the development of desktop applications using MFC, Windows Forms, and Universal Apps It also facilitates mobile application development for Windows Phone 8/8.1, Windows 10, iOS, and Android via Xamarin Furthermore, Visual Studio enables website development on platforms such as Web Forms and ASP.NET MVC, as well as Microsoft Office application development.
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 cần quản lý thông tin về các món ăn một cách hiệu quả Việc quản lý này đảm bảo rằng thông tin về món ăn được trình bày một cách hệ thống và đầy đủ trên website, giúp khách hàng dễ dàng tiếp cận và lựa chọn.
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…
Một chức năng có thể được định nghĩa là 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, chức năng còn có khả năng tạo ra dữ liệu mới từ một tập hợp dữ liệu đã cho.
Biểu diễn một chức năng trong BLD thường được thực hiện bằng cách sử dụng hình tròn hoặc hình ô van, được gọi là bong bóng, bên trong có 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:
Một 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ể được chuyển đến để xử lý hoặc được truyền đi như kết quả của quá trình xử lý, không phụ thuộc vào hình thức truyền dẫn nào (như qua máy tính, fax, điện thoại, hoặc bằng tay) Thông tin 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 Đặc biệt, mọi luồng dữ liệu đều phải liên quan đến một chức năng nào đó, với ít nhất một đầu của luồng dữ liệu phải kết nối với chức năng đó.
[Type here] 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 nên là một danh từ, có thể kèm theo tính ngữ để giúp hiểu rõ nội dung dữ liệu được chuyển giao một cách ngắn gọn.
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ữ nếu cần thiết, nhằm giúp người dùng nhanh chóng hiểu được nội dung của 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 một 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 của mô hình Tác nhân này 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, tạo nên sự liên kết và tương tác giữa các thành phần.
Như vậy tác nhân trong xuất hiện trong BLD chỉ được làm nhiệm vụ tham chiếu.
Tác nhân trong biểu đồ BLD được thể hiện bằ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, phản ánh chức năng hoặc hệ thống con của nó.
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ụ
Tìm kiếm món ăn Đặt món ăn
Thống kê ,báo Khách cáo hàng
Xem lại đơn đặt hàng
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à
15 | P a g e Ứ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, giúp họ tìm kiếm món ăn ưng ý một cách nhanh chóng Hệ thống phân loại món ăn theo danh mục và giá cả sẽ hỗ trợ người dùng trong việc lựa chọn món ăn phù hợp với sở thích và ngân sách của mình.
- Cập nhật các danh mục món ăn Cập nhật hàng
- 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áohóa theođơn định kỳ. Đặt hàng
❖ 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ệ giữa chúng.
Thống kê duy nhất chức năng, diễn tả bởi các cung nối liền các nút, hệ bao
,báo cáo Khách hàm NóiAdmin đây là một cây cấu trúc có đặc điểm như sau: hàng
● nhìn khái quát, dễ hiểu từ đại thể đến chi tiết năng, nhiệm vụ hiện( thường ở mức diễn tả logic).
● Quản lý 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ý. khách hàng
Mô hình phân cấp chức năng thường được áp dụng trong giai đoạn đầu của phân tích hệ thống nhằm nâng cao khả năng tiếp cận logic đối với chức năng của hệ thống.
Sơ đồ tổ chức của một cơ quan không chỉ thể hiện các bộ phận và tổ chức hợp thành, 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 minh họa mối quan hệ giữa các bộ phận và chức năng của chúng Mặc dù có sự tương ứng giữa tổ chức và chức năng, nhưng sự tương ứng này không phải lúc nào cũng nhất quán.
Khách hàng thiết lập sự tương ứng 1-1 giữa các nút trên biểu đồ, không chỉ khác biệt về tên gọi (một bên là chức năng, bên kia là tên bộ phận) 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 Ngoài ra, chức năng này còn hỗ trợ thay đổi thông tin username và password 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ý Quản lý Xử lý Thống Xử lý
Quản lý khách món ăn tìm kê, báo thực | P a g e đơn đặt hàng, truy kiếm cáo đơn cập hệ bàn thống
Quản lý khách hàng ểu
Xử lý đồ luồng dữ liệu mức khung đặt hàng liệu mức khung cảnh (mức 0)
Quản lý hóa đơn Đăng Thay ký tài đổi tài khoản khoản
User p ấc g nu cT ,t/ ừ t a ó H ố hc i
T đơ h n h na a h t n áo t á o ht Đă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
Quản lý Website Bán đồ ăn nhanh
T /t kh ác h h àn g oá co á b cY / o áb cá C t êk gn ốh oá c q u y K ề ti c r u yr
Biểu đồ luồng dữ liệu mức đỉnh
Hình 3.4: Biểu đồ luồng dữ liệu mức đỉnh
❖ Đăng nhập ,thay đổi tài Kiểm tra quyền truy cập khoản Quản lý User và Admin
User Xử lý menu (giỏ hàng) Admin
Hóa đơn á áh kn gn ôh T it n ầc hc đ b ư u C ợ ầ u c c x
Y ê e m Thống kê, báo cáo ợư đn gn ô hT it e xc óm m ếkm Tiì nă n User
Xử lý tìm kiếm Sách Quản lý món ăn
Quản lý danh mục món ăn
Biểu đồ luồng dữ liệu mức 2 của chức năng quản lý Admin và User
Y/c thông tin về khách hàng
Thông tin cá nhân Y/c xem sửa tài Trả khoản lời thông tin khách hàng
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
Quản lý hóa đơn Xử lý đặt hàng
T/t đặt hàng Hàng đã duyệt
Trả lời đặt hàng Hóa đơn
Món ăn 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
Mã danh Không thể rỗng
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.
Mã loại menu Không thể rỗng
Link nchar(50) URL hiển thị
Không thể rỗng trên trình duyệt
DisplayOr int Thứ tự hiển der Không thể rỗng thị
Không thể rỗng 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
ID bigint Không thể Mã user rỗng Khóa chính
Address nvarchar(450) Không thể Địa chỉ rỗng
Phone nvarchar(50) Không thể Số điện thoại rỗng
Email nchar(100) Không thể Email 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.
Tên Kiểu dữ Rỗng hoặc Giải thích liệu không
ID bigint Không thể rỗng Mã sản phẩm
Name nvarchar(250 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
Image nvarchar(250 Không thể rỗng Ảnh đại diện
CreatedDate datetime Không thể rỗng Ngày đăng
Price decimal(18, Không thể rỗng Giá bán
Food_Catego bigint Không thể rỗng Thuộc loại danh ryID 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 Giải thích không
ID bigint Không thể Mã rỗng Khóa chính
Food_ID bigint Không thể Mã món ăn rỗng Khóa ngoại
User_ID Bigint Không thể Mã người dùng rỗng Khóa ngoại
- 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
ID bigint Không thể Mã hóa đơn rỗng Khóa chính
Full_Name nvarchar(150) Không thể Tên khách rỗng hàng
Phone nvarchar(50) Không thể Điện thoại rỗng nhận hàng
TotalQuantity int Không thể Tổng số rỗng lượng
CreatedDate datetime Không thể Ngày đặt rỗng 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
Có thể rỗng Ghi chú
User_ID bigint Mã khách
Status bit Không thể Trạng thái 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
Tên Kiểu dữ Rỗng hoặc
Không thể Mã chi tiết hóa rỗng đơn
Food_ID bigint Không thể
Order_ID bigint Không thể
Price decimal(18, Không thể Đơ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
Tên Kiểu dữ Rỗng hoặc
ID bigint Không thể Mã bài viết rỗng Khóa chính
[Content] ntext Không thể Nội dung đánh giá rỗng
Rating int Không thể Điểm đánh giá rỗng
CreatedD datetime Không thể Ngày đánh giá ate 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ể Trạng thái đánh giá 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
ID bigint Không thể Mã trả lời rỗng Khóa chính
Comment_I bigint Không thể Mã đánh giá
User_ID bigint Không thể Mã khách hàng rỗng Khóa ngoại
[Content] ntext Không thể Nội dung trả rỗng 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
ID bigint Không thể Mã topping rỗng Khóa chính
Image nvarchar(250) Không thể Ảnh đại diện rỗng
Food_ID bigint Không thể Mã món ăn rỗng 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
Kiểu dữ liệu Rỗng hoặc không Giải thích
ID bigint Không thể Mã topping rỗng Khóa chính
OrderDetail bigint Không thể Mã chi tiết đơn
Topping_ID bigint Không thể Mã topping rỗng Khóa ngoại
CÀI ĐẶT WEBSITE
4.1 Mô tả hoạt động của nhà hàng
❖ 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à phương thức giao dịch truyền thống, giúp khách hàng biết đến nhà hàng qua giới thiệu từ bạn bè hoặc người thân Khách hàng có thể gọi để thông báo món ăn, số lượng và các món ăn đi kèm Sau đó, họ đến nhà hàng để đặt trực tiếp và nhận hóa đơn thanh toán.
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 và được ưa chuộng Nhiều khách hàng thân thiết thích trải nghiệm việc tự tay đặt món, tương tự như khi gọi điện thoại để đặt bàn.
Đặt bàn qua website của cửa hàng là hình thức giao dịch hiện đại và tiện lợi, được khách hàng ủng hộ nhiệt tình Khách hàng có thể dễ dàng tham khảo thực đơn và chọn món ăn để thêm vào giỏ hàng Sau khi xác nhận đơn hàng, thông tin sẽ được gửi đến quản trị viên, nhân viên sẽ gọi điện xác nhận và 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 Chọn mục Basic và tùy chỉnh cấu hình sau khi cài đặt hoàn tất, sau đó nhấn Next cho đến khi quá trình hoàn thành.
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.
Bước 4: Sau khi hoàn tất tải và cài đặt, cửa sổ như hình dưới đây sẽ xuất hiện Như đã đề cập trước đó, chúng ta cần cấu hình lại để phù hợp với nhu cầu của mình, hãy nhấn vào tùy chọn Customize.
Hình: Sau khi cài đặt xong
Sau khi cửa sổ mới xuất hiện, hãy nhấn "next" để tiến đến phần "Install Setup Files" Hệ thống sẽ kiểm tra các mục đã hoàn thành; nếu có dấu tích xanh, nghĩa là mọi thứ đã ổn Thường thì mục Firewall sẽ hiển thị màu vàng, cảnh báo rằng nó 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", một phần quan trọng để cấu hình các gói mà bạn muốn sử dụng Tại đây, chúng ta thường lựa chọn các tính năng cần thiết cho quá trình cài đặt.
[Type here] mục dưới đây là đủ để 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” Tại đây, bạn sẽ đặ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 sử dụng và được đánh giá là khá ổn định Nếu bạn cầ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 navigating to Start and typing its name It is also advisable to create a desktop shortcut for easier access in the future.
Hình: Màn hình tìm kiếm trong menu Start
After launching, the screen will display options where you should select "SQL Server Authentication." Enter "sa" in the Login field and input the password created during the installation process.
The newly released Visual Studio 2019 has gained a significant user base, highlighting its popularity and effectiveness For detailed information on the latest improvements and features of this version, please refer to the official release notes available at the provided 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 miễn phí dành cho sinh viên và cá nhân, cùng với hai gói trả phí là Professional và Enterprise Người dùng có thể tải về phiên bản dùng thử trong một thời gian nhất định và sau đó trả phí để kích hoạt bản quyền vĩnh viễn.
To begin, click on the "Free trial" option to download the software I selected the Enterprise version, so I clicked on the "Free trial" link for that specific edition Once the download is complete, the installation file for Visual Studio will be 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:
Bước 4: Tùy thuộc vào cấu hình máy, khả năng 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ụ khác nhau cho dự án Ví dụ, khi làm việc với các dự án Web như ASP.NET MVC, NET Core hay Node.js, bạn có thể chọn ASP.NET và phát triển web cũng như Node.js và phát triển như hình dưới đây.
+ 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 quá trình thực hiện đồ á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, SQL Server và một số phần mềm hỗ trợ khác Việc 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ước vào môi trường làm việc.
❖ 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
- Ứ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ế website, nhưng 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.