CHƯƠNG II : TÌM HIỂU YÊU CẦU
3.3. Đặc tả các chức năng
3.3.1. Đặc tả chức năng 1.1
Đầu đề:
-Tên chức năng: Thêm nhân viên -Đầu vào:
o Tên nhân viên
o Chức vụ
o CCCD/CMND
o Số điện thoại
o Địa chỉ
o Mức lương
- Đầu ra: Thông tin nhân viên được thêm vào kho dữ liệu Thân:
Lặp: Lấy một nhân viên trong kho các nhân viên Nếu CCCD mới nhập == CCCD nhân viên đó
Thì thơng báo đã có nhân viên trong danh sách
Đến khi: Có thơng báo || Hết danh sách nhân viên đã có trong hệ thống
Nếu: Khơng có thơng báo
Thì nhân viên mới -> danh sách nhân viên
3.3.2. Đặc tả chức năng 1.2
Đầu đề:
-Tên chức năng: Tạo tài khoản -Đầu vào: Tài khoản mới, mật khẩu
Đến khi: Hết danh sách tài khoản đã có trong hệ thống
3.3.3. Đặc tả chức năng 1.3
Đầu đề:
- Tên chức năng: Chỉnh sửa thông tin nhân viên - Đầu vào: Thông tin nhân viên
- Đầu ra: Thông tin nhân viên được cập nhật vào kho dữ liệu Thân:
Chọn nhân viên cần chỉnh sửa
Lặp: Trỏ đến trường thông tin cần sửa Thay thế giá trị cũ bằng giá trị mới
Đến khi: Hết các thông tin cần sửa
3.3.4. Đặc tả chức năng 1.4
Đầu đề:
-Tên chức năng: Xóa thơng tin nhân viên -Đầu vào: Thông tin nhân viên
- Đầu ra: Thông báo nhân viên được xóa khỏi kho dữ liệu Thân:
-Chọn nhân viên cần xóa
-Trỏ đến bản ghi chứa thơng tin nhân viên -Xóa bản ghi
3.3.5. Đặc tả chức năng 2.1
Đầu đề:
-Tên chức năng: Thêm sản phẩm -Đầu vào:
o Tên sản phẩm
o Đơn vị tính
- Đầu ra: Thông tin sản phẩm được thêm vào kho dữ liệu Thân:
Lặp: Lấy một sản phẩm trong kho các sản phẩm
Nếu tên sản phẩm mới nhập == tên sản phẩm đó 129211_NHĨM 14
QUẢN LÝ KHO HÀNG
Thì thơng báo đã có sản phẩm trong danh sách
Đến khi: Có thơng báo || Hết danh sách sản phẩm đã có trong hệ thống
Nếu: Khơng có thơng báo
Thì sản phẩm mới -> danh sách sản phẩm
3.3.6. Đặc tả chức năng 2.2
Đầu đề:
-Tên chức năng: Cập nhật thông tin sản phẩm -Đầu vào: Thông tin sản phẩm
- Đầu ra: Thông tin sản phẩm được cập nhật vào kho dữ liệu Thân:
Chọn sản phẩm cần chỉnh sửa
Lặp: Trỏ đến trường thông tin cần sửa
Thay thế giá trị cũ bằng giá trị mới
Đến khi: Hết các thông tin cần sửa
3.3.7. Đặc tả chức năng 2.3
Đầu đề:
-Tên chức năng: Xóa thơng tin sản phẩm -Đầu vào: Thông tin sản phẩm
- Đầu ra: Thơng báo sản phẩm được xóa khỏi kho dữ liệu Thân:
-Chọn sản phẩm cần xóa
-Trỏ đến bản ghi chứa thơng tin sản phẩm -Xóa bản ghi
3.3.8. Đặc tả chức năng 3.1
o Địa chỉ
o Email
- Đầu ra: Thông tin nhà cung cấp được thêm vào kho dữ liệu Thân:
Lặp: Lấy một nhà cung cấp trong kho các nhà cung cấp Nếu tên nhà cung cấp mới nhập == tên nhà cung cấp đó
Thì thơng báo đã có nhà cung cấp trong danh sách
Đến khi: Có thơng báo || Hết danh sách nhà cung cấp đã có trong hệ thống
Nếu: Khơng có thơng báo
Thì nhà cung cấp mới -> danh sách nhà cung cấp
3.3.9. Đặc tả chức năng 3.2
Đầu đề:
-Tên chức năng: Cập nhật thông tin nhà cung cấp -Đầu vào: Thông tin nhà cung cấp
- Đầu ra: Thông tin nhà cung cấp được cập nhật vào kho dữ liệu Thân:
Chọn nhà cung cấp cần cập nhật
Lặp:Trỏ đến trường thông tin cần cập nhật Thay thế
giá trị cũ bằng giá trị mới
Đến khi: Hết các thông tin cần cập nhật
3.3.10. Đặc tả chức năng 3.3
Đầu đề:
-Tên chức năng: Xóa thơng tin nhà cung cấp -Đầu vào: Thông tin nhà cung cấp
-Đầu ra: Thông báo nhà cung cấp được xóa khỏi kho dữ liệu -Chọn nhà cung cấp cần xóa
-Trỏ đến bản ghi chứa thơng tin nhà cung cấp -Xóa bản ghi
QUẢN LÝ KHO HÀNG
3.3.11. Đặc tả chức năng 4.1
Đầu đề:
-Tên chức năng: Thêm chi nhánh - Đầu vào: Thông tin chi nhánh o Mã chi nhánh
o Tên chi nhánh o Số điện thoại
o Địa chỉ
-Đầu ra: Thông tin chi nhánh được thêm vào kho dữ liệu Thân:
Lặp: Lấy một chi nhánh trong kho các chi nhánh Nếu tên chi nhánh mới nhập == tên chi nhánh đó
Thì thơng báo đã có chi nhánh trong danh sách
Đến khi: Có thơng báo || Hết danh sách chi nhánh đã có trong hệ thống
Nếu: Khơng có thơng báo
Thì chi nhánh mới -> danh sách chi nhánh
3.3.12. Đặc tả chức năng 4.2
Đầu đề:
-Tên chức năng: Cập nhật thông tin chi nhánh: -Đầu vào: Thông tin chi nhánh
- Đầu ra: Thông tin chi nhánh được cập nhật vào kho dữ liệu Thân:
Chọn sản phẩm cần chỉnh sửa
Lặp: Trỏ đến trường thông tin cần sửa
- Đàu ra: Thơng báo chi nhánh được xóa khỏi kho dữ liệu Thân:
-Chọn sản phẩm cần xóa
-Trỏ đến bản ghi chứa thơng tin sản phẩm -Xóa bản ghi
3.3.14. Đặc tả chức năng 5.1
Đầu đề:
-Tên chức năng: Tạo phiếu nhập kho -Đầu vào: o Mã phiếu nhập o Mã nhà cung cấp o Mã sản phẩm o Đơn vị o Số lượng o Đơn giá o Thành tiền o Tổng tiền nhập o Ngày nhập kho o Mã nhân viên o Kế tốn
- Đầu ra: Thơng tin phiếu nhập được thêm vào kho dữ liệu Thân:
Nhập mã nhà cung cấp, ngày nhập kho, mã nhân viên, kế tốn
Lặp: Thêm thơng tin sản phẩm (Mã sản phẩm, tên sản phẩm, đơn vị, số lượng nhập, đơn giá nhập)
Thành tiền = số lượng * đơn giá
Tổng tiền nhập = tổng tiền nhập + thành tiền
Đến khi: Hết sản phẩm cần thêm
3.3.15. Đặc tả chức năng 5.2
Đầu đề:
QUẢN LÝ KHO HÀNG -Tên chức năng: Chỉnh sửa phiếu nhập kho
-Đầu vào: Thông tin phiếu nhập
- Đầu ra: Phiếu nhập đã được chỉnh sửa và lưu vào kho dữ liệu Thân:
Chọn loại sản phẩm từ danh sách sản phẩm trong phiếu nhập
Lặp: Trỏ đến trường thông tin cần sửa (Mã sản phẩm, tên sản phẩm, đơn vị tính, số lượng nhập, đơn giá nhập)
Thay thế giá trị cũ bằng giá trị mới -> DS sản phẩm trong phiếu nhập
Đến khi: Hết sản phẩm cần chỉnh sửa
3.3.16. Đặc tả chức năng 5.3
Đầu đề:
-Tên chức năng: In phiếu nhập kho -Đầu vào: Phiếu nhập
- Đầu ra: Phiếu nhập đã được in Thân: -Chọn phiếu nhập cần in -Nếu in : Thì -> máy in Khơng thì thốt 3.3.17. Đặc tả chức năng 5.4 Đầu đề:
-Tên chức năng: Kiểm tra lịch sử chỉnh sửa -Đầu vào: Mã phiếu nhập
- Đầu ra: Lịch sử chỉnh sửa của phiếu nhập Thân:
3.3.18. Đặc tả chức năng 6.1
Đầu đề:
-Tên chức năng: Tạo phiếu xuất kho -Đầu vào: o Mã phiếu xuất o Mã chi nhánh o Mã sản phẩm o Đơn vị o Số lượng o Đơn giá o Thành tiền o Tổng tiền xuất
o Ngày xuất kho
o Mã nhân viên
o Kế tốn
- Đầu ra: Thơng tin phiếu xuất được thêm vào kho dữ liệu Thân:
Nhập mã chi nhánh, ngày xuất kho, mã nhân viên, kế tốn
Lặp: Thêm thơng tin sản phẩm (Mã sản phẩm, tên sản phẩm, đơn vị, số lượng xuất, đơn giá xuất)
Thành tiền = số lượng * đơn giá
Tổng tiền xuất = tổng tiền xuất + thành tiền
Đến khi: Hết sản phẩm cần thêm
3.3.19. Đặc tả chức năng 6.2
Đầu đề:
-Tên chức năng: Chỉnh sửa phiếu xuất kho -Đầu vào: Thông tin phiếu xuất
- Đầu ra: Phiếu xuất đã được chỉnh sửa và lưu vào kho dữ liệu Thân:
Chọn loại sản phẩm từ danh sách sản phẩm trong phiếu xuất
QUẢN LÝ KHO HÀNG
Lặp: Trỏ đến trường thông tin cần sửa (Mã sản phẩm, tên sản phẩm, đơn vị tính, số lượng xuất, đơn giá xuất)
Thay thế giá trị cũ bằng giá trị mới -> DS sản phẩm trong phiếu xuất
Đến khi: Hết sản phẩm cần chỉnh sửa
3.3.20. Đặc tả chức năng 6.3
Đầu đề:
-Tên chức năng: In phiếu nhập kho -Đầu vào: Phiếu nhập
- Đầu ra: Phiếu nhập đã được in Thân: -Chọn phiếu nhập cần in -Nếu in : Thì -> máy in Khơng thì thoát 3.3.21. Đặc tả chức năng 6.4 Đầu đề:
-Tên chức năng: Kiểm tra lịch sử chỉnh sửa -Đầu vào: Mã phiếu nhập
- Đầu ra: Lịch sử chỉnh sửa của phiếu nhập Thân:
-Tra cứu mã phiếu nhập cần kiểm tra -Nếu mã phiếu nhập tồn tại
Thì hiển thị lịch sử chỉnh sửa phiếu nhập Khơng thì thốt
o Chức vụ
o CCCD/CMND
o Số điện thoại
o Địa chỉ
- Đầu ra: Danh sách thông tin nhân viên thỏa mãn đầu vào Thân:
Lặp: Nếu thông tin đầu vào == thông tin nhân viên có trong
bảng nhân viên Thì thơng tin nhân viên -> danh sách đầu ra
Đến khi: Hết danh sách nhân viên trong hệ thống
3.3.23. Đặc tả chức năng 7.2
Đầu đề:
-Tên chức năng: Tìm kiếm hàng hóa
- Đầu vào: Thơng tin sản phẩm (một hoặc nhiều thông tin) o Mã sản phẩm
o Tên sản phẩm o Đơn vị tính
- Đầu ra: Danh sách thông tin sản phẩm thỏa mãn đầu vào Thân:
Lặp: Nếu thông tin đầu vào == thông tin sản phẩm có trong
bảng hàng hóa Thì thơng tin sản phẩm -> danh sách đầu ra
Đến khi: Hết danh sách hàng hóa trong hệ thống
3.3.24. Đặc tả chức năng 7.3
Đầu đề:
-Tên chức năng: Tìm kiếm nhà cung cấp
- Đầu vào: Thơng tin nhà cung cấp (một hoặc nhiều thông tin) o Mã nhà cung cấp
o Tên nhà cung cấp
o Số điện thoại o Địa chỉ
o Email
QUẢN LÝ KHO HÀNG - Đầu ra: Danh sách thông tin nhà cung cấp thỏa mãn đầu vào Thân:
Lặp: Nếu thông tin đầu vào == thông tin nhà cung cấp có trong bảng nhà cung cấp
Thì thơng tin nhà cung cấp -> danh sách đầu ra
Đến khi: Hết danh sách nhà cung cấp trong hệ thống
3.3.25. Đặc tả chức năng 7.4
Đầu đề:
-Tên chức năng: Tìm kiếm chi nhánh
- Đầu vào: Thông tin chi nhánh (một hoặc nhiều thông tin) o Mã chi nhánh
o Tên chi nhánh o Số điện thoại o Địa chỉ
- Đầu ra: Danh sách thông tin chi nhánh thỏa mãn đầu vào Thân:
Lặp: Nếu thông tin đầu vào == thơng tin chi nhánh có trong
bảng chi nhánh Thì thơng tin chi nhánh -> danh sách đầu ra
Đến khi: Hết danh sách chi nhánh trong hệ thống
3.3.26. Đặc tả chức năng 7.5
Đầu đề:
-Tên chức năng: Tìm kiếm phiếu nhập
- Đầu vào: Thông tin phiếu nhập (một hoặc nhiều thông tin) o Mã phiếu nhập
Thân:
Lặp: Nếu thông tin đầu vào == thơng tin phiếu nhập có trong bảng phiếu nhập
Thì thơng tin phiếu nhập -> danh sách đầu ra
Đến khi: Hết danh sách phiếu nhập trong hệ thống
3.3.27. Đặc tả chức năng 7.6
Đầu đề:
-Tên chức năng: Tìm kiếm phiếu xuất
- Đầu vào: Thông tin phiếu xuất (một hoặc nhiều thông tin) o Mã phiếu xuất
o Tên chi nhánh o Ngày xuất kho o Tên nhân viên o Kế toán
o Tổng tiền xuất
- Đầu ra: Danh sách thông tin phiếu xuất thỏa mãn đầu vào Thân:
Lặp: Nếu thông tin đầu vào == thơng tin phiếu xuất có trong bảng phiếu xuất
Thì thơng tin phiếu xuất -> danh sách đầu ra
Đến khi: Hết danh sách phiếu xuất trong hệ thống
3.3.28. Đặc tả chức năng 8.1
Đầu đề:
-Tên chức năng: Báo cáo số lượng hàng hóa trong kho -Đầu vào: Yêu cầu xuất báo cáo số lượng hàng hóa tồn kho
-Đầu ra: Thơng tin hàng hóa tồn kho (Mã sản phẩm, tên sản phẩm, đơn vị, nhà cung cấp, số lượng tồn kho)
Thân:
Lặp: Lấy một sản phẩm trong bảng hàng hóa
QUẢN LÝ KHO HÀNG
Số lượng tồn kho = ∑số lượng nhập vào (bảng TT phiếu nhập) – ∑số lượng xuất ra (bảng TT phiếu xuất)
Đến khi: Hết danh sách sản phẩm
3.3.29. Đặc tả chức năng 8.2
Đầu đề:
-Tên chức năng: Báo cáo nhập kho
-Đầu vào: Thời gian cần báo cáo nhập kho
-Đầu ra: Báo cáo nhập kho (Mã phiếu nhập, nhà cung cấp, ngày nhập, tổng tiền, người lập phiếu, tổng số phiếu nhập, tổng tiền)
Thân:
Lặp: Lấy một phiếu nhập
Lấy giá trị các trường (Mã phiếu nhập, nhà cung cấp, ngày nhập, tổng tiền, người lập phiếu) -> báo cáo
Tổng cộng tiền += tổng tiền từng phiếu nhập
Đến khi: Hết danh sách phiếu nhập
3.3.30. Đặc tả chức năng 8.3
Đầu đề:
-Tên chức năng: Báo cáo xuất kho
-Đầu vào: Thời gian cần báo cáo xuất kho
-Đầu ra: Báo cáo xuất kho (Mã phiếu xuất, chi nhánh, ngày xuất, tổng tiền, người lập phiếu, tổng số phiếu xuất, tổng tiền)
Thân:
Lặp: Lấy một phiếu xuất
Lấy giá trị trường (Mã phiếu xuất, chi nhánh, ngày xuất, tổng tiền, người lập phiếu) - > báo cáo
-Đầu vào: Báo cáo cần in - Đầu ra: Báo cáo in ra bản cứng Thân: -Chọn phiếu nhập cần in -Nếu in : Thì -> máy in Khơng thì thốt 3.4. Phân tích dữ liệu 3.4.1. Nhận diện thực thể và thuộc tính Tên thực thể Nhân viên Hàng hóa Nhà cung cấp Chi nhánh Phiếu nhập
Thơng tin phiếu nhập
Phiếu xuất Thơng tin phiếu xuất
3.4.3. Xây dựng mơ hình thực thể và liên kết Các liên kết:
-Liên kết 1:N giữa Nhân viên và Phiếu nhập (1 nhân viên có thể tạo nhiều phiếu nhập nhưng mỗi phiếu nhập chỉ được tạo từ 1 nhân viên).
-Liên kết 1:N giữa Nhân viên và Phiếu xuất (1 nhân viên có thể tạo nhiều phiếu xuất nhưng mỗi phiếu xuất chỉ được tạo từ 1 nhân viên).
-Liên kết 1:N giữa Hàng hóa và Thơng tin phiếu nhập (Mỗi sản phẩm trong thực thể hàng hóa có thể thuộc nhiều thơng tin phiếu nhập, nhưng mỗi thơng tin phiếu nhập chỉ có 1 sản phẩm).
-Liên kết 1:N giữa Hàng hóa và Thơng tin phiếu xuất (Mỗi sản phẩm trong thực thể hàng hóa có thể thuộc nhiều thơng tin phiếu xuất, nhưng mỗi thơng tin phiếu xuất chỉ có 1 sản phẩm).
-Liên kết 1:N giữa Nhà cung cấp và Phiếu nhập (Mỗi nhà cung cấp có thể có nhiều phiếu nhập nhưng mỗi phiếu nhập chỉ có duy nhất 1 nhà cung cấp).
-Liên kết 1:N giữa Chi nhánh và Phiếu xuất (Mỗi chi nhánh có thể có nhiều phiếu xuất nhưng mỗi phiếu xuất chỉ có duy nhất 1 chi nhánh)
-Liên kết 1:N giữa Phiếu nhập và Thơng tin phiếu nhập (Mỗi phiếu nhập có nhiều thơng tin phiếu nhập nhưng mỗi thơng tin phiếu nhập chỉ thuộc một phiếu nhập duy nhất).
-Liên kết 1:N giữa Phiếu xuất và Thơng tin phiếu xuất (Mỗi phiếu xuất có nhiều thơng
tin phiếu xuất nhưng mỗi thơng tin phiếu xuất chỉ thuộc một phiếu xuất duy nhất).
Hình 3.12. Sơ đồ thực thể và liên kết
QUẢN LÝ KHO HÀNG
CHƯƠNG IV: THIẾT KẾ CƠ SỞ DỮ LIỆU4.1. Chuyển mơ hình thực thể liên kết sang mơ hình quan hệ 4.1. Chuyển mơ hình thực thể liên kết sang mơ hình quan hệ
-NhanVien (maNV, tenNV, taikhoan, matkhau, chucvu, cccd, sdtNV, diachiNV, luongNV).
-HangHoa (maSP, tenSP, donvi).
-NhaCungCap (maNCC, tenNCC, sdtNCC, diachiNCC, emailNCC). -ChiNhanh (maCN, tenCN, sdtCN, diachiCN).
-PhieuNhap (maPN, ngayNhap, tongTienNhap, KeToan, maNV, maNCC). -PhieuXuat(maPX, ngayXuat, tongTienXuat, KeToan, maNV, maCN).
-TTPhieuNhap(maPN, maSP, donvi, soluongNhap, dongiaNhap, ThanhTien). -TTPhieuXuat(maPX, maSP, donvi, soluongXuat, dongiaXuat, ThanhTien).
4.2. Chuẩn hóa dữ liệu về 3NF
-Chuẩn hóa 3NF quan hệ NhanVien:
NhanVien (maNV, tenNV, taikhoan, matkhau, chucvu, cccd, sdtNV, diachiNV, luongNV)
o Mỗi nhân viên có một mã riêng, có duy nhất tên, tài khoản, mật khẩu, chức vụ,
CCCD/CMND, số điện thoại, địa chỉ.
o Ta có phụ thuộc hàm:
maNV -> tenNV, taikhoan, matkhau, chucvu, cccd, sdtNV, diachiNV, luongNV
Vậy quan hệ NhanVien đã ở 3NF. -Chuẩn hóa 3NF quan hệ HangHoa:
HangHoa (maSP, tenSP, donvi)
o Mỗi loại hàng hóa có một mã riêng, có duy nhất tên, đơn vị tính. o Ta có phụ thuộc hàm: maSP -> tenSP, donvi
-Chuẩn hóa 3NF quan hệ ChiNhanh: ChiNhanh
(maCN, tenCN, sdtCN, diachiCN).
o Mỗi chi nhánh có một mã riêng, có duy nhất tên, số điện thoại, địa chỉ.