Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 22

Họ và tên: Lê Hưng Hà

Lớp: D10ATTTM

HỆ QUẢN LÝ THƯ VIỆN


Mục lục
Chương 1 : Pha yêu cầu
1.Danh sách actor
2. Glossary
3. Danh sách usecase:
4. Usecase tổng quát
5. Phân rã usecase:
5.1. Sơ đồ UseCase chi tiết cho UseCase "Manage Borrowers"
5.2. Sơ đồ UseCase chi tiết cho UseCase "Manage Items"
5.3. Sơ đồ UseCase chi tiết cho UseCase "Manage Titles"
5.4. Sơ đồ UseCase chi tiết cho UseCase "Assume Identity of Borrower"
5.5. Sơ đồ UseCase chi tiết cho UseCase "Manage Librerians"
5.6. Sơ đồ UseCase chi tiết cho UseCase "Remove Reservation"
5.7. Sơ đồ UseCase chi tiết cho UseCase "Make Reservation"
5.8. Sơ đồ UseCase chi tiết cho UseCase "Check-out Item"
5.9. Sơ đồ UseCase chi tiết cho UseCase " Search"
6. Xây dựng Scenario (kịch bản):
6.1. Scenario cho UseCase Add Items :
6.2. Scenario cho UseCase Delete Borrower :
6.3. Scenario cho UseCase Check-out Item:
6.4. Scenario cho UseCase Edit Item
6.5. Scenario cho UseCase Make Reservation:
Chương 2. Pha Phân tích:
I. Phân tích tĩnh
1.Xác định lớp dựa trên usecase và scenario:
2.Mối quan hệ giữa các lớp ( lớp thực thể):
3. Xác định thuộc tính cho các lớp thực thể:
II.Phân tích động:
1. Xác định phương thức cho các lớp
1.1. Lớp Borrower:
1.2. Lớp Librarian:
1.3. Lớp MasterLibrarian
1.4. Lớp Item:
1.5. Lớp ManageItem:
1.6. Lớp ManageBorrower
1.7. Lớp ManageTitle:
1.8. Lớp ManageLibrarian :
2. Hiện thực hóa UseCase - Sơ đồ giao tiếp :
2.1. Sơ đồ giao tiếp cho UseCase Add Items :
2.2. Sơ đồ giao tiếp cho UseCase Delete Borrower :
2.3. Sơ đồ giao tiếp cho UseCase Check-out Item:
2.4. Sơ đồ giao tiếp cho UseCase Edit Item:
2.5. Sơ đồ giao tiếp cho UseCase Make Reservation:
3. Sơ đồ hoạt động :
3.1. Sơ đồ hoạt động cho UseCase Add Items
3.2. Sơ đồ hoạt động cho UseCase Delete Borrower
3.3. Sơ đồ hoạt động cho UseCase Check-out Item
3.4. Sơ đồ hoạt động cho UseCase Edit Item
3.5. Sơ đồ hoạt động cho UseCase Make Reservation
4. Thiết kế giao diện
Chương 3: Thiết kế kiến trúc
1. Chọn cấu trúc hệ thống
2. Lựa chọn công nghệ
2.1. Giao thức tầng Client và tầng giữa
2.2. Các giao thức lớp ứng dụng
3. Thiết kế chính sách đồng thời và bảo mật.
3.1. Concurrency policy
3.2. Security policy
4. Phân rã hệ thống thành các hệ thống con, các tầng
Chương 1.Pha yêu cầu
1. Danh sách actor:

-Borrower: bạn đọc, là những người thực hiện việc mượn sách và trả sách tại
thư viện.

-Librarian: thủ thư, là người trực tiếp quản lí việc cho bạn đọc mượn và trả
sách, quản lí thong tin bạn đọc, quản lí sách.

-MasterLibrarian: là người quản lí có quyền cao nhất, quản lí nhân viên trong
thư viện.

2. Glossary:

-Title ( mục sách ): dùng để phân loại sách vào các nhóm khác nhau, dung khi tìm
kiếm các cuốn sách cùng lien quan tới 1 vấn đề nào đó.

