3.1. Phân tích thiết kế các chức năng của hệ thống
3.1.1. Mô hình phân rã chức năng
3.1.2. Mô tả chi tiết từng chức năng
• Quản lý hệ thống:
- Đăng nhập, đăng xuất
- Thay đổi mật khẩu
- Quản lý người dùng • Quản lý danh mục:
- Danh mục Loại kho
- Danh mục Kho hàng
- Danh mục Loại vật tư
- Danh mục Vật tư
- Danh mục Đơn vị tính
- Danh mục Nhân viên
- Danh mục Phòng ban • Quản lý cung ứng vật tư:
- Tổng hợp phiếu dự trù vật tư
- Lập đơn đặt hàng dựa trên tổng hợp phiếu dự trù vật tư
- Tổng hợp đề nghị cung ứng vật tư
- Lập phiếu cung ứng vật tư căn cứ đề nghị cung ứng • Quản lý vật tư tại kho:
- Cập nhật phiếu dự trù vật tư của các phòng ban
- Cập nhật đề nghị cung ứng vật tư từ các phòng ban
- Cập nhật đề nghị cấp phát vật tư
- Lập phiếu cấp phát vật tư căn cứ đề nghị cấp phát
- Cập nhật đề nghị nhập kho
- Lập phiếu nhập kho căn cứ đề nghị nhập
- Lập phiếu điều chuyển vật tư
- Lập phiếu thanh lý vật tư
- Nhập vật tư tồn kho đầu kỳ
- Lập biên bản kiểm kê, cân đối chênh lệch • Chức năng Thống kê, báo cáo:
- Thống kê và lập báo cáo nhập-xuất-tồn kho theo định kỳ
- Thống kê và lập báo cáo nhập-xuất kho theo vật tư
- Thống kê và lập báo cáo nhập vật tư trong khoảng thời gian
- Thống kê và lập báo cáo cấp phát vật tư trong khoảng thời gian
- Thống kê và lập báo cáo vật tư thanh lý
3.2. Biểu đồ luồng dữ liệu
3.2.1. Biểu đồ luồng dữ liệu mức ngữ cảnh
3.2.2. Biểu đồ luồng dữ liệu mức đỉnh
3.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh
Chức năng Quản lý danh mục:
Chức năng Quản lý cung ứng vật tư:
Hình 3.5: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý cung ứng vật tư
Chức năng quản lý vật tư tại kho:
Hình 3.6: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý vật tư tại kho
Chức năng Thống kê - Báo cáo:
3.3. Thiết kế cơ sở dữ liệu
3.3.1. Các thực thể
Sau khi phân tích từ các biểu mẫu rút ra các thực thể sau:
• Nhân viên (Mã nhân viên, Họ và tên, Ngày sinh, Giới tính, Địa chỉ, Số điện thoại, Email, Số CMND, Ngày cấp, Nơi cấp, Phòng ban, Tình trạng) • Vật tư (Mã vật tư, Tên vật tư, Loại vật tư, Đơn vị tính, Mô tả)
• Loại vật tư (Mã loại, Tên loại) • Đơn vị tính (Mã ĐVT, Tên ĐVT)
• Kho hàng (Số kho, Tên kho, Loại kho, Địa điểm, Bộ phận quản lý) • Loại kho (Mã loại, Tên loại, Mô tả)
• Phòng ban (Mã phòng ban, Tên phòng ban, Địa chỉ, Số điện thoại, Fax) • Đơn đặt hàng (Số đơn hàng, Ngày lập, Người lập, Ngày giao hàng, Mã
hàng, Tên hàng, Số lượng, Đơn giá, Thành tiền)
• Phiếu nhập kho (Số phiếu nhập, Ngày lập, Người lập, Người giao hàng, Đề nghị nhập, Nhập tại kho, Diễn giải, Mã hàng, Tên hàng, Đơn vị tính, Số lượng, Đơn giá, Thành tiền)
• Phiếu cung ứng vật tư (Số phiếu, Ngày lập, Người lập, Đề nghị cung ứng, Diễn giải, Người vận chuyển, Phương tiện vận chuyển, Xuất tại kho, Nhập tại kho, Mã hàng, Tên hàng, Đơn vị tính, Số lượng)
• Phiếu điều chuyển vật tư (Số phiếu, Ngày lập, Người lập, Diễn giải, Người vận chuyển, Phương tiện vận chuyển, Xuất tại kho, Nhập tại kho, Mã hàng, Tên hàng, Đơn vị tính, Số lượng)
• Phiếu cấp phát vật tư (Số phiếu, Ngày lập, Người lập, Đề nghị cấp phát, Diễn giải, Xuất tại kho, Nhập tại kho, Mã hàng, Tên hàng, Đơn vị tính, Số lượng, Đơn giá, Thành tiền)
• Phiếu thanh lý vật tư (Số phiếu, Ngày lập, Người lập, Diễn giải, Xuất tại kho, Mã hàng, Tên hàng, Đơn vị tính, Số lượng, Đơn giá, Thành tiền) • Biên bản kiểm kê (Số biên bản, Kho hàng, Thời điểm kiểm kê, Người lập,
Mã hàng, Tên hàng, Đơn vị tính, Đơn giá, Số lượng theo sổ sách, Thành tiền theo sổ sách, Số lượng theo kiểm kê, Thành tiền theo kiểm kê, Số lượng chênh lệch, Thành tiền chênh lệch)
• Giấy đề nghị nhập kho (Số đề nghị, Ngày lập, Người lập, Người đề nghị, Nhập vào kho, Lý do nhập, Tình trạng, Mã hàng, Tên hàng, Đơn vị tính, Số lượng)
• Phiếu dự trù vật tư (Số phiếu, Ngày lập, Người lập, Phòng ban, Mã hàng, Tên hàng, Đơn vị tính, Số lượng)
• Giấy đề nghị cung ứng vật tư (Số đề nghị, Ngày lập, Người lập, Phòng ban, Lý do sử dụng, Mã hàng, Tên hàng, Đơn vị tính, Số lượng)
• Giấy đề nghị cấp phát vật tư (Số đề nghị, Ngày lập, Người lập, Người đề nghị, Lý do sử dụng, Mã hàng, Tên hàng, Đơn vị tính, Số lượng)
3.3.2. Mối quan hệ giữa các thực thể
• Nhân viên – Phòng ban: Mỗi nhân viên thuộc một phòng ban, mỗi phòng ban có một hoặc nhiều nhân viên.
• Vật tư – Loại vật tư: Mỗi vật tư thuộc một loại vật tư, mỗi loại vật tư bao gồm một hoặc nhiều vật tư.
• Vật tư – Đơn vị tính: Mỗi vật tư tính theo một đơn vị tính, mỗi đơn vị tính tính cho một hoặc nhiều vật tư.
• Vật tư – Kho hàng: Mỗi vật tư thuộc một hoặc nhiều kho hàng, mỗi kho hàng chứa một hoặc nhiều vật tư.
Để thiết kế CSDL ta tách quan hệ n-n:
• Kho hàng – Loại kho: Mỗi kho hàng thuộc một loại kho, mỗi loại có một hoặc nhiều kho hàng.
• Phòng ban – Kho hàng: Mỗi phòng ban quản lý không hoặc nhiều kho hàng, mỗi kho hàng được quản lý bởi một phòng ban.
• Đơn đặt hàng – Vật tư: Mỗi đơn đặt hàng đặt hàng một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều đơn đặt hàng.
Tách quan hệ n-n:
• Đề nghị nhập kho – kho hàng: Mỗi đề nghị nhập kho đề nghị nhập vào một kho hàng, mỗi kho hàng có không hoặc nhiều đề nghị nhập kho.
• Đề nghị nhập kho – Vật tư: Mỗi đề nghị nhập kho đề nghị một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều đề nghị nhập kho.
Tách quan hệ n-n:
• Đề nghị cấp phát vật tư – Vật tư: Mỗi đề nghị cấp phát vật tư đề nghị một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều đề nghị cấp phát vật tư.
Tách quan hệ n-n:
• Đề nghị cung ứng vật tư – Vật tư: Mỗi đề nghị cung ứng vật tư đề nghị một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều đề nghị cung ứng vật tư.
Tách quan hệ n-n:
• Phiếu nhập kho – Kho hàng: Mỗi phiếu nhập kho nhập vào một kho hàng, mỗi kho hàng có không hoặc nhiều phiếu nhập kho.
• Phiếu nhập kho – Vật tư: Mỗi phiếu nhập kho nhập cho một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều phiếu nhập kho.
• Phiếu nhập kho – Đề nghị nhập kho: Mỗi phiếu nhập kho căn cứ vào một đề nghị nhập kho, mỗi đề nghị nhập kho có không hoặc một phiếu nhập kho.
• Phiếu nhập kho – Nhân viên: Mỗi phiếu nhập kho có một nhân viên giao hàng, mỗi nhân viên giao không hoặc nhiều phiếu nhập kho.
• Phiếu cấp phát vật tư – Kho hàng: Mỗi phiếu cấp phát vật tư xuất từ một kho hàng và xuất đến không hoặc một kho hàng, mỗi kho hàng có không hoặc nhiều phiếu cấp phát vật tư.
• Phiếu cấp phát vật tư – Vật tư: Mỗi phiếu cấp phát vật tư cấp phát một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều phiếu cấp phát vật tư.
Tách quan hệ n-n:
• Phiếu cung ứng vật tư – Kho hàng: Mỗi phiếu cung ứng vật tư xuất từ một kho hàng và xuất đến một kho hàng khác, mỗi kho hàng có không hoặc nhiều phiếu cung ứng vật tư.
• Phiếu cung ứng vật tư – Vật tư: Mỗi phiếu cung ứng vật tư cung ứng một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều phiếu cung ứng vật tư.
• Phiếu thanh lý vật tư – Kho hàng: Mỗi phiếu thanh lý vật tư xuất từ một kho hàn, mỗi kho hàng có không hoặc nhiều phiếu thanh lý vật tư.
• Phiếu thanh lý vật tư – Vật tư: Mỗi phiếu thanh lý vật tư thanh lý một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều phiếu thanh lý vật tư.
Tách quan hệ n-n:
• Biên bản kiểm kê – Kho hàng: Mỗi biên bản kiểm kê kiểm kê cho một kho hàng, mỗi kho hàng có không hoặc nhiều biên bản kiểm kê.
• Biên bản kiểm kê – Vật tư: Mỗi biên bản kiểm kê kiểm kê cho một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều biên bản kiểm kê.
Tách quan hệ n-n:
• Phiếu dự trù vật tư – Phòng ban: Mỗi phiếu dự trù vật tư của một phòng ban, mỗi phòng ban có không hoặc nhiều phiếu dự trù vật tư.
• Phiếu dự trù vật tư – Vật tư: Mỗi phiếu dự trù vật tư dự trù cho một hoặc nhiều vật tư, mỗi vật tư có một hoặc nhiều phiếu dự trù vật tư.
Tách quan hệ n-n:
• Phiếu điều chuyển vật tư – Kho hàng: Mỗi phiếu điều chuyển vật tư xuất từ một kho hàng và xuất đến một kho hàng khác, mỗi kho hàng có không hoặc nhiều phiếu điều chuyển vật tư.
• Phiếu điều chuyển tư – Vật tư: Mỗi phiếu điều chuyển vật tư chuyển một hoặc nhiều vật tư, mỗi vật tư có không hoặc nhiều phiếu điều chuyển vật tư.
• Thực thể “Nhân viên” (người lập) có quan hệ 1-n (lập) với các thực thể sau: Đơn đặt hàng, Giấy đề nghị nhập kho, Giấy đề nghị cấp phát vật tư, Phiếu nhập kho, Phiếu xuất kho, Phiếu dự trù vật tư, Biên bản kiểm kê.
3.3.3. Sơ đồ thực thể liên kết
3.3.4. Các bảng dữ liệu
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaPB numeric 3 Mã phòng ban (PK)
2 TenPB nvarchar 50 Tên phòng ban
3 DiaChi nvarchar 50 Địa chỉ phòng ban
4 SoDienThoai varchar 20 Số điện thoại
5 Fax varchar 20 Số fax
Bảng 3.1: Bảng Phòng ban
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaNV numeric 8 Mã nhân viên (PK)
2 HoTen nvarchar 50 Họ và tên
3 NgaySinh date Ngày sinh
4 GioiTinh bit Giới tính
5 DiaChi nvarchar 50 Địa chỉ
6 SoDienThoai varchar 20 Số điện thoại
7 Email varchar 50 Địa chỉ email
8 CMND varchar 10 Số CMND
9 NgayCap date Ngày cấp CMND
10 NoiCap nvarchar 50 Nơi cấp CMND
11 PhongBan numeric 3 Mã phòng ban (FK)
12 TinhTrang bit Tình trạng nhân viên
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 TaiKhoan varchar 30 Tải khoản (PK)
2 MaNV numeric 8 Mã nhân viên (FK)
3 MatKhau varchar 500 Mật khẩu đăng nhập
4 LanDangNhapCuoi datetime Lần đăng nhập cuối
5 TinhTrang bit Tình trạng
6 NgayTao datetime Ngày tạo
7 AnhDaiDien image Ảnh đại diện
Bảng 3.3: Bảng Người dùng
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaMenu int Mã menu (PK)
2 TenMenu nvarchar 50 Tên menu
Bảng 3.4: Bảng Menu hệ thống
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaChucNang int Mã chức năng (PK)
2 MaMenu int Mã menu (FK)
3 TenChucNang nvarchar 50 Tên chức năng
Bảng 3.5: Bảng Chức năng hệ thống
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 TaiKhoan int Tài khoản (PK, FK)
2 MaChucNang int Mã chức năng (PK, FK)
3 ThuocTinh int Thuộc tính
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaLoai numeric 3 Mã loại kho (PK)
2 TenLoai nvarchar 50 Tên loại kho
3 MoTa nvarchar 100 Mô tả
Bảng 3.7: Bảng loại kho
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoKho numeric 8 Số kho (PK)
2 TenKho nvarchar 50 Tên kho
3 LoaiKho numeric 3 Mã loại kho (FK)
4 DiaDiem nvarchar 50 Địa điểm
5 BoPhanQuanLy char 4 Mã bộ phận quản lý (FK)
Bảng 3.8: Bảng Kho hàng
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaLoai numeric 3 Mã loại vật tư (PK)
2 TenLoai nvarchar 50 Tên loại vật tư
Bảng 3.9: Bảng Loại vật tư
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaDVT numeric 3 Mã đơn vị tính (PK)
2 TenDVT nvarchar 50 Tên đơn vị tính
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 MaVT numeric 8 Mã vật tư (PK)
2 TenVT nvarchar 50 Tên vật tư
3 LoaiVT numeric 3 Mã loại vật tư (FK)
4 DVT numeric 3 Mã đơn vị tính (FK)
5 MoTa nvarchar 100 Mô tả
Bảng 3.11: Bảng Vật tư
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoDDH char 10 Số đơn đặt hàng (PK)
2 NgayLap date Ngày lập
3 NguoiLap numeric 8 Mã nhân viên lập đơn
4 Tình trạng nvarchar 20 Tình trạng đơn hàng
Bảng 3.12: Bảng Đơn đặt hàng
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoDDH char 10 Số đơn đặt hàng (PK,FK)
2 MaVT numeric 8 Mã vật tư (PK,FK)
3 SoLuong int Số lượng
4 DonGia money Đơn giá
5 NgayGiaoHang date Ngày giao hàng
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoDNN char 10 Số đề nghị nhập (PK)
2 NgayLap date Ngày lập
3 NguoiLap numeric 8 Mã nhân viên lập (FK)
4 NhapVaoKho char 4 Mã kho nhập
5 LyDoNhap nvarchar 100 Lý do nhập
Bảng 3.14: Bảng Đề nghị nhập
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoDNN char 10 Số đề nghị nhập (PK,FK)
2 MaVT numeric 8 Mã vật tư (PK,FK)
3 SoLuong int Số lượng
4 GhiChu nvarchar 100 Ghi chú
Bảng 3.15: Bảng Chi tiết đề nghị nhập
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoPNK char 10 Số phiếu nhập kho (PK)
2 NgayLap date Ngày lập
3 NguoiLap numeric 8 Người lập
4 NguoiGiaoHang numeric 8 Mã nhân viên giao hàng
5 DeNghiNhapKho char 10 Mã đề nghị nhập kho (FK)
6 NhapTaiKho char 4 Mã kho nhập (FK)
7 DienGiai nvarchar 100 Diễn giải
Bảng 3.16: Bảng Phiếu nhập kho
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoPNK char 10 Số phiếu nhập kho (PK,FK)
2 MaVT numeric 8 Mã vật tư (PK,FK)
3 SoLuong int Số lượng
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoDNCP char 10 Số đề nghị cấp phát (PK)
2 NgayLap date Ngày lập
3 NguoiLap numeric 8 Mã nhân viên lập (FK)
4 NguoiDeNghi numeric 8 Mã nhân viên đề nghị (FK)
5 PhongBan numeric 3 Mã phòng ban đề nghị (FK)
6 LyDoSuDung nvarchar 100 Lý do sử dụng
Bảng 3.18: Bảng Đề nghị cấp phát vật tư
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoDNCP char 10 Số đề nghị cấp phát (PK,FK)
2 MaVT numeric 8 Mã vật tư (PK,FK)
3 SoLuong int Số lượng
4 GhiChu nvarchar 100 Ghi chú
Bảng 3.19: Bảng Chi tiết đề nghị cấp phát vật tư
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoPCP char 10 Số phiếu cấp phát (PK)
2 NgayLap date Ngày lập
3 NguoiLap numeric 8 Mã nhân viên lập (FK)
4 DeNghiCapPhat char 10 Mã đề nghị cấp phát (FK)
5 XuatTaiKho numeric 8 Mã kho xuất (FK)
6 NhapTaiKho numeric 8 Mã kho nhập (FK)
7 DienGiai nvarchar 100 Diễn giải
Bảng 3.20: Bảng Phiếu cấp phát vật tư
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
2 MaVT numeric 8 Mã vật tư (PK,FK)
3 SoLuong int Số lượng cấp phát
4 DonGia Money Đơn giá
Bảng 3.21: Bảng Chi tiết phiếu cấp phát vật tư
ST
T Tên trường Kiểu dữ liệu Độ rộng Diễn giải
1 SoPhieu char 10 Số phiếu dự trù (PK)
2 NgayLap date Ngày lập
3 NguoiLap numeric 8 Mã nhân viên lập (FK)
4 PhongBan char 4 Mã phòng ban yêu cầu (FK)