ĐẠI HỌC BÁCH KHOA HÀ NỘI
Bài tập lớn môn
Kỹ Thuật Phần Mềm
Phát triển hệ thống quản lý thư viện cho
công ty X
- Hà Nội, 03/2012 -
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
Table of Contents
Trang 2
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
1. Giới thiệu đề tài
1.1. Tổng quan
Công ty trách nhiệm hữu hạn X có 1 thư viện dành cho nhân viên của họ, thư viện
này hiện đang được quản lý rất thủ công. Tất cả các thông tin, dữ liệu đều được
lưu trữ trên giấy tờ nên việc quản lý dữ liệu đang gặp khó khăn khi một nhân viên
nào đó đến mượn hoặc trả sách. Người quản thư sẽ phải liệt kê ra danh sách những
cuốn sách cùng với một số thông tin liên quan như tên tác giả, tiêu đề sách … Khi
một cuốn sách được mượn, người quản thư sẽ phải tìm kiếm cuốn sách đó, và khi
cho mượn, người quản thư sẽ phải lưu lại thông tin về cuốn sách được mượn lẫn
người mượn, cũng như ngày mượn sách, ngày trả sách … Đó là một công việc rất
nhàm chán và tốn thời gian, nên nhu cầu thay đổi phương thức quản lý sang một
hệ thống quản lý linh hoạt hơn, tiết kiệm thời gian và công sức hơn đang được đặt
ra rất cấp thiết.
1.2. Mục tiêu của đề tài
Đề tài này ra đời trong hoàn cảnh trên, với mục tiêu xây dựng một hệ thống phần
mềm giúp tự động hóa tối đa các giai đoạn và các nghiệp vụ quản lý thư viện,
nhằm khắc phục các hạn chế và các mặt yếu kém của hệ thống hiện tại.
Đề tài “Phát triển hệ thống quản lý thư viện cho công ty X” nhằm đạt được các
mục tiêu cụ thể sau:
• Chính xác: việc nhập dữ liệu về sách và nhân viên cần đảm bảo sự
• Tìm kiếm thông tin liên quan đến sách, nhân viên và người sử
dụng …
2. Người quản thư (Librarian) có thể thực hiện các việc:
• Tìm kiếm thông tin liên quan đến sách, nhân viên.
• Quản lý việc cho mượn và trả sách.
2.4. Môi trường phát triển
Phần cứng
Một hệ thống máy tính có cấu hình tối thiểu như sau sẽ đáp ứng được các chức
năng của chương trình:
• Pentium 166 hoặc tốt hơn.
• Ram 128 Mb hoặc tốt hơn.
Phần mềm
Hệ thống máy tính sẽ phải có các phần mềm sau để chương trình có thể hoạt
động được:
• Java Virtual Machine/ J2EE Server
• Notepad/ Java editor
• J2sdk1.4.1_02 (hoặc tốt hơn)
Trang 4
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
3. Phân tích hệ thống
3.1. Yêu cầu đặt ra
Quản lý sách
Các vấn đề cần lưu ý trong nghiệp vụ quản lý sách:
1. Các thông tin cần có khi lưu trữ thông tin về một cuốn sách mới:
• Số hiệu cuốn sách (Call Number)
• Mã số sách theo chuẩn quốc tế (ISBN)
• Tiêu đề cuốn sách (Title)
• Tên tác giả (Author Name)
2. Số hiệu cuốn sách phải tuân theo định dạng sau:
• (2 ký tự đầu của cuốn sách) – (2 ký tự đầu trong tên tác giả) –
có thể sử dụng phương pháp phân trang để xử lý.
Trang 5
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
Mượn, trả sách
Quá trình mượn và trả sách phải tuân theo các quy định sau:
1. Cho mượn sách
• Tìm kiếm cuốn sách cần cho mượn.
• Kiểm tra tình trạng của cuốn sách.
• Lưu lại thông tin về người mượn sách.
• Thời gian mượn sách là thời gian hiện tại của hệ thống.
• Thời gian trả sách là 5 ngày sau khi đã mượn sách.
2. Nhận sách
• Kiểm tra thông tin về cuốn sách.
• Thời gian trả sách được lưu giữ lại là thời gian hiện tại của hệ
thống.
• Nếu cuốn sách được trả không đúng thời hạn thì người mượn phải
nộp 1 khoản phí là 10 cents/ ngày.
3. Hiển thị thông tin chi tiết của cuốn sách
• Hệ thống sẽ hiển thị thông tin chi tiết của cuốn sách khi người
dùng chọn cuốn sách đó.
• Thông tin chi tiết bao gồm:
a.Số hiệu cuốn sách (Call Number)
b. Mã số sách theo chuẩn quốc tế (ISBN)
c.Tiêu đề cuốn sách (Title)
d. Tên tác giả (Author Name)
e.Tình trạng cuốn sách (Status)
Nếu cuốn sách được mượn:
f. Mã nhân viên (Employee ID)
g. Tên nhân viên (Name)
h. Thời gian mượn sách
Tác nhân sử dụng:
Người quản lý (Manager)
Dữ liệu đầu vào:
Cuốn sách mới
Dữ liệu đầu ra:
Cuốn sách sau khi đã cập nhật
Mô tả:
Chức năng quản lý sách thực chất là gồm 3 chức năng con:
• Thêm mới sách (Add Book): Người quản lý sẽ bổ sung thêm các cuốn sách
mà thư viện mới có.
• Xóa các cuốn sách (Delete Book): Người quản lý sẽ xóa bỏ những cuốn
sách không có, bị mất hoặc thông tin bị sai lệch trong thư viện.
• Cập nhật chi tiết cuốn sách (Update Book): Cho phép cập nhật lại các thông
tin của cuốn sách.
CHI TIẾT USE CASE
Use-case No. UC002 Phiên bản
Use-case
1.0
Tên Use-case Quản lý nhân viên (Manage Employee)
Tác nhân sử dụng:
Người quản lý (Manager)
Dữ liệu đầu vào:
Nhân viên mới
Dữ liệu đầu ra:
Trang 7
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
Nhân viên sau khi đã cập nhật
Mô tả:
Chức năng quản lý nhân viên thực chất là gồm 3 chức năng con:
• Thêm mới nhân viên (Add Employee): Người quản lý sẽ bổ sung thêm
Người quản lý (Manager)
Dữ liệu đầu vào:
Trang 8
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
Thông tin về tài khoản muốn tìm kiếm
Dữ liệu đầu ra:
Danh sách các tài khoản có thông tin liên quan
Mô tả:
• Việc tìm kiếm 1 tài khoản có thể tuân theo nhiều tiêu chuẩn như: Tên tài
khoản, Quyền của tài khoản …
CHI TIẾT USE CASE
Use-case No. UC005 Phiên bản
Use-case
1.0
Tên Use-case Tìm kiếm nhân viên (Search Employee)
Tác nhân sử dụng:
Người quản lý (Manager)
Dữ liệu đầu vào:
Thông tin về nhân viên muốn tìm kiếm
Dữ liệu đầu ra:
Danh sách các nhân viên có thông tin liên quan
Mô tả:
• Việc tìm kiếm 1 nhân viên có thể tuân theo nhiều tiêu chuẩn như: Mã nhân
viên, Tên nhân viên, Địa chỉ, Phòng ban …
CHI TIẾT USE CASE
Use-case No. UC006 Phiên bản
Use-case
1.0
Tên Use-case Tìm kiếm sách (Search Book)
Tác nhân sử dụng:
1.0
Tên Use-case Nhận sách (Check-in)
Tác nhân sử dụng:
Người quản thư (Librarian)
Dữ liệu đầu vào:
Thông tin về cuốn sách được trả
Dữ liệu đầu ra:
Mô tả:
Chức năng nhận sách thực chất là gồm 2 chức năng con:
• Tìm kiếm sách (Search Book): Người quản thư sẽ tìm kiếm cuốn sách mà
người mượn đến trả.
• Kiểm tra phí (Check Fee): Người quản thư sẽ kiểm tra hóa đơn xem cuốn
Trang 10
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
sách có được trả đúng thời hạn hay không, nếu không thì phải thu phí của
người mượn.
• Cập nhật hóa đơn (Update Order): Người quản thư sẽ cập nhật lại thông tin
của hóa đơn.
CHI TIẾT USE CASE
Use-case No. UC009 Phiên bản
Use-case
1.0
Tên Use-case Đăng nhập (Login)
Tác nhân sử dụng:
Người quản lý (Manager), Người quản thư (Librarian)
Dữ liệu đầu vào:
Tài khoản và mật khẩu đăng nhập
Dữ liệu đầu ra:
Mô tả:
• Người sử dụng sẽ đăng nhập vào hệ thống bằng cách sử dụng tài khoản
(2): là thông tin trao đổi giữa Manager (Người quản lý) và Library Management
System như các loại danh mục Book, Employee, Account.
3.3.3. Biểu đồ luông dữ liệu mức ngữ cảnh (mức 1)
Hình 3.2.3: Biểu đồ luồng dữ liệu mức 1
Trong đó các luồng dữ liệu:
(1): như mức 0.
(2): như mức 0.
(3): là thông tin Employee mà Librarian muốn tìm kiếm trong kho Employee.
Trang 12
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
(4): là thông tin Book mà Librarian muốn tìm kiếm trong kho Book.
(5): là thông tin Employee mà Manager muốn tìm kiếm trong kho Employee, đồng
thời cũng là thông tin mà Manager sẽ cập nhật vào kho Employee.
(6): là thông tin Book mà Manager muốn tìm kiếm trong kho Book, đồng thời cũng là
thông tin mà Manager sẽ cập nhật vào kho Book.
3.3.4. Biểu đồ luông dữ liệu mức ngữ cảnh (mức 2)
• Hệ thống thư viện
Hình 3.2.4(a): Biểu đồ luồng dữ liệu mức 2
Trong đó các luồng dữ liệu:
(1): là thông tin trao đổi giữa Librarian và Check-out như các loại danh mục Book,
Order hay Employee.
• (1a): là thông tin Order mà Librarian cập nhật kho Order.
• (1b): là thông tin Book mà Librarian muốn tìm kiếm trong kho Book.
• (1c): là thông tin Employee mà Librarian muốn tìm kiếm trong kho Employee.
(2): là thông tin trao đổi giữa Librarian và Check-in như các loại danh mục Book,
Order hay Employee.
• (2a): là thông tin Order mà Librarian muốn lấy ra để đối chiếu với Order của
người đến trả sách.
• (2b): tương tự (1b).
• (2c): tương tự (1c).
3.4. Mô hình thực thể và liên kết
3.4.1.Xác định các thực thể
Thông qua từ điển dữ liệu và các biểu đồ luồng dữ liệu, ta có thể xác định
được các thực thể sau:
TT Tên thực thể Tên sử dụng Các thuộc tính
1 Sách Book ISBN, Title, Author Name,
AuthorID…
2 Bản sao cuốn sách CopyBook CallNumber
3 Nhân viên Employee Employee ID, Name, Address,
Phone Number, …
4 Hóa đơn Order Order ID, Issue Date, Due Date,
Return Date, …
5 Tài khoản Account User ID, Password, …
6 Nhật ký Log Report ID, Report, …
3.4.2. Xác định các liên kết
• Liên kết 1:N giữa Sách và Bản Sao Cuốn Sách: Một cuốn sách có nhiều bản
sao
Hình 3.7.2.1: Mô hình liên kết 1:N giữa Sách và Bản Sao cuốn sách
• Liên kết N:N giữa Nhân Viên và Bản Sao Cuốn Sách: Một bản sao cuốn sách
được mượn nhiều lần bởi nhiều người, và 1 nhân viên có thể mượn được nhiều
cuốn sách.
Hình 3.7.2.2: Mô hình liên kết 1:N giữa Nhân viên và Hóa Đơn
• Liên kết 1:N giữa Tài Khoản và Nhật ký: Một tài khoản có nhiều nhật ký ghi
lại trong khoảng thời gian làm việc với ứng dụng.
Trang 16
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
Hình 3.7.2.4: Mô hình liên kết 1:N giữa Tài Khoản và Nhật ký
3.4.3. Các bảng thực thể
Bảng Book
Thuộc tính: ISBN, Title, Author Name, AuthorID
Return Date
• Xác định khóa K: (Order ID)
• Quan hệ đã ở dạng chuẩn 3
Bảng Account
Thuộc tính: User ID, Password
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
• Mỗi mã tài khoản đều ứng với mật khẩu của tài khoản
đó
User ID →
Password
• Xác định khóa K: (User ID)
• Quan hệ đã ở dạng chuẩn 3
Bảng Log
Thuộc tính: Report ID, Report
Ràng buộc và quy tắc nghiệp vụ Phụ thuộc hàm
• Mỗi mã nhật ký đều ứng với nội dung của nhật ký
Report ID →
Report
• Xác định khóa K: (Report ID)
• Quan hệ đã ở dạng chuẩn 3
Trang 18
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
3.4.4. Biểu đồ thực thể và liên kết
Hình 3.7.3: Biểu đồ thực thể và liên kết
Trang 19
ĐẠI HỌC BÁCH KHOA HÀ NỘI Báo cáo Project
4. Thiết kế hệ thống
4.1. Thiết kế cơ sở dữ liệu
Hình 4.2: Cấu trúc cơ sở dữ liệu
Trang 20