-Item ( sách ): là vật làm chủ yếu từ giấy, lưu lại rất nhiều thong tin bổ ích, dung để tra
cứu, học tập,…

- BorrowedCard (phiếu mượn) : Người đọc điền thong tin sách cần mượn vào phiếu
mượn như: tên sách, tác giả, mã sách để đưa cho thủ thư, để thực hiện mượn sách
tương ứng.

3. Danh sách usecase:

U1: Regist Member: Bạn đọc, thủ thư sử dụng chức năng để đăng kí, từ đó có thể truy
cập vào hệ thống để thực hiện quản lí, mượn sách.

U2:Login: Trước khi sử dụng các chức năng của hệ thống, người sử dụng phải đăng
nhập vào hệ thống.

U3: Search Item: người sử dụng sau khi đăng nhập, có thể tìm kiếm sách theo những
thông tin đã biết, hệ thống sẽ hiển thị những thông tin liên quan đến cuốn sách cần
tìm.

U4: Search Borrower: người sử dụng sau khi đăng nhập, có thể tìm kiếm bạn đọc theo
những thông tin đã biết, hệ thống sẽ hiển thị những thông tin liên quan đến bạn đọc.

U5: Search Title: người sử dụng sau khi đăng nhập, có thể tìm kiếm sách theo những
thông tin đã biết, hệ thống sẽ hiển thị những thông tin liên quan đến đề mục sách cần
tìm.

U6: Browse: người sử dụng sau khi đăng nhập, có thể xem danh sách sách có trong
thư viện đã mượn, chưa mượn, đã đặt trước.
U7:Mannage Borrower: Thủ thư sau khi đăng nhập có thể nhập thêm, sửa đổi, xoá
thông tin của 1 Bạn đọc.

U8:Manage Librarian: Người quản lí sau khi đăng nhập có thể Thêm mới, sửa đồi,
xoá 1 Librarian.

U9:Manage Item: Thủ thư sau khi đăng nhập có thể Thêm, sửa, xoá thong tin 1 cuốn
sách.

U10:Manage Titles: Thủ thư sau khi đăng nhập có thể Thêm, sửa, xoá thong tin 1 title.

U11: Checkout Item: Bạn đọc sau khi đăng nhập có thể thực hiện mượn sách.

U12: Make Reservation: Bạn đọc sau khi đăng nhập có thể thực hiện đặt mượn sách từ
xa tới các thư viện lien kết bên ngoài.

U13:Remove Reservation: Bạn đọc sau khi đăng nhập, khi đã đặt mượn sách rồi
nhưng không có nhu cầu mượn nữa, có thể huỷ sách mà mình đã đặt trước đó.

U14:Return Item: Bạn đọc sau khi đăng nhập, có thể thực hiện việc trả sách với thủ
thư.

7. Usecase tổng quát:

8. Phân rã usecase:

5.1. Sơ đồ UseCase chi tiết cho UseCase "Manage Borrowers" :


5.2. Sơ đồ UseCase chi tiết cho UseCase "Manage Items"

5.3. Sơ đồ UseCase chi tiết cho UseCase "Manage Titles" :

5.4. Sơ đồ UseCase chi tiết cho UseCase "Assume Identity of Borrower" :


5.5. Sơ đồ UseCase chi tiết cho UseCase "Manage Librerians" :

5.6. Sơ đồ UseCase chi tiết cho UseCase "Remove Reservation" :

5.7. Sơ đồ UseCase chi tiết cho UseCase "Make Reservation" :


5.8. Sơ đồ UseCase chi tiết cho UseCase "Check-out Item" :

5.9. Sơ đồ UseCase chi tiết cho UseCase " Search" :

9. Xây dựng Scenario (kịch bản):

6.1. Scenario cho UseCase Add Items :

Tên Use case Add Item ( Thêm sách )


