3. phân tích và thiết kế phân hệ mượn trả
3.2 Biểu đồ lớp tổng quát
Hình 2.3 Biểu đồ lớp tổng quát 3.3 Phân rã biểu đồ use case
+ biểu đồ tuần tự cho chức năng đăng nhập
Tham gia vào chức năng đăng nhập gồm có : thủ thư, form đăng nhập, đối tượng điều khiển Đăng nhập, đối tượng thủ thư. Thứ tự thực hiện các message là theo thứ tự từ trên xuống. Nhìn vào biểu đồ tuần tự này ta có thể thấy được thứ tự các hành động của một đối tượng trong chức năng đăng nhập
+ Biểu đồ lớp cho chức năng đăng nhập
Form Dang nhap dangnhap() doimatkhau() DK_dangnhap xacthucthuthu() getthongbaoLoi() thaydoiMatkhau() Thuthu Mathuthu : string Matkhau : string vaitro : string xacthucthuthu() thaydoiMatkhau() getvaitro()
Hình 2.28 Biểu đồ lớp chức năng đăng nhập 3.3.2 chức năng cập nhật
có thể phân rã thành 2 chức năng cập nhật tài liệu và cập nhật bạn đọc
* Chức năng cập nhật bạn đọc : Cap Nhat CN Tai Lieu CN Ban Doc <<extend>> <<extend>> Hình 2.4 Phân rã chức năng cập nhật
+ Biểu đồ use case Chức năng cập nhật bạn đọc có thể được phân rã thành các chức năng con như thêm bạn đọc, thay đổi thông tin bạn đọc, xóa bạn đọc
CN ban doc
update ban doc
xoa ban doc
<<extend>>
<<extend>>
Them ban doc
<<extend>>
Hình 2.5 Phân rã chức năng cập nhật bạn đọc
: thu thu
: thu thu : form cap nhat ban doc : form cap nhat ban doc : DK_capnhat : DK_capnhat : ban doc : ban doc 1: yeu cau cap nhat
2: hien thi danh muc cap nhat 3: nhap thong tin cap nhat
4: yeu cau cap nhat
5: kiem tra yeu cau cap nhat 6: tao truy van csdl
7: thuc hien cap nhat
8: thong bao ket qua 9: hien thi ket qua cap nhat
+ Biểu đồ lớp cho chức năng cập nhật bạn đọc
form cap nhat ban doc
them() sua() xoa()
hienthiketquacapnhat()
(from Logical View)
DK_cap nhat ketnoiSQL() getketqua() xulycapnhat() (from NewPackage) bandoc maBandoc : stringq tenBandoc : string diachi : string ngaysinh : string Email : string ngaydangky : string themBandoc() suaBandoc() xoaBandoc() (from NewPackage) Hình 2.7 Biểu đồ lớp chức năng cập nhật bạn đọc
* Chức năng cập nhật tài liệu
+Biểu đồ use case cho chức năng Cập nhật tài liệu
Có thể phân rã thành các chức năng con như thêm tài liệu, sửa thông tin tài liệu, xóa tài liệu
CN tai lieu
updatetai lieu
xoa tai lieu
<<extend>>
<<extend>>
Them tai lieu
<<extend>>
+ Biểu đồ tuần tự cho chức năng cập nhật tài liệu
: thu thu
: thu thu Form cap nhat tai lieuForm cap nhat tai lieu : DK_capnhat : DK_capnhat
: tai lieu : tai lieu 1: yeu cau cap nhat
2: hien thi danh muc cap nhat 3: nhap thong tin cap nhat
4: yeu cau cap nhat
5: kiem tra yeu cau cap nhat
6: tao truy van SQL
7: thuc hien cap nhat 8: xac nhan thong tin cap nhat 9: ket qua cap nhat
10: hien thi ket qua cap nhat
+ Biểu đồ lớp cho chức năng cập nhật tài liệu
form cap nhat tai lieu
them() sua() xoa()
hienthiketquacapnhat()
(from Logical View)
DK_cap nhat ketnoiSQL() getketqua() xulycapnhat() (from NewPackage) sach maSach : string tenSach : string tacgia : string phienban : string namxuatban : string sotrang : int ngaytao : date ngaycapnhat : date soluong : int getmaSach() gettenSach() themSach() suaSach() xoaSach()
(from Logical View)
Hinh 2.10 Biểu đồ lớp chức năng cập nhật tài liệu 3.3.3 Chức năng Tìm Kiếm
có thể phân rã thành các chức năng con như tìm kiếm theo tên tài liệu, tìm kiếm theo tên tác giả
+ Biểu đồ use case chức năng tìm kiếm
Tim Kiem
TK theo ten tai lieu
Tk theo ten tac gia
<<extend>>
<<extend>>
+ Biểu đồ tuần tự chức năng tìm kiếm
+ Biểu đồ lớp cho chức năng tìm kiếm - Chức năng tìm kiếm Sách Form TimKiemSach timkiem() hienthiKQTimKiem() DK_timkiem dstieuchiTK dsthuoctinhTK dsThaotac dsketquaTK dinhdangSQL() sulytukhoa() getketquaTK() timSach() setTieuchiTimkiem() Sach MaSach : string tenSach : string tacgia : string nhaXb : string phienban : string danhmuc : string namXB : date sotrang : int mota : string soluong : int ngaytao : date ngaycapnhat : date getMaSach() getTenSach() timkiem() themsach() capnhatsach() xoasach() getsachtheomuc() getsachtheongay()
Hình 2.13 Biểu đồ lớp chức năng tìm kiếm tài liệu
- Chức năng tìm kiếm Bạn đọc Form TimKiemBanDoc timkiem() hienthiKQTimKiem() DK_timkiem dstieuchiTK dsthuoctinhTK dsThaotac dsketquaTK dinhdangSQL() sulytukhoa() getketquaTK() timBandoc() setTieuchiTimkiem() Bandoc MaBandoc : string tenBandoc : string diachi : string ngaysinh : date lop : int khoa : string Email : string ngaycapnhat : date getMaBandoc() getTenBandoc() timkiem() thembandoc() capnhatbandoc() xoabandoc()
3.3.4 Chức năng thống kê
Có thể phân tách thành các chức năng con như thống kê thông tin bạn đọc, thống kê thông tin về tài liệu
- Thống kê thông tin bạn đọc : cho biết danh sách các bạn đọc đang mượn sách, các bạn đọc quá hạn chưa trả sách…
- Thống kê thông tin về tài liệu : cho biết danh mục các sách đang được mượn, danh mục sách đã được trả…
+ Biểu đồ use case chức năng thống kê
Thong Ke
Thong Ke Tai Lieu
Thong Ke Ban Doc
<<extend>>
<<extend>>
+ Biểu đồ tuần tự cho chức năng thống kê
- Thống kê thông tin sách
+ Biểu đồ lớp cho chức năng thống kê
Hình 2.18 Biểu đồ lớp cho chức năng thống kê sách 3.3.5 Chức năng Quản lý mượn trả
Có thể được phân rã thành hai chức năng con là Quản lý mượn sách và Quản lý trả sách
+ Biểu đồ use case chức năng mượn trả
Quan ly muon_tra
Quan ly muon sach
Quan ly tra sach
<<extend>>
<<extend>>
+ Biểu đồ tuần tự cho chức năng Mượn Trả
- Biểu đồ tuần tự cho chức năng mượn sách
- Biểu đồ tuần tự chức năng trả sách
+ Biểu đồ lớp cho chức năng mượn trả
- Biểu đồ lớp cho chức năng mượn sách
- Biểu đồ lớp cho chức năng trả sách
+ Biểu đồ trạng thái cho chức năng mượn trả
- Biểu đồ trạng thái cho chức năng mượn sách
Hình 2.24 Biểu đồ trạng thái chức năng mượn sách
- Biểu đồ trạng thái cho chức năng trả sách
+ biểu đồ hoạt động cho chức năng trả sách
Hình 2.26 Biểu đồ hoạt động chức năng mượn sách
4. Xây dựng biểu đồ thành phần
Hệ thống cần quản lý các thông tin liên quan đến Sách, Bạn đọc vì vậy sẽ có hai thành phần thực hiện công việc này (quản lý sách và quản lý bạn đọc) các thành phần này sẽ thao tác trên CSDL của hệ thống nên sẽ có thêm thành phần cài đặt CSDL. Ngoài ra hệ thống cũng cần các thành phần giao tiếp với người sử dụng gồm giao diện bạn đọc và giao diện thủ thư được cài đặt trên máy client
Hình 2.29 Biểu đồ thành phần
5. Thiết kế cơ sở dữ liệu
Trong mục 3 trong chương này đã phân tích khá chi tiết về hệ thống phân hệ mượn trả, trong mục này sẽ chỉ ra các bảng được sử dụng trong cơ sở dữ liệu của hệ thống mượn trả. Hệ quản trị cơ sở dữ liệu được sử dụng ở đây là SQL server 2000
5.1 Các bảng sử dụng trong chương trình
Bảng 2.6 Bảng Độc Giả
Name Data type Size Null Ghi chú
MSDG(key) Char 10 Mã số độc
giả
TENDG Nvarchar 50 Tên độc giả
DIACHI Nvarchar 100 Yes Địa chỉ
NGAYSINH Datetime 8 Yes Ngày sinh
EMAIL Varchar 50 Yes
GIOITINH Char 1 Yes Giới tính
HINHANHDG Varchar 50 Yes ảnh độc giả
Bảng 2.7 Bảng Sách
Name Datatype Size Null Ghi chú
MSSACH (key) Char 10 Mã số sách
TENSACH Nvarchar 1000 Tên sách
TACGIA Nvarchar 100 Tác giả
NAMXB Varchar 4 Yes Năm xuất
bản
LANXB Varchar 2 Yes Lần xuất
bản
SOLUONG Int 4 Số lượng
NOIDUNGTOMTAT Nvarchar 1000 Yes Nội dung tóm tắt
GHICHU Nvarchar 100 Yes Ghi chú
Bảng 2.8 Bảng Nhân Viên
Name Datatype Size Null Ghi chú
MSNV (key) Char 10 Mã số nhân
viên
MATMA Varchar 50 Mật mã
HOTENNV Nvarchar 50 Họ tên
DIACHI Nvarchar 100 Yes Địa chỉ
NGAYSINHNV Datetime 8 yes Ngày sinh
GIOITINHNV Char 1 yes Giới tính
DIENTHOAINV Varchar 15 yes Điện thoại
EMAIL Varchar 50 yes
NGAYVAOLAM Datetime 8 yes Ngày vào làm
HINHANHNV Varchar 50 yes Hình ảnh
GHICHU Nvarchar 100 yes Ghi chú
Bảng 2.9 Bảng nhà Xuất Bản
Name Data type Size Null Ghi chú
MSNHAXB
(key) Char 9 Mã số nhà xuất bản
TENNXB Nvarchar 100 Tên nhà
xuất bản
DIACHINXB Nvarchar 100 Yes Địa chỉ
WEBSITENXB Varchar 100 Yes Tên website
Bảng 2.10 Bảng Mượn Sách
Name Data type Size Null Ghi chú
MSDG (key) Char 10 Mã độc giả
MSNV (key) Char 10 yes Mã nhân
viên
NGAYMUON Datetime 8 Ngày mượn
GHICHU Nvarchar 100 Yes Ghi chú
Bảng 2.11 Bảng Trả Sách
Name Data type Size Null Ghi chú
MSSACH (key)
Char 10 Mã sách
MSNV
(key) Char 10 yes Mã nhân viên
NGAYTRA Datetime 8 Ngày trả
GHICHU Nvarchar 100 Yes Ghi chú
Bảng 2.12 Bảng Loại Sách
Name Data type Size Null Ghi chú
MALOAISACH
(key) Char 10 Mã loại sách
LOAISACH Nvarchar 100 Tên loại
sách
5.2 Sơ đồ dữ liệu quan hệ
Các thực thể trong hệ thống quan hệ với nhau tạo nên sơ đồ dữ liệu quan hệ
Chương III: Xây dựng chương trình
Trong chương này sẽ giới thiệu một số form được sử dụng trong chương trình, chương trình này được xây dựng dựa trên ngôn ngữ C# framework 2.0 và hệ quản trị cơ sở dữ liệu SQL server 2000
1. Form login
Hình 3.1 form đăng nhập 2. Form Độc Giả(Bạn Đọc)
3. Form Nhân viên( Thủ Thư)
4. Form Sách
5. Form Loại Sách
6.Form mượn sách
7. Form Trả Sách
8. Form Tìm Kiếm Độc Giả
9. Form Tìm Kiếm Sách
10. Form Tìm Kiếm Sách cho mượn
11. Form thống kê độc giả
Kết luận
Sau một thời gian tìm hiểu về thư viện điện tử em thấy rằng lĩnh vực thư viện là một lĩnh vực rất rộng, các chương trình quản lý thư viện phải bao gồm nhiều phân hệ tùy theo yêu cầu của từng thư viện cụ thể, trong phạm vi của báo cáo này em chỉ đi sâu vào phân tích phân hệ mượn trả, chương trình ứng dụng vào phân hệ này bao gồm quản lý các danh mục sách, danh mục nhân viên, danh mục nhà xuất bản, quản lý việc mượn và trả tài liệu, đưa ra được các báo cáo độc giả trễ hẹn, báo cáo độc giả mượn sách, báo cáo sách tồn…
Vì kiến thức còn hạn hẹp và do không được tiếp xúc với phần mềm quản lý
thư viện đã được sử dụng trong các thư viện nên phần mềm em xây dựng này còn rất đơn giản, chưa đáp ứng được các chuẩn trong thư viện
Tài liệu tham khảo
1. Phạm Hữu Khang, Kỷ thuật lập trình ứng dụng C#.net Toàn tập, Nhà xuất bản
Lao động – Xã hội, Hà Nội, 2002.
2. Dương Quang Thiện, .NET toàn tập, Nhà xuất bản tổng hợp TP.HCM, 2005
3. Các tài liệu ebook trên mạng internet như phân tích thiết kế hướng đối tượng, các giải pháp lập trình C#
4. Websitehttp://thuvien.net, website thư viện quốc gia Hà Nội www.nlv.gov.vn,
thư viện hà nộiwww.thuvienhanoi.org , thư viện Tạ Quang Bửu
Mục lục
Phần mở đầu...1
Lời cảm ơn...1
Nội dung của đồ án...2
2. Các chuẩn trong thư viện điện tử ...5
2.1 Khổ mẫu trao đổi ISO 2709...5
2.3 Khổ mẫu biên mục đọc máy MARC21, UNIMARC...6
2.4 Quy tắc biên mục Anh_Mỹ( AACR_Anglo American Cataloging Rules)...7
2.5 Công tác biên mục theo các tiêu chuẩn và quy tắc mô tả thư mục ISBD, TCVN 4743-89...9
2.6 Các khung phân loại khác nhau như DDC, UDC, PTB… ...9
3. Các phân hệ chính trong thư viện điện tử...12
3.2 Phân hệ bổ sung...13
3.3 Phân hệ biên mục...14
3.4 Phân hệ ấn phẩm định kỳ...14
3.5 Phân hệ bạn đọc...14
3.6 Phân hệ mượn trả...14
3.7 Phân hệ mượn liên thư viện (ILL)...15
3.8 Phân hệ phát hành...16
3.9 Phân hệ ấn phẩm điện tử...16
3.10 Phân hệ quản lý...17
3.11 Sơ đồ xử lý tài liệu trong một thư viện điện tử ...17
Chương II : Phân tích thiết kế phân hệ mượn trả trong thư viện điện tử...18
1. Giới thiệu hệ thống...18
1.1 Giới thiệu nghiệp vụ mượn trả trong thư viện điện tử ...18
1.2 Yêu cầu hệ thống...19
2. Các bước phân tích và thiết kế hệ thống theo hướng đối tượng...20
2.1 Xây dựng biểu đồ use case...20
2.2 Xây dựng biểu đồ lớp...22
2.3 Xây dựng biểu đồ trạng thái...23
2.4 Xây dựng biểu đồ tuần tự...24
2.5 Xây dựng biểu đồ hoạt động...26
2.6 Xây dựng biểu đồ thành phần...26
3. phân tích và thiết kế phân hệ mượn trả...26
3.1 Biểu đồ use case tổng quát...26
3.2 Biểu đồ lớp tổng quát...28
3.3 Phân rã biểu đồ use case...28
5.1 Các bảng sử dụng trong chương trình ...51
Chương III: Xây dựng chương trình...55
1. Form login...55
2. Form Độc Giả(Bạn Đọc)...55
3. Form Nhân viên( Thủ Thư)...56
4. Form Sách...57
5. Form Loại Sách...58
8. Form Tìm Kiếm Độc Giả...61
9. Form Tìm Kiếm Sách...62
10. Form Tìm Kiếm Sách cho mượn...63