Tên đề tài: Xây dựng hệ thống thông tin quản lý bán hàng. Mục đích của đề tài: Việc ứng dụng CNTT vào trong kinh doanh đã được thực hiện từ lâu, tuy nhiên thường thì các hệ thống được xây dựng đều dành cho doanh nghiệp lớn với số lượng sản phẩm và khách hàng cần quản lí rất lớn, vì thế chi phí cũng rất cao. Mục đích của đồ án là xây dựng một chương trình để giúp việc quản lý kinh doanh của các cửa hàng nhỏ lẻ được dễ dàng. Chương trình cần dễ sử dụng, không cần yêu cầu vốn đầu tư ban đầu và hạ tầng lớn, dễ bảo trì và chi phí duy trì hệ thống ở mức tối thiểu. Giới thiệu về hệ thống được xây dựng: Một cửa hàng bán các sản phẩm bao gồm các loại với các thông tin khác nhau: • Đĩa nhạc: Tên đĩa nhạc/tên bài hát, thông tin ca sĩ, nhạc sĩ, thể loại nhạc, năm sản xuất,. . . • Đĩa phim: Tên đĩa phim, thông tin về các diễn viên, đạo diễn, năm sản xuất, nhà sản xuất, thể loại phim,. . . • Các loại sách: Tên cuốn sách, tác giả, thể loại sách, thông tin về năm xuất bản, nhà xuất bản,. . . Yêu cầu đặt ra: • Xây dựng một hệ thống quản lý các sản phẩm trên theo từng thuộc tính đã nêu, ngoài ra hệ thống còn hỗ trợ quản lý theo số lượng, giá mua, giá bán của các sản phẩm. • Ngoài ra cần phải quản lý về mặt chí phí, bao gồm các chi phí lúc nhập sản phẩm và bán sản phẩm, các chi phí về trả lương cho nhân viên, các chi phí định kì và phát sinh. Vì đây là cửa hàng nhỏ, mục đích của phần mềm chỉ là sử dụng nội bộ, do đó phần mềm sẽ hướng đến các chức năng chính là quản lí xuất nhập hàng, sản phẩm và doanh thu, không có các thông tin về khách hàng hay nhà cung cấp
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công nghệ Thông tin Truyền thông ——————– * ——————– BÁO CÁO MƠN HỌC: Nhập mơn hệ quản trị sở liệu Đề tài: Xây dựng hệ thống thông tin quản lý bán hàng Sinh viên thực hiện: Trần Lương Nguyên SHSV: 20152732 Lớp: CNTT2.1 - K60 Giảng viên hướng dẫn: ThS Đỗ Tuấn Anh HÀ NỘI - 2018 Lời nói đầu Đầu tiên, em xin gửi lời cảm ơn sâu sắc tới thầy giáo ThS Đỗ Tuấn Anh người tận tình giảng dạy hướng dẫn em suốt q trình học mơn Nhập mơn hệ quản trị sở liệu thực tập lớn môn học Em xin chân thành cảm ơn thầy cô giáo giảng dạy em năm học qua, kiến thức mà em nhận suốt quãng thời gian qua không giúp em thực tập lớn mà cịn vơ hữu ích cho cơng việc sau Hà Nội, tháng 5, 2018 Sinh viên thực hiên Trần Lương Nguyên i Mục lục Lời nói đầu i Danh sách hình vẽ iv TỔNG QUAN ĐỀ TÀI KHẢO SÁT YÊU CẦU CỦA HỆ THỐNG THÔNG TIN 2.1 Mô tả nghiệp vụ 2.1.1 Mô tả phân quyền hệ thống 2.1.2 Mô tả thiết kế quy trình nghiệp vụ Một số mẫu biểu thực tế 2.2 PHÂN TÍCH HỆ THỐNG QUẢN LÍ BÁN HÀNG 3.1 Phân tích chức 3.1.1 Biểu đồ phân cấp chức 3.1.2 Biểu đồ usecase Phân tích luồng liệu (DFD) 3.2.1 Mức khung cảnh (mức 0) 3.2.2 Mức đỉnh (mức 1) 3.2.3 Mức đỉnh (mức 2) 10 3.2.4 Kho liệu 12 3.2 THIẾT KẾ CƠ SỞ DỮ LIỆU 14 4.1 Thiết kế việc lưu trữ liệu 14 4.2 Cài đặt sở liệu sử dụng SQL Server 14 ii 4.3 Thiết kế sở liệu tầng Database 16 XÂY DỰNG ỨNG DỤNG CÓ KẾT NỐI VỚI CƠ SỞ DỮ LIỆU 24 5.1 Thiết kế lớp 24 5.1.1 Gói Model 24 5.1.2 Gói DbConnnection 27 5.1.3 Gói View 27 5.1.4 Liên hệ View Model 28 5.1.5 Biểu đồ lớp 28 Kết đạt 28 5.2 iii Danh sách hình vẽ 2.1 2.2 2.3 Phiếu nhập kho (sử dụng mua sản phẩm cửa hàng) Phiếu xuất kho (sử dụng bán sản phẩm cho khách hàng) Phiếu chi (sử dụng xuất chi phí phát sinh) 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 Modul chức Biểu đồ usecase tổng quan Phân rã usecase nhập hàng Phân rã usecase quản lí tài Phân rã usecase quản lí nhân viên DFD mức DFD mức DFD mức quản lí xuất/nhập hàng DFD mức quản lí tài DFD mức quản lí nhân viên 7 8 10 11 11 12 4.1 Biểu đồ sở liệu hệ thống 15 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Biểu đồ lớp chương trình Màn hình đăng nhập Chức bán hàng Chức nhập hàng(thêm sản phẩm vào kho) Quản lí tất sản phẩm có Quản lí nhân viên thêm/xóa nhân viên, tài khoản nhân viên Thêm chi phí phát sinh Quản lí doanh thu lợi nhuận Xem tất hóa đơn 28 29 29 29 30 30 30 31 31 iv 5 Chương TỔNG QUAN ĐỀ TÀI Tên đề tài: Xây dựng hệ thống thông tin quản lý bán hàng Mục đích đề tài: Việc ứng dụng CNTT vào kinh doanh thực từ lâu, nhiên thường hệ thống xây dựng dành cho doanh nghiệp lớn với số lượng sản phẩm khách hàng cần quản lí lớn, chi phí cao Mục đích đồ án xây dựng chương trình để giúp việc quản lý kinh doanh cửa hàng nhỏ lẻ dễ dàng Chương trình cần dễ sử dụng, khơng cần yêu cầu vốn đầu tư ban đầu hạ tầng lớn, dễ bảo trì chi phí trì hệ thống mức tối thiểu Giới thiệu hệ thống xây dựng: Một cửa hàng bán sản phẩm bao gồm loại với thông tin khác nhau: • Đĩa nhạc: Tên đĩa nhạc/tên hát, thông tin ca sĩ, nhạc sĩ, thể loại nhạc, năm sản xuất, • Đĩa phim: Tên đĩa phim, thơng tin diễn viên, đạo diễn, năm sản xuất, nhà sản xuất, thể loại phim, • Các loại sách: Tên sách, tác giả, thể loại sách, thông tin năm xuất bản, nhà xuất bản, Yêu cầu đặt ra: • Xây dựng hệ thống quản lý sản phẩm theo thuộc tính nêu, ngồi hệ thống cịn hỗ trợ quản lý theo số lượng, giá mua, giá bán sản phẩm • Ngồi cần phải quản lý mặt chí phí, bao gồm chi phí lúc nhập sản phẩm bán sản phẩm, chi phí trả lương cho nhân viên, chi phí định kì phát sinh Vì cửa hàng nhỏ, mục đích phần mềm sử dụng nội bộ, phần mềm hướng đến chức quản lí xuất nhập hàng, sản phẩm doanh thu, khơng có thơng tin khách hàng hay nhà cung cấp Chương KHẢO SÁT YÊU CẦU CỦA HỆ THỐNG THƠNG TIN 2.1 2.1.1 Mơ tả nghiệp vụ Mô tả phân quyền hệ thống Hệ thống phục vụ cho loại người dùng sau: Người quản lý: • Mơ tả: Là chủ cửa hàng người giao nhiệm vụ quản lý • Vai trị: Chịu trách nhiệm quản lý hoạt động tồn cửa hàng • Quyền: Sử dụng tồn chức hệ thống Nhân viên quản lí kho: • Mô tả: Nhân viên làm việc cửa hàng, thực nghiệp vụ nhập hàng hóa vào kho • Vai trò: Chịu trách nhiêm khâu nhập hàng từ nhà cung cấp, lập phiếu hóa đơn mua hàng, quản lí sản phẩm có cửa hàng • Quyền: Sử dụng chức năng: mua hàng; quản lý thông tin liên quan đến sản phẩm Nhân viên thu ngân: • Mơ tả: Nhân viên làm việc cửa hàng, thực nghiệp vụ bán hàng • Vai trị: Chịu trách nhiệm khâu toán bán sản phẩm cho khách hàng • Quyền: Sử dụng chức năng: bán mặt hàng có cửa hàng Nhân viên kế tốn: • Mơ tả: Nhân viên làm việc cửa hàng, thực nghiệp vụ quản lí tài cửa hàng • Vai trị: Chịu trách nhiệm khâu thu chi, doanh thu lợi nhuận cửa hàng thơng qua hóa đơn, quản lí thêm chi phí phát sinh cửa hàng • Quyền: Sử dụng chức năng: xem thơng tin tất loại hóa đơn, lập hóa đơn liên quan đến chi phí phát sinh, quản lí doanh thu lợi nhuận cửa hàng 2.1.2 Mô tả thiết kế quy trình nghiệp vụ Mua hàng: Khi mua hàng, nhân viên nhập hàng tiếp nhận hàng hóa, đồng thời kiểm tra xem thơng tin hàng hóa nhập có sẵn danh mục chưa Nếu chưa có thơng tin hàng hóa nhập tức mặt nhập lần đầu, nhân viên phải nhập đầy đủ thông tin hàng hóa Trong trường hợp mặt hàng lần nhập nhân Khi có đầy đủ thông tin, nhân viên nhập hàng tiến hành lập phiếu nhập hàng, in lưu trữ phiếu Khi phiếu nhập lập xong, số lượng hàng hóa tự động cập nhật vào sở liệu Bán hàng: Khi khách đến mua hàng có yêu cầu toán, nhân viên thu ngân tiếp nhận yêu cầu toán Nhân viên kiểm tra xem thơng tin mặt hàng tiến hành tính tiền, lập hóa đơn cho khách hàng Hóa đơn lưu trữ lại sở liệu, số lượng hàng quầy tự động cập nhật vào sở liệu Quản lí hàng hóa: Bất có u cầu, nhân viên quản lí kho kiểm tra thông tin tất sản phẩm có cửa hàng, ví dụ số lượng tại, giá mua vào, bán ra, Quản lí hóa đơn chi phí phát sinh: Khi cần kiểm tra hoạt động liên quan đến thu chi cửa hàng, nhân viên kế toán sử dụng thơng tin hóa đơn lưu trữ lại Các loại hóa đơn hóa đơn mua hàng, nhập hàng, tốn lương cho nhân viên, chi phí phát sinh Khi có hoạt động phát sinh chi phí, nhân viên kế tốn lập hóa đơn để lưu lại Quản lí nhân viên: Đây nghiệp vụ dành riêng cho người quản lí Mỗi có thêm nhân viên mới, người quản lí thêm thông tin nhân viên vào cung cấp cho họ tài khoản với chức liên quan đến nhiệm vụ họ để sử dụng Mỗi có nhân viên nghỉ việc người quản lí xóa thơng tin nhận viên Hàng tháng, quản lí tiến hành tốn tiền lương cho tất nhân viên, hóa đơn tốn tiền lương tự động lập lưu lại 2.2 Một số mẫu biểu thực tế Dưới số ví dụ mẫu biểu thường cửa hàng sử dụng: Hình 2.1: Phiếu nhập kho (sử dụng mua sản phẩm cửa hàng) Hình 2.2: Phiếu xuất kho (sử dụng bán sản phẩm cho khách hàng) Hình 2.3: Phiếu chi (sử dụng xuất chi phí phát sinh) RETURN @staffID; END GO Trigger UpdateQuantity Tự động cập nhật số lượng sản phẩm bảng sản phẩm có hoạt động mua vào sản phẩm/bán sản phẩm SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER UpdateQuantity ON [Invoice&Item Relation] AFTER INSERT AS BEGIN SET NOCOUNT ON; DECLARE @InvoiceType nvarchar(50); SELECT @InvoiceType = Invoices.[Invoice Type] FROM Invoices, inserted WHERE Invoices.invoiceID = inserted.invoiceID IF @InvoiceType = ’Import’ Begin UPDATE Items SET Items.Quantity = Items.Quantity + inserted.Quantity FROM inserted WHERE Items.itemID = inserted.itemID End IF @InvoiceType = ’Sale’ Begin UPDATE Items SET Items.Quantity = Items.Quantity - inserted.Quantity FROM inserted WHERE Items.itemID = inserted.itemID End END GO 17 Thủ tục get_current_budget Khơng có giá trị tham số truyền vào, output giá trị ngân sách cửa hàng SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE get_current_budget @budget float OUTPUT AS BEGIN SET NOCOUNT ON; SELECT @budget = [Current Budget] FROM [Current Budget] END GO Thủ tục get_staff_info_by_id Nhận vào UID nhân viên cần lấy thông tin, trả thơng tin nhân viên SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE get_staff_info_by_id @staffID char(10), @Name nvarchar(50) OUTPUT, @birthday date OUTPUT, @salary float OUTPUT, @position varchar(30) OUTPUT, @totalHours float OUTPUT, @sex bit OUTPUT AS BEGIN SET NOCOUNT ON; SELECT @Name = Name, @birthday = Birthday, 18 @salary = Salary, @position = Position, @totalHours = [Total Hours], @sex = Sex FROM Staffs WHERE UID = @staffID END GO Thủ tục insert_staff Thêm nhân viên vào bảng Staff, tham số vào UID, thông tin khác nhân viên tạm thời mặc định SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE insert_staff @uid char(10) AS BEGIN SET NOCOUNT ON; INSERT INTO Staffs (UID, Name, Salary, Position, [Total Hours], Birthday, Sex) VALUES (@uid, ’’, 0, ’’, 0, GETDATE(), 1) END GO Thủ tục insert_item Thêm sản phẩm với tham số vào thông tin sản phẩm SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE insert_item 19 @itemId nchar(10), @name nvarchar(50), @cost float, @purchase float, @quantity int, @itemType nvarchar(50), @pageNumber int, @publisher nvarchar(50) AS BEGIN SET NOCOUNT ON; INSERT INTO Items (itemID, Name, Cost, Purchase, Quantity, [Item Type], [Pages Number], Publisher) VALUES (@itemId, @name, @cost, @purchase, @quantity, @itemType, @pageNumber, @publisher) END GO Thủ tục insert_invoice Thêm hóa đơn với tham số vào thông tin hóa đơn SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE insert_invoice @invoiceId char(10), @invoiceType nvarchar(30), @sumCost float, @profit float, @des nvarchar(50), @createTime date AS BEGIN SET NOCOUNT ON; INSERT INTO Invoices (invoiceID, [Invoice Type], [Sum Cost], Profit, Description, [Created Time]) VALUES 20 (@invoiceId, @invoiceType, @sumCost, @profit, @des, @createTime) END GO Thủ tục insert_invoice_item_rela Thêm sản phẩm hóa đơn vào bảng liên kết chúng SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE insert_invoice_item_rela @invoiceId char(10), @itemId char(10), @quantity int AS BEGIN SET NOCOUNT ON; INSERT INTO [Invoice&Item Relation] (invoiceID, itemID, Quantity) VALUES (@invoiceId, @itemId, @quantity) END GO Thủ tục update_budget Cập nhật ngân sách SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE update_budget @currentBudget float OUTPUT AS BEGIN SET NOCOUNT ON; UPDATE [Current Budget] 21 SET [Current Budget] = ISNULL(@currentBudget, [Current Budget]) END GO Thủ tục update_item Cập nhật thông tin sản phẩm với giá trị tham số đầu vào SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE update_item @itemId char(10), @name nvarchar(50), @cost float, @pageNumber int AS BEGIN SET NOCOUNT ON; UPDATE Items SET Name = ISNULL(@name, Name), Cost = ISNULL(@cost, Cost), [Pages Number] = ISNULL(@pageNumber, [Pages Number]) WHERE itemID = @itemId END GO Thủ tục update_staff Cập nhật thông tin nhân viên với giá trị tham số đầu vào SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE update_staff @uid nchar(10), @name nvarchar(50), @salary float, 22 @position nvarchar(30), @totalHours float, @birthday date, @sex bit AS BEGIN SET NOCOUNT ON; UPDATE Staffs SET Name = ISNULL(@name, Name), Salary = ISNULL(@salary, Salary), Position = ISNULL(@position, Position), [Total Hours] = ISNULL(@totalHours, [Total Hours]), Birthday = ISNULL(@birthday, Birthday), Sex = ISNULL(@sex, Sex) WHERE UID = @uid END GO Thủ tục delete_item Xóa sản phẩm, thực chất gán cho trường kiểm tra bảng để đánh dấu khơng hiển thị sản phẩm lên, cịn thơng tin sản phẩm lưu trữ để phục vụ cho việc tra cứu hóa đơn trước SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE delete_item @itemId char(10) AS BEGIN SET NOCOUNT ON; UPDATE Items SET [Deleted Check] = ISNULL(1, [Deleted Check]) WHERE itemID = @itemId END GO 23 Chương XÂY DỰNG ỨNG DỤNG CÓ KẾT NỐI VỚI CƠ SỞ DỮ LIỆU Ứng dụng xây dựng ngôn ngữ Java, phần giao diện thiết kế Java Swing, kết nối tới sở liệu SQL Server JDBC 5.1 5.1.1 Thiết kế lớp Gói Model Gói bao gồm lớp chứa thơng tin đối tượng (Dữ liệu) tương tác với liệu đồng thời chịu trách nhiệm mơ hình hóa đối tượng Mơ hình quản lý (Ở gói Model.management) Lớp Model: Đây lớp trung tâm, quản lý liệu thao tác liên quan đến liệu chương trình • Các thuộc tính lớp budget thuộc lớp Budget, repository thuộc lớp Repository, human thuộc lớp Human • Các phương thức lớp addItem để thêm item (sách/đĩa nhạc/đĩa phim) vào repository; importInvoice để thêm hóa đơn nhập hàng (ImportInvoice) item vào budget repository; saleInvoice để thêm hóa đơn bán hàng (SaleInvoice) vào budget repository loại bỏ item bán khỏi budget repository; hire fire thêm xóa nhân viên thuộc lớp Staff thuộc tính human Lớp Repository: Đây lớp để chứa các sách, đĩa phim, đĩa nhạc thao tác liên quan đến chúng • Các thuộc tính chính: items, danh sách gồm đối tượng thuộc lớp Item 24 • Các phương thức chính: find để tìm kiếm item (thuộc lớp Item) theo id, importItems để thêm item dựa vào importInvoice (các item mua về); exportItems để xóa item dựa vào saleInvoice (các item bán ra) Lớp Human: Đây lớp để chứa các staff (nhân viên, quản lí, ) cửa hàng thao tác liên quan • Các thuộc tính chính: staffs, danh sách gồm đối tượng thuộc lớp Staff • Các phương thức chính: fire/hire để thêm xóa staff (thuộc lớp Staff); pay để trả lương cho staff theo id; setStaffs để thêm staff vào Lớp Budget: Đây lớp để quản lí chi phí cửa hàng thao tác liên quan • Các thuộc tính chính: currentBudget, số tiền mà cửa hàng có; savedInvoices, lưu lại danh sách tất hóa đơn, bao gồm hóa đơn mua vào sản phẩm, bán sản phẩm, chi phí phát sinh, trả lương cho staff • Các phương thức chính: processInvoice để xuất hóa đơn cập nhật currentBudget Cấu trúc liệu Lớp Entity: lớp cha lớp Invoice, InvoiceItem, Item, Account, SalaryPayment, Person, Staff (các lớp định nghĩa gói Model để phục vụ tạo lớp phục vụ cho thao tác lớp Human, Repository, Budget) Lớp chứa thuộc tính đối tượng id, phương thức để khởi tạo giá trị ban đầu cách ngẫu nhiên, truy cập thay đổi id Lớp Item: Kế thừa từ lớp Entity, lớp cha lớp Book, MusicCD, MovieCD Lớp xây dựng để trừu tượng hóa sản phẩm (sách, đĩa nhạc, đĩa phim) • Các thuộc tính chính: name, tên sản phẩm; cost, giá nhập item; purchase, giá bán item; quantity, số lượng item có; basicUnit đơn vị • Các phương thức chính: truy cập thay đổi thuộc tính sản phẩm Lớp Invoice: Kế thừa từ lớp Entity, lớp cha lớp ImportInvoice, SaleInvoice, SalaryInvoice, IncurredCostInvoice Lớp xây dựng để trừu tượng hóa hóa đơn mua vào bán sản phẩm • Các thuộc tính chính: type, loại hóa đơn; createdTime, ngày tạo hóa đơn; profit, lợi nhuận sau tốn hóa đơn; userHasRole, người chịu trách nhiệm việc lập hóa đơn; description, ghi hóa đơn • Các phương thức chính: Invoice để khởi tạo hóa đơn theo cách khác nhau; truy cập thay đổi thuộc tính description, createdTime, type hóa đơn 25 Lớp InvoiceItem: Kế thừa từ lớp Entity, lớp cha lớp SaleItem, ImportItem Lớp có chức liên quan đến hóa đơn mua vào bán sản phẩm • Các thuộc tính chính: item, loại item xét; quantity số lượng item • Các phương thức chính: Invoice để khởi tạo hóa đơn theo cách khác nhau; truy cập thay đổi thuộc tính description, createdTime, type hóa đơn Lớp Staff: Kế thừa từ lớp Entity, lớp để trừu tượng hóa nhân viên cửa hàng • Các thuộc tính chính: name tên nhân viên; salary tiền lương theo giờ; position chức vụ (quản lí, nhân viên, ); totalHours tổng số làm; sex giới tính; dateOfBirth ngày sinh nhân viên • Các phương thức chính: Phương thức khởi tạo Staff để tạo staff với thuộc tính tên, ngày sinh, tiền lương theo vị trí; phương thức liên quan đến truy cập thay đổi thuộc tính nhân viên Lớp SalaryPayment: Kế thừa từ lớp Entity, lớp dùng để thực thao tác trả lương cho nhân viên • Các thuộc tính chính: staff nhân viên; payPerHour tiền lương tính theo giờ; totalHours tổng số mà nhân viên làm • Các phương thức chính: Truy cập thay đổi thuộc tính đối tượng, ngồi cịn có phương thức getAmount để tính tổng số tiền mà nhân viên nhận Lớp Person: Kế thừa từ lớp Entity, lớp dùng để trừu tượng hóa đối tượng liên quan đến người, phục vụ cho thuộc tính sản phẩm (sách, đĩa phim, đĩa nhạc) • Các thuộc tính chính: name nhân; age tuổi, sex giới tính, personType dùng để phân loại (diễn viên, đạo diễn, ) • Các phương thức chính: Truy cập thay đổi thuộc tính đối tượng Lớp Account: Kế thừa từ lớp Entity, lớp dùng để tạo tài khoản sử dụng cho người dùng phục vụ cho việc thực phân quyền theo loại người dùng • Các thuộc tính chính: username tên đăng nhập; password mật khẩu, permissions quyền thực tài khoản • Các phương thức chính: Thay đổi, kiểm tra password, thêm/xóa quyền cho tài khoản 26 5.1.2 Gói DbConnnection Chứa lớp để phục vụ cho việc kết nối với sở liệu phần mềm Lớp Databse: Các thiết lập chung để kết nối với sở liệu Lớp HumanDB: Đây lớp phục vụ cho lớp Human gói Model, để kết nối lấy thông tin nhân viên Lớp RepositoryDB: Đây lớp phục vụ cho lớp Repository gói Model, để kết nối lấy thông tin sản phẩm Lớp BudgetDB: Đây lớp phục vụ cho lớp Budget gói Model, để kết nối lấy thông tin chi phí 5.1.3 Gói View Hiển thị liệu cho người dùng dựa hành động người dùng Và kết hợp với nhận lệnh từ người dùng, gửi lệnh đến cho Model để cập nhập liệu, kết lại truyền lệnh đến View để cập nhập giao diện hiển thị Lớp MainView: Gồm lớp: • saleInvoiceView (Hố đơn bán hàng) • importInvoiceView (Hố đơn mua hàng) • invoiceManagerView (Quản lý hoá đơn) • productView (Sản phẩm) • staffView (Quản lý nhân viên) • costView (Chi phí) • revenueAndProfitView (Doanh thu lợi nhuận) Lớp saleInvoiceView: Gồm bảng hiển thị mặt hàng hóa đơn nút để thêm, xóa, làm mới, tốn Khi bấm vào nút thêm, lên view để thêm mặt hàng muốn mua, view lớp AddSaleItem Lớp importInvoiceView: Gồm bảng hiển thị mặt hàng nhập vào nút để làm mới, thêm sản phẩm mới, xóa, tốn Khi bấm vào nút thêm, lên view để thêm mặt hàng nhập về, view lớp AddProductView Lớp invoiceManagerView: Gồm bảng hiển thị tất hóa đơn bảng để hiển thị chi tiết hóa đơn Lớp productView: Gồm bảng hiển thị tất sản phẩm có kho, gồm textbox để phục vụ cho việc tìm kiếm, nút xóa, làm Lớp staffView: Gồm bảng hiển thị danh sách nhân viên cửa hàng, nút thêm nhân viên mới, sa thải nhân viên, trả lương cho nhân viên (một người tất cả) Khi bấm vào nút thêm nhân viên view để thêm, view lớp AddNewStaffView Lớp staffView: Gồm bảng hiển thị danh sách nhân viên cửa hàng, nút thêm nhân viên mới, sa thải nhân viên, trả lương cho nhân viên (một người tất cả) Khi bấm vào nút thêm nhân viên view để thêm, view lớp AddNewStaffView Lớp costView: 27 Gồm bảng để hiển thị chi phí phát sinh, nút để thêm xóa chi phí phát sinh Khi bấm vào nút thêm view để nhập vào chi phí phát sinh, view thuộc lớp AddCostView Lớp revenueAndProfitView: Gồm bảng để hiển thị doanh thu lợi nhuận, lựa chọn tìm kiếm theo khoảng thời gian định 5.1.4 Liên hệ View Model Các thao tác người dùng với chương trình hàm xử lí kiện (Controller) gói View thực gửi kết đến cho Model, có thay đổi liệu Model gọi đến hàm để thông báo cho View biết thay đổi 5.1.5 Biểu đồ lớp Hình 5.1: Biểu đồ lớp chương trình 5.2 Kết đạt 28 Hình 5.2: Màn hình đăng nhập Hình 5.3: Chức bán hàng Hình 5.4: Chức nhập hàng(thêm sản phẩm vào kho) 29 Hình 5.5: Quản lí tất sản phẩm có Hình 5.6: Quản lí nhân viên thêm/xóa nhân viên, tài khoản nhân viên Hình 5.7: Thêm chi phí phát sinh 30 Hình 5.8: Quản lí doanh thu lợi nhuận Hình 5.9: Xem tất hóa đơn 31 ... TỔNG QUAN ĐỀ TÀI Tên đề tài: Xây dựng hệ thống thông tin quản lý bán hàng Mục đích đề tài: Việc ứng dụng CNTT vào kinh doanh thực từ lâu, nhiên thường hệ thống xây dựng dành cho doanh nghiệp lớn... thông tin đối tác với hệ thống Mơ tả q trình trao đổi thơng tin mức 0: Khi nhập hàng, quản lí kho nhập thông tin sản phẩm vào hệ thống, trình nhập hàng, tùy chọn xem thơng tin sản phẩm có cửa hàng. .. hàng từ hệ thống Khi bán hàng, thu ngân lựa chọn sản phẩm có cửa hàng phù hợp với yêu cầu khách hàng để tạo hóa đơn gửi đến hệ thống tiến hành toán Thơng tin hóa đơn nhập /bán hàng hệ thống lưu