Tác nhân chính Librarian ( thủ thư )
Điều kiện trước Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Cho phép nhập lại
Điều kiện sau Libraraion thêm mới item thành công
Chuỗi sự kiện chính:
1. Nhân viên chọn chức năng cho Add Item.
2. Hệ thống hiển thị giao diện cho Add Item gồm các ô để nhập ID, Tên,Tác giả,
Năm Xuất Bản, và 2 nút add, cancel.
3. Nhân viên nhập nhập ID, Tên,Tác giả, Năm Xuất Bản của Item mới và kích nút
add.
4. Hệ thống kiểm tra thông tin hợp lệ, lưu Item mới, cập nhật danh sách Items và
hiển thị thông báo thêm mới thành công.
Ngoại lệ:
3.1. Nhân viên nhập thiếu thông tin sách :
3.1.1. Hệ thống hiển thị thông báo "nhập thiếu thông tin ! yêu cầu nhập lại"
3.1.2. Quay lại form Add Item

6.2. Scenario cho UseCase Delete Borrower :

Tên Use case Delete Borrowers ( xóa người mượn )


Tác nhân chính Librarian
Điều kiện trước Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Hỏi trước khi xóa
Điều kiện sau Librarian xóa borrowers thành công
Chuỗi sự kiện chính:
1. Nhân viên chọn chức năng cho Manage borrowers.
2. Hệ thống hiển thị giao diện cho Manage borrowers.
3. Nhân viên gõ key word vào ô tìm kiếm đồng thời chọn điều kiện tìm kiếm.
4. Hệ thống hiển thị danh sách các borrowers phù hợp với điều kiện tìm kiếm và
có chứa key word.
5. Nhân viên chọn borrower cần xóa rùi kích nút Delete.
6. Hệ thống hiện thông báo xác thực yêu cầu xóa borrower.
7. Nhân viên kích chọn nút yes.
8. Hệ thống thực hiện xóa borrower và cập nhật lại danh sách borrower.

6.3. Scenario cho UseCase Check-out Item:

Tên Use case Check-out Item


Tác nhân chính Borrower ( Người mượn )
Điều kiện trước Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Hệ thống không chấp nhận cho check out
Điều kiện sau Hệ thống gửi thông báo cho thủ thư là người mượn đã kết
thúc quá trình check-out và hiển thị cho người mượn lựa
chọn sách
Chuỗi sự kiện chính:
1. Người mượn chọn "Check-out"
2. Hệ thống hiển thị form " Check-out" yêu cầu người mượn nhập tiêu đề tìm
kiếm
3. Người mượn nhập tieu đề cần tìm kiếm và chọn " Tìm kiếm"
4. Hệ thống tìm kiếm các kết quả phù hợp vs tiêu đề tìm kiếm của người mượn và
hiển thị lên form tìm kiếm
5. Người mượn chọn 1 tiêu đề để check out
6. Hệ thống hiển thị chi tiết thông tin tiêu đề cũng như có còn cuốn sach nào có
thể check-out hay không
7. Người mượn xác nhận muốn check-out cuốn sách đó
8. Hệ thống kiểm tra các cuốn sách
9. Người mượn lặp lại các bước từ 1-8 theo nhu cầu và hoàn thành quá trình
check-out
10. Hệ thống thông báo cho thủ thư là người mượn đã kết thúc phiên check-out và
hiển thị hướng dẫn cho người mượn để thu thập nội dung
Ngoại lệ:
5.1. Người mượn nhập vào một tiêu đề không tồn tại
5.1.1. Hệ thống thông báo thất bại

6.4. Scenario cho UseCase Edit Item:

Tên Use case Edit Item ( sửa sách)


