KHẢO SÁT HIỆN TRẠNG CỦA HỆ THỐNG MUA BÁN HÀNG TẠI CÁC CỬA HÀNG
Mô tả hệ thống cũ
1.1.1 Khảo sát hệ thống quản lý của các cửa hàng:
Qua khảo sát hệ thống quản lý các cửa hàng chưa được tin học hóa, chúng ta thấy sự hoạt động của các cửa hàng đó cơ bản như sau:
Khi cửa hàng có khách đến mua hàng, bộ phận bán hàng sẽ xem yêu cầu cần mua hàng của khách Sau đó sẽ kiểm tra xem mặt hàng mà khách yêu cầu còn có trong kho hàng của công ty hay không với số lượng có đáp ứng được nhu cầu của khách hay không Nếu những yêu cầu đó thỏa mãn thì nhân viên bán hàng sẽ thỏa thuận giá cả với khách hàng Nếu khách hàng, một bản giao cho khách hàng và một bản giữ lại để thống kê sau này, đồng thời viết phiếu xuất hàng gửi cho thủ kho và thu tiền của khách hàng Đến cuối ngày bộ phận bán hàng sẽ nộp tiền bán hàng và hóa đơn xuất hàng cho cửa hàng trưởng Nếu các yêu cầu của khách không được thỏa mãn thì nhân viên bán hàng thương lượng với khách về thời gian có hàng và giá cả để khách có thể liên lạc lại sau và phải báo lại cho của hàng trưởng để viết phiếu nhập thêm hàng vào kho hàng.
Nếu khách hàng có nhu cầu về một mặt hàng nào đó mà cửa hàng không có thì bộ phận bán hàng sẽ đề xuất lên cửa hàng trưởng hoặc chủ cửa hàng để có thể kinh doanh thêm mặt hàng mới đó.
Các thủ kho có nhiệm vụ kiểm tra lại các phiếu nhập hàng và xuất hàng, thống kê lại số lượng hàng hóa có trong kho sau mỗi lần xuất hàng để kịp thời báo cho cửa hàng trưởng nhập mới những mặt hàng sắp hết.
Cửa hàng trưởng có nhiệm vụ thống kê các thông tin về nhà cung cấp, thông tin lợi nhận, thông tin khách hàng, thông tin về hàng hóa, viết các phiếu nhập
1.1.2 Ưu nhược điểm của hệ thống quản lý cửa hàng cũ
Hệ thống quản lý cửa hàng bằng phương pháp thủ công chỉ phù hợp với các cửa hàng có qui mô kinh doanh nhỏ hoặc các cửa hàng mới được thành lập, bộ máy tổ chức chưa ổn định.
Với bất kỳ một cửa hàng nào, giữ được uy tín trên thị trường, với khách hàng… là vô cùng quan trọng nên việc xử lý các số liệu đòi hỏi phải tuyệt đối chính xác và nhanh chóng Mà để đáp ứng điều này thì hệ thống quản lý cửa hàng theo kiểu cũ, bằng phương pháp thủ công khó có thể đảm bảo Nó thể hiện qua các vấn đề sau:
Khi nhận được đơn hàng của khách, do rất nhiều khách hàng còn nợ đọng tiền của công ty nên phải kiểm tra đơn hàng xem khách là khách mới hay cũ, để kiểm tra được điều này công ty phải kiểm tra trong đống sách với số liệu dày cộp nên rất lâu.
Khi khách mua hàng với một số lượng lớn hàng hóa mà của công tu nằm rải rác trên nhiều kho nên việc tìm kho có đủ hàng để lập hóa đơn yêu cầu kho đó xuất kho phải qua nhiều giai đoạn thủ công như xuống các kho để lấy số liệu, rồi về kiểm tra, thống kê lại…
Đối với quản lý các kho hàng do hàng ngày lượng hàng xuất, nhập vào kho là liên tục đưa ra nên mỗi ngày bộ phận quản lý kho lại phải lập một sổ sách thống kê hàng hóa, rồi đơn giao nhận hàng trong kho riêng Khi cần tổng hợp, in số liệu lại phải huy động tất cả các số liệu thống kê vừa vất vả lại tốn thời gian và nhân lực.
1.1.3 Ý tưởng về một hệ thống quản lý cửa hàng bằng máy tính: Để khắc phục các nhược điểm của hệ thống quản lý cửa hàng kiểu cũ, chúng ta có thể xây dựng một phần mềm quản lý cửa hàng bằng phương pháp tự động hóa Điều này sẽ đảm bảo được các yêu cầu sau:
Việc tính toán số liệu, cập nhật, tìm kiếm, sửa chữa hoàn toàn bằng máy tính nên độ chính xác được đảm bảo và thời gian được rút ngắn.
Tất cả các mẫu hóa đơn, phiếu xuất, phiếu nhập, thống kê,báo cáo… đã được lập trình sẵn trên máy tính, khi cần ta chỉ
6 việc in ra với số lượng cần thiết và các nhân viên chỉ việc ký tên vào là xong, chứ không cần phải viết tay.
Các số liện lưu trữ rất gọn nhẹ cho dù số lượng lưu trữ lớn mà không mất mát.
Tuy nhiên hệ thống quản lý mua bán hàng mới này cũng có một số nhược điểm:
+ Hệ thống quản lý cửa hàng tự động hóa làm giảm công sức, giảm thời gian lao động nên sẽ làm các nhân viên có thể bị mất việc làm.
+ Hệ thống có thể bị virut máy tính phá hoại làm mất mát dữ liệu nếu không cần thận.
+ Chi phí ban đầu để sử dụng phần mêm là tương đối cao…
PHÂN TÍCH HỆ THỐNG QUẢN LÝ CỬA HÀNG
Đặt vấn đề
Hệ thống thông tin là một ứng dụng đầy đủ và toàn diện nhất các thành tựu của công nghệ tin học vào một tổ chức Nó là thành tựu đạt được trong lĩnh vực ứng dụng tin học và đang có nhu cầu đòi hỏi của thực tiến ngày một lớn.
Phân tích thiết kế đối với phần mềm có một tầm quan trọng đặc biệt:
Cần có một cái nhìn đầy đủ, chính xác về hệ thống mong muốn trong tương lai Đó là một nhu cầu cần thiết đối với việc xây dựng một hệ thống lớn, phức tạp là cơ sở để chấp nhận và hoàn thiện nó.
Tránh sai lầm trong thiết kế (phải làm lại nhiều lần), tránh tốn kèm khi cần hoàn thiện, bảo trì và phát triển sau này mà đó lại là một yêu cầu đối với các phần mềm.
Xây dựng một hệ thống thông tin là công việc mang tính nghiệp vụ chuyên môn cao vì vậy nó có phương pháp luận và công cụ riêng Phân tích và thiết kế hệ thống không chỉ là vấn đề công nghệ mà còn mà những kinh nghiệm tích luỹ được trong quá trình làm việc Cho đến nay đã có nhiều công cụ tiện ích mạnh mẽ , phát triển phần mềm vẫn mạng nhiều tính nghệ thuật và phần lớn tính nghệ thuật đó lại nằm ở công đoạn phần tích và thiết kế hệ thống Chính vì thế phân tích và tiết kế có tầm quan trọng đối với sự phát triển phần mềm và ngày càng có nhu cầu lớn.
Khái niệm về hệ thống thông tin
2.2.1 Khái niệm về hệ thống
Hệ thống có thể đơn giản được xác định như một nhóm các phần tử có quan hệ và tương tác qua lại với nhau hình thành nên một thể thống nhất. Định nghĩa một cách mô tả thì hệ thống bao gồm: Tập hợp các phần tử, các mối quan hệ giữa các phần tử đó tạo thành một thể thống nhất có được chức năng hay mục tiêu của nó mà mỗi phần tử không thể có được.
Vậy:Hệ thống là tập hợp các phần tử có quan hệ qua lại với nhau cùng hoạt động hướng đến một mục tiêu chung thông qua việc tiếp nhận các yếu tố đầu vào và sản sinh ra các yếu tố đầu ra nhờ một quá trình chuyển đổi được tổ chức - một hệ thống như vậy được gọi là “hệ thống động”.
Hệ thống thông tin là một hệ thống sử dụng công nghệ thông tin để thu nhập, truyền, lưu trữ, xử lý và hiển thị thông tin được sử dụng cho một hay nhiều mục đích kinh doanh.
Về mặt kỹ thuật, hệ thống thông tin được xác định như một tập hợp các thành phần được tổ chức để thu thập xử lý, lưu trữ và phân bố thông tin hỗ trợ quyết định và kiểm soát trong một tổ chức Ngoài các chức năng kể trên, nó có thể giúp người quản lý phân tích các vấn đề cho phép nhìn thấy được một cách trực quan những đối tượng phức tạp, tạo ra các sản phẩm mới.
2.2.3 Mục tiêu và phân tích hệ thống
Bao gồm nhiều giai đoạn:
Giai đoạn tìm hiểu nhu cầu : nhằm làm rõ hệ thống thông tin sẽ được lập ra phải đáp ứng các nhu cầu gì của người dùng, các nhu cầu trước mắt, nhu cầu tương lai…
Giai đoạn phần tích : nhằm đi sâu vào bản chất các chi tiết của hệ thống cho thấy là hệ thống phải thực hiện những việc gì?
Và các dữ liệu mà nó đề cập là những dữ liệu nào? Có cấu trúc ra sao?
Giai đoạn thiết kế: nhằm đưa ra các quyết định và cài đặt hệ thống để sao cho hệ thống thoả mãn các yêu cầu mà giai đoạn phân tích đã đưa ra, đồng thời thích ứng với các điều kiện ràng buộc trong thực tế.
Giai đoạn cài đặt : gồm 2 công việc chính là lập trình và kiểm định, nhằm chuyển kết quả phân tích và thiết kế trên giấy thành một hệ thống chạy được.
Giai đoạn khai thác và bảo dưỡng : nhằm đưa hệ thống vào sử dụng, đồng thời thực hiện các chỉnh sửa, khi phát hiện hệ thống còn có chỗ chưa thích hợp
Khái niệm : Chức năng xử lý là chức năng diễn đạt các thao tác, nhiệm vụ hay tiến trình xử lý nào đó Tính chất quan trọng của chức năng là biến đổi thông tin, là phải thay đổi thông
1 0 tin theo dữ liệu vào theo một cách nào đó như tổ chức lại thông tin, bổ sung thông tin hoặc tạo ra thông tin mới.
Biểu diễn : Đường tròn hay ô van, trong đó có ghi nhãn (tên) của chức năng.
Nhãn (tên) chức năng : Phải là một động từ có thêm bổ ngữ nếu cần cho phép hiểu một cách vắn tắt chức năng “Làm gi?”,
Ví dụ: Chức năng Cập nhật, Báo cáo…
Khái niệm: Luồng dữ liệu là luồng thông tin vào hay ra của một chức năng xử lý.
Biểu diễn: Bằng mũi tên có hướng trên đó có ghi tên nhãn là tên luồng thông tin mang theo, mũi tên là chỉ hướng của luồng thông tin.
Nhãn(tên) luồng dữ liệu : Vì thông tin mang trên luồng nên tên phải là một danh từ cộng với tính từ nếu cần, cho phép hiểu vắn tắt nội dung của dữ liệu được chuyển giao
Khái niệm: Kho dữ liệu là các thông tin cần lưu giữ lại một khoảng thời gian để một vài chức năng xử lý hoặc tác nhân trong sử dụng
Biểu diễn : Kho dữ liệu được biểu diễn bằng các đoạn thẳng song song nằm ngang, kẹp giữa là tên của kho dữ liệu.
- Nhãn(tên) kho dữ liệu: Tên của kho dữ liệu phải là một danh từ cộng với tính từ nếu cần, cho phép hiểu vắn tắt nội dung của dữ liệu được lưu trữ.
Khái niệm: Tác nhân ngoài còn được gọi là đối tác (External Entities) là một người hay một nhóm, một tổ chức ở ngoài lĩnh vực nghiên cứu của hệ thống nhưng có một số hình thức tiếp xúc, trao đổi thông tin về hệ thống Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống và định rõ mối quan hệ của hệ thống với thế giới bên ngoài “Ngoài lĩnh vực nghiên cứu” không có nghĩa là ngoài tổ chức, chẳng hạn như đề tài này thì “Học sinh”, “Ban giám hiệu”, “Giáo viên” là tác nhân ngoài của hệ thống.
Biểu diễn : Tác nhân ngoài được biểu diễn hình chữ nhật có gán nhãn.
Nhãn(tên) tác nhân ngoài : Được xác định bằng danh từ kèm theo tính từ nếu cần thiết
Khái niệm: Tác nhân trong là một chức năng hay hệ thống con của hệ thống được mô tả ở trang khác của biểu đồ.
Lưu ý: Tác nhân trong xuất hiện chỉ làm nhiệm vụ tham chiếu
Biểu diễn : Tác nhân trong được biểu diễn bằng hình chữ nhật hở một cạnh và có gán nhãn
Nhãn(tên) luồng dữ liệu : Được xác định bằng động từ kèm bổ ngữ.
Một số chú ý khi xây dựng biểu đồ BLD:
1,Trong biểu đồ không có 2 tác nhân ngoài trao đổi trực tiếp với nhau
2,Không có trao đổi trực tiếp giữa 2 kho dữ liệu
3,Vì lý do trình bày nhằm tránh sự chồng chéo của các luồng dữ liệu nên tác nhân ngoài, tác nhân trong và kho dữ liệu cần sử dụng nhiều lần vẫn có thể được vẽ lại ở nhiều nơi trong cùng một biểu đồ để cho dễ hiểu hơn Tuy nhiên các chức năng và các luồng dữ liệu thì không thể được vẽ lặp lại
4, Đối với kho dữ liệu phải có ít nhất một luồng dữ liệu vào và ít nhất một luồng dữ liệu ra Nếu kho chỉ có luồng vào mà không có luồng ra là kho “rỗng” và ngược lại
5,Tác nhân ngoài không trao đổi trực tiếp với kho dữ liệu mà phải thông qua chức năng xử lý
Thống kê Quan lý nhân viênQuản lý nhà cung câpThông tin hàng hóaNghiệp vụ bán hàngViếp phiếu nhập
Nhân viên Hàng hóa Nhà cung cấp Phiếu Lợi nhuận
Phần tích hệ thống về xử lý
Phân tích hệ thống về mặt xử lý nhằm mục đích lập mô hình xử lý của hệ thống để trả lời câu hỏi “ Hệ thống làm gì?” tức là đi sâu vào bản chất, chi tiết của hệ thống về mặt xử lý thông tin và chỉ diễn tả ở mức độ logic, tức là trả lời câu hỏi: “Làm gì?” mà gạt bỏ câu hỏi “Làm như thế nào?” nhằm diễn tả mục đích bản chất của quá trình xử lý mà bỏ qua các yếu tố về việc thực hiện, hay cài đặt(yếu tố vật lý).
Biểu đồ phân cấp chức năng
2.4.1 Mô hình hóa chức năng
Chức năng thống kê được sử dụng để đưa ra các thông tin về nhân viên của cửa hàng, thống kê hàng hóa (hàng nhập mới, hàng tồn kho…) thống kê các thông tin về nhà cung cấp (các đối tác làm ăn của cửa hàng), thống kê các loại phiếu (phiếu xuất,
Thêmnhân viên Sửa nhân viên Xóa nhân viên Tìm kiếm nhân viên
Quản lý nhà cung cấp
Thêm nhà cung cấp Sửa nhà cung cấp Xóa nhà cung cấpTìm kiếm nhà cung cấp
1 4 phiếu nhập, hóa đơn bán hàng…) và thống kê lợi nhuận của cửa hàng theo ngày, theo tháng hoặc theo quý…
2.4.3 Chức năng “Quản lý nhân viên”
Bộ phận quản lý nhân viên sẽ ghi nhận các thông tin của các nhân viên mới, sửa chữa thông tin của các nhân viên nếu có sai xót, xóa thông tin của nhân viên nghỉ việc và có thể cung cấp các thông tin về một nhân viên bất kỳ thông qua chức năng tìm kiếm nhân viên.
2.4.4 Chức năng “Quản lý nhà cung cấp”
Tương tự như bộ phận quản lý nhân viên, bộ phận quản lý nhà cung cấp sẽ có chức năng thêm, sửa , xóa, tìm kiếm thông tin nhà cung cấp.
2.4.5 Chức năng “Quản lý thông tin hàng hóa”
Hàng trong kho Giá bán Tìm kiếm hàng hóa Hàng nhập kho
Phiếu xuất Quản lý bán hàng
Bộ phận quản lý thông tin hàng hóa sẽ đáp ứng nhu cầu về tra cứu hàng trong kho, tra cứu giá bán của các mặt hàng, tìm kiếm các thông tin về hàng hóa và lưu trữ các thông tin về hàng nhập kho
2.4.6 Chức năng “Nghiệp vụ bán hàng”
Nghiệp vụ bán hàng do nhân viên bán hàng phụ trách Do vậy nhân viên bán hàng sẽ phải làm những công việc làm như sau:
- Quản lý khách hàng: Ghi lại các thông tin cần thiết về khách hàng như: Tên, đỉa chỉ, số điện thoại, mặt hàng khách mua…
Thông tin hàng Viết phiếu nhập
Quản lý NV Thống kê
Quản lý nhà cung cấp
Hệ thống quản lý cửa hàng
Cửa hàng trưởng Nhân viên bán hàng
- Quản lý sổ bán hàng: Ghi và quản lý phiếu xuất, viết phiếu bảo hành và lưu trữ phiếu bảo hành của khách trong thời gian giấy bảo hành còn có tác dụng
Biểu đồ luồng dữ liệu
2.5.1 Biểu đồ luồng dữ liệu mức khung cảnh
2.5.2 Biểu đồ luồng dữ liệu mức dưới đỉnh Đọc thông tin phiếu xuất Đọc thông tin Nghiệp vụ
Xuất thông tin Đọc thông tin Xuất
Thông tin Đọc Đọc thông tin Đọc thông tin cửa hàng trưởng Đọc thông tin Đọc thông tin
Hệ thống quản lý cửa hàng
Thống kê Quản lý nhà cung cấp
Quản lý nhân viên Nhân viên
Quản lý thông tin hàng
Hàng hóa Đọc thông tin
Quản lý sổ bán hàng
Phiếu bảo hành, phiếu xuất
Hàng hóa Nhà cung cấp Hóa đơn
Danh sách nhân viên Danh sách hàng hóa Danh sách nhà CC Phiếu xuất/ nhập
2.5.2.1 Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng
Thông qua biểu đồ trên, ta thấy người cửa hàng trưởng có thể sử dụng chức năng thống kê để xem danh sách nhân viên của cửa hàng, danh sách hàng hóa trong kho, danh sách nhà cung cấp và các phiếu nhập xuất của cửa hàng.
Thêm nhân viên Sửa nhân viên Xóa nhân viên Tìm kiếm nhân viên
2.5.2.2 Biểu đồ mức dưới đỉnh của chức năng “Quản lý nhân viên”
Biểu đồ trên cho thấy cửa hàng trưởng có thể trực tiếu quản lý bộ phận nhân viêc của cửa hàng Tức là có thể bổ sung thêm nhân viên vào danh sách, sửa thông tin nhân viên, có quyền xóa nhân viên và tìm kiếm thông tin cá nhân về nhân viên.
Quản lý nhà cung cấp
Thêm nhà cung cấp Sửa nhà cung cấp Xóa nhà CC Tìm kiếm nhà CC
Cửa hàng trưởng Viết phiếu nhập
2.5.2.3 Biểu đồ mức dưới đỉnh của chức năng “Quản lý nhà cung cấp”
Cửa hàng trưởng cũng có quyền quản lý trực tiếp các thông tin về nhà cung cấp: Thêm sửa, xóa, tìm kiếm nhà cung cấp.
2.5.2.4 Biểu đồ mức dưới đỉnh của chức năng “Viết phiếu nhập”
Cửa hàng trưởng trực tiếp kiểm tra và quyết định cần nhập thêm mặt hàng nào từ nhà cung cấp.
Quản lý khách hàng Quản lý sổ bán hàng
Thêm khách hàngXoá khách hàng
Thêm khách hàng Thêm khách hàng
2.5.2.5 Biểu đồ mức dưới đỉnh của chức năng “Nghiệp vụ bán hàng”
Các nhân viên bán hàng của cửa hàng chỉ đảm nhận một công việc duy nhất Đó là nghiệp vụ bán hàng tức là quyền quản lý khách hàng, tiếp xúc khách hàng, ghi nhận thông tin khách hàng, bán hàng cho khách (Viết phiếu xuất kho, phiếu bảo hành cho khách hàng…)
Nhập hàng vào kho Xuất hang cho khách Tìm kiếm Hàng hoá
2.5.2.6 Biểu đồ mức dưới đỉnh của chức năng “Thông tin hàng hóa”
Nhân viên thủ kho có quyền tiếp nhận hàng vào trong kho hàng dựa vào phiếu nhập của cửa hàng trưởng, cho phép xuất hàng trong kho ra cho khách mua hàng dựa theo phiếu xuất hàng do nhân viên bán hàng viết.
PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG QLCH 23 3.1 Các luồng thông tin cần xử lý của hệ thống
Các luồng thông tin vào
- Thông tin về hàng hóa: Tên hàng, đặc điểm của hàng hóa, đơn giá hàng…
- Thông tin về nhà cung cấp: Tên nhà cung cấp, địa chỉ, số điện thoại…
- Thông tin về khách hàng: Tên khách hàng, địa chỉ, số điện thoại…
Các luồng thông tin ra
- Các báo cáo theo địng kì như: Báo cáo hàng nhập, báo cáo xuất hàng
- Các báo cáo thể hiện tình hình hoạt động của công ty như:Tra cứu đơn hàng, khách hàng, nhà cung cấp, tra cứu hàng trong kho, tra cứu giá bán…
Mô hình triển khai và các thành phần của hệ thống
Hệ thống quản lý cửa hàng được thiết kế cho 4 đối tượng sử dụng, gồm: Người quản trị hệ thống, cửa hàng trưởng, nhân viên bán hàng, thủ kho…
Chức năng của các thành phần nằm trong hệ thống quản lý cửa hàng được mô tỏ cụ thể như sau:
Quản lý nhân viên Quản lý kho hàng Sao lưu dữ liệu
Quản lý phiếu xuất Quản lý phiếu xuất Hoạch định giá bánQuản lý nhà cung cấp
3.2.1 Chức năng của người quản trị hệ thống
3.2.2 Chức năng của cửa hàng trưởng
Quản lý phiếu xuất Quản lý khách hàng Tra cứu bán Tra cứu giá bán
Kiểm kê tình trạng hàng Xác nhận phiếu nhập Xác nhận phiếu xuất
3.2.3 Chức năng của nhân viên bán hàng
3.2.4 Chức năng của thủ kho
Mô hình thực thể liên kết
3.3.1 Chuẩn hóa dữ liệu Để xây dựng được một hệ quản trị cơ sở dữ liệu của hệ thống “Quản lý cửa hàng” giúp cho máy tính làm việc có hiệu quả cao trong qua trình quản lý các công việc thì ta phải thiết kế được một hệ quản trị cơ sở dữ liệu đảm bảo:
Không dư thừa thông tin của quá trình quản lý, không lẫn lộn với các hệ thống khác.
Đảm bảo mọi dữ liệu của hệ thống quản lý bán hàng luôn an toàn, không mất mát thông tin trong quá trình thực hiện công việc quản lý.
Đảm bảo giảm được độ phức tạp tính toán chi tiết, dễ hiểu, đối với khách hàng dễ sử dụng khi khai thác, truy cập dữ liệu trong công việc quản lý, ngoài ra trong quá trình phân tích thì thông tin nhận được khi phân tích các biểu mẫu cũng là thông tin quan trọng giúp liên kết các thực thể với nhau, tạo được mối liên kết giữa các thực thể với nhau, tạo được mối quan hệ logic đối với chúng. Đối với mỗi thực thể ta cần xác định thông tin như: tên, thuộc tính, mối quan hệ, khóa giữa các thực thể Sau đó ta tiến hành chuẩn hóa mô hình quan hêk thực thể theo dạng chuẩn 3NF.
Sau khi tiến hành chuẩn hóa theo dạng chuẩn 3NF ta được kết quả như sau:
Hangnhap(makho, mahang, mahdn, matinhtrang, madvt, slnhap, giatri) Hangxuat(mahang, mahdb, makho, madvt, sl)
Khachhang(makhach, tenkhach, diachi, dienthoai)
Khohang(makho, manv, tenkho, mota)
Mathang(mahang, tenhang, mausac, madvt, khoiluong, chatlieu, noisx) Nhacungcap(mancc, tenncc, diachi, sdt, mota)
Nhanvien(manv, tennv, gioitinh, ngáyinh, sdt)
Phieunhap(mahdn, mancc, madvt, ngaynhap, DATT, dakhoa)
Phieuxuat(mahdb, makhach, madvt, ngayban, DATT, dakhoa)
Banggia(mahang, tinhtungngay, gia, madvt, giaqd)
Hangtonkho(mahang, makho, mancc, matinhtrang, ngaythongke, soluong)Soghinonhap(mancc, mahdn, ngaytt, DATT, conlai)
Soghinoxuat(makhach,tendangnhap,matkhau,lathukho, lanvbh,lachtruong, laquantri).
3.3.2 Sơ đồ mô hình thực thể liên kết
Thiết kế cơ sở dữ liệu
Trong quá trình thiết kế chúng ta đã quan tâm đến dữ liệu nhưng đó chỉ là dữ liệu logic Để thiết kế được cơ sở dữ liệu của hệ thống quản lý cưả hàng chúng ta phải tiến hành thiết kế vật lý của dữ liệu.
Trong qua trình thiết kế ngoài việc xét dữ liệu có thỏa mãn không, có trùng lặp không thì việc thiết kế hệ thống quản lý hệ thống cửa hàng phải quan tâm đến hai khía cạnh sao cho tiện lợi và nhanh chóng.
Thiết kế tệp cơ sở dữ liệu hệ thống quản lý cửa hàng là việc xây dựng mô hình thực thể liên kết hay mô hình thực thể quan hệ dựa trên hệ quản trị cơ sở dữ liệu như vậy thì trong qua trình phân tích chúng ta phải tạo ra các phương thức truy cập dễ dàng.
3.4.2 Mô hình cấu trúc dữ liệu của hệ thống quản lý cửa hàng
2.4.2.15 Bảng xác nhập phiếu xuất
2.4.2.16 Bảng xác nhận phiếu nhập
2.4.2.17 Bảng số ghi nợ nhập
2.4.2.18 Bảng sổ ghi nợ xuất
Thiết kế giao diện chương trình
Thiết kế giao diện là thiết kế màn hình giao diện giữa người dùng và máy tính trong đó diễn đạt công việc cần làm, ý nghĩa công việc và cung
3 4 cấp cho chúng ta biết thao tác mà chúng ta cần dùng, những thông số thường dùng.
Giao diện là hộp hội thoại phục vụ cho công việc kiểm soát hệ thống trao đổi thong tin giữa người sử dụng và hệ thống kiểm tra quyền truy cập và các thong báo.
3.5.1 Form đăng nhập hệ thống
3.5.3 giao diện chính của người quản trị
3.5.4 Giao diện chíng của cửa hàng trưởng
3.5.5 Giao diện chính của nhân viên bán hang
3.5.6 Giao diện chính của thủ kho
3.5.7 Giao diện chức năng của phiếu xuất hàng
3.5.8 Giao diện chức năng xử lý phiếu xuất chưa hợp lệ
3.5.9 Giao diện chức năng khoá sổ phiếu xuất
3.5.10 Giao diện chức năng tra cứu giá bán
3.5.11 Giao diện chức năng sao lưu dữ liệu
3.5.12 Giao diện chức năng viết phiếu nhập
3.5.13 Giao diện chức năng cập nhật nợ
3.5.14 Giao diện chức năng in phiếu xuất
3.5.15 Giao diện phiếu xuất hàng
Cài đặt chương trình
3.6.1 Ngôn ngữ và công nghệ sử dụng
Hiện nay, các ngôn ngữ lập trình rất đa dạng và phong phú, có rất nhiều ngôn ngữ lập trình mạnh, với rất nhiều hỗ trợ đối với người lập trình. Trong quá trình học ở trường, em được học các ngôn ngữ lập trình quản lý như: Access, Visual Basic Trong 2 ngôn ngữ lập trình mà em được học thì Visual Basic là ngôn ngữ lập trình mạnh nhất và rất phổ biến Nó mang tính chuyên nghiệp cao và rất thông dụng đối với các nhà lập trình chứ không chỉ đối với học sinh, sinh viên Chính vì lý do đó mà em quyết định chọn Visual Basic để viết phần mềm “Quản lý cửa hàng” Ngôn ngữ lập trình Visual Basic thể hiện nhiều ưu điểm nổi bật, hơn hẳn ngôn ngữ lập trình Access về khả nẳng xử lý dữ liệu, tính chính xác và độ bảo mật cho dữ liệu.
3.6.2 Mã nguồn cảu một số Form trong chương trình
Do chương trình được thiết kế với các bảng dữ liệu tương đối lớn, các form giao diện của chương trình khá nhiều Vì chường trình được viết cho nhiều đối tượng sử dung Bởi vậy, phần code (mã nguồn điều khiển chương trình) của hệ thống rất dài Dưới đây chỉ là code của một số form tiểu biểu trong chương trình.
3.6.2.1 Code form logon hệ thống
Private sub cboten_keypress (Keyascii as integer)
If KTUser = 1 then FrmLogon.Visible = False With MDIFrmQLBH
.MnuQTHT.Visible = true MnuCHT.Visible = False MnuQTHT.Visible = False MnuNVBH.Visible = False MnuThukho.Visible = False ThemUser.Enabled = false PhanquyenUser.Enabled = False XoaTK.Enabled = False
FrmLogon.Visible = false With MDIFrmQLBH
.mnuNVBH.Visible = True MnuQTHT.Visible = False MnuThukho.Visible = False MnuCHT.Visible = False PhanquyenUser.Enabled = False XoaTK.Enabled = False
.MnuThukho.Visible = True MnQTHT.Visible = False MnuCHT.Visible = False MnuNVBH.Visible = False ThemUser.Enabled = False PhanquyenUser.Enabled = False XoaTK.Enabled = False
‘FrmLogon.Visible = True MsgBox “Không tìm thấy tài khoản của bạn.” + Chr$(10) +
“Mời bạn nhập lại.”, vbOKOnly, “Thông báo”
Data1.DatabaseName = “ \Quan ly cua hang\QLCH.mdb”
If Data1.Recordset.RecordCount>0 then
Cboten.AddItem Data1.Recordset.Fislds(“TenDangNhap”)
Private sub TxtMatkhau_KeyPress(KeyAscii As Integer)
3.6.2.2 Code Form menu chính của chương trình
Private sub CapnhatHTK_click() FrmCapnhatHT.Show
Private sub capnhatKho_Click() FrmCapnhatKhohang.Show End sub
Private sub GhinhanPN_Click() FrmXacnhanphieunhap.Show End sub
Private sub GhinhanPX_Click() FrmXNphieuxuat.show
Private sub Hangbanhet_Click() Frmthongkehanghet.show
Private sub Hangnhap_Click() Frmthongkehangnhap.show End sub
Private sub hoachdinhGB_Click() Frmbanggia.show
Private sub huybokhoa_Click()Frmhuybonhapxuat.show
Private sub MDIForm_Unload(Cancel As Integer)
FrmLogon.Data1.DatabaseName = “ \Quan ly cua hang\ QLCH.mdb”
Do while Not EOF FrmLogon.cboten.AddItem.Fields(“Tendangnhap”) MoveNext
Private sub ThemUser_Click() FrmThemUser.show
Private subThongkeLN_Click() Frmloinhuan.show
Private sub Thongkenoncc_Click() Frmthongkenoncc.show
Private sub tracuuGB_Click() FrmtracuuGB.show
Private sub tracuuhang_Click() Frmtracuuhang.show
Private sub TracuuhangTK_Click() FrmTracuuHT.show
Private sub TracuuHTK_Click() FrmTracuuhang.show
Private sub Vietphieunhap_Click() Frmphieunhap.show
3.6.2.3 Code form cập nhật nhân viên
If CboManv.Visible = False Then Them
.Fields(“Manv”) = Ucase(text1.text) Else
Sua Fislds(“manv”) = ucase(cbomanv.text) End if
.Fields(“Tennv”) = Text2.text Fields(“Gioitinh”) = Me.Check1.Value Fields(“Ngaysinh”) = Datevalue(text3.text) Fields(Diachi”) = text4.text
.Fields(“SoDT”) = text5.text End with
Data1.Refresh With Data1.Recordset
If fields(“manv”) = Cbomanv.text then Text2.text = Fialds(“tennv”)
If Fields(“gioitinh”) = true then Check1.value = 1
Text3.text = Fields(“ngaysinh”) Text4.text = Fields(“Diachi”) If.Fields(“SoDT”)”” then
Text5.text = str(.fields(“SDT”)) Else
End if Exit do End if MoveNext Loop End if MoveNext Loop
End if End with End sub Private su Khoitao()
Check1.Value = false End sub
Private sub Check1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 or KeyAscii = 32 Then
Data3.DatabaseName = “ \Quan ly cua hang\QLCH.mdb”
Data3.RecordSource = “Select Manv, Tennv, ngaysinh, iif[gioitinh]=yes,’nam’,’N?’) as GT,” &_”Diachi, sodt From nhanvien”
If Cbomanv.visible = Flase Then
If Text1.Text”” And Len(Trim(Text1.Text)) 0 Then
Do while Not EOF CboMaNV AddItem Fields(“Manv”) MoveNext
Private sub text1_KeyPress(KeyAscii As Integer)
Privte sub text3_KeyPress(KeyAscii As Integer)
If IsDate(Text3.text) Then
MsgBox “Ngày sinh bạn nhập bị sai.”, vbOKOnly, “Thông báo” End if
Private sub text4_KeyPress(Keyascii As Integer)
Private sub text4_KeyPress(Keyascii As Integer)
3.6.2.8 Code ch ức năng khoá sổ phiếu xuất
Private Function KTXacNanCuaNVB() as Boolean
Data3.DatabaseName = “ \Quan ly cua hang\QLCH.mbd” Data3.RecordSource = “Select HangXuat.MaDB, Nhanvien.Manv, Nhanvien.Tennv, XNPhieuxuat.Xacnhan” &_ “From ((NhanVien Inner join KhoHang on Nhanvien.manv = khohang.manv) inner join XNPhieuxuat on Khohang.Makho = Hangxuat.Makho” &_
“Where Hangxuat.HDB = “” & Me.CboMaHD.Text & “’ “ &_ “Group by Hangxuat.MaHDB, Nhanvien.Manv, Nhanvien.Tennv, XNPhieuXuat.xacnhan”
If.Fields(“XacNhan”).Value = True Then
Tb = False Laymahd = Fields(“MaHDB”) Exit Do
Tb = False End if End with KtXacnhanCuaNVB = tb End Functinon
Private Function KTXacnhanCuaTK() as Boolean
Data2.DatabaseName = “ \Quan ly cua hang\QLCH.mdb” Data2.RecordSource = “Slect Phieuxuat.MaHDB, Nhanvien.Manv, Nhanvien.TenNV, XNPhieuXuat.XcNhan” &_ “From (Nhanvien inner join (Phieuxuat Inner Join XNPhieuXuat.MaHDB)” &_
“On Nhanvien.Manv = XNPhieuxuat.Manv) inner join hangxuat on Phieuxuat.MaHDB= ‘’’ & Me.CboMaHD.text & ‘’’ “ &_ “Group By Phieuxuat.MaHDB, nanvien.Manv, Nanvien.Tennv, XNPhieuxuat.XacNhan”
If fields(“Xacnhan”).Value = True Then
Laymanhd = Fields(“MaHDB”)Exit Do
End with KTXacNhanCuaTK = tb End Function
Me.DataKhoaPhieu.Recordset.edit End sub
Me.DataKhoaPhieu.DatabaseName = “ \Quan ly cua hang\ QLCH.MDB”
Me.DataKhoaPhieu.Refresh With Me.DataKhoaPhieu.recordset
If Fields(“MaHDB”) = Me.CboMaHD.text then
Sua Fields(“Dakhoa”).value = true Update
Exit DoEnd if.MoveNext
Loop End if End with Me.DataKhoaPhieu.Refresh End sub
‘if Me.Opt1.value = True Then
If KTXacNhanCuaNVB = True And KTXacNhanCuaTK = True Ten Khoa Phieu
MsgBox “Hoa don nay chua hop le ”, vbOKOnly, “Thong bao” FrmChuakhoa.show
Data1.recordsource=“selectMaHDB,Makhach,madvt,ngayban,datt,iif(dakh oa=yes,’đã khoá’,’chưa khoá’) as khoa from Phieuxuat”
Do While Not EOFMe.CboMaHD.AddIten Fields(“MaHDB”)
End if End with End sub Private sub Form_Load()
Me.CboMaHD.Clear Data1.DatabaseName= “ \Quan ly cua hang\QLC.mdb”
Data1.RecordSource=“selectMaHDB,Makhac,maDVT,Ngayban,Datt,iif(D akhoa= yes,’Đã khoá’,’chưa khoá’)as khoa from PhieuXuat”
Data1.DatabaseName = “ \Quan ly cua hang\QLCH.mdb”
Makhach,MaDVT,Ngayban,Datt,iif(Dakhoa=yes,’ Đã khóa,’Chưa khóa’) as Khoa from Phieuxuat”
Data1.DatabaseName = “ \Quan ly cua ang\QLC.mdb”
Makhach, MaDVT, NgayBan,DaTT,iif(Dakhoa=yes,’Đã khóa,’Chưa khóa’) as Khoa from Phieuxuat”
End sub ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Đánh giá kết quả thu được
Trong suốt thời gian thực tập tại Công ty cổ phần dịch vụ và giải pháp Tùng Dương và thời gian làm đề tài em thấy mình có những ưu điểm, nhược điểm sau: Ưu điểm: o Làm việc chăm chỉ, nghiêm túc và có hướng phấn đấu o Tích cực trong việc tìm kiếm học hỏi từ các nguồn thông tin mới Đối với đề tài: o Mô tả hoàn thiện, dễ hiểu các chức năng hệ thống o Trình bày được khái niệm liên quan đến đề tài o Thiết kế giao diện đẹp, thân thiện, dễ sử dụng o Việc cài dặt chương trình đã hoàn thành
Bên cạnh những ưu điểm trên em thấy mình còn khá nhiều khuyết điểm cần cố gắng phấn đấu khắc phục cụ thể:
Nhược điểm: o Thiếu kinh nghiệm lập trình o Chưa thực sự tin tưởng vào khả năng làm việc của bản thân
Hướng phát triển đề tài: o Đưa chương trình áp dụng thực tế o Xây dựng một số tiện ích như sao lưu dữ liệu và xuất các file dữ liệu sang Excel… o Mở rộng thêm một số forms cho chương trình
DANH MỤC TÀI LIỆU THAM KHẢO
1 Phân tích và thiết kế hệ thống_Nguyễn Văn Ba
Nhà xuất bản Đại học Quốc gia Hà Nội_2004
2 Giáo trình Acces và ứng dụng_TS Huỳnh quyết thắng
Nhà xuất bản giáo dục_2004
3 Hướng dẫn sử dụng Access 97-2000_GS Phạm Văn Ất Nhà xuất bản giao thông vận tải_2002
4 Giáo trình cơ sở dữ liệu_Hồ Cẩm Hà_Đặng Cao Tùng
Nhà xuất bản Đại học sư phạm
6 Tự học lập trình Visual Basic 6.0_2005
Nhà xuất bản thống kê
7 Tổng hợp một số đề tài tham khảo Đại học quốc gia Hà Nội
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG CỦA HỆ THỐNG MUA BÁN HÀNG TẠI CÁC CỬA HÀNG 2
1.1 Mô tả hệ thống cũ: 3
1.1.1 Khảo sát hệ thống quản lý của các cửa hàng: 3
1.1.2 Ưu nhược điểm của hệ thống quản lý cửa hàng cũ 4
1.1.3 Ý tưởng về một hệ thống quản lý cửa hàng bằng máy tính: 5
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG QUẢN LÝ CỬA HÀNG 7
2.2 Khái niệm về hệ thống thông tin 8
2.2.1 Khái niệm về hệ thống 8
2.2.3 Mục tiêu và phân tích hệ thống 9
2.3 Phần tích hệ thống về xử lý 13
2.4 Biểu đồ phân cấp chức năng 13
2.4.1 Mô hình hóa chức năng 13
2.4.3 Chức năng “Quản lý nhân viên” 14
2.4.4 Chức năng “Quản lý nhà cung cấp” 14
2.4.5 Chức năng “Quản lý thông tin hàng hóa” 15
2.4.6 Chức năng “Nghiệp vụ bán hàng” 15
2.5 Biểu đồ luồng dữ liệu 16
2.5.1 Biểu đồ luồng dữ liệu mức khung cảnh 16
2.5.2 Biểu đồ luồng dữ liệu mức dưới đỉnh 16
2.5.2.1 Biểu đồ luồng dữ liệu mức dưới đỉnh của chức năng “Thống kê” 18
2.5.2.2 Biểu đồ mức dưới đỉnh của chức năng “Quản lý nhân viên” 19
2.5.2.3 Biểu đồ mức dưới đỉnh của chức năng “Quản lý nhà cung cấp” 20
2.5.2.4 Biểu đồ mức dưới đỉnh của chức năng “Viết phiếu nhập” 20
2.5.2.5 Biểu đồ mức dưới đỉnh của chức năng “Nghiệp vụ bán hàng” 21
2.5.2.6 Biểu đồ mức dưới đỉnh của chức năng “Thông tin hàng hóa” 22
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG QLCH 23 3.1 Các luồng thông tin cần xử lý của hệ thống 23
3.1.1 Các luồng thông tin vào: 23
3.1.2 Các luồng thông tin ra: 23
3.2 Mô hình triển khai và các thành phần của hệ thống 24
3.2.1 Chức năng của người quản trị hệ thống 25
3.2.2 Chức năng của cửa hàng trưởng 25
3.2.3 Chức năng của nhân viên bán hàng 26
3.2.4 Chức năng của thủ kho 26
3.3 Mô hình thực thể liên kết 26
3.3.2 Sơ đồ mô hình thực thể liên kết 28
3.4 Thiết kế cơ sở dữ liệu 29
3.4.2 Mô hình cấu trúc dữ liệu của hệ thống quản lý cửa hàng 29