Điều kiện tiên quyết Nhân viên quản lý và nhân viên bán hàng phải đăngnhập vào hệ thống thành công Đầu vào Thông tin khách hàng Đầu ra Hiển thị thông báo “Đã thêm khách hàng vào hệ thống
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TPHCM KHOA: CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN HỌC PHẦN: Lập Trình Trên Môi Trường Windows
Chủ Đề: Quản Lý Bán Hàng Linh Kiện Máy Tính
Giảng viên hướng dẫn: Th.S Tống Thanh Văn
Trang 2TP Hồ Chí Minh, 2022
Trang 3LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin với Trường đại học Công nghệ TP.HCM đã tạo điều kiện cho chúng em học tập và thực hiện bản báo cáo đồ án môn học này Chúng em xin bày tỏ lòng biết ơn sâu sắc tới đã tận tình hướng dẫn chỉ bảo chúng em trong quá trình thực hiện đề tài Em xin chân thành cảm ơn quý thầy cô trong khoa Công nghệ Thông tin đã tận tình giảng dạy, và trang
bị cho em những kiến thức có ích, cần thiết trong suốt quá trình học tập tại khoa Trong suốt quá trình thực hiện đề tài, mặc dù đã cố gắng hết sức để hoàn thành nhưng chắc chắn luận văn không tránh khỏi những thiếu sót, kính mong Thầy Cô tận tình chỉ bảo Một lần nữa, chúng em xin gởi lời cảm ơn chân thành đến tất cả mọi người, những ai đã quan tâm, giúp đỡ và ủng hộ chúng em trong suốt thời gian qua Cảm ơn mọi người đã chú ý lắng nghe.
Trân trọng kính gửi đến thầy, ngày tháng năm 2022
Trang 4MỤC LỤC
MỞ ĐẦU
PHẦN I – GIỚI THIỆU
1 ĐẶT VẤN ĐỀ
2 MÔ TẢ BÀI TOÁN
3 YÊU CẦU CHI TIẾT
3.1 Mục đích
3.2 Phạm vi đề tài
4 Bố cục báo cáo
4.1 Chương 1: Cơ Sơ Lý Thuyết
4.1.1 Mô tả hiện trạng hệ thống
4.1.2 Mô tả chức năng nghiệp vụ của hệ thống
4.1.3 Các yêu cầu phi chức năng của phần mềm
4.1.4 Kiến trúc 3-layer
4.2 Chương 2: Phân tích thiết kế hệ thống
4.2.1 Đặc tả Use Case
4.2.1.1. Xác định các tác nhân
4.2.1.2. Xác định các Use Case
4.2.1.3. Sơ đồ Use Case tổng quan
4.2.1.4. Đặc tả Use Case đăng nhập
4.2.1.5. Đặc tả Use Case quản lý khách hàng
4.2.1.6. Đặc tả Use Case bán sản phẩm
4.2.1.7. Đặc tả Use Case quản lý sản phẩm
4.2.1.8. Đặc tả Use Case quản lý nhân viên
4.2.1.9. Đặc tả Use Case quản lý nhà cung cấp
4.2.1.10. Đặc tả Use Case nhập sản phẩm
4.2.1.11. Đặc tả Use Case thiết lập
4.2.2 Sơ đồ lớp
4.2.3 Thiết kế cơ sở dữ liệu
4.2.3.1. Bảng TAIKHOAN
4.2.3.2. Bảng QUYEN
4.2.3.3. Bảng PHANQUYEN
Trang 54.2.3.4. Bảng NCC
4.2.3.5. Bảng PHIEUNHAP
4.2.3.6. Bảng CHITIETPHIEUNHAP
4.2.3.7. Bảng LOAISANPHAM
4.2.3.8. Bảng SANPHAM
4.2.3.9. Bảng NHANVIEN
4.2.3.10. Bảng LOAINHANVIEN
4.2.3.11. Bảng KHACHHANG
4.2.3.12. Bảng HOADON
4.2.3.13. Bảng CTHD
4.2.4 Database Diagram
4.3 Chương 3: Xây dựng hệ thống
4.3.1 Tổng quan
4.3.1.1. Cấu trúc của Solution
4.3.2 Chức năng đăng nhập
4.3.2.1. Giải mã mật khẩu
4.3.2.2. Giao diện chính
4.3.2.3. Các sự kiện
4.3.3 Giao diện ProgressBar
4.3.3.1. Giao diện chính
4.3.4 Giao diện Form chính
4.3.4.1. Giao diện chính
4.3.4.2. Các sự kiện
4.3.5 Giao diện trang chủ
4.3.5.1. Giao diện chính
4.3.5.2. Các sự kiện
4.3.6 Chức năng bán sản phẩm
4.3.6.1. Giao diện chính
4.3.6.2. Các sự kiện
4.3.7 Giao diện in hoá hơn
4.3.7.1. Giao diện chính
4.3.8 Chức năng quản lý sản phẩm
Trang 64.3.8.1. Giao diện thành phần
4.3.8.2. Giao diện chính
4.3.8.3. Các sự kiện
4.3.9 Chức năng quản lý nhà cung cấp
4.3.9.1. Giao diện chính
4.3.9.2. Các sự kiện
4.3.10 Chức năng nhập sản phẩm
4.3.10.1 Giao diện chính
4.3.10.2 Các sự kiện
4.3.11 Chức năng quản lý nhân viên
4.3.11.1 Giao diện chính
4.3.11.2. Các sự kiện
4.3.12 Chức năng quản lý khách hàng
4.3.12.1. Giao diện chính
4.3.12.2. Các sự kiện
4.3.13 Chức năng thiết lập
4.3.13.1. Mã hoá mật khẩu
4.3.13.2. Giao diện chính
4.3.13.3. Các sự kiện
4.4 Chương 4: Kết quả thực hiện 4.4.1 Kết quả đạt được
4.4.2 Hạn chế
4.4.3 Hướng phát triển
Trang 7DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 2.1: Sơ đồ Use Case Tổng Quan
Hình 2.2: Sơ đồ Use Case Đăng Nhập
Hình 2.3: Sơ đồ Use Case Quản Lý Khách Hàng
Hình 2.4: Sơ đồ Use Case Bán Sản Phẩm
Hình 2.5: Sơ đồ Use Case Quản Lý Sản Phẩm
Hình 2.6: Sơ đồ Use Case Quản Lý Nhân Viên
Hình 2.7: Sơ đồ Use Case Quản Lý NCC
Hình 2.8: Sơ đồ Use Case Nhập Sản Phẩm
Hình 2.9: Sơ đồ Use Case Thiết Lập
Hình 2.10: Sơ đồ lớp
Hình 2.11: Database Diagram
Hình 3.1: Cấu trúc của Solution
Hình 3.2: Cấu trúc của Project Class Library BusinessLogicLayer
Hình 3.3: Cấu trúc của Project Class Library DataAccessLayer
Hỉnh 3.4: Cấu trúc của Project Class Library DTO
Hỉnh 3.5: Cấu trúc của PresentationLayer
Hình 3.6: Giao diện Đăng Nhập
Hình 3.7: Giao diện đăng nhập khi chưa nhập đủ thông tin
Hình 3.8: Giao diện đăng nhập khi nhập đủ thông tin
Hình 3.9: Giao diện đăng nhập khi chọn hiện mật khẩu
Hình 3.10: Giao diện thông báo
Hình 3.11: Giao diện Progressbar
Hình 3.12: Giao diện form chính
Hình 3.13: Giao diện Loading Progressbar
Hình 3.14: Giao diện Trang Chủ
Hình 3.15: Biểu đồ doanh thu
Hình 3.16: Biểu đồ Top 10 sản phẩm bán chạy
Hình 3.17: Giao diện trang chủ khi mở rộng
Hình 3.18: Giao diện Bán Sản Phẩm
Hình 3.19: Giao diện khi tìm thấy khách hàng
Hình 3.20: Giao diện khi thêm sản phẩm vào hóa đơn
Trang 8Hình 3.21: Giao diện khi có đầy đủ thông tin để thanh toán
Hình 3.22: Giao diện In Hóa Đơn
Hình 3.23: Giao diện Quản Lý Loại Sản Phẩm
Hình 3.24: Giao diện Quản Lý NCC
Hình 3.25: Giao diện Quản Lý Sản Phẩm
Hình 3.26: Giao diện khi chưa nhập đủ thông tin sản phẩm
Hình 3.27: Giao diện thêm nhanh Loại Sản Phẩm
Hình 3.28: Giao diện thêm nhanh NCC
Hình 3.29: Giao diện Quản Lý Nhà Cung Cấp
Hình 3.30: Giao diện Nhập Sản Phẩm
Hình 3.31: Giao diện khi đã tạo phiếu nhập
Hình 3.32: Giao diện khi chọn sản phẩm vào phiếu nhập
Hình 3.33: Giao diện khi đã lưu phiếu nhập
Hình 3.34: Giao diện khi chọn phiếu nhập cần xác nhận
Hình 3.35: Giao diện Quản Lý Nhân Viên
Hình 3.36: Giao diện Quản Lý Khách Hàng
Hình 3.37: Giao diện Thiết Lập
Hình 3.38: Giao diện khi sai mật khẩu hiện tại
Hình 3.39: Giao diện thông báo không đủ ký tự
Trang 9DANH MỤC BẢNG
Bảng 2.1: Đặc tả Use Case Đăng Nhập
Bảng 2.2: Đặc tả Use Case Quản Lý Khách Hàng
Bảng 2.3: Đặc tả Use Case Bán Sản Phẩm
Bảng 2.4: Đặc tả Use Case Quản Lý Sản Phẩm
Bảng 2.5: Đặc tả Use Case Quản Lý Nhân Viên
Bảng 2.6: Đặc tả Use Case Quản Lý NCC
Bảng 2.7: Đặc tả Use Case Nhập Sản Phẩm
Bảng 2.8: Đặc tả Use Case Thiết Lập
Bảng 2.9: Bảng dữ liệu TAIKHOAN
Bảng 2.10: Bảng dữ liệu QUYEN
Bảng 2.11: Bảng dữ liệu PHANQUYEN
Bảng 2.12: Bảng dữ liệu NCC
Bảng 2.13: Bảng dữ liệu PHIEUNHAP
Bảng 2.14: Bảng dữ liệu CHITIETPHIEUNHAP
Bảng 2.15: Bảng dữ liệu LOAISANPHAM
Bảng 2.16: Bảng dữ liệu SANPHAM
Bảng 2.17: Bảng dữ liệu NHANVIEN
Bảng 2.18: Bảng dữ liệu LOAINHANVIEN
Bảng 2.19: Bảng dữ liệu KHACHHANG
Bảng 2.20: Bảng dữ liệu HOADON
Bảng 2.21: Bảng dữ liệu CTHD
Trang 10MỞ ĐẦU
Trong cuộc sống thời đại hiện nay, khi mà công nghệ phát triển, thương mại điện
tử ngày càng phát triển mạnh mẽ trên thế giới mỗi quốc gia, mỗi khu vực cũng nhưViệt Nam và dần đã khẳng định được vị thế của mình trong nền kinh tế thị trường.Cùng với đó là sự ra đời của các ngôn ngữ lập trình cho phép thiết kế và xây dựngcác ứng dụng thương mại điện tử dưới nhiều hình thức khác nhau Và một trongnhững ứng dụng của thương mại điện tử phổ biến ở nước ta là dịch vụ bán hàngtrực tuyến Dịch vụ này cho phép người dùng tìm kiếm chọn lựa sản phẩm để mua,thực hiện giao dịch mà không cần phải trực tiếp đến cửa hàng, mà chỉ cần sử dụngmột thiết bị máy tính có kết nối internet Tuy nhiên hiện nay dịch vụ này vẫn cònkhá mới với nhiều người tiêu dùng nước ta, đặc biệt là những người không có kiếnthức về máy tính, tin học nói chung và thương mại điện tử nói riêng Nên hiện giờcác đối tượng chính của thương mại điện tử vẫn chủ yếu là tầng lớp tri thức và họcsinh, sinh viên Là những người sinh viên, cũng có chút kiến thức về tin học cũngnhư tiếp xúc với thương mại điện tử tuy nhiên đôi lúc cũng gặp một số khó khăntrong việc mua bán trên các trang quản lý bán hàng qua mạng hiện tại Như hìnhthức thanh toán, nhận hàng, chất lượng sản phẩm thực tế không được như trên hìnhảnh
Trang 11PHẦN I – GIỚI THIỆU
1 ĐẶT VẤN ĐỀ
Việc mong muốn đưa thương mại điện tử đến với nhiều người và tạo ra các phần mềmquản lý bán hàng ngày càng trở nên thiết thực hơn Từ những lý do trên chúng em đãquyết định chọn đề tài: Quản Lý Bán Hàng Linh Kiện Máy Tính với mục đích nhằmthực hiện một số công việc về vấn đề quản lý bán hàng, quản lý sản phẩm, quản lý nhậpsản phẩm, quản lý nhân viên Và xây dựng nên một hệ thống bán hàng qua mạng uytín, đơn giản, thân thiện, cũng như đem lại cho khách hàng những lựa chọn tối ưu đểngay cả những người không có kiến thức về tin học cũng có thể tham gia mua hàng quamạng chỉ với một số thao tác đơn giản Sản phẩm mà bọn em hướng tới là các thiết bịtin học nói chung, và linh kiện máy tính nói riêng
2 MÔ TẢ BÀI TOÁN
Hệ thống bán hàng linh kiện máy tính qua mạng là một hệ thống cung cấp cho người sửdụng, nhà quản lý những chức năng cần thiết để mua bán, quản lý những hoạt động củacửa hàng Đối với khách hàng, hệ thống cho phép tìm kiếm, xem thông tin sản phẩmtrên website và đặt hàng, mua hàng Sau khi chọn hàng xong thì chuyển qua thanh toán,đồng thời chọn địa điểm và xác định thời gian giao hàng Thực hiện xong khách hàngtiến hàng tiến hành xác nhận thanh toán và đợi nhận hàng từ bộ phận chuyển hàng vàkết thúc giao dịch
3 YÊU CẦU CHI TIẾT
3.1 Mục đích
Mục đích của phần mềm quản lý bán hàng linh kiện máy tính nhằm giúp cho doanhnghiệp nâng cao chất lượng dịch vụ bán hàng đối với khách hàng đồng thời cũng làmột công cụ để quản lý hàng hóa, kho, quy trình bán hàng, chăm sóc khách hàng mộtcách hiệu quả, tiết kiệm được nhiều thời gian và chi phí cho việc phải cần quá nhiềunhân viên để quản lý
3.2 Phạm vi đề tài
Đề tài đồ án được thực hiện dựa trên cơ sở phạm vi đồ án lập trình windows với đểtài “Quản Lý Bán Hàng Linh Kiện Máy Tính”
Trang 124.1.2 Mô tả chức năng nghiệp vụ của hệ thống.
o Ứng dụng quản lý bán đồ chơi có 8 chức năng:
- Đăng nhập: Chức năng cho phép nhân viên đăng nhập vào hệ thống bằng
tài khoản gồm: Tên đăng nhập và mật khẩu do nhân viên quản lý cung cấpkhi bắt đầu làm việc
- Quản lý hóa đơn: Tùy theo số lượng sản phẩm mà khách hàng mua, nhân
viên bán hàng và nhân viên quản lý cập nhật số lượng, giá thành để lập hóađơn Nhân viên bán hàng và nhân viên quản lý được chỉnh sửa thông tin hóađơn trước khi thanh toán và cũng như hủy hóa đơn khi khách hàng yêu cầu
- Quản lý nhập sản phẩm: Chức năng cho phép nhân viên quản lý lập
phiếu nhập để nhập các sản phẩm từ một nhà cung cấp nào đó khi cần thiết
- Quản lí khách hàng: Hệ thống cho phép nhân viên bán hàng và nhân viên
quản lý, thêm mới khách hàng, sửa thông tin khách hàng và xóa khách hàngkhỏi hệ thống
- Quản lý sản phẩm: Chức năng cho phép nhân viên quản lý danh sách sản
phẩm, thêm mới, cập nhật thông tin và ngừng kinh doanh sản phẩm
- Quản lý nhân viên: Chức năng cho phép nhân viên quản lý danh sách
nhân viên, thêm mới, cập nhật thông tin nhân viên cũng như cho một nhânviên nào đó thôi việc
- Quản lý nhà cung cấp: Cửa hàng nhập sản phẩm về từ nhiều nhà cung
cấp Chức năng cho phép nhân viên quản lý danh sách nhà cung cấp đang
Trang 13hợp tác, thêm mới một nhà cung cấp, cập nhật thông tin của nhà cung cấpcũng như ngừng hợp tác với một nhà cung cấp nào đó
- Thiết lập: Cho phép nhân viên đổi mật khẩu khi cần thiết.
4.1.3 Các yếu cầu phi chức năng của phần mềm.
• Giao diện đơn giản, thân thiện với người sử dụng
• Kích thước của cơ sở dữ liệu phải đủ lớn để lưu trữ thông tin tăng lên khi
sử dụng
• Bàn giao phần mềm đúng thời gian và địa điểm thích hợp
• Giao diện của phần mềm đơn giản, đủ để người dùng có thể sử dụng nó mộtcách dễ dàng sau 10 phút làm quen
• Hệ thống có độ tin cậy cao Thời gian khắc phục lỗi gặp phải khi hoạt động tối đa là 1 ngày
4.1.4 Kiến trúc 3-layer (Three Layer Architecture)
Kiến trúc 3 layer là một kiến trúc kiểu client/server mà trong đó giao diện ngườidùng (UI-user interface), các quy tắc xử lý (BR-business rule hay BL-businesslogic), và việc lưu trữ dữ liệu được phát triển như những module độc lập, và hầuhết là được duy trì trên các nền tảng độc lập, và mô hình 3 tầng (3-tiers) đượccoi là một kiến trúc phần mềm và là một mẫu thiết kế
Gồm 3 layer, đó là:
− Presentation Layer (GUI): Lớp này có nhiệm vụ chính giao tiếp với ngườidùng Gồm các thành phần giao diện ( win form, web form,…) và thực hiện cáccông việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn dữ liệu trướckhi gọi lớp Business Logic Layer (BLL) Lớp này có nhiệm vụ chính giao tiếpvới người dùng Nó gồm các thành phần giao diện ( win form, web form,…) vàthực hiện các công việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn
dữ liệu trước khi gọi lớp Business Logic Layer (BLL)
● 2 thành phần chính của Presentation Layer:
+ UI Components : gồm các thành phần tạo nên giao diện của ứngdụng (GUI) Chịu trách nhiệm thu nhận và hiển thị dữ liệu cho ngườidùng… Ví dụ : textbox, button, combobox, …
Trang 14+ UI Process Components : là thành phần chịu trách nhiệm quản lý cácquá trình chuyển đổi giữa các UI.
- Business Logic Layer (BLL): Đây là nơi đáp ứng các yêu cầu thao tác dữ
liệu của GUI layer, xử lý chính nguồn dữ liệu từ Presentation Layer trướckhi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL Đâycòn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiệntính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả vềPresentation Layer
● 4 thành phần của Business Loigc Layer:
+ Service Interface : Là thành phần giao diện lập trình mà lớp nàycung
cấp cho lớp Presentation sử dụng
+ Bussiness Workflows : Chịu trách nhiệm xác định và điều phối cácquy trình nghiệp vụ gồm nhiều bước và kéo dài Những quy trìnhnày phải được sắp xếp và thực hiện theo một thứ tự chính xác
+ Bussiness Components : Chịu trách nhiệm kiểm tra các quy tắcnghiệp
vụ, ràng buộc logic và thực hiện các công việc Các thành phần nàycũng thực hiện các dịch vụ mà Service Interface cung cấp vàBusiness Workflows sẽ sử dụng
+ Bussiness Entities : Thường được sử dụng như Data TransferObjects
( DTO ) Bạn có thể sử dụng để truyền dữ liệu giữa các lớp(Presentation và Data Layer) Chúng thường là cấu trúc dữ liệu( DataSets, XML,… ) hay các lớp đối tượng đã được tùy chỉnh
- Data Access Layer: Lớp này có chức năng giao tiếp với hệ quản trị CSDL
như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìmkiếm, thêm, xóa, sửa,…)
● 2 thành phần của Data Access Layer:
+ Data Access Logic Components : Chịu trách nhiệm chính lưu trữ vàtruy xuất dữ liệu từ các nguồn dữ liệu (Data Sources) như XML, filesysttôi,… Hơn nữa còn tạo thuận lợi cho việc dễ cấu hình và bảo trì
Trang 15+ Service Agents : Giúp gọi và tương tác với các dịch vụ từ bên ngoàimột cách dễ dàng và đơn giản.
− DTO (Data Transfer Objects): Đây không phải là Layer Lớp này là lớpphụ, đây là lớp định nghĩa các table trong database, định nghĩa cột cũng như đểgán data khi query lấy dữ liệu
4.2 Chương 2: Phân tích thiết kế hệ thống.
− Use Case Đăng nhập
− Use Case Quản lý sản phẩm
− Use Case Quản lý hóa đơn
− Use Case Quản lý nhập sản phẩm
− Use Case Quản lý nhân viên
− Use Case Quản lý khách hàng
− Use Case Quản lý nhà cung cấp
− Use Case Thiết lập
4.2.1.3. Sơ đồ Use Case tổng quan
Trang 16Hình 2.1: Sơ đồ Use Case Tổng Quan 4.2.1.4. Đặc tả Case đăng nhập.
Hình 2.2: Sơ đồ Use Case Đăng Nhập
Tác nhân chính Nhân viên quản lý, Nhân viên bán hàng
Mô tả Cho phép người dùng nhập vào tên đăng nhập và
mật khẩu được cấp để đăng nhập vào hệ thống
Điều kiện tiên
quyết
Có tài khoản trong hệ thống
Đầu vào Thông tin đăng nhập
Hiểu thị thông báo “ Đăng nhập thành công” nếu đăng nhập thành công
Hiểu thị thông báo “Tên đăng nhập hoặc mật khẩu không đúng” nếu đăng nhập không thành công
Kích hoạt Người sử dụng chọn Đăng nhập ở giao diện đăng
2 Nhân viên chọn Button Đăng Nhập
3 Hệ thống kiểm tra tính hợp lệ của tên đăng nhập và mật khẩu mà nhân viên nhập vào
Trang 174 Nếu tên đăng nhập và mật khẩu hợp lệ, hệ thống hiển thị thông báo Popup “Đăng nhập thành công” và chuyển đến màn hình làm việc tùy theo quyền của nhân viên.
5 Nếu tên đăng nhập và mật khẩu không hợp lệ, hệ thống hiển thị thông báo “Tên đăng nhập hoặc mật khẩu không đúng! Vui lòng nhập lại ” yêu cầu nhân viên nhập lại
4.2.1.5. Đặc tả Use Case quản lý khách hàng
Hình 2.3: Sơ đồ Use Case Quản Lý Khách Hàng
Tác nhân chính Nhân viên quản lý, nhân viên bán hàng
Mô tả Use case cho phép nhân viên thực hiện các thao tác
với thông tin khách hàng Chỉnh sửa thông tinkhách hàng, thêm khách hàng mới, xóa khách hàngkhi cần thiết
Điều kiện tiên
quyết
Nhân viên quản lý và nhân viên bán hàng phải đăngnhập vào hệ thống thành công
Đầu vào Thông tin khách hàng
Đầu ra Hiển thị thông báo “Đã thêm khách hàng vào hệ
thống thành công” nếu thêm khách hàng thànhcông
Hiển thị thông báo “Thông tin khách hàng khônghợp lệ, vui lòng nhập lại” nếu thêm khách hàngkhông thành công
Hiển thị thông báo “Đã xóa thành công” nếu xóakhách hàng thành công
Hiển thị thông báo “Xóa khách hàng thất bại” nếuxóa khách hàng không thành công
Trang 18Hiển thị thông báo “Đã cập nhật thông tin kháchhàng thành công” nếu cập nhật khách hàng thànhcông.
Hiển thị thông báo “Thông tin khách hàng khônghợp lệ, vui lòng nhập lại” nếu cập nhật khách hàngkhông thành công
Kích hoạt Người sử dụng chọn chức năng Quản lý khách
Nếu người dùng chọn “Thêm”.
1) Hệ thống yêu cầu nhập vào thông tin khách hàng gồm: Họ tên, địa chỉ, số điện thoại, giới tính, mail
2) Nhân viên chọn Button Thêm
3) Hệ thống kiểm tra dữ liệu đầu vào gồm: Họ tên tối đa 50 ký
tự, số điện thoại phải tối thiểu 10 số và tối đa 12 số, địa chỉ tối đa
200 ký tự, số điện thoại từ 10 đến 12 số phải hợp lệ
4) Hệ thống kiểm tra thông tin dữ liệu mà nhân viên nhập vào.5) Nếu thông tin hợp lệ, hệ thống thực hiện thêm khách hàng vào hệ thống và hiển thị thông báo Popup “Đã thêm khách hàng vào hệ thống thành công”
6) Nếu thông tin không hợp lệ hệ thống sẽ hiển thị thông báo
“Thông tin khách hàng không hợp lệ, vui lòng nhập lại” yêu cầu nhân viên nhập lại thông tin khách hàng
Nếu người dùng chọn “Xóa”
1) Hệ thống yêu cầu nhân viên chọn khách hàng cần xóa trong danh sách khách hàng có trong hệ thống được hiển thị trên giao diện
2) Nhân viên chọn khách hàng cần xóa
3) Hệ thống hiển thị thông tin khách hàng mà nhân viên chọn.4) Nhân viên chọn Button Xóa
5) Hệ thống kiểm tra thông tin và xóa khách hàng trong hệ thống
Trang 196) Nếu xóa thành công hệ thống hiển thị thông báo “ Đã xóa thành công”.
7) Nếu xóa thất bại hệ thống hiển thị thông báo “Xóa khách hàng thất bại”
Nếu người dùng chọn “Cập nhật”
1) Hệ thống yêu cầu nhân viên chọn khách hàng cần cập nhật trong danh sách khách hàng có trong hệ thống được hiển thị trên giao diện
2) Nhân viên chọn khách hàng cần cập nhật thông tin
3) Hệ thống hiển thị thông tin khách hàng mà nhân viên chọn.4) Nhân viên chỉnh sửa lại thông tin khách hàng gồm: Họ tên, địa chỉ, số điện thoại
5) Nhân viên chọn Button Cập Nhật
6) Hệ thống kiểm tra dữ liệu đầu vào gồm: Họ tên tối đa 50 ký
tự, số điện thoại phải tối thiểu 10 số và tối đa 12 số, địa chỉ tối đa
200 ký tự
7) Nếu thông tin hợp lệ, hệ thống thực hiện cập nhật thông tin khách hàng trong hệ thống và hiển thị thông báo Popup “Đã cập nhật thông tin khách hàng thành công”
8) Nếu thông tin không hợp lệ hệ thống sẽ hiển thị thông báo
“Thông tin khách hàng không hợp lệ, vui lòng nhập lại” yêu cầu nhân viên nhập lại thông tin khách hàng
4.2.1.6. Đặc tả Use Case bán sản phẩm
Trang 20Hình 2.4: Sơ đồ Use Case Bán Sản Phẩm
Tác nhân chính Nhân viên quản lý, nhân viên bán hàng
Mô tả Use case cho phép nhân viên thực hiện thao tác
Tạo hoá đơn, cập nhật hoá đơn, thanh toán, huỷđơn
Điều kiện tiên
quyết
Nhân viên quản lý và nhân viên bán hàng phải đăngnhập vào hệ thống thành công, khách hàng muahàng trong cửa hàng và có yêu cầu thanh toán
Đầu vào Thông tin hóa đơn
Đầu ra Hóa đơn thanh toán
Kích hoạt Người sử dụng chọn chức năng Bán sản phẩm ở
giao diện chính
Bảng 2.3: Đặc tả Use Case Bán Sản Phẩm
Chuỗi sự kiện:
1) Nếu khách hàng đã có đăng ký ID:
a) Nhân viên nhập số điện thoại khách hàng vào Textbox SốĐiện Thoại
b) Hệ thống kiểm tra và tìm kiếm khách hàng trong hệ thốngdựa trên số điện thoại mà nhân viên nhập vào
c) Nếu tìm thấy Hệ thống hiển thị tên khách hàng trong TextboxTên Khách Hàng
d) Nếu không tìm thấy Hệ thống không hiển thị tên khách hàngtrong Textbox Tên Khách Hàng, nhân viên yêu cầu khách hàngcung cấp lại số điện thoại
e) Nhân viên chọn thêm các sản phẩm mà khách hàng chọn muavào hóa đơn bán
Trang 21hợp tác, thêm mới một nhà cung cấp, cập nhật thông tin của nhà cung cấp cũng như ngừng hợp tác với một nhà cung cấp nào đó
- Thiết lập: Cho phép nhân viên đổi mật khẩu khi cần thiết.
4.1.3 Các yếu cầu phi chức năng của phần mềm.
• Giao diện đơn giản, thân thiện với người sử dụng.
• Kích thước của cơ sở dữ liệu phải đủ lớn để lưu trữ thông tin tăng lên khi
sử dụng.
Trang 22cách dễ dàng sau 10 phút làm quen.
• Hệ thống có độ tin cậy cao Thời gian khắc phục lỗi gặp phải khi hoạt động tối đa là 1 ngày.
4.1.4 Kiến trúc 3-layer (Three Layer Architecture)
Kiến trúc 3 layer là một kiến trúc kiểu client/server mà trong đó giao diện người dùng (UI-user interface), các quy tắc xử lý (BR-business rule hay BL-business logic), và việc lưu trữ dữ liệu được phát triển như những module độc lập, và hầu hết là được duy trì trên các nền tảng độc lập, và mô hình 3 tầng (3-tiers) được coi là một kiến trúc phần mềm và là một mẫu thiết kế.
Gồm 3 layer, đó là:
− Presentation Layer (GUI): Lớp này có nhiệm vụ chính giao tiếp với người dùng Gồm các thành phần giao diện ( win form, web form,…) và thực hiện các công việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn dữ liệu trước khi gọi lớp Business Logic Layer (BLL) Lớp này có nhiệm vụ chính giao tiếp với người dùng Nó gồm các thành phần giao diện ( win form, web form,…) và thực hiện các công việc như nhập liệu, hiển thị dữ liêu, kiểm tra tính đúng đắn
dữ liệu trước khi gọi lớp Business Logic Layer (BLL).
● 2 thành phần chính của Presentation Layer:
+ UI Components : gồm các thành phần tạo nên giao diện của ứng dụng (GUI) Chịu trách nhiệm thu nhận và hiển thị dữ liệu cho người dùng… Ví dụ : textbox, button, combobox, …
12
Trang 23+ UI Process Components : là thành phần chịu trách nhiệm quản lý các quá trình chuyển đổi giữa các UI.
- Business Logic Layer (BLL): Đây là nơi đáp ứng các yêu cầu thao tác dữ
liệu của GUI layer, xử lý chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL Đây còn là nơi kiểm tra các ràng buộc, tính toàn vẹn và hợp lệ dữ liệu, thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer.
● 4 thành phần của Business Loigc Layer:
+ Service Interface : Là thành phần giao diện lập trình mà lớp này cung
cấp cho lớp Presentation sử dụng.
+ Bussiness Workflows : Chịu trách nhiệm xác định và điều phối các quy trình nghiệp vụ gồm nhiều bước và kéo dài Những quy trình này phải được sắp xếp và thực hiện theo một thứ tự chính xác.
+ Bussiness Components : Chịu trách nhiệm kiểm tra các quy tắc nghiệp
Trang 24- Data Access Layer: Lớp này có chức năng giao tiếp với hệ quản trị CSDL
như thực hiện các công việc liên quan đến lưu trữ và truy vấn dữ liệu ( tìm kiếm, thêm, xóa, sửa,…).
● 2 thành phần của Data Access Layer:
+ Data Access Logic Components : Chịu trách nhiệm chính lưu trữ và truy xuất dữ liệu từ các nguồn dữ liệu (Data Sources) như XML, file systtôi,… Hơn nữa còn tạo thuận lợi cho việc dễ cấu hình và bảo trì.
13
Trang 25+ Service Agents : Giúp gọi và tương tác với các dịch vụ từ bên ngoài một cách dễ dàng và đơn giản.
− DTO (Data Transfer Objects): Đây không phải là Layer Lớp này là lớp phụ, đây là lớp định nghĩa các table trong database, định nghĩa cột cũng như để gán data khi query lấy dữ liệu.
4.2 Chương 2: Phân tích thiết kế hệ thống.
− Use Case Đăng nhập.
− Use Case Quản lý sản phẩm.
− Use Case Quản lý hóa đơn
− Use Case Quản lý nhập sản phẩm.
− Use Case Quản lý nhân viên.
− Use Case Quản lý khách hàng.
− Use Case Quản lý nhà cung cấp
− Use Case Thiết lập.
4.2.1.3. Sơ đồ Use Case tổng quan.
Trang 2614
Trang 27Hình 2.2: Sơ đồ Use Case Đăng Nhập
Tác nhân chính Nhân viên quản lý, Nhân viên bán hàng.
Mô tả Cho phép người dùng nhập vào tên đăng nhập và
mật khẩu được cấp để đăng nhập vào hệ thống.
Điều kiện tiên
quyết
Có tài khoản trong hệ thống.
Đầu vào Thông tin đăng nhập.
Hiểu thị thông báo “ Đăng nhập thành công” nếu đăng nhập thành công.
Hiểu thị thông báo “Tên đăng nhập hoặc mật khẩu không đúng” nếu đăng nhập không thành công.
Kích hoạt Người sử dụng chọn Đăng nhập ở giao diện đăng
2 Nhân viên chọn Button Đăng Nhập.
3 Hệ thống kiểm tra tính hợp lệ của tên đăng nhập và mật khẩu mà nhân viên nhập vào.
15
Trang 284 Nếu tên đăng nhập và mật khẩu hợp lệ, hệ thống hiển thị thông báo Popup “Đăng nhập thành công” và chuyển đến màn hình làm việc tùy theo quyền của nhân viên.
5 Nếu tên đăng nhập và mật khẩu không hợp lệ, hệ thống hiển thị thông báo “Tên đăng nhập hoặc mật khẩu không đúng! Vui lòng nhập lại ” yêu cầu nhân viên nhập lại.
4.2.1.5. Đặc tả Use Case quản lý khách hàng.
Trang 29Hình 2.3: Sơ đồ Use Case Quản Lý Khách Hàng
Tác nhân chính Nhân viên quản lý, nhân viên bán hàng.
Mô tả Use case cho phép nhân viên thực hiện các thao tác
với thông tin khách hàng Chỉnh sửa thông tin khách hàng, thêm khách hàng mới, xóa khách hàng khi cần thiết.
Điều kiện tiên
quyết
Nhân viên quản lý và nhân viên bán hàng phải đăng nhập vào hệ thống thành công
Đầu vào Thông tin khách hàng
Đầu ra Hiển thị thông báo “Đã thêm khách hàng vào hệ
thống thành công” nếu thêm khách hàng thành công.
Hiển thị thông báo “Thông tin khách hàng không hợp lệ, vui lòng nhập lại” nếu thêm khách hàng không thành công.
Hiển thị thông báo “Đã xóa thành công” nếu xóa khách hàng thành công.
Hiển thị thông báo “Xóa khách hàng thất bại” nếu xóa khách hàng không thành công.
16
Trang 30Hiển thị thông báo “Đã cập nhật thông tin khách hàng thành công” nếu cập nhật khách hàng thành công.
Hiển thị thông báo “Thông tin khách hàng không hợp lệ, vui lòng nhập lại” nếu cập nhật khách hàng không thành công.
Kích hoạt Người sử dụng chọn chức năng Quản lý khách
Nếu người dùng chọn “Thêm”.
1) Hệ thống yêu cầu nhập vào thông tin khách hàng gồm: Họ tên, địa chỉ, số điện thoại, giới tính, mail.
2) Nhân viên chọn Button Thêm.
3) Hệ thống kiểm tra dữ liệu đầu vào gồm: Họ tên tối đa 50 ký
tự, số điện thoại phải tối thiểu 10 số và tối đa 12 số, địa chỉ tối đa
200 ký tự, số điện thoại từ 10 đến 12 số phải hợp lệ.
4) Hệ thống kiểm tra thông tin dữ liệu mà nhân viên nhập vào 5) Nếu thông tin hợp lệ, hệ thống thực hiện thêm khách hàng vào hệ thống và hiển thị thông báo Popup “Đã thêm khách hàng vào hệ thống thành công”.
6) Nếu thông tin không hợp lệ hệ thống sẽ hiển thị thông báo