1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm quản lý bán hàng siêu thị mini

45 53 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phần Mềm Quản Lý Bán Hàng Siêu Thị Mini
Tác giả Hà Thị Hòa
Người hướng dẫn ThS. Phạm Thị Thu Hiền
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2017
Thành phố Nghệ An
Định dạng
Số trang 45
Dung lượng 0,99 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI (6)
    • 1.1. Lí do chọn đề tài (6)
    • 1.2. Cách tiếp cận đề tài (6)
    • 1.3. Nội dung của đề tài (6)
    • 1.4. Lựa chọn công cụ cài đặt và ngôn ngữ lập trình (7)
      • 1.4.1. Visual Studio 2010 Ulimate (7)
      • 1.4.2. Microsoft SQL 20012 (7)
  • CHƯƠNG 2. KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU (8)
    • 2.1. Khảo sát hiện trạng (8)
    • 2.2. Xác định yêu cầu (9)
    • 2.3. Phân tích (11)
      • 2.3.1. Sơ đồ phân rã chức năng (11)
      • 2.3.2. Mô tả các chức năng lá (11)
      • 2.3.3. Danh sách các thực thể (12)
      • 2.3.4. Biểu đồ FHD của hệ thống quản lý bán hàng (16)
      • 2.3.5. Danh sách các thực thể (17)
  • CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG (20)
    • 3.1. Thiết kế dữ liệu (20)
      • 3.1.1. Các ràng buộc toàn vẹn (20)
      • 3.1.2. Danh sách các quan hệ (21)
    • 3.2. Mô tả chi tiết các quan hệ (21)
    • 3.3. Mô hình dữ liệu quan hệ (Relationship) (23)
  • CHƯƠNG 4. THIẾT KẾ GIAO DIỆN VÀ CHƯƠNG TRÌNH (24)
    • 4.1. Thiết kế giao điện (24)
    • 4.2. Cài đặt Code (29)
  • TÀI LIỆU THAM KHẢO (45)

Nội dung

KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

Khảo sát hiện trạng

Phần mềm quản lý bán hàng giúp doanh nghiệp kinh doanh hàng hóa và siêu thị quản lý thông tin hiệu quả, tự động hóa quy trình cập nhật trạng thái phòng và quản lý hàng hóa Điều này không chỉ giảm chi phí nhân công mà còn nâng cao độ chính xác trong tính toán hóa đơn thanh toán, từ đó cải thiện chất lượng sản phẩm.

Qua khảo sát thực tế ta thấy rằng cơ cấu tổ chức của các quầy, siêu thị bao gồm các bộ phận:

- Bộ phận quản lý: o Kiểm tra thông tin hàng hóa o Quản lý danh sách hàng hóa o Cập nhật thông tin hàng hóa

- Bộ phận quản lý mặt hàng: o Tiếp nhận yêu cầu gọi mặt hàng o Cập nhật danh sách các mặt hàng đang bán o Cập nhật thông tin mặt hàng

- Bộ phận quản lý thanh toán: o Chọn phương thức thanh toán o Kiểm tra hàng hóa và thanh toán o In hóa đơn thanh toán

Các hoạt động của quầy, siêu thị đƣợc phân công cho các bộ phân nêu trên đảm nhận

Buôn bán hàng hóa bao gồm nhiều mặt hàng đa dạng, được phân loại thành các nhóm khác nhau Mỗi nhóm hàng hóa được nhận diện qua các gian hàng và sản phẩm riêng biệt.

Bộ phận quản lý mặt hàng chịu trách nhiệm tiếp nhận yêu cầu của khách hàng và báo cáo các mặt hàng đã gọi đến bộ phận thu ngân để bổ sung vào hóa đơn Họ cũng cập nhật danh sách thực đơn và thông tin cơ bản của các mặt hàng, bao gồm tên và giá bán Sau khi hoàn tất việc cập nhật, thông tin sẽ được gửi đến bộ phận thanh toán để tính toán số tiền mà khách hàng cần thanh toán.

Tiền dịch vụ được tính bằng cách nhân đơn giá của từng mặt hàng với số lượng, và tổng số tiền trong hóa đơn sẽ phản ánh chi phí dịch vụ đã được tính toán Mỗi hóa đơn xuất cho khách hàng cần ghi rõ số hóa đơn, ngày lập hóa đơn, ngày giờ, thành tiền của các dịch vụ đã sử dụng và tổng số tiền đã thanh toán.

