MỤC LỤC
Chương I. KHẢO SÁT HIỆN TRẠNG VÀ TÌM HIỂU BÀI TOÁN QUẢN LÝ BÁN HÀNG - 5 -
1.1. Cơ sở lý thuyết khảo sát hiện trạng: - 5 -
1.1.1. Mục đích khảo sát hiện trạng: - 5 -
1.1.2. Nội dung khảo sát và đánh giá hiện thực: - 5 -
1.1.3. Các yêu cầu khi điều tra: - 6 -
1.1.4. Các phương pháp điều tra: - 6 -
1.1.5. Phân loại và biên tập các thông tin điều tra: - 7 -
1.1.6. Phê phán hiện trạng: - 7 -
1.1.7. Phác họa giải pháp và cân nhắc tính khả thi: - 8 -
1.1.8. Các nguyên tắc đảm bảo: - 8 -
1.2. Hệ thống quản lý bán hàng: - 9 -
1.2.1. Tìm hiểu hệ thống: - 9 -
1.2.1.1. Tổng quan về hệ thống quản lý bán hang tại chi nhánh công ty TNHH TM & DV Vĩnh Cường Đà Nẵng: - 9 -
1.2.1.2. Các văn bản giấy tờ liên quan: - 9 -
1.2.2. Bài toán quản lý bán hàng: - 18 -
1.2.2. 1. Mô tả bài toán: - 18 -
1.2.2.2. Phát biểu thành bài toán quản toán: - 20 -
1.2.3. Yêu cầu và hướng giải quyết: - 22 -
1.2.3.1. Yêu cầu phần mềm: - 22 -
1.2.3.2 Cách tiếp cận và hướng giải quyết: - 24 -
Chương II. PHÂN TÍCH HỆ THỐNG QUẢN LÝ BÁN HÀNG - 24 -
2.1 Cơ sở lý thuyết phân tích hệ thống quản lý bán hàng. - 24 -
2.1.1. Đại cương về hệ thống thông tin: - 24 -
2.1.1.1. Một số khái niệm cơ bản: - 24 -
2.1.1.2. Quy trình phát triển hệ thống thông tin: - 26 -
2.1.2. Phân tích cơ sở dữ liệu: - 30 -
2.1.2.1. Một số khái niệm: - 30 -
2.1.2.2. Các bước xây dựng thiết kế cơ sở dữ liệu logic: - 33 -
2.2. Phân tích hệ thống quản lý bán hàng - 35 -
2.2.1. Phân tích hệ thống về chức năng: - 35 -
2.2.1.1. Biểu đồ phân rã chức năng: - 35 -
2.2.1.2. Đặc tả chức năng của hệ thống: - 36 -
2.2.1.3. Ma trận thực thể chức năng: - 39 -
2.2.1.4. Biểu đồ luồng dữ liệu: - 40 -
2.2.2. Phân tích hệ thống về dữ liệu: - 45 -
2.2.2.1. Xác định các thực thể và các thuộc tính cho thực thể: - 46 -
2.2.2.2. Xác định các liên kết và các mối quan hệ của thực thể: - 46 -
2.2.2.3. Mô hình thực thể/ liên kết (Mô hình E-R): - 47 -
2.2.2.4. Chuẩn hóa các quan hệ: - 49 -
2.2.2.5. Mô hình thực thể quan hệ: - 51 -
Chương III. THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG QUẢN LÝ BÁN HÀNG - 52 -
3.1. Thiết kế hệ thống - 52 -
3.1.1. Thiết kế tổng thể: - 52 -
3.1.1.1. Phân định danh giới chức năng máy tính thực hiện và thủ công: - 52 -
3.1.1.2. Phân định các hệ thống con của máy tính: - 54 -
3.1.1.3. Thiết kế biểu mẫu và tài liệu in: - 54 -
3.1.1.4. Thiết kế màn hình chọn: - 54 -
3.1.2. Thiết kế cơ sở dữ liệu: - 55 -
3.1.2.1. Phiếu nhập: - 55 -
3.1.2.2. Phiếu xuất: - 55 -
3.1.2.3. Hàng nhập: - 55 -
3.1.2.4. Hàng xuất: - 56 -
3.1.2.5. Hàng: - 56 -
3.1.2.6. Hóa đơn: - 56 -
3.1.2.7. Hàng bán: - 57 -
3.1.2.8. Kho: - 57 -
3.1.2.10. Khách hàng: . - 57 -
3.1.2.11. Hình thức thanh toán: - 58 -
3.1.2.12. Phiếu chi: - 58 -
3.1.2.13. Phiếu thu: - 58 -
3.1.3. Thiết kế các chương trình: - 59 -
3.1.3.1. Projects xử lý cơ sở dữ liệu SumoDBA: - 59 -
3.1.3.2. Projects xử lý các Form, giao diện chương trình Sumo: - 59 -
3.1.3.3. Project Report: - 69 -
3.2. Cài đặt hệ thống quản lý bán hàng: - 71 -
3.2.1. Cài đặt cơ sở dữ liệu: - 71 -
3.2.1.1. Cài đặt cơ sở dữ liệu trên SQL Server: - 71 -
3.2.1.2. Thiết lập trên LLBLGEN: - 72 -
3.2.2. Cài đặt code: - 73 -
3.2.2.1 Cài đặt code trên Visual Studio: - 73 -
3.2.2.2. Cài đặt Report: - 73 -
3.2.3. Kết quả chương trình: - 73 -
Chương IV. KẾT LUẬN - 83 -
4.1. Những kết quả đạt được: - 83 -
4.2. Hướng phát triển: - 83 -
4.3. Kết luận: - 84 -
84 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 10131 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đồ án Phân tích thiết kế và xây dựng hệ thống quản lý bán hàng qua mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iá theo tuyến đường, ngày nhập hàng, thời hạn bảo hành. Một số ứng dụng cần thực hiện: bổ sung thêm một mặt hàng mới và lưu lại kết quả đó, cập nhật đơn giá nhập và đơn giá xuất, cập nhật các chi phí khác như cước phí vận chuyển …
Việc nhập hàng được quản lý bởi các thông tin: số phiếu nhập, ngày nhập, tên nhà cung cấp, số hóa đơn, mã hàng, mặt hàng, đơn vị tính, số lượng.
Xuất hàng được quản lý bởi các thông tin: mã xuất kho, ngày đặt hàng, nhân viên nhận hàng, tên khách. Mã hàng, tên hàng, số lượng, đơn vị tính.
Khách hàng đặt mua hàng của công ty thông qua việc gọi điện thoại, gửi đơn đặt hàng hoặc fax. Công ty sẽ trả hàng tận kho cho khách hàng kèm hóa đơn bán hàng của công ty. Ta quản lý hóa đơn bán hàng bởi các thông tin: hóa đơn số, mã khách, mã nhân viên, ngày lập, hình thức thanh toán, tên hàng, số lượng, đơn giá bán, tổng tiền. Một hóa đơn bán nếu chưa đủ hàng để cung cấp có thể xuất làm nhiều lần.
Tương tự như vậy Công ty nhập hàng từ công ty tổng thông qua hóa đơn đặt hàng hoặc gọi điện thoại trực tiếp hoặc gửi fax.
Đối với nhân viên cần quản lý ở các thông tin: mã nhân viên, họ tên nhân viên, ngày sinh, ngày vào làm việc, địa chỉ, điện thoại và nơi làm việc.
Đối với đối tác là khách hàng ta quản lý ở các mục: mã khách, tên khách hàng, địa chỉ liên hệ, người đại diện giao dịch, điện thoại, mail.
Một số tính toán:
Định giá:
Giá nhập = giá mua + các chi phí khác
Các chi phí khác ở đây: cước vận chuyển, thuế giá trị gia tăng …
Giá thành = giá nhập + chi phí khác.
Chi phí khác: khấu hao …
Giá vốn = giá thành + chi phí khác.
Chi phí khác: bao bì, quảng cáo, phần trăm lương nhân viên.
Giá bán = giá vốn * a%
a% tùy theo từng loại mặt hàng, từng khu vực có giá trị khác nhau
Lãi lỗ = giá bán – giá vốn.
Tính toán khác:
Doanh thu: P = Q * p
Q là số lượng bán ra, p là đơn giá.
Lượng tồn kho: LT = TK đầu kỳ + SL nhập – SL xuất
TK đầu kỳ: thống kê đầu kỳ, SL nhập: số lượng nhập, SL xuất: số lượng xuất ra.
Chiết khấu: CK = tổng tiền/HD * a%
a% là tỷ lệ chiết khấu,tùy vào khu vực khách hàng và mặt hàng.
Yêu cầu và hướng giải quyết:
Yêu cầu phần mềm:
Phầm mềm quản lý bán hàng phải đảm bảo được những yêu cầu sau:
Yêu cầu chức năng:
Hệ thống cần đảm bảo được những chức năng sau:
Phân quyền truy nhập:
Kế toán kho: được phép truy cập vào hệ thống thực hiện các công việc: xuất hàng, nhập hàng, thống kê hàng tồn, …
Kế toán tài chính: được phép truy cập vào hệ thống thực hiện các công việc liên quan đến tài chính của công ty như: lập phiếu nhập tiền vào tài khoản công ty, lập phiếu xuất tiền, các khoản thu chi phát sinh, thống kê công nợ, …
Trưởng phòng kinh doanh: truy cập vào hệ thống để thực hiện những công việc: cập nhật thông tin về hàng hóa, lập hóa đơn bán hàng.
Lưu trữ: hệ thống cần đảm bảo lưu trữ về:
Hàng hóa: hệ thống cần đảm bảo lưu trữ các thông tin về hàng hóa như: tên, đặc điểm, giá, thời gian bảo hành, … Trong đó có các thao tác về hàng hóa như: thêm, sửa, xóa, …
Khách hàng: thông tin về những khách hàng là đại lý bán và giới thiệu các sản phẩm của công ty, bao gồm các thông tin về: họ tên, địa chỉ, điện thoại, …
Đơn đặt hàng: quản lý các đơn đặt hàng từ phía khách hàng và của công ty với công ty tổng, bao gồm các thông tin về: tên hàng, số lượng, ngày đặt, … Cùng các thao tác thêm mới, sửa, hủy, …
Phiếu nhập hàng: quản lý về các thông tin nhập từ đơn đặt hàng vào kho, bao gồm các thông tin số phiếu, tên hàng, số lượng, đơn giá, ngày nhập, giá thành, … Ngoài ra, công ty còn nhập hàng từ phía khách hàng khi hàng có lỗi, ..
Phiếu xuất: quản lý về các thông tin số phiếu xuất, tên hàng, số lượng, ngày xuất, đơn giá, … cùng các thao tác: thêm mới, sửa, xóa.
Tra cứu:
Hàng hóa: tìm kiếm thông tin về mặt hàng, thời gian bảo hành, …
Đơn đặt hàng: thông tin về các đơn đặt hàng, số lượng từng mặt hàng để làm văn bản đối chiếu, …
Khách hàng: thông tin về khách hàng.
Phiếu nhập: thông tin về mặt hàng, số lượng, đơn giá, …
Phiếu xuất: thông tin về số lượng, mặt hàng, tổng số tiền, khách hàng, số dư nợ (nếu có), …
Thống kê:
Thống kê lượng hàng bán ra theo tháng, quý, năm.
Thống kê lượng hàng nhập vào theo tháng, quý, năm.
Thống kê sản phẩm bị lỗi, bảo hành, ..
Thống kê lãi suất, tiền thu chi của công ty,…
Thống kê lượng tồn kho, …
Báo cáo tổng kết, báo cáo công nợ, doanh thu, …
Có chức năng in ấn các văn bản như: hóa đơn bán hàng, phiếu nhập hàng, phiếu xuất hàng, danh sách mặt hàng, hợp đồng mua bán, …
Yêu cầu hệ thống:
Phần mềm có giao diện thân thiện với người dùng, thuận tiện, dễ sử dụng.
Cách tiếp cận và hướng giải quyết:
Đối với một bài toán quản lý sẽ có nhiều cách tiếp cận. Phổ biến là hai cách tiếp cận:
Cách tiếp cận bằng các phương pháp có cấu trúc, hay còn được gọi là cách tiếp cận hướng chức năng.
Cách tiếp cận bằng phương pháp hướng đối tượng.
Đối với cách tiếp cận hướng chức năng còn một số bất cập mà phương pháp hướng đối tượng đã phần nào khắc phục được những nhược điểm đó. Và ngày nay khi ngôn ngữ lập trình ngày càng phát triển theo hướng đối tượng như: DOT.NET, C#, Java, VB.NET,… thì phương pháp hướng đối tượng đang dần thay thế cho phương pháp hướng chức năng.
Đối với bài toán quản lý này em lựa chọn phương pháp tiếp cận hướng chức năng, cài đặt cơ sở dữ liệu trên SQL Server 2005 và sử dụng ngôn ngữ lập trình C Sharp.
Chương II. PHÂN TÍCH HỆ THỐNG QUẢN LÝ BÁN HÀNG
Cơ sở lý thuyết phân tích hệ thống quản lý bán hàng.
Đại cương về hệ thống thông tin:
Một số khái niệm cơ bản:
Hệ thống thông tin là một hệ thống bao gồm con người, phương tiện và các phương pháp xử lý thông tin.
Hệ thống thông tin bao gồm hai thành phần cơ bản: các dữ liệu ghi nhận thực trạng của doanh nghiệp và các xử lý cho phép biến đổi các dữ liệu.
Các dữ liệu: đó là các thông tin được lưu và duy trì nhằm phản ánh thực trạng hiện thời hay quá khứ của doanh nghiệp. Có thể tách các dữ liệu thành hai phần:
Các dữ liệu phản ánh cấu trúc nội bộ cơ quan như dữ liệu về nhân sự, phòng ban, nhà kho, … Cấu trúc cơ quan không phải là cố định mà có thể có biến động khi có một sự kiện xảy ra (chẳng hạn khi một nhân viên nghỉ việc, chuyển địa điểm nhà kho, …). Sự kiện thưởng xảy ra bất chợt ngoài ý muốn của con người. Điều chỉnh lại các dữ liệu cho hợp lý được gọi là cập nhật.
Các dữ liệu phản ánh các hoạt động kinh doanh/ dịch vụ như: bán hàng, xuất/ nhập hàng, … được coi là một tác nghiệp (chẳng hạn nhập về một lô hàng, xuất hóa đơn, …) Khi một tác nghiệp xảy ra sự kiện này cần được ghi nhận và làm thay đổi dữ liệu phản ánh các hoạt động kinh doanh.
Các xử lý: đó là những quá trình biến đổi thông tin nhằm vào hai mục đích chính:
Sản sinh các thông tin theo thể thức quy định, chẳng hạn lập các chứng từ giao dịch (hóa đơn, phiếu thu, …), lập các báo cáo, thống kê, …
Trợ giúp ra các quyết định, thường là cung cấp những thông tin cần thiết cho việc lựa chọn một quyết định của lãnh đạo như lệnh điều động, mẫu hợp đồng, …
Mỗi xử lý thường áp dụng một số quy tắc quản lý định sẵn và diễn ra theo một trật tự (gọi là thủ tục). Các quy tắc quản lý và các thủ tục có thể được ấn định bởi hệ thống lãnh đạo và như vậy có thể điều chỉnh theo ý muốn hoặc một số được quy định từ bên ngoài mà ta không thể tùy tiện thay đổi được.
Trong thực tế, thuật ngữ hệ thống thông tin thường được dùng để chỉ môi trường điện tử - tin học trợ giúp cho một công việc quản lý cụ thể nào đó, hay nói cách khác là để chỉ cái mục đích đạt được sau quá trình xây dựng nhằm tin học hóa trợ giúp cho công tác quản lý.
Quy trình phát triển hệ thống thông tin:
Quy trình phát triển hệ thống thông tin được chia thành nhiều giai đoạn. Tùy thuộc vào phương pháp luận và quy định về phương thức làm việc của đơn vị, quy trình này có thể được chia thành số lượng bước nhiều ít khác nhau. Tuy nhiên có thể tổng hợp chung thành các các bước: Khảo sát, phân tích, thiết kế, xây dựng, cài đặt và bảo trì hệ thống.
Chiến lược và khảo sát:
Là giai đoạn tìm hiểu quy trình hoạt động của hệ thống thực, các nhu cầu thông tin chính làm cơ sở xác định các yêu cầu, phạm vi của hệ thống thông tin.
Việc khảo sát thường được tiến hành qua các giai đoạn:
Khảo sát sơ bộ: nhằm mục đích khả thi của bài toán.
Khảo sát chi tiết: nhằm xác định chính xác những gì sẽ thực hiện và khẳng định những kết quả thu được.
Báo cáo: lập hồ sơ khảo sát.
Ở giai đoạn khảo sát cần xác định rõ những nhu cầu, vấn đề quan tâm, để có giới hạn chính xác của công việc. Cũng ở giai đoạn này cần tìm hiểu và xác định cụ thể đối tượng sử dụng dù họ có thể sẽ bị biến động cả về số lượng và loại công việc.
Phân tích hệ thống:
Là giai đoạn xác định rõ các mục tiêu quản lý chính cần đạt được của hệ thống, nên được các yếu tố quan trọng và đảm bảo đạt được các mục tiêu của hệ thống. Dựa trên các mục tiêu đó, xác định được các mô hình chức năng và mô hình dữ liệu.
Mục tiêu chính của giai đoạn này là biến đổi phần đầu vào thành các đặc tả có cấu trúc. Đây là quá trình mô hình hóa hệ thống với các sơ đồ luồng dữ liệu, thực thể liên kết, sơ đồ phân rã chức năng, sơ đồ ngữ cảnh, …
Các công cụ thể hiện (chủ yếu là dạng đồ họa) được sử dụng trong các bước khác nhau của quá trình xây dựng và có thể để phục vụ các mục đích, đối tượng khác nhau. Việc sử dụng các công cụ là không bắt buộc (đặc biệt là các công cụ luồng dữ liệu) và tùy thuộc vào sở trường của đội ngũ phân tích hệ thống. Trong thực tế, phần phân tích dữ liệu là phức tạp và quan trọng nhất. Các phần phân tích chức năng và phân tích dữ liệu không được bỏ qua.
Phân tích chức năng:
Cung cấp một cách nhìn tổng thể tới mọi công việc. Xác định rõ các công việc cần phải giải quyết để đạt mục tiêu quản lý của hệ thống. Việc phân rã là một cách biểu diễn cấu trúc chức năng giúp cho việc kiểm tra các chức năng còn thiếu và có thể dễ dàng phân tích, tổ hợp các chức năng công việc. Cấu trúc phân rã này không phản ánh độ quan trọng hay thứ tự giải quyết các chức năng. Trong giai đoạn phân tích chỉ nên đưa vào các chức năng phản ánh nghiệp vụ và thuộc phạm vi của mục tiêu quản lý đặt ra.
Một chức năng được xem là đầy đủ gồm những thành phần sau:
Tên chức năng.
Mô tả có tính tường thuật.
Đầu vào của chức năng (dữ liệu).
Đầu ra của chức năng (dữ liệu).
Các sự kiện gây ra sự thay đổi, việc xác định và hiệu quả của chúng.
Phân tích chức năng đưa ra những chi tiết quan trọng sẽ được dùng lại nhiều lần trong các giai đoạn sau của quá trình phân tích. Sơ đồ chức năng sau khi được lập sẽ cho chúng ta một cách nhìn toàn diện hơn về những nhu cầu hệ thống.
Phân tích dữ liệu:
Thực thể là đối tượng chứa thông tin cơ bản phục vụ cho các chức năng mà hệ cần giải quyết. Mỗi thực thể là một nhóm các dữ liệu có cùng thuộc tính, luôn cùng xuất hiện. Các thực thể trung gian sẽ sinh ra trong phần thiết kế. Các thực thể lấy dữ liệu từ các thực thể cơ bản nhưng sẽ bị sửa đổi theo yêu cầu của chức năng cũng cần đưa vào giai đoạn phân tích.
Phân tích ngữ cảnh:
Mô tả mối quan hệ thực tế của hệ thống với các yếu tố, tác nhân liên quan đến hệ thống. Trong sơ đồ, phần bên trong sẽ thể hiện các chức năng chính ở mức tổng quát nhất với các dòng dữ liệu chính trong quan hệ. Phần bên ngoài có thể là các tác nhân như con người, một tổ chức hay bộ phận nghiệp vụ của hệ thống khác và dòng dữ liệu liên quan đến hệ thống.
Phân tích luồng dữ liệu:
Sơ đồ dòng dữ liệu (DFD) là một công cụ để trợ giúp bốn hoạt động chính:
Phân tích: dùng để xác định các quy trình quản lý, thể hiện yêu cầu của người sử dụng.
Thiết kế: dùng để minh họa các phương án cho phân tích viên, lập trình viên và người dùng xem xét khi thiết kế một hệ thống mới. Thể hiện quy trình xử lý thông tin trong hệ thống.
Liên lạc: DFD là một công cụ trực quan, đơn giản, dễ hiểu trợ giúp cho việc hiểu biết lẫn nhau giữa phân tích viên và người sử dụng.
Tài liệu: Việc dùng DFD trong đặc tả yêu cầu người dùng và đặc tả thiết kế hệ thống làm đơn giản công việc mô hình hóa và chấp nhận những tài liệu như vậy.
Thiết kế hệ thống:
Là giai đoạn phát triển các bước phân tích ở giai đoạn trước thành các mô hình logic và vật lý, thiết kế giao diện với người sử dụng. Giai đoạn này phụ thuộc nhiều vào cấu hình của phần cứng và phần mềm được lựa chọn.
Phần đầu của quá trình thiết kế là các đặc tả yêu cầu đã được xây dựng trong quá trình phân tích. Trong giai đoạn này từ khái niệm biễu diễn bởi mô hình quan hệ thực thể có thể sinh ra được các mô hình dữ liệu logic. Giai đoạn này là quá trình chuyển từ các mô hình dữ liệu và chức năng thành các thiết kế cơ sở dữ liệu và thiết kế module. Trong giai đoạn thiết kế, có rất nhiều công cụ cần phải sử dụng. Để có kết quả tốt và hiệu quả thì cần phải lựa chọn và sử dụng công cụ cho phù hợp tránh dùng nhiều quá hoặc ít quá sẽ gây ảnh hưởng và lãng phí thời gian cho hệ thống.
Thiết kế hệ thống bao gồm những công việc sau:
Xác định hệ thống máy tính.
Phân tích việc sử dụng dữ liệu.
Hình thức hóa hệ thống thành phần: áp dụng các cách kiểm soát cần thiết, gộp nhóm các thành phần chức năng.
Thiết kế cơ sở dữ liệu vật lý.
Thiết kế chương trình.
Xây dựng chương trình:
Là giai đoạn lập trình trên cơ sở các phân tích, thiết kế ở các giai đoạn trước. Kết quả là chương trình cần xây dựng.
Giai đoạn này gồm các bước:
Thi công: Trên cơ sở kết quả thiết kế tiến hành tích hợp, mã hóa các module chương trình, viết các câu lệnh sản sinh cơ sở dữ liệu, thực hiện các câu lệnh trên hệ quản trị cơ sở dữ liệu lựa chọn.
Tạo các cơ sở dữ liệu kiểm tra.
Kiểm thử chương trình.
Cài đặt hệ thống:
Lập tài liệu hướng dẫn sử dụng.
Chuyển đổi dữ liệu cũ: thực hiện chuyển đổi cơ sở dữ liệu nếu có yêu cầu thay đổi sang hệ thống mới. Việc này đòi hỏi đồng thời hiểu biết cấu trúc của cả hệ thống cũ và hệ thống mới và nguyên tắc chuyển đổi.
Kiểm nghiệm, cài đặt.
Bảo trì hệ thống:
Bảo trì hệ thống được tính từ khi hệ thống được chính thức đưa vào sử dụng. Công việc bảo trì bao gồm:
Theo dõi việc sử dụng hệ thống, nhận các thông báo lỗi.
Sửa đổi, nâng cấp phiên bản.
Trợ giúp hiệu chỉnh các sai sót số liệu.
Phân tích cơ sở dữ liệu:
Một số khái niệm:
Cơ sở dữ liệu là tập hợp dữ liệu về một đơn vị tổ chức được lưu trên máy và có cách tổ chức quản lý theo một mô hình phù hợp với đơn vị tổ chức đó.
Hệ quản trị cơ sở dữ liệu là hệ thống các phần mềm cho phép mô tả, lưu trữ thao tác các dữ liệu trên cơ sở dữ liệu nó bảo đảm bí mật, an toàn với nhiều người sử dụng.
Mô hình dữ liệu là một tập các khái niệm và kí pháp dùng để mô tả dữ liệu, các mối quan hệ của dữ liệu, các ràng buộc trên dữ liệu của một tổ chức.
Có nhiều mô hình dữ liệu được đề xuất và chia làm nhiều nhóm. Ở đây chúng ta chỉ xét hai mô hình dữ liệu được sử dụng khá phổ biến:
Mô hình thực thể liên kết. có 3 kiểu mô hình thực thể/ liên kết:
Mô hình thực thể/ liên kết kinh điển: đây là dạng ban đầu của mô hình và cũng đã từng được ứng dụng nhiều. Nó cũng xuất phát từ ba khái niệm cơ bản: thực thể, liên kết và thuộc tính.
Mô hình thực thể/ liên kết mở rộng: được phát triển từ mô hình thực thể liên kết kinh điển. Nó có thêm 3 điểm mở rộng: các kiểu thuộc tính đa trị, các kiểu thuộc tính phức hợp, các kiểu thực thể con. Từ biểu đồ E/R mở rộng ta có thể biến đổi về biểu đồ E/R kinh điển.
Mô hình thực thể liên kết hạn chế: mặc dù nó bị hạn chế về các hình thức diễn tả song lại rất gần với mô hình quan hệ.
Một số khái niệm cơ bản về mô hình thực thể liên kết nói chung:
Thực thể: là một đối tượng cụ thể hay trừu tượng tồn tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống thông tin.
Thuộc tính: là tính chất mô tả một khía cạnh nào đó của thực thể như vậy thuộc tính là thông tin cần quản lý dữ liệu.
Trong mô hình thực thể có nhiều kiểu thuộc tính:
Thuộc tính đơn.
Thuộc tính đơn trị.
Thuộc tính đa trị.
Thuộc tính được suy diễn.
Thuộc tính khóa.
Khóa:
Siêu khóa của một lược đồ quan hệ: là một tập gồm 1 hay nhiều thuộc tính của lược đồ có tính chất xác định duy nhất một bộ.
Khóa của một lược đồ quan hệ: là một siêu khóa tối thiểu mà ta không thể bỏ bớt một thuộc tính nào ra khỏi nó mà vẫn giữ được tính xác định duy nhất cho mỗi bộ.
Khóa ngoài của một lược đồ quan hệ là một tập hợp gồm một hay nhiều thuộc tính là khóa của lược đồ quan hệ khác.
Tập liên kết:
Liên kết là sự kết hợp của một số thực thể.
Kiểu liên kết là một tập hợp các liên kết có cùng kiểu hay cùng vai trò.
Một số phép toán trong ngôn ngữ đại số quan hệ cần lưu ý:
Phép chọn: là phép chọn ra những bộ theo một điều kiện cụ thể nào đó.
Phép chiếu: nhằm loại bỏ một số thuộc tính và thu hẹp quan hệ về các thuộc tính còn lại.
Phép kết nối tự nhiên: là phép kết nối bằng trên các thuộc tính cùng tên của hai quan hệ.
Phân rã một quan hệ: mục đích là tách quan hệ R thành hai quan hệ S và T nhỏ hơn mà không mất thông tin nghĩa là:
S & T đều là chiếu của R
Kết nối của S & T lại là R.
Lưu lý: Một số quan hệ chúng ta không thể phân rã được.
Ràng buộc trên các kiểu liên kết:
Ràng buộc về tỷ số lực lượng.
Ràng buộc về sự tham gia.
Quan hệ:
Là sự gom nhóm hai hay nhiều thực thể với nhau trong đó mỗi thực thể có một vai trò nhất định.
Quan hệ 1-1: một phần tử của A kết hợp với không quá một phần tử của B:
Quan hệ 1-nhiều: một phần tử của A có thể kết hợp với N phần tử của B và ngược lại một phần tử của B chỉ kết hợp duy nhất với một phần tử của A.
Quan hệ nhiều-nhiều: một phần tử của A có thể kết hợp với N phần tử của B và ngược lại, mỗi phần tử của B có thể kết hợp với N phần tử của A
Trong đó: A, B là tập các thuộc tính.
R là tập hữu hạn các phần tử, R ≠ Æ
Các dạng chuẩn:
Phụ thuộc hàm: A xác định B hay B phụ thuộc hàm vào A{ (A à B): khi đó mỗi phần tử của A chỉ xác định được duy nhất một phần tử của B}.
Dạng chuẩn 1NF – First Normal Form: Là dạng chuẩn mà trong lược đồ quan hệ đó không còn chứa các thuộc tính đa trị hay phức hợp.
Dạng chuẩn 2NF – Seccond Normal Form: ): một lược đồ được gọi là ở dạng chuẩn 2 khi nó thuộc dạng chuẩn 1 và mọi thuộc tính không là khóa của một bảng đề phụ thuộc hàm đầy đủ vào khóa.
Dạng chuẩn 3NF – Third Normal Form: một lược đồ được gọi là ở dạng chuẩn 3 nếu nó thuộc chuẩn 2 và mọi thuộc tính không là khóa của bảng đều không phụ thuộc hàm bắc cầu vào khóa.
Dạng chuẩn Boyce – Codd – BCNF: một lược đồ quan hệ R được gọi là ở dạng chuẩn Boyce-Codd nếu XàA đúng trên lược đồ R và A không thuộc X thì X chứa một khóa của R hay X là siêu khóa.
Các bước xây dựng thiết kế cơ sở dữ liệu logic:
Quá trình thiết kế cơ sở dữ liệu logic có đầu vào là một mô hình dữ liệu quan niệm, đầu ra là một tập hợp các quan hệ được chuẩn hóa:
Biểu diễn các thực thể:
Mỗi thực thể của sơ đồ E-R được biểu diễn thành một quan hệ. Trong đó các thuộc tính của thực thể trở thành các thuộc tính của quan hệ và thuộc tính định danh của thực thể trở thành khóa chính của quan hệ.
Một quan hệ có thể biểu diễn dưới dạng bảng hay dạng cấu trúc.
Ví dụ: dạng bảng:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maLoaiHang
Nchar
10
Mã hình loại hàng_khóa chính
tenLoaiHang
Nvarchar
50
Tên loại hàng
ghiChu
Nvarchar
50
Ghi chú
Dạng cấu trúc:
Biểu diễn các mối quan hệ:
Một quan hệ được biểu diễn bằng một hình thoi, bên trong hình thoi là tên của quan hệ và được nối với các kiểu thực thể liên quan. Biểu diễn mối quan hệ còn phụ thuộc vào bậc cũng như bản số của quan hệ đó:
Quan hệ 1- nhiều hai ngôi và không có thuộc tính riêng.
Quan hệ nhiều - nhiều hoặc có thuộc tính riêng hoặc có mối quan hệ.
Chuẩn hóa các quan hệ:
Chuẩn hóa dữ liệu là một phương pháp khoa học để phân tách (scientific method of breaking down) một bảng có cấu trúc phức tạp (complex table structures) thành những bảng có cấu trúc đơn giản (simple table structures) theo những quy luật đảm bảo (certain rule) không làm mất thông tin dữ liệu. Kết quả là sẽ làm giảm bớt sự dư thừa và loại bỏ những sự cố mâu thuần về dữ liệu, tiết kiệm được không gian lưu trữ.
Quá trình chuẩn hóa thường gồm một số bước sau:
Quan hệ chưa chuẩn hóa: là quan hệ có chứa thuộc tính lặp.
Quan hệ ở dạng chuẩn 1NF: là quan hệ không chứa thuộc tính lặp.
Quan hệ ở dạng chuẩn 2NF: là quan hệ ở dạng chuẩn 1 và không tồn tại các thuộc tính không khóa phụ thuộc vào một phần khóa chính.
Quan hệ ở dạng chuẩn 3NF: là quan hệ ở dạng chuẩn 2 và không còn tồn tại các thuộc tính không khóa phụ thuộc bắc cầu vào khóa chính.
Quan hệ ở dạng chuẩn BCNF: là quan hệ ở dạng chuẩn 3 và không tồn tại các thuộc không khóa phụ thuộc hàm vào khóa chính(khóa dự tuyển).
Quan hệ ở dạng chuẩn 4NF: là quan hệ ở dạng chuẩn BCNF và không tồn tại các thuộc tính không khóa phụ thuộc đa trị vào thuộc tính khóa.
Như vậy để chuẩn hóa các quan hệ ta xét lần lượt từng quan hệ và kiểm tra tính chuẩn của nó. Trước hết phải xác định các phụ thuộc hàm và khóa chính của quan hệ. Sau đó kiểm tra lần lượt các chuẩn đối với quan hệ.
Phân tích hệ thống quản lý bán hàng
Phân tích hệ thống về chức năng:
Biểu đồ phân rã chức năng:
Hình 7: Biểu đồ phân rã chức năng
Đặc tả chức năng của hệ thống:
Chức năng quản lý xuất nhập hàng:
Chức năng nhập hàng:
Cho phép người dùng thao tác các công việc nhập hàng vào kho với số lượng thực hàng nhập về từ công ty tổng.
Trong chức năng nhập hàng có các công việc sau:
Lập phiếu nhập hàng: là thiết lập một phiếu nhập hàng mới hoặc nhập lại hàng từ khách hàng.
Xem thông tin các phiếu nhập hàng trước.
Hủy việc nhập hàng.
Lưu thông tin phiếu nhập hàng.
Chức năng xuất hàng:
Cho phép người dùng thao tác các công việc xuất hàng từ kho.
Trong chức năng xuất hàng gồm các công việc sau:
Lập phiếu xuất hàng: thiết lập một phiếu xuất hàng cho khách theo: xuất bán, xuất đổi (bảo hành), xuất khuyến mại.
Xem thông tin các phiếu xuất hàng.
Hủy việc xuất hàng.
Lưu lại thông tin phiếu xuất.
In phiếu xuất hàng.
Chức năng thống kê:
Cho phép người dùng tổng hợp lại số lượng hàng xuất, hàng nhập, trong tháng, trong năm.
Trong chức năng thống kê gồm những công việc sau:
Thống kê hàng nhập.
Thống kê hàng xuất.
Thống kê hàng tồn.
In báo cáo thống kê.
Chức năng quản lý thu chi:
Chức năng quản lý thu:
Cho phép người dùng thao tác các công việc thu tiền: thu nợ từ khách hàng.
Chức năng quản lý thu gồm những công việc sau:
Lập phiếu thu:
Lưu phiếu thu vào cơ sở dữ liệu.
Xem phiếu thu.
In phiếu thu.
Hủy phiếu thu.
Chức năng quản lý chi:
Cho phép người dùng thao tác các công việc chi tiền: chi tiêu các khản trong công ty (tiền điện, nước, điện thoại, tiếp khách, …), trả tiền hàng, …
Chức năng quản lý chi gồm những công việc sau:
Lập phiếu chi.
Lưu phiếu chi vào cơ sở dữ liệu.
Xem phiếu chi.
In phiếu chi.
Hủy phiếu chi.
Chức năng thống kê:
Cho phép người dùng tổng hợp lại số lượng tiền thu chi trong trong từng tháng, trong từng năm.
Trong chức năng thống kê thu gồm những công việc sau:
Thống kê thu.
Thống kê chi.
Thống kê công nợ của khách hàng.
In báo cáo thống kê.
Chức năng bán hàng:
Chức năng quản lý hàng:
Cho phép người dùng thao tác các công việc cập nhật hàng:
Thêm hàng: khi có sản phẩm mới cần nhập bổ sung thêm hàng.
Sửa thông tin về hàng: khi có sự thay đổi thông tin về sản phẩm.
Xóa hàng.
Xem danh sách các mặt hàng.
In danh sách các mặt hàng.
Quản lý hóa đơn:
Cho phép người dùng thao tác các công việc bán hàng: nhận đơn đặt hàng, phúc đáp lại đơn đặt hàng, lập hóa đơn bán hàng theo đơn đặt hàng của khách hàng.
Trong chức năng này gồm những công việc sau:
Thêm hóa đơn: mỗi lần xuất hóa đơn bán hàng cho khách hàng.
Sửa thông tin về hóa đơn: khi có sự thay đổi về số lượng hay mặt hàng từ phía khách hàng.
Xóa hóa đơn.
Xem danh sách các hóa đơn.
In hóa đơn bán hàng.
Chức năng quản lý khách hàng:
Cho phép người dùng thao tác các công việc quản lý khách hàng.
Chức năng này gồm những công việc cụ thể sau:
Thêm khách hàng mới.
Sửa thông tin về khách hàng.
Xóa khách hàng.
Xem danh sách các khách hàng.
In danh sách khách hàng
Chức năng tra cứu:
Cho phép người dùng tìm kiếm các thông tin như: mã hàng, tên hàng, loại hàng, số hóa đơn bán hàng, số phiếu nhập, phiếu xuất, phiếu thu, phiếu chi, khách hàng, ...
Chức năng quản lý nhân viên và khách hàng:
Chức năng cập nhật nhân viên:
Cho phép người dùng thao tác các công việc quản lý nhân viên trong công ty.
Chức năng này gồm những công việc cụ thể sau:
Thêm nhân viên mới.
Sửa thông tin về nhân viên trong công ty.
Xóa nhân viên khỏi danh sách.
Xem danh sách nhân viên trong công ty.
Ma trận thực thể chức năng:
Ma trận thực thể chức năng là công cụ để phân tích dữ liệu trong quá trình khảo sát.
Hàng
Khách hàng
Phiếu nhập
Phiếu xuất
Phiếu thu
Phiếu chi
Kho
Nhân viên
Hóa đơn
HTTT
NVKD
X
X
X
X
KTKho
X
X
X
KTTaiChinh
X
X
X
Admin
X
X
X
X
X
X
X
X
X
X
Biểu đồ luồng dữ liệu:
Là một loại biểu đồ nhằm mục đích diễn tả một quá trình xử lý và trao đổi thông tin giữa các chức năng. Biểu đồ luồng dữ liệu (BLD) được chia làm 3 mức:
Mức 0(Mức khung cảnh): là mức khái quát của hệ thống, mô tả sự trao đổi thông tin của các đối tác với hệ thống.
Hình 8: Biểu đồ luồng dữ liệu mức khung cảnh.
Mô tả quá trình trao đổi thông tin ở mức 0:
Nhà cung cấp sẽ gửi bản báo giá sản phẩm đến cho chi nhánh. Chi nhánh có thể gọi điện thoại hoặc fax đến cho công ty để đặt hàng. Chi nhánh nhập hàng về kho.
Phòng kinh doanh tìm kiếm khách hàng, làm hợp đồng mua bán với khách hàng. Đồng thời, phòng kinh doanh nhận đơn đặt hàng từ phía khách hàng, sau đó gửi đơn phúc đáp lại cho khách hàng hoặc nếu có đủ lượng hàng và có thể giao hàng ngay thì gửi lại cho khách hàng hóa đơn bán hàng cùng lượng hàng trong đơn.
Phòng kế toán kho sẽ tiến hành xuất hàng cho khách hàng.
Mức 1(Mức đỉnh): là mức mô tả quá trình trao đổi thông tin của những chức năng chính với nhau và đối tác.
Hình 9: Biểu đồ luồng dữ liệu mức đỉnh
Mô tả quá trình trao đổi thông tin ở mức 1:
Phòng kinh doanh gửi yêu cầu nhập hàng với nhà cung cấp. Nhà cung cấp gửi bảng báo giá sản phẩm đến cho phòng kinh doanh và xuất hàng cho chi nhánh. Kế toán kho kiểm kê hàng hóa và nhập vào kho hàng.
Khách hàng khi có nhu cầu mua hàng thì có thể gọi điện trực tiếp đến công ty cho nhân viên phụ trách kinh doanh hoặc fax cho công ty, hoặc gửi đơn đặt hàng. Phòng kinh doanh sẽ kiểm tra, lập hóa đơn và kế toán kho sẽ tiến hành xuất hàng.
Khách hàng có thể thanh toán với công ty theo một trong hai hình thức sau: chuyển khoản vào tài khoản của công ty, hoặc trả tiền trực tiếp cho nhân viên bán hàng. Kế toán tài chính có nhiệm vụ, theo dõi việc thanh toán của khách hàng và các khoản chi cho công ty.
Mức 2(Mức dưới đỉnh): mô tả quá trình trao đổi thông tin một cách chi tiết của chức năng nhỏ trong từng chức năng lớn.
BLD chức năng 1: Chức năng quản lý xuất nhập hàng.
Hình 10: Biểu đồ luồng dữ liệu mức dưới đỉnh. Chức năng xuất nhập hàng
Mô tả quá trình trao đổi thông tin ở mức 2, chức năng xuất nhập hàng:
Công ty chuyển hàng đến cho chi nhánh, kế toán kho kiểm kê số lượng hàng trong phiếu xuất của công ty rồi nhập vào kho. Khi sản phẩm bị lỗi, khách hàng sẽ yêu cầu chi nhánh nhập lại hàng và xuất trả sản phẩm khác cho khách hàng (nhập-xuất bảo hành).
Phòng kinh doanh sẽ chuyển số lượng hàng cần xuất đến cho phòng kế toán, kế toán kho kiểm kê và xuất hàng.
Cuối tháng, lập báo cáo thống kê lượng hàng xuất, hàng nhập, và thống kê tồn kho.
BLD chức năng 2: Chức năng quản lý thu chi
Hình 11: Biểu đồ luồng dữ liệu mức dưới đỉnh. Chức năng quản lý thu chi
Mô tả quá trình trao đổi thông tin ở mức 2, chức năng quản lý thu chi:
Khách hàng khi nhận được hàng sẽ thanh toán với công ty bằng một trong hai cách: thanh toán trực tiếp cho nhân viên giao hàng hoặc thanh toán qua tài khoản. Kế toán tài chính có trách nhiệm cập nhật việc thanh toán của khách hàng.
Kế toán tài chính cũng phụ trách việc chi tiền cho các công việc, hoạt động của công ty.
Cuối tháng, tổng hợp, làm báo cáo thống kê về việc thu chi của công ty, công nợ của khách hàng.
BLD chức năng 3: Chức năng bán hàng
Hình 12: Biểu đồ luồng dữ liệu mức dưới đỉnh. Chức năng bán hàng.
Mô tả quá trình trao đổi thông tin ở mức 2, chức năng bán hàng:
Nhân viên kinh doanh tìm kiếm khách hàng, sau đó làm hợp đồng. Khi khách hàng có nhu cầu đặt hàng thì gọi điện trực tiếp cho nhân viên kinh doanh hoặc gửi đơn đặt hàng hoặc fax đến cho công ty. Nhân viên kinh doanh tổng hợp lượng hàng đặt của khách hàng và chuyển đến kho để đề nghị xuất hàng. Đồng thời, phòng kinh doanh sẽ gửi cho khách hàng phúc đáp lại đơn đặt hàng. Đồng thời đặt hàng với tổng công ty.
Sau khi có báo giá sản phẩm, nếu có thay đổi giá thì tiến hành cập nhật thông tin sản phẩm.
Ngoài ra phòng kinh doanh quản lý thông tin về khách hàng, và những chương trình quản lý khuyến mại.
Cuối tháng, tổng hợp báo cáo thống kê để nộp cho lãnh đạo.
Chức năng 4 tra cứu:
Khi khách hàng, nhân viên hoặc lãnh đạo cần tìm kiếm về hóa đơn, phiếu nhập, phiếu xuất, phiếu thu, phiếu chi, hoặc hàng hóa, … người dung sẽ nhập từ khóa cần tìm kiếm, kết quả sẽ trả về kết quả cần tìm.
Chức năng 5 quản lý nhân viên:
Hình 13: Biểu đồ luồng dữ liệu mức đỉnh. Chức năng quản lý nhân viên
Mô tả quá trình trao đổi thông tin ở mức 2 của chức năng quản lý nhân viên:
Khi công ty tuyển dụng thêm nhân viên mới, tiến hành cập nhật thêm thông tin về nhân viên mới vào cơ sở dữ liệu.
Khi có nhân viên nghỉ việc hoặc sa thải thì tiến hành xóa nhân viên đó ra khỏi cơ sở dữ liệu.
Khi có yêu cầu của ban lãnh đạo, nộp thống kê nhân viên trong công ty.
Phân tích hệ thống về dữ liệu:
Mục đích của quá trình phân tích về dữ liệu là xác định các thực thể cần thiết, các thuộc tính của dữ liệu và mối quan hệ giữa các thực thể. Một hệ thống thông tin phải được tổ chức rõ ràng, đầy đủ, tránh dư thừa dữ liệu, tránh trùng lặp dữ liệu và đảm bảo độc lập dữ liệu.
Xác định các thực thể và các thuộc tính cho thực thể:
Qua việc phân tích hệ thống quản lý bán hàng ở trên ta thấy hệ thống cần lưu trữ nhưng thực thể sau:
Khách hàng: gồm các thuộc tính: mã khách hàng, tên khách hàng, địa chỉ, điện thoại, tài khoản (nếu có), fax (nếu có).
Hàng: gồm các thuộc tính: mã hàng, tên hàng, đơn vị, thời gian bảo hành, đặc điểm, đơn giá, số lượng.
Hóa đơn bán hàng: gồm các thuộc tính: hóa đơn số, ngày lập, số lượng, đơn giá, mã hàng, mã khách, nhân viên bán hàng.
Phiếu nhập hàng: gồm các thuộc tính: số phiếu nhập, người nhập, ngày nhập, lý do nhập, hàng, số lượng.
Phiếu xuất hàng: gồm các thuộc tính: số phiếu xuất, người xuất, ngày xuất, lý do xuất, hàng, số lượng, khách hàng.
Phiếu thu: gồm các thuộc tính: số phiếu thu, ngày thu, lý do thu, người thu, số tiền, người nộp.
Phiếu chi: gồm các thuộc tính: số phiếu chi, ngày chi, lý do chi, số tiền, người nhận, người chi.
Kho: gồm các thuộc tính: kho số, địa chỉ.
Hình thức thanh toán: gồm các thuộc tính: mã hình thức thanh toán, tên hình thức thanh toán.
Nhân viên: gồm các thuộc tính: mã nhân viên, tên nhân viên, địa chỉ, số điện thoại.
Xác định các liên kết và các mối quan hệ của thực thể:
Dựa vào việc phân tích và tìm hiểu ta nhận thấy mối quan hệ và liên kết giữa các thực thể được xác định ở trên là:
Hình 14: Liên kết giữa các thực thể
Mô hình thực thể/ liên kết (Mô hình E-R):
Dựa vào việc xác định các thực thể và mối quan hệ của các thực thể ta có mô hình thực thể liên kết sau:
Hình 15: Mô hình thực thể liên kết E-R
Chú thích:
Ở mô hình với mỗi bảng ta biểu diễn như sau (Hình vẽ bên dưới)
Một khung thể hiện một bảng
Dòng trên cùng là tên của bảng
Các thuộc tính của một bảng ở phía dưới được ngăn cách bởi dấu gạch ngang.
Các thuộc tính là khóa chính được ký hiệu bằng cách gạch chân và viết in nghiêng thuộc tính đó.
Hình 16. Hình chú thích
Chuẩn hóa các quan hệ:
Từ mô hình thực thể E\ R ở trên ta thấy để chuyển về mô hình quan hệ ta phải chuẩn hóa các quan hệ.
Ta chuyển về dạng chuẩn 3NF. Ta tiến hành tách ở các bảng chưa ở chuẩn 3NF về dạng chuẩn 3NF sau:
Bảng Hàng được tách thành hai bảng:
Bảng Hàng: gồm các thuộc tính: mã hàng (Khóa chính), tên hàng, đơn vị, thời gian bảo hành, đặc điểm, đơn giá, mã loại hàng, số lượng.
Bảng Loại hàng: gồm các thuộc tính: mã loại hang (Khóa chính), tên loại hàng, ghi chú.
Bảng Phiếu nhâp được tách thành hai bảng:
Bảng Phiếu nhập: gồm các thuộc tính: số phiếu nhập (Khóa chính), ngày nhập, mã hàng, mã kho, lý do nhập, đối tượng, người nhập.
Bảng Hàng nhập: gồm các thuộc tính: mã hàng nhập, số phiếu nhập, mã hàng, số lượng. Trong đó khóa chính gồm: mã hàng nhập.
Bảng phiếu xuất được tách làm hai bảng:
Bảng Phiếu xuất: gồm các thuộc tính: số phiếu xuất (Khóa chính), ngày xuất, mã hàng, mã kho, lý do xuất, người nhận, người xuất, hóa đơn số.
Bảng Hàng xuất: gồm các thuộc tính: mã hàng xuất, số phiếu xuất, mã hàng, số lượng. Trong đó khóa chính gồm: mã hàng xuất.
Bảng hóa đơn được tách làm hai bảng:
Bảng Hóa đơn: gồm các thuộc tính: hóa đơn số , ngày lập, mã hàng, mã khách, mã nhân viên, hình thức thanh toán.
Bảng Hàng bán: : gồm các thuộc tính: mã hàng bán, hóa đơn số, mã hàng, số lượng, giá bán. Trong đó khóa chính gồm: mã hàng bán.
Mô hình thực thể quan hệ:
Hình 17: Mô hình quan hệ
Chương III. THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG QUẢN LÝ BÁN HÀNG
Thiết kế hệ thống
Thiết kế là nhằm chuyển các đặc tả logic của hệ thống thành các đặc tả vật lý của hệ thống, có tính tới các yêu cầu ràng buộc vật lý.
Giai đoạn thiết kế có thể chia thành 5 bước:
Thiết kế tổng thể
Thiết kế cơ sở dữ liệu
Thiết kế các module xử lý
Thiết kế giao diện
Thiết kế tổng thể:
3.1.1.1. Phân định danh giới chức năng máy tính thực hiện và thủ công:
Ta sẽ phân định các chức năng:
Chức năng quản lý xuất nhập hàng:
Hình 18: Biểu đồ phân định chức năng xuất nhập hàng
Chức năng quản lý thu chi:
Hình 19: Biểu đồ phân định chức năng quản lý thu chi
Chức năng bán hàng:
Hình 20: Biểu đồ phân định chức năng bán hàng
Phân định các hệ thống con của máy tính:
Hệ thống chia thành 4 hệ thống con, tương ứng với 4 đối tượng được quyền sử dụng hệ thống:
Kế toán kho: thực hiện các công việc trong chức năng Quản lý xuất nhập hàng.
Kế toán tài chính: thực hiện các công việc Quản lý thu chi và quản lý nhân viên.
Trưởng phòng kinh doanh: thực hiện các công việc trong chức năng Bán hàng.
Quản trị hệ thống: thực hiện các công việc quản trị hệ thống phần mềm.
Thiết kế biểu mẫu và tài liệu in:
Một số biểu mẫu cần sử dụng:
Hóa đơn bán hàng
Phiếu thu
Phiếu chi
Phiếu nhập
Phiếu xuất
Thiết kế màn hình chọn:
Mục đích: Dùng để đối thoại Người – Máy sử dụng trong đối thoại có đặc điểm:
+ Thông tin thường là tối thiểu
+ Vào ra gần nhau (dạng hỏi - đáp)
- Yêu cầu về mặt thiết kế
+ Có tính mỹ thuật, thân thiện, dễ nhìn, dễ hiểu
+ Biểu diễn câu lệnh ngắn gọn chỉ có các thông tin tối thiểu
Hình thức đối thoại trên màn hình:
Màn hình chính sử dụng dạng thực đơn chọn (menu): cấp 1, cấp 2, … để gọi đến các form con.
Các form con sử dụng dạng nút chọn, …
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ư xác bảng sau:
Phiếu nhập:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
soPhieuNhap
int
10
Số phiếu_khóa chính
ngayNhap
datetime
Ngày nhập
maKho
nchar
10
Mã kho nhập hàng
maNV
nchar
10
Mã NV
lyDoNhap
nvarchar
50
Lý do nhập hàng: nhập mới hoặc nhập lại.
Bảng 1
Phiếu xuất:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
soPhieuXuat
Int
10
Số phiếu xuất (Khóa chính)
hoaDonSo
Int
10
Hóa đơn số
ngayXuat
Date/time
Ngày xuất
maKho
Nchar
10
Mã kho xuất hàng
maNV
Nchar
10
Mã nhân viên
lyDoXuat
Nvarchar
50
Lý do xuất: Xuất bán hoặc xuất khuyến mại, bảo hành.
Bảng 2
Hàng nhập:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maHangNhap
Int
10
Mã hàng nhập_khóa chính
soPhieuNhap
Int
10
Số phiếu nhập
maHang
nchar
10
Mã hàng
soLuong
Int
10
Số lượng mặt hàng
Bảng 3
Hàng xuất:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maHangXuat
Int
10
Mã hàng xuất_khóa chính
soPhieuXuat
Int
10
Số phiếu xuất
maHang
Nchar
10
Mã hàng
soLuong
Int
10
Số lượng mặt hàng
Bảng 4
Hàng:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maHang
Nchar
10
Mã hàng_khóa chính
tenHang
nvarchar
50
Tên hàng mặt hàng
donVi
Nchar
10
Đơn vị tính
donGia
Int
10
Đơn giá của mặt hàng
dacDiem
nvarchar
50
Đặc điểm của sản phẩm
TGBH
int
Thời gian bảo hành của sản phẩm, tính bằng tháng.
maLoaiHang
Nchar
10
Mã loại hàng của sản phẩm
soLuong
Int
10
Số lượng hàng
Bảng 5
Hóa đơn:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
hoaDonSo
int
10
Hóa đơn số_khóa chính
ngayLap
Date/time
Ngày lập hóa đơn bán hàng
maKhach
Nchar
10
Mã khách
maNV
Nchar
10
Mã NV
maHTTT
Nchar
10
Mã hình thức thanh toán.
Bảng 6
Hàng bán:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maHangban
Int
10
Mã hàng bán_khóa chính
sohieuHD
Nchar
10
Số hiệu hóa đơn bán
maHang
Nchar
10
Mã mặt hàng
soLuong
Int
10
Số lượng hàng bán
giaBan
money
10
Giá bán của mặt hàng
Bảng 7
Kho:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
khoSo
int
10
Mã kho.
diaChi
Nvarchar
50
Địa chỉ kho
Bảng 8
Nhân viên:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maNV
Nchar
10
Mã số nhân viên_Khóa chính
tenNV
Nvarchar
50
Tên của NV
diaChi
Nchar
50
Địa chỉ của NV
ngayVao
Date/time
Ngày NV vào làm việc
dienThoai
Int
10
Số điện thoại
congViec
nvarchar
50
Công việc làm:NV kinh doanh, kế toán, …
Bảng 9
Khách hàng:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maKhach
Nchar
10
Mã số khách hàng_Khóa chính
tenKhach
Nvarchar
50
Họ tên của khách
diaChi
Nvarchar
50
Địa chỉ
dienThoai
int
10
Điện thoại
fax
int
10
Số fax
Bảng 10
Hình thức thanh toán:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maHTTT
Nchar
10
Mã hình thức thanh toán_khóa chính
tenHTTT
Nchar
50
Tên hình thức thanh toán
Bảng 11
Phiếu chi:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
soPhieuChi
Nchar
10
Số phiếu chi_khóa chính
ngayChi
Date/time
Ngày chi
lyDo
Nvarchar
50
Lý do chi tiền
maNV
Nchar
10
Mã NV
soTien
money
Số tiền chi
nguoiNhan
Nvarchar
50
Người nhận
Bảng 12
Phiếu thu:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
soPhieuThu
Nchar
10
Số phiếu thu_khóa chính
ngayXuat
Date/time
Ngày thu
maKhach
Nchar
10
Mã khách_Người nộp
maNV
Nchar
10
Mã NV
lyDo
Nvarchar
50
Lý do thu tiền
soTien
money
50
Số tiền thu
Bảng 13
Loại hang:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
maLoaiHang
Nchar
10
Mã hình loại hàng_khóa chính
tenLoaiHang
Nvarchar
50
Tên loại hàng
ghiChu
Nvarchar
50
Ghi chú
Bảng 14
Login:
Tên trường
Kiểu DL
Độ rộng
Ghi chú
tendangnhap
Nvarchar
20
Tên đăng nhập
matkhau
Nvarchar
30
Mật khẩu
Id
Int
Trường khóa
chucnang
Nvarchar
30
Chức năng tương ứng với từng người dùng
Bảng 15
3.1.3. Thiết kế các 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 mô đun. Xác định mối quan hệ giữa các mô đun (việc trao đổi thông tin, gọi nhau trong chương trình chính). Đặc tả từng mô đun: 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 mô đun.
Bài toán được chia thành ba Projects chính:
Sumo: là Project về thiết kế các Form, giao diện tương tác chính với người sử dụng.
SumoDBA: là Projects xử lý, thao tác với cơ sở dữ liệu.
Report: tạo các báo cáo, thống kê.
Projects xử lý cơ sở dữ liệu SumoDBA:
Xây dựng các lớp kết nối cơ sở dữ liệu sử dụng LLBLGEN để thiết lập các liên kết và một số thao tác với cơ sở dữ liệu.
Projects xử lý các Form, giao diện chương trình Sumo:
Trong Projects này sẽ chia thành các form như sau:
mainForm: 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:
Mô tả menu:
Quản lý hệ thống:
Quản lý xuất nhập:
Xuất hàng
Nhập hàng
Thống kê
Hàng nhập
Hàng xuất
Thống kê tồn
Quản lý thu chi:
Quản lý thu
Quản lý chi
Thống kê
Thống kê thu
Thống kê chi
Thống kê nợ
Bán hàng:
Cập nhật hàng:
Cập nhật hóa đơn
Cập nhật khách hàng
Giới thiệu:
frmCapNhatHang: là form để quản lý hàng, thực hiện chức năng về cập nhật hàng như: thêm mới, sửa, xóa, lưu.
Cái vào: các thông tin về sản phẩm.
Cái ra: dữ liệu về hàng đã được cập nhật.
Chức năng: Thực hiện các công việc như thêm mới, sửa và xóa thông tin về mặt hàng.
Quy tắc: nhập hàng mới không được trùng mã hàng đã có.
Đặ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.
frmCapNhatHoaDon: là form để quản lý hóa đơn bán hàng.
Cái vào: các thông tin: số hóa đơn, ngày nhập, khách hàng, người nhập, tên hàng, số lượng, đơn giá.
Cái ra: hóa đơn bán hàng.
Chức năng: thực hiện các chức năng: tạo mới hóa đơn, lưu, in hóa đơn.
Quy tắc: Lựa chọn khách hàng trong danh sách khách hàng, nếu là khách mới thì thêm thông tin khách 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 hàng, số lượng, giá bán. Số lượng hàng đã bán phải được cập nhật lại trong kho. Hàng bán có số lượng ít hơn hoặc bằng số lượng trong kho.
Đặc tả giao diện: sử dụng Tabcontrol, tab1 là những thông tin về khách hàng, người lập, ngày lập. Tab2 là những thông tin về hàng bán: mã hàng, số lượng, giá bán.
frmCapNhatKhachHang: là form quản lý thông tin về khách hàng.
Cái vào: những thông tin: mã khách, tên khách, địa chỉ, điện thoại, fax.
Cái ra: thông tin về khách hàng.
Chức năng: thực hiện: thêm mới, sửa, lưu, xóa 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.
frmQuanlychi: là form quản lý việc chi tiền của công ty.
Cái vào: thông tin về người lập, ngày chi, lý do, số tiền, người nhận.
Cái ra: thông tin phiếu chi.
Chức năng: thực hiện việc: tạo mới, lưu, xóa, in phiếu chi.
Đặ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.
frmQuanlythu: là form quản lý việc thu tiền của công ty.
Cái vào: thông tin về: khách hàng, người thu, số tiền, ngày thu và lý do thu tiền.
Cái ra: thông tin về phiếu thu.
Chức năng: thực hiện công việc: tạo mới, lưu, xóa, in phiếu thu.
Quy tắc: lựa chọn khách hàng trong danh sách khách hàng, nếu chưa có thì thêm mới 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.
frmLogin
Cái vào: tên đăng nhập và mật khẩu người dùng.
Cái ra: trả về chương trình tương ứng với quyền hạn của mỗi người dùng.
Chức năng: để kiểm soát sự đăng nhập vào hệ thống thực hiện các chức năng tương ứng.
Cơ chế thực hiện: hệ thống so sánh tên đăng nhập và mật khẩu được nhập vào với cơ sở dữ liệu. Nếu đúng, tùy theo người đăng nhập là admin hay kế toán, … sẽ cho phép thực hiện các chức năng tương ứng.
Mô tả giao diện:
frmQuanLyNuoiDung
Chức năng: admin sẽ thay đổi thông tin người dùng.
Cơ chế thực hiện: sau khi đăng nhập với quyền admin, admin sẽ vào đây để thay đổi tên đăng nhập và mật khẩu, trường chức năng không được phép thay đổi.
Mô tả giao diện:
formThemKho: là form để
Cái vào: địa chỉ của kho hàng.
Cái ra: kho hàng.
Chức năng: Thêm một kho mới.
Mô tả giao diện:
frmXuatHang: là form quản lý xuất hàng.
Cái vào: thông tin về: khách hàng, người xuất, số tiền, ngày xuất và lý do xuất hàng.
Cái ra: phiếu xuất hàng.
Chức năng: in phiếu, lập phiếu, lưu và xóa phiếu xuất.
Quy tắc: nhập các thông tin chi tiết phiếu xuất trước, rồi nhập danh sách hàng xuất. Hàng xuất có số lượng ít hơn hoặc bằng số lượng hàng trong kho.
Đặc tả giao diện: sử dụng Tabcontrol, tab1 là những thông tin về khách hàng, người xuất, ngày xuất. Tab2 là những thông tin về hàng xuất: mã hàng, số lượng.
frmLoaiHang:
Cái vào: thông tin về mã loại hàng, tên loại hàng, ghi chú.
Cái ra: thông tin về loại hàng.
Chức năng: thực hiện các công việc: thêm mới, lưu, đóng.
Quy tắc: nhập chi tiết phiếu nhập trước, nhập các thông tin về hàng nhập sau. Nếu nhập thêm hàng mới chưa có trong cơ sở dữ liệu thì thêm thông tin về hàng mới.
Đặ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.
frmNhapHang: là form quản lý việc nhập hàng.
Cái vào: thông tin về người nhập, ngày nhập, lý do, hàng nhập, số lượng.
Cái ra: phiếu nhập hàng.
Chức năng: thực hiện các công việc: tạo mới, lưu, hủy phiếu nhập.
Quy tắc: nhập chi tiết phiếu nhập trước, nhập các thông tin về hàng nhập sau. Nếu nhập thêm hàng mới chưa có trong cơ sở dữ liệu thì thêm thông tin về hàng mới.
Đặc tả giao diện: sử dụng Tabcontrol, tab1 là những thông tin về người nhập, ngày ngày nhập, lý do. Tab2 là những thông tin về hàng xuất: mã hàng, số lượng.
Project Report:
Sử dụng chương trình CrystallReport trong bộ Visual Studio 2005 để tạo các báo cáo, thống kê cho hệ thống:
Tạo hóa đơn bán hàng:
Tạo phiếu xuất hàng:
Thống kê tồn:
Thống kê khách nợ:
Cài đặt hệ thống quản lý bán hàng:
Cài đặt cơ sở dữ liệu:
Cài đặt cơ sở dữ liệu trên SQL Server:
SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System – RDBMS ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
hang
maHang
nvarchar(...
tenHang
nvarchar(...
donVi
nvarchar(...
TGBH
int
dacDiem
nvarchar(...
maLoaiHang
nchar(10)
khoSo
int
soLuong
int
giaBan
numeric(8...
Column Na...
Data Type
Allow N...
hangban
hoaDonSo
int
maHang
nvarchar(...
soLuong
int
giaBan
money
tongTien
maHangBan
int
Column Na...
Data Type
Allow N...
hoadon
hoaDonSo
int
ngayBan
datetime
maKhach
int
maNV
int
maHTTT
nchar(...
soPhieuXuat
int
Column Na...
Data Ty...
Allow N...
HTTTT
maHTTT
tenHTTT
khachhang
maKhach
int
tenKhach
nvarcha...
diaChi
nvarcha...
dienThoai
int
taiKhoan
nvarcha...
fax
int
Column Name
Data Type
Allow Nulls
kho
khoSo
int
diaChi
nvarchar(50)
dacdiem
nvarchar(2...
Column Na...
Data Type
Allow N...
nhanvien
maNV
tenNV
diaChi
ngayVao
dienThoai
congViec
phieuchi
soPhieuChi
int
ngayChi
datetime
nguoiLap
int
lyDo
nvarchar(...
soTien
money
nguoiNhan
nvarchar(...
Column Na...
Data Type
Allow N...
phieunhap
soPhieuNhap
int
ngayNhap
datetime
lyDo
nvarchar(...
nguoiNhap
int
Column Na...
Data Type
phieuthu
soPhieuThu
int
ngayThu
datetime
lyDo
nvarchar(...
maKhach
int
maNV
int
soTien
money
Column Na...
Data Type
Allow N...
phieuxuat
soPhieuXuat
int
maKhach
int
ngayXuat
datetime
lyDo
nvarchar(...
nguoiXuat
int
Column Na...
Data Type
Allow N...
FK_hangban_hang
FK_hangban_hoadon
FK_phieuthu_khachhang
FK_phieuthu_nhanvien
FK_hoadon_khachhang
FK_hoadon_HTTTT
FK_phieuchi_nhanvien
FK_phieuxuat_nhanvien
loaihang
maLoaiHang
tenLoaiHang
ghiChu
FK_hoadon_nhanvien
FK_hang_loaihang
FK_hang_kho
hangnhap
soPhieuNhap
int
maHang
nvarchar(...
soLuong
int
maHangNhap
int
Column Na...
Data Type
Allow N...
FK_hangnhap_hang
FK_hangnhap_phieunhap
hangxuat
soPhieuXuat
int
maHang
nvarchar(...
soLuong
int
maHangXuat
int
Column Na...
Data Type
FK_hangxuat_hang
FK_hangxuat_phieuxuat
FK_hoadon_phieuxuat
FK_phieuxuat_khachhang1
login
tendangnhap
matkhau
id
chucnag
Hình 21: Biểu đồ DiagramSQLServer
Thiết lập trên LLBLGEN:
Sau khi cài trên SQL Server, sử dụng phần mềm LLBLGen để tạo một số các lớp liên kết, thực thể, kết nối, thao tác với cơ sở dữ liệu.
Cài đặt code:
Cài đặt code trên Visual Studio:
Ngôn ngữ C # là một ngôn ngữ lập trình hướng đối tượng, ngôn ngữ biên dịch, ngôn ngữ đa năng được phát triển bởi hãng Microsoft, là một khởi đầu cho kế hoạch .NET. Microsoft phát triển C# dựa trên C, C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic. Delphi và Java.
Cài đặt Report:
Sử dụng Crystal Report để tạo các báo cáo thống kê.
Kết quả chương trình:
Màn hình khi chạy chương trình:
Chương trình đăng nhập đối với quyền admin:
Chương trình đối với nhân viên kinh doanh:
Cập nhật hàng:
Cập nhật hóa đơn:
Cập nhật khách hàng:
Chương trình đăng nhập đối với nhân viên kế toán kho:
Xuất hàng:
Nhập hàng:
Thống kê tồn:
Chương trình đăng nhập đối với nhân viên kế toán tài chính:
Thu:
Chi:
In phiếu thu:
Thống kê nợ
Chương IV. KẾT LUẬN
Những kết quả đạt được:
Qua một thời gian tiến hành làm đồ án tốt nghiệp với đề tài: Phân tích thiết kế hệ thống Quản lý bán hàng ở chi nhánh công ty TNHH TM & DV Vĩnh Cường tại Đà Nẵng, em đã làm được những công việc sau:
Tiến hành khảo sát các thông tin về bài toán một cách chính xác.
Phân tích dựa trên những thông tin thu được và bám sát yêu cầu của bài toán, cũng như các công việc của công ty.
Chương trình đã đảm bảo lưu trữ những thông tin cần thiết của hệ thống.
Xử lý chính xác các thông tin về hàng hóa, hóa đơn, phiếu nhập, phiếu xuất, … có thể cập nhật thường xuyên và dễ dàng các thông tin cần thiết.
Chương trình thực hiện những chức năng chính của hệ thống:
Cập nhật hàng.
Tạo hóa đơn bán hàng
Cập nhật khách hàng
Nhập hàng
Xuất hàng
Phân quyền người dùng
Thống kê: hàng nhập, hàng xuất, hàng tồn, doanh thu.
Hướng phát triển:
Trong tương lai hệ thống sẽ phát triển thêm về các mặt:
Hệ thống có thể tương tác với máy Fax, có thể đọc dữ liệu từ các văn bản như: Microsoft Word, Notepad, …
Thiết kế cài đặt cơ sở dữ liệu trên SQL thành hệ phân tán.
Kết luận:
Qua việc phân tích thiết kế bài toán quản lý hệ thống bán hàng ở trên em đã thu được nhiều kết quả, từ việc phân tích, thiết kế đến việc tổ chức thành một chương trình ứng dụng.
Để hoàn thành đồ án này em xin chân thành cảm ơn sự hướng dẫn, giúp đỡ tận tình của cô Th.S Bành Thị Quỳnh Mai đã giúp em hoàn thành bài đồ án một cách tốt nhất. Em xin chân thành cảm ơn lãnh đạo, nhân viên chi nhánh công ty TNHH TM & DV Vĩnh Cường đã tạo điều kiện giúp đỡ em để em có được đầy đủ các thông tin để hoàn thành bài đồ án này.
Các file đính kèm theo tài liệu này:
- SUMO.doc