Đang tải... (xem toàn văn)
ID UC2.11Name Xem danh sách hàng hóa tồn khoChức năng cho phép quản lý và nhân viên kiểm tra số hàng tồn khoActors Quản lý và nhân viên Pre-conditions User đã có tài khoản và đã được phâ
Trang 1KHOA CÔNG NGHỆ THÔNG TINBỘ MÔN CÔNG NGHỆ PHẦN MỀM
Nhóm sinh viên thực hiện: Nhóm 2
Danh sách sinh viên: Nguyễn Phú Hải <0188666>Nguyễn Lương Bằng <0181066>
Lớp học phần: 66PM5
Giảng viên hướng dẫn:Ths Nguyễn Hồng Hạnh
Hà Nội 11/2023
I.ĐẶT VẤN ĐỀ - XÁC ĐỊNH YÊU CẦU KHÁCH HÀNG
Trang 21.Đặt vấn đề:
I.1 Hệ thống dự định làm:
Ngày nay, đời sống con người đang ngày càng hiện đại, Công nghệ thông tin cũng ngày một phát triển lớn mạnh.Qua đó nhu cầu đời sống của con người ngày càng hiện đại, công nghệ thông tin càng được ứng dụng vào nhiều lĩnh vực để thỏa mãn nhu cầu con người Giáo dục, sản xuất, kinh doanh, giải trí,…Đặc biệt là quản lý.
Quản lý kho trong doanh nghiệp là một công việc quan trọng đòi hỏi bộ phận quản lý phải tiến hành nhiều nghiệp vụ phức tạp Các doanh nghiệp không chỉ có mô hình tập trung mà còn tổ chức mô hình kho phân tán trên nhiều địa điểm khác nhau Do vậy cách quản lý kho theo phương pháp truyền thống sẽ không còn hiệu quả.
Việc ứng dụng Công nghệ thông tin đã mang lại bước đột phá mới cho công tác quản lý kho, giúp doanh nghiệp nắm bắt được thông tin về hàng hóa, vật tư, nguyên vật liệu và sản phẩm một cách chính xác kịp thời Từ đó, ngườiquản lý có thể đưa ra các kế hoạch và quyết định đúng đắn, nâng cao kết quả sản xuất kinh doanh.
Do đó, chúng em quyết định thực hiện phân tích và thiết kế một hệ thống quản lý kho hàng.
Ngôn ngữ lập trình: C# WinformHệ quản trị CSDL: Mysql Server
I.2 Tóm tắt dự án:
a Mô tả sơ lược:
Quy trình hệ thống quản lý kho hàng bao gồm nhiều bước cơ bản để đảm bảo rằng hàng hóa được quản lý, lưu trữ và xuất bán một cách hiệu quả Dưới đây là một mô tả tổng quan về các bước trong quy trình này:
Bước 1: Nhân viên nhận thông tin về đơn và hàng hóa cần được nhập kho, sauđó nhập thông tin vào phiếu in nhập kho.
Bước 2: Xác nhận nhập kho, xác định vị trí lưu trữ cho hàng hóa vừa nhập cùng với báo cáo lại tình trạng cho quản lý.
Bước 3: Khi có yêu cầu xuất kho, kiểm tra tình trạng kho hàng xem có đủ điềukiện xuất kho không, sau đó nhập thông tin xuất vào phiếu in xuất kho.Bước 4: Xác nhận xuất kho, báo cáo thống kê lại tình trạng kho hàng.
Trang 3b Nhu cầu quản lý:Tình trạng kho hàngGhi nhận phiếu nhập/xuất hàngTình trạng nhập/xuất hàngThống kê, báo cáo Quản lý tài khoản người dùng
c Phạm vi: Khu vực kho hàng của công ty
d Đối tượng
Quản lý: Quản trị viên có toàn quyền hệ thống
Nhân viên: có quyền nhập/xuất,in phiếu kho hàng, kiểm tra tình trạng kho hàng, nhập/xuất hàng.
2.Xác định yêu cầu nghiệp vụ:2.1 Tình trạng kho hàng:
Nhân viên và quản lý có thể theo dõi tình trạng kho hàng thông qua danh sách hàng hóa dược hiển thị trên hệ thống.Danh sách này bao gồm: mã hàng hóa, tên hàng hóa, số lượng tồn kho, loại hàng hóa, đơn giá.
Cho phép tìm kiếm theo mã hàng hóa, tên hàng hóa.
Trang 4Khi cần xuất kho, nhân viên nhập thông tin các hàng hóa cần xuất vào phiếu xuất kho gồm:
2.6 Quản lý tài khoản :
Mỗi người dùng được cấp tài khoản riêng trên hệ thống bao gồm các thông tin cá nhân Người dùng đăng nhập bằng Username và Password.
Phần mềm quản lý người dùng gồm các nhóm:-Quản lý: toàn quyền hệ thống
-Nhân viên
2.7 Báo cáo và thống kê:
Quản lý có thể xem được báo cáo về tình trạng tồn kho, doanh số xuất nhập hàng.
II.PHÂN TÍCH CHỨC NĂNG:1.Phân tích yêu cầu hệ thống:
1.1.Yêu cầu chức năng:
a Yêu cầu quản lý tình trạng kho hàng
Trang 5o Lưu trữ thông tin hàng hóa: Mã hàng hóa, tên hàng hóa, số lượng tồn kho, loại hàng hóa, đơn giá.
o Tra cứu,tìm kiếm hàng hóa theo mã hàng hóa, tên hàng hóa
o Thêm hàng hóa mới
o Cập nhật thông tin hàng hóa
o Xóa hàng hóa
o Thống kê danh sách hàng hóa
b Yêu cầu quản lý nhà cung cấp:
o Lập bảng lưu trữ về thông tin nhà cung cấp: tên, địa chỉ, sđt…
o Tra cứu nhà cung cấp theo mã nhà cung cấp, tên nhà cung cấp.
o Thêm nhà cung cấp mới
o Cập nhập thông tin nhà cung cấp
o Xóa nhà cung cấp
o Thống kê danh sách các nhà cung cấp
c Yêu cầu quản lý nhập hàng:
o Lưu trữ thông tin phiếu nhập hàng: mã phiếu nhập, ngày nhập, mã cung cấp, tên hàng hóa, số lượng…
o Tra cứu đơn nhập hàng theo mã phiếu nhập, ngày…
o Thêm phiếu nhập hàng.
o Cập nhật, sửa thông tin phiếu nhập
o Xóa phiếu nhập sau khi thanh toán cho nhà cung cấp
o Thống kê, báo cáo tình hình nhập hàng
d Yêu cầu quản lý xuất hàng:
o Lưu trữ thông tin phiếu xuất hàng: mã phiếu xuất, ngày xuất, tên hàng hóa,số lượng…
o Tra cứu đơn xuất hàng theo mã phiếu xuất, ngày…
o Thêm phiếu xuất
o Cập nhật, sửa thông tin phiếu xuất
Trang 6o Xóa phiếu xuất sau khi được thanh toán
o Thống kê, báo cáo tình hình xuất hàng
e Yêu cầu quản lý đơn đặt hàng:
o Lưu trữ thông các đơn đặt hàng gồm: mã đơn, ngày đặt,số lượng,tên hàng…
o Tra cứu các đơn hàng theo theo mã đơn, ngày đặt hàng…
o Thêm mới đơn hàng khi có khách hàng đặt
o Cập nhật, thay đổi mặt hàng hay số lượng, ngày đặt…
o Xóa đơn hàng.
o Thống kê số lượng đặt hàng của từng mặt hàng theo đơn đặt hàng.
f Yêu cầu quản lý thống kê:
o Thống kê các loại hàng được xuất hay nhập nhiều nhất trong ngày.
g Yêu cầu quản lý tài khoản:
o Xem danh sách tài khoản của người dùng Thông tin gồm: Mã, Tên, SĐT, Địa chỉ, Chức vụ.
o Thêm mới nhân viên
o Xóa nhân viên
o Đổi mật khẩu tài khoản
o Phân quyền truy cập hệ thống: Quản lý, nhân viên.
1.2.Yêu cầu phi chức năng:
- Giao diện thân thiện, dễ sử dụng
- Ổn định, hiệu quả
- Khả năng lưu trữ, phục hồi dữ liệu
- Yêu cầu phân quyền người dùng
2.Use case tổng quát hệ thống:
Trang 72.1 Usecase quản lý tình trạng kho hàng
Trang 8ID UC2.11
Name Xem danh sách hàng hóa tồn kho
Chức năng cho phép quản lý và nhân viên kiểm tra số hàng tồn kho
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 User truy cập vào trang quản trị CMS2 User chọn chức năng xem danh sách tồn kho
Alternative flow
Result Hiện danh sách hàng hóa tồn kho
Name Thông tin hàng hóa
Brief description Chức năng cho phép quản lý và nhân viên kiểm tra thông tin hànghóa: Mã hàng hóa, tên hàng hóa, số lượng tồn kho, loại hàng hóa,đơn giá.
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 User truy cập vào một loại hàng hóa có trên danh sách tồnkho
2 Hiển thị mã hàng hóa, tên hàng hóa, số lượng tồn kho, loạihàng hóa, đơn giá
Alternative flow
Result Thông tin hàng hóa theo yêu cầu
Name Tìm kiếm hàng hóa theo mã
Brief description Chức năng cho phép quản lý và nhân viên tìm kiếm hàng hóa qua mãhàng hóa.
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 User truy cập phần tìm kiếm hàng hóa2 Nhập hàng hóa cần tìm bằng mã hàng hóa đã có.
3 Hiển thị mã hàng hóa, tên hàng hóa, số lượng tồn kho, loạihàng hóa, đơn giá
Trang 9Alternative flow
Result Thông tin hàng hóa theo yêu cầu
Name Thêm tồn kho
Brief description Chức năng cho phép nhân viên thêm tồn kho nếu có
Actors nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 User them hàng hàng hóa cần them vào tồn kho có sẵn2 Nhập hàng hóa: mã hàng hóa, tên hàng hóa, số lượng tồn kho,
loại hàng hóa, đơn giá
Name Xóa tồn kho
Brief description Chức năng cho phép nhân viên xóa tồn kho khi không còn mặt hàng
Actors nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 User Xóa hàng hóa cần xóa 2 Xác nhận và chờ quản lý đồng ý
Alternative flow
Result Không còn hàng hóa cần tìm
2.3 Usecase Quản lý nhập hàng
Trang 10ID UC2.21
Name Quản lý nhập hàng
Brief description Chức năng cho phép quản lý và nhân viên có thông tin về mặt hàngđã nhập về kho
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Thông tin thông báo về mặt hàng đã xuất kho2 Tự động cập nhật số mặt hàng sau khi nhập hàng
Name Quản lý xuất hàng
Brief description Chức năng cho phép quản lý và nhân viên có thông tin về mặt hàngđã xuất kho
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Thông tin thông báo về mặt hàng đã xuất kho
2 Tự động cập nhật số mặt hàng sau khi đã xuất kho và hiển thịsố hàng còn tồn trong kho.
Trang 11ID UC2.41
Name Danh sách các phiếu xuất nhập kho
Brief description Chức năng cho phép quản lý và nhân viên có thông tin về mặt hàngđã xuất kho, nhập kho theo ngày tháng năm
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Truy cập vào danh sách 2 Hiển thị danh sách
Alternative flow
Result Danh sách theo yêu cầu
Name Thông tin phiếu
Brief description Chức năng cho phép quản lý và nhân viên có thông tin về mặt hàngđã xuất kho, nhập kho theo ngày tháng năm bao gồm: mã hàng hóa,tên hàng hóa, số lượng tồn kho, loại hàng hóa, đơn giá
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Truy cập vào danh sách
Trang 122 Truy cập vào phiếu cần kiểm tra
Alternative flow
Result Phiếu cần kiểm tra theo yêu cầu
Name Thông tin phiếu
Brief description Chức năng cho phép quản lý và nhân viên có thông tin về mặt hàngđã xuất kho, nhập kho theo ngày tháng năm bao gồm: mã hàng hóa,tên hàng hóa, số lượng tồn kho, loại hàng hóa, đơn giá
Actors Quản lý và nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Truy cập vào danh sách
2 Tìm kiếm phiếu thông qua ngày tháng năm
Alternative flow
Result Phiếu cần kiểm tra theo yêu cầu
Exceptions
Trang 132.5.Quản lý tài khoản
Name Thêm kỹ thuật viên
Brief description Cho phép quản lý có thể thêm được tài khoản vào sử dụng hệ thống
Actors Quản lý
Pre-conditions Quản lý đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Quản lý truy cập vào trang quản trị cms2 Quản lý chọn “Quản lý tài khoản”3 Quản lý chọn “Thêm tài khoản”
4 Quản lý Nhập tất cả các trường thông tin tài khoản và chọnbutton “Thêm tài khoản”
5 Hệ thống validate trường thông tin của tài khoản và tạo tàikhoản mới
6 Hệ thống thông báo “Thêm tài khoản thành công” và refresh
Trang 14lại danh sách tài khoản hiển thị
Alternative flow 5.1 Thông tin của tài khoản sai định dạng/lỗi/không xác thực thì Hệthống hiển thị thông báo và dừng tiến trình thêm mới tài khoản
Result Quản lý thêm mới thành công tài khoản
Exceptions Nếu Quản lý không nhập đủ các trường, hiển thị thông báo yêucầu nhập dưới mỗi trường
2.4.2 Usecase: Xóa kỹ thuật viên:Name Xóa kỹ thuật viên
Brief description Chức năng cho phép quản lý xóa được kỹ thuật viên trong danh sáchngười dùng hệ thống
Actors Quản lý
Pre-conditions Quản lýđã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Quản lý truy cập vào trang quản trị CMS 2 Quản lý chọn chức năng “Quản lý tài khoản”
3 Hệ thống hiển thị danh sách tất cả tài khoản có trong hệthống
4 User chọn 1 tài khoản muốn xóa, và chọn “Xóa tài khoản”5 Hệ thống thông báo “Xác nhận xóa”
Pre-conditions Quản lý đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Quản lý truy cập vào trang quản trị CMS2 Quản lý chọn chức năng “Quản lý tài khoản”
3 User tìm kiếm thông tin nhân viên bằng cách nhập mã Kỹ thuậtviên hoặc tên nhân viên để tìm kiếm
Trang 154 Hệ thống hiển thị kết quả tìm kiếm cho Quản lý xem
Alternative flow 4.1 Hệ thống không tìm kiếm được thông tin thì thông báo lỗi/khôngtìm thấy nhân viên nào cho Quản lý biết và refresh lại danh sách tàikhoản.
Result User tìm kiếm thành công thông tin nhân viên
Pre-conditions User đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 User truy cập vào trang quản trị CMS 2 User chọn chức năng “Quản lý tài khoản” 3 User chọn “Đổi mật khẩu”
4 Hệ thống hiển thị form đổi mật khẩu bao gồm các trườngthông tin: nhập mật khẩu cũ, nhập mật khẩu mới, xác nhận mật khẩumới
5 User nhập đầy đủ thông tin trên form và chọn “Đổi mậtkhẩu”
6 Hệ thống xử lý đổi mật khẩu cho User và thông báo “Đổimật khẩu thành công”
Alternative flow
Result User đổi được mật khẩu tài khoản của mình thành công
Exceptions - User nhập sai thông tin mật khẩu cũ thì hiển thị thông báongay dưới trường đó
2.4.5 Usecase: Phân quyền tài khoản:Name Phân quyền tài khoản
Brief description Chức năng cho phép quản lý phân quyền cho tài khoản
Actors Quản lý
Pre-conditions Quản lý đã có tài khoản và đã được phân quyền vào hệ thống
Basic flow 1 Quản lý truy cập vào trang quản trị CMS2 Quản lý chọn chức năng “Quản lý tài khoản”3 Quản lý chọn “Phân quyền tài khoản”
Trang 164 Hệ thống hiển thị dánh sách tài khoản và quyền tương ứng5 Quản lý chọn 1 tài khoản muốn phân quyền lại và chỉnh sửa
quyền của tài khoản đó6 Quản lý “Lưu lại”
7 Hệ thống hiển thị thông báo phân quyền thành công
Alternative flow
Result Quản lý phân quyền thành công cho tài khoản
Exceptions
Trang 171.2 Biểu đồ tuần tự nhà cung cấp
Trang 181.3 Biểu đồ trình tự hàng hóa
Trang 191.4 Biểu đồ tuần tự đơn hàng
Trang 201.5 Biểu đồ tuần tự phiếu nhập hàng
Trang 211.6.Biểu đồ tuần tự xuất hàng
Trang 221.7 Biểu đồ tuần tự người dùng
Trang 232 Thiết kế biểu đồ lớp
Trang 24Biểu đồ lớp quản lý kho hàng
3 Thiết kế cơ sở dữ liệu3.1 Sơ đồ dữ liệu
3.2 Mô tả chi tiết các lớp đối tượng
Trang 25Bảng NguoiDung
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
TaiKhoan Varchar 50 Not nullPrimary Key
Tên tài khoản
SDT Nvarchar 20 Số điện thoại
Bảng NhaCungCap
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaCC Nvarchar 10 Not nullPrimary Key
Mã cung cấpTenNCC Nvarchar 50 Tên nhà cung
cấpSDT Nvarchar 50 Số điện thoại
Bảng HangHoa
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaHH Nvarchar 10 Not null
Primary Key Mã hàng hóaTenHH Nvarchar 50 Tên hàng hóaMaLH Nvarchar 10 Foreign Key với
LoaiHang Mã loại hàng
Bảng DonDatHang
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaDH Nvarchar 10 Not null
Primary Key Mã đặt hàng
Trang 26MaNV Nvarchar 10 Foreign Key với NhanVien
Mã nhân viên
Bảng ChiTietDonDatHang
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaDH Nvarchar 10 Not nullPrimary Key
Mã đặt hàngMaHH Nvarchar 10 Not null
Primary Key
Mã hàng hóa
Bảng PhieuNhap
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaPN Nvarchar 10 Not nullPrimary Key
Mã phiếu nhập
MaCC Nvarchar 10 Foreign Key với
NhaCungCap Mã cung cấpNgayTT Datetime Ngày thanh toánMaNV Nvarchar 10 Foreign Key với
NhanVien Mã nhân viên
Bảng ChiTietPhieuNhap
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaPN Nvarchar 10 Not nullPrimary Key
Mã phiếu nhập
Bảng PhieuXuat
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaPX Nvarchar 10 Not nullPrimary Key
Mã phiếu xuất
MaNV Nvarchar 10 Foreign Key với
NhanVien Mã nhân viên
Bảng ChiTietPhieuXuat
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaPX Nvarchar 10 Not null
Primary Key Mã phiếu xuất
Trang 27MaHH Nvarchar 10 Not nullPrimary Key
Mã hàng hóa
Bảng TonKho
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
NgayThangNam Nvarchar 10 Not null
Primary Key Ngày tháng năm tồn khoMaHH Nvarchar 10 Not null
Primary Key Mã hàng hóa
Bảng LoaiHang
Tên trườngKiểu dữ liệuKích thướcRàng buộcGhi chú
MaLoai Nvarchar 10 Not null
Primary Key Mã loại hàngTenloai Nvarchar 50 Tên loại hàng