Hàng tháng nhân viên thu ngân cần phải tổng hợp lại các hóa đơn trong tháng, báo cáo doanh thu của quán trong tháng đó.

Xác định yêu cầu

Phần mềm quản lý bán hàng cần bao quát tất cả hoạt động của quán và siêu thị, hỗ trợ quản lý thông tin sản phẩm, mặt hàng và hóa đơn thanh toán Nó tự động hóa quy trình cập nhật trạng thái hàng hóa, quản lý hàng tồn kho và tính toán hóa đơn một cách chính xác Ngoài ra, phần mềm còn cung cấp báo cáo thống kê doanh thu hàng tháng để giúp người quản lý theo dõi hiệu quả kinh doanh.

- Tên yêu cầu: Phần mềm Quản lý bán hàng siêu thị mini

- Dạng thể hiện: Màn hình nhập liệu

- Tên yêu cầu: Quản lý mặt hàng

- Dạng thể hiện: Màn hình nhập liệu

Cập nhật danh sách các mặt hàng bao gồm thông tin chi tiết như mã mặt hàng, tên mặt hàng, đơn vị tính và giá bán Các mặt hàng được phân loại theo chủng loại như bia, đồ ăn và đồ uống Ngoài ra, hệ thống cho phép tìm kiếm mặt hàng dễ dàng theo tên hoặc theo chủng loại.

- Tên yêu cầu: Hóa đơn thanh toán

Hóa đơn thanh toán cần được trình bày rõ ràng với đầy đủ thông tin như số hóa đơn, mã hóa đơn, danh sách các mặt hàng, thành tiền từng mặt hàng và tổng số tiền thanh toán Việc in hóa đơn thanh toán cũng rất quan trọng để đảm bảo tính minh bạch và hợp lệ trong giao dịch.

- Tên yêu cầu: Báo cáo doanh thu

- Dạng thể hiện: Màn hình nhập liệu

- Tên yêu cầu: Quản lý nhà cung cấp

- Dạng thể hiện: Màn hình nhập liệu

- Tên yêu cầu: Sao lưu và khôi phục cơ sở dữ liệu

- Dạng thể hiện: màn hình nhập liệu

- Ghi chú: o Tự động sao lưu dữ liệu sau mỗi lần thoát chương trình o Sao lưu và phục hồi dữ liệu khi cần

- Tên yêu cầu: Yêu cầu phần mềm

- Dạng thể hiện: Màn hình nhập liệu

Giao diện người dùng của phần mềm rất thân thiện và bắt mắt, mang lại trải nghiệm tốt cho người sử dụng Phần mềm hoạt động ổn định và chính xác, đáp ứng hiệu quả nhu cầu của một lượng dịch vụ lớn Hệ quản trị cơ sở dữ liệu được xây dựng trên nền tảng SQL, trong khi ngôn ngữ lập trình C# giúp tối ưu hóa hiệu suất và tính năng của ứng dụng.

Phân tích

2.3.1 Sơ đồ phân rã chức năng

2.3.2 Mô tả các chức năng lá

* Cập nhật thông tin mặt hàng

- Yêu cầu nhập đầy đủ các thông tin cho thực thể MATHANG(hàng hóa): Mã hàng hóa, tên hàng hóa, đơn giá, tồn kho (0)

- Trong cơ sở dữ liệu không đƣợc phép tồn tại 2 mã hàng hóa hoặc 2 tên hàng hóa trùng nhau

Mã hàng được phép nhập tự do nhưng không vượt quá 10 ký tự, trong khi tên hàng cũng có thể nhập tự do nhưng tối đa 15 ký tự Đơn giá và tồn kho là thông tin bắt buộc và cần phải nhập bằng ký tự số.

- Chỉ có thể xóa thực thể hàng hóa nếu nhƣ hàng hóa đó chƣa đƣợc bán ra, xuất hóa đơn

* Chức năng cập nhật thông tin các dịch vụ

- Yêu cầu nhập đầy đủ thông tin cho thực thể MaMH (mặt hàng): Mã mặt hàng, tên hàng hóa, đơn giá, tồn kho

- Trong cơ sở dữ liệu không đƣợc phép tồn tại hai mặt hàng cũng mã mặt hàng hoặc trùng tên mặt hàng

