3.4.1. Thiết kế cơ sở dữ liệu
Dựa vào phần phân tích cơ sở dữ liệu ta tiến hành cài đặt cơ sở dữ liệu như các bảng sau:
3.4.1.1. Bảng tblKhachHang (Khách hàng)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaKH Nvarchar(10) Mã số của khách hàng
2 TenKH Nvarchar(50) Họ tên đầy đủ khách hàng
3 DiaChi Nvarchar(250) Địa chỉ nhà của khách hàng 4 DienThoai Varchar(20) Số điện thoại liên lạc
Bảng 3.1. Bảng khách hang
3.4.1.2. Bảng tblHoaDonBan (Hóa đơn bán hàng)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaHĐB Nvarchar(10) Mã số hóa đơn của khách hàng
2 MaNV Nvarchar(10) Mã số của nhân viên
3 MaKH Nvarchar(10) Mã số của khách hàng
4 NgayLap Date Ngày lập hóa đơn
Bảng 3.2. Bảng hóa đơn bán hàng
3.4.1.3. Bảng tblChiTietHoaDonBan (Chi tiết hóa đơn bán hàng)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaCTHĐB Nvarchar(10) Mã số chi tiết hóa đơn
2 MaHĐB Nvarchar(10) Mã số hóa đơn
3 MaSP Nvarchar(10) Mã số của sản phẩm
4 SoLuongBan Int Số lượng sản phẩm bán ra
Bảng 3.3. Bảng chi tiết hóa đơn bán hàng
3.4.1.4. Bảng tblHoaDonMua (Hóa đơn mua hàng)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaHĐM Nvarchar(10) Mã số hóa đơn của nhà cung cấp 2 MaNCC Nvarchar(10) Mã số của nhà cung cấp
3 NgayLap Date Ngày lập hóa đơn
Bảng 3.4. Bảng hóa đơn mua hàng
3.4.1.5. Bảng tblChiTietHoaDonMua (Chi tiết hóa đơn mua hàng)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaCTHĐM Nvarchar(10) Mã số chi tiết hóa đơn
2 MaHoaDon Nvarchar(10) Mã số hóa đơn
3 MaSP Nvarchar(10) Mã số của sản phẩm
4 SoLuongBan Int Số lượng sản phẩm mua vào
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaNV Nvarchar(10) Mã số của nhân viên
2 TenNV Nvarchar(50) Họ tên đầy đủ nhân viên 3 GioiTinh Nvarchar(10) Giới tính của nhân viên
4 NgaySinh Date Ngày sinh của nhân viên
5 DiaChi Nvarchar(250) Địa chỉ nhà của nhân viên 6 SDT Nvarchar(15) Số điện thoại của nhân viên 7 TenChucVu Nvarchar(50) Chức vụ nhân viên đảm nhận 8 BoPhan Nvarchar(50) Bộ phân làm việc của nhân viên
Bảng 3.6. Bảng nhân viên
3.4.1.7. Bảng tblPhieuNK (Phiếu nhập kho)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaPhieuNK Nvarchar(10) Mã số của phiếu nhập kho
2 MaSP Nvarchar(10) Mã số của sản phẩm
3 SoLuongNhap Int Số lượng cần nhập sản phẩm
4 NgayLap Date Ngày lập phiếu nhập kho
Bảng 3.7. Bảng phiếu nhập kho
3.4.1.8. Bảng tblPhieuXK (Phiếu xuất kho)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaPhieuXK Nvarchar(10) Mã số của phiếu xuất kho
2 MaSP Nvarchar(10) Mã số của sản phẩm
3 SoLuongXuat Int Số lượng cần xuất sản phẩm
4 NgayLap Date Ngày lập phiếu xuất
Bảng 3.8. Bảng phiếu xuất kho
3.4.1.9. Bảng tblLoaiSanPham (Loại sản phẩm)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaLoai Nvarchar(10) Mã loại của sản phẩm
2 TenLoai Nvarchar(50) Tên loại của sản phẩm
Bảng 3.9. Bảng loại sản phẩm
3.4.1.10. Bảng tblSanPham (Sản Phẩm)
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaSP Nvarchar(10) Mã số của sản phẩm
2 TenSP Nvarchar(50) Tên sản phẩm
3 MaLoai Nvarchar(10) Mã loại của sản phẩm
4 DonGia Float Giá của sản phẩm
5 SoLuong Int Số lượng của sản phẩm
6 NgaySX Date Ngày sản xuất sản phẩm
7 MoTa Nvarchar(50) Mô tả tình trạng của sản phẩm 8 DonViTinh Nvarchar(10) Đơn ví tính của sản phẩm 9 MaNCC Nvarchar(10) Mã số của nhà cung cấp
Bảng 3.10. Bảng sản phẩm
STT Tên cột Kiểu dữ liệu Ý nghĩa
1 MaNCC Nvarchar(10) Mã số của nhà cung cấp
2 TenNCC Nvarchar(50) Tên nhà cung cấp
3 DiaChi Nvarchar(250) Địa chỉ của nhà cung cấp
4 SDT Nvarchar(15) Số điện thoại
5 Email Nvarchar(50) Thư điện tử của nhà cung cấp
Bảng 3.11. Bảng nhà cung cấp
3.4.2. Một số giao diện của chương trình
Mục đích: Xác định tổng quan chương trình và phân định các module.
Nội dung: Phân định các module. Xác định mối quan hệ giữa các module (việc trao đổi thông tin, gọi nhau trong chương trình chính). Đặc tả từng module: Xác định các biến, các thuật toán, các dữ liệu được xử lý, các chức năng xử lý. Cách ghép nối các module.
Bài toán được gồm một Projects chính SHOP_VPP:
- Thiết kế các Form, giao diện tương tác chính với người sử dụng. - Các class để xử lý chung cho các form…
- Crystal Report: Tạo các báo cáo, thông kê… - Thư mục Image: Chứa các hình ảnh và icon…
3.4.2.1. Giao diện kết nối SQL
Là form dùng để kết nối với SQL Server
Có chức năng truy cập vào hệ thống form menu.
Hình 3.11. Giao diện đăng nhập
3.4.2.3. Giao diện menu chính của chương trình
Là form chính của chương trình, trong Form này sử dụng Menustrip để tạo menu cho hệ thống.
- Cơ chế thực hiện: Chạy chương trình và lựa chọn các chức năng để thực hiện.
- Đặc tả giao diện: Sử dụng menuStrip để tạo menu cho hệ thống.
Hình 3.12. Giao diện menu chính
Mô tả menu: • Quản lý hệ thống:
- Đăng xuất.
- Đổi mật khẩu. - Thoát.
• Danh mục
- Danh mục loại sản phẩm. - Danh mục sản phẩm. - Danh mục nhân viên. • Quản lý mua:
- Quản lý nhà cung cấp. - Quản lý hóa đơn mua hàng. • Quản lý bán:
- Quản lý khách hàng. - Quản lý hóa đơn bán hàng. • Quản lý kho:
- Quản lý phiếu nhập kho. - Quản lý phiếu xuất kho. • Thống kê - báo cáo:
- Thống kê doanh thu bán hàng. - Thống kê nhập xuất hàng. - Thống kê hàng tồn kho. - Báo cáo tổng hợp. • Trợ giúp:
- About.
Hình 3.13. Giao diện menu quản lý bán
a. Giao diện quản lý khách hàng
Là form quản lý thông tin về khách hàng.
- Thông tin vào: Những thông tin: mã khách hàng, họ tên khách hàng, ngày sinh, giới tính, địa chỉ, điện thoại, email.
- Thông tin ra: Thông tin về khách hàng.
- Chức năng: Thực hiện: Thêm mới, sửa, xóa, tìm kiếm. in báo cáo về thông tin khách hàng.
- Đặc tả giao diện: Gồm các text box để nhập mới hoặc thay đổi dữ liệu, combo box để lựa chọn giá trị phù hợp. Các button để lựa chọn chức năng.
Hình 3.14. Giao diện quản lý khách hàng
b. Giao diện quản lý hóa đơn bán
Giao diện khách hàng mua hàng
Là form để quản lý nhân viên nhập hàng, khi có yêu cầu nhập hàng thì bộ phận nhân viên nhập hàng sẽ cử nhân viên đại diện để đăng ký nhập hàng vào ngày nào?
Hình 3.15. Giao diện khách hàng mua hàng
Form thực hiện các chức năng như: Thêm mới, sửa, xóa, tìm kiếm, in thông kê. - Thông tin vào: Mã hóa đơn, thông tin khách hàng, ngày bán.
- Thông tin ra: Dữ liệu về thông tin khách hàng mua hàng.
- Chức năng: Thực hiện các công việc như thêm mới, sửa, xóa, tìm kiếm thông tin về khách hàng.
- Quy tắc: Mã hóa đơn không được trùng với mã hóa đơn đã có.
- Đặc tả giao diện: Gồm các ô textbox để nhập mới hoặc thay đổi dữ liệu, các combobox để lựa chọn các giá trị phù hợp, datetimepicker để chọn ngày bán hàng mới, các nút button để lựa chọn các chức năng.
Giao diện chi tiết hóa đơn bán
Hình 3.16. Giao diện chi tiết hóa đơn bán
Form thực hiện các chức năng như: thêm mới, sửa, xóa, tìm kiếm, in thông kê. - Thông tin vào: Các thông tin ID hóa đơn, mã hóa đơn, tên sản phẩm, số lượng…
- Thông tin ra: Thông tin chi tiết về sản phẩm khi khách hàng chọn mua hàng. - Chức năng: Thực hiện các chức năng: Thêm mới hóa đơn, sửa, xóa, in báo cáo, tìm kiếm.
- Quy tắc: Lựa chọn khách hàng trong danh sách khách hàng, nếu là khách hàng mới thì thêm thông tin khách hàng mới vào cơ sở dữ liệu. Lựa chọn người lập hóa đơn, lựa chọn ngày lập hóa đơn. Sau đó nhập thông tin về các sản phẩm khách hàng mua gồm: tên sản phẩm, số lượng. Số lượng sản phẩm đã bán phải được cập nhật lại trong kho. Sản phẩm bán có số lượng ít hơn hoặc bằng số lượng trong kho.
Hình 3.17. Giao diện in hóa đơn bán hàng
Hướng dẫn cài đặt và sử dụng
Để chương trình có thể chạy được thì cần đạt được một số yêu cầu sau: Phần cứng
Một máy PC với các thông số:
- Bộ xử lý có tốc độ tối thiểu là 350.
- Ram 32 trở lên.
- Ổ cứng còn trống ít nhất 150 MB.
- Máy in.
Phần mềm
Chương trình chạy được trong môi trường của hệ điều hành : Win XP, Win 7 Yêu cầu cài đặt : Microsoft SQL Server 2008, Microsoft Visual Studio 2010 Hướng dẫn sử dụng
Để sử dụng chương trình, yêu cầu tạo một database có tên QLBH trong Microsoft SQL Server 2008 sau đó khôi phục dữ liệu từ file QLBH.bak. Tiếp theo là mở file SHOP_VPP, vào form DataConn.cs để thay đổi đường dẫn kết nối Microsoft SQL
3.4.3. Một số kiến nghị nhằm nâng cao quản lý bán hàng tại công ty TNHH XNK & TM Đông Thành
Trong quá trình quản lý bán hàng, các rủi ro thường xảy tra trong quá trình xử lý nghiệp vụ như: Nhận và chấp nhận đặt hàng của những khách hàng không có khả năng thanh toán; Nhận đặt hàng những hàng hóa mà doanh nghiệp không có sẵn hoặc không có khả năng cung cấp; Xuất hàng khi chưa cho phép; Xuất không đúng số lượng hoặc loại hàng… Để có thể kiểm soát được những rủi ro này, cần có các hoạt động kiểm soát thích hợp đó là phân chia trách nhiệm trong quá trình xử lý nghiệp vụ và quy trình thủ tục xử lý nghiệp vụ cho phù hợp.
Ngoài ra, trong quá trình xử lý thông tin, chúng ta cũng rất thường gặp các rủi ro như: Rủi ro trong quá trình ghi nhận dữ liệu do hệ thống ghi nhận dữ liệu không đầy đủ, không chính xác; Các thông tin không được chuyển đến đúng các tập tin cần lưu trữ hoặc trong quá trình xử lý các mẫu tin của tập tin có thể tự sao chép hay loại bỏ mà hệ thống không kiểm soát được; Rủi ro liên quan đến báo cáo do các thông tin không được tổng hợp hay phân loại đúng…Để kiểm soát các loại rủi ro này, người dùng nên nên thực hiện chặt chẽ ba công đoạn kiểm soát: Kiểm soát dữ liệu đầu vào, kiểm soát xử lý và kiểm soát kết quả xử lý. Kiểm soát các dữ liệu vào để ngăn ngừa và phát hiện những sai sót trong quá trình nhập liệu, đảm bảo dữ liệu được chuyển chính xác từ hình thức xử lý bằng tay sang hình thức máy. Kiểm soát xử lý để phát hiện sai sót của chương trình xử lý, người dùng kiểm soát bằng cách đối chiếu giữa tổng tiền hay tổng nghiệp vụ nhập đầu vào với tổng tiền hay tổng nghiệp vụ được xử lý. Kiểm soát kết quả để ngăn ngừa và phát hiện sai sót trong kết quả xử lý.
KẾT LUẬN
Trong suốt thời gian nghiên cứu và tìm hiểu về hệ thống thông tin tại Công ty TNHH XNK & TM Đông Thành, trong bài khóa luận này em đã làm được 1 số công việc sau:
• Làm rõ được tầm quan trọng của tin học trong quản lý bán hàng tại Công ty TNHH XNK & TM Đông Thành.
• Khảo sát về tổ chức, chức năng của hệ thống cũ, từ đó thấy được những hạn chế để xây dựng hệ thống mới làm việc được hiệu quả hơn với sự trợ giúp của máy tính nhằm đáp ứng các yêu cầu mới cho công tác quản lý kinh doanh.
• Phân tích thiết kế hệ thống quản lý bán hàng bao gồm:
+ Phương thức hoạt động của các chức năng của hệ thống mới. + Thiết kế hệ thống thông tin.
+ Thiết kế giao diện.
• Hỗ trợ các nghiệp vụ chính trong Công ty: Mua hàng, bán hàng, quản lý kho. • Cung cấp báo cáo thống kê với nhiều tiêu chí: báo cáo doanh thu bán hàng, báo cáo nhập xuất hàng, báo cáo hàng tồn kho.
• Cung cấp chức năng hỗ trợ tìm kiếm thông tin sản phẩm, khách hàng, nhà cung cấp, hóa đơn.
• Giao diện người dùng thân thiện, dễ thao tác.
Do sự eo hẹp về thời gian cũng như hạn chế về tài liệu và trình độ còn hạn chế, nên bản khóa luận chưa thể đi sâu vào phân tích đầy đủ mọi nghiệp vụ cũng như các phát sinh thực tế, nên không tránh khỏi những thiếu sót và chưa đáp ứng được đầy đủ các yêu cầu thực tế nên em rất mong được sự góp ý của thầy cô để bài khóa luận được hoàn thiện hơn, và có tính thực tế cao hơn.
TÀI LIỆU THAM KHẢO
[1]. Nguyễn Văn Ba (2009), Phân tích thiết kế hệ thống thông tin, NXB Đại học Quốc Gia Hà Nội.
[2]. Nguyễn Văn Vỵ (2007), Phân tích và thiết kế hệ thống thông tin quản lý, Nhà xuất bản Khoa học Tự nhiên và Công nghệ, Hà Nội.
[4]. Hàn Viết Thuận (2004), Giáo trình tin học đại cương, NXB lao động – xã hội.
[5]. Nick Randolph, David Gardner, Michael Minutillo, Chris Anderson (2011),
Professional Visual Studio® 2010, Published by Wiley Publishing, Inc.
PHỤ LỤC
Chương trình nguồn cơ bản (Ngôn ngữ Visual Studio) using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data;
using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace SHOP_VPP {
public partial class Menu : Form {
string ten; string Quyen;
public Menu(string t="", string q="") {
ten = t; Quyen = q;
InitializeComponent(); }
private void StripMenuItemNhanVien_Click(object sender, EventArgs e) { }
private void StripMenuItemDangXuat_Click(object sender, EventArgs e) {
Login lg = new Login(); lg.Show();
this.Hide(); }
private void Menu_Load(object sender, EventArgs e) {
hientennguoidung.Text = "Xin Chào: " + ten;
toolquyen.Text = "Quyền: " + " " + Class_Login.quyen; }
KhachHang kh = new KhachHang(); kh.ShowDialog();
}
private void quảnLýHóaĐơnToolStripMenuItem_Click(object sender, EventArgs e) {
BanHang bh = new BanHang(); bh.ShowDialog();
}
private void StripMenuItemHoaDonBanHang_Click(object sender, EventArgs e) {
HoaDonBanHang hd = new HoaDonBanHang(); hd.ShowDialog();
}
private void label1_Click(object sender, EventArgs e) { }
private void danhMụcToolStripMenuItem_Click(object sender, EventArgs e) { }
} }