GIỚI THIỆU
Giới thiệu về Microsoft NET và Kiến trúc NET
1.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 đơn lẻ, mà là một nền tảng tích hợp bao gồm bốn ngôn ngữ lập trình chính: C#, VB.NET, Managed C++, và J# NET Các ngôn ngữ này có sự tương tác và chồng chéo với nhau, được định nghĩa trong Thư viện lớp khung (FCL - Framework Class Library).
Microsoft Net bao gồm hai thành 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, tạo điều kiện thuận lợi cho việc phát triển ứng dụng theo các quy ước nhất định Trong khi đó, IDE mang đến một môi trườ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 quan trọng nhất trong NET là Framework, cốt lõi và tinh hoa của môi trường, trong khi IDE chỉ là công cụ phát triển Tất cả các ngôn ngữ như C#, Visual C++ và Visual Basic.NET đều sử dụng chung một IDE trong NET Microsoft NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán thế hệ kế tiếp, bao gồm ứng dụng từ client đến server và các dịch vụ khác Một số tính năng nổi bật của Microsoft NET hỗ trợ các nhà phát triển trong quá trình phát triển ứ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ụ, 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 với 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 qua nhiều loại thiết bị.
Visual Studio NET là một công cụ hỗ trợ mạnh mẽ cho việc phát triển dịch vụ Web XML, giúp tạo ra các ứ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.1: Mô hình kiến trúc của NET
.NET Framework là một 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 phân tán của Internet, cung cấp một môi trường lập trình hướng đối tượng vững chắc với mã nguồn được lưu trữ và thực thi cục bộ nhưng có khả năng phân tán Nó giảm thiểu vấn đề đóng gói phần mềm và xung đột phiên bản, đồng thời đảm bảo an toàn cho mã nguồn, kể cả mã từ các bên thứ ba tuân thủ kiến trúc NET .NET Framework cũng loại bỏ lỗi thực thi trong các script và môi trường thông dịch, giúp các nhà phát triển dễ dàng làm chủ nhiều loại ứng dụng, từ ứng dụng trên nền Windows đến ứng dụng web Hơn nữa, nó xây dựng thông tin dựa trên tiêu chuẩn công nghiệp, đảm bảo khả năng tích hợp mã nguồn trên NET với các mã nguồn khác.
The NET Framework comprises two key components: the Common Language Runtime (CLR) and the NET Framework class library The CLR serves as the foundation of the NET Framework, facilitating the development of client applications.
Các ứng dụng client tương tự như các ứng dụng truyền thống trên Windows, cho phép người dùng thực hiện các thao tác qua cửa sổ và form trên desktop Chúng bao gồm các phần mềm 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 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ửa sổ, menu, thanh công cụ và nút bấm, đồ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.
ActiveX control là một loại ứng dụng client khác biệt so với các ứng dụng truyền thống, hiện nay đã được thay thế bởi các Windows Form control Những ứng dụng này được nhúng vào các trang web trên Internet và tương tự như các ứng dụng client khác, chúng có khả năng truy cập tài nguyên cục bộ.
.NET Framework cung cấp các lớp thiết kế đặc biệt để 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, và thanh công 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à nhiều kiểu dữ liệu được xây dựng sẵn Mặc dù vậy, C# mang lại giá trị cao nhờ 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ợ cấu trúc, thành phần component và lập trình hướng đối tượng, giúp lập trình viên phát triển ứng dụng 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 người phát triển tạo ra các kiểu dữ liệu mới nhằm giải quyết vấn đề hiệu quả hơn Ngôn ngữ C# cung cấp các từ khóa cần thiết để khai báo lớp đối tượng, cũng như các phương thức và thuộc tính của lớp Ngoài ra, C# hỗ trợ thực thi các nguyên tắc quan trọng như đóng gói, kế thừa và đa hình, tạo nên nền tảng vững chắc cho lập trình hướng đối tượng.
Trong ngôn ngữ C#, mọi khai báo lớp đều nằm trong phần định nghĩa của nó, không cần tách biệt giữa tập tin header và tập tin nguồn như C++ C# còn hỗ trợ kiểu XML, cho phép chèn các thẻ XML để tự động tạo 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 đặc tính như thuộc tính và sự kiện Nhờ vào CLR, lập trình viên có thể lưu trữ metadata cùng với mã nguồn cho mỗi lớp, tạo điều kiện thuận lợi cho việc phát triển ứng dụng.
Hệ quản trị cơ sở dữ liệu Microsoft SQL Server
1.3.1 Microsoft SQL Server là gì?
Microsoft SQL Server là hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển, có chức năng chính là lưu trữ và truy xuất dữ liệu cho các ứng dụng phần mềm Nó có thể hoạt động trên cùng một máy tính hoặc trên máy tính khác qua mạng, bao gồm cả Internet.
Microsoft SQL Server, giống như các hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) khác, được phát triển dựa trên ngôn ngữ lập trình SQL chuẩn, giúp các quản trị viên cơ sở dữ liệu (DBAs) và chuyên gia CNTT dễ dàng quản lý và truy vấn dữ liệu SQL Server cung cấp đầy đủ công cụ quản lý, từ giao diện người dùng đồ họa (GUI) đến việc sử dụng ngôn ngữ truy vấn SQL Điểm mạnh của SQL Server là khả năng tích hợp hoàn hảo với nhiều nền tảng của Microsoft như ASP.NET và C#, hỗ trợ xây dựng ứng dụng Winform hiệu quả.
1.3.2 Ưu điểm của Microsoft SQL Server Đơn giản hóa
Microsoft SQL Server được ưa chuộng bởi các nhà phát triển và quản trị viên ảo hóa nhờ vào tính dễ sử dụng Việc phát triển và xử lý sự cố thường là những thách thức lớn khi triển khai dự án SQL Tuy nhiên, MS SQL cung cấp nhiều công cụ hữu ích như SQL Server Profiler, SQL Server Management Studio, công cụ BI và Database Tune Advisor, giúp tiết kiệm thời gian trong các lĩnh vực này.
Việc thiết lập và cấu hình trên MS SQL, từ cài đặt trên máy ảo đến việc viết và chỉnh sửa truy vấn, trở nên dễ dàng hơn bao giờ hết so với các sản phẩm SQL khác Trong trường hợp gặp vấn đề trong quá trình phát triển, người dùng có thể dễ dàng tìm thấy nhiều tài liệu và hỗ trợ trực tuyến, bên cạnh sự hỗ trợ trực tiếp từ sản phẩm, trong khi các tùy chọn hỗ trợ cho các sản phẩm SQL khác thường không phong phú.
SQL Server còn hơn cả một RDBMS
Sự khác biệt chính giữa phần mềm độc quyền và phần mềm mã nguồn mở nằm ở mức độ hỗ trợ, và trong trường hợp này, SQL Server nổi bật nhờ sự bảo trợ từ Microsoft, một trong những tập đoàn công nghệ lớn nhất thế giới Microsoft đã phát triển nhiều công cụ mạnh mẽ cho SQL Server, hỗ trợ đa dạng cho hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), bao gồm cả các công cụ phân tích dữ liệu Ngoài ra, SQL Server còn tích hợp dịch vụ báo cáo (SQL Server Reporting Services) và công cụ ETL Mặc dù MySQL cho phép xây dựng các tính năng tương tự, nhưng người dùng thường cần sự hỗ trợ từ bên thứ ba, điều này không phải lúc nào cũng lý tưởng.
Sự khác biệt giữa MySQL và SQL Server nằm ở cách thức lưu trữ dữ liệu SQL Server sử dụng hệ thống lưu trữ riêng do Microsoft phát triển, trong khi MySQL cho phép lập trình viên linh hoạt hơn với nhiều tùy chọn hệ thống lưu trữ khác nhau Điều này giúp người dùng MySQL có thể chọn lựa hệ thống lưu trữ dựa trên các yếu tố như tốc độ và độ tin cậy Một trong những hệ thống lưu trữ phổ biến của MySQL là InnoDB, mặc dù có thể chậm hơn MyISAM nhưng lại mang lại sự ổn định cao hơn.
Microsoft đã trang bị cho MS SQL Server nhiều tính năng bảo mật mạnh mẽ, giúp tăng cường an toàn cho dữ liệu Công cụ Microsoft Baseline Security Analyzer cũng hỗ trợ người dùng nâng cao tính bảo mật cho SQL Server Nếu an toàn là ưu tiên hàng đầu của bạn, thì MS SQL Server chính là lựa chọn lý tưởng.
SQL Server sở hữu một cộng đồng toàn cầu gồm các lập trình viên và chuyên gia dày dạn kinh nghiệm, sẵn sàng hỗ trợ và chia sẻ kiến thức Nhờ vào ngôn ngữ phong phú, người dùng dễ dàng tìm kiếm sự trợ giúp, khắc phục sự cố và truy cập tài liệu cần thiết.
SQL Server Management Studio (SSMS) là công cụ trực quan giúp quản lý SQL Server hiệu quả Với SSMS, người dùng có thể tương tác với cơ sở dữ liệu thông qua câu lệnh hoặc giao diện người dùng thân thiện Mặc dù được thiết kế đơn giản và dễ sử dụng, người dùng vẫn cần thời gian để làm quen với các tính năng của nó.
1.3.3 Ưu điểm nội bật của Microsoft SQL Server 2019
SQL Server 2019 giới thiệu Cụm dữ liệu lớn, mang đến nhiều khả năng và cải tiến cho các công cụ như cơ sở dữ liệu SQL Server, Dịch vụ phân tích máy chủ SQL, Dịch vụ học máy SQL Server, cũng như hỗ trợ SQL Server trên Linux và Dịch vụ dữ liệu chủ của SQL Server.
Cơ sở dữ liệu thông minh
SQL Server 2019 (15.x) được xây dựng dựa trên những cải tiến từ các phiên bản trước, mang lại hiệu suất hàng đầu trong ngành Với các tính năng như Xử lý truy vấn thông minh và hỗ trợ cho thiết bị bộ nhớ liên tục, SQL Server 2019 cải thiện hiệu suất và khả năng mở rộng cho tất cả khối lượng công việc cơ sở dữ liệu mà không cần thay đổi ứng dụng hoặc thiết kế cơ sở dữ liệu.
SQL Server 2019 (15.x) được phát triển dựa trên các đổi mới về Cơ sở dữ liệu thông minh từ các phiên bản trước, nhằm tăng tốc độ hoạt động Những cải tiến này không chỉ khắc phục các vấn đề tắc nghẽn tài nguyên mà còn cung cấp tùy chọn cấu hình máy chủ cơ sở dữ liệu, giúp tối ưu hóa hiệu suất cho mọi khối lượng công việc.
Trải nghiệm của nhà phát triển
SQL Server 2019 (15.x) mang đến trải nghiệm phát triển hàng đầu với các cải tiến cho dữ liệu đồ thị và không gian, hỗ trợ UTF-8 và khung mở rộng mới, cho phép các nhà phát triển sử dụng ngôn ngữ ưa thích để khai thác tối đa dữ liệu của họ.
Hỗ trợ doanh nghiệp toàn cầu, cung cấp ứng dụng và dịch vụ cơ sở dữ liệu đa ngôn ngữ là rất quan trọng để đáp ứng nhu cầu khách hàng và tuân thủ quy định thị trường.
SQL Server sở hữu kiến trúc bảo mật tiên tiến, giúp các quản trị viên và nhà phát triển cơ sở dữ liệu xây dựng ứng dụng an toàn trước các mối đe dọa Mỗi phiên bản SQL Server đều được cải tiến đáng kể so với các phiên bản trước đó.
1.3.4 SQL Server Management Studio là gì?
Visual Studio 2019
Visual Studio 2019 mang đến nhiều cải tiến về giao diện và hiệu suất, với giao diện Start đơn giản và dễ sử dụng hơn Màn hình chọn template code được cải thiện, không gian soạn thảo code được mở rộng, cùng với trải nghiệm tìm kiếm và trình debug thông minh hơn Tất cả các tính năng này đều hỗ trợ cả các project cũ và mới, từ ứng dụng C++ đa nền tảng đến ứng dụng NET cho Android và iOS sử dụng Xamarin, cũng như các ứng dụng dựa trên nền tảng đám mây với dịch vụ Azure.
Hình 1.3: Giao diện Visual Studio 2019
Cách tạo Visual C# Winform project:
Bước 1: Mở visual studio 2019 lên và chọn Create a new project, tiếp theo lựa chọn Windows Form App (.NET Framework).
Hình 1.4: Tạo project windows form c#
Bước 2 : Đặt tên cho project chọn nơi lưu sau đó bấm Create.
Hình 1.5: Đặt tên cho windows form c#
Bước 3: kéo thả các chức năng từ tab toolbox vào form để thiết kế giao diện cho phần mềm Sau khi hoàn thành bấm F5 để chạy trương trình.
Hình 1.6: Thiết kế chương trình windows form c#
CƠ SỞ LÝ LUẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU
Tình hình, nhu cầu và xu hướng phát triển
Với sự bùng nổ của các cửa hàng tiện lợi và dịch vụ hiện nay, nhu cầu quản lý một lượng lớn thông tin ngày càng trở nên quan trọng hơn bao giờ hết.
Hiện trạng quản lý thu chi thủ công hiện nay có một số hạn chế sau:
Quản lý bằng sổ sách, nhân viên phải ghi chép nhiều do đó dẫn đến tình trạng nhầm lẫn.
Quản lý hàng hóa, số lượng, nhập xuất kho số lượng lớn nếu sơ ý bị tẩy xoá sẽ rất mất thời gian và không chính xác.
Khi cấp trên cần những thông tin về tình hình cũng như hiện của từng hàng hóa, số lượng tồn, nhân viên phải đi lại khá vất vả.
Phiếu ý kiến khách hàng lưu trữ cồng kềnh, nhân viên ngại ghi chép lại, ảnh hưởng đến kinh tế của công ty.
Dù quy mô doanh nghiệp chỉ ở mức trung bình và nhỏ, nhưng các chủ sở hữu và quản lý đều khao khát áp dụng công nghệ thông tin vào quản lý Nhận thấy nhu cầu thực tiễn này, tôi đã phát triển phần mềm quản lý bán hàng với chức năng chính là cập nhật thông tin hàng hóa nhanh chóng, từ đó giúp nâng cao hiệu quả kinh doanh.
Kết quả của phần mềm
Nhóm đã xây dựng được đầy đủ các chức năng chính của mô ̣t website phục vụ cho:
- Quản lý đơn hàng (hóa đơn)
- Thống kê hóa đơn, doanh thu, hàng hóa
- Quản lý hàng hóa, tình trạng số lượng
- Tìm kiếm theo tên hàng hóa, mã hàng
- Sử dụng được tất cả chức năng của phần mềm
- Quản lý thông tin nhân viên
- Quản lý thông tin cửa hàng
- Quản lý thông tin khách hàng
Đặc tả bài toán
Cửa hàng cần tự động hóa quy trình quản lý, vì vậy việc xây dựng phần mềm quản lý bán hàng trở thành một nhu cầu thiết yếu.
Sau khi tìm hiểu em đã nắm được những thông tin chính cần xây dựng cho phần mềm quản lý bán hàng như sau:
Nhân viên nhập mã hoặc tên sản phẩm cùng với số lượng cần bán, sau đó thực hiện thanh toán Số lượng sản phẩm tồn kho sẽ được tự động cập nhật và trừ theo hóa đơn đã phát hành.
Tất cả thông tin liên quan đến sản phẩm bán cho khách hàng bao gồm mã hàng, số lượng, số tiền đã thanh toán và tên nhân viên thực hiện giao dịch Người dùng có thể dễ dàng tìm kiếm thông tin bằng cách sử dụng mã hóa đơn, tên khách hàng hoặc xuất hóa đơn.
Chức năng này cho phép nhập thông tin sản phẩm và số lượng hàng hóa mới vào kho, đồng thời hỗ trợ thêm, sửa, xóa, tìm kiếm và xuất file Excel.
Chức năng này quản lý thông tin về số lượng hàng hóa còn trong kho hoặc để điều chỉnh giá bán, khuyến mãi giảm giá nếu có.
Biểu đồ thống kê tiền, số lượng hàng hóa sản phẩm bán được trong một tháng hoặc trong ngày.
Quản lý sản phẩm như nước ngọt, trà và kẹo được thực hiện thông qua việc tự động tạo mã sản phẩm Đồng thời, hệ thống cũng quản lý các đơn vị hàng hóa như hộp, thùng và chai để đảm bảo quy trình lưu trữ và phân phối hiệu quả.
Quản lý thông tin về công ty, cửa hàng
Chỉ quản trị viên mới có thể truy cập chức năng này, phần này cho phép admin có thể
- Quản lý thông tin về cửa hàng in trên hóa đơn bán hàng: tên cửa hàng, số điện thoại, địa chỉ kể cả logo phần mềm.
Quản lý thông tin nhân viên là một quy trình quan trọng, bao gồm việc quản lý tài khoản đăng nhập của nhân viên, cho phép chỉnh sửa thông tin cá nhân và thay đổi mật khẩu khi cần thiết.
Quản lý thông tin khách hàng là quá trình hiển thị dữ liệu của những khách hàng đã đăng ký thành viên tại cửa hàng Thông tin bao gồm tên, địa chỉ, số điện thoại và email của khách hàng, giúp cửa hàng dễ dàng theo dõi và phục vụ nhu cầu của khách hàng một cách hiệu quả.
Quy trình hoạt động chức năng bán hàng
Nhân viên cửa hàng sử dụng tài khoản do admin cung cấp để đăng nhập vào phần mềm bán hàng Trang chủ là nơi chính để thực hiện giao dịch, nơi nhân viên nhập tên hoặc mã sản phẩm Nếu khách hàng là thành viên, chỉ cần nhập số điện thoại để phần mềm tự động lấy thông tin Sau khi nhập đầy đủ thông tin sản phẩm, phần mềm sẽ tự động tính toán số tiền cần thanh toán, và nhân viên có thể điều chỉnh giá theo nhu cầu Cuối cùng, nhân viên sẽ nhập số tiền khách đưa và in hóa đơn; nếu số tiền khách đưa nhỏ hơn số tiền thanh toán, phần mềm sẽ ghi nhận số tiền khách nợ.
Sơ đồ quy trình thủ tục và thanh toán với khách
Hình 2.1: Quy trình thanh toán với khách hàng
Cách thức tính tiền hóa đơn:
Tổng tiền cần thanh toán = tổng của (đơn giá sản phẩm * số lượng) ± tiền dịch vụ, giảm giá (nếu có).
Phần mềm tính tiền cần trả, tiền thối lại
Kết thúc Thanh toán với khách
In hóa đơnNhân viên bấm thanh toánNhân viên nhập thông tin sản phầm
GIỚI THIỆU TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU
Mô hình ứng dụng
Hình 3.1: Mô hình ứng dụng
Yêu cầu hệ thống
Lưu trữ thông tin tài khoản nhân viên.
Lưu trữ thông tin hóa đơn bán hàng.
Lưu trữ thông tin sản phẩm.
Lưu trữ thông tin nhập kho.
Lưu trữ thông tin tồn kho.
Lưu trữ thông tin khách hàng.
Hệ thống quản lý bán hàng giúp quản lý thông tin và số lượng sản phẩm, hàng hóa một cách hiệu quả Nó tự động tính toán số tiền khách hàng cần trả và số tiền cần hoàn lại, đồng thời hỗ trợ in hóa đơn một cách nhanh chóng và chính xác.
Người quản lý, nhân viên
Quản lý loại, đơn vị hàng hóa.
Quản lý thông tin khách hàng.
Giao diện hệ thống dễ sử dụng, trực quan, thân thiện với mọi người dùng.
Cho phép truy cập dữ liệu đa người dùng.
Tính bảo mật và độ an toàn cao.
Tốc độ xử lý của hệ thống nhanh chóng và chính xác.
Người dùng phần mềm có thể không am hiểu sâu về công nghệ thông tin nhưng vẫn có thể sử dụng một cách dễ dàng nhờ vào sự hỗ trợ của hệ thống.
Liê ̣t kê các tác nhân và USE CASE
Bảng 3.1: Bảng liệt kê các tác nhân
• Đăng nhập (Người quản lý đăng nhập để sử dụng các chức năng của hệ thống).
• Quản lý hóa đơn (xem chi tiết, in hóa đơn).
• Quản lý nhập kho (thêm sửa xóa hàng hóa mới nhập vào kho).
• Quản lý tồn kho (thêm, sửa, xóa hàng hóa nằm trong kho).
• Quản lý sản phẩm (thêm, sửa, xóa loại đơn vị của hàng hóa).
• Quản lý thiết lập (thêm, sửa, xóa thông tin nhân viên, khách hàng, cửa hàng).
Tên tác nhân Mô tả
Khách hàng Là người có nhu cầu mua hàng tại cửa hàng.
Người quản trị Là người có toàn quyền với hệ thống, điều hành, kiểm soát hàng hóa, tổng hợp, thống kê, báo cáo hàng tháng.
Đă ̣c tả sử dụng
Tóm tắt: Đăng nhập để sử dụng các chức năng của hệ thống.
• Người quản trị nhập thông tin tài khoản và mật khẩu tại trang đăng nhập.
• Nếu không nhập hay nhập sai thông tin hệ thống sẽ thông báo lỗi.
• Nếu thông tin nhập vào hợp lệ hệ thống sẽ thông báo đăng nhập thành công và chuyển về trang quản lý chính của hệ thống.
Tóm tắt: Người quản trị sử dụng dùng để quản tình trạng hóa đơn
• Nhân viên đăng nhập vào hệ thống bằng tài khoản, lựa chọn từng chức năng phù hợp với yêu cầu: xem chi tiết hoặc in hóa đơn.
Khi bạn chọn xem chi tiết hóa đơn, bảng thông tin sẽ hiển thị tên khách hàng, hàng hóa, thời gian thanh toán và nhân viên thanh toán Bạn có thể in hóa đơn cho từng đơn hàng hoặc xuất toàn bộ hóa đơn ra file Excel trong một khoảng thời gian nhất định.
Trong quá trình thao tác tìm kiếm, chọn hoặc in hóa đơn, nếu xảy ra sai sót, hệ thống sẽ hiển thị thông báo cho nhân viên Chẳng hạn, nếu hóa đơn không tồn tại, nhân viên sẽ nhận được thông báo rõ ràng.
Tóm tắt: Mô tả quy trình nhận hàng hóa của cừa hàng.
• Nhân viên kiểm tra danh sách số lượng tên hàng hóa cần nhập kho.
• Nhân viên nhập thông tin về hàng hóa như: tên sản phẩm, giá bán, số lượng sản phẩm.
• Sau đó hàng hóa sẽ được vẫn chuyển vào trong kho sau khi đã lưu trữ thông tin bằng phần mềm.
• Nếu thông tin nhập vào chính xác, sau khi nhân viên lựa chọn “thêm”, thông tin về sản phẩm sẽ được lưu vào trong bảng CSDL.
Nếu bạn nhập thông tin sai, bạn có thể dễ dàng xóa hoặc chỉnh sửa lại Chỉ cần chọn ô sản phẩm cần sửa trong bảng, điều chỉnh thông tin và nhấn “sửa” để cập nhật thông tin sản phẩm.
• Nếu trong quá trình nhập thông tin phòng, nếu thiếu hoặc sai thông tin cần thiết thì hiện thông báo cho nhân viên biết.
Tóm tắt: chức năng sử dụng này được dùng để quản lý thông tin về loại hàng hóa có trong kho sau khi đã nhập kho.
Nhân viên có thể đăng nhập vào hệ thống bằng tài khoản cá nhân, sau đó chọn chức năng quản lý tồn kho Tiếp theo, họ sẽ lựa chọn sản phẩm cần chỉnh sửa trong danh sách và thực hiện các thao tác sửa đổi hoặc xóa thông tin theo nhu cầu.
Khi nhân viên chọn sửa thông tin sản phẩm, họ cần nhập hoặc điều chỉnh đầy đủ các thông tin như tên sản phẩm, số lượng và giá Sau đó, nhân viên chỉ cần nhấn vào nút “Cập nhật” để thông tin sản phẩm được tự động thêm vào bảng cơ sở dữ liệu.
Khi nhân viên quyết định xóa thông tin, họ cần chọn chính xác ô thông tin liên quan đến loại hàng hóa cụ thể Sau khi xác nhận việc xóa, thông tin về loại sản phẩm đó sẽ được loại bỏ khỏi bảng cơ sở dữ liệu.
• Chức năng tồn kho sẽ không có thêm sản phẩm, nếu muốn thêm sản phẩm thì phải sử dụng chức năng nhập kho.
Nếu có sai sót trong quá trình chỉnh sửa, chẳng hạn như nhập thông tin không đúng định dạng yêu cầu, hệ thống sẽ thông báo cho nhân viên biết.
Tóm tắt: Được dùng để quản lý thông tin về loại, đơn vị sản phẩm.
• Nhân viên đăng nhập vào hệ thống bằng tài khoản, lựa chọn từng chức năng sản phẩm từ menu với yêu cầu: thêm, sửa, xóa.
Người quản lý có thể thêm hoặc chỉnh sửa thông tin về loại và đơn vị sản phẩm Sau khi nhập đầy đủ thông tin, chỉ cần chọn "Cập nhật" để tự động thêm dữ liệu vào bảng cơ sở dữ liệu.
Nếu người quản trị quyết định xóa thông tin, cần chọn chính xác loại và đơn vị trước khi thực hiện thao tác xóa Sau khi đồng ý, thông tin sẽ được xóa khỏi bảng cơ sở dữ liệu.
Nếu trong quá trình nhập dữ liệu xảy ra sai sót, chẳng hạn như khi nhập mã loại để xóa hoặc sửa mà mã đó không tồn tại trong cơ sở dữ liệu, hệ thống sẽ thông báo cho nhân viên biết.
Tóm tắt: chức năng sử dụng dùng để quản lý việc thông tin về cửa hàng,
• Quản trị viên (chủ cửa hàng) đăng nhập vào hệ thống bằng tài khoản admin lựa chọn chức năng thiết lập và chỉnh sửa chọn thông tin cần thiết.
Quản trị viên có thể tìm kiếm thông tin nhân viên thông qua mã nhân viên để thực hiện các chỉnh sửa cần thiết, bao gồm thay đổi tài khoản mật khẩu và tên đăng nhập của nhân viên hoặc của chính quản trị viên.
• Quản trị viên tìm kiếm thông tin về khách hàng như số điện thoại, hoặc email, chỉnh sửa lại thông tin và chọn cập nhật.
• Thông tin in trên hóa đơn cũng sẽ được quản lý ở đây bởi quản trị viên, gồm có: tên cửa hàng, số điện thoại, địa chỉ và lời chào.
Nếu có sai sót trong quá trình nhập liệu, chẳng hạn như khi nhập mã loại để xóa hoặc sửa mà mã đó không tồn tại trong cơ sở dữ liệu, hệ thống sẽ thông báo cho nhân viên để họ kịp thời điều chỉnh.
THIẾT KẾ VÀ CÀI ĐẶT
Sơ đồ hoạt động của hệ thống
Hình 4.1: Sơ đồ hoạt động hệ thống bán hàng
Hình 4.2: Sơ đồ hoạt động quá trình nhập kho
Mô hình quan hệ ERD
Hình 4.3: Mô hình quan hệ ERD
Xây dựng cơ sở dữ liệu
HoaDon PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK IDhoadon int Not null Mã hóa đơn
HDmasp nvarchar(50) Mã sản phẩm
HDtensp nvarchar(200) Tên sản phẩm
HDthanhtoan int Tiền thanh toán
HDno int Tiền khách nợ
SDT int SĐT khách hàng
TenKH nvarchar(50) Tên khách hàng
Nvthanhtoan nvarchar(50) Nhân viên thanh toán
KhachHang PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK IDkh int Not null Mã khách hàng
TenKH nvarchar(50) Tên khách hàng
SDT int Số điện thoại
DiaChi nvarchar(200) Địa chỉ khách hàng
Email nvarchar(50) Email khách hàng
NhanVien PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK STT int Not null Mã khách hàng usernv nvarchar(50) Tên khách hàng tennv int Số điện thoại passnv nvarchar(200) Địa chỉ khách hàng
Bài viết này mô tả cấu trúc bảng sản phẩm với các thuộc tính quan trọng như mã sản phẩm (masp) kiểu int không null, tên sản phẩm (tensp) kiểu nvarchar(50), số lượng sản phẩm (soluongsp) kiểu int, giá nhập (gianhapsp) kiểu nvarchar(200), giá bán (giabansp) kiểu int, loại sản phẩm (loaisp) kiểu nvarchar(30), đơn vị sản phẩm (donvisp) kiểu nvarchar(30), ảnh sản phẩm (anhsp) kiểu image, ngày nhập kho (ngaynhapkho) kiểu datetime, và nhân viên nhập kho (nvnhapkho) kiểu nvarchar(50).
TonKho PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
The product table includes essential fields such as a unique identifier (PK), product code (Mã sản phẩm), product name (Tên sản phẩm), quantity (Số lượng sản phẩm), purchase price (Giá nhập), selling price (Giá bán), product type (Loại sản phẩm), unit of measurement (Đơn vị sản phẩm), product image (Ảnh sản phẩm), and discount (Giảm giá) Each field is designed to capture critical information about the products, ensuring comprehensive data management for inventory and sales tracking.
4.3.6 Bảng đơn vị sản phẩm
DonViSP PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK IDdonvi int Not null Mã đơn vị
TenDonvi nvarchar(50) Tên đơn vị
Bảng 4.6: CSDL đơn vị sản phẩm
Loaisp PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK IDloai int Not null Mã loại
Bảng 4.7: CSDL loại sản phẩm
4.3.8 Bảng thông tin cửa hàng
ThongTinShop PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK ID int Not null Mã thông tin
TenShop nvarchar(50) Tên cửa hàng
SDT nvarchar(50) Số điện thoại
Loichao nvarchar(100) Lời chào logo image Hình ảnh
Bảng 4.8: CSDL thông tin cửa hàng
Phát triển phần mềm
Nhân viên sử dụng phần mềm để bán hàng bằng cách nhập mã sản phẩm hoặc tên sản phẩm, điều chỉnh số lượng và phần mềm sẽ tự động tính tổng tiền và in hóa đơn.
Hình 4.4: Code form trang chủ
Chức năng này cho phép nhập hàng hóa vào kho nhằm quản lý và buôn bán hiệu quả Nhân viên sẽ nhập mã sản phẩm, tên sản phẩm, số lượng, đơn giá và giá bán để lưu trữ vào kho và cập nhật cơ sở dữ liệu.
Hình 4.5: Code form nhập kho
Phần mềm yêu cầu đăng nhập mới có thể sử dụng, tài khoản do người quản lý cấp (chủ cửa hàng).
Hình 4.6: Code form đăng nhập
Nhân viên cần nhập chính xác thông tin tài khoản và mật khẩu do admin (chủ cửa hàng) cung cấp để đăng nhập Nếu thông tin nhập sai không có trong cơ sở dữ liệu, phần mềm sẽ thông báo lỗi tài khoản hoặc mật khẩu không đúng.
Hình 4.7: Giao diện đăng nhập
Giao diện trang chủ hỗ trợ nhân viên bán hàng trong việc tính tiền cho khách hàng Nhân viên có thể nhập mã hoặc tên sản phẩm để chọn và thêm các mặt hàng vào giỏ hàng tạm thời Khi tiến hành thanh toán, thông tin hóa đơn sẽ được lưu trữ vào cơ sở dữ liệu.
Hình 4.8: Giao diện bán hàng
Sau khi khách hàng bấm thanh toán, nhân viên sẽ nhập số tiền mà khách đưa Phần mềm tự động tính toán số tiền cần trả lại cho khách Khi nhân viên xác nhận, phần mềm sẽ in hóa đơn và lưu trữ thông tin vào cơ sở dữ liệu.
4.4.6 Giao diện form quản lý hóa đơn (đơn hàng)
Chức năng quản lý hóa đơn giúp theo dõi tình trạng hóa đơn với đầy đủ thông tin của khách hàng khi mua sắm Người dùng có thể tìm kiếm hóa đơn bằng ID, tổng số tiền thanh toán, số điện thoại hoặc tên khách hàng, và có thể lọc theo ngày bằng công cụ chọn ngày/tháng Ngoài ra, hệ thống còn hỗ trợ xuất thông tin sang định dạng Excel.
Hình 4.10: Giao diện quản lý hóa đơn
4.4.7 Giao diện form nhập kho
Khi hàng hóa được giao đến cửa hàng, nhân viên sử dụng chức năng nhập kho để ghi lại thông tin sản phẩm Phần mềm sẽ lưu trữ lịch sử nhập kho theo ngày và tên nhân viên, đồng thời cập nhật vào cơ sở dữ liệu tồn kho.
Hình 4.11: Giao diện quản lý nhập kho
4.4.8 Giao diện form tồn kho
Hệ thống quản lý kho giúp theo dõi số lượng hàng hóa, điều chỉnh khuyến mãi giảm giá cho các sản phẩm cụ thể, và có khả năng thay đổi giá bán cũng như số lượng Tại chức năng bán hàng trên trang chủ, thông tin sản phẩm được truy xuất từ cơ sở dữ liệu này.
Hình 4.12: Giao diện quản lý tồn kho
4.4.9 Giao diện form thống kê
Chức năng thống kê giúp theo dõi số lượng sản phẩm bán ra trong tháng, cung cấp thông tin chi tiết về doanh số hàng ngày Ngoài ra, dữ liệu cũng được thể hiện qua biểu đồ minh họa cho từng ngày trong tháng.
4.4.10 Giao diện form quản lý loại sản phẩm
Trước khi nhập kho, cần thêm loại sản phẩm mới nếu có, và form nhập kho sẽ lấy thông tin từ cơ sở dữ liệu (CSDL) loại sản phẩm Phần mềm cũng sử dụng CSDL này để tự động tạo mã sản phẩm theo từng loại Giao diện đơn vị sản phẩm tương tự với quy trình này.
Hình 4.14: Giao diện quản lý loại sản phẩm
4.4.11 Giao diện trang quản lý cửa hàng
Chức năng thiết lập cho phép chủ cửa hàng chỉnh sửa thông tin quan trọng như nội dung in trên hóa đơn bán hàng, quản lý thông tin đăng nhập của nhân viên và dữ liệu khách hàng Để sử dụng chức năng này, tài khoản đăng nhập phần mềm cần phải là admin.
Hình 4.15: Giao diện trang quản lý cửa hàng
Hướng dẫn cài đặt
Lưu ý: Đồ án sử dụng Visual Studio 2019 và Microsoft SQL Sever 2019.
Bước 1: mở thư mục có các tệp tin dự án.
Bước 2: Mở SQL Server Management lên với quyền Admin.
Bước 3: chuột phải vào database chọn Attach…
Bước 4: Bấm add và tìm đến thư mục chứa tệp tin mdf của dự án (nằm trong thư mục Database) Sau đó chọn OK.
Bước 5: vào thư mục dự án mở tệp tin DoAn-2.sln bằng Visual studio 2019.
Lưu ý: Tìm đến các dòng SqlConnection connect = new SqlConnection(@"Data
SourceKTOP-A0E9NLI\MSSQLSERVER2019;InitialCatalog=doan-
Sửa đổi Data SourceKTOP-A0E9NLI\MSSQLSERVER2019 thành địa chỉ kết nối SQL của bạn.
Bước 6: Cuối cùng bấm nút chạy màu xanh (hoặc bấm F5) để chạy dự án.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luâ ̣n
Phần mềm quản lý bán hàng đáp ứng đầy đủ nhu cầu của các cửa hàng vừa và nhỏ, khắc phục hiệu quả những nhược điểm của phương pháp quản lý truyền thống.
- Quản lý bằng sổ sách, nhân viên phải ghi chép nhiều do đó dẫn đến tình trạng nhầm lẫn.
Quản lý trạng thái hàng hóa bằng các công cụ vật lý như bảng trạng thái và sổ sách có thể gặp rủi ro nếu bị tẩy xóa, dẫn đến mất thời gian và ảnh hưởng đến doanh số.
- Quá trình nhập, sửa đổi thông tin khó khăn phải tẩy xoá mất thời gian lại tốn kém.
- Khi cấp trên cần những thông tin về tình hình cũng như hiện trạng hàng hóa, hóa đơn nhân viên phải đi lại khá vất vả.
- Rất hạn chế trong việc thống kê số liệu, doanh thu để có thể đánh giá khả năng kinh doanh từng mặt hàng.
Hạn chế
Do hạn chế về thời gian và trình độ hiểu biết, không thể tránh khỏi những thiếu sót trong quá trình phát triển phần mềm quản lý bán hàng Hiện tại, phần mềm này vẫn chưa hoàn thiện và cần tiếp tục được cải tiến để đáp ứng tốt hơn nhu cầu của người dùng.
- Phần mềm chưa có chức năng quét mã vạch tự động, nhân viên phải thêm thủ công.
Phần thống kê hàng hóa và doanh số hiện nay chưa đạt tiêu chuẩn chuyên nghiệp, thiếu sót về dữ liệu và chưa giải quyết triệt để các vấn đề phát sinh trong quá trình quản lý.
- Chức năng chưa thực sự toàn vẹn, thiếu sót nhiều.
Dự án này không chỉ là cơ hội để học hỏi và làm quen với thực tế, mà còn giúp tôi tích lũy nhiều kinh nghiệm quý giá trong việc "xây dựng phần mềm quản lý bán hàng dựa trên công nghệ NET" Qua đó, tôi đã mở rộng kiến thức của bản thân một cách hiệu quả.
Em xin chân thành cám ơn Thầy Huỳnh Bá Lộc đã tâ ̣n tình tình giúp đỡ em hoàn thành đồ án này.
Hướng phát triển
Phần mềm này sở hữu đầy đủ các chức năng chính và có tiềm năng phát triển thành một hệ thống hoàn chỉnh Nó có thể được ứng dụng rộng rãi trong thực tế để cải tiến và hoàn thiện một số tính năng của mình.
Nâng cấp hệ thống quản lý doanh nghiệp trên mạng diện rộng, cho phép tích hợp với các hệ quản trị khác, đồng thời thiết kế giao diện chuyên nghiệp, dễ sử dụng cho cả người quản trị và khách hàng Giải pháp này phù hợp với hầu hết các doanh nghiệp vừa và nhỏ, giúp tối ưu hóa quy trình quản lý và nâng cao hiệu quả kinh doanh.
Phát triển phần mềm quản lý bán hàng toàn diện giúp nhà quản lý thúc đẩy sự phát triển doanh nghiệp, quản lý công việc hiệu quả và phục vụ khách hàng nhanh chóng, thuận lợi hơn.