7Lập báo cáoBM7.1, BM7.2Kết xuất2.2.1.2 Yêu cầu tiến hoáSTTNghiệp vụTham số cần thay đổiMiền giá trị cần thay đổiThay đổi quy định tuổi tối đa, tuổi tối thiểu của độc giả.Tuổi tối đa, tu
TỔNG QUAN
- Giới thiệu: Hiện nay, nhu cầu về quản lý thông tin và tối ưu hóa hoạt động của thư viện ngày càng tăng cao đối với các thư viện lớn Với số lượng độc giả và sách mới ngày càng gia tăng thì việc thiết kế một phần mềm giúp chúng ta quản lý dễ dàng được các đầu sách cũng như các độc giả là rất cần thiết.
- Mục đích: Mục tiêu là tối ưu hóa quản lý tài nguyên, hỗ trợ tra cứu thông tin, tự động hóa quá trình mượn trả, và cung cấp các công cụ thống kê giúp đánh giá hiệu suất Giao diện người dùng được chú trọng để mang lại trải nghiệm thuận lợi cho cả nhân viên thư viện và độc giả Bảo mật thông tin và khả năng tích hợp linh hoạt là những yếu tố quan trọng giúp đảm bảo sự an toàn và hiệu quả của hệ thống Điều này nhằm mục đích nâng cao chất lượng dịch vụ và tối ưu hóa trải nghiệm người sử dụng trong môi trường thư viện ngày càng đa dạng và phức tạp.
XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU PHẦN MỀM
Giới thiệu bài toán cần giải quyết, mô tả qui trình thực hiện các công việc chính
Bài toán cần giải quyết: QUẢN LÝ THƯ VIỆN
Mô tả qui trình: Để giải quyết bài toán này, nhóm chúng em cần xây dựng hệ thống quản lý thư viện hiệu quả Trước tiên chúng em xây dựng cơ sở dữ liệu cho hệ thống và xác định tính đúng đắn và tính tiến hoá của mô mình chúng ta thiết kế Sau khi đã xong việc xây dựng cơ sở dữ liệu thì chúng em bắt đầu thiết kế phần mềm để tương tác với cơ sở dữ liệu đã xây dựng.
Về thiết kế phần mềm: Nhóm chúng em sử dụng ngôn ngữ C# để code giao diện bằng winform và cơ sở dữ liệu chúng em sài SQL Server.
Xác định và mô hình hoá yêu cầu phần mền
2.2.1 Phân loại các yêu cầu phần mềm
STT Tên yêu cầu Biểu mẫu Qui định Loại công việc Ghi chú
1 Lập thẻ độc giả BM1 QĐ1 Lưu trữ
2 Tiếp nhận sách mới BM2 QĐ2 Lưu trữ
3 Tra cứu sách BM3 Tra cứu
4 Cho mượn sách BM4 QĐ4 Lưu trữ
5 Nhận trả sách BM5 QĐ5 Lưu trữ
6 Lập phiếu thu tiền phạt BM6 QĐ6 Lưu trữ
7 Lập báo cáo BM7.1, BM7.2 Kết xuất
STT Nghiệp vụ Tham số cần thay đổi Miền giá trị cần thay đổi
Thay đổi quy định tuổi tối đa, tuổi tối thiểu của độc giả.
Tuổi tối đa, tuổi tối thiểu
2 Thay đổi quy định thời hạn sử dụng thẻ độc giả Thời hạn thẻ dộc giả
3 Thay đổi quy định thời hạn năm tối đa nhận sách
Khoảng cách năm xuất bản
4 Thay đổi quy định số lượng sách độc giả có thể mượn Số sách mượn tối đa
5 Thay đổi quy định quy định số ngày mượn Số ngày mượn tối đa
6 Thay đổi quy định số tiền phạt mỗi ngày trả trễ Số tiền phạt
2.2.2 Bảng trách nhiệm cho từng loại yêu cầu.
2.2.2.1 Bảng trách nhiệm cho từng loại yêu cầu nghiệp vụ
STT Nghiệp vụ Người dùng Phần mềm Ghi chú
1 Lập thẻ độc giả Cung cấp thông tin độc giả Kiểm tra quy định và ghi nhận Cho phép huỷ, cập nhập
2 Tiếp nhận sách mới Cung cấp thông tin sách mới Kiểm tra quy định và ghi nhận Cho phép huỷ, cập nhập
3 Tra cứu sách Cung cấp thông tin sách cần tra cứu Tìm, xuất thông tin liên quan
4 Cho mượn sách Cung cấp thông tin sách cần mượn
Kiểm tra quy định và ghi nhận
Cho phép huỷ, cập nhập
5 Nhận trả sách Cung cấp thông tin phiếu mượn
Kiểm tra quy định và ghi nhận
Cho phép huỷ, cập nhập
6 Lập phiếu thu tiền phạt Cung cấp thông tin về phiếu phạt Kiểm tra quy định và ghi nhận Cho phép huỷ, cập nhập
7 Lập báo cáo tình hình mượn sách theo thể loại Cung cấp thông tin ngày tháng, năm Tìm, tính toán và trả về kết quả tương ứng
8 Lập báo cáo thống kế sách trả trễ
Cung cấp thông tin ngày tháng năm
Tìm, tính toán và trả về kết quả tương ứng 2.2.2.2 Bảng trách nhiệm cho từng loại yêu cầu tiến hoá
STT Nghiệp vụ Người dùng Phần mềm Ghi chú
1 Thay đổi quy định tuổi tối đa, tuổi tối thiểu của độc giả.
Cho biết giả trị mới tuổi tối đa, tuổi tối thiểu
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
Thay đổi quy định thời hạn sử dụng thẻ độc giả
Cho biết thời hạn sử dụng mới của thẻ độc giả
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
Thay đổi quy định thời hạn năm tối đa nhận sách
Cho biết khoảng cách mới của năm xuất bản.
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
Thay đổi quy định số lượng sách độc giả có thể mượn
Cho biết số lượng sách mượn tối đa mới.
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra.
Thay đổi quy định quy định số ngày mượn
Cho biết số ngày mượn tối đa mới.
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
Thay đổi quy định số tiền phạt mỗi ngày trả trễ
Cho biết số tiền phạt mới sau mỗi ngày trễ.
Ghi nhận giá trị mới và thay đổi cách thức kiểm tra
2.2.3 Sơ đồ luồng dữ liệu cho từng yêu cầu (biểu mẫu và qui định kèm theo, sơ đồ, mô tả các luồng dữ liệu và thuật toán).
2.2.3.1 Biểu mẫu 1 - Lập thẻ độc giả
1.Sơ đồ luồng dữ liệu, biểu mẫu và quy định liên quan
- Sơ đồ luồng dữ liệu
- Biểu mẫu và quy định liên quan
2.Mô Tả Các Luồng Dữ Liệu
D1: Tên độc giả, Loại độc giả, Ngày Sinh, Địa chỉ, Email, Ngày lập thẻ.
D3: Danh sách loại độc giả, Tuổi tối thiểu, Tuổi tối đa, Thời hạn sử dụng.
B3: Đọc D3 từ bộ nhớ phụ
B4: Kiểm tra ‘Loại độc giả’ (D1) có thuộc ‘Danh sách độc giả’ (D3)
B6: Kiểm tra qui định ‘Tuổi tối đa’, ‘Tuổi tối thiểu’
B8: Nếu không thoả một trong các qui định trên thì đến B11
B9: Lưu D4 xuống bộ nhớ phụ
2.2.3.2 Biểu mẫu 2 - Tiếp nhận sách mới
1.Sơ đồ luồng dữ liệu, biểu mẫu và quy định liên quan
- Sơ đồ luồng dữ liệu
- Biểu mẫu và quy định liên quan
2.Mô Tả Các Luồng Dữ Liệu
D1: Tên sách, Thể loại, Tác giả, Năm Xuất bản, Nhà xuất bản, Ngày nhập, Trị giá. D2: Không có
D3: Danh sách thể loại, Số năm xuất bản tối đa.
B3: Đọc D3 từ bộ nhớ phụ
B4: Kiểm tra ‘Thể loại’ (D1) có thuộc ‘Danh sách thể loại’ (D3)
B5: Tính số năm xuất bản cho đến nay
B6: Kiểm tra quy định ‘Số năm xuất bản’
B7: Nếu không thỏa mãn thì đến B10
B8: Lưu D4 xuống bộ nhớ phụ
2.2.3.3 Biểu mẫu 3 - Tra cứu sách
1.Sơ đồ luồng dữ liệu, biểu mẫu liên quan
- Sơ đồ luồng dữ liệu
2.Mô Tả Các Luồng Dữ Liệu
D1: Tiêu chuẩn tra cứu(Mã sách, Tên sách, Thể loại, Tác giả, Tình trạng)
D3: Danh sách sách được tra cứu (Mã sách, Tên sách, Thể loại, Tác giả, Tình trạng) D4: Không có
B3: Đọc D3 từ bộ nhớ phụ
2.2.3.4 Biểu mẫu 4 – Lập phiếu mượn sách
1.Sơ đồ luồng dữ liệu, biểu mẫu và quy định liên quan
- Sơ đồ luồng dữ liệu
- Biểu mẫu và quy định liên quan:
Page | 10 b.Thiết kế dữ liệu với tính tiến hóa
+ Các thuộc tính mới: TenTheLoai
+ Các tham số mới: SLTheLoai, SLTacGia, TGNhap
+ Thiết kế dữ liệu: table THAMSO, table THELOAI, table SACH
+ Các thuộc tính trừu tượng: MaTheLoai
Bước 3: Xét yêu cầu tra cứu sách a Thiết kế dữ liệu với tính đúng đắn
STT Mã Sách Tên Sách Thể Loại Tác Giả Tình Trạng
+ Sơ đồ luồng dữ liệu: Sơ đồ 3
+ Các thuộc tính mới: TinhTrang
+ Thiết kế dữ liệu: table SACH
+ Thuộc tính trừu tượng: MaSach
Page | 19 b.Thiết kế dữ liệu với tính tiến hoá
+ Các thuộc tính trừu tượng:
Bước 4: Xét yêu cầu cho mượn sách a.Thiết kế dữ liệu với tính đúng đắn
Họ tên độc giả: Ngày mượn:
STT Mã Sách Tên Sách Thể Loại Tác Giả
+ Sơ đồ luồng dữ liệu: Sơ đồ 4
+ Các thuộc tính mới: NgayMuon
+ Thiết kế dữ liệu: table CTPMUON, table PHIEUMUON
+ Thuộc tính trừu tượng: MaCTPMuon, MaPhieuMuon, MaDocGia, MaSach + Sơ đồ logic:
Page | 20 b.Thiết kế dữ liệu với tính tiến hoá
+Qui định liên quan: QĐ4
QĐ4: Chỉ cho mượn với thẻ còn hạn, không có sách mượn quá hạn, và sách không có người đang mượn Mỗi độc giả mượn tối đa 5 quyển sách trong 4 ngày
+ Các tham số mới: SLMuon, ThoiHanNgayMuon
+ Thiết kế dữ liệu: table THAMSO
+ Các thuộc tính trừu tượng: MaCTPMuon, MaPhieuMuon,MaDocGia, MaSach
Bước 5: Xét yêu cầu nhận trả sách a.Thiết kế dữ liệu với tính đúng đắn
Họ tên độc giả: Ngày trả:
Tiền phạt kỳ này: Tổng nợ:
STT Mã Sách Ngày Mượn Số Ngày Mượn Tiền Phạt
+ Sơ đồ luồng dữ liệu: Sơ đồ 5
+ Các thuộc tính mới: TienNo, TienPhat, TienPhatKy, NgayTra
+ Thiết kế dữ liệu: table DOCGIA, table PHIEUTRA, table CTPTRA + Thuộc tính trừu tượng: MaCTPTra, MaPhieuTra
+ Sơ đồ logic: b.Thiết kế dữ liệu với tính tiến hoá
+Qui định liên quan: QĐ5
QĐ5: Mỗi ngày trả trễ phạt 1.000 đồng/ngày
+ Các tham số mới: TienPhat
+ Thiết kế dữ liệu: table THAMSO
+ Các thuộc tính trừu tượng: MaPhieuTra, CTPTra
Bước 6: Xét yêu lập phiếu thu tiền phạt
BM6: Phiếu Thu Tiền Phạt
Còn lại: a.Thiết kế dữ liệu với tính đúng đắn
+ Sơ đồ luồng dữ liệu: Sơ đồ 6
+ Các thuộc tính mới: SoTienThu
+ Thiết kế dữ liệu: table PHIEUTHU
+ Thuộc tính trừu tượng: MaPhieuThu
Page | 23 b.Thiết kế dữ liệu với tính tiến hoá
QĐ6: Số tiền thu không vượt quá số tiền độc giả đang nợ
+ Thiết kế dữ liệu: table PHIEUTHU
+ Các thuộc tính trừu tượng: MaDocGia, MaPhieuThu
Bước 7: Xét yêu cầu lập báo cáo BM7.1
+ Các biểu mẫu liên quan: BM7.1
BM7.1 Báo Cáo Thông Kê Tình Hình Mượn Sách Theo Thể Loại
STT Tên Thể Loại Số Lượt Mượn Tỉ Lệ
Tổng số lượt mượn: a.Thiết kế dữ liệu với tính đúng đắn
+ Sơ đồ luồng dữ liệu: Sơ đồ 7
+ Các thuộc tính mới: Thang, Nam, TongSoLuotMuon, SoLuotMuon, TiLe + Thiết kế dữ liệu: table BCMUONSACHTHEOTHELOAI,
+ Thuộc tính trừu tượng: MaBaoCao
Page | 24 b.Thiết kế dữ liệu với tính tiến hoá
+ Các thuộc tính trừu tượng:
Bước 8: Xét yêu cầu lập báo cáo BM7.2
BM7.2 Báo Cáo Thống Kê Sách Trả Trễ
STT Tên Sách Ngày Mượn Số Ngày Trả Trễ
2 a.Thiết kế dữ liệu với tính đúng đắn
+ Sơ đồ luồng dữ liệu: Sơ đồ 8
+ Các thuộc tính mới: NgayMuon, SoNgayTre, Thang, Nam
+ Thiết kế dữ liệu: table BCSACHTRATRE, CTBCSACHTRATRE + Thuộc tính trừu tượng: MaBaoCaoTraTre
Page | 25 b.Thiết kế dữ liệu với tính tiến hoá
+ Các thuộc tính trừu tượng:
2.4.2 Sơ đồ logic hoàn chỉnh
2.4.3 Danh sách các bảng dữ liệu (table) trong sơ đồ:
STT Tên bảng dữ liệu Diễn giải
1 DOCGIA Chứa thông tin độc giả
2 LOAIDOCGIA Chứa thông tin loại độc giả
3 SACH Chứa thông tin sách
4 THELOAI Chứa thông tin thể loại sách
5 PHIEUMUON Chứa thông tin mượn sách của độc giả
6 CTPHIEUMUON Chứa thông tin chi tiết của phiếu mượn
7 PHIEUTRA Chứa thông tin trả sách của độc giả
8 CTPTRA Chứa thông tin chi tiết của phiếu trả
9 PHIEUTHU Chứa thông tin phiếu thu
10 BCMUONSACHTHEOTHELOAI Chứa thông tin báo cáo theo thể loại
11 CTBCMUONSACHTHEOTHELOAI Chứa thông tin chi tiết báo cáo thể loại
12 BCSACHTRATRE Chứa thông tin báo cáo trả trễ
13 CTBCSACHTRATRE Chứa thông tin chi tiết báo cáo trả trể
14 THAMSO Chứa thông tin các tham số
2.4.4 Mô tả từng bảng dữ liệu:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaDocGia Varchar(10) Khoá chính Mã độc giả
2 HoTen Nvarchar(30) Họ và tên đọc giả
4 DiaChi Nvarchar(50) Đia chỉ của độc giả
5 Email Nvarchar(30) Email của độc giả
6 NgayLap Date Ngày lập thẻ
7 NgayHetHan Date Ngày hệt hạn của thẻ
9 MaLoaiDocGia Varchar(10) Khoá ngoại Mã loại độc giả
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaLoaiDocGia Varchar(10) Khoá chính Mã loại độc giả
2 LoaiDocGia Nvarchar(20) Ten loại độc giả 2.4.4.3 Bảng SACH:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaSach Varchar(10) Khoá chính Mã sách
3 TacGia Nvarchar(30) Tên tác giả
4 NhaXuatBan Nvarchar(30) Tên nhà xuất bản
5 NamXuatBan Date Năm xuất bản
6 TriGia Money Giá tiền của sách
7 NgayNhap Date Ngày nhập sách
8 TinhTrang Bit Tình trạng mượn
9 MaTheLoai Varchar(10) Khoá ngoại Mã thể loại
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaTheLoai Varchar(10) Khoá chính Mã thể loại
2 TenTheLoai Nvarchar(20) Tên thể loại
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaPhieuMuon Varchar(10) Khoá chính Mã phiếu mượn
3 MaDocGia Varchar(10) Mã độc giả
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaCTPMuon Varchar(10) Khoá chính Mã chi tiết phiếu mượn
2 MaSach Varchar(10) Khoá ngoại Mã sách
3 MaPhieuMuon Varchar(10) Khoá ngoại Mã phiếu mượn
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaPhieuTra Varchar(10) Khoá chính Mã phiếu trả
3 TienPhatKy Money Tiền phạt kỳ này
4 MaDocGia Varchar(10) Khoá ngoại Mã độc giả
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaCTPTra Varchar(10) Khoá chính Mã chi tiết phiếu trả
2 MaCTPMuon Varchar(10) Khoá ngoại Mã chi tiết phiếu mượn
4 MaPhieuTra Varchar(10) Khoá ngoại Mã phiếu trả
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaPhieuThu Varchar(10) Khoá chính Mã phiếu thu
2 MaDocGia Varchar(10) Khoá ngoại Mã độc giả
3 SoTienThu Money Số tiền thu
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaBaoCao Varchar(10) Khoá chính Mã báo cáo theo thể loại
2 Thang Int Tháng báo cáo
3 Năm Int Năm báo cáo
4 TongSoLuotMuon Int Tổng số lượt mượn
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaBaoCao Varchar(10) Khoá chính Mã báo cáo theo thể loại
2 MaTheLoai Varchar(10) Khoá chính Mã thể loại
3 SoLuotMuon Int Số lượt mượn
4 TiLe Int Tỉ lệ mượn trên tổng thể
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaBaoCaoTraTre Varchar(10) Khoá chính Mã báo cáo sách trả trễ
2 Thang Int Tháng báo cáo
3 Nam Int Năm báo cáo
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaBaoCaoTraTre Varchar(10) Khoá chính Mã báo cáo sách trả trễ
2 MaSach Varchar(10) Khoá ngoại Mã sách
3 NgayMuon Date Ngày mượn của sách
4 SoNgayTraTre Int Số ngày trả trễ
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 TuoiToiThieu Int Tuổi tối thiểu
2 TuoiToiDa Int Tuổi tối đa
3 TGSuDung Int Thời hạn sử dụng thẻ
4 SLTheLoai Int Số lượng thể loại nhập
5 SLTacGia Int Số lượng tác giả
6 TGNhap Int Khoảng cách năm nhập
7 SLMuon Int Số lượng sách mượn tối đa
8 SLNgayMuon Int Số ngày mượn tối đa
9 TienPhat Money Số tiền phạt mỗi ngày trả trễ
2.5.1 Sơ đồ liên kết các màn hình.
2.5.2 Danh sách các màn hình:
STT Màn hình Loại màn hình Chức năng
2.5.3 Mô tả các màn hình:
2.5.3.1 Màn hình A: a Giao diện b Mô tả các đối tượng trên màn hình:
STT Tên Kiểu Ràng buộc Chức năng
2 c Danh sách biến cố và xử lý tương ứng trên màn hình :
STT Biến cố Xử lý
2.6 Cài đặt và thử nghiệm:
STT Chức năng Mức độ hoàn thành (%) Ghi chú
Kết luận: đánh giá ưu và khuyết điểm của phần mềm và trình bày hướng phát triển để hoàn thiện phần mềm.
Bảng phân công công việc: mô tả như ví dụ sau:
Công việc MSSV 1 MSSV 2 MSSV 3 MSSV 4 MSSV 5
Giới thiệu bài toán cần giải quyết và mô tả quy trình thực hiện các công việc chính x x x x
Xác định và mô hình hóa yêu cầu phần mềm x x x x
Mức độ hoàn thành các công việc được phân
Thiết kế giao diện
2.5.1 Sơ đồ liên kết các màn hình.
2.5.2 Danh sách các màn hình:
STT Màn hình Loại màn hình Chức năng
2.5.3 Mô tả các màn hình:
2.5.3.1 Màn hình A: a Giao diện b Mô tả các đối tượng trên màn hình:
STT Tên Kiểu Ràng buộc Chức năng
2 c Danh sách biến cố và xử lý tương ứng trên màn hình :
STT Biến cố Xử lý
Cài đặt và thử nghiệm
STT Chức năng Mức độ hoàn thành (%) Ghi chú
Kết luận: đánh giá ưu và khuyết điểm của phần mềm và trình bày hướng phát triển để hoàn thiện phần mềm.
Bảng phân công công việc: mô tả như ví dụ sau:
Công việc MSSV 1 MSSV 2 MSSV 3 MSSV 4 MSSV 5
Giới thiệu bài toán cần giải quyết và mô tả quy trình thực hiện các công việc chính x x x x
Xác định và mô hình hóa yêu cầu phần mềm x x x x
Mức độ hoàn thành các công việc được phân