- Xử lý các yêu cầu đặc biệt từ phía khách hàng hoặc nhân viên bán hàng.- Tạo và in hóa đơn thanh toán, quản lý thông tin về giao dịch thanh toán cho sách.. - Liên kết: - Tương tác với k
PHÁT BIỂU BÀI TOÁN
Mục tiêu đề tài: Thiết kế phần mềm quản lý nhà sách
- Lập hóa đơn bán sách
Khảo sát
- Danh sách sách được phân loại theo thể loại, mã sách để phân biệt, tên sách, tác giả, nhà xuất bản, giá bán.
- Mỗi sách sẽ có thông tin về số lượng tồn kho, số lượng đã bán, ngày nhập sách.
- Sách được phân loại theo tên sách, thể loại với mỗi loại sách có giá bán khác nhau từ thời điểm cụ thể.
- Ghi nhận thông tin về các đơn đặt hàng sách, số lượng sách được đặt, ngày đặt.
- Thông tin khách hàng: Ghi nhận thông tin khi khách hàng mua sách gồm CMND, họ tên, số điện thoại, email, địa chỉ Cập nhật thông tin nếu có sự thay đổi.
Trong quá trình mua sách, khách hàng có thể đổi hoặc trả sách.
Quy trình xử lý
- Bán sách cho khách hàng đã đặt trước: Xác nhận thông tin đặt sách trên hệ thống, ghi nhận thông tin khách hàng, và lưu vào cơ sở dữ liệu thông tin về sách đã bán và thông tin khách hàng.
- Bán sách cho khách hàng chưa đặt trước: Cung cấp thông tin về sách có sẵn cho khách, ghi nhận thông tin mua sách và lưu vào cơ sở dữ liệu thông tin về sách đã bán và thông tin khách hàng.
Các chức năng chính của phần mềm
- Dựa trên các yêu cầu trên, phần mềm sẽ có các chức năng chính sau:
1 - Lập phiếu nhập sách: Ghi nhận thông tin về sách mới nhập kho, bao gồm mã sách, tên sách, tác giả, nhà xuất bản, giá bán, số lượng nhập.
2 - Lập hóa đơn bán sách: Ghi nhận thông tin về sách bán ra, bao gồm mã sách, tên sách, số lượng bán, giá bán, tổng tiền.
3 - Tra cứu sách: Tìm kiếm sách theo mã sách, tên sách, tác giả, nhà xuất bản, thể loại, giá bán.
4 - Lập phiếu thu tiền: Ghi nhận thông tin về các khoản thu tiền từ khách hàng, bao gồm tiền bán sách, tiền đặt cọc, tiền phạt,
5 - Lập báo cáo tháng: Thống kê các thông tin về sách, khách hàng, doanh thu, chi phí, trong tháng.
6 - Thay đổi qui định: Cập nhật các thông tin về sách, khách hàng, quy trình xử lý, theo yêu cầu.
1 Ng ườ i dùng t ươ ng tác v i giao ớ di n ệ
2 View truyền sự kiện từ người dùng đến Controller
3 Controller thực hiện những thay đổi trên Model
4 Model thông báo đến View rằng dữ liệu đã thay đổi
5 View lấy dữ liệu từ Model để cập nhật
Thiết kế xử lý
Hình 1 Mô hình kiến trúc MVC
Mô hình kiến trúc MVC (Model-View-Controller) là một cách tổ chức mã nguồn trong phát triển phần mềm, giúp chia ứng dụng thành ba thành phần chính để quản lý và duy trì dễ dàng: Model, View và Controller.
- Model (M): Đây là nơi dữ liệu của ứng dụng được lưu trữ và xử lý Model đại diện cho thông tin và logic của ứng dụng, bao gồm cả cách dữ liệu được lấy, sửa đổi và lưu trữ Nếu ứng dụng là một cửa hàng trực tuyến, Model có thể chứa thông tin về sản phẩm, đơn đặt hàng và khách hàng
- View (V): View là thành phần hiển thị thông tin cho người dùng Nó đảm nhận vai trò của giao diện người dùng và biểu diễn dữ liệu từ Model một cách trực quan Nếu chúng ta lấy ví dụ về cửa hàng trực tuyến, View có thể là trang web hoặc ứng dụng di động mà người dùng sử dụng để xem và mua sản phẩm
- Controller (C): Controller là cầu nối giữa Model và View Nó nhận lệnh từ người dùng thông qua View, xử lý các yêu cầu và tương tác với Model để cập nhật dữ liệu Trong ví dụ cửa hàng trực tuyến, Controller có thể xử lý việc thêm sản phẩm vào giỏ hàng và gửi đơn đặt hàng
Kiến trúc MVC giúp tách biệt logic dữ liệu, giao diện và điều khiển, làm cho mã nguồn trở nên dễ bảo trì và mở rộng Mỗi thành phần đóng vai trò cụ thể mà không ảnh hưởng đến các thành phần khác, giúp đảm bảo tính linh hoạt và hiệu suất của ứng dụng.
Sau đây là cách mà kiến trúc MVC hoạt động:
1 User -> View: Người dùng tương tác với giao diện, khởi đầu bằng việc nhập liệu hoặc tương tác trên View
2 View -> Controller: View, sau khi nhận sự tương tác từ người dùng, truyền thông tin sự kiện đó đến Controller Điều này là quá trình chuyển tiếp sự kiện từ giao diện đến logic điều khiển
3 Controller -> Model: Controller, sau khi nhận được thông điệp từ View, thực hiện các thay đổi liên quan đến dữ liệu trên Model Điều này có thể là việc thêm, sửa, hoặc xóa dữ liệu trong Model
4 Model -> View: Khi Model được cập nhật, nó thông báo cho View về sự thay đổi trong dữ liệu Điều này đảm bảo rằng View có thể hiển thị thông tin mới nhất cho người dùng
View -> Model: Nếu View cần dữ liệu mới hoặc muốn thực hiện các thao tác trên dữ liệu, nó sẽ gửi yêu cầu đến Model để lấy dữ liệu hoặc thực hiện các thao tác.
XÁC ĐỊNH VÀ PHÂN TÍCH DỮ LIỆU
Danh sách các yêu cầu
STT Tên yêu cầu Biểu mẫu Qui định Ghi chú
1 Lập phiếu nhập sách BM1 QĐ1
2 Lập hóa đơn bán sách BM2 QĐ2
4 Lập phiếu thu tiền BM4 QĐ4
5 Lập báo cáo tháng BM5
6 Thay đổi qui định QĐ6
Hình 2 Sơ đồ Use-case với Actor là nhân viên
Đặc tả Actor
- Mô tả: Các cá nhân làm việc trong môi trường bán sách, có thể giữ các vai trò như quản lý cửa hàng, nhân viên bán hàng, quản lý kho sách, v.v
- Thực hiện giao dịch bán sách, ghi chú và cập nhật thông tin về các giao dịch mua sách, nhập kho, xuất sách.
- Quản lý thông tin sách tồn kho và thông tin sách đã bán.
- Điều chỉnh các thông tin về giá sách, chiết khấu, khuyến mãi, hoặc các thay đổi về giá bán sách.
- Xử lý các yêu cầu đặc biệt từ phía khách hàng hoặc nhân viên bán hàng.
- Tạo và in hóa đơn thanh toán, quản lý thông tin về giao dịch thanh toán cho sách.
- Cập nhật tình trạng sách và thông tin về sách được bán
- Tương tác với khách hàng trong quá trình bán sách.
- Liên lạc với bộ phận quản lý, nhân viên bán hàng, hoặc các đồng nghiệp khác qua hệ thống thông tin nội bộ của cửa hàng sách.
Đặc tả Use-case
Hình 3 Use case quản lý phiếu nhập sách
Use case Lập phiếu nhập sách:
Use case Lập phiếu nhập sách
Use case này cho phép nhân viên lập lập phiếu nhập sách
Dòng sự kiện chính 1 Nhân viên chọn dịch vụ lập lập phiếu nhập sách
2 Hệ thống hiển thị form yêu cầu nhập thông tin:
3 Nhân viên chọn nút “Xác nhận”
4 Hệ thống sẽ lập và thêm lập phiếu nhập sách và cập nhật lại danh sách phiếu nhập sách
Tiền điều kiện Nhân viên phải đăng nhập thành công vào hệ thống
Hậu điều kiện Phiếu nhập sách mới được tạo mới được tạo
Các yêu cầu đặc biệt Xử lý không cho tạo phiếu nhập sách: Nếu phiếu nhập sách được tạo trùng với phiếu nhập sách đã có
Use-case Tạo phiếu nhập sách
Use case Tạo phiếu nhập sách
Use case này cho phép nhân viên lập phiếu nhập sách mới
1 Nhân viên quản lý chọn dịch vụ “Tạo phiếu nhập sách”
2 Hệ thống hiển thị form yêu cầu nhập thông tin:
3 Nhân viên quản lý chọn nút “Tạo”
4 Hệ thống sẽ tạo và thêm phiếu nhập sách mới và cập nhật lại phiếu nhập sách
1.1 Nhân viên quản lý chọn nút “Quay lại”
1.1.1 Hệ thống trở lại màn hình trước đó
Nhân viên quản lý phải đăng nhập thành công vào hệ thống
Các yêu cầu đặc biệt
Use-case Xóa phiếu nhập sách
Use case Xóa phiếu nhập sách
Use case này cho phép nhân viên xóa phiếu nhập sách
1 Nhân viên quản lý chọn dịch vụ “Xóa phiếu nhập sách”
2 Hệ thống hiển thị “Bạn có chắc chắn muốn xóa phiếu này?”
3 Nhân viên quản lý chọn nút “Xóa”.
4 Hệ thống sẽ xóa phiếu nhập sách và cập nhật lại danh sách phiếu nhập sách.
1.1 Nhân viên quản lý chọn nút “Quay lại”
1.1.1 Hệ thống trở lại màn hình trước đó
Hệ thống phải được sẵn sàng
Danh sách phiếu nhập sách được cập nhật lại
Các yêu cầu đặc biệt
Use-case Sửa phiếu nhập sách
Use case Sửa phiếu nhập sách
Use case này cho phép nhân viên sửa phiếu nhập sách
1 Nhân viên quản lý chọn dịch vụ “Sửa phiếu nhập sách”
2 Hệ thống hiển thị form chỉnh sửa
3 Nhân viên quản lý chọn nút “Xác nhận”.
4 Hệ thống sẽ sửa lại phiếu nhập sách và cập nhật lại danh sách phiếu nhập sách.
1.2 Nhân viên quản lý chọn nút “Quay lại”
1.2.1 Hệ thống trở lại màn hình trước đó
Hệ thống phải được sẵn sàng
Danh sách phiếu nhập sách được cập nhật lại
Các yêu cầu đặc biệt
Use case Lập hóa đơn bán sách:
Hình 4 Use case quản lý hóa đơn bán sách
Use case Lập hóa đơn bán sách
Tóm tắt Use- case Use case này cho phép nhân viên lập hóa đơn bán sách
1 Nhân viên chọn dịch vụ lập phiếu thuê
2 Hệ thống hiển thị form yêu cầu nhập thông tin:
3 Nhân viên chọn nút “Xác nhận”
4 Hệ thống sẽ lập và hóa đơn bán sách mới và cập nhật lại hóa đơn bán sách
Nhân viên phải đăng nhập thành công vào hệ thống
Hóa đơn bán sách mới được lập
Các yêu cầu đặc biệt Xử lý không cho hóa đơn bán sách mới: Nếu hóa đơn bán sách được lập trùng với hóa đơn bán sách đã có
Use-case Tạo hóa đơn bán sách
Use case Tạo hóa đơn bán sách
Use case này cho phép nhân viên lập hóa đơn bán sách mới
1 Nhân viên quản lý chọn dịch vụ “Tạo hóa đơn bán sách”
2 Hệ thống hiển thị form yêu cầu nhập thông tin:
3 Nhân viên quản lý chọn nút “Tạo”
1.2 Nhân viên quản lý chọn nút “Quay lại”
1.2.1 Hệ thống trở lại màn hình trước đó
Nhân viên quản lý phải đăng nhập thành công vào hệ thống
Hóa đơn mới được tạo
Các yêu cầu đặc biệt
Use-case Xóa hóa đơn
Use case Xóa hóa đơn
Use case này cho phép nhân viên xóa hóa đơn
1 Nhân viên quản lý chọn dịch vụ “Xóa hóa đơn”
2 Hệ thống hiển thị “Bạn có chắc chắn muốn xóa hóa đơn này?”
3 Nhân viên quản lý chọn nút “Xóa”.
4 Hệ thống sẽ xóa phiếu nhập sách và cập nhật lại danh sách phiếu nhập sách.
1.3 Nhân viên quản lý chọn nút “Quay lại”
1.3.1 Hệ thống trở lại màn hình trước đó
Hệ thống phải được sẵn sàng
Danh sách hóa đơn được cập nhật lại
Các yêu cầu đặc biệt
Use-case Sửa hóa đơn
Use case Sửa hóa đơn
Use case này cho phép nhân viên sửa phiếu hóa đơn
1 Nhân viên quản lý chọn dịch vụ “Sửa hóa đơn”
2 Hệ thống hiển thị form chỉnh sửa
3 Nhân viên quản lý chọn nút “Xác nhận”.
4 Hệ thống sẽ sửa lại hóa đơn và cập nhật lại danh sách hóa đơn
1.4 Nhân viên quản lý chọn nút “Quay lại”
1.4.1 Hệ thống trở lại màn hình trước đó
Hệ thống phải được sẵn sàng
Hậu điều Danh sách hóa đơn được cập nhật lại
Các yêu cầu đặc biệt
Use case Tra cứu sách:
Hình 5 Use case tra cứu sách
Use case Tra cứu sách
Tóm tắt Use-case Use case này cho phép nhân viên tra cứu sách
Dòng sự kiện chính 1 Nhân viên chọn dịch vụ tra cứu phòng
2 Nhân viên nhập mã phòng
3 Nhân viên chọn nút “Xác nhận”
Dòng sự kiện phụ Không có
Tiền điều kiện Nhân viên phải vào hệ thống và nhập chính xác mã sách
cần tra cứu Hậu điều kiện Hiển thị thông tin chi tiết của sách
Các yêu cầu đặc biệt
Tóm tắt Use-case Use case này cho phép nhân viên tra tạo sách mới
Dòng sự kiện chính 1 Nhân viên chọn dịch vụ tạo sách
2 Nhân viên nhập thông tin sách
3 Nhân viên chọn nút “Xác nhận”
Dòng sự kiện phụ Không có
Tiền điều kiện Nhân viên phải vào hệ thống và nhập thông tin sách Hậu điều kiện Tạo xong sách mới
Các yêu cầu đặc biệt Không có
Tóm tắt Use-case Use case này cho phép nhân viên tra xóa sách
Dòng sự kiện chính 1 Nhân viên chọn dịch vụ xóa sách
2 Nhân viên chọn nút “Xác nhận”
Dòng sự kiện phụ Không có
Tiền điều kiện Nhân viên phải vào hệ thống và chọn sách cần xóa
Use-case Lập phiếu thu tiền:
Hình 6 Use case lập phiếu thu tiền
Use case Lập phiếu thu tiền
Tóm tắt Use- case Use case này cho phép nhân viên lập phiếu thu tiền
1 Nhân viên chọn dịch vụ lập phiếu thu tiền
2 Hệ thống hiển thị form yêu cầu nhập thông tin:
3 Nhân viên chọn nút “Xác nhận”
4 Hệ thống sẽ lập và thêm phiếu thu tiền mới và cập nhật lại danh sách phiếu thu tiền
Dòng sự kiện phụ Không có
Tiền điều kiện Nhân viên phải đăng nhập thành công vào hệ thống
Hậu điều kiện Phiếu thu tiền mới được lập
Các yêu cầu đặc biệt Xử lý không cho lập phiếu thu tiền mới: Nếu phiếu thu tiền được tạo trùng với phiếu thu tiền đã có
Use-case Tạo phiếu thu tiền
Use case Tạo phiếu thu tiền
Use case này cho phép nhân viên lập phiếu thu tiền mới
1 Nhân viên quản lý chọn dịch vụ “Tạo phiếu thu tiền”
2 Hệ thống hiển thị form yêu cầu nhập thông tin:
4 Hệ thống sẽ tạo và thêm phiếu nhập sách mới và cập nhật lại phiếu nhập sách
1.3 Nhân viên quản lý chọn nút “Quay lại”
1.3.1 Hệ thống trở lại màn hình trước đó
Tiền điều kiện Nhân viên quản lý phải đăng nhập thành công vào hệ thống Hậu điều kiện Phiếu thu tiền mới được tạo
Các yêu cầu đặc biệt
Use-case Xóa phiếu thu tiền
Use case Xóa phiếu thu tiền
Use case này cho phép nhân viên xóa phiếu thu tiền
1 Nhân viên quản lý chọn dịch vụ “Xóa phiếu thu tiền”
2 Hệ thống hiển thị “Bạn có chắc chắn muốn xóa hóa đơn này?”
3 Nhân viên quản lý chọn nút “Xóa”.
4 Hệ thống sẽ xóa phiếu nhập sách và cập nhật lại danh sách phiếu nhập sách.
1.5 Nhân viên quản lý chọn nút “Quay lại”
1.5.1 Hệ thống trở lại màn hình trước đó
Tiền điều kiện Hệ thống phải được sẵn sàng
Hậu điều kiện Danh sách phiếu thu tiền được cập nhật lại
Các yêu cầu đặc biệt
Use case Lập báo cáo tháng
Hình 7 Use case lập báo cáo tháng
Use case Lập báo cáo tháng
Tóm tắt Use-case Use case này bắt đầu khi có nhân viên lập báo cáo tháng
1 Xác nhận tài khoản và kiểm tra đăng nhập của nhân viên
2 Hiển thị giao diện các thể loại danh mục tạo báo cáo
3 Nhân viên chọn mục muốn thực hiện
4 Thi hành tính năng tương ứng khi nhân viên chọn
Dòng sự kiện phụ 1.1 Hệ thống lỗi và đăng nhập không thành công
Tiền điều kiện Hệ thống phải thông kết nối mạng
Hậu điều kiện Hệ thống phải ở trạng thái sẵn sàng cho nhân viên Các yêu cầu đặc biệt Không có
Use case Thay đổi qui định:
Hình 8 Use case thay đổi quy định
Use case Thay đổi quy định
Use-case Use case này bắt đầu khi có quản lý đăng nhập vào hệ thống
Hệ thống sẽ cho phép nhân viên thực hiện các dịch vụ thay đổi quy định
Dòng sự kiện chính 1 Nhân viên vào hệ thống
2 Hiển thị giao diện thay đổi quy định và yêu cầu nhân viên chọn dịch vụ
3 Quản lý chọn dịch vụ thực hiện
4 Thi hành dịch vụ tương ứng khi quản lý chọn
Dòng sự kiện phụ Hệ thống lỗi và đăng nhập không thành công kiện
Hậu điều kiện Hệ thống phải ở trạng thái sẵn sàng cho nhân viên
Các yêu cầu đặc biệt
ERD
GIAO DIỆN
Danh sách các giao diện
STT Giao diện Ghi chú
Mô tả chi tiết các giao diện
Hình 10 Giao diện trang chủ
Danh sách các thành phần của giao diện
STT Tên Kiểu Chức năng Ghi chú
1 Tạo hóa đơn button Tạo hóa đơn
2 Tạo báo cáo công nợ button Tạo báo cáo công nợ
3 Tạo báo cáo tồn kho button Tạo báo cáo tồn kho
4 Tạo danh sách sách button Tạo danh sách sách
5 Tạo phiếu nhập button Tạo phiếu
6 Tạo phiếu thu button Tạo phiếu thu
Hình 11 Giao diện phiếu nhập
Danh sách các thành phần của giao diện
STT Tên Kiểu Ghi chú
Hình 12 Giao diện hóa đơn
STT Tên Kiểu Ghi chú
1 Hotenkhachhang input Họ và tên khách hàng
3 Stt input Số thứ tự
Hình 13 Giao diện báo cáo tồn kho
Danh sách các thành phần của giao diện
STT Tên Kiểu Ghi chú
Hình 14 Giao diện tra cứu sách Danh sách các thành phần của giao diện
STT Tên Kiểu Ghi chú
Hình 15 Giao diện danh sách hóa đơnDanh sách các thành phần của giao diện
STT Tên Kiểu Ghi chú
1 Họ tên khách hàng Nvarchar
Danh sách các thành phần của giao diện
STT Tên Kiểu Ghi chú
1 Họ tên khách hàng input
Danh sách các thành phần của giao diện
STT Tên Kiểu Ghi chú