- Mã mặt hàng đƣợc phép đặt tự do nhƣng không quá 10 ký tự

- Tên mặt hàng đƣợc phép đặt tự do nhƣng không quá 15 ký tự

- Chỉ có thể xóa thực thể mặt hàng nếu nhƣ thực thể đó chƣa đƣợc lập chi tiết hóa đơn (hay là chƣa đƣợc xuất bán)

Khi sử dụng dịch vụ, một hóa đơn mới sẽ được tạo ra cho từng dịch vụ riêng biệt, yêu cầu người dùng nhập thông tin như tên mặt hàng và số lượng.

- Số hóa đơn phải là số hóa đơn của phòng gọi dịch vụ

- Số chi tiết hóa đơn đƣợc tạo tự động và bắt đầu từ 1

Sau khi chọn dịch vụ, phần mềm sẽ tính toán thành tiền dựa vào số lượng gọi và giá bán của dịch vụ Kết quả này sẽ được nhập vào chi tiết hóa đơn của dịch vụ.

* Tiến trình lập hóa đơn thanh toán

- Khi lựa chọn thanh toán, trạng thái hàng hóa chuyển về trạng thái “MaMH”

- Phần mềm tính toán tiền hàng cần thanh toán

- In hóa đơn thanh toán

Khi người quản lý yêu cầu báo cáo doanh thu cho một khoảng thời gian cụ thể, chức năng báo cáo và thống kê sẽ tổng hợp các hóa đơn trong tháng đó và cung cấp doanh thu của thời gian đó.

Chức năng báo cáo, thống kê in báo cáo doanh thu theo yêu cầu của người quản lý

2.3.3 Danh sách các thực thể a Thực thể nhà cung cấp

- Tên thực thể: Nhà cung cấp

+ Mã nhà cung cấp (MaNCC): Đây là thuộc tính khóa, phân biệt các nhà cung câp khác nhau

+ Tên nhà cung cấp (TenNCC): Tên gọi của nhà cung cấp

+ Liên hệ (LienHe): Địa chỉ liên hệ tới nhà cung cấp b Thực thể phiếu nhập

- Tên thực thể: Phiếu nhập

+ Số phiếu nhập: (SoPN): Đây là thuộc tính khóa, dùng để phân biệt các phiếu với nhau

+ Nhà cung cấp: (NhaCC): Tên gọi của nhà cung cấp

+ Ngày nhập: (NgayNhap): Hiển thị ngày nhập phiếu

+ Tổng tiền: (TongTien): Biểu hiện tổng số tiền c Thực thể hóa đơn

- Tên thực thể: Hóa đơn

+ Số hóa đơn (SoHD): thuốc tính khóa phân biệt các hóa đơn với nhau

+ Ngày nhập (NgayNhap): ngày tạo hóa đơn

+ Tổng tiền (TongTien): Số tiền khách hàng phải trả bẳng tổng tiền giờ và tiền hàng d Thực thể chi tiết hóa đơn

- Tên thực thể: Chi tiết hóa đơn

+ Số chi tiết hóa đơn: Thuốc tính khóa phân biệt các chi tiết hóa đơn

+ Số hóa đơn: (SoHD): thuốc tính khóa phân biệt các hóa đơn với nhau

+ Mã mặt hàng: (MaMH): thuốc tính khóa phân biệt các mặt hàng với nhau + Số lƣợng: (so_luong): số lƣợng của món đã gọi

+ thành tiền: (thanh_tien): thành tiền của món đã gọi bằng số lƣợng * đơn giá e Thực thể mặt hàng

- Tên thực thể: Mặt hàng

+ Mã mặt hàng: (MaMH): thuốc tính khóa phân biệt các mặt hàng với nhau + Tên mặt hàng: (TenMH): tên các mặt hàng

+ Đơn giá: (DonGia): Thể hiện giá bán mỗi mặt hàng

+ Tồn kho: (TonKho): Số hàng tồn còn lại trong kho f Thực thể chi tiết phiếu nhập

- Tên thực thể: Chi tiết phiếu nhập

+ Số chi tiết phiếu nhâp: (SoCTPN) Thuốc tính khóa phân biệt các chi tiết phiếu nhập

