phân tích hệ thống quản lý thư viện
Trang 1LỜI NÓI ĐẦU
Phương pháp luận phát triển các hệ thống thông tin luôn là một trong những chủ đề quan trọng nhất của công nghệ thông tin Trải qua một giai đoạn tiến hoá lâu dài, phát triển theo cách tiếp cận hướng đối tượng đã dần dần chiếm
ưu thế và ngày càng trở nên phổ biến và đã được chuẩn hoá trong công nghiệp phần mềm
Cùng với sự ra đời của ngôn ngữ mô hình hoá thống nhất UML và nhiều công
cụ hỗ trợ như RedKoda, Rational Rose, AgroUML…phương pháp luận phát triển phần mềm hướng đối tượng đã được áp dụng rộng rãi trong công nghiệp phần mềm trên khắp thế giới Ngôn ngữ UML hiện thời vẫn đang được phát triển để đáp ứng cho nhiều yêu cầu và nhiều dạng hệ thống khác nhau như hệ phân tán, hệ nhúng…
Trong nội dung môn học phân tích thiết kế hệ thống thông tin, để hiểu rõ hơn các khái niệm cơ bản của hướng đối tượng và UML được học trên lớp, chúng
em tìm hiểu cách sử dụng phần mềm Rational Rose và sử dụng phần mềm này để phân tích thiết kế “hệ thống quản lý thư viện”
Nội dung bản báo cáo gồm các phần sau:
- Phát biểu bài toán: Nêu ra vấn đề cần giải quyết
- Khảo sát nghiệp vụ: Trình bày các hoạt động nghiệp vụ thư viện và xác
định yêu cầu của hệ thống
- Phân tích hệ thống: Trình bày các bước phân tích hệ thống theo các
biểu đồ UML bao gồm: Xây dựng mô hình use case, xây dựng mô hình lớp và biểu đồ trạng thái
- Thiết kế hệ thống: Trình bày các bước thiết kế hệ thống bao gồm: Xây
dựng các biểu đồ tương tác, biểu đồ lớp chi tiết, thiết kế chi tiết và xây
dựng biểu đồ triển khai hệ thống
Báo cáo này nhằm trình bày các hiểu biết về công cụ Rational Rose và tiến hành phân tích thiết kế một hệ thống cụ thể để minh họa Do những hiểu biết
có hạn về công cụ cũng như nghiệp vụ thư viện nên báo cáo có nhiều thiếu sót Rất mong sự đóng góp ý kiến của thày, cô và các bạn
Trang 2NỘI DUNG
Một thư viện cần ứng dụng công nghệ thông tin vào để quản lý mọi thông tin
về thư viện Nếu như trước đây các thủ thư cần một đống sổ sách để quản lý thư viện, một công việc hết sức nhàm chán và dễ có những sai sót Các thao tác tìm kiếm hay tính toán đều thủ công, tốn rất nhiều thời gian và công sức Bài
toán đặt ra là xây dựng một hệ thống quản lý thư viện hỗ trợ những người quản
lý thư viện và bạn đọc Có thể hỗ trợ để làm các công việc như quản lý sách,
quản lý bạn đọc, tìm kiếm thông tin, tính toán … được nhanh chóng thuận tiện
2.1 Hoạt động nghiệp vụ thư viện
Theo nghiệp vụ quản lý thư viện thông thường, hoạt động thư viện của một trường đại học có thể được tóm tắt như sau:
- Thư viện làm các phích sách gồm các thông tin: mã số sách, tên tác giả, tên sách, nhà xuất bản, năm xuất bản, số trang, tóm tắt nội dung, số bản Các phích sách có thể được phân theo chuyên ngành hoặc loại tài liệu
- Mỗi Bạn đọc được cấp một thẻ thư viện gồm các thông tin: tên, tuổi, địa chỉ, lớp, chuyên ngành Bạn đọc muốn mượn sách thì tra cứu phích sách rồi ghi vào phiếu mượn
- Sau khi kiểm tra đầy đủ thông tin trên phiếu mượn, thủ thư kiểm tra điều kiện mượn của Bạn đọc và xác nhận cho phép mượn sách Một số thông tin trong phiếu mượn được lưu lại để quản lý, phiếu mượn sẽ được gài vào chỗ sách được lấy đi, sách được giao cho Bạn đọc
- Khi Bạn đọc trả sách: Từ thể Bạn đọc, xác đinh phiếu mượn, việc trả sách được ghi nhận vào dòng ngày trả và tình trạng Phiếu mượn được lưu lại
để quản lý và theo dõi
- Bạn đọc trả muộn hơn ngày hẹn trả sẽ bị phạt
2.2 Yêu cầu hệ thống
Trang 3Hệ thống quản lý thư viện được xây dựng nhằm mục đích giải quyết các yêu cầu sau:
1 Giúp Bạn đọc tra cứu sách theo chuyên ngành, theo chủ đề, theo tên sách, theo tên tác giả, … trên các máy tính trạm
2 Cung cấp cho thủ thư các thông tin về các đầu sách một Bạn đọc đang mượn và hạn phải trả; và các cuốn sách còn đang được mượn
3 Thống kê hàng tháng số sách cho mượn theo các chủ đề, tác giả … Thống
kê các đầu sách không có người mượn trên 1 năm, 2 năm, 3 năm
4 Hỗ trợ thủ thư cập nhật thông tin sách, xác nhận cho mượn sách và nhận lại sách khi Bạn đọc trả sách
5 Hỗ trợ quản lý các thông tin về Bạn đọc dựa trên thẻ thư viện, thông tin thẻ mượn
6 Hỗ trợ chức năng quản trị chung hệ thống (admin) trong đó người quản trị chung có thể thay đổi thông tin hoặc thêm bớt các thủ thư
Các yêu cầu phi chức năng:
1 Hệ thống triển khai theo dạng Website trên hệ thống mạng nội bộ của trường
2 Bạn đọc có thể tra cứu thông tin sách trên môi trường mạng Tuy nhiên việc mượn và trả sách phải thực hiện trực tiếp trên Thư viện Thủ thư sử dụng hệ thống để cập nhật và quản lý quá trình mượn trả sách
3 Thông tin thống kê phải đảm bảo tính chính xác, khách quan Các hình thức phạt với các Bạn đọc quá hạn sẽ được lưu lại và thông báo cho Bạn đọc biết
3.1 Xây dựng biểu đồ use case
3.1.1 Biểu đồ use-case tổng quát
Dựa vào những thông tin khảo sát, ta xác định được các thành phần trong lược
đồ Use Case :
- Tác nhân (Actor) : Thủ thư, Bạn đọc
- Use Case : Đăng nhập, Cập nhật, Tìm kiếm, Quản lý mượn – trả sách,
Thống kê, Thống Kê bạn đọc, sách mượn
Trang 4Người thủ thư chỉ có thể quản lý mượn trả, cập nhật hay thống kê sau khi đăng nhập vào hệ thống Độc giả chỉ được sử dụng chức năng tìm kiếm của hệ thống
và không cần đăng nhập vào hệ thống Trong hệ thống, use – case tìm kiếm được sử dụng trong các use – case cập nhật, quản lý mượn trả, thống kê
Hình 1: Biểu đồ use-case tổng quát
3.1.2 Phân rã biểu đồ use-case
Có hai đối tượng cần cập nhật là bạn đọc và sách Một use – case cập nhật có thể là cập nhật bạn đọc hoặc cập nhật sách Các thao tác cập nhật là: Thêm, sửa, xóa Phân rã đến khi gặp nút lá ta được 3 biểu đồ sau
(from HeT hong_T VDT )
<<include>>
<<include>>
<<include>>
Trang 5Hình 2: Phân rã use – case cập nhật
Hình 3: Phân rã use – case cập nhật bạn đọc
Trang 6Hình 4: Phân rã use – case cập nhật tài liệu
Use case quản lý mượn – trả sách được thực hiện bởi thủ thư và có thể được phân rã thành hai use case nhỏ là Quản lý mượn và Quản lý trả
Hình 5: Phân rã use – case quản lý mượn trả sách
Them_Tai_Lieu
Xoa_Tai_Lieu
Thay_Doi_Thong_Tin_Tai_Lieu CapNhat_Tai_Lieu
<<extend>>
<<extend>>
Trang 7 Phân rã use – case thống kê
Use case thống kê có thể được phân rã thành hai use case nhỏ hơn là:
- 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 mượn sách quá hạn
- Thống kê thông tin sách mượn: cho biết danh mục các cuốn sách đang được mượn, các cuốn sách lâu ngày không có ai mượn …
Hình 6: Phân rã chức năng thống kê
3.1.3 Biểu đồ use – case chi tiết
Từ biểu đồ use – case tổng quát và các biểu đồ phân rã, sử dụng chức năng của rational rose ta thu được biểu đồ use – case chi tiết như dưới đây
ThongKe_Thong_Tin_Ban_Doc
ThongKe_Thong_Tin_Sach_Muon ThongKe
<<extend>>
<<extend>>
Trang 8Hình 7: Biểu đồ use – case chi tiết
3.1.4 Mô tả biểu đồ usecase
Hệ thống yêu cầu nhập username và password
Người dùng nhập vào username+password đăng nhập
(from HeT hong_T VDT )
Trang 9 Hệ thống kiểm tra thông tin username và password Nếu sai thì thực hiện E-1, E-2
Kịch bản phụ:
Ngoại lệ:
E-1: người dùng nhập vào username không có trong csdl, hoặc username đúng nhưng password sai hệ thống sẽ báo đăng nhập không thành công và yêu cầu đăng nhập lại
E-2: Nếu độc giả mất password thì xin cập lại password mới thư viện
Nhập thông tin cần tra cứu
Hệ thống hiển thị các kết quả tìm được
Người dùng mở màn hình cho mượn sách
Kiểm tra độc giả có thẻ thư viện hợp lệ không Nếu không thực hiện E-2
Trang 10 Kiểm tra sách mà độc giả mượn có trong hệ thống không Nếu không thực hiện E-3
Cập nhật thông tin độc giả và sách mượn
Trang 11 Người dùng mở màn hình cập nhật
Cập nhật bạn đọc: Nếu có thay đổi bạn đọc ( thêm/xóa/ thay đổi thông tin) thì người dùng thực hiện cập nhật lại danh sách bạn đọc
Cập nhật tài liệu: Nếu có thay đổi tài liệu (thêm/bớt/chỉnh sửa thông tin) thì người dùng thực hiện cập nhật lại danh sách tài liệu
E-5: Thông báo là người dùng đã tồn tại, có tùy chọn
để người dùng quay lại nhập tên khác
E-6: Thông báo là người dùng chưa tồn tại, có tùy chọn để người dùng quay lại nhập tên khác
Trang 12 Kịch bản chính:
Người dùng mở màn hình cập nhật tài liệu
Người dùng thực hiện thao tác thêm/ xóa/ sửa thông tin tài liệu
Nếu thêm tài liệu mà tên tài liệu đã tồn tại thì thực hiện E-7
Nếu xóa tài liệu mà tên tài liệu không tồn tại thì thực hiện E-8
Kịch bản phụ:
Ngoại lệ:
E-7: Thông báo cho người dùng là tên tài liệu đã tồn tại, có tùy chọn yêu cầu nhập tên khác hoặc sửa lại thông tin của tài liệu
E-8: Thông báo cho người dùng là tên tài liệu không tồn tại, có tùy chọn yêu cầu nhập tên khác
3.2 Xây dựng biểu đồ lớp phân tích
Từ khảo sát bài toán kết hợp các biểu đồ use – case ta xác định được các đối tượng sau: thủ thư, bạn đọc, người, sách, thẻ mượn Các phương thức và thuộc tính ban đầu ta xác định như hình dưới đây
Trang 13Hình 8: Biểu đồ lớp phân tích
3.3 Biểu đồ trạng thái
Dưới đây là biểu đồ trạng thái chức năng mượn và trả sách
Trang 14Hình 9: Biểu đồ trạng thái chức năng mượn sách
Hình 10: Biểu đồ trạng thái chức năng trả sách
Da co sach
Cho - Trong mot khoang thoi gian Khoi Tao
Du sach
Het thoi gian cho Kiem tra sach
Muon - Du sach de muon
Muon - Khong du sach de muon
Xoa sach - Huy sach
Co sach dang muon
Khong co sach
Xoa sach - Huy sach Nhap thong tin tra sach
Nhan sach tra
Trang 15phần cần bổ sung trong biểu đồ lớp, trong mỗi biểu đồ tuần tự của hệ thống quản lý thư viện sẽ thực hiện:
Xác định rõ kiểu của đối tượng tham gia trong tương tác (ví dụ giao diện, điều khiển hay thực thể)
Mỗi biểu đồ tuần tự có thể có ít nhất một lớp giao diện (Form) tương ứng với chức năng (use case) mà biểu đồ đó mô tả
Mỗi biểu đồ tuần tự có thể liên quan đến một hoặc nhiều đối tượng thực thể
Các đối tượng thực thể chính là các đối tượng của các lớp đã được xây dựng trong biểu đồ thiết kế chi tiết
Dưới đây là một số biểu đồ tuần tự cho các chức năng của hệ thống:
Trang 164.1.1 Biểu đồ tuần tự chức năng đăng nhập
Hình 11: Biểu đồ tuần tự chức năng đăng nhập
Nhap Username va PassWord
Kiem tra User
Xac thuc thanh cong Thong bao dang nhap thanh cong
Chon thay doi PassWord
Hien chuc nang doi PassWord
Nhap va xac nhan PassWord moi
Thay doi PassWord
Xac nhan thay doi thanh cong
Thong bao thay doi thanh cong
Kiem tra Xac thuc thanh cong
Thay doi PassWord
Xac nhan thay doi thanh cong
Trang 174.1.2 Biểu đồ tuần tự chức năng tìm kiếm
Hình 12: Biểu đồ tuần tự chức năng tìm kiếm
Chon chuc nang tim kiem
Hien danh muc chuc nang tim kiem
Nhap dieu kien tim kiem
Yeu cau tim kiem
Xu ly tu khoa tim kiem
Tao cau truy van SQL
Thuc hien tim kiem
Tra ve ket qua tim kiem
Thong bao ket qua
Hien thi ket qua tim kiem
Hien thi ket qua tim kiem
Trang 184.1.3 Biểu đồ tuần tự chức năng quản lý mượn sách
Hình 12: Biểu đồ tuần tự chức năng quản lý mượn sách
Xac thuc ban doc
Xac thuc ban doc Xac thuc thanh cong
Xac thuc thong tin sach Xac thuc thong tin sach
Xac nhan con sach trong thu vien Xac nhan con sach trong thu vien
Tao the muon moi
Tao the muon moi Hien thi the muon
Tra the muon Tra the muon va sach
Trang 194.1.4 Biểu đồ tuần tự chức năng quản lý trả sách
Hình 13: Biểu đồ tuần tự chức năng quản lý trả sách
: DocGia : ThuThu : FormTraSach : DK_MuonSach : BanDoc : TheMuon Gui thong tin the muon
Nhap thong tin
Yeu cau xac nhan thong tin
Xac nhan ban doc Xac nhan thanh cong Xac nhan thong tin Sach trong the muon
Xac nhan dung Xac nhan dung
Xac nhan dung Yeu cau tra sach
Xac nhan da tra sach
Cap nhat thong tin tra (da tra)
Trang 204.1.5 Biểu đồ tuần tự chức năng thống kê sách
Hình 14: Biểu đồ tuần tự chức năng thống kê thông tin sách
: ThuThu : FormThongKeSach : DK_ThongKeSach : FormKetQuaThongKeSach : TheMuon : Sach
Chon thong ke sach
Hien thi danh muc chuc nang thong ke sach
Chon thong ke sach muon theo the muon
Yeu cau thong ke sach muon theo the muon
Truy van thong tin sach muon theo the muon
Hien thi danh muc sach muon theo the muon Thong bao ket qua thong ke
Chon thong ke sach muon theo nhom sach
Yeu cau thong ke theo nhom sach
Truy van thong tin theo nhom sach Yeu cau hien thi danh muc theo ten sach
Hien thi sach theo nhom sach
Thong bao ket qua thong ke
Trang 214.1.6 Biểu đồ tuần tự chức năng thống kê thông tin bạn đọc
Hình 15: Biểu đồ tuần tự chức năng thống kê thông tin bạn đọc
4.2 Biểu đồ lớp chi tiết
Dựa trên biểu đồ lớp trong pha phân tích và các biểu đồ trạng thái, biểu đồ
tuần tự, biểu đồ lớp thiết kế được xây dựng như trong hình 8 Biểu đồ lớp thiết
kế bổ sung nhiều thuộc tính và phương thức so với biểu đồ lớp phân tích
Chon chuc nang thong ke ban doc
Hien thi form thong ke ban doc
Chon thong ke danh sach ban doc
Yeu cau dua ra danh sach ban doc
Truy van danh sach ban doc
Tra danh sach truy van
Hien thi danh sach ban doc
Hien thi danh sach ban doc
Chon thong ke danh sach ban doc qua han
Yeu cau thong tin ban doc qua han
Truy van thong tin ban doc qua han
Tra danh sach ban doc qua han
Tra danh sach ban doc qua han
Thong bao ket qua
Trang 22Hình 16: Biểu đồ lớp thiết kế
Trang 23Các biểu lớp cho từng chức năng
Dưới đây là thiết kế lớp cho từng chức năng Với mỗi chức năng, pha thiết kế
sẽ xác định:
- Các lớp giao diện tương ứng
- Lớp điều khiển
- Lớp thực thể
- Các mối quan hệ giữa các lớp trên trong chức năng đó
Hình 17: Biểu đồ lớp chức năng đăng nhập
Trang 24Hình 18: Biểu đồ lớp chức năng quản lý mượn sách
Trang 25Hình 19: Biểu đồ lớp chức năng quản lý trả sách
Hình 20: Biểu đồ lớp chức năng thống kê thông tin bạn đọc
Trang 26Hình 21: Biểu đồ lớp chức năng thống kê sách
Trang 27Hình 22: Biểu đồ lớp chức năng tìm kiếm
4.3 Biểu đồ hoạt động
Dưới đây là một số biểu đồ hoạt động của các use – case tương ứng Do các
chức năng đã khá rõ ràng nên chỉ trình bày ba sơ đồ làm ví dụ Các sơ đồ còn
lại nằm trong file nguồn
Trang 28Hình 23: Biểu đồ hoạt động chức năng mượn sách
Nhan thong tinsach muon
Kiem tra so luong sach
ban doc da muon
Kiem tra so luong sach con lai
Xac nhan cho muon
In phieu muon
Yeu cau nhap lai
Xac nhan dung
Yeu cau nhap lai
Xac nhan dung
Xac nhan quyen muon sach
Het quyen muon sach
Xac nhan du sach
Khong co hoac khong du sach
Trang 29Hình 24: Biểu đồ hoạt động chức năng đăng nhập
Hình 25: Biểu đồ hoạt động chức năng cập nhật
Nhap username, password
Dang nhap vao he thong Gia tri khop
Sai pass hoac username
Giao dien cap nhat
Xac nhan Huy
Trang 304.4 Biểu đồ thành phần
Ánh xạ các lớp thành các thành phần cùng tên Đồng thời đóng gói thành 3 gói: Giao diện, điều khiển, thực thể Trong mỗi thực thể đều chứa thành phần giao diện hoặc điều khiển Vì phải lưu trữ thông tin bạn đọc cũng như thông tin sách nên cần có thêm thành phần CSDL Biểu đồ thành phần được mô tả như dưới đây
Hình 25: Biểu đồ thành phần
4.5 Biểu đồ triển khai hệ thống
Hệ thống được triển khai dưới dạng Website và cài đặt khác nhau trên các máy Client cho thủ thư và cho Bạn đọc Biểu đồ triển khai hệ thống được mô tả đơn giản như dưới đây:
Hình 26: Biểu đồ triển khai hệ thống
return
May Ban Doc TCP/IP
TCP/IP