CHƯƠNG 1 GIỚI THIỆU 1.1 Các công nghệ sử dụng trong website 1.1 Ngôn ngữ c# -Khái niệm: C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C+ + và Java. Trong các ứng dụng Windows truyền thống, mã nguồn chương trình được biên dịch trực tiếp thành mã thực thi của hệ điều hành. Trong các ứng dụng sử dụng .NET Framework, mã nguồn chương trình (C#, VB.NET) được biên dịch thành mã ngôn ngữ trung gian MSIL (Microsoft intermediate language).
Sau đó mã này được biên dịch bởi Common Language Runtime (CLR) để trở thành mã thực thi của hệ điều hành. - Vì sao nên sử dụng c#: C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Nếu chúng ta thân thiện với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn.
1| SVTH: Nguyễn Dương Việt Hào - Phạm Duy Khánh - Phạm Nhật Trường Đồ án hệ thống quản lý bán trà sữa HKT - C# là một ngôn ngữ lập trình thuần hướng đối tượng: Lập trình hướng đối tượng (OOP: Object-oriented programming) là một phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance). C# hỗ trợ cho chúng ta tất cả những đặc tính trên.2 Guna FrameWork Framework là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và các thư viện lập trình được đóng gói. Chúng cung cấp các tính năng có sẵn như mô hình, API và các yếu tố khác để tối giản cho việc phát triển các ứng dụng web phong phú, năng động.
Các framework giống như là chúng ta có khung nhà được làm sẵn nền móng cơ bản, bạn chỉ cần vào xây dựng và nội thất theo ý mình.NET UI/UX là một bộ công cụ UI/UX được thiết kế và phát triển cho ứng dụng. Nó cung cấp một tập hợp các thành phần giao diện người dùng (UI) và các tính năng hỗ trợ trải nghiệm người dùng (UX) để xây dựng các ứng dụng Windows đẹp và tương tác. Giao diện đẹp: Guna Framework cung cấp các thành phần giao diện người dùng được thiết kế với mục tiêu tạo ra giao diện đẹp mắt và chuyên nghiệp cho các ứng dụng. Các thành phần có kiểu dáng hiện đại và hỗ trợ nhiều tùy chọn tùy chỉnh để phù hợp với ý tưởng thiết kế của mỗi người Dễ sử dụng: Guna Framework được thiết kế để dễ sử dụng và tích hợp vào dự án .NET của bạn.
Nó cung cấp một API rõ ràng và các tài liệu hướng dẫn để giúp bạn xây dựng giao diện người dùng một cách nhanh chóng và dễ dàng.3 Mô hình 3 lớp Mô hình 3 lớp (3-tier architecture) là một kiến trúc phần mềm phổ biến được sử dụng để phân chia ứng dụng thành ba lớp riêng biệt và độc lập. Các lớp bao gồm: 2| SVTH: Nguyễn Dương Việt Hào - Phạm Duy Khánh - Phạm Nhật Trường Đồ án hệ thống quản lý bán trà sữa HKT Lớp Giao diện người dùng (Presentation Layer) - (GUI): Lớp này chịu trách nhiệm xử lý tương tác với người dùng và hiển thị thông tin từ hệ thống. Nó tương tác với người dùng thông qua giao diện người dùng (UI) và chuyển tiếp các yêu cầu từ người dùng đến lớp Logic kinh doanh (Business Logic Layer) và lấy dữ liệu từ lớp Dữ liệu (Data Layer) để hiển thị cho người dùng. Lớp Logic kinh doanh (Business Logic Layer) - (BUS): Lớp này chứa các quy tắc kinh doanh và logic xử lý của ứng dụng.
Nó xử lý các yêu cầu từ lớp Giao diện người dùng và tương tác với lớp Dữ liệu để truy xuất, cập nhật hoặc xóa dữ liệu. Lớp Logic kinh doanh chịu trách nhiệm kiểm tra tính hợp lệ của dữ liệu và thực hiện các phép tính hoặc xử lý phức tạp. Lớp Dữ liệu (Data Layer) - (DAO): Lớp này làm nhiệm vụ lưu trữ và truy cập dữ liệu. Nó thực hiện các thao tác truy vấn cơ sở dữ liệu để truy xuất, cập nhật hoặc xóa dữ liệu từ nguồn dữ liệu như cơ sở dữ liệu quan hệ, tệp tin hoặc dịch vụ web.
Lớp Dữ liệu cung cấp một giao diện cho lớp Logic kinh doanh để thao tác với dữ liệu. Mô hình 3 lớp giúp tách biệt các trách nhiệm của ứng dụng thành các lớp độc lập, tạo điều kiện cho việc phát triển, bảo trì và mở rộng dễ dàng. Nó cũng cải thiện tái sử dụng mã nguồn và giúp tăng tính bảo mật và hiệu suất của hệ thống. Hình 1 Sơ đồ mô hình 3 lớp 3| SVTH: Nguyễn Dương Việt Hào - Phạm Duy Khánh - Phạm Nhật Trường Đồ án hệ thống quản lý bán trà sữa HKT 1.4 SQL Server SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) được phát triển bởi Microsoft.
Nó cung cấp một môi trường để quản lý, lưu trữ và truy xuất dữ liệu trong các hệ thống và ứng dụng phát triển bằng ngôn ngữ SQL (Structured Query Language). SQL Server được sử dụng rộng rãi trong các ứng dụng doanh nghiệp và có khả năng xử lý dữ liệu lớn, bảo mật và ổn định. Nó hỗ trợ các tính năng như quản lý dữ liệu, truy vấn, xử lý giao dịch, sao lưu và khôi phục dữ liệu, phân quyền và quản lý bảo mật, cũng như phân tích dữ liệu và lập báo cáo.5 Entity FrameWork Entity Framework cho phép lập trình viên làm việc với cơ sở dữ liệu thông qua các đối tượng và các quan hệ giữa chúng, thay vì phải viết các câu truy vấn SQL trực tiếp. Điều này giúp giảm sự phức tạp của việc tương tác với cơ sở dữ liệu và tăng tính tự động hóa trong việc quản lý dữ liệu.
Entity Framework hỗ trợ nhiều nhà cung cấp cơ sở dữ liệu như SQL Server, MySQL, Oracle, SQLite và nhiều hơn nữa. Provider là lớp trung gian giữa Entity Framework và cơ sở dữ liệu cụ thể, giúp thực hiện các truy vấn và thao tác với cơ sở dữ liệu. Entity Framework cung cấp nhiều lợi ích như tạo đơn giản, giảm thiểu mã nguồn và cung cấp tính năng như theo dõi thay đổi, quản lý mô hình dữ liệu, và tối ưu hóa truy vấn. Nó cung cấp một cách tiếp cận hướng đối tượng trong việc làm việc với cơ sở dữ liệu, giúp tăng cường khả năng bảo trì và mở rộng của ứng dụng 1.6 ReportViewer ReportViewer là một công cụ trong hệ sinh thái của Microsoft, được sử dụng để hiển thị và tạo báo cáo trên các ứng dụng Windows Forms, ASP.NET và WPF.
ReportViewer cung cấp một giao diện người dùng để hiển thị dữ liệu báo cáo 4| SVTH: Nguyễn Dương Việt Hào - Phạm Duy Khánh - Phạm Nhật Trường Đồ án hệ thống quản lý bán trà sữa HKT được tạo bằng công cụ thiết kế báo cáo của Microsoft, là SQL Server Reporting Services (SSRS). ReportViewer cho phép bạn nhúng và hiển thị các báo cáo trong ứng dụng của mình. Bạn có thể tạo các báo cáo động từ cơ sở dữ liệu, lọc và nhóm dữ liệu, hiển thị biểu đồ và biểu đồ, thực hiện các thao tác truy vấn phức tạp và xuất dữ liệu ra nhiều định dạng như PDF, Excel, Word, và nhiều hơn nữa. ReportViewer cung cấp các thành phần giao diện người dùng như thanh công cụ, bảng dữ liệu, bộ lọc, và các tùy chọn tương tác để người dùng có thể tương tác với dữ liệu báo cáo và tùy chỉnh hiển thị theo nhu cầu của họ.
Tóm lại, ReportViewer là một công cụ giúp bạn tạo và hiển thị báo cáo trong các ứng dụng Windows Forms, ASP.NET và WPF, cho phép người dùng tương tác với dữ liệu và xuất báo cáo ra nhiều định dạng khác nhau. 5| SVTH: Nguyễn Dương Việt Hào - Phạm Duy Khánh - Phạm Nhật Trường Đồ án hệ thống quản lý bán trà sữa HKT CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU 2.1 Đặc tả chức năng 2.1 Đối với nhân viên 2.1 Đăng nhập vào hệ thống Là chức năng mà nhân viên đăng nhập vào hệ thống để bán hàng 2.2 Đăng nhập vào hệ thống Là chức năng mà nhân viên muốn thoát khỏi hệ thống 2.3 Tìm kiếm khu vực hoặc bàn Nhân viên dùng chức năng này tìm kíếm các bàn ở khu vực mà nhân viên chọn hoặc có thể tìm kiếm tên bàn yêu mong muốn 2.4 Tìm kiếm sản phẩm Nhân viên có thể tìm kiếm sản phẩm theo tên sản phẩm, hoặc tìm kiếm nâng cao theo danh mục và giá các sản phẩm.5 Chọn bàn Trước khi chọn món nhân viên sẽ chọn bàn mà khách đang gọi món 2.6 Chọn món Nhân viên chọn các món mà khách yêu cầu và sau đó thêm vào hóa đơn hoặc có thể chỉnh sửa (số lượng, giảm giá, chiết khấu) nếu khách yêu cầu sai có thể xóa món đó khỏi hóa đơn 2.7 Thanh toán hóa đơn cho khách hàng Khi khách hàng yêu cầu món trong menu của quán. Nhân viên tiếp nhận yêu cầu và thêm món khách vừa yêu cầu vào hóa đơn của bàn đó.
Vào các ngày lễ hoặc các dịp đặc biệt do quán quy định, nhân viên có thể giảm giá cho các món theo quy định. Nhân viên có thể chuyển hóa đơn bàn này qua bàn 6| SVTH: Nguyễn Dương Việt Hào - Phạm Duy Khánh - Phạm Nhật Trường Đồ án hệ thống quản lý bán trà sữa HKT khác nếu khách yêu cầu. Khi khách hàng có yêu cầu thanh toán nhân viên sẽ lập hóa đơn. Hóa đơn này được lập thành 2 bản, 1 bản được in ra cho khách hàng, 1 bản được lưu lại.
Khách hàng nhận hóa đơn và thanh toán tiền cho nhân viên.2 Đối với quản trị viên 2.1 Quản lý sản phẩm Bao gồm việc bố trí các sản phẩm theo danh mục sản phẩm. Người quản lý có thể thêm, xóa, sửa sản phẩm các thông tin như tên sản phẩm, số lượng, đơn giá, hình ảnh. Có thể tìm kiếm nâng cao để chỉnh sửa hoặc xóa.2 Quản lý danh mục Bao gồm việc thêm, sửa xóa danh mục, bố trí thứ tự các danh mục sản phẩm.3 Quản lý nhân viên Bao gồm việc thêm, sửa xóa nhân viên, tìm kiếm nhân viên.4 Quản lý tài khoản Tài khoản nhân viên: Cho phép khóa, mở khóa hoặc xóa tài khoản nhân viên.