Số phiếu nhập (SoHD) là thuộc tính khóa dùng để phân biệt các hóa đơn khác nhau, trong khi mã mặt hàng (MaMH) là thuộc tính khóa giúp phân biệt các mặt hàng riêng lẻ Giá nhập (GiaNhap) thể hiện giá của từng sản phẩm cụ thể.

+ Số lƣợng: (SoLuong): số lƣợng của món đã gọi

+ thành tiền: (Thành tiền): thành tiền của món đã gọi bằng số lƣợng * đơn giá

2.3.4 Biểu đồ FHD của hệ thống quản lý bán hàng

2.3.5 Danh sách các thực thể

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Thiết kế dữ liệu

3.1.1 Các ràng buộc toàn vẹn

MaMH: mã mặt hàng xác định trong cơ sở dữ liệu không có 2 mặt hàng có mã giống nhau

MaNCC: mã nhà cung cấp xác định trong cơ sở dữ liệu không có 2 mã nhà cung cấp giống nhau

SoHD: số hóa đơn xác định trong cơ sở dữ liệu không có 2 số hóa đơn trùng nhau

SoCTHD: số chi tiết hóa đơn xác định trong cơ sở dữ liệu không có 2 chi tiết hóa đơn trùng nhau

SoPN: số phiếu nhập xác định trong cơ sở dữ liệu không có 2 số phiếu nhập trùng nhau

SoCTPN: số chi tiết phiếu nhập xác định trong cơ sở dữ liệu không có 2 chi tiết phiếu nhập trùng nhau

NhaCungCap (MaNCC) -> PhieuNhap (MaNCC): Xác định MaNCC của nhà cung cấp hiện tại và mã nhà cung cấp đó có tồn tại trong cơ sở dữ liệu hay không

PhieuNhap (SoPN) và ChiTietPhieuNhap (SoPN) được sử dụng để xác định số phiếu nhập thuộc chi tiết phiếu nhập nào Đồng thời, cần kiểm tra xem số phiếu nhập này có tồn tại trong cơ sở dữ liệu hay không.

MatHang(MaMH) -> ChiTietPhieuNhap (MaMH): Xác định mã mặt hàng tồn tại trong cơ sở dữ liệu không

Mã mặt hàng (MaMH) được sử dụng để xác định các mặt hàng thuộc chi tiết hóa đơn (ChiTietHoaDon) Việc này giúp kiểm tra xem mã mặt hàng đó có tồn tại trong cơ sở dữ liệu hay không.

ChiTietHoaDon (SoHD) -> HoaDon (SoHD): Xác định các hóa đơn thuộc hóa đơn nào và số hóa đơn đó có tồn tại trong cơ sở dữ liệu hay không

MatHang(TenMH): trong cơ sở dữ liệu không tồn tại hai tên mặt hàng giống nhau

NhaCungCap (TenNCC): trong cơ sở dữ liệu không tồn tại hai tên nhà cung cấp giống nhau

3.1.2 Danh sách các quan hệ

MatHang (MaMH, TenMH, DonGia, TonKho)

ChiTietHoaDon (SoCTHD, SoHD, MaMH, SoLuong, ThanhTien)

PhieuNhap (SoPN, MaNCC, NgayNhap, TongTien).

Mô tả chi tiết các quan hệ

Quan hệ MatHang (Mặt hàng):

STT Thuộc Tính Diễn giải Kiểu dữ liệu Độ dài Ràng buộc

1 MaMH Mã mặt hàng Nvarchar 10 Khóa chính

2 TenMH Tên mặt hàng Nvarchar 50 UNIQUE

Quan hệ NhaCungCap (Nhà Cung Cấp):

STT Thuộc Tính Diễn giải Kiểu dữ liệu Độ dài Ràng buộc

1 MaNCC Mã nhà cung cấp Nvarchar 10 Khóa chính

2 TenNCC Tên nhà cung cấp Nvarchar 100 UNIQUE

Quan hệ HoaDon (Hóa đơn):

STT Thuộc Tính Diễn giải Kiểu dữ liệu Độ dài Ràng buộc

1 SoHD Số hóa đơn Nvarchar 10 Khóa chính

2 NgayNhap Ngày nhập Nvarchar 50 Khóa ngoại

Quan hệ ChiTietHoaDon (Chi tiết hóa đơn):

STT Thuộc Tính Diễn giải Kiểu dữ liệu Độ dài Ràng buộc

