Trang 1 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG Trang 2 Các chức năng tiêu biểu:Chức năng quản lý thơng tin sản phẩm• Hệ thống phải lưu trữ đầy đủ thông tin của tất cả các sản phẩm bán
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
PHÂN TÍCH THIẾT KẾ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
Đề tài: Website quản lý kho bánh kẹo
Trang 2Các chức năng tiêu biểu:
Chức năng quản lý thông tin sản phẩm
• Hệ thống phải lưu trữ đầy đủ thông tin của tất cả các sản phẩm bánh kẹo trong kho, bao gồm: mã sản phẩm, tên sản phẩm, loại sản phẩm, giá bán, số lượng tồn kho, hạn sử dụng,
Hệ thống phải cho phép người dùng tìm kiếm sản phẩm theo các tiêu chí khác nhau, như mã sản phẩm, tên sản phẩm, loại sản phẩm,
Hệ thống phải cho phép người dùng thêm, sửa, xóa thông tin sản phẩm
Chức năng quản lý nhập
• Hệ thống phải cho phép người dùng nhập kho các sản phẩm bánh kẹo mới
• Hệ thống phải kiểm tra số lượng và chất lượng của sản phẩm nhập
• Hệ thống phải tự động cập nhật số lượng tồn kho của sản phẩm sau khi nhập
Bước 3: Nếu sản phẩm nhập kho đạt yêu cầu (sản đã tồn tại, hoặc chưa
có thì thêm mới, và kiểm tra có nhập đúng kiểu dữ liệu hay không), hệ thống tự động cập nhật số lượng tồn kho của sản phẩm
Bước 4: Hệ thống thông báo cho người dùng về kết quả nhập
Chức năng quản lý xuất
• Hệ thống phải cho phép người dùng xuất kho các sản phẩm bánh kẹo
• Hệ thống phải kiểm tra số lượng sản phẩm xuất
• Hệ thống phải tự động cập nhật số lượng tồn kho của sản phẩm sau khi xuất
Bước 3: Hệ thống kiểm tra số lượng sản phẩm xuất kho (còn số lượng
đủ đáp ứng với đơn hàng hay
Bước 4: Nếu sản phẩm xuất kho đạt yêu cầu, hệ thống tự động cập
Trang 3nhật số lượng tồn kho của sản phẩm.
Bước 5: Hệ thống thông báo cho người dùng về kết quả xuất
Biểu Đồ usecase
Usecase tổng quan
Usecase cho modun nhập kho
• Đăng nhập đề xuất UC đăng nhập
• Chọn loại sản phẩm đề xuất UC chọn loại sản phẩm
• Nhập thông tin sản phẩm đề xuất UC nhậ thông tin sản phẩm
• Lập phiểu nhập hang đề xuất UC nhập phiếu nhập hang
• UC lập phiếu hang include UC nhập thông tin sản phẩm do phải có đủ thông tin sản phẩm mới có thể lập phiếu hang
• UC nhập kho include đăng nhập, chọn loại sản phẩm, lập phiếu hang do phải hoàn thành đăng nhập, lập phiếu nhập hang và chọn loại sản
Usercase cho modun suất kho
Trang 4• Đăng nhập đề xuất UC đăng nhập
• Chọn loại sản phẩm đề xuất UC chọn loại sản phẩm
• Chọn sản phẩm đề xuất UC chọn sản phẩm
• Lập phiểu giao hàng đề xuất UC nhập phiếu giao hang
• Kiểm tra sản phẩm đề xuất UC kiểm tra sản phẩm
• UC kiểm tra sản phẩm include UC lập phiếu hang do phải lập phiếu hang xong mới kiểm tra sản phẩm
• UC xuất kho include đăng nhập, chọn loại sản phẩm, chọn sản phẩm, và lập phiếu hàng, do phải hoàn thành các UC kia mới hoàn thành được UC xuất kho
• UC Giao hàng include UC kiểm tra sản phẩm do người giao phải kiểm tra sản phẩm trước rồi mới bắt đầu đi giao
Usercase cho modun Quản lý doanh thu
• Đề xuất các UC xem báo cáo doanh thu
• Cả 4 UC đều include UC đăng nhập bằng tk admin di chỉ có admin mới được quyền sử dụng các chức năng này
Kịch bản chuẩn
Trang 5Kịch bản cho module quản lí thông tin sản phẩm (thay đổi thông tin sản phẩm)
ản lí thông tin sản phẩm (thay đổi thông tin sản phẩm)
Nhân viên thay đổi thành công thông tin sản phẩm
Kịch bản Nhân viên đăng nhập, chọn chức năng quản lí thông tin sản phẩm
Giao diện quản lí thông tin sản phẩm hiện
sản phẩm hiện tại có trong cơ sở dữ liệu
Nhân viên chọn sản phẩm muốn thay đổi thông tin, click vào nút
ẹo a
Giao diện Edit sản phẩm hiện lên, có các ô chứa thuộc tính của sản phẩm
Nhân viên nhập thông tin sản phẩm muốn thay đổi
Click nút Save để lưu các thông tin sản phẩm đã thay đổi Save thành công sẽ hiện thông báo là lưu sản phẩm thành công
Hệ thống sẽ quay lại bước 2
Ngoại lệ không thành công sẽ hiện thông báo lỗi server
Trang 6Kịch bản cho module quản lí nhập sản phẩm vào kho
Nhân viên, Admin nhập thành công sản phẩm mới vào kho
Kịch bản 1 Nhân viên(Admin) đăng nhập, chọn chức năng quản lí kho
Giao diện quản lí kho hiện lên Có danh sách các loại sản phẩm
và sản phẩm hiện tại có trong cơ sở dữ liệu
Nhân viên (Admin) chọn nút tạo mới sản phẩm (loại sản phẩm).Giao diện tạo mới sản phẩm hiện lên, có các ô chứa thuộc tính của sản phẩm (loại sản phẩm)
Nhân viên nhập thông tin sản phẩm mới (loại sản phẩm mới)
Trang 8liệu Thì cộng dồn số lượng sản phẩm mới nhập vào sản phẩm có không thành công sẽ hiện thông báo lỗi server.
Kịch bản cho module quản lí xuất sản phẩm trong kho
ản lí xuẩt sản phẩm khỏi kho
Nhân viên, Admin xuất thành công sản phẩm mới vào kho
Kịch bản 1 Nhân viên(Admin) đăng nhập, chọn chức năng quản lí kho
2 Giao diện quản lí kho hiện lên Có danh sách các loại sản phẩm
và sản phẩm hiện tại có trong cơ sở dữ liệu
3 Nhân viên (Admin) chọn nút tạo phiếu xuất kho
4 Giao diện phiếu xuất hiện lên, có các ô chứa thuộc tính của sản phẩm (loại sản phẩm)
5 Nhân viên nhập thông tin sản phẩm muốn xuất (loại sản phẩm)
ẹo a
ẹo b
XuấtSave để lưu các thông tin sản phẩm muốn xuất
7 Hệ thống sẽ kiểm tra số sản phẩm có đáp ứng với phiếu xuất
8 Save thành công sẽ hiện thông báo là lưu sản phẩm (loại sản phẩm) thành công
9 Hệ thống sẽ quay lại bước 2
ẹo a
ẹo b
Kiem Tra 05 03 Nguyễn-Trọng-ThiệnLập trình
hướng đố… 100% (1)
10
Chương trình đào tạo - LTHDTLập trìnhhướng đối… None
29
Ex 4 course registration systemLập trình
hướng đối… None
2
Nhóm 7 Hệ thống quản lý tuyển dụngLập trình
hướng đối… None
92
De thi Lthdt D12 - Lập trình
hướng đối… None
40
Giáo trình Java Script - Khoa Toán…Lập trình
hướng đối… None
78
Trang 9Ngoại lệ 9 Save không thành công (nếu số lượng không đủ đáp ứng với phiếu
xuất thì hiện thông báo số lượng sản phẩm A không đủ hoặc nếu lỗi khác thì hiện thông báo lỗi server)
Kịch bản cho module quản lí chức năng xem báo cáo doanh thu kho
ản lí chức năng xem báo cáo doanh thu kho
Kịch bản 1 Admin đăng nhập, có rule là "Admin", hệ thống sẽ hiển thị
nút báo cáo doanh thu, chọn chức năng quản xem doanh thu
2 Giao diện quản lí doanh thu kho hiện lên Có các thông tin giao dịch xuất sản phẩm (hàng hóa)
3 Admin chọn option báo cáo doanh thu theo tháng, tuần, ngày
4 Giao diện sẽ xuất thông tin theo option đã chọn
Trang 13b, Module xuất kho
Bướ ạ ệ au khi đăng nhậ
Trang 14Bướ ạ ện chính, sau khi đăng nhậ
Bước 1: bổ sung thuộc tính id: trừ các lớp delivery_staff,
Bước 2: Thuộc tính của các lớp được bổ sung thuộc tính theo kiểu của ngôn ngữ
Trang 15thu đượ ểu đồ ớ ự ể ế ế
Thiết kế cơ sở dữ liệu
Trang 16 ả tblAccount có khóa ngoại tblExp
ả tblAccount có khóa ngoại tblImportBước 5:
Các thuộc tính dẫn xuất:
Kết quả thu được CSDL toàn hệ thống
Trang 17Thiết kế tĩnh cho từng modun
Trang 19Thiết kế động
Modun nhập kho
Nhân viên quản lý nhập tài khoản và bấm nút đăng nhậpdgDangNhap gọi gdChinh
Nhận viên chọn chức năng nhập kho > gdChinh gọi
gdChonLoaiSanSham gọi lớp LoaiSpDAO yêu cầu tìm danh sách loại sản phẩm
Lớp LoaiSpDAO gọi hàm getLoaiSP()
Lớp LoaiSP đóng gói thông tin trả về cho hàm getLoaiSP()getLoaiSP() trả về kết quả cho gdChonLoaiSp gdChonLoaiSp hiển thị kết quả cho nhân viên quản lýNhân viên chọn loại sản phẩm và bấm next > gdChinh gọi Nhân viên nhập thông tin sản phẩm và bấm tạo
gdChonSanSham gọi lớp SanPhamDAO
Lớp SanPhamDAO gọi hàm add
Lớp SanPham thực hiện hàm
() trả về thông báo cho
Trang 20gdChonSanPham hiển thị kết quả cho nhân viên quản lýLặp lại bước chọn sản phẩm trên gdChonSanPham cho đến hết
ản phẩm
Sau khi nhậm hết sản phẩm bấm lưu >popupLuu hiện lênpopupLuu gọi lớp PhieuNhapDAO
Lớp PhieuNhapDAO gọi hàm LuuPhieuNhap()
Lớp PhieuNhap thực hiện hàm LuuPhieuNhap()
hàm LuuPhieuNhap() trả về kết quả cho popupLuu
popupLuu hiển thị thông báo cho quản lý
Modun xuất kho
Nhân viên quản lý nhập tài khoản và bấm nút đăng nhậpdgDangNhap gọi gdChinh
Nhận viên chọn chức năng xuất kho > gdChinh gọi
gdChonLoaiSanSham gọi lớp LoaiSpDAO yêu cầu tìm danh sách loại sản phẩm
Lớp LoaiSpDAO gọi hàm getLoaiSP()
Lớp LoaiSP đóng gói thông tin trả về cho hàm getLoaiSP()Hàm getLoaiSP() trả về kết quả cho gdChonLoaiSp
Trang 21gdChonLoaiSp hiển thị kết quả cho nhân viên quản lý
Nhân viên chọn loại sản phẩm và bấm next > gdChinh gọi anSham gọi lớp SanPhamDAO yêu cầu tìm danh sách sản phẩm
Lớp SanPhamDAO gọi hàm getSanPham ()
Lớp SanPham đóng gói thông tin trả về cho hàm getSanPham ()Hàm getSanPham () trả về kết quả cho gdChonSanPham gdChonLoaiSp hiển thị kết quả cho nhân viên quản l
Nhân viên chọn danh sách sản phẩm, điền số lượng và bấm lưuSau khi nhậm hết sản phẩm bấm lưu >popupLuu hiện lêngdChinh gọi lớp SanPhamDAO
lớp SanPhamDAO gọi hàm updateSanPham()
lớp SanPham thực thi hàm updateSanPham() và trả lại thông báo cho lớp San
lớp SanPhamDAO trả về thông báo cho gdChinh
hiện lên
popupLuu gọi lớp PhieuNhapDAO
Lớp PhieuXuatDAO gọi hàm LuuPhieuXuat()
Lớp PhieuXuat thực hiện hàm LuuPhieuXuat ()
hàm LuuPhieuXuat () trả về kết quả cho popupLuu
popupLuu hiển thị thông báo cho quản lý
Nhân viên quản lý nhập tài khoản và bấm nút đăng nhậpdgDangNhap gọi gdChinh
Nhận viên chọn chức năng xuất xem báo cáo doanh thugdChinh gọi gdBaoCaoDT
gdBaoCaoDT gọi lớp PhieuXuatDAO
PhieuXuatDAO gọi hàm
Lớp PhieuXuat thực hiện hàm GetPhieuXuat()
Hàm GetPhieuXuat() trả về kết quả cho gdBaoCaoDT
gdBaoCaoDT gọi lớp PhieuNhapDAO
PhieuNhapDAO gọi hàm GetPhieuNhap()
Trang 22Lớp PhieuNhap thực hiện hàm GetPhieuNhap ()
Chưa có loại sản phẩm nào trong CSDL
Đã có sẵn cái loại sản phẩm trong Sản phẩm đã tồn tại với số lượng >0Sản phẩm chưa tồn tại với số lượng >0Sản phẩm đã tồn tại với số lượng =0Sản phẩm chưa tồn tại với số lượng =0Nhập liên tiếp 2 sản phẩm giống nhauvới số lượng >0
Lưu 1 phiếu nhập có các sản phẩm vàloại sản phẩm đã tồn tại
Lưu 1 phiếu nhập có sản phẩm chưatồn tại, loại sản phẩm đã tồn tạiLưu 1 phiếu nhập có sản phẩm chưatồn tại, loại sản phẩm chưa tồn tạiLưu 1 phiếu nhập trống không có sản phẩm nào
Lưu 1 phiếu nhập với trên 100 sản phẩm
Trang 23Lưu 1 phiếu xuất với các thông tin giống hoàn toàn 1 phiếu xuất đã có
Đã có sẵn sản phẩm trong csdl Chưa có sản phẩm nào trong csdlTất cả sản phẩm trong cơ sở dữ liệu đều
có số lượng =0Update sản phẩm đã tồn tại và có sốlượng sản phẩm lớn < số lượng trong (số lượng cần xuất kho < số lượng trong kho)
Update sản phẩm đã tồn tại và có sốlượng sản phẩm > số lượng trong CSDL(số lượng cần xuất kho > số lượng trong Update 1 sản phẩm đã tồn tại và số lượng =0 (số lượng sp xuất kho =0)Update sản phẩm đang có số lượng =0 trong CSDL(đã hết hàng trong kho)