Chương 1: Khảo sát 1.1 Mô tả bài toán 1.1 Giới thiệu cửa hàng xe máy Vĩnh Phát Cửa hàng Vĩnh Phát là địa chỉ kinh doanh, mua bán xe gắn máy uy tín lâu đời tại thủ đô Hà Nội bạn không nên bỏ qua. Vĩnh Phát rất được lòng khách hàng nhờ chế độ bảo hành và chăm sóc sau mua cực kỳ chuyên nghiệp và tận tâm, đem đến trải nghiệm mua sắm hài lòng cho người dân thủ đô. Địa chỉ: 69 Lĩnh Nam, Hoàng Mai, Hà Nội. Là một cửa hàng buôn bán xe máy lâu đời, cho nên cửa hàng có cơ cấu tổ chức vô cùng chặt chẽ với các phòng bàn được phân chia nhiệm vụ rõ rệt, cùng với đó là đội ngũ nhân viên tư vấn chuyên nghiệp được đào tạo bài bản từ a-z mang đến trải nghiệm tích cực cho khách hàng khi mua sản phẩm của cửa hàng Vĩnh Phát.2 Hoạt động kinh doanh của Vĩnh Phát Để hệ thống quản lý bán hàng cho cửa hàng bán xe máy Vĩnh Phát được vận hành trơn chu và hiệu quả thì chúng ta cần xác định các quy trình xử lý chính trong quá trình kinh doanh của cửa hàng.
Dưới đây là một phân tích cơ bản về các quy trình quan trọng: - Quản lý sản phẩm : + Tiếp nhận và nhập hàng: Quá trình tiếp nhận xe máy từ các nhà sản xuất hoặc nhà cung cấp khác nhau và nhập chúng vào kho của cửa hàng. + Cập nhật thông tin sản phẩm: Bao gồm việc cập nhật thông tin về , màu sắc, giá cả, số lượng tồn kho và các thông tin khác liên quan đến sản phẩm. - Quản lý bán hàng : + Tạo đơn hàng: Nhân viên cửa hàng tạo đơn hàng cho khách hàng dựa trên yêu cầu của họ. + Thực hiện giao dịch bán hàng: Quá trình bán hàng, bao gồm việc xác nhận đơn hàng, tính toán giá cả và thanh toán từ phía khách hàng.
+ In hóa đơn: Tạo hóa đơn cho khách hàng và cập nhật thông tin giao dịch. 4 - Quản lý khách hàng : + Thêm và cập nhật thông tin khách hàng: Bao gồm việc thêm mới khách hàng vào hệ thống và cập nhật thông tin cá nhân, lịch sử mua hàng và các thông tin khác. + Xử lý đơn hàng từ khách hàng: Theo dõi và xử lý các đơn hàng từ khách hàng, bao gồm cả việc xác nhận đơn hàng. - Quản lý dịch vụ : + Bảo dưỡng và sửa chữa: Ghi chép và theo dõi thông tin về các dịch vụ bảo dưỡng và sửa chữa xe máy cho khách hàng.
- Báo cáo và thống kê : + Tạo báo cáo: Tạo các báo cáo về doanh số bán hàng, lợi nhuận, tồn kho và các chỉ số quan trọng khác để quản lý và phân tích hiệu suất kinh doanh của cửa hàng.3 Các mẫu biểu - Đơn đăng kí mua hàng : 6 - Hóa đơn bán hàng: 7 - Phiếu xuất kho : - Phiếu giao hàng: 8 -Phiếu bảo hành: 1.2 Xác định yêu cầu Cửa hàng buôn bán xe máy Vĩnh Phát có nhu cầu xây dựng một phần mềm quản lý bán hàng nhằm cải thiên quy trình quản lý và hiệu suất bán hàng. Hệ thống xây dựng cần đảm bảo các chức năng sau : Quản lý sản phẩm: Cập nhật thông tin về các loại xe máy, bao gồm mô hình, giá bán và hãng sản xuất , … Quản lý bán hàng: Cập nhật thông tin về các giao dịch bán hàng, bao gồm thông tin khách hàng, sản phẩm được mua, giá cả, và số lượng, … Quản lý khách hàng: Cập nhật thông tin cá nhân của khách hàng… Quản lý dịch vụ: Cập nhật thông tin về dịch vụ như bảo dưỡng, sửa chữa xe,. Báo cáo và thống kê: Tạo báo cáo doanh thu, tồn kho theo tháng. 9 Chương 2: Phân tích và thiết kế hệ thống 2.1 Phân tích hệ thống 2.1 Phân tích hệ thống về xử lý - Sơ đồ phân rã chức năng: - Sơ đồ mức ngữ cảnh : 10 - Sơ đồ mức đỉnh : 11 - Sơ đồ luồng dữ liệu mức dưới đỉnh của tiến trình “1.0 Quản lý đơn hàng” 12 - Sơ đồ luồng dữ liệu mức dưới đỉnh của tiến trình “2.0 Quản lý sản phẩm” - Sơ đồ luồng dữ liệu mức dưới đỉnh của tiến trình “ 3.0 Quản lý khách hàng” -Sơ đồ luồng dữ liệu mức dưới đỉnh của tiến trình “ 4.0 Quản lý dịch vụ” 13 - Sơ đồ luồng dữ liệu mức dưới đỉnh của tiến trình “ 5.2 Phân tích hệ thống dữ liệu Các thực thể trong bài toán : 14 - Thực thể : khách hàng, sản phẩm.
- Thực thể thông tin: dịch vụ, phiếu sử dụng dịch vụ, hóa đơn, chi tiết hóa đơn. Sơ đồ liên kết thực thể : Mô hình thực thể liên kết : 15 2.2 Thiết kế hệ thống 2.1 Thiết kế dữ liệu - Bảng khách hàng : Tên trường Kiểu dữ liệu Khóa chính Diễn giải Ghi chú MaKH NvarChar(50) X Mã khách hàng TenKH Nvarchar(50) Tên khách hàng NgaySinh Datetime Ngày sinh GioiTinh Nvarchar(50) Giới tính DiaChi Nvarchar(50) Địa chỉ SDT Nvarchar(50) Số điện thoại - Bảng hóa đơn : Tên trường Kiểu dữ liệu Khóa chính Diễn giải Ghi chú MaHD Nvarchar(50) X Mã hóa đơn TenNV Nvarchar(50) Tên nhân viên NgayLap Datetime Ngày lập MaKH Nvarchar(50) Mã khách hàng Khóa Ngoại TenKH Nvarchar(50) Tên khách hàng Diachi Nvarchar(50) Địa chỉ SDT Nvarchar(50) Số điện thoại MaSP Nvarchar(50) Mã sản phẩm Khóa Ngoại TenSP Nvarchar(50) Tên sản phẩm HangSX Nvarchar(50) Hãng sản xuất SoLuong Int Số lượng 16 DonGia Int Đơn giá TongTien Int Tổng tiền - Bảng sản phẩm : Tên trường Kiểu dữ liệu Khóa chính Diễn giải Ghi chú MaSP Nvarhar(8) X Mã sản phẩm TenSP Nvarchar(50) Tên sản phẩm HangSX Nvarchar(50) Hãng sản xuất GiaBan Int Giá bán SoLuong Int Số lượng - Bảng dịch vụ : Tên trường Kiểu dữ liệu Khóa chính Diễn giải Ghi chú MaDV Nvarchar(50) X Mã dịch vụ TenDV Nvarchar(50) Tên dịch vụ GiaDV Nvarchar(50) Giá dịch vụ - Bảng phiếu dịch vụ Tên trường Kiểu dữ liệu Khóa chính Diễn giải Ghi chú MaPhieu Nvarchar(50) X Mã phiếu MaKH Nvarchar(50) Mã khách hàng Khóa ngoại TenDV Nvarchar(50) Tên dịch vụ NgayLap Datetime Ngày lập GiaDV Nvarchar(50) Giá dịch vụ MaDV Nvarchar(50) Mã dịch vụ Khóa ngoại 17 18 2.2 Thiết kế giao diện - Form Trang chủ : - Form Cập nhật hóa đơn : - Form Tìm kiếm hóa đơn : 19 - Form Quản lý sản phẩm - Form Tra cứu sản phẩm : 20 - Form Khách hàng : - Form Tra cứu khách hàng : 21 - Form Quản lý phiếu dịch vụ : - Form Tra cứu dịch vụ : 22 - Form Quản lý dịch vụ : 23 Chương 3: Xây dựng chương trình 3.1 Tạo cơ sở dữ liệu - CSDL Khách hàng : - CSDL Sản phẩm : - CSDL Hóa đơn 24 - CSDL Dịch vụ : - CSDL Phiếu dịch vụ : 3.2 Cài đặt chương trình 3.1 Một số đoạn code - Hàm kết nối SQL : public void moKetNoi() { String sql = @"Data Source=Dynnis;Initial Catalog=QuanLyBanXeMay;Integrated Security=True"; conn = new SqlConnection(sql); conn.Close(); } - Hàm lấy dữ liệu từ bảng khách hàng : 25 public DataTable getDSKhachHang() { moKetNoi(); string sql = "select * from KhachHang"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader dr = cmd.Add("@MaKhachHang", SqlDbType.Value = ma; cmd.Add("@TenKhachHang", SqlDbType.Value = ten; cmd.Add("@NgaySinh", SqlDbType.Value = ngay; cmd.Add("@GioiTinh", SqlDbType.Value = gt; cmd.Add("@DiaChi", SqlDbType.Value = dc; cmd.Add("@DienThoai", SqlDbType.Value = dt; cmd.Add("@MaKhachHang", SqlDbType.Value = ma; cmd.Add("@TenKhachHang", SqlDbType.Value = ten; cmd.Add("@NgaySinh", SqlDbType.Value = ngay; cmd.Add("@GioiTinh", SqlDbType.Value = gt; cmd.Add("@DiaChi", SqlDbType.Value = dc; cmd.Add("@DienThoai", SqlDbType.Value = dt; cmd.Add("@MaSanPham", SqlDbType.Value = ma; cmd.Add("@TenSanPham", SqlDbType.Value = ten; cmd.Add("@HangSanXuat", SqlDbType.Value = hangsanxuat; cmd.Add("@GiaBan", SqlDbType.Value = giaban; cmd.Add("@SoLuong", SqlDbType.Value = soluong; cmd.Add("@MaSanPham", SqlDbType.Value = ma; cmd.Add("@TenSanPham", SqlDbType.Value = ten; cmd.Add("@HangSanXuat", SqlDbType.Value = hangsanxuat; cmd.Add("@GiaBan", SqlDbType.Value = giaban; cmd.Add("@SoLuong", SqlDbType.Value = soluong; cmd.RowIndex; if (i >= 0) { DataGridViewRow row = new DataGridViewRow(); row = dgvKhachHang.ToString(); string gt = row.Checked = true; else rdoNu.Checked = false; txtDiaChi.Show("Chưa nhập đủ thông tin!"); return ; } string ma = txtMaKH.Trim(); string ten = txtHoTen.Text; DateTime ngay = DateTime.Text); string gt; 30 if (rdoNam.Checked) gt = "Nam"; else gt = "Nữ"; string dc = txtDiaChi.Text; string dt = txtDienThoai.Text; if(ketNoi.Show("Mã khách hàng đã tồn tại!"); return; } ketNoi.themKhachHang(ma, ten, ngay, gt, dc, dt); duaDLVaoBang(); clearTexts(); } - Hàm nút sửa khách hàng trong Form quản lý khách hàng : private void btnSua_Click(object sender, EventArgs e) { if(txtMaKH.Show("Chưa chọn Khách Hàng cần sửa thông tin"); return; } if(!ketNoi.Show("Mã khách hàng không tồn tại"); return; } btnLuu.Enabled = true; btnBoQua.Enabled = true; 31 btnThem.Enabled = false; btnXoa.Enabled = false; btnSua.Enabled = false; txtMaKH.2 Các giao diện thực thi - Thêm hóa đơn có mã 006 : - Sửa hóa đơn khách hàng có mã 003 : 32 - Xóa hóa đơn có mã 006 : - Tm kiếm theo tên khách hàng : 33 - Thêm sản phẩm có mã 009 : - Sửa sản phẩm có mã 009 : 34 - Xóa sản phẩm có mã 009 : 35 - Tìm kiếm theo tên sản phẩm : - Thêm khách hàng có mã 006 : 36 - Sửa khách hàng có mã 006 : - Xóa khách hàng có mã 006 : 37 - Tìm kiếm theo tên khách hàng : - Thêm phiếu dịch vụ có mã 006 : - Sửa phiếu dịch vụ có mã 006 : 38 - Xóa phiếu dịch vụ có mã 007 : - Thêm dịch vụ : 39 - Sửa dịch vụ có mã 008 : - Xóa dịch vụ có mã 008 : 40 - Tìm kiếm theo tên dịch vụ: 41 KẾT LUẬN Trong đồ án này nhóm em đã nghiên cứu xây dựng hệ thống chương trình cho bài toán xây dựng chương trình quản lý bán hàng xe máy Vĩnh Phát này. Đồ án đã thực hiện các nhiệm vụ sau: Mô tả bài toán và tiến hành mô hình hóa nhiệm vụ bài toán chuẩn bị cho các bước sau. Phân tích bài toán theo hướng cấu trúc bao gồm phân tích dữ liệu và phân tích xử lý.
Thiết kế hệ thống chương trình trình bao gồm thiết kế kiến trúc, thiết kế dữ liệu, thiết kế giao diện và các mô đun xử lý. Cài đặt hệ thống và thử nghiệm với một số dữ liệu. Trong thời gian nghiên cứu, xây dựng chương trình, nhóm em đã hết sức cố gắng làm việc cùng với sự giúp đỡ tận tình của cô Trần Thị Yến - giảng viên hướng dẫn. Chương trình đã đạt được một số kết quả nhất định.
Tuy nhiên với thời gian có hạn, trình độ và kinh nghiệm còn hạn chế, chương trình vẫn còn rất nhiều thiếu sót. Rất mong các thầy cô giáo và các bạn tận tình giúp đỡ để chương trình ngày càng được hoàn thiện hơn. Nếu được phát triển tiếp đề tài này, nhóm em sẽ tiếp tục hoàn thiện các chức năng của chương trình để có thể đáp ứng được với nhu cầu của các doanh nghiệp, khách hàng. 42 TÀI LIỆU THAM KHẢO [1].
Giáo Trình Phân Tích Thiết Kế Các Hệ Thống Thông Tin. NXB Giáo dục. Bài giảng phát triển phần mềm hướng đối tượng và sử dụng lại.