Tác nhân chính Librarian
Điều kiện trước Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Hỏi trước khi sửa
Điều kiện sau Librarian sửa Item thành công
Chuỗi sự kiện chính:
1. Nhân viên chọn chức năng cho Manage Item.
2. Hệ thống hiển thị giao diện cho Manage Item.
3. Nhân viên gõ key word vào ô tìm kiếm đồng thời chọn điều kiện tìm kiếm.
4. Hệ thống hiển thị danh sách các Items phù hợp với điều kiện tìm kiếm và có
chứa key word.
5. Nhân viên chọn Item cần sửa rùi kích nút Edit.
6. Hệ thống hiện form thông tin của Item.
7. Nhân viên sửa đổi các thông tin của Item và kích ok.
8. Hệ thống hiển thị thông báo hỏi người dùng muốn lưu thay đổi không.
9. Nhân viên kích chọn nút yes.
10. Hệ thống thực hiện cập nhât thông tin Item và cập nhật lại danh sách Items.
Ngoại lệ:
7.1. Nhân viên nhập sai định dạng vào các ô thông tin cần sửa đổi:
7.1.1. Hệ thống hiển thị thông báo và yêu cầu nhập lại
7.1.2. Quay lại form điền thông tin Item

6.5. Scenario cho UseCase Make Reservation:

Tên Use case Make Reservation( tạo phiếu mượn sách )


Tác nhân chính Borrower
Điều kiện trước Đã đăng nhập vào hệ thống
Đảm bảo tối thiểu Cho phép nhập lại
Điều kiện sau Librarian thêm xóa borrowers thành công
Chuỗi sự kiện chính:
1. Borrower chọn chức năng cho Make Reservation.
2. Hệ thống hiển thị giao diện cho Make Reservation.
3. Nhân viên gõ key word vào ô tìm kiếm đồng thời chọn điều kiện tìm kiếm.
4. Hệ thống hiển thị danh sách các titles phù hợp với điều kiện tìm kiếm và có
chứa key word.
5. Borrower chọn title muốn đặt rùi kích add Reservation.
6. Hệ thống kiểm tra thông tin title và thêm vào phiếu đặt của borrower.
7. Các bước từ 1 đến 6 có thể thực hiện nhiều lần theo mong muốn của borrower.
8. Borrower hoàn thành việc đặt sách và kích nút send.
9. Hệ thống gửi yêu cầu đặt sách của borrower về cho nhân viên thư viện và hiện
thông báo đăt sách thành công.
Ngoại lệ :
4.1. Tên tìm kiếm không tồn tại hoặc không phù hợp :
4.1.1. Hệ thống hiển thị thông báo không tìm thấy tên phù hợp và yêu cầu nhập
lại

Chương 2. Pha Phân tích:


I. Phân tích tĩnh:

1. Xác định lớp dựa trên usecase và scenario:

Ta trích được các danh từ sau: hệ thống , cuốn sách,bản ghi, borrower,
librarian, username,password,tiêu đề sách, tài khoản, đề mục,tác giả, số
trang,thể loại, giao diện, họ tên, số cmnd, quê quán, địa chỉ,mã sách, mã
bạn đọc, phiếu mượn, thẻ thư viện, cơ sở dữ liệu, reservation.

Loại bỏ các danh từ nằm ngoại phạm vi mục đích của hệ thống: hệ
thống.

Loại bỏ các danh từ, cụm danh từ trùng lặp, các danh từ làm thuộc tính
như: mã sách, tên sách, tác giả, đề mục, số trang, thể loại là các thuộc
tính của Sách. Mã, họ tên, quê quán, số cmnd, địa chỉ là các thuộc tính
của Bạn đọc, Thủ thư.

Tổng hợp lại, ta có các lớp sau: Lớp Librarian, Lớp MasterLibrarian,
Lớp Borrower, Lớp Item, Lớp BillReservation, Lớp Title, Lớp Address,
Lớp FullName, giao diện Manage Item, giao dien Manage Borrower,
giao diện Manage Librarian, giao diện Manage Title, Lớp Control
2.Mối quan hệ giữa các lớp ( lớp thực thể):

3. Xác định thuộc tính cho các lớp thực thể:

Lớp User:

hoTen;
quequan;

diachi;

soCMND;

Lớp Librarian :

maNV;

passNV;

Lớp Borrower :

maSV;

passSV;

lop;

Lớp MasterLibrarian:

maQL;

passQL;

