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
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
Họ và tên các thành viên trong nhóm
Bùi Văn Thi – 21522612Dương Gia Thiều – 21522631Nguyễn Đông Anh – 21520569Nguyễn Bá Kỳ Anh – 21521827Đinh Vũ Minh Nhật – 21522414
ĐỀ TÀI QUẢN LÝ THƯ VIỆN
ĐỒ ÁN MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
GIÁO VIÊN HƯỚNG DẪN
TS.ĐỖ THỊ THANH TUYỀN
Thành phố Hồ Chí Minh – 11/2023
Page | 1
Trang 2Chương 1: TỔNG QUAN 4
Chương 2: XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU PHẦN MỀM 4
2.1 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 4
2.2 Xác định và mô hình hoá yêu cầu phần mền 4
2.2.1 Phân loại các yêu cầu phần mềm 4
2.2.1.1 Yêu cầu nghiệp vụ 4
2.2.1.2 Yêu cầu tiến hoá 4
2.2.2 Bảng trách nhiệm cho từng loại yêu cầu 5
2.2.2.1 Bảng trách nhiệm cho từng loại yêu cầu nghiệp vụ 5
2.2.2.2 Bảng trách nhiệm cho từng loại yêu cầu tiến hoá 5
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) 6
2.2.3.1 Biểu mẫu 1 - Lập thẻ độc giả 6
2.2.3.2 Biểu mẫu 2 - Tiếp nhận sách mới 7
2.2.3.3 Biểu mẫu 3 - Tra cứu sách 8
2.2.3.4 Biểu mẫu 4 – Lập phiếu mượn sách 9
2.2.3.5 Biểu mẫu 5 - Lập phiếu trả sách 10
2.2.3.6 Biểu mẫu 6 - Lập phiếu thu tiền phạt 11
2.2.3.7 Biểu mẫu 7.1 - Lập báo cáo thống kê tình hình mượn sách theo thể loại 12
2.2.3.8 Biểu mẫu 7.2 - Lập báo thống kê sách trả trễ 13
2.3 Thiết kế hệ thống: 14
2.3.1 Kiến trúc hệ thống 14
2.2.2 Mô tả các thành phần trong hệ thống: 14
2.4 Thiết kế dữ liệu: 14
2.4.1 Thuật toán lập sơ đồ logic: 14
Bước 1: Xét yêu cầu lập thể độc giả 14
Bước 2: Xét yêu cầu tiếp nhận sách mới 14
Bước 3: Xét yêu cầu tra cứu sách 14
Bước 4: Xét yêu cầu cho mượn sách 14
Bước 5: Xét yêu cầu nhận trả sách 14
Bước 6: Xét yêu lập phiếu thu tiền phạt 14
Bước 7: Xét yêu cầu lập báo cáo BM7.1 14
Bước 8: Xét yêu cầu lập báo cáo BM7.2 14
2.4.2 Sơ đồ logic hoàn chỉnh 15
Page | 2
Trang 32.4.3 Danh sách các bảng dữ liệu (table) trong sơ đồ: 15
Trang 4TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM
-BÁO CÁO ĐỒ ÁN MÔN HỌCNHẬP MÔN CÔNG NGHỆ PHẦN MỀMChương 1: 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ự độnghó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.
Chương 2: XÁC ĐỊNH VÀ MÔ HÌNH HOÁ YÊU CẦU PHẦN MỀM
2.1 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ệucho hệ thống và xác định tính đúng đắn và tính tiến hoá của mô mình chúng tathiết kế Sau khi đã xong việc xây dựng cơ sở dữ liệu thì chúng em bắt đầuthiế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 giaodiện bằng winform và cơ sở dữ liệu chúng em sài SQL Server.
2.2 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ềm2.2.1.1 Yêu cầu nghiệp vụ
STTTên yêu cầuBiểu mẫuQui địnhLoại công việc Ghi chú
1Lập thẻ độc giảBM1QĐ1Lưu trữ2Tiếp nhận sách mớiBM2QĐ2Lưu trữ3Tra cứu sáchBM3Tra cứu4Cho mượn sáchBM4QĐ4Lưu trữ5Nhận trả sáchBM5QĐ5Lưu trữ
Page | 4
Trang 57Lập báo cáoBM7.1, BM7.2Kết xuất
2.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 đổ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ểu2Thay đổi quy định thời hạn sử dụng thẻ độc giảThời hạn thẻ dộc giả3Thay đổi quy định thời hạn năm tối đa nhận
Khoảng cách năm xuấtbản4Thay đổi quy định số lượng sách độc giả có
thể mượnSố sách mượn tối đa5Thay đổi quy định quy
định số ngày mượnSố ngày mượn tối đa6Thay đổi quy định số tiềnphạ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ụ
1 Lập thẻ độc giả giảCung cấp thông tin độc Kiểm tra quy định vàghi nhận Cho phép huỷ, cập nhập2 Tiếp nhận sách mới mớiCung cấp thông tin sách Kiểm tra quy định vàghi nhận Cho phép huỷ, cập nhập3 Tra cứu sách cần tra cứuCung cấp thông tin sách Tìm, xuất thông tinliên quan
4 Cho mượn sách cần mượnCung cấp thông tin sách Kiểm tra quy định vàghi nhận Cho phép huỷ, cập nhập5 Nhận trả sách phiếu mượnCung cấp thông tin Kiểm tra quy định vàghi nhận Cho phép huỷ, cập nhập6 Lập phiếu thu tiền phạt phiếu phạt.Cung cấp thông tin về Kiểm tra quy định vàghi nhận Cho phép huỷ, cập nhập7 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àythá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àytháng năm
Tìm, tính toán và trảvề kết quả tương ứng2.2.2.2 Bảng trách nhiệm cho từng loại yêu cầu tiến hoá
Page | 5
Trang 61 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ểmtra
Thay đổi quy địnhthờ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ểmtra
Thay đổi quy địnhthờ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ểmtra
Thay đổi quy địnhsố lượng sách độcgiả 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ểmtra.
Thay đổi quy địnhquy đị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ểmtra
Thay đổi quy địnhsố 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ểmtra
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
Hình 1
- Biểu mẫu và quy định liên quan
2.Mô Tả Các Luồng Dữ Liệu
Page | 6
Trang 7D1: Tên độc giả, Loại độc giả, Ngày Sinh, Địa chỉ, Email, Ngày lập thẻ.D2: Không có.
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.D4: D1 + Ngày hết hạn
D5: D4D6: Không có3.Thuật Toán
B1: Nhận D1 từ người dùngB2: Kết nối CSDLB3: Đọc D3 từ bộ nhớ phụ
B4: Kiểm tra ‘Loại độc giả’ (D1) có thuộc ‘Danh sách độc giả’ (D3)B5: Tính tuổi độc giả
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 B11B9: Lưu D4 xuống bộ nhớ phụ
B10: Xuất D5 ra máy inB11: Đóng kết nối CSDLB12: Kết thúc
2.2.3.2Biể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
Hình 2
- Biểu mẫu và quy định liên quan
Page | 7
Trang 82.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.D4: D1
D5: D4D6: Không có3.Thuật Toán
B1: Nhận D1 từ người dùngB2: Kết nối CSDLB3: Đọ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 B10B8: Lưu D4 xuống bộ nhớ phụ B9: Xuất D5 ra máy in B10: Đóng kết nối CSDLB11: Kết thúc
2.2.3.3 Biểu mẫu 3 - Tra cứu sách1.Sơ đồ luồng dữ liệu, biểu mẫu liên quan
- Sơ đồ luồng dữ liệu
Page | 8
Trang 9- Biểu mẫ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)D2: Không có
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ó
D5: D3D6: D53.Thuật Toán
B1: Nhận D1 từ người dùngB2: Kết nối CSDLB3: Đọc D3 từ bộ nhớ phụB4: Xuất D5 ra máy inB5: Trả D6 cho người dùngB6: Đóng kết nối CSDLB7: Kết thúc
2.2.3.4Biểu mẫu 4 – Lập phiếu mượn sách1.Sơ đồ luồng dữ liệu, biểu mẫu và quy định liên quan
- Sơ đồ luồng dữ liệu
Page | 9
Trang 10- Biểu mẫu và quy định liên quan:
Page | 10
Trang 19b.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
+ 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+ Sơ đồ logic:
Page | 19
Trang 20b.Thiết kế dữ liệu với tính tiến hoá+Qui định liên quan:+ Các thuộc tính mới: + Các tham số mới: + Thiết kế dữ liệu: + Các thuộc tính trừu tượng: + Sơ đồ logic
Bước 4: Xét yêu cầu cho mượn sácha.Thiết kế dữ liệu với tính đúng đắn
+ Biểu mẫu liên quan:
Họ tên độc giả: Ngày mượn:
STTMã SáchTên SáchThể LoạiTá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
Trang 21b.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 đangmượn Mỗi độc giả mượn tối đa 5 quyển sách trong 4 ngày
Trang 22Họ tên độc giả: Ngày trả: Tiền phạt kỳ này: Tổng nợ:
STTMã SáchNgày MượnSố Ngày MượnTiề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
+ Các thuộc tính trừu tượng: MaPhieuTra, CTPTra+ Sơ đồ logic:
Page | 22
Trang 23Bước 6: Xét yêu lập phiếu thu tiền phạt+ Biểu mẫu liên quan:
BM6:Phiếu Thu Tiền Phạt
Page | 23
Trang 24b.Thiết kế dữ liệu với tính tiến hoá+Qui định liên quan:
QĐ6: Số tiền thu không vượt quá số tiền độc giả đang nợ
+ Các thuộc tính mới: + Các tham số mới:
+ Thiết kế dữ liệu: table PHIEUTHU
+ Các thuộc tính trừu tượng: MaDocGia, MaPhieuThu+ Sơ đồ logic:
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.1Báo Cáo Thông Kê Tình Hình Mượn Sách Theo Thể Loại
Page | 24
Trang 25b.Thiết kế dữ liệu với tính tiến hoá+Qui định liên quan:+ Các thuộc tính mới: + Các tham số mới: + Thiết kế dữ liệu: + Các thuộc tính trừu tượng: + Sơ đồ logic:
Bước 8: Xét yêu cầu lập báo cáo BM7.2
BM7.2Báo Cáo Thống Kê Sách Trả Trễ
STTTên SáchNgày MượnSố Ngày Trả Trễ
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
+ Sơ đồ logic:
Page | 25
Trang 26b.Thiết kế dữ liệu với tính tiến hoá+Qui định liên quan:+ Các thuộc tính mới: + Các tham số mới: + Thiết kế dữ liệu: + Các thuộc tính trừu tượng: + Sơ đồ logic:
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ơ đồ:
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ượn7 PHIEUTRA Chứa thông tin trả sách của độc giả
Page | 26
Trang 278 CTPTRA Chứa thông tin chi tiết của phiếu trả
10 BCMUONSACHTHEOTHELOAI Chứa thông tin báo cáo theo thể loại11 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ể
2.4.4 Mô tả từng bảng dữ liệu:2.4.4.1 Bảng DOCGIA:
STTThuộc tínhKiểu dữ liệu Ràng buộcDiễn giải
1 MaDocGia Varchar(10) Khoá chính Mã độc giả
4 DiaChi Nvarchar(50) Đia chỉ của độc giả
9 MaLoaiDocGia Varchar(10) Khoá ngoại Mã loại độc giả2.4.4.2 Bảng LOAIDOCGIA:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễ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:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaSach Varchar(10) Khoá chính Mã sách
4 NhaXuatBan Nvarchar(30) Tên nhà xuất bản
9 MaTheLoai Varchar(10) Khoá ngoại Mã thể loại2.4.4.4 Bảng THELOAI:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
Page | 27
Trang 281 MaTheLoai Varchar(10) Khoá chính Mã thể loại2 TenTheLoai Nvarchar(20) Tên thể loại2.4.4.5 Bảng PHIEUMUON:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaPhieuMuon Varchar(10) Khoá chính Mã phiếu mượn
2.4.4.6 Bảng CTPHIEUMUON:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaCTPMuon Varchar(10) Khoá chính Mã chi tiết phiếu mượn2 MaSach Varchar(10) Khoá ngoại Mã sách
3 MaPhieuMuon Varchar(10) Khoá ngoại Mã phiếu mượn2.4.4.7 Bảng PHIEUTRA:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaPhieuTra Varchar(10) Khoá chính Mã phiếu trả
4 MaDocGia Varchar(10) Khoá ngoại Mã độc giả2.4.4.8 Bảng CTPHIEUTRA:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễ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ả2.4.4.9 Bảng PHIEUTHU:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaPhieuThu Varchar(10) Khoá chính Mã phiếu thu2 MaDocGia Varchar(10) Khoá ngoại Mã độc giả
2.4.4.10 Bảng BCMUONSACHTHEOTHELOAI
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaBaoCao Varchar(10) Khoá chính Mã báo cáo theo thể loại
Page | 28
Trang 292.4.4.11 Bảng CTBCMUONSACHTHEOTHELOAI:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaBaoCao Varchar(10) Khoá chính Mã báo cáo theo thể loại2 MaTheLoai Varchar(10) Khoá chính Mã thể loại
2.4.4.12 Bảng BCSACHTRATRE:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
1 MaBaoCaoTraTre Varchar(10) Khoá chính Mã báo cáo sách trả trễ
2.4.4.13 Bảng CTBCSACHTRATRE:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễ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
2.4.4.14 Bảng THAMSO:
STTThuộc tínhKiểu dữ liệuRàng buộcDiễn giải
2.5 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:
Page | 29
STTMàn hìnhLoại màn hìnhChức năng
12
Trang 302.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:
c. Danh sách biến cố và xử lý tương ứng trên màn hình:
2.6 Cài đặt và thử nghiệm:
STTChức năngMứ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.
Tài liệu tham khảo
Bảng phân công công việc: mô tả như ví dụ sau:
Công việcMSSV 1MSSV 2MSSV 3MSSV 4MSSV 5
Giới thiệu bài toán cầngiải quyết và mô tả quytrình thực hiện các công
Page | 30
Trang 31công (%) Mức độ đóng góp cho
kết quả của đồ án (tổng cộng = 100%)
1.Thời gian thực hiện: 8 tuần.
Page | 31