1 So_CTHD Số chi tiết hóa đơn Nvarchar 10 Khóa chính

2 So_HD Số hóa đơn Nvarchar 10 Khóa ngoại

3 Ma_MH Mã mặt hàng Nvarchar 10 Khóa ngoại

4 So_luong Số lƣợng Int

5 Thanh_tien Thành tiền Nchar 10

Quan hệ PhieuNhap (Phiếu nhập):

STT Thuộc Tính Diễn giải Kiểu dữ liệu Độ dài Ràng buộc

1 SoPN Số phiếu nhập Nvarchar 10 Khóa chính

2 MaNCC Mã nhà cung cấp Nvarchar 10 Khóa ngoại

3 NgayNhap Ngày nhập Nvarchar 50 Khóa ngoại

Quan hệ ChiTietPhieuNhap (Chi tiết hóa đơn):

STT Thuộc Tính Diễn giải Kiểu dữ liệu Độ dài Ràng buộc

1 SoCTPN Số chi tiết hóa đơn Nvarchar 10 Khóa chính

2 SoPN Số hóa đơn Nvarchar 10 Khóa ngoại

3 MaMH Mã mặt hàng Nvarchar 10 Khóa ngoại

THIẾT KẾ GIAO DIỆN VÀ CHƯƠNG TRÌNH

Thiết kế giao điện

- Giao diện bán hàng form Bán hàng (frmBanHang)

Khu vực 1 bao gồm thực đơn truy cập đến các chức năng khác của chương trình cùng thanh tác vụ truy cập nhanh các chức năng thường dùng

- Giao diện nhà cung cấp form Nhà cung cấp (frmNCC)

- Giao diện nhập kho form Nhập Kho (frmNhapKho)

Form Danh mục mặt hàng (frmDMMH)

- Giao diện doanh thu bán hàng

- Hóa đơn thanh toán form hóa đơn thanh toán (frmDSHD)

Hiển thị các hóa đơn thanh toán và các chi tiết hóa đơn thanh toán liên quan

Với nút Lọc có thể lọc các hóa đơn theo khoảng thời gian mà người dùng lựa chọn

Nút chọn in hóa đơn sẽ thực hiện in hóa đơn người dùng đã lựa chọn.

Cài đặt Code

To set up a sales form in C#, you will need to include essential namespaces such as System, System.Collections.Generic, System.ComponentModel, System.Data, System.Drawing, System.Linq, System.Text, System.Windows.Forms, and System.Data.SqlClient This configuration is crucial for building a functional sales application within the BanHang namespace.

{ public partial class FrmBanHang: Form

In the FrmBanHang_Load method, a new instance of ConnectDatabase is created, and the current date is formatted as "dd/MM/yyyy" Two string variables, soHD and soCTHD, are initialized as empty, while an integer variable, thanhTien, is set to zero.

{ loadDataMH(); btnMua.Enabled = false; txtSL.Enabled = false; btnThanhToan.Enabled = false; this.AcceptButton = btnMua;

{ string sql = "select * from tblMatHang";

DataView dv = new DataView(conn.getDataTable(sql)); dgvHH.DataSource = dv; dgvHH.AutoResizeColumns(); conn.disconnect();

} private void dgvHH_RowEnter(object sender, DataGridViewCellEventArgs e)

To retrieve and display product details from a DataGridView in a Windows Forms application, use the following code snippet: set the current index to the selected row, then populate the text boxes with the corresponding values from the DataGridView cells Specifically, assign the values of the first four cells (product code, product name, unit price, and stock quantity) to the respective text boxes, ensuring that the user can view essential product information easily.

} private void btnTaoHD_Click(object sender, EventArgs e)

{ txtTongTien.Text = "0"; sinhmaSoHD(); soHD = sinhmaSoHD(); lblsoHD.Text = soHD; try

{ string ssql = "insert into tblHoaDon values('" + soHD + "','" + time + "'," + int.Parse(txtTongTien.Text) + ");"; conn.ExecuteNonQuery(ssql);

} btnMua.Enabled = true; btnTaoHD.Enabled = false; txtSL.Enabled = true; btnThanhToan.Enabled = true;

1 string ssql = "select * from tblHoaDon";

DataTable dt = new DataTable(); dt = conn.getDataTable(ssql); string s = ""; if (dt.Rows.Count

Ngày đăng: 01/08/2021, 10:36

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w