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 nền tảng tích hợp bốn ngôn ngữ lập trình chính: C#, VB.NET, Managed C++ và J# NET Tại đây, các ngôn ngữ này có sự tương tác và hỗ trợ lẫn nhau, được định nghĩa trong thư viện lớp framework (FCL).
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 cần thiết, tạo điều kiện thuận lợi cho việc phát triển ứng dụng theo các quy tắc nhất định Trong khi đó, IDE mang đến một môi trường thuận tiện 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 quan trọng nhất của NET là Framework, là 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 dựa trên nền tảng đó Tất cả các ngôn ngữ như C#, Visual C++ và Visual Basic.NET đều sử dụng cùng 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 cả ứng dụng từ client đến server và các dịch vụ khác Một số tính năng 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ụ Web XML cũng như 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 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ẽ giúp phát triển các dịch vụ Web XML và ứng dụng trên nền Windows hoặc 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à nền tảng giúp đơn giản hóa phát triển ứng dụng trong môi trường Internet phân tán, cung cấp môi trường lập trình hướng đối tượng vững chắc với mã nguồn được lưu trữ và thực thi cục bộ Nó đảm bảo thực thi mã nguồn an toàn, giảm thiểu vấn đề đóng gói phần mềm và tranh chấp phiên bản, đồng thời loại bỏ lỗi trong các script và môi trường thông dịch .NET Framework hỗ trợ các nhà phát triển nắm vững nhiều kiểu ứng dụng, từ ứng dụng trên Windows đến ứng dụng web, và tích hợp mã nguồn theo tiêu chuẩn công nghiệp.
.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 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 ứng dụng như xử lý văn bản, bảng tính và các công cụ thương mại như nhập liệu và tạo báo cáo Những ứng dụng này thường sử dụng giao diện người dùng đồ họa (GUI) với các thành phần như cửa sổ, menu, toolbar và button, đồng thời truy cập vào các tài nguyên cục bộ như tập tin hệ thống và thiết bị ngoại vi như máy in.
ActiveX control 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 đã đượ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ộ.
Các lớp trong NET Framework được thiết kế đặc biệt để hỗ trợ phát triển giao diện người dùng (GUI) Điều này giúp lập trình viên dễ dàng và nhanh chóng tạo ra các thành phần như cửa sổ, nút bấm, menu, thanh công cụ và nhiều yếu tố khác cho các ứng dụng thương mại.
Ngôn ngữ lập trình C#
Ngôn ngữ C# nổi bật với sự đơn giản, chỉ cần khoảng 80 từ khóa và hơn mười kiểu dữ liệu cơ bản Mặc dù vậy, C# mang lại giá trị cao nhờ vào khả năng thực thi các khái niệm lập trình hiện đại Nó hỗ trợ đầy đủ cho 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 một cách hiệu quả.
Trái tim của ngôn ngữ lập trình hướng đối tượng là khả năng định nghĩa và làm việc với các lớp, cho phép phát triển các kiểu dữ liệu mới nhằm tạo ra mô hình hiệu quả hơn để giải quyết vấn đề Ngôn ngữ C# cung cấp các từ khóa để khai báo lớp, phương thức và thuộc tính, đồng thời hỗ trợ thực thi ba tính năng cơ bản: đóng gói, kế thừa và đa hình.
Trong ngôn ngữ C#, tất cả các khai báo liên quan đến lớp được thực hiện trong phần định nghĩa của nó mà không cần tách biệt giữa tập tin header và tập tin nguồn như trong C++ Ngoài ra, C# hỗ trợ kiểu XML, cho phép sử dụng các tag 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ờ có CLR, C# cho phép lưu trữ metadata cùng với mã nguồn của một lớp, nâng cao khả năng quản lý và tái sử dụng mã.
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, chuyên 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 máy tính cá nhân hoặc trên mạng, bao gồm cả Internet, cung cấp khả năng quản lý dữ liệu linh hoạt và hiệu quả.
Microsoft SQL Server, giống như các hệ quản trị cơ sở dữ liệu RDBMS khác, được xây dựng dựa trên ngôn ngữ SQL tiêu chuẩn, cho phép các quản trị viên cơ sở dữ liệu và chuyên gia CNTT dễ dàng quản lý và truy vấn dữ liệu Nó cung cấp đầy đủ các công cụ quản lý, từ giao diện đồ họa người dùng (GUI) đến ngôn ngữ truy vấn SQL Điểm mạnh của SQL Server 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#, hỗ trợ phát triển ứng dụng trên Winform.
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 của nó 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ác công cụ BI và Database Tune Advisor, giúp tiết kiệm thời gian đáng kể trong quá trình này.
Việc thiết lập mọi thứ, từ cài đặt trên VM đến viết và chỉnh sửa truy vấn ban đầu, trở nên dễ dàng với MS SQL, đặc biệt là khi so sánh với các sản phẩm SQL khác Trong trường hợp gặp vấn đề trong bất kỳ giai đoạn phát triển nào, người dùng có thể dễ dàng tìm thấy nhiều hỗ trợ và tài liệu trực tuyến, cùng với dịch vụ hỗ trợ sản phẩm trực tiếp, trong khi các tùy chọn hỗ trợ cho các sản phẩm SQL khác thường không được mạnh mẽ như vậy.
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ới SQL Server của Microsoft nổi bật nhờ được bảo trợ bởi một tập đoàn công nghệ lớn Microsoft cung cấp nhiều công cụ mạnh mẽ cho SQL Server, bao gồm các công cụ phân tích dữ liệu và dịch vụ báo cáo server (SQL Server Reporting Services), cùng với công cụ ETL Mặc dù MySQL cũng cho phép xây dựng các tính năng tương tự, nhưng nó 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 cho người dùng.
MySQL và SQL Server có sự khác biệt lớn trong cách lưu trữ dữ liệu SQL Server sử dụng hệ thống lưu trữ độc quyền của Microsoft, trong khi MySQL cho phép lập trình viên linh hoạt lựa chọn giữa nhiều hệ thống lưu trữ khác nhau Điều này giúp các lập trình viên MySQL có thể tối ưu hóa bảng dữ liệu 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ẽ và đáng giá Sử dụng công cụ Microsoft Baseline Security Analyzer sẽ giúp tăng cường 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ì lựa chọn nền tảng này là hoàn toàn hợp lý.
Cộng đồng SQL Server toàn cầu bao gồm nhiều lập trình viên và chuyên gia giàu kinh nghiệm, sẵn sàng hỗ trợ và chia sẻ kiến thức Điều này giúp người dùng dễ dàng tìm kiếm sự trợ giúp, giải quyết vấn đề 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 đồ họa Mặc dù được thiết kế đơn giản và dễ sử dụng, người dùng 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 khả năng và cải tiến cho các công cụ như SQL Server, Dịch vụ phân tích máy chủ, Dịch vụ học máy, SQL Server trên Linux và Dịch vụ dữ liệu chủ.
Cơ sở dữ liệu thông minh
SQL Server 2019 (15.x) mang đến hiệu suất hàng đầu với những đổi mới từ các phiên bản trước Tính năng Xử lý truy vấn thông minh và hỗ trợ cho thiết bị bộ nhớ liên tục giúp 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 hay thiết kế cơ sở dữ liệu.
SQL Server 2019 (15.x) được phát triển dựa trên những đổi mới về Cơ sở dữ liệu thông minh từ các phiên bản trước, nhằm nâng cao tốc độ hoạt động Các cải tiến này không chỉ giải quyết 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 đảm bảo hiệu suất ổn định và có thể dự đoán cho tất cả các 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 Phiên bản này hỗ trợ UTF-8 và giới thiệu khung mở rộng mới, cho phép các nhà phát triển sử dụng ngôn ngữ tùy chọn để khai thác tốt hơn tất cả dữ liệu của họ.
Hỗ trợ doanh nghiệp toàn cầu trong việc cung cấp ứng dụng và dịch vụ cơ sở dữ liệu đa ngôn ngữ là rất cần thiết để đáp ứng nhu cầu khách hàng và tuân thủ quy định thị trường.
SQL Server sở hữu một kiến trúc bảo mật tối ưu, giúp các nhà quản trị 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 nâng cấp và cải tiến 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 sự cải thiện toàn diệ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 Người dùng có thể thao tác nhanh chóng hơn nhờ vào màn hình chọn template code được cải thiện và vùng soạn thảo code mở rộng Trải nghiệm tìm kiếm cũng được nâng cấp, trong khi trình debug trở nên thông minh hơn Tất cả các tính năng này đều hỗ trợ cho cả các project đã tồn tại và project 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ự gia tăng của các cửa hàng tiện lợi và dịch vụ trên thị trường 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 cấp thiế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.
Mặc dù quy mô của doanh nghiệp chỉ ở mức trung bình và nhỏ, nhưng các chủ doanh nghiệp và quản lý đều mong muốn áp dụng công nghệ thông tin vào quản lý Để đáp ứng nhu cầu này, tôi đã phát triển một phần mềm quản lý bán hàng, giúp người quản lý nhanh chóng cập nhật thông tin hàng hóa, từ đó 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
Để nâng cao hiệu quả quản lý, các cửa hàng cần tự động hóa quy trình của mình Vì vậy, việc phát triển 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 trong kho sẽ được 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 hàng, bao gồm mã hàng, số lượng, số tiền đã thanh toán và tên nhân viên thanh toán, đều được lưu trữ Người dùng có thể dễ dàng tìm kiếm thông tin qua 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 mới vào kho Người dùng có thể thực hiện các thao tác thêm, sửa, xóa, tìm kiếm và xuất file Excel một cách dễ dàng.
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ạo mã sản phẩm tự động Đồng thời, hệ thống cũng hỗ trợ quản lý đơn vị hàng hóa như hộp, thùng và chai.
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 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à một phần quan trọng trong việc duy trì mối quan hệ với khách hàng Hệ thống này cho phép cửa hàng hiển thị thông tin chi tiết của những khách hàng đã đăng ký thành viên, bao gồm tên, địa chỉ, số điện thoại và email Việc nắm bắt thông tin này không chỉ giúp tăng cường dịch vụ khách hàng mà còn hỗ trợ trong các chiến lược marketing 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 điền số điện thoại để phần mềm tự động nhận 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á cả 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 nợ của khách hàng.
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ý cửa hàng bao gồm việc tiếp nhận thông tin và số lượng sản phẩm, hàng hóa Khi khách hàng thanh toán, hệ thống tự động tính toán số tiền cần trả và số tiền thối lại, đồng thời in hóa đơn cho khách Quản lý và nhân viên là những người sử dụng hệ thống này để đảm bảo quy trình bán hàng diễn ra suôn sẻ.
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 sử dụng phần mềm, dù không am hiểu nhiều về công nghệ thông tin, vẫn có thể dễ dàng thao tác nhờ vào sự hỗ trợ hiệu quả 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ó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.
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.
• 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 chọn xem chi tiết hóa đơn, bạn sẽ thấy thông tin như 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 dưới dạng 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 có 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 kịp thời.
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 sai thông tin, có thể dễ dàng xóa hoặc chỉnh sửa Chỉ cần chọn ô sản phẩm cần chỉnh 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ẽ tìm kiếm 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 yêu cầu.
Khi nhân viên quyết định sửa đổi 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 khi hoàn tất, nhân viên chỉ cần nhấn vào nút “Cập nhật”, và thông tin sản phẩm sẽ đượ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 Sau khi chọn xóa và xác nhận, thông tin về loại sản phẩm đó sẽ bị xóa khỏi 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.
Trong trường hợp có sai sót trong quá trình chỉnh sửa, chẳng hạn như việc nhập thông tin không đúng với định dạng yêu cầu, hệ thống sẽ thông báo cho nhân viên để họ có thể kịp thời điều chỉnh.
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 hoàn tất việc nhập hoặc điều chỉnh thông tin, chỉ cần nhấn vào “Cập nhật” để tự động lưu thông tin 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 phải chọn chính xác loại và đơn vị Sau khi xác nhận xóa, thông tin sẽ bị xóa khỏi bảng cơ sở dữ liệu.
Nếu trong quá trình nhập dữ liệu có sai sót, chẳng hạn như nhập mã loại không tồn tại trong cơ sở dữ liệu để xóa hoặc sửa, hệ thống sẽ hiển thị 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, thông tin nhân viên, thông tin về khách 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 cập nhật tài khoản mật khẩu và tên đăng nhập vào hệ thống, cho cả nhân viên và chính admin.
• 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 trong quá trình nhập liệu xảy ra sai sót, chẳng hạn như khi nhân viên nhập mã loại để xóa hoặc sửa nhưng mã đó không tồn tại trong cơ sở dữ liệu, hệ thống sẽ hiển thị thông báo để nhân viên được biết.
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
HDtime datetime Thời gian in hóa đơn
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
Nhập kho là một quy trình quan trọng trong quản lý hàng hóa, bao gồm các thuộc tính như mã sản phẩm (masp) với kiểu dữ liệu là số nguyên (int) và không được phép null, tên sản phẩm (tensp) với kiểu dữ liệu nvarchar(50), số lượng sản phẩm (soluongsp) với kiểu dữ liệu số nguyên (int), và giá nhập sản phẩm (gianhapsp) với kiểu dữ liệu nvarchar(200) Các thuộc tính này giúp theo dõi và quản lý hiệu quả các mặt hàng trong kho.
Giá nhập sản phẩm là giá trị cơ bản, trong khi giá bán được xác định theo loại sản phẩm với tên gọi là loaisp Đơn vị sản phẩm được xác định bằng donvisp, và ảnh sản phẩm được lưu trữ dưới dạng anhsp Ngày nhập kho được ghi lại với định dạng datetime là ngaynhapkho, cùng với thông tin về nhân viên nhập kho được lưu trữ trong nvnhapkho.
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
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
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, điều chỉnh số lượng sản phẩm, và phần mềm sẽ tự động tính tổng tiền cũng như 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à kinh doanh 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 vào 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 được cung cấp bởi admin (chủ cửa hàng) để đăng nhập Nếu thông tin nhập vào không khớp với cơ sở dữ liệu của phần mềm, hệ thống sẽ thông báo lỗi về tài khoản hoặc mật khẩu.
Hình 4.7: Giao diện đăng nhập
Giao diện trang chủ được thiết kế dành cho nhân viên bán hàng, cho phép họ nhập mã hoặc tên sản phẩm để thêm vào giỏ hàng tạm thời Khi khách hàng chọn thanh toán, thông tin hóa đơn sẽ được lưu trữ trong 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 hoàn lại cho khách Khi nhân viên xác nhận, phần mềm sẽ tự in hóa đơn và lưu trữ thông tin hóa đơn vào cơ sở dữ liệu.
Hình 4.9: Giao diện sau khi chọn thanh toán
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 cho phép theo dõi tình trạng hóa đơn với đầy đủ thông tin về giao dịch của khách hàng Người dùng có thể tìm kiếm hóa đơn theo ID, tổng số tiền, số điện thoại hoặc tên khách hàng, và còn có thể lọc theo ngày tháng bằng công cụ chọn ngày Bên cạnh đó, thông tin hóa đơn cũng có thể được xuất 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 cho cửa hàng, nhân viên sử dụng chức năng nhập kho để cập nhật thông tin hàng hóa Phần mềm sẽ ghi lại lịch sử nhập kho theo ngày và tên nhân viên, sau đó lưu trữ 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 trong cửa hàng, điều chỉnh khuyến mãi giảm giá cho các sản phẩm cụ thể, cũng như thay đổi giá bán và số lượng hàng Chức năng bán hàng trên trang chủ sử dụng cơ sở dữ liệu này để truy xuất thông tin sản phẩm.
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ê cho phép theo dõi số lượng sản phẩm đã bán trong tháng qua và doanh số hàng ngày Nó còn cung cấp biểu đồ chi tiết thể hiện doanh thu của từng ngày trong tháng.
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ừ 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 dựa trên loại sản phẩm Giao diện của đơn vị sản phẩm tương tự như vậ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ư hóa đơn bán hàng, quản lý thông tin đăng nhập của nhân viên và thông tin 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 có quyền 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 Source=DINHTHI\SQLEXPRESS;InitialCatalog=doan-3;Integrated
Sửa đổi Data Source= DINHTHI\SQLEXPRESS 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
Phần mềm quản lý bán hàng hiện nay đã cung cấp đầy đủ các tính năng cần thiết cho các cửa hàng vừa và nhỏ, đồng thời 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 không cẩn thận, vì việc tẩy xoá thông tin sẽ tốn nhiều thời gian và có thể ảnh hưởng đến doanh số bán hàng.
- 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 gian hạn chế và kiến thức của tôi còn hạn chế, không thể tránh khỏi những thiếu sót Hơn nữa, việc phát triển "phần mềm quản lý bán hàng" vẫn chưa hoàn thiện như mong đợi.
- 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 tại thiếu tính chuyên nghiệp và chưa đầy đủ, dẫn đến việc không 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.
Qua đồ án "xây dựng phần mềm quản lý bán hàng dựa trên công nghệ NET", tôi đã tích lũy được nhiều kinh nghiệm quý báu và mở rộng kiến thức của bản thân Đây là cơ hội để tôi học hỏi, trao dồi kỹ năng và làm quen với thực tế trong lĩnh vực phát triển phần mềm.
Em xin chân thành cám ơn Cô Đặng Thu Huệ đã tận tình tình giúp đỡ em hoàn thành đồ án này.