Lớp Address :

soNha;

Phuong;

Pho;

Quan;

Lớp FullName

tenHo;

tenDem;

tenGoi;

Lớp Item :

maSach;

tenSach;

tacgia;
soTrang;

namXB;

Lớp Title

maDeMuc;

tenDeMuc;

Lớp BillReservation :

maSV;

maSach;

ngayMuon;

ngayTra;

soLuong;

II. Phân tích động:

1. Xác định phương thức cho các lớp

1.1. Lớp Borrower:

getPassword():String

isLoggedOn(): Boolean

logon(): Void

logoff(): Void

getDetails(): Void

setPassword(p:String): Void

1.2. Lớp Librarian:

getPassword():String

isLoggedOn(): Boolean

logon(): Void

logoff(): Void

getDetails(): Void
setPassword(p:String): Void

1.3. Lớp MasterLibrarian:

getPassword():String

isLoggedOn(): Boolean

logon(): Void

logoff(): Void

getDetails(): Void

setPassword(p:String): Void

1.4. Lớp Item:

1.5. Lớp ManageItem:

addItem()

editItem()

delItem()

viewItem()

1.6. Lớp ManageBorrower:

addBorrower()

editBorrower()

delBorrower()

viewBorrower()

1.7. Lớp ManageTitle:

addTitle()

editTitle()

delTitle()

viewTitle()

1.8. Lớp ManageLibrarian :


addLibrarian()

editLibrarian()

delLibrarian()

viewLibrarian()

2. Hiện thực hóa UseCase - Sơ đồ giao tiếp :

2.1. Sơ đồ giao tiếp cho UseCase Add Items :

2.2. Sơ đồ giao tiếp cho UseCase Delete Borrower :

2.3. Sơ đồ giao tiếp cho UseCase Check-out Item:


2.4. Sơ đồ giao tiếp cho UseCase Edit Item:

2.5. Sơ đồ giao tiếp cho UseCase Make Reservation:

3. Sơ đồ hoạt động :

3.1. Sơ đồ hoạt động cho UseCase Add Items :


3.2. Sơ đồ hoạt động cho UseCase Delete Borrower :

3.3. Sơ đồ hoạt động cho UseCase Check-out Item:


3.4. Sơ đồ hoạt động cho UseCase Edit Item:

3.5. Sơ đồ hoạt động cho UseCase Make Reservation:


4. Thiết kế giao diện :

Chương 3: Thiết kế kiến trúc


1. Chọn cấu trúc hệ thống

Kiến trúc 3 tầng:

- Tầng giao diện người dung (user interface) hay còn gọi là tầng Client: là tầng
thể hiện giao diện người dung, ở đây người dùng có thể nhập nội dung và xem
kết quả. Tầng này được chia ra làm 2 phần gồm giao diện cho bạn đọc, và giao
diện cho quản lý (thủ thư, quản lý thư viện).
- Tầng ứng dụng ( Application Server, Business Rule) được biết đến như tầng
nghiệp vụ hay tầng dịch vụ để chạy mã chương trình đa luồng.
- Tầng dữ liệu ( Database Server, Data Storage) nhằm lưu trữ dữ liệu và cung
cấp cơ chế an toàn cho việc truy nhập đồng thời, với sự giúp đỡ của hệ quản trị
cơ sở dữ liệu.

2. Lựa chọn công nghệ

