Đồ án Xây dựng phần mềm hướng đối tượng

Một thư viện cần quản lý việc đăng ký, mượn và trả sách của các bạn đọc thư viện. Sau đây là phần mô tả theo các nghiệp vụ hàng ngày của thư viện: Thủ thư gọi sách là đầu sách (dausach). Mỗi đầu sách có một ISBN để phân biệt với các đầu sách khác. Các đầu sách có cùng tựa (tuasach) sẽ có ISBN khác nhau nếu chúng được dịch ra nhiều thứ tiếng (ngonngu) khác nhau và được đóng thành bìa (bia) khác nhau. Mỗi tựa sách có một mã tựa sách để phân biệt với các tựa sách khác

doc45 trang | Chia sẻ: vietpd | Lượt xem: 1387 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng phần mềm hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trường Đại Học Khoa Học Tự Nhiên Khoa Công Nghệ Thông Tin Đồ án môn học Xây Dựng Phần Mềm Hướng Đối Tượng PHẦN MỀM QUẢN LÝ THƯ VIỆN GVGD : Trần Minh Triết SVTH : Phan Thi Hồng Phấn MSSV : 02HC372 LỚP : 02HCB Tháng 1 năm 2005 Mục lục: Chương 1: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU Khảo sát hiện trạng Một thư viện cần quản lý việc đăng ký, mượn và trả sách của các bạn đọc thư viện. Sau đây là phần mô tả theo các nghiệp vụ hàng ngày của thư viện: Thủ thư gọi sách là đầu sách (dausach). Mỗi đầu sách có một ISBN để phân biệt với các đầu sách khác. Các đầu sách có cùng tựa (tuasach) sẽ có ISBN khác nhau nếu chúng được dịch ra nhiều thứ tiếng (ngonngu) khác nhau và được đóng thành bìa (bia) khác nhau. Mỗi tựa sách có một mã tựa sách để phân biệt với các tựa sách khác. (Mã số được đáng số tự động, bắt đầu từ 1,2,3,…). Mỗi đầu sách có thể có nhiều bản sao (cuonsach) ứng với đầu sách đó. Mỗi tựa sách của một tác giả (tacgia) và có một bản tóm tắt nội dung (tomtat) của sách (có thể là một câu hay vài trang). Khi bạn đọc muốn biết nội dung của cuốn sách nào, thì thủ thư sẽ xem phần tóm tắt của tựa sách đó và trả lời bạn đọc. Để trở thành đọc giả (docgia)của thư viện, thì bạn đọc phải đăng ký và cung cấp thông tin cá nhân cũng như địa chỉ và điện thoại của mình. Thủ thư sẽ cung cấp cho bạn đọc một thẻ điện tử, trên đó có mã số thẻ chính là mã số bạn đọc để phân biệt các bạn đọc khác. (Mã số được đánh số tự động, bẳt đầu từ 1,2,3,…). Thẻ này có giá trị trong 6 tháng kể từ ngày đăng ký. Một tháng trước ngày hết hạn thẻ, thủ thư sẽ thông báo cho bạn đọc biết để đến gia hạn thêm. Có 2 loại đọc giả (X,Y). Tưổi đọc giả từ 18 đến 55. Đăng ký: Nếu bạn đọc muốn mượn một cuốn sách, nhưng cuốn này đang được một bạn đọc khác đang mượn, thì người này có thể đăng ký chờ. Khi cuốn sách đó được trả về thì thủ thư sẽ thông báo đến người đăng ký trước nhất đến mượn. Mượn sách: Một đọc giả mượn tối đa 5 quyển sách trong 4 ngày. Trả sách: Khi đọc giả trả sách thì thủ thư cập nhật thông tin ngay lập tức bằng cách xóa thông tin mượn trước đó. Phát sinh báo cáo thống kê: Có bao nhiêu phiếu mượn sách trong năm qua? Tỷ lệ một độc giả mượn ít nhất một cuốn sách? Số lượng sách nhiều nhất mà một người đã mượn? Tỷ lệ sách được mượn ít nhất một lần năm ngoái? Tỷ lệ những phiếu mượn nào trả sách quá hạn? Thời gian trung bình mượn một cuốn sách là bao nhiêu? Bạn đọc mượn sách nhiều nhất lúc mấy giờ? Các quy định hoạt động của hệ thống: QĐ1: Thay đổi tuổi tối thiểu, tuổi tối đa, thời hạn có giá trị của thẻ. QĐ2: Thay đổi số lượng và tên các thể loại. Thay đổi khoảng cách năm xuất bản. QĐ4: Thay đổi số lượng sách mượn tối đa, số ngày mượn tối đa. QĐ-1: Mã tựa sách là số thứ tự của các tựa sách có trong hệ thống bắt đầu từ 1. Khi thêm mới phải kiểm tra có những số thứ tự bị xoá thì bổ sung vào những số thứ tự bị trống này. Nếu không có (nghĩa là những số thứ tự liên tục với nhau) thì thêm với số tự nhiên tiếp theo. Trong trường hợp xoá thì không phải chỉnh sửa lại số thứ tự của các tựa sách ở phía sau. QĐ-2: Mã độc giả là số thứ tự của các độc giả có trong hệ thống bắt đầu từ 1. Khi thêm mới phải kiểm tra có những số thứ tự bị xoá thì bổ sung vào những số thứ tự bị trống này. Nếu không có (nghĩa là những số thứ tự liên tục với nhau) thì thêm với số tự nhiên tiếp theo. Trong trường hợp xoá thì không phải chỉnh sửa lại số thứ tự của các tựa sách ở phía sau. QĐ-3: Nếu độc giả mượn những đầu sách không còn trong thư viện thì hệ thống sẽ chuyển qua bảng dữ liệu đăng ký. QĐ-4: Nếu độc giả trả sách thì thông tin mượn sẽ chuyển sang quá trình mượn. Yêu cầu chức năng Danh sách các yêu cầu nghiệp vụ: STT TÊN YÊU CẦU BIỂU MẪU QUY ĐỊNH GHI CHÚ 1 Lập thẻ đọc giả BM1 QĐ1 Xóa, cập nhật 2 Nhận sách mới BM2 QĐ2 Xóa, cập nhật 3 Tra cứu sách BM3 4 Lập phiếu mượn BM4 QĐ4 Xóa, cập nhật 5 Nhận trả sách 6 Thay đổi quy định QĐ6 7 Số phiếu mượn sách trong năm 8 Số lượng sách nhiều nhất mà một người đã mượn 9 Tỷ lệ những phiếu mượn sách quá hạn 10 Thời gian trung bình mượn sách 11 Giờ bạn đọc mượn sách nhiều nhất 12 Gia hạn thẻ 13 Đăng nhập Danh sách các quy định: STT MÃ SỐ TÊN QUY ĐỊNH MÔ TẢ CHI TIẾT GHI CHÚ 1 QĐ1 Quy định thẻ độc giả -Có 2 loại độc giả (Người lớn,Trẻ em). -Tuổi độc giả từ 18 đến 55. -Thẻ có giá trị 6 tháng. -QĐ-2 2 QĐ2 Quy định sách -Có 3 thể loại (A,B,C). -Chỉ nhận các sách xuất bản trong vòng 8 năm. -QĐ-1 3 QĐ4 Quy đinh phiếu mượn sách -Chỉ cho mượn với thẻ còn 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. 4 QĐ6 Người dùng có thể thay đổi các quy định sau: QĐ1: Thay đổi tuổi tối thiểu, tuổi tối đa, thời hạn có giá trị của thẻ. QĐ2: Thay đổi số lượng và tên các thể loại. Thay đổi khoảng cách năm xuất bản. QĐ4: Thay đổi số lượng sách tối đa, số ngày mượn tối đa. Yêu cầu hiệu quả STT YÊU CẦU MÔ TẢ CHI TIẾT GHI CHÚ 1 Lập thẻ độc giả 100 thẻ / 1 giờ Hẹn ngày cấp thẻ độc giả 2 Nhận sách mới 100 sách / 1 giờ 3 Tra cứu sách Xử lý ngay 4 Lập phiếu mượn Xử lý ngay Các thông báo cần thiết 5 Nhận trả sách Xử lý ngay Tính tiền phạt nếu trả sách quá hạn 6 Thay đổi quy định Xử lý ngay Độc giả không có quyền thay đổi quy định 7 Số phiếu mượn sách trong năm Xử lý ngay 8 Số lượng sách nhiều nhất mà một người đã mượn Xử lý ngay 9 Tỷ lệ những phiếu mượn sách trả quá hạn Xử lý ngay 10 Thời gian trung bình mượn sách Xử lý ngay 11 Giờ mượn sách nhiều nhất Xử lý ngay 12 Gia hạn thẻ Xử lý ngay Các thông báo cần thiết khi gia hạn 13 Đăng nhập Xử lý ngay Chỉ có thủ thư mới có quyền đăng nhập vào hệ thống. Độc giả chỉ có quyền tra cứu sách Bảng trách nhiệm yêu cầu nghiệp vụ: STT YÊU CẦU NGƯỜI DÙNG PHẦN MỀM GHI CHÚ 1 Lập thẻ độc giả Cung cấp thông tin theo BM1 Kiểm tra QĐ1 và ghi nhận 2 Nhận sách mới Cung cấp thông tin theo BM2 Kiểm tra QĐ2 và ghi nhận 3 Tra cứu sách Cung cấp tên sách hay thể loại sách Tìm và xuất theo BM3 4 Lập phiếu mượn Cung cấp thông tin theo BM4 Kiểm tra QĐ4 và ghi nhận 5 Nhận trả sách Cung cấp mã số sách trả Ghi nhận sách đã trả. 6 Thay đổi quy định Thay đổi các quy định theo QĐ6 Cập nhật quy định. 7 Số phiếu mượn sách trong năm. Tính số phiếu mượn trong năm 8 Số lượng sách nhiều nhất mà một người đã mượn. Tính số lượng sách mà một người đã mượn 9 Tỷ lệ những phiếu mượn trả sách quá hạn Tính tỷ lệ phiếu mượn sách trả quá hạn 10 Thời gian trung bình mượn sách Tính thời gian trung bình mượn sách 11 Giờ bạn đọc mượn sách nhiều nhất Thống kê giờ bạn đọc mựơn sách nhiều nhất 12 Gia hạn thẻ Cung cấp thông tin độc giả, thẻ đọc giả Kiểm tra và ghi nhận 13 Đăng nhập Nhập tên và mật khẩu đăng nhập Kiểm tra quyền đăng nhập Yêu cầu chất lượng: Tính tiện dụng Yêu cầu bảo mật Phân quyền Yêu cầu an toàn Danh sách các biểu mẫu: Chương 2: PHÂN TÍCH Mô hình dòng dữ liệu: Lập thẻ độc giả: Thuật toán: Bước 1: Nhận D1 từ người dùng Bước 2: Kết nối CSDL Bước 3: Đọc D4 từ bộ nhớ phụ Bước 4: Kiểm tra loại độc giả có thuộc danh sách các loại độc giả không Bước 5: Kiểm tra tuổi Bước 6: Nếu thoả các quy định thì : Tính ngày hết hạn của thẻ Lưu D3 xuống CSDL Bước 7: Đóng kết nối CSDL Nhận sách mới: Thuật toán: Bước 1: Thủ thư chọn chức năng nhận sách mới Nhập thông tin sách cần nhập Bước 2: Kiểm tra các thông tin của sách có hợp lệ không dựa vào QĐ2 Bước 3: Nếu hợp lệ thì nhập thông tin của sách và lưu xuống CSDL Bước 4: Nếu không hợp lệ thì không nhận sách và thông báo không thành công Tra cứu sách: Thuật toán: Bước 1: Người sử dụng chọn chức năng tra cứu sách Bước 2: Nhập các thông tin cần tra cứu Bước 3: Có thể tra cứu chính xác hoặc gần đúng Bước 4: Nếu người sử dụng là thủ thư thì có thêm quyền cập nhật sách Bước 5: Xuất kết quả tra cứu cho người sử dụng xem. Lập phiếu mượn: Thuật toán: Bước 1: Thủ thư chọn chức năng lập phiếu mượn Bước 2: Kiểm tra thẻ độc giả có còn hạn sử dụng Bước 3: Kiểm tra sách có còn được cho mượn không Bước 4: Nếu thỏa thì lập phiếu mượn cho độc giả, ghi xuống CSDL Bước 5: Nếu không thì có các thông báo cần thiết, không cho độc giả mượn sách. Nhận trả sách: Thuật toán: Bước 1: Thủ thư chọn chức năng nhận trả sách Bước 2: Kiểm tra sách được mượn có quá hạn hay không Bước 3: Nếu sách quá hạn, tính tiền phạt, thông báo cho độc giả Bước 4: Ghi nhận việc trả sách, lưu xuống CSDL Bước 5: Kiểm tra thẻ độc giả có hết hạn sử dụng chưa, thông báo cần thiết Bước 6: Đóng CSDL Thay đổi quy định: Thuật toán: Bước 1: Thủ thư chọn chức năng thay đổi quy định Bước 2: Nhập các quy định cần thay đổi Bước 3: Kiểm tra các quy đinh cần thay đổi có thỏa các quy đinh của thư viện hay không Bước 4: Nếu thỏa thì ghi xuống CSDL và thông báo thay đổi thành công Bước 5: Nếu không thỏa thì thông báo thay đổi không thành công Số phiếu mượn sách trong năm: Thuật toán: Bước 1: Người sử dụng chọn chức năng tính số phiếu mượn sách trong năm Bước 2: Chọn năm cần tính số phiếu mượn sách. Bước 3: Mở CSDL ứng với năm truyền vào. Bước 4: Tính số phiếu mượn sách. Bước 5: Xuất kết quả của việc tính toán ra bên ngoài. Bước 6: Đóng kết nối CSDL. Số lượng sách nhiều nhất mà một người đã mượn: Thuật toán: Bước 1: Người sử dụng chọn mục thống kê số lượng sách nhiều nhất mà một người đã mượn Bước 2: Chọn năm cần thống kê Bước 3: Mở CSDL ứng với năm truyền vào Bước 4: Duyệt CSDL tìm số lượng sách nhiều nhất mà một người đã mượn Bước 5: Xuất ra kết quả thống kê Bước 6: Đóng CSDL. Tỷ lệ những phiếu mượn trả quá hạn: Thuật toán: Bước 1: Người sử dụng chọn chức năng tính toán tỷ lệ những phiếu mượn trả quá hạn Bước 2: Chọn năm cần tính toán Bước 3: Mở kết nối CSDL ứng với năm truyền vào. Bước 4: Tính toán tỷ lệ những phiếu mượn trả quá hạn Bước 5: Xuất kết quả tính toán Bước 6: Đóng kết nối CSDL Thời gian trung bình mượn sách: Thuật toán: Bước 1: Người sử dụng chọn chức năng tính thời gian trung bình mượn sách của độc giả Bước 2: Chọn năm cần tính toán. Bước 3: Mở kết nối CSDL ứng với năm truyền vào. Bước 4: Tính toán thời gian trung bình mượn sách của một độc giả. Bước 5: Xuất kết quả tính toán Bước 6: Đóng kết nối CSDL Giờ bạn đọc mượn sách nhiều nhất: Thuật toán: Bước 1: Người sử dụng chọn chức năng thống kê giờ bạn đọc mượn sách nhiều nhất Bước 2: Chọn năm thống kê Bước 3: Mở kết nối CSDL ứng với năm truyền vào. Bước 4: Duyệt CSDL thống kê được giờ bạn đọc mượn sách nhiều nhất Bước 5: Xuất kết quả thống kê được Bước 6: Đóng kết nối CSDL. Đăng nhập: Thuật toán: Bước 1: Thủ thư chọn chức năng đăng nhập hệ thống Bước 2: Nhập các thông tin đăng nhập Bước 3: Mở kết nối CSDL Bước 4: Kiểm tra thông tin đăng nhập Bước 5: Nếu đăng nhập thành công, cho vào hệ thống Bước 6: Nếu đăng nhập thất bại, thông báo đăng nhập thất bại Bước 7: Đóng kết nối CSDL. Gia hạn thẻ: Thuật toán: Bước 1: Người sử dụng chọn chức năng gia hạn thẻ Bước 2: Nhập các thông tin gia hạn thẻ Bước 3: Mở kết nối CSDL Bước 4: Kiểm tra việc gia hạn thẻ Bước 5: Nếu gia hạn thành công, thông báo, cập nhật lại CSDL Bước 6: Nếu gia hạn không thành công, thông báo. Bước 7: Đóng kết nối CSDL. Sơ đồ lớp Sơ đồ lớp ở mức phân tích - vẽ sơ đồ: Danh sách các lớp đối tượng: STT TÊN LỚP Ý NGHĨA 1 Tựa sách Các đầu sách có cùng tựa gọi là tựa sách nếu chúng được dịch ra nhiều ngôn ngữ khác nhau. 2 Đầu sách Thủ thư gọi sách là đầu sách. 3 Cuốn sách Cuốn sách là các bản sao của đầu sách 4 Độc giả Người mượn sách 5 Quá trình mượn Bảng ghi nhận việc mượn trả sách của độc giả, chỉ được ghi khi độc giả trả sách. 6 Ngôn ngữ Là nhiều thứ tiếng khác nhau khi dịch 1 đầu sách thành các tựa sách khác nhau 7 Tác giả Người viết sách 8 Nhà xuất bản Nhà in sách 9 Thể loại 10 Đăng ký Độc giả mượn không có sách có thể đăng ký để khi nào cuốn sách được trả thì độc giả được ưu tiên cho mượn trước 11 Mượn Cho biết độc giả mượn sách nào vào ngày nào. Record này sẽ bị xoá khi độc giả này trả sách và dữ liệu này sẽ được ghi vào bảng quá trình mượn. 12 Người lớn Một loại độc giả 13 Trẻ em Một loại độc giả Mô tả từng lớp đối tượng: STT TÊN LỚP DANH SÁCH CÁC THÔNG TIN TRÁCH NHIỆM 1 Tựa sách Tựa sách Tác giả Năm xuất bản Nhà xuất bản Thể loại Tóm tắc Chứa các thong tin về sách (tựa,tác giả, năm xuất bản, nhà xuất bản, thể loại, tóm tắc) 2 Đầu sách Mã tựa sách Ngôn ngữ Bìa Trạng thái Mỗi đầu sách có một trạng thái cho biết sách đó đã được mượn hay chưa. 3 Cuốn sách Mã cuốn sách Tình trạng Một đầu sách được nhân thành nhiều cuốn khác nhau gọi là cuốn sách để có thể cho nhiều độc giả khác nhau mượn cùng một đầu sách.Tình trạng của sách cho biết sách đã được mượn hay chưa. 4 Độc giả Họ Tên lót Tên Người thực hiện chức năng đi mượn sách 5 Quá trình mượn Sách Độc giả Ngày mượn Ngày hết hạn Ngày trả Tiền phạt Tiền đã trả Tiền đặt cọc Ghi chú Lưu tất cả thông tin mượn sách của độc giả 6 Ngôn ngữ Tên ngôn ngữ 7 Tác giả Tên tác giả 8 Nhà xuất bản Tên nhà xuất bản 9 Thể loại Tên thể loại 10 Đăng ký Sách Độc giả Ngày đăng ký Ghi chú Nếu sách không còn trong thư viện, thì cho độc giả đăng ký nhằm độc giả muốn mượn trước sẽ được ưu tiên nếu cuốn sách đó được trả. 11 Mượn Sách Độc giả Ngày mượn Ngày hết hạn Chỉ là bảng lưu thông tin tạm thời khi độc giả mượn sách. Thông tin này sẽ xoá đi khi độc giả trả sách. 12 Người lớn Số nhà Đường Quận Điện thoại Hạn sử dụng Một người lớn có thể bảo lãnh tối đa 2 trẻ em. 13 Trẻ em Độc giả người lớn Ngày sinh Phần 3: THIẾT KẾ Thiết kế dữ liệu Sơ đồ logic Danh sách các bảng dữ liệu STT TÊN LỚP DANH SÁCH CÁC THÔNG TIN TRÁCH NHIỆM 1 Sach Ma_tuasach smallint khóa chính Isbn smallint khóa chính Ma_cuonsach smallint khóa chính Tuasach char(63) Tacgia char(10) khóa ngoại Tomtat char(100) Ngonngu char(10) khóa ngoại Theloai char (10) khóa ngoại Nxb char(10) khóa ngoại Bia char(10) khóa ngoại Trangthai char(1) Namxb char(4) -Xem nội dung của cuốn sách - 2 Docgia Ma_docgia char(10) khóa chính Ho char(15) Tenlot char(1) Ten char(15) Sonha char(15) Duong char(63) Quan char(2) Dienthoai char(13) Han_sd datetime Ngaysinh datetime Ma_dgnl char(10) khóa ngoại Loaidg char(10) khóa ngoại -Các đầu sách có cùng tựa phân biệt bởi bìa và ngôn ngữ -Cho biết sách có thể cho bạn đọc hay không. 3 Tacgia Ma_tacgia char(10) khóa chính Ten_tacgia char(50) -Là sách cho độc giả mượn -Cho biết sách có thể cho bạn đọc hay không 4 Nxb Ma_nxb char(10) khóa chính Ten_nxb char(50) -Người đọc và mượn sách ở thư viện 5 Ngonngu Ma_ngonngu char(10) khóa chính Ten_ngonngu char(50) -Cho biết ngày mượn và trả sách của độc giả -Cho biết tiền phạt nếu trả sách trể hạn 6 Theloai Ma_theloai char(10) khóa chính Ten_theloai char(50) 7 muon isbn smallint khóa chính ma_cuonsach smallint khóa chính ma_docgia char(10) khóa ngoại ngay_muon datetime ngay_hethan datetime -Cho biết tác giả của cuốn sách nào 8 Qtrinhmuon Isbn smallint khóa chính Ma_cuonsach smallint khóa chính Ma_docgia char(10) khóa ngoại Ngay_hethan datetime Ngay_tra datetime Tien_muon money Tien_datra money Tien_datcoc money Ghichu char(255) -Cho biết nhà xuất bản của cuốn sách nào 9 Dangky Isbn int khóa chính Ma_docgia char(10) khóa chính Ngay_dk datetime Ghichu char(255) -Một thể loại của sách 10 Dangnhap User char(20) khóa chính Pass char(8) -Một thể loại của sách 11 Thaydoiquydinh Soloaidg char(2) Tuoitoithieu char(2) Tuoitoida char(2) Thoihanthe char(2) Soloaitheloai char(2) Kcnamxuatban char(2) Sosachmuontoida char(2) Songaymuontoida char(2) -Một thể loại của sách 12 Bia Mabia char(10) khóa chính Tenbia char(20) -Một thể loại của sách 13 loaidg Maloai char(2) khóa chính Tenloai char(20) -Cho biết số loại độc giả của thư viện Thiết kế giao diện Màn hình chính : 10 3 2 1 9 8 7 6 5 4 0 Biến cố 0 : Khi màn hình sắp được hiển thị, chọn radio button thủ thư Biến cố 10 : Khi người dùng bấm nút đăng nhập, kiểm tra tên đăng nhập và mật khẩu có trùng hay không. Nếu không trùng thì thông báo Nếu trùng thì cho hiển các nút enable=true Biến cố 1: Khi người dùng chọn nút lập thẻ độc giả Mở form lập thẻ độc giả. Biến cố 2: Khi người dùng chọn nút lập phiếu mượn Mở form Lập phiếu mượn sách. Biến cố 3: Khi người dùng chọn nút tra cứu sách Mở form tra cứu sách. Biến cố 4: Khi người dùng chọn nút nhận trả sách Mở form trả sách Biến cố 5: Khi người dùng chọn nút thay đổi quy định Mở form thay đổi quy định Biến cố 6: Khi người dùngl chọn nút nhập sách mới Mở form nhập sách mới Biến cố 7: Khi người dùng chọn nút đăng ký giữ chỗ Mở form đăng ký giữ chỗ Biến cố 8: Khi người dùng chọn nút xin gia hạn Mở form xin gia hạn thẻ. Biến cố 9: Khi người dùng chọn nút thoát Thoát khỏi chương trình quản lý thư viện Màn hình lập thẻ độc giả: 7 5 4 3 2 1 0 Biến cố 0: Khi màn hình sắp được hiển thị Lấy ngày hiện hành gán vào textbox ngày lập thẻ Tính ngày hết hạn của thẻ dựa trên ngày lập thẻ và đưa vào textbox ngày hết hạn Enable = false các textbox ngày lập thẻ, ngày hết hạn, mã độc giả, mã đgnl Tự phát sinh mã độc giả tự động. Biến cố 1: Khi người dùng chọn nút lưu Kiểm tra các thông tin đã nhập đầy đủ chưa, nếu chưa thông báo lỗi Nếu đã nhập đủ thông tin thì ghi dữ liệu xuống CSDL Reset lại màn hình: cho các text box bằng rỗng. Biến cố 2: Khi người dùng chọn nút bỏ Reset lại màn hình: xóa các textbox Đưa con trỏ về textbox họ độc giả Biến cố 3: Khi người dùng chọn nút thoát Đóng form lại Biến cố 5: Khi người dùng nhập xong ngày sinh của độc giả và lostfocus thì chương trình tự động kiểm tra xem tuổi của độc giả có hợp lệ hay không Nếu không hợp lệ thì cho nhập lại Nếu hợp lệ thì kiểm tra xem độc giả là loại độc giả nào Nếu là độc giả trẻ em thì enable = true textbox mã đgnl Biến cố 6: Khi người dùng nhập mã độc giả người lớn và lostfocus thì chương trình tự động kiểm tra xem có tồn tại mã độc giả người lớn này hay không Nếu không có thì báo lỗi và nhập lại Biến cố 7: Khi người dùng nhập xong số điện thoại, kiểm tra có phải là số hay không Nếu không thì báo lỗi. Màn hình nhập sách mới: 9 8 5’ 4’ 3’ 2’ 1’ 10 7 6 5 4 3 2 1 0 Biến cố 0: Khi màn hình chuẩn bị hiển thị. Lấy dữ liệu đưa vào các combobox: nhà xuất bản, thể loại, ngôn ngữ, tác giả, bìa. Lấy ngày hiện hành đưa vào textbox ngày nhập. Biến cố 1: Khi người dùng chọn chọn nút Thêm NXB. Mở form Thêm nhà xuất bản. Biến cố 2: Khi người dùng chọn nút Thêm Thể loại Mở form Thêm thể loại Biến cố 3: Khi người dùng chọn nút Thêm Ngôn ngữ Mở form Thêm ngôn ngữ Biến cố 4: Khi người dùng chọn nút Thêm tác giả Mở form Thêm tác giả Biến cố 5: Khi người dùng chọn nút Thêm bìa Mở form Thêm màu bìa. Biến cố 6: Khi người dùng nhập vào năm xuất bản. Khi lostfocus thì chương trình sẽ kiểm tra xem năm nhập vào có thỏa quy định 3 hay không. Nếu không thỏa thì phải nhập lại. Biến cố 7: Người dùng có thể nhập hoặc chọn ngày lập thẻ. Biến cố 8: Khi người dùng chọn nút lưu. Nếu thông tin nhập chưa đầy đủ sẽ thông báo cho người dùng biết. Lưu kết quả xuống cơ sở dữ liệu nếu đã nhập đầy đủ. Reset lại màn hình: cho các textbox rỗng và các combobox rỗng. Biến cố 9: Reset lại màn hình: cho các textbox rỗng và các combobox rỗng. Biến cố 10: Đóng form lại. Biến cố 1’: Khi người dùng chọn tên nhà xuất bản có sẳn trong combobox. Màn hình mượn sách: 4 3 2 1 0 Biến cố 0: Khi màn hình sắp được hiển thị Lấy ngày hiện hành và gán vào textbox ngày mượn Lấy thông tin về sách đưa vào các combobox mã tựa sách, isbn, mã cuốn sách và các textbox tình trạng, tựa sách và lưới danh sách những sách mượn. Biến cố 1: Khi nhập mã độc giả vào textbox mã độc giả Kiểm tra mã độc giả có tồn tại hay không Nếu tồn tại thì hiển thị các thông tin của độc giả vào những textbox ở dưới đồng thời hiển thị thông tin những cuốn sách mà độc giả đã mượn Nếu không thì thông báo lỗi. Biến cố 2: Khi người dùng ch