STT 1 2 3 4 5 6
Các thuộc tính được gạch dưới trong bảng trên thể hiện thuộc tính đó là thuộc tính khóa của kiểu thực thể
6.1.2 Xác định mối liên kết giữa các thực tể và thuộc tính liên kết.
Các động từ quan trọng thể hiện các chức năng chính của hệ thống gồm có: nhập, xuất, đặt hàng, báo giá. Ứng với từng động từ là các thực thể và thuộc tính liên kết như các bảng dưới đây:
Bảng 6.2 Mối quan hệ của các thực thể với liên kết “Nhập”
Nhập cái gì Nơi nhập vật tư? Ai gửi vật tư đến để nhập? Ai nhận và nhập vật tư? Mã phiếu nhập? Ngày nhập? Số lượng nhập?
Bảng 6.3 Mối quan hệ của các thực thể với liên kết “Xuất”
Xuất cái gì Nơi xuất vật tư? Xuất vật tư cho ai? Ai xuất vật tư? Mã phiếu xuất? Ngày xuất? Số lượng xuất? Lý do xuất
Đặt hàng của ai
Ai đặt hàng? Đặt hàng cái gì Mã phiếu đặt hàng? Ngày đặt hàng? Số lượng đặt hàng
Bảng 6.5 Mối quan hệ của các thực thể với liên kết “BÁO GIÁ”
Ai gửi báo giá? Báo giá cái gì Mã phiếu báo giá Ngày báo giá? Giá được báo??
Bảng 6.6 Mối quan hệ của các thực thể với liên kết “GỒM”
Cái gì bao gồm? Cái gì được bao gồm? Tham số tương ứng
6.1.3 Sơ đồ thực thể - liên kết ERD
Sau khi liệt kê các thực thể và các quan hệ tương ứng, sinh viên sẽ thiết kế mơ hình ERD bằng cơng cụ Microsoft Visio 2016, kết quả thiết kế như hình dưới đây:
Mã TP Tên TP Định mức VT Nhân viên Mã NV SĐT NV Tên NV Tiến độ ĐẶT HÀNG Ngày đặt SL mua SP mua
Hình 6.1 Mơ hình thực thể - liên kết (Entity Relationship Model)
6.1.4 Chuyển từ mơ hình ERD sang mơ hình quan hệ.6.1.4.1 Chuyển các thực thể thành quan hệ 6.1.4.1 Chuyển các thực thể thành quan hệ
Sau khi xây dựng mơ hình ERD, sinh viên sẽ chuyển thực thể thành các quan hệ (bảng), trong đó các thuộc tính sẽ được ghi vắng tắt để tiện cho việc thiết kế cơ sở dữ liệu trong SQL Server.
KHO (Makho, Tenkho)
NCC (MaNCC, TenNCC, SĐT_NCC, Diachi)
VATTU (MaVT, TenVT, SLVT_Ton, DVT, Dongia, SLAT) THANHPHAM (MaTP, TenTP)
PHANXUONG (MaPX, TenPX)
NHANVIEN (MaNV, TenNV, SĐT_NV, Taikhoan, Matkhau, Quyen)
6.1.4.2 Chuyển các liên kết thành quan hệ
Vì các liên kết đều là loại liên kết nhiều – nhiều, nên để hình thành 1 quan hệ từ 1 liên kết, ta sẽ chuyển thuộc tính khóa của các thực thể liên quan vào liên kết kèm theo đó là các thuộc tính sẵn có của liên kết. Kết quả thu được:
PHIEUDATMUA (SPmua, Ngaymua, SLmua, MaNV, MaNCC, MaVT) BANGBAOGIA (SPbaogia, Ngaybaogia, GiaVT, MaNCC, MaNV, MaVT)
PHIEUNHAP (SPnhap, Ngaynhap, SLnhap, MaNCC, MaNV, MaVT, Makho) PHIEUXUAT (SPxuat, Ngayxuat, Ghichu, SLxuat, MaPX, MaNV, MaVT, Makho) BOM (MaTP, MaVT, Định mức VT).
Các thuộc tính được gạch chân nét đứt là thuộc tính khóa ngoại tham chiếu đến các thuộc tính khóa của quan hệ khác.
6.1.4.3 Chuẩn hóa các quan hệ tới chuẩn 3NF.
Các quan hệ được chuyển hóa từ thực thể đã đạt chuẩn 3NF nên sinh viên sẽ không thực hiện chuẩn hóa với các quan hệ này. Mặt khác, các quan hệ được chuyển từ các liên kết không đạt chuẩn 3NF nên sinh viên sẽ tiến hành chuẩn hóa các quan hệ này: PHIEUDATMUA, BANGBAOGIA, PHIEUNHAP, PHIEUXUAT.
Đối với quan hệ PHIEUDATMUA (SPmua, Ngaymua, SLmua, MaNV, MaNCC, MaVT), khơng có các thuộc tính đa trị nên quan hệ này đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:
SPmua, Mã VT →
SLmua (1) SPmua →
Ngaymua, MaNV, MaNCC (2)
Quan hệ PHIEUDATMUA chưa đạt chuẩn 2NF vì có phụ thuộc hàm (2).Các thuộc tính (MaNV, MaNCC) là khóa ngoại để tham chiếu đến 2 quan hệ là NHANVIEN và NCC. Vậy ta sẽ chuẩn hóa quan hệ PHIEUDATMUA thành 2 quan hệ mới là: PHIEUDATMUA (SPmua, ngaymua, MaNV, MaNCC) và VTMUA (SPmua, MaVT, SLmua). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.
Đối với quan hệ BANGBAOGIA (SPbaogia, Ngaybaogia, GiaVT, MaNCC, MaNV, MaVT), khơng có thuộc tính đa trị nên quan hệ này đã đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:
SPbaogia, MaVT →
GiaVT (3) SPbaogia→
Ngaybaogia, MaNV, MaNCC (4)
Quan hệ BANGBAOGIA chưa đạt chuẩn 2NF vì có phụ thuộc hàm (4).Các thuộc tính (MaNV, MaNCC) là khóa ngoại để tham chiếu đến 2 quan hệ là NHANVIEN và NCC. Vậy ta sẽ chuẩn hóa quan hệ BANGBAOGIA thành 2 quan hệ mới là: BANGBAOGIA (SPbaogia, ngaybaogia, MaNV, MaNCC) và VTBAOGIA (SPbaogia, MaVT, GiaVT). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.
Đối với quan hệ PHIEUNHAP (SPnhap, Ngaynhap, SLnhap, MaNCC, MaNV, MaVT, Makho), khơng có thuộc tính đa trị nên quan hệ này đã đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:
SPnhap, MaVT →
SLnhap (5) SPnhap→
Ngaynhap, MaNV, MaNCC, Makho (6)
Quan hệ PHIEUNHAP chưa đạt chuẩn 2NF vì có phụ thuộc hàm (4).Các thuộc tính (MaNV, MaNCC, Makho) là khóa ngoại để tham chiếu đến 3 quan hệ là NHANVIEN, NCC, KHO. Vậy ta sẽ chuẩn hóa quan hệ PHIEUNHAP thành 2 quan hệ mới là: PHIEUNHAP (SPnhap, ngaynhap, MaNV, MaNCC, Makho) và VTNHAP (SPnhap, MaVT, SLnhap). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí
đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.
Đối với quan hệ PHIEUXUAT (SPxuat, Ngaynhap, Ghichu, SLxuat, MaPX, MaNV, MaVT, Makho), khơng có thuộc tính đa trị nên quan hệ này đã đạt chuẩn 1NF. Ta lại có các phụ thuộc hàm:
SPxuat, MaVT →
SLxuat(7) SPxuat→
Ngayxuat, Ghichu, MaNV, MaPX, Makho (8)
Quan hệ PHIEUNHAP chưa đạt chuẩn 2NF vì có phụ thuộc hàm (8).Các thuộc tính (MaNV, MaPX, Makho) là khóa ngoại để tham chiếu đến 3 quan hệ là NHANVIEN, PHANXUONG, KHO. Vậy ta sẽ chuẩn hóa quan hệ PHIEUNHAP thành
2 quan hệ mới là: PHIEUXUAT (SPxuat, ngaynhap, MaNV, MaPX, Makho) và VTXUAT (SPxuat, MaVT, SLxuat). Tới đây, ta đã được 2 quan hệ đạt chuẩn 2NF và thậm chí đạt chuẩn 3NF vì khơng có thuộc tính khơng khóa phụ thuộc vào thuộc tính khơng khóa khác.
Tóm lại, ta thu được các quan hệ sau bước chuẩn hóa cuối cùng gồm có:
1. KHO (Makho, Tenkho).
2. NCC (MaNCC, TenNCC, SĐT_NCC, Diachi)..
3. VATTU (MaVT, TenVT, SLVT_Ton, DVT, Dongia, SLAT).
4. THANHPHAM (MaTP, TenTP).
5. PHANXUONG (MaPX, TenPX).
6. NHANVIEN (MaNV, TenNV, SĐT_NV, Taikhoan, Matkhau, Quyen).
7. PHIEUDATMUA (SPmua, ngaymua, MaNV, MaNCC).
8. VTMUA (SPmua, MaVT, SLmua).
9. BANGBAOGIA (SPbaogia, ngaybaogia, MaNV, MaNCC).
10. VTBAOGIA (SPbaogia, MaVT, GiaVT).
11. PHIEUNHAP (SPnhap, ngaynhap, MaNV, MaNCC, Makho).
12. VTNHAP (SPnhap, MaVT, SLnhap).
13. PHIEUXUAT (SPxuat, ngaynhap, MaNV, MaPX, Makho).
14. VTXUAT (SPxuat, MaVT, SLxuat).
15. BOM (MaTP, MaVT, Định mức VT).
6.1.4.4 Mơ hình quan hệ (Relational model – RD)
Sau khi tổng kết các quan hệ thu được ở cuối phần 6.1.4.3, sinh viên sẽ tiến hành thiết kế mơ hình quan hệ trong SQL server:
VATTU S LA T S LT P Te n Tp SL m u a S P b a o g ia M at kh au
Hình 6.2 Mơ hình quan hệ dữ liệukhi thiết kế cơ sở dữ liệu trong khi thiết kế cơ sở dữ liệu trong SQL Server
TIEU LUAN MOI download :
Các quan hệ và trường thuộc tính được viết tắt sẽ được diễn giải bằng lời dưới đây: 1. Quan hệ KHO Bảng 6.7 Đặc tả quan hệ KHO Tên trường Makho Tenkho 2. Quan hệ PHANXUONG Bảng 6.8 Đặc tả quan hệ PHANXUONG Tên trường MaPX TenPX 3. Quan hệ NHANVIEN Bảng 6.9 Đặc tả quan hệ NHANVIEN Tên trường MaNV TenNV SDT_NV Taikhoan Matkhau Quyen 4. Quan hệ NCC Bảng 6.10 Đặc tả quan hệ NCC Tên trường MaNCC TenNCC SDT_NCC Diachi
5. Quan hệ VATTU
Bảng 6.11 Đặc tả quan hệ VATTU
Tên trường Kiểu dữ liệu Diễn giải
MaVT TenVT DVT Dongia SLVT_Ton SLAT Bảng 6.12 Đặc tả quan hệ THANHPHAM Tên trường MaTP TenTP Bảng 6.13 Đặc tả quan hệ PHIEUDATMUA Tên trường SPmua Ngaymua MaNV MaNCC Bảng 6.14 Đặc tả quan hệ VTMUA Tên trường SPmua MaVT SLmua Bảng 6.15 Đặc tả quan hệ BANGBAOGIA
Tên trường
SPbaogia
Ngaybaogia MaNV
MaNCC 10. Quan hệ VTBAOGIA Bảng 6.16 Đặc tả quan hệ VTBAOGIA Tên trường SPbaogia MaVT GiaVT 11. Quan hệ PHIEUNHAP Bảng 6.17 Đặc tả quan hệ PHIEUNHAP Tên trường SPnhap Ngaynhap MaNV MaNCC Makho 12. Quan hệ VTNHAP Bảng 6.18 Đặc tả quan hệ VTNHAP Tên trường SPnhap MaVT SLnhap 13. Quan hệ PHIEUXUAT Bảng 6.19 Đặc tả quan hệ PHIEUXUAT Tên trường SPxuat Ngayxuat MaNV Ghichu MaPX Makho
14. Quan hệ VTXUAT
Bảng 6.20 Đặc tả quan hệ VTXUAT Tên trường SPxuat MaVT SLxuat 15. Quan hệ BOM Bảng 6.21 Đặc tả quan hệ BOM Tên trường MaTP MaVT DinhmucVT 6.2 Thiết kế phần mềm.
Ởphần này, sinh viên sử dụng phần mềm Microsoft Visual Studio Community 2017 để thiết kế phần mềm mà luận văn hướng tới. Các giao diện được sinh viên thiết kế dựa trên
Mơ hình Use case, sơ đồ luồng dữ liệu DFD và sơ đồ phần cấp chức năng ở chương 5.
6.2.1 Giao diện đăng nhập
Khi đăng nhập với quyền admin, người dùng có quyền thao tác tất cả các chức năng có trong hệ thống. Nếu người dùng đăng nhập với quyền “phân xưởng” thì chỉ được chọn chức năng “Quản lý lưu trữ”. Nếu người dùng đăng nhập với quyền “kho” thì sẽ sử dụng được hầu hết chức năng ngoại trừ “Thiết lập – tài khoản”, “Quản lý đặt hàng” và menu “Danh mục”.
Về tính năng của giao diện đăng nhập, sinh viên đã mô tả thông qua “Use case Đăng nhập”. Giao diện đăng nhập được thiết kế như hình 6.3:
Hình 6.3 Giao diện đăng nhập
6.2.2 Giao diện chính.
Sau khi đăng nhập, màn hình máy tính sẽ đưa ra giao diện chính của phần mềm (hình 6.4). Trong giao diện gồm các menu mà sinh viên đã nhắc đến ở phần 5.3.3 Đặc tả use case: Tài khoản, Quản lý lưu trữ, Quản lý nhập kho, Quản lý xuất kho, Quản lý đặt hàng, Danh mục (gồm các menu vật tư, nhà cung cấp, báo giá, kho, phân xưởng, BOM), và Báo cáo (báo cáo nhập kho, báo cáo xuất kho)
Hình 6.4 Giao diện chính của hệ thống 6.2.3 Giao diện menu Tài khoản. thống 6.2.3 Giao diện menu Tài khoản.
Khi người dùng chọn menu Tài khoản sẽ hiện ra danh sách gồm 2 dòng chữ: “Đăng xuất” và “Thiết lập”. Nếu người dùng chọn “Đăng xuất” thì hệ thống sẽ quay trở lại giao diện đăng nhập. Nếu người dùng chọn “Thiết lập”, hệ thống sẽ hiện ra một giao diện mới là giao diện “Thiết lập” (hình 6.5). Giao diện này cho phép người dùng cập nhập, chỉnh sửa thông tin nhân viên cũng như tài khoản đăng nhập vào hệ thống.
Hình 6.5 Giao diện thiết lập tài khoản 6.2.4 Giao diện Quản lý lưu trữ. khoản 6.2.4 Giao diện Quản lý lưu trữ.
Khi người dùng chọn menu “Quản lý lưu trữ”, hệ thống sẽ hiện ra giao diện “Quản lý lưu trữ” (hình 6.6). Giao diện này cho phép người dùng xem tất cả các vật tư hiện có trong kho cùng với số lượng tồn và giá trị tồn kho ở một thời điểm bất kì. Người dùng cũng có thể tìm kiếm một vật tư bất kì, hệ thống sẽ kiểm tra và đưa ra danh sách các vật tư có tên gần đúng với tên người dùng nhập vào. Cuối cùng là chức năng “Kiểm tra SS” sẽ cho phép người dùng xem những vật tư đang có số lượng tồn kho dưới mức tồn kho an tồn.
Hình 6.6 Giao diện Quản lý lưu trữ 6.2.5 Giao diện Quản lý nhập kho. trữ 6.2.5 Giao diện Quản lý nhập kho.
Khi người dùng chọn menu “Quản lý nhập kho”, hệ thống sẽ hiện ra giao diện “Quản lý nhập kho” (hình 6.7). Bên trong giao diện này, người dùng có thể cập nhật, chỉnh sửa 1 phiếu nhập kho bất kì. Trường “Số phiếu nhập” phải tồn tại thì người dùng mới có thể cập nhật, chỉnh sửa thông tin của vật tư nhập vào.
Khi người dùng thực hiện nhập kho thì số lượng và đơn giá của vật tư trong kho sẽ tự động thay đổi theo công thức lần lượt như sau:
Đơn giá mới = (Đơn giá cũ×Lượng tồn ban đầu + Giá nhập×Lượng nhập)/(lượng tồn ban đầu + lượng nhập).
Lượng tồn mới = Lượng tồn ban đầu + Lượng nhập.
Hình 6.7 Giao diện Quản lý nhập kho
6.2.6 Giao diện Quản lý xuất kho.
Khi người dùng chọn menu “Quản lý xuất kho”, hệ thống sẽ hiện ra giao diện “Quản lý xuất kho” (hình 6.8). Khi phân xưởng gửi phiếu ĐNCVT cho kho, kho sẽ tiến hành kiểm tra thông tin phiếu ĐNCVT và lượng vật tư tồn kho có đủ để đáp ứng được yêu cầu của phiếu
không. Nếu đáp ứng được, kho tiến hành tạo thông tin phiếu xuất và tiến hành xuất vật tư cho phân xưởng yêu cầu.
Khi người dùng tiến hành xuất kho một vật tư bất kì thì hệ thống sẽ tự động cập nhật lại Lượng tồn kho mới của vật tư đó theo cơng thức:
Lượng tồn kho mới = Lượng tồn ban đầu – Số lượng xuất.
Hình 6.8 Giao diện Quản lý xuất kho 6.2.7 Giao diện Quản lý đặt hàng. kho 6.2.7 Giao diện Quản lý đặt hàng.
Khi người dùng chọn menu “Quản lý đặt hàng” trên thanh menu, hệ thống sẽ hiện ra giao diện “Quản lý đặt hàng” (hình 6.9). Về cách vận hành, người dùng phải tạo một thông tin về một đơn đặt hàng rồi mới cập nhật được thơng tin các vật tư cần đặt.
Hình 6.9 Giao diện Quản lý đặt hàng 6.2.8 Giao diện Quản lý báo giá. hàng 6.2.8 Giao diện Quản lý báo giá.
Khi người dùng chọn menu “báo giá”, hệ thống sẽ hiện ra giao diện “Quản lý báo giá” (hình 6.10). Về cách vận hành, người dùng phải tạo thông tin về phiếu báo giá của NCC, rồi mới tạo các thông tin về giá vật tư được báo.
Hình 6.10 Giao diện Quản lý báo giá 6.2.9 Giao diện báo cáo nhập kho. giá 6.2.9 Giao diện báo cáo nhập kho.
Khi người dùng muốn xem báo cáo nhập kho, họ sẽ chọn menu “Báo cáo” rồi chọn “Báo cáo nhập kho”. Giao diện báo cáo nhập kho có hình dạng như hình 6.11
Hình 6.11 Giao diện bao cáo nhập kho
6.2.10 Giao diện báo cáo xuất kho.
Hình 6.12 Giao diện báo cáo xuất kho 6.2.11 Giao diện Vật tư. kho 6.2.11 Giao diện Vật tư.
Giao diện thơng tin vật tư (hình 6.13) cho phép người dùng cập nhập, chỉnh sửa thơng tin các vật tư có trong kho
Hình 6.13 Giao diện thơng tin vật tư
6.2.12 Giao diện nhà cung cấp.
Hình 6.14 Giao diện thơng tin nhà cung cấp
6.2.13 Giao diện kho.
Hình 6.15 Giao diện thơng tin kho 6.2.14 Giao diện phân xưởng. kho 6.2.14 Giao diện phân xưởng.
Hình 6.16 Giao diện thông tin phân xưởng 6.2.15 Giao diện BOM
Ở giao diện BOM (hình 6.17), người dùng có thể tạo và chỉnh sửa BOM theo thành phẩm. Bên cạnh đó, khi cần thiết thì người dùng sẽ xuất thơng tin các vật tư tồn kho theo một mã thành phẩm bất kì, giúp người dùng biết được các vật tư nào đang thiếu hụt số lượng cho việc sản xuất. Chức năng này sẽ hỗ trợ kho truy xuất và xem thông tin nhanh hơn khi cơng ty nhận đơn hàng sản xuất mới.
Hình 6.17 Giao diện thông tin BOM
CHƯƠNG 7: KẾT LUẬN VÀ KIẾN NGHỊ
7.1 Kết luận
Luận văn đã hồn thành các mục tiêu đã đề ra giúp cơng ty nghiên cứu và thiết kế một phần mềm quản lý vật tư và nhà kho dùng cho việc:
i. Thống kê được lượng vật tư tồn kho hiện tại
ii. Kiểm tra tồn kho an toàn.
iii. Quản lý việc nhập kho
iv. Quản lý việc xuất kho
v. Quản lý các thông tin nhân viên, nhà cung cấp, vật tư, kho và phân xưởng
vi. Tạo mẫu báo cáo thẻ kho, nhập kho, và xuất kho theo.
vii. Cho phép người dùng kiểm tra tồn kho của hàng loạt vật tư dựa trên thành phẩm.
7.2 Đánh giá triển khai7.2.1 Ưu điểm 7.2.1 Ưu điểm
i. Giao diện dễ sử dụng, tìm kiếm nhanh chóng
ii. Thống kê được số lượng tồn kho hiện tại.
iii. Tra cứu vật tư theo tên gần đúng.
iv. Có chức năng đăng nhập và phân quyền sau khi đăng nhập, đảm bảo tính bảo mật dữ liệu cho hệ thống.
v. Thống kê được lượng tồn kho vật tư theo thành phẩm.
vi. Kiểm tra được những vật tư có lượng tồn kho dưới mức tồn kho an toàn.
7.2.2 Nhược điểm
i. Chưa thống kê được lượng vật tư tồn kho tại một thời điểm bất kì trong quá khứ.
ii. Chưa xuất được báo cáo nhập kho và xuất kho, chỉ xem được trên hệ thống.
iii. Chưa biết cách chia sẽ cơ sở dữ liệu để nhiều máy tính dùng chung.
iv. Chưa biết cách đóng gói phần mềm hệ thống để nhiều máy tính sử dụng.
7.3 Kiến nghị về hướng phát triển