Vì hệ quản lí thư viện chạy trên 2 môi trường: desktop và trình duyệt web
nên ta sử dụng các công nghệ sau đây:
- JavaServer Pages (JSP): Các đặc điểm kĩ thuật của JSP được cung cấp
bởi Sun Microsystems, cung cấp cơ chế trình bày cho phép bạn kết hợp
mã HTML và java để trình diễn thong tin cho người dung.
- Servlets: nằm trong gói java.sun.com cung cấp các thành phần cơ bản,
các phương thức nền tảng cho việc xây dựng các ứng dụng trên nền web
mà không có sự hạn chế của các chương trình hoạt động theo CGI.
- JavaScript cho phép lập trình trên client (ví dụ, xác nhận dữ liệu trên
dạng thức HTML), nhưng JavaScrip được phiên dịch (bởi vậy sẽ chậm
hơn khi biên dịch code), sẽ ko rõ ràng (trong hướng đối tượng) và với
các trình duyệt khác nhau sẽ cung cấp các mức độ khác nhau.
- Java là một ngôn ngữ hướng đối tượng đơn giản, rõ ràng, và là giải
pháp tiềm năng tốt nhất. Java cũng cung cấp một phương thức an toàn
bởi vì nó ngăn cấm truy cập tài nguyên trên máy cụ bộ mà ko có sự xác
nhận rõ ràng và chi tiết. Đến chừng mực nào đó, tại thời điểm ghi vào
hầu hết các trình duyệt web chỉ hỗ trợ phiên bản cũ của Java – để có một
phiên bản chức năng đầy đủ, bạn cần cài đặt thêm java plug in từ Sun
hoặc mua một PC với Java đã được cài đặt trước.
- J2SE: cũng nằm trong gói java.sun.com, viết tắt của Java 2 Standard
Edition, cung cấp 1 giải pháp cho phát triển nhanh và triển khai các
nhiệm vụ quan trọng, các ứng dụng doanh nghiệp,…các trình biên dịch,
công cụ, API, applet và các ứng dụng trong ngôn ngữ lập trình java.
- J2EE: viết tắt của Java 2 Enterprise Edition. Cung cấp các dịch vụ
chuyên nghiệp như servlets, JSP, JDBC ( chuẩn kết nối csdl của java).
- Eclipse: đây là môi trường phát triển tích hợp (IDE) hay còn gọi là công
cụ soạn thảo được sử dụng để viết, sửa mã java và quản lí tất cả sự phát
triển của ứng dụng.
- Mysql: Một hệ quản trị cơ sở dữ liệu nguồn mở được sử dụng khá phổ
biến.
- Struts Framework: một phần của dự án Apache Jakarta. Nó được sử
dụng để xây dựng các ứng dụng web J2EE bằng cách cung cấp các cơ
chế trình bày và kiểm soát để xử lí các mô hình phổ biến trong phát triển
web.
 Các giao thức thường sử dụng được chia làm 2 loại: chuyên dụng và
chung.
 Giao thức chuyên dụng gồm:
- IMAP (email).
- AIM (AOL instant messaging).
- NNTP (USENET news).
- HTTP/CGI (HTML form).
- FTP(truyền file)
Telnet (đăng nhập từ xa).
 Giao thức chung (có khả năng thực hiện nhiều nhiệm vụ) bao
gồm:
- TCP/IP (mức thấp của tầng giao vận, cũng được hiểu như
sockets).
- JRMP (để truyền thông Java- tới -Java.
- IIOP (dùng cho truyền thông với CORBA, tương tự như RMI
nhưng là một ngôn ngữ đa thực thi).
2.1. Giao thức tầng Client và tầng giữa
Mô hình TCP/IP được sử dụng kết hợp với một số giao thức khác như FTP,
Telnet, IMAP…TCP/IP là một tập các giao thức xác định các qui tắc cũng như
định dạng cho việc truyền thông này. TCP/IP hiện là giao thức mạng được sử
dụng rộng rãi nhất trên thế giới.
2.2. Các giao thức lớp ứng dụng
 FTP (File Transfer Protocol): Giao thức truyền tệp
FTP cung cấp một phương thức chung để truyền tệp trong một liên mạng. Nó
có thể bao gồm các tính năng bảo mật tệp thông qua sử dụng một cặp tên/mật
khẩu để xác thực. Nó có thể cho phép chuyển tệp giữa các hệ thống máy tính
khác nhau.
 TFTP (Trivial File Transfer Protocol): Giao thức truyền tệp đơn giản
Tương tự như FTP, cho phép truyền tệp giữa một host và một máy chủ FTP
(FTP server). Tuy nhiên, giao thức này không bao gồm việc xác thực người sử
dụng và dùng UDP chứ không phải là TCP làm giao thức giao vận.
 HTTP (Hypertext Transport Protocol): Giao thức truyền tệp siêu văn bản
Các trình duyệt Web và máy chủ Web sử dụng giao thức này để trao đổi các
tệp (ví dụ các trang Web) qua mạng toàn cầu WWW hay intranet. Chúng ta có
thể coi HTTP là giao thức yêu cầu và trả lời thông tin. Nó thường sử dụng để
yêu cầu trả gửi trả các tài liệu Web. Ngoài ra, HTTP cũng được sử dụng để làm
giao thức truyền thông giữa các tác tử (agent) sử dụng các giao thức TCP/IP
khác.
 SMTP (Simple Mail Transfer Protocol): Giao thức chuyển thư đơn giản
Đây là giao thức được sử dụng để định tuyến các thư điện tử trong một liên
mạng. Các ứng dụng thư điện tử sẽ cung cấp giao diện để truyền thông với
SMTP và máy chủ thư điện tử.
 Enterprise JavaBean (EJB) – EJB là thành phần nghiệp vụ chạy bên trong EJB
container. EJB là phần nhân, cốt lõi của ứng dụng J2EE. EJB container cung
cấp các dịch vự quản lý giao dịch, bảo mật, quản lý trạng thái, quay vòng tài
nguyên. EJB container phải hỗ trợ những API sau: J2SE, JMS, JNDI, JTA,
JavaMail, JAF, RIM-IIOP và JDBC.

3. Thiết kế chính sách đồng thời và bảo mật.


3.1. Concurrency policy.
- Hệ thống phải đảm bảo cho nhiều người truy cập vào hệ thống và không cho
phép 2 người cùng một User truy nhập tại 2 địa chỉ khác nhau tại một thời
điểm.
- Khi thông tin được update thì sẽ được update cho toàn bộ hệ thống với đối
tượng liên quan đến. Ví dụ: đổi tên đầu sách trong khi vẫn có người mượn thì
phải đổi cả thông tin về đầu sách đó trong thông tin người mượn để đảm bảo
thông tin luôn chính xác.
- Người dùng không được cho phép mượn 2 item giống nhau trong một lần
mượn.
- Khi mượn sách thì thông tin về người mượn sẽ được thêm vào Database.
- Khi hoàn thành trả sách thì thông tin về người mượn sẽ được cập nhật lại.
3.2. Security policy.
- Sử dụng tường lửa để kiểm tra an toàn bảo mật.
- Sử dụng các luật quản lí User như
+ Tên User không quá 15 kí tự.
+ Tên User không được sử dụng kí tự đặc biệt !@#$%^&*(.....
+ Tên User bao gồm số và chữ(in hoa- thường).
+ Mật khẩu dài hơn 8 kí tự bào gồm chữ và số.
- Phân chia quyền sử dụng cho người dùng. Ví dụ: Librarian Master có thể
quản lí Librarian. Librarian quản lí Borrower và các Item, Title nhưng
Borrower chỉ được mượn, trả, tra cứu thông tin chứ không thể thêm sửa xóa
các Item, Title được.
- Xác nhận thông tin người dùng qua mail.
- Bảo mật thông tin cho người dùng, không tiết lộ ra ngoài.
- Mọi thông tin liên hệ qua Mail của thư viện.

4. Phân rã hệ thống thành các hệ thống con, các tầng.


- Hệ thống truy nhập từ xa: Login vào hệ thống.
- Hệ thống quản lí Librarian: Quản lí thông tin về Librarian
- Hệ thống quản lí Borrower: Quản lí thông tin về Borrower
- Hệ thống quản lí Title: Quản lí thông tin về Title
- Hệ thống quản lí Item: Quản lí thông tin về Item
- Hệ thống quản lí checkout – return: Quản lí mượn trả
- Hệ thống quản lí Reservation – remove Reservation: quản lí thông tin liên quan đặt
sách.

You might also like