Từ ý tưởng áp dụng công nghệ thôngtin vào việc quản lý, bớt phần gánh nặng về sổ sách cũng như đầu óc con người, đồ án này hướng đến xây dựng một phần mềm quản lý bán hàng, áp dụng cho c
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 mà là một framework (khung làm việc) tổng hợp, bao gồm bốn ngôn ngữ: C#, VB.NET, Managed C++, và J# Trong môi trường này, các ngôn ngữ này chồng lên nhau và được định nghĩa trong Framework Class Library (FCL).
Microsoft NET gồm hai thành phần chính là NET Framework và Integrated Development Environment (IDE) .NET Framework cung cấp những thành phần thiết yếu và khuôn mẫu cần thiết, đóng vai trò là môi trường hỗ trợ hạ tầng cơ sở theo các quy ước nhất định để công việc phát triển trở nên thuận tiện và hiệu quả IDE cung cấp môi trường tích hợp giúp triển khai nhanh chóng và dễ dàng các ứng dụng dựa trên nền tảng NET.
Framework là thành phần quan trọng nhất; NET là cốt lõi và tinh hoa của môi trường phát triển, trong khi IDE chỉ là công cụ để viết và triển khai mã trên nền tảng đó Trong hệ sinh thái NET, các ngôn ngữ như C#, Visual C++ và Visual Basic.NET đều dùng cùng một IDE, giúp nhà phát triển làm việc hiệu quả và dễ dàng chuyển đổi giữa các ngôn ngữ mà không cần học một IDE mới.
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 các ứng dụng từ client đến server và các dịch vụ khác Nền tảng này cung cấp một tập tính năng thiết yếu cho phép các nhà phát triển triển khai các ứng dụng phân tán một cách hiệu quả, tối ưu hóa hiệu suất, bảo mật và khả năng mở rộng, đồng thời dễ dàng tích hợp với các hệ thống hiện có và quản lý giao tiếp giữa client, server và các dịch vụ.
• 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 giải pháp máy chủ tích hợp bao gồm Windows 2000, SQL Server và BizTalk Server, đảm bảo toàn bộ hệ thống được tích hợp, vận hành và quản lý hiệu quả các dịch vụ XML Web và các ứng dụng liên quan.
Các phần mềm client như Windows XP và Windows CE đóng vai trò nền tảng phân phối phần mềm và tối ưu hóa trải nghiệm người dùng trên các dòng thiết bị khác nhau Nhờ khả năng tích hợp sâu với hệ sinh thái thiết bị, các nhà phát triển có thể phân phối ứng dụng một cách hiệu quả và thuyết phục người dùng bằng trải nghiệm mượt mà từ giao diện đến tính năng Trong chiến lược phát triển phần mềm, việc tận dụng các nền tảng client phổ biến giúp mở rộng phạm vi tiếp cận và tăng cường sự thích nghi của sản phẩm với nhiều môi trường thiết bị.
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 dựa trên XML và các ứng dụng trên nền Windows hoặc nền web một cách dễ dàng và hiệu quả Nhờ tích hợp đầy đủ các tính năng thiết kế giao diện, biên tập mã, gỡ lỗi và triển khai, nó giúp tăng năng suất và rút ngắn chu trình phát triển cho các dự án Web dựa trên XML và ứng dụng đa nền tảng.
Mô hình kiến trúc của Net:
(ADO.NET SQL XSLT, XPath, XML )
(10, string, net, security, threading, text, retlection, collection )
(debug, exception, type checking JIT compilers)
Hình 1.1: Mô hình kiến trúc của NET
.NET Framework là một nền tảng mới nhằm đơn giản hóa phát triển ứng dụng trong môi trường phân tán trên Internet Nền tảng được thiết kế để cung cấp một môi trường lập trình hướng đối tượng vững chắc, nơi mã nguồn được lưu trữ và thực thi cục bộ nhưng có thể được thực thi từ xa trên Internet Nó tối ưu hoá thực thi mã nguồn bằng cách giảm thiểu đóng gói phần mềm và tranh chấp về phiên bản, đồng thời đảm bảo an toàn cho mã nguồn do hãng thứ ba hoặc bất kỳ hãng nào tuân thủ kiến trúc NET Nó cũng loại bỏ các lỗi thực thi liên quan đến script hay môi trường thông dịch Nhờ vậy, các nhà phát triển có kinh nghiệm có thể nắm bắt và làm chủ nhiều kiểu ứng dụng khác nhau, từ các ứng dụng trên Windows đến các ứng dụng dựa trên web Cuối cùng, nền tảng được xây dựng trên những tiêu chuẩn công nghiệp để đảm bảo mã nguồn trên NET có thể tích hợp với bất kỳ mã nguồn nào 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 gần với các ứng dụng truyền thống dựa trên Windows, hiển thị cửa sổ và các biểu mẫu trên desktop để người dùng thực hiện các thao tác hoặc nhiệm vụ Chúng bao gồm các loại như xử lý văn bản, xử lý bảng tính, công cụ nhập liệu và tạo báo cáo, đặc biệt hữu ích trong lĩnh vực thương mại Thiết kế của các ứng dụng này thường dựa trên giao diện người dùng đồ họa (GUI) với các thành phần như cửa sổ, menu, thanh công cụ và nút bấm, đồng thời truy cập trực tiế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.
Một loại ứng dụng client khác với các ứng dụng truyền thống là ActiveX control (hiện nay phần lớn được thay thế bởi Windows Form control) có thể được nhúng vào các trang web trên Internet và có khả năng truy cập tài nguyên cục bộ của máy tính người dùng, tương tự như các ứng dụng client khác.
.NET Framework cung cấp các lớp được thiết kế cho việc phát triển GUI, cho phép lập trình viên nhanh chóng và dễ dàng tạo cửa sổ, nút bấm, menu, thanh công cụ và các thành phần giao diện khác cho các ứng dụng phục vụ cho lĩnh vực thương mại.
Ngôn ngữ lập trình C#
C# là ngôn ngữ lập trình khá đơn giản, chỉ với khoảng 80 từ khóa và hơn mười kiểu dữ liệu dựng sẵn, giúp cho quá trình học và phát triển nhanh chóng Tuy nhiên, C# có ý nghĩa mạnh mẽ khi nó thực thi các khái niệm lập trình hiện đại, với đầy đủ hỗ trợ cho cấu trúc, thành phần (component), và đặc biệt là lập trình hướng đối tượng.
Trong lập trình hướng đối tượng, phần cốt lõi là sự hỗ trợ của ngôn ngữ cho việc định nghĩa và làm việc với các lớp, giúp mô hình hóa vấn đề một cách linh hoạt và hiệu quả Lớp cho phép định nghĩa kiểu dữ liệu mới và cho phép người phát triển mở rộng ngôn ngữ để tạo ra các mô hình phức tạp hơn nhằm giải quyết bài toán Ngôn ngữ C# cung cấp các từ khóa khai báo lớp đối tượng, cùng các phương thức và thuộc tính, và đồng thời thực thi đóng gói, kế thừa và đa hình — ba đặc trưng cơ bản của ngôn ngữ lập trình hướng đối tượng.
Trong ngôn ngữ C#, mọi yếu tố liên quan đến khai báo lớp được thể hiện ngay trong phần khai báo của lớp đó Việc định nghĩa một lớp không đòi hỏi phải chia tách thành tệp header và tệp nguồn như trong C++; thêm vào đó, C# hỗ trợ tài liệu theo chuẩn XML, cho phép chèn các thẻ XML để tự động sinh tài liệu cho lớp và các thành phần của nó.
Ngôn ngữ C# tích hợp các đặc tính hướng thành phần, như thuộc tính và sự kiện, giúp xây dựng các thành phần phần mềm có thể tái sử dụng và dễ mở rộng Lập trình hướng thành phần được hỗ trợ bởi CLR, cho phép lưu trữ metadata gắn với mã nguồn của một lớp, tăng khả năng mô tả, kiểm tra và quản lý thông tin trong quá trình 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, đóng vai trò là một máy chủ cơ sở dữ liệu dùng để lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm Nó cung cấp nền tảng quản lý dữ liệu an toàn và hiệu quả, cho phép truy cập dữ liệu nhanh chóng từ các ứng dụng khác Hệ thống có thể triển khai trên cùng một máy tính hoặc mở rộng sang máy chủ khác trên mạng, kể cả Internet, phù hợp với quy mô và nhu cầu sử dụng.
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) được xây dựng trên lớp ngôn ngữ SQL, ngôn ngữ lập trình chuẩn được quản trị viên cơ sở dữ liệu (DBAs) và các chuyên gia CNTT sử dụng để quản lý và truy vấn dữ liệu Giống như các hệ RDBMS khác, SQL Server cung cấp đầy đủ công cụ quản trị, từ giao diện người dùng đồ họa (GUI) cho phép quản trị và làm việc với dữ liệu cho đến khả năng thực thi các câu lệnh SQL để truy vấn và phân tích dữ liệu Điểm mạnh của SQL Server nằm ở sự tích hợp với hệ sinh thái Microsoft, mang lại sự ổn định, bảo mật và khả năng mở rộng cho các triển khai từ nhỏ đến lớn, cùng với các công cụ hỗ trợ quản trị và tối ưu hóa hiệu suất.
Microsoft SQL Server được yêu thích bởi các nhà phát triển và quản trị viên nhờ tính dễ sử dụng Việc phát triển và xử lý sự cố thường là hai khía cạnh khó khăn nhất khi đưa một dự án SQL vào sản xuất, nhưng MS SQL đi kèm với bộ công cụ mạnh mẽ giúp tiết kiệm thời gian ở những lĩnh vực này, bao gồm SQL Server Profiler, SQL Server Management Studio (SSMS), các công cụ Business Intelligence (BI) và Database Tuning Advisor.
Việc thiết lập hầu hết mọi thứ, từ cấu hình trên máy ảo (VM) cho đến viết và chỉnh sửa truy vấn ban đầu, được thực hiện một cách dễ dàng với MS SQL – đặc biệt khi so sánh với các sản phẩm SQL khác Trong quá trình phát triển, nếu gặp sự cố, MS SQL đi kèm với hệ thống hỗ trợ và tài liệu trực tuyến phong phú ngoài hỗ trợ chính thức, trong khi các tùy chọn hỗ trợ cho các sản phẩm SQL khác thường khá hạn chế.
SQL Server còn hơn cả một RDBMS
Sự khác biệt lớn nhất giữa phần mềm độc quyền và phần mềm mã nguồn mở nằm ở cách chúng được hỗ trợ, tức là sự trợ giúp từ nhà cung cấp hay từ cộng đồng Trong trường hợp này, SQL Server có lợi thế rõ ràng nhờ được bảo trợ bởi tập đoàn công nghệ lớn nhất thế giới, Microsoft Microsoft đã xây dựng nhiều công cụ mạnh cho SQL Server, mở rộng khả năng hỗ trợ cho hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) và cung cấp các công cụ phân tích dữ liệu, cùng với dịch vụ báo cáo SQL Server Reporting Services và công cụ ETL Bạn cũng có thể xây dựng các tính năng tương tự trong MySQL, như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 tối ưu cho mọi người.
Khác biệt lớn giữa MySQL và SQL Server nằm ở cách lưu trữ dữ liệu: SQL Server dùng một hệ thống lưu trữ do Microsoft phát triển, hoàn toàn khác với các hệ thống lưu trữ được thiết kế cho MySQL Sự khác biệt này mang lại cho người dùng MySQL một mức độ linh hoạt nhất định, vì có thể chọn nhiều hệ thống lưu trữ cho bảng dựa trên yếu tố tốc độ, độ tin cậy và các lý do khác Một hệ thống lưu trữ phổ biến của MySQL là InnoDB, có thể chậm hơn nhưng ổn định hơn so với MyISAM.
MS SQL Server tích hợp các tính năng bảo mật mạnh mẽ và có thêm công cụ bảo mật riêng như Microsoft Baseline Security Analyzer (MBSA) để đánh giá và tăng cường an toàn cho SQL Server Nhờ MBSA và các tính năng bảo mật được tích hợp sẵn, nền tảng này giúp bảo vệ dữ liệu và hệ thống khỏi các nguy cơ bảo mật, đồng thời tối ưu hóa quản trị và tuân thủ an ninh Nếu an toàn là ưu tiên hàng đầu của bạn, MS SQL Server là nền tảng đáng cân nhắc để triển khai cơ sở dữ liệu an toàn và tin cậy.
SQL Server có một cộng đồng trao đổi và hỗ trợ rộng khắp do các lập trình viên và chuyên gia giỏi trên khắp thế giới tham gia, với sự đa dạng ngôn ngữ và công cụ Nhờ mạng lưới này, người dùng dễ dàng tìm kiếm sự trợ giúp, giải quyết sự cố và tiếp cận nguồn tài liệu phong phú cùng kho kiến thức sâu sắc về SQL Server, từ đó tăng tốc quá trình học tập và triển khai các giải pháp tối ưu.
SQL Server sử dụng Management Studio (SSMS) là một công cụ trực quan dùng để quản lý SQL Server Với SQL Server Management Studio chúng ta có thể thực hiện được các tương tác với database bằng câu lệnh hoặc trên giao diện người dùng SQL Server Management Studio được thiết kế đơn giản và dễ sử dụng nhưng bạn cũng cần có thời gian nhất định để làm quen với 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 cho SQL Server Nó cũng cung cấp khả năng và cải tiến bổ sung cho công cụ 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, 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) tiếp tục xây dựng trên các đổi mới của các phiên bản trước để mang lại hiệu suất hàng đầu trong ngành Từ Xử lý truy vấn thông minh đến hỗ trợ cho các thiết bị bộ nhớ liên tục, các tính năng Cơ sở dữ liệu thông minh của SQL Server giúp tối ưu hóa hiệu suất và khả năng mở rộng cho mọi khối lượng công việc cơ sở dữ liệu của bạn mà không đòi hỏi bất kỳ thay đổi nào đối với ứng dụng hoặc thiết kế cơ sở dữ liệu.
SQL Server 2019 (15.x) tiếp tục xây dựng trên các đổi mới của Cơ sở dữ liệu thông minh được giới thiệu ở các bản phát hành trước, nhằm đảm bảo hệ thống chạy nhanh hơn Các cải tiến này giúp khắc phục các tắc nghẽn tài nguyên đã biết và cung cấp các tùy chọn cấu hình máy chủ cơ sở dữ liệu để đảm bảo hiệu suất có thể dự đoán trên mọi khối lượng công việc của bạn.
Trải nghiệm của nhà phát triển
SQL Server 2019 (15.x) tiếp tục mang trải nghiệm dành cho nhà phát triển ở đẳng cấp thế giới, với các cải tiến cho dữ liệu đồ thị và dữ liệu không gian, đồng thời bổ sung hỗ trợ UTF-8 và một khung mở rộng mới Khung mở rộng này cho phép các nhà phát triển sử dụng ngôn ngữ họ chọn để hiểu rõ và khai thác mọi dữ liệu của họ một cách linh hoạt hơn.
Chúng tôi hỗ trợ các doanh nghiệp trên khắp các quốc gia và khu vực khác nhau bằng cách cung cấp các ứng dụng và dịch vụ cơ sở dữ liệu đa ngôn ngữ toàn cầu, đáp ứng nhu cầu khách hàng và tuân thủ các quy định thị trường đặc thù Các giải pháp cơ sở dữ liệu đa ngôn ngữ giúp doanh nghiệp mở rộng quy mô toàn cầu, tối ưu hiệu suất và đảm bảo tính nhất quán của dữ liệu trên nhiều khu vực, ngôn ngữ và hệ thống.
SQL Server cung cấp một kiến trúc bảo mật toàn diện được thiết kế để cho phép các nhà quản trị và nhà phát triển cơ sở dữ liệu xây dựng các ứng dụng cơ sở dữ liệu an toàn và có khả năng chống lại các mối đe dọa Mỗi phiên bản SQL Server đều được cải tiến so với các phiên bản trước, nhằm tăng cường bảo mật, tối ưu hóa hiệu suất và cải thiện khả năng quản trị dữ liệu cho tổ chức.
1.3.4 SQL Server Management Studio là gì?
Visual Studio 2019
Visual Studio 2019 mang đến cải tiến toàn diện về giao diện người dùng và hiệu suất, với Start được làm đơn giản và dễ sử dụng, bộ chọn template code được tối ưu và thao tác nhanh hơn, vùng soạn thảo mở rộng cho không gian làm việc thoải mái, cùng trải nghiệm tìm kiếm được nâng cấp Trình gỡ lỗi nay thông minh hơn, hỗ trợ xử lý lỗi nhanh và hiệu quả Tất cả các tính năng trên đều tương thích với cả các dự án hiện có lẫn dự án mới — từ các ứng dụng C++ đa nền tảng cho tới NET cho Android và iOS thông qua Xamarin, cũng như các ứng dụng dựa trên nền tảng đám mây với Azure.
I Qưĩck Launch (Ctrl+Q) ằ L I ChangeTỹpe’ SQL I IL I s -
0 ■ Databases g System Databases g ' DataBase Snapshơts
□ ■ Tables g] ■ System Tables g) ■ • EileTables g) ExternalTables
E) GraphTables í dbo.HơaĐon dbo.KhacbHang gi H dbo.nhapkho
E I ỉ External Resources g LỈ‘ Synonyms g) I I Prơgrammability
1 DESKTOP- A0E9NLIX an-3 - dbo.HoaDơn IDhoa don HDmas p HDtensp HDsl HDdonqi a HDIơaĩ HDdonvi Hữthanhtơa n HĐno SĐT A
► £ NN1 CocaCola lon 1 10000 Nước ngọt Lơn 10000 0 0
000 Trà,Xúc xích Hộp,Gói 55000 0 907039233 I
25 NN1 CocaCola lon 1 10000 Nước ngọt Lơn 10000 0 0
26 NN1 CocaCola ton 1 10000 Nước ngọt Lơn 10000 0 0
000 Nước ngọt,Nưó Lơn,Lon 30000 0 0
000 Nước ngọt,Nưở,, Lơn,Lon 30000 0 0
31 NN1 CocaCola lon 1 10000 Nước ngọt Lơn 10000 0 ũ
32 NN1 CocaCola ton 2 10000 Nước ngọt Lơn 20000 0 0
33 NN1 CocaCola lon 2 10000 Nước ngọt Lơn 20000 0 0
34 NN1 CocaCola ton 2 10000 Nước ngọt Lơn 20000 0 0
35 NN1 CocaCola lon 2 10000 Nước ngọt Lon 20000 0 0
36 NN1 CocaCola ton 2 10000 Nước ngọt Lơn 20000 0 0
37 NN1 CocaCola lon 1 10000 Nước ngọt Lon 10000 0 0
39 NN1 CocaCola lon 2 10000 Nước ngọt Lon 20000 0 0
40 NN1 CocaCola ton 2 10000 Nước ngọt Lơn 20000 0 0
000,35 Nước ngọ^Nưỏ Lon,Lon,H ộp 135000 0 0
42 NN1 CocaCola lon 1 10000 Nước ngọt Lơn 9000 0 0
44 TC5 Trà lipton 1 35000 Trà Hợp 35000 30000 0
45 TC5 Trà lipton 2 35000 Trà Hộp 20000 50000 0 V
H 4 ơf31 > H k 1 Cell ís Read Qnly.
File Edit View Project Build Debug Test Analyae Tools Extensions Window Heíp Search (Ctrl+Q) p DoAn-2
™ Settĩng.cs -t> X Setting.es [Design] * Ẽ3 ĐoAn-2 • DoAn_2.MenuTab.Setting - 0 Settingũ 0
MessageBox.Show("Trổng!"); Search Solution Explorer (Ctrl*;) '
'“n SoEution 'DoAn-2' (1 of 1 projeet) Đ’ 296 txtTenShop SelectQ J _ a |ôỊ DoAn-2
} else if (string.IsNullOrWtiiteSpace(txtSDT.Text)) { txtSDT.Select()j } else ỉf (string.IsNullOrWtiiteSpace(txtDiaChi.Text)) { txtDiaChi SelectO;
> ESI BanHang.es p ẸSỊ BanHangTT.es p ẸSỊ Dashboard.es t> ẸSỊ donhang.es
> ẼSJ DonViSP.es t> s HoaDonChtTiet.cs
319 else if (strỉng.IsNullOrWliiteSpace(txtLoỉChao.Text)) { txtLoiChao.Select();
; i using (var cmd = new SqlCommand("update ThongTỉnShop set TenShop=@TenShop > SDT=Ể
//cmd.Parameters.AddWithValue("@ID", IDtt.Text); cmd Parameteps AddWỉthValue( "ỊậTenShop^ txtTenShop.Text) J
Solution Explorer Toolbox Team Explorer
0 Ready Ỳ Add to Souree Control *■
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
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
Trong bối cảnh một cửa hàng cần tự động hóa các quy trình quản lý, việc xây dựng phần mềm quản lý bán hàng trở thành giải pháp thiết yếu giúp tối ưu hoá quy trình vận hành và tăng hiệu quả kinh doanh Phần mềm này không chỉ tự động hoá các thao tác như quản lý tồn kho, đơn hàng và thanh toán mà còn cung cấp báo cáo phân tích chi tiết, từ đó cải thiện trải nghiệm khách hàng và nâng cao khả năng cạnh tranh Vì vậy, nhu cầu phát triển hệ thống quản lý bán hàng là một yêu cầu thiết yếu để đáp ứng nhịp vận hành hiện đại và thúc đẩy sự tăng trưởng của cửa hàng.
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ã sản phẩm hoặc tên sản phẩm và số lượng cần bán cho khách hàng, sau đó nhấn thanh toán để hóa đơn được tạo và xử lý Số lượng sản phẩm tồn kho sẽ được tự động trừ theo số lượng bán trên hóa đơn, giúp quản lý tồn kho chính xác và đồng bộ với quy trình bán hàng.
Toàn bộ thông tin về các sản phẩm bán cho khách hàng, mã hàng, số lượng, tiền đã thanh toán và tên nhân viên thanh toán được lưu trữ đầy đủ để quản lý giao dịch Người dùng có thể tìm kiếm theo mã hóa đơn, theo tên khách hàng hoặc theo xuất hóa đơn để tra cứu nhanh chóng và nắm bắt tình hình doanh thu.
Chức năng này cho phép nhập thông tin sản phẩm và số lượng mỗi khi có hàng mới để chuyển vào kho hàng, giúp quản lý tồn kho hiệu quả Người dùng có thể thêm, sửa và xóa hồ sơ sản phẩm, đồng thời tìm kiếm nhanh chóng và xuất dữ liệu sang file Excel để lưu trữ, báo cáo và chia sẻ.
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.
Phần mềm quản lý sản phẩm được thiết kế để theo dõi các loại sản phẩm phổ biến như nước ngọt, trà và kẹo Mã sản phẩm được tự động tạo dựa trên phân loại sản phẩm, giúp tối ưu hoá quy trình đặt hàng, tra cứu và quản lý tồn kho Hệ thống cũng quản lý các đơn vị hàng hóa như hộp, thùng và chai, hỗ trợ theo dõi số lượng, vị trí lưu kho và luồng nhập – xuất một cách trực quan, thuận tiện cho vận hành và mở rộng danh mục sản phẩm khi cần.
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à phần thiết yếu của hệ thống quản trị, cho phép quản trị viên quản lý các tài khoản đăng nhập của nhân viên, cập nhật và chỉnh sửa thông tin cá nhân khi cần thiết Hệ thống cũng cho phép đổi mật khẩu để duy trì bảo mật và đảm bảo quyền truy cập an toàn vào các tài nguyên nội bộ.
- Quản lý thông tin khách hàng: hiển thị thông tin của những khách hàng đăng kí
Quy trình hoạt động chức năng bán hàng
Nhân viên cửa hàng được cấp tài khoản đăng nhập do admin cung cấp để sử dụng phần mềm bán hàng Trang chủ của hệ thống là giao diện chính cho quá trình bán hàng; tại đây, nhân viên sẽ nhập tên sản phẩm hoặc mã sản phẩm, và với 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 khách hàng Sau khi điền đầy đủ thông tin sản phẩm cần bán, phần mềm sẽ tự động tính toán số tiền phải thanh toán; nhân viên có thể điều chỉnh giảm giá bằng tiền hoặc bằng phần trăm Bước tiếp theo là nhập số tiền khách đưa và in hóa đơn; nếu tiền khách đưa nhỏ hơn tổng thanh toán, hệ thống sẽ ghi nhận số tiền khách hàng nợ.
Sơ đồ quy trình thủ tục và thanh toán với khách
Nhân viên nhập thông tin sản phầm Nhân viên bấm thanh toán Phần mềm tính tiền cần trả, tiền thối lại
In hóa đơn 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ó).
GIỚI THIỆU TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU
Mô hình ứng dụng
Môi trường Người quản lý, nhân viên
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.
Liệt: kê các tác nhân và USE CASE
• 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 nắm vững kiến thức tin học, nhưng vẫn dễ dàng sử dụng nhờ sự trợ giúp của hệ thống Hệ thống hỗ trợ đi kèm với hướng dẫn trực quan, giao diện người dùng thân thiện và các chức năng tự động hóa giúp người dùng làm quen và thao tác các thao tác cơ bản mà không cần hiểu sâu về CNTT Nhờ tối ưu hóa trải nghiệm người dùng và sự hỗ trợ kịp thời, người dùng có thể hoàn thành công việc nhanh chóng và hiệu quả dù trình độ tin học còn giới hạn.
3.3 Liêt kê các tác nhân và USE CASE
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.
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).
Đặ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.
Để xem chi tiết một hóa đơn, chọn hóa đơn sẽ hiển thị bảng hóa đơn chi tiết bao gồm 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 từng đơn hàng hoặc xuất file Excel toàn bộ hóa đơn trong một khoảng thời gian nhất định để thuận tiện cho quản lý và báo cáo.
Trong quá trình thao tác như tìm kiếm, chọn hoặc in hóa đơn, hệ thống sẽ hiển thị thông báo ngay khi phát sinh sai sót để thông báo cho nhân viên biết và có hướng xử lý kịp thời Ví dụ, nếu hóa đơn không tồn tại, hệ thống sẽ hiển thị thông báo rõ ràng cho nhân viên biết để ngăn chặn nhầm lẫn và đảm bảo dữ liệu được xử lý đú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.
Trong trường hợp nhập sai thông tin sản phẩm, bạn có thể xóa hoặc chỉnh sửa lại Trên bảng danh sách sản phẩm, chọn ô sản phẩm cần sửa, chỉnh sửa thông tin và nhấn nút “sửa” để dữ liệu sản phẩm được cập nhật đầy đủ và chính xác.
• 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 đăng nhập vào hệ thống bằng tài khoản cá nhân, truy cập chức năng tồn kho, chọn sản phẩm cần chỉnh sửa trong bảng danh sách và thực hiện chỉnh sửa hoặc xóa thông tin theo nhu cầu.
Khi nhân viên chọn sửa và nhập hoặc chỉnh sửa đầy đủ thông tin về tên sản phẩm, số lượng và giá, họ nhấn nút Cập nhật để xác nhận thay đổi Thông tin sản phẩm sẽ tự động được thêm vào bảng CSDL, giúp dữ liệu được lưu trữ và đồng bộ ngay trong hệ thống quản lý.
Trong quy trình quản trị dữ liệu, khi nhân viên muốn xóa một loại hàng, hệ thống yêu cầu người dùng chọn đúng ô thông tin liên quan đến loại hàng đó; sau khi nhấn Xóa và đồng ý xác nhận, thông tin về loại sản phẩm được chọn sẽ bị xóa khỏi bảng CSDL.
• 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.
Trong quá trình chỉnh sửa dữ liệu, hệ thống sẽ tự động phát hiện mọi sai sót và thông báo cho nhân viên xử lý Ví dụ, khi người dùng nhập thông tin không đúng định dạng yêu cầu, hệ thống sẽ hiển thị thông báo lỗi kèm theo hướng dẫn khắc phục, giúp dữ liệu được nhập đúng chuẩn và tăng hiệu quả quản lý chỉnh sửa.
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 mới hoặc chỉnh sửa thông tin về loại sản phẩm và đơn vị sản phẩm Sau khi nhập đầy đủ hoặc điều chỉnh chính xác dữ liệu về loại và đơn vị, người quản lý nhấn vào nút Cập nhật; thông tin loại và đơn vị sản phẩm sẽ tự động được thêm vào bảng CSDL của cơ sở dữ liệu.
Khi người quản trị chọn xóa, hệ thống sẽ yêu cầu xác nhận chính xác thông tin về loại và đơn vị liên quan; sau khi người quản trị xác nhận và đồng ý, thông tin sẽ bị xóa khỏi bảng CSDL.
Khi nhập liệu có sai sót, chẳng hạn nhập mã loại để xóa hoặc sửa nhưng mã đó lại không tồn tại trong CSDL, hệ thống sẽ hiển thị thông báo cho người dùng để cảnh báo về sự cố và ngăn chặn thao tác trên dữ liệu không hợp lệ Thông báo này giúp người dùng xác nhận lại mã loại, kiểm tra lại dữ liệu và thực hiện các bước xử lý phù hợp, từ đó đảm bảo tính nhất quán của CSDL và nâng cao chất lượng quản lý thông tin.
• 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 tra cứu thông tin nhân viên bằng mã nhân viên để tiến hành chỉnh sửa các trường dữ liệu quan trọng như tài khoản, mật khẩu và tên đăng nhập trong hệ thống, áp dụng cho tài khoản của nhân viên hoặc của chính quản trị viên khi cần thiết.
• 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.
Trong trường hợp gặp sai sót trong quá trình nhập dữ liệu, ví dụ như nhập mã loại để xóa hoặc sửa mà mã đó lại không tồn tại trong CSDL, hệ thống sẽ hiển thị thông báo cho nhân viên biết để xử lý kịp thời và đảm bảo dữ liệu được xác thực trước khi thực hiện các thao tác.
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
4.3 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
HDtime datetime Thời gian in hóa đơn
Mô hình quan hệ ERD
HoaDon IDhoadon HDmasp HDtensp HDsl HDdongia HDIoai HDdonvi HDthanhtoan HDno SDT Tenkh HDtime nvthanhtoan
NhanVien STT usernv tennv passnv
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
HDtime datetime Thời gian in hóa đơn
4.2 Mô hình quan hệ ERD
HoaDon IDhoadon HDmasp HDtensp HDsl HDdongia HDIoai HDdonvi HDthanhtoan HDno SDT Tenkh HDtime nvthanhtoan
NhanVien STT usernv tennv passnv
Hình 4.3: Mô hình quan hệ ERD
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
Bảng sản phẩm (PK/FK) được thiết kế để quản lý thông tin hàng hóa hiệu quả: masp là Mã sản phẩm, kiểu int, Not null và là khóa chính (PK); tensp là Tên sản phẩm, kiểu nvarchar(50); soluongsp là Số lượng sản phẩm, kiểu int; gianhapsp là Giá nhập sản phẩm, kiểu nvarchar(200) Cấu trúc này cho phép tra cứu nhanh theo mã hoặc tên sản phẩm, theo dõi tồn kho và chi tiết giá nhập, phù hợp cho ứng dụng quản lý kho và các nội dung liên quan đến quản lý sản phẩm được tối ưu cho SEO.
Trong hệ thống quản lý kho, các trường dữ liệu chính gồm Giá nhập sản phẩm, Giá bán sản phẩm, Loại sản phẩm (nvarchar(30)), Đơn vị sản phẩm (nvarchar(30)), Ảnh sản phẩm (image), Ngày nhập kho (datetime) và Nhân viên nhập kho (nvarchar(50)), nhằm ghi nhận thông tin giá cả, loại và đơn vị tính của từng mặt hàng, lưu trữ hình ảnh liên quan, thời điểm nhập kho và người thực hiện để quản lý tồn kho và báo cáo.
TonKho PK/FK Tên thuộc tính Kiểu dữ liệu Ràng buộc Mô tả
PK masp int Not null Mã sản phẩm tensp nvarchar(50) Tên sản phẩm soluongsp int Số lượng sản phẩm gianhapsp nvarchar(200
) Giá nhập giabansp int Giá bán loaisp nvarchar(30) Loại sản phẩm donvisp nvarchar(30) Đơn vị sản phẩm anhsp image Ảnh sản phẩm giamgia int Giảm giá
4.3.6 Bảng đơn vị sản phẩm
Kiểu dữ liệu Ràng buộc Mô tả
PK IDdonvi int Not null Mã đơn vị
Bảng 4.6: CSDL đơn vị sản phẩm
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
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
) 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
Ở đây, nhân viên có thể thực hiện bán hàng bằng cách nhập mã sản phẩm hoặc tên sản phẩm và điều chỉnh số lượng; phần mềm tự động tính tổng tiền và in hóa đơn, giúp quy trình thanh toán diễn ra nhanh chóng và thuận tiện cho khách hàng.
0^ File Edit View Project Build Debug Test Analyze Tools Extensions Window Help Search (Ctrl+Q) DoAn-2
Hình 4.4: Code form trang chủ
Chức năng nhập hàng vào kho được thiết kế để quản lý và buôn bán hàng hóa một cách hiệu quả Nhân viên nhập mã sản phẩm, tên sản phẩm, số lượng, đơn giá và giá bán để cập nhật tồn kho, lưu trữ đầy đủ vào cơ sở dữ liệu và ghi nhận thông tin hàng hóa một cách chuẩn xác Việc nhập dữ liệu chính xác giúp hệ thống quản lý kho tối ưu, theo dõi luồng nhập xuất và tồn kho, từ đó nâng cao hiệu quả hoạt động kinh doanh và tối ưu hoá quản lý kho.
DoAn-2 ĐoAn_2.MenuTab.BanHang - ® o connect -
1 reíerence prỉvate void txttensp_KeyDown(object sender, KeyEventArgs e) { string loaispl) double giamgiaTextbox; ỉf(e.KeyCode==Keys.Enter) { connect.Open(); strỉng sqlsp = "select * froỉn tonkho where (tensp= N’"+ txttensp.Text+" 1 ) "
SqlCommand cmd2 = new SqlCommand(sqlspj connect);
Using a SqlDataReader obtained via ExecuteReader, the code checks for a single result, and when a row is found it fills the user interface: txtmasp receives the product code from the masp field; txtdongiasp shows the sale price from giabansp; txtsoluongsp is set to 1 as the default quantity; txtgiamphantramsp displays the discount percentage from giamgia; the unit dropdown (comboBoxdonvisp) is set from the donvi field, and the category dropdown (comboBoxloaisp) is set from the loaisp field.
//thanhtìensp = soluong * don gia doubls slsp; double dongỉasp; doubÌE thanhtiensp; double thanhtỉenspl; slsp = double.Parse(txtsoluongsp.Text); dongiasp = double.Parse(txtdongiasp.Text); Ị
121% ■ o do issuestound ► Ln: 1 Ch; 1 S C o ® ’ ầs u Debug - AnyCPU ► Start * @ ’3 Ts R
(í) Sỉ ’ T © - % ô ã 1 r® >:-“ Ị Search Solution Explorer (Ctrl*;) fi • t> R.eferences
> ■ IMG a MenuTab ỉ> FĨ1 BanHang.es t> s BanHangTT.es
> ẼD Dashboard.es donhang.es
> Ẽ=J DonViSP.es t> ẸĨỊ HoaDonChiTtet.es t> ẸĨỊ LoaiSP.es t> Ẽĩl sanpham.es b FĨ1 Settinq.esSolution Explorer Toolbox Team ExplorerProperties r ạx
Rle Edit Projeet Đebug Analyze Tools Extensions Window Help Search (Ctrl+CQ DoAn-2
179 PileStream fs = new EileStreamíimgloc^ EileMode.Open, PileAccess.Read);
180 BinaryReader br = new BinaryReader(fs);
181 img = br.ReadBytes((int)fs.Length);
184 Ltsỉng (var cmd = new SqlCommand("INSERT INTO nhapkho (masp,anhsp,tenspjsoluongs
186 cmd.Connection = connect; cmd Parameters -AddWithValue( "(ạlmaspN txtỉd.Text);
188 cmd.Parameters.AddWithValue("Ễlanhsp"^ img); cmd Parameters AddWithValue( "(ỊỊItenspN txttensp.Text);
190 cmd.Parameters.AddWithValue("@soluongsp ,, J txtsl.Text)J cmd.Parameters-AddWithValue("@gianhapsp", txtgỉanhap.Text); cmd.Parameters-AddWithValue("@giabansp" 3 txtgỉaban.Text)■
193 cmd.Parameters.AddWithValue("ậloaisp", comboloai.GetItemText(comboloai.Sele ■
194 cmd.Parameters-AddWithValue("@donvỉsp“J combodonvỉ.GetrternText(combodonvi.S' ■
195 cmd.Parameters.Add("@ngaynhapkho"J SqlDbType.DateTiiĩie); cmd.Parameters["@ngaynhapkho"]-Value = DateTime.Now; cmd.Parameters-AddWithValue("(Slnvnhapkho" 3 Porml.usernv);
% - 0 No issuestound ■? * 1 ► Ln: 1 Ch: 1 SPC CRLF sanpham.es [Design] Ẽ3 DoAn-2 sanpham.es -H X
(Ctrl*;) />■ b FĨ1 donhang.es b ẼH DonViSP.es l> Ẽs) HoaDonChrTtet.cs > LoaiSP.es t’ ỊĨSỊ sanpham.es t> ẸĨỊ tonkho.es
0 App.coníig 0ằ ClassHD.es FĨ1 Form1.es
!S MainControl.esSolutỉon Explorer Toolbox Téam ExplorerProperties
Hình 4.5: Code form nhập kho
Access to the software is restricted and requires a user login before it can be used Accounts are provisioned by the system administrator, typically the store owner, ensuring that only authorized personnel can access the application This centralized login and role-based access help protect data and control permissions within the store environment.
Hình 4.6: Code form đăng nhập
Nhân viên đăng nhập bằng tài khoản và mật khẩu do admin (chủ cửa hàng) cấp để truy cập hệ thống Nếu nhập sai thông tin hoặc thông tin không có trong CSDL, phần mềm sẽ hiển thị thông báo sai tài khoản hoặc mật khẩu.
Hình 4.7: Giao diện đăng nhập
Output ằ *if DoAn_2 Eo rm WỈndowState = FormWindowState.Minỉmỉzed; 1
1 reterence private void btniogin_Click(object sender, EventArgs e) o No issues found £ rỉ • b • 0 li"
I Se,-t< h Salutmn r ■ plo s ữonVÍSP.cs p s HoaDon ChiTtet.cs
> Ẽs] LoaiSP.cs usernv = txtuser.Text; string querynv = “Select * From nhanvien where usernv ="’ +txtuser.Text+"■ and passnv=' SqlDataAdapter sqldata = new SqlDataAdapteríquerynv^ connect);
DataTable datatbl = new DataTableO; sqldata.Fill(datatbl); if(datatbl.Rows.Cou nt==l)
MainControl mainmenu = new MainControlOj this.Hỉde(); mainmenu.Show();
MessageBox.Show("Saỉ tài khoản hoặc mật khẩu!")j t> ẸĨỊ tonkho.es
Giao diện trang chủ sử dụng để nhân viên bán hàng và tính tiền cho khách. Nhân viên nhập mã sản phẩm, hoặc tên sản phẩm chọn thêm các sản phẩm sẽ được thêm vào giỏ hàng (bảng) tạm thời Khi chọn thanh toán và tính tiền thì thông tin về hóa đơn sẽ được lưu vào cơ sở sử liệu. ộ Thiẽtlập
Hình 4.8: Giao diện bán hàng
Sau khi bấm thanh toán: nhân viên nhập số tiền khách đưa phần mềm sẽ tự tính số tiền cần thối lại cho khách, nhân viên bấm đồng ý phần mềm sẽ tự in hóa đơn và lưu thông tin hóa đơn vào CSDL.
4.4.6 Giao diện form quản lý hóa đơn (đơn hàng)
Chức năng dùng để quản lý tình trạng hóa đơn, chứa đầy đủ thông tin về hóa đơn của khách khi mua hàng Có thể tìm kiếm theo ID hóa đơn, tổng tiền thanh toán, SĐT khách hàng, tên khách hàng hoặc có thể lọc hóa đơn theo ngày bằng công cụ chọn ngày/tháng Ngoài ra có thể xuất thông tin sang 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 đến giao cho cửa hàng, nhân viên sẽ sử dụng chức năng nhập hàng vào kho để quản lý kho hiệu quả Phần mềm sẽ lưu lịch sử nhập kho theo ngày và tên nhân viên nhập kho, sau đó lưu toàn bộ thông tin vào CSDL tồn kho để theo dõi chính xác số lượng và tình trạng hàng hóa.
Hình 4.11: Giao diện quản lý nhập kho
4.4.8 Giao diện form tồn kho
Ứng dụng được dùng để quản lý số lượng hàng hóa trong kho của cửa hàng và điều chỉnh khuyến mãi giảm giá theo phần trăm cho một số sản phẩm nhất định, đồng thời cho phép cập nhật giá bán và số lượng tồn kho để kiểm soát kho và tối ưu lợi nhuận Ở chức năng bán hàng trên trang chủ, hệ thống dựa trên CSDL này để tra cứu và hiển thị thông tin sản phẩm một cách nhanh chóng và chính xác, đồng thời áp dụng các chương trình khuyến mãi và điều chỉnh giá bán theo quy định.
4.4.9 Giao diện form thống kê
Chức năng thống kê cho phép xem tổng số sản phẩm đã bán trong tháng vừa qua và số lượng bán ra mỗi ngày, đồng thời hiển thị biểu đồ chi tiết theo từng ngày để nắm bắt xu hướng bán hàng Dữ liệu thống kê bao gồm tổng lượng bán ra trong tháng, số lượng bán theo ngày và biểu đồ trực quan thể hiện biến động hàng ngày, hỗ trợ quản lý tồn kho và lên kế hoạch kinh doanh dựa trên các con số thực tế.
Hình 4.12: Giao diện quản lý tồn kho
Hình 4.13: Giao diện thống kê
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ừ CSDL loại sản phẩm để đảm bảo dữ liệu đầy đủ và nhất quán Phần mềm dựa trên CSDL loại sản phẩm để tự động tạo mã sản phẩm theo loại sản phẩm, giúp chuẩn hóa mã hàng và tiết kiệm thời gian quản lý Giao diện đơn vị sản phẩm được thiết kế tương tự để người dùng có cùng trải nghiệm trên các chức năng liên quan đến đơn vị 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 các thông tin quan trọng liên quan đến hoạt động kinh doanh, bao gồm thông tin 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 Tính năng này giúp bạn cập nhật và đồng bộ các thông tin thiết yếu một cách nhanh chóng, đảm bảo tính nhất quán của hóa đơn và hồ sơ khách hàng Để sử dụng chức năng này, tài khoản đăng nhập phần mềm phải có quyền admin, nhằm đảm bảo quyền quản trị và bảo mật dữ liệu.
Hình 4.14: Giao diện quản lý loại sản phẩm w Trang chú
H M Tồn kho ộ Thiẽt lập cuckim 999@gma kiintLiyenphain31
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
Source KTOP-A 0E9NLIMSSQLSER VER2019;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 đủ các chức năng thiết yếu cho các cửa hàng vừa và nhỏ, giúp quản lý đơn hàng, tồn kho và doanh thu một cách đồng bộ Nó khắc phục các nhược điểm của phương pháp quản lý truyền thống như thiếu dữ liệu chính xác, thao tác thủ công tốn thời gian và khó theo dõi lợi nhuận theo từng kênh bán hàng Với giải pháp này, cửa hàng có thể tối ưu quy trình bán hàng, tự động hóa các bước thanh toán và quản lý tồn kho hiệu quả, đồng thời sinh ra các báo cáo tức thời phục vụ quyết định kinh doanh nhanh chóng Nhờ đó, hiệu quả vận hành được nâng lên, chi phí vận hành được giảm đáng kể và trải nghiệm của khách hàng được cải thiện.
- 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ó nguy cơ bị tẩy xóa hoặc ghi chép sai sót; khi sự cố xảy ra, quá trình cập nhật tồn kho sẽ mất nhiều thời gian và dữ liệu thiếu chính xác có thể khiến doanh số suy giảm Phương pháp thủ công này không chỉ làm giảm tính nhất quán của thông tin mà còn làm chậm phản hồi với biến động thị trường, là một trong những nguyên nhân góp phần vào giảm doanh thu Để nâng cao hiệu quả quản lý hàng hóa và dữ liệu tồn kho, nhiều doanh nghiệp chuyển sang số hóa quy trình hoặc áp dụng hệ thống quản lý kho tự động, nhằm giảm thiểu rủi ro tẩy xóa, tiết kiệm thời gian và cải thiện quyết định kinh doanh.
- 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 thời hạn hạn chế và trình độ hiểu biết còn hạn chế nên vẫn còn một số thiếu sót nhất định trong quá trình triển khai Việc xây dựng phần mềm quản lý bán hàng hiện tại chưa hoàn thiện như một hệ thống quản lý chuyên nghiệp và cần được cải tiến để đáp ứng yêu cầu quản lý, tối ưu hóa quy trình và nâng cao hiệu quả kinh doanh Những yếu tố cần chú ý bao gồm tích hợp quản lý tồn kho, quản lý khách hàng, tự động hóa quy trình bán hàng và cung cấp báo cáo doanh số rõ ràng Việc hoàn thiện phần mềm sẽ mang lại trải nghiệm người dùng tốt hơn, tăng năng suất lao động và hỗ trợ quyết định kinh doanh chính xác hơn.
- 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ố còn chưa chuyên nghiệp, thiếu dữ liệu đầy đủ và nhất quán; các vấn đề nảy sinh trong quá trình quản lý chưa được giải quyết triệt để, làm ảnh hưởng đến chất lượng quản lý và hiệu quả hoạt động kinh doanh.
- Chức năng chưa thực sự toàn vẹn, thiếu sót nhiều.
Đây là dự án mang tính chất học hỏi, trao dồi và làm quen với thực tế công việc Qua đồ án này, em đã tích lũy được nhiều kinh nghiệm trong quá trình xây dựng phần mềm quản lý bán hàng dựa trên công nghệ NET, đồng thời bổ sung kiến thức và kỹ năng chuyên môn cho bản thân.
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
Đây là một phần mềm có đầy đủ các chức năng chính và có tiềm năng phát triển thêm để trở thành một hệ thống hoàn chỉnh, có thể đưa vào ứng dụng thực tế rộng rãi nhờ quá trình cải tiến và hoàn thiện một số chức năng hiện có.
Chúng tôi nâng cấp hệ thống để có thể áp dụng quản lý cho doanh nghiệp trên mạng diện rộng và dễ dàng tích hợp với các hệ quản trị khác, đồng thời thiết kế giao diện mang tính chuyên nghiệp, trực quan, giúp quản trị viên và khách hàng sử dụng thuận tiện Giải pháp này phù hợp cho các doanh nghiệp vừa và nhỏ, tối ưu hóa quy trình quản lý, tăng hiệu suất làm việc và nâng cao trải nghiệm người dùng Với khả năng mở rộng và tương thích cao, hệ thống mới đảm bảo sự liên tục giữa các bộ phận và đồng bộ dữ liệu trên mạng diện rộng.
Phát triển thành một phần mềm quản lý bán hàng hoàn chỉnh nhằm cung cấp cho các nhà quản lý công cụ để thúc đẩy tăng trưởng doanh nghiệp và quản lý công việc hiệu quả Giải pháp tối ưu quy trình bán hàng, nâng cao trải nghiệm khách hàng và cho phép phục vụ nhanh chóng, thuận tiện hơn Với khả năng tích hợp quản lý kho, xử lý đơn hàng và báo cáo phân tích chi tiết, phần mềm giúp tối ưu hiệu suất, giảm thời gian xử lý và tăng doanh thu cho doanh nghiệp.