1
Đại học Bách Khoa Hà Nội
Viện Điện Tử Viễn Thông
====***====
BÀI TẬP LỚN MÔN PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Đề tài: Hệ thống quản lý thư viện
Giáo viên hướng dẫn: TS. Trần Đỗ Đạt
Sinh viên thực hiện: Đỗ Trung Đức
Nguyễn Tiến Đạt
Trần Xuân Bách
Hoàng Văn Pháp
Lớp KSTN – ĐTVT – K54
2
Mục lục
Lời nói đầu 4
1. Bài toán thực tế 5
1.1. Mô hình kinh doanh 5
1.2. Bất cập của mô hình hiện tại 5
1.3. Đề xuất giải pháp 5
2. Yêu cầu hệ thống 6
2.1. Mượn sách 6
2.2. Trả sách 6
2.3. Tìm kiếm 6
2.4. Chứng thực 6
2.5. Thay đổi tiền cọc và cập nhật phí hàng tháng 6
2.6. In hóa đơn 6
3. Phân tích tính khả thi 7
3.1. Khả thi về kinh tế 7
3.2. Khả thi về kỹ thuật 9
4. Xác định kích thước hệ thống 10
4.1. Liệt kê các khả năng của chương trình 10
4.2. Tổng số điểm chức năng chưa hiệu chỉnh (TUFP - Total unadjusted function Points): 10
4.3. Tổng độ phức tạp xử lý (TPC-Total Processing Complexity) : 11
4.4. Tổng độ phức tạp hiệu chỉnh 11
4.5. Tổng điểm chức năng đã hiệu chỉnh (TAFP - Total Adjusted Function Points) : 11
4.6. Đánh giá nhân lực cần thiết : 11
4.7. Đánh giá thời gian cần thiết : 11
5. Xây dựng kế hoạch phát triển hệ thống 12
5.1. WBS 12
5.2. Biểu đồ Gantt 13
6. Xây dựng tài liệu yêu cầu hệ thống 14
6.1. Lựa chọn kĩ thuật phân tích yêu cầu 14
6.2. Lựa chọn phương pháp thu thập yêu cầu 14
6.3. Yêu cầu phi chức năng (Nonfunctional Requirement) 16
3
6.4. Yêu cầu chức năng (Functional Requirement) 17
7. Xây dựng biểu đồ hoạt động 18
8. Biểu đồ ca sử dụng 19
8.1. Nhận diện các ca sử dụng chính 19
8.2. Mở rộng ca sử dụng chính 19
8.3. Bảng mô tả ca sử dụng 20
8.4. Vẽ biểu đồ ca sử dụng 29
9. Biểu đồ lớp 31
9.1. Nhận diện lớp 31
9.2. Xây dựng thẻ CRC 33
9.3. Vẽ biểu đồ lớp 42
10. Biểu đồ tuần tự 43
10.1. Xác định ngữ cảnh 43
10.2. Xác định các đối tượng tham gia 43
10.3. Xác định đường sống cho mỗi đối tượng. 45
10.4. Biểu diễn thông điệp. 46
10.5. Biểu diễn các điểm bắt đầu hoạt động trên mỗi đường sống. 46
10.6. Kiểm tra lại biểu đồ. 46
11. Biểu đồ giao tiếp 50
11.1. Tìm sách 50
11.2. Mượn sách 51
11.3. Trả sách 52
12. Biểu đồ máy trạng thái 53
12.1. BorrowRequest 53
12.2. SearchRequest 54
13. Biểu đồ gói 55
13.1. Xác định ngữ cảnh 55
13.2. Nhóm các lớp lại với nhau thành các gói 55
13.3. Xác định mối quan hệ phụ thuộc giữa các gói 56
13.4. Vẽ biểu đồ gói 56
Kết quả đạt được 57
Kết luận 57
4
Lời nói đầu
Khu vực xung quanh trường THPT Chuyên Hùng Vương có 3 thư viện tư nhân
cùng hoạt động. Các thư viện này thu phí theo tháng và cho học sinh thuê những cuốn
sách rất cần trong quá trình học tập hàng ngày cũng như ôn thi đại học của học sinh
(những sách ôn thi đại học thường không có trong các thư viện tỉnh, thành phố). Một
trong 3 thư viện đó có tên “Nhà sách Bác Kính” là nơi 1 thành viên trong nhóm đã từng
làm việc thời phổ thông.
Thời gian gần đây do sự cạnh tranh ngày càng gay gắt cũng như nền kinh tế khó
khăn khiến cho lợi nhuận của “Nhà sách Bác Kính” giảm xuống. Do đó nhà sách đã phải
cắt giảm nhân viên để giảm chi phí, tuy nhiên ddieuf này dẫn tới tốc độ phục vụ khách
hàng bị giảm xuống đáng kể làm ảnh hưởng xấu tới hình ảnh cũng như khả năng cạnh
tranh của nhà sách với các đối thủ.
Từ thực tế đó nhóm đã nảy ra ý tưởng thiết kế một phần mềm chuyên dụng trong
việc quản lý nhà sách có thể nhờ đó giúp cắt giảm 1 lượng đáng kể nhân viên mà thời
gian phục vụ khách hàng vẫn nhanh chóng như cũ. Qua đó nâng cao lợi nhuận, khả năng
cạnh tranh cũng như hình ảnh của nhà sách đối với khách hàng.
Từ đó, nhóm chúng em quyết định lựa chọn đề tài “Thiết kế hệ thống quản lý thư
viện” cho bài tập lớn môn học thiết kế hướng đối tượng với mục đích giúp nắm chắc các
kiến thức môn học, hiểu rõ quy trình phân tích thiết kế một hệ thống thực tế, đồng thời
cũng đặt nền tảng cho việc triển khai hệ thống trong thực tế mà nhóm dự định sẽ tiến
hành vào dịp hè sau khi môn học kết thúc.
Chúng em chân thành cảm ơn thầy giáo, TS Trần Đỗ Đạt đã tận tình giảng dạy và
chỉ bảo để chúng em có thể hoàn thành bài tập lớn này. Những lời nhận xét của thầy
trong quá trình bảo vệ và giảng dạy trên lớp rất bổ ích đối với chúng em.
Một lần nữa chúng em xin chân thành cảm ơn!
Nhóm sinh viên lớp KSTN - ĐTVT - K54
Đỗ Trung Đức
Trần Xuân Bách
Nguyễn Tiến Đạt
Hoàng Văn Pháp
5
1. Bài toán thực tế
1.1. Mô hình kinh doanh
Nhà sách Bác Kính là 1 nhà sách tư nhân hoạt động xung quanh khu vực trường
THPT Chuyên Hùng Vương, dựa trên 3 nguyên tắc cơ bản như sau:
Khách hàng đặt cọc 1 khoản ít nhất là 100.000 VNĐ và chỉ được thuê số
sách có tổng giá trị nhỏ hơn số tiền cọc.
Mỗi tháng trả phí cố định là 15.000 VNĐ.
Không giới hạn ngày trả sách.
Hiện tại nhà sách quản lý theo mô hình như sau:
Mỗi khách hàng có 1 thẻ thư viện.
Mỗi lần thuê khách hàng sẽ tự tìm sách trên giá (với sự hỗ trợ của các nhân
viên), mang ra quầy và nhân viên sẽ xác thực việc mượn (có đủ tiền không, trạng
thái sách khi mượn) rồi xuất hóa đơn cho khách hàng.
Khi trả sách cũng làm tương tự, khách hàng mang sách đến, nhân viên xác
thực trạng thái sách, nếu khách hàng còn giữ sách sẽ xuất cho khách 1 hóa đơn có
ghi số sách còn giữ.
1.2. Bất cập của mô hình hiện tại
• Mỗi lần khách thay đổi tiền cọc đều phải làm lại thẻ
• Các thủ tục mượn sách (ghi tên sách, kiểm tra tổng tiền, xuất hóa đơn) do
nhân viên làm nên cần tới 3 nhân viên cho việc này.
• Việc tìm kiếm sách khá khó khăn với khách hàng mới vì quy mô nhà sách
khá lớn, thực tế cần 3-4 nhân viên trợ giúp khách hàng trong việc này (tùy thời
điểm mà có thể đông hơn hay ít hơn).
Mô hình này bất tiện trong sử dụng và tốn kém chi phí thuê nhân viên
1.3. Đề xuất giải pháp
Thiết kế một hệ thống quản lý thông minh, tự động thân thiện trong khi sử dụng và
giảm thiểu số nhân viên.
6
2. Yêu cầu hệ thống
2.1. Mượn sách
• Khách hàng sẽ tìm kiếm vị trí sách, đọc mô tả sách, bằng phần mềm.
• Nếu muốn mượn sách, khách hàng tự nhấn nút trong phần mềm, hệ thống
sẽ kiểm tra tính hợp lệ. Nếu thành công thì sẽ xuất hóa đơn mượn sách.
• Khách hàng tự động lấy sách đưa cho nhân viên kiểm tra xem có khớp với
hóa đơn không.
2.2. Trả sách
• Khách hàng đưa sách cần trả cho nhân viên.
• Nhân viên nhập mã khách hàng, sẽ hiện lên danh sách các cuốn mà khách
hàng giữ. Nhấn xóa các cuốn khách trả.
2.3. Tìm kiếm
Hỗ trợ tìm kiếm theo tên sách, tên tác giả, loại sách.
2.4. Chứng thực
• Khách hàng có ID và password riêng. Không có dễ dàng lập mới.
• Hệ thống có thể kiểm tra xem có mượn sách quá tiền cọc không.
• Với tài khoản nhân viên, cần chứng thực xem có đúng ID và pass không
mới được thực hiện các quyền của nhân viên.
2.5. Thay đổi tiền cọc và cập nhật phí hàng tháng
Nhân viên dễ dàng thay đổi thông tin này khi có yêu cầu của khách hàng.
2.6. In hóa đơn
Hóa đơn về sách đang giữ, số tiền cọc và tình hình đóng phí hàng tháng sẽ được
giao cho khách hàng sau mỗi lần giao dịch.
7
3. Phân tích tính khả thi
3.1. Khả thi về kinh tế
Do phần mềm thiết kế đặc thù cho một đơn vị kinh doanh cụ thể nên nhóm sẽ
không phân tích tính khả thi trong việc định giá phần mềm mà sẽ phân tích theo hướng
thuyết phục chủ đầu tư rằng áp dụng phần mềm quản lý này là sáng suốt.
3.1.1. Chi phí
Chi phí phần mềm: 10.000.000 VNĐ.
Chi phí phần cứng: Báo giá tại của hành hanoicomputer, 131 Lê Thanh Nghị.
Lưu ý: Không có HDD trong cấu hình trên vì nhóm dự kiến tận dụng 3 HDD sẵn
có trong 3 PC mà thư viện đã có rồi cấu hình boot qua LAN để giảm chi phí.
Cửa hàng giảm giá 10% và khuyến mại vỏ case nếu mua 10 bộ, rút ra chi phí cho
10 bộ máy là:
3.810.000 * 10 * 0.9 = 34.290.000 VNĐ.
Tổng chi phí phần cứng và phần mềm là:
10.000.000 + 34.290.000 = 44.290.000 VNĐ.
Tiền điện bỏ ra hàng tháng
Theo công cụ trên trang thì bộ máy trên
có công suất trung bình 98W.
8
Chi phí cho 10PC trong 1 tháng là:
100(W) * 10(PC) * 16(h/ngày) * 30(ngày/tháng) = 480kWh điện
Theo giá điện hiện hành, mức cao nhất là 2192VNĐ/kWh (cho kWh thứ 400 trở
đi), vậy chi phí điện hàng tháng sẽ là:
480 * 2192 * 1,1(VAT) = 1.157.376 VNĐ
Các tính toán trên đều đưa ra trong trường hợp xấu nhất, thực tế con số sẽ nhỏ hơn
rất nhiều.
3.1.2. Lợi ích đem lại
Tạm thời chưa xét tới lợi ích về tăng tốc độ phục vụ giúp tăng hình ảnh thư viện,
thu hút nhiều khách hơn, vì những con số này rất khó ước lượng và dù có thể ước
lượng thì cũng rất khó tin với chủ thư viện này (đã cao tuổi).
Ta chỉ xét đến hiệu quả trong cắt giảm nhân viên.
Hiện tại mỗi ca làm việc là 50.000 VNĐ, 1 ngày 3 ca là 150.000.
1 tháng 30 ngày là 4.500.000 VNĐ/1nv
Dùng phần mềm sẽ cắt giảm được 3-4 nhân viên. Như vậy bớt được ít nhất
13.500.000 VNĐ/tháng.
3.1.3. Phân tích tính khả thi
Giả thiết lạm phát 0.1%/tháng
Tháng 1
Tháng 2
Tháng 3
Tháng 4
Tổng
Total Benefits
13.500.000
13.500.000
13.500.000
13.500.000
PV of Benefits
13.366.337
13.233.997
13.102.967
12.973.235
52.676.536
PV of all Benefits
13.366.337
26.600.334
39.703.301
52.676.536
Hardware Costs
34.290.000
0
0
0
Software Costs
10.000.000
0
0
0
Energy Costs
1.157.376
1.157.376
1.157.376
1.157.376
Total Costs
45.447.376
1.157.376
1.157.376
1.157.376
PV of Costs
44.997.402
1.134.571
1.123.338
1.112.216
48.367.527
PV of all Costs
44.997.402
46.131.973
47.255.311
48.367.527
Total Project Benefits -
Costs
(31.947.376)
12.342.624
12.342.624
12.342.624
Monthly NPV
(31.631.065)
12.099.426
11.979.629
11.861.019
4.309.009
Cumulative NPV
(31.631.065)
(19.531.639)
(7.552.010)
4.309.009
Break-even Ponit
3.64 month
ROI
8.9%
9
Như vậy sẽ thu hồi vốn chỉ sau hơn 3 tháng, và sau 4 tháng đã có lợi nhuận 8.9%.
Phân tích trên chỉ tính trong 4 tháng không phải là dự án chỉ kéo dài 4 tháng mà
sau 4 tháng chi phí bỏ ra đã khấu hao hết và từ tháng thứ 5 trở đi sẽ đem lại lợi nhuận
trung bình:
13.500.000 – 1.157.376 = 12.342.634 VNĐ
Ước tính trên lấy tiền nhân công trừ đi tiền điện theo giá trị tại thới điểm hiện tại.
Bộ PC trên mua mới có độ bền rất lâu, không khó để lên tới 10 năm nếu bảo trì tốt.
Tất cả những phân tích trên cho thấy đây là 1 sự đầu tư thực sự chất lượng: Lợi
nhuận cao, thu hồi vốn siêu nhanh.
3.2. Khả thi về kỹ thuật
Mức độ quen thuộc với ứng dụng: Khả năng nắm rõ nghiệp vụ là khá
- Các thành viên trong nhóm dự án đều đang là sinh viên, hầu hết đều
chưa có kinh nghiệm quản lý các thư viện. Riêng trưởng nhóm đã có
thời gian làm việc tại một thư viện.
- Đề tài tuy không mới lạ vì có những nét tương đồng với các phần
mềm quản lý thư viện tuy nhiên do cơ chế hoạt động khác nhau và
do lần đầu thực hiện đề tài nên khả năng là còn hạn chế.
Mức độ quen thuộc với công nghệ: Khả năng hiểu rõ công nghệ là khá
- Các thành viên trong nhóm dự án đều đang là sinh viên chuyên
ngành kĩ thuật đã có những kiến thức cơ bản về CSDL và coding
- Dự án có phần thiết kế CSDL được thực hiện trên Access 2000 và
code được viết bằng Visual Basic. Cả 2 phần mềm trên đều rất phổ
cập và tương đối dễ tiếp thu và thao tác
- Nền khi hoạt động của phần mềm là HDH Windows 7 trở về trước
Kích thuớc dự án:
- Nhóm dự án chỉ gồm 4 người tham gia.
- Độ dài tiến hành dự án không kéo dài quá 3 tháng.
- Kích thước phần mềm nhỏ dưới 20MB
- Độ phức tạp của phần mềm là không lớn do chỉ thực hiện các chức
năng cơ bản và cần thiết của 1 hệ thống quản lý.
Tương thích của hệ thống (phần mềm) với các phần mềm khác rất tốt:
- Phần mềm không đòi hỏi thiết lập thay đổi trên hệ diều hành và
không có xung đột tài nguyên với các chương trình chạy khác.
10
4. Xác định kích thước hệ thống
4.1. Liệt kê các khả năng của chương trình
Nhập thông tin :
Thông tin về sách
Thông tin về thể loại sách
Thông tin về khách hàng
Tạo các báo cáo :
Danh sách các thể loại sách
Danh sách các đầu sách theo thể loại
Danh sách khách hàng
Danh sách sách đang mượn của khách hàng
Hóa đơn mượn sách
Truy vấn :
Thông tin của sách
Thông tin về khách hàng
Thông tin về việc mượn trả sách
4.2. Tổng số điểm chức năng chưa hiệu chỉnh (TUFP - Total unadjusted
function Points):
Decription
Complexity
Total
Numbers
Low
Medium
High
Total
Inputs
3
2x 3
1 x 4
0 x 6
10
Outputs
5
3 x 4
1 x 5
1 x 7
24
Queries
3
2 x 3
0 x 4
1 x 6
12
Files
1
1 x 7
0 x 10
0 x 15
7
Program Interfaces
8
7x 5
1 x 7
0 x 10
36
Total Unadjusted Function Points ( TUFP ) :
89
11
4.3. Tổng độ phức tạp xử lý (TPC-Total Processing Complexity) :
Data communication
0
Heavy use configuration
0
Transaction rate
0
End-user effiency
0
Complex processing
0
Installation ease
1
Multiple sites
0
Performance
0
Distributed functions
1
Online data entry
0
Online update
0
Reusability
1
Operation ease
1
Extensibility
1
Total processing complexity ( TPC )
5
=> TPC = 5
4.4. Tổng độ phức tạp hiệu chỉnh
APC = 0.65 + (0.01 * TPC)= 0.65 + (0.01 * 5)=0.7
4.5. Tổng điểm chức năng đã hiệu chỉnh (TAFP - Total Adjusted Function
Points) :
TAFP = APC * TUFP = 0.7 * 89 = 62.3
Ngôn ngữ được sử dụng là Visual Basic => Lines of Codes per Function Point là
30
Total Lines of Codes (TLC) = 62.3 * 30 = 1869 total lines of code
4.6. Đánh giá nhân lực cần thiết :
Effort = 1.4 * thousands-of- lines-of-code = 1.4 * 1.869 = 2.6166 person months
4.7. Đánh giá thời gian cần thiết :
Schedule Time = 3.0 * person-months
1/3
= 3.0 * 3.2634
1/3
= 4.13 months
12
5. Xây dựng kế hoạch phát triển hệ thống
5.1. WBS
Task
Number
Task Name
Duration
( in days)
Dependency
Status
1
Quản lý sách
35
In Progress
1.1
Tìm hiểu yêu cầu
1
Complete
1.2
Phân tích và xác định yêu cầu
3
1.1
Complete
1.3
Tiến hành mô hình hóa
7
1.2
Complete
1.4
Dữ liệu sách
2
1.2
Open
1.5
Thiết kế giao diện
3
1.4
Open
1.6
Lập trình
14
1.5,1.4,1.3
Open
1.7
Chạy thử + Debug
5
1.6
Open
2
Quản lý khách hàng
28
In Progress
2.1
Tìm hiểu yêu cầu
1
Complete
2.2
Phân tích và xác định yêu cầu
3
2.1
Complete
2.3
Tiến hành mô hình hóa
5
2.2
Complete
2.4
Dữ liệu khách hàng
2
2.2
Open
2.5
Thiết kế giao diện
3
2.4
Open
2.6
Lập trình
10
2.5,2.4,2.3
Open
2.7
Chạy thử + Debug
4
2.6
Open
3
Quản lý mượn/trả sách
42
1 , 2
In Progress
3.1
Tìm hiểu yêu cầu
1
Complete
3.2
Phân tích và xác định yêu cầu
3
3.1
Complete
3.3
Tiến hành mô hình hóa
7
3.2
Complete
3.4
Dữ liệu mượn/trả sách
4
3.2
In Progess
3.5
Thiết kế giao diện
3
3.4
Open
3.6
Lập trình
17
3.5,3.4,3.3
0pen
3.7
Chạy thử + Debug
7
3.6
0pen
4
Hoàn thiện phần mềm
14
1,2,3
0pen
4.1
Ráp chương trình + test thử
7
0pen
4.2
Tạo bản hướng dẫn sử dụng
1
0pen
4.3
Đóng gói phần mềm + Cài đặt
thử nghiệm
5
4.1
0pen
4.4
Báo cáo tổng kết dự án
1
1,2,3,4
0pen
13
5.2. Biểu đồ Gantt
14
6. Xây dựng tài liệu yêu cầu hệ thống
6.1. Lựa chọn kĩ thuật phân tích yêu cầu
Đánh giá các tiêu chí :
Giá trị kinh doanh tiềm năng (Potential business value)
Chi phí dự án (Project cost)
Phạm vi phân tích (Breadth of analysis)
Rủi ro thất bại (Rish)
Giá trị kinh doanh tiềm năng (Potential
business value)
Moderate
Chi phí dự án (Project cost)
Low – Moderate
Phạm vi phân tích (Breadth of analysis)
Narrow – Moderate
Rủi ro thất bại (Rish)
Low - Moderate
Dựa vào việc đánh giá 4 tiêu chí trên , Nhóm quyết định chọn kĩ thuật phân tích
yêu cầu là Business process improvement (BPI) .
6.2. Lựa chọn phương pháp thu thập yêu cầu
Type of information
As is , improments
Depth of information
Medium
Breadth of information
Medium
Integration of information
Low
User involvement
Low
Cost
Low – Medium
Dựa vào việc đánh giá các tiêu chí trên, nhóm quyết định lựa chọn 2 phương pháp thu thập yêu cầu là
Điều tra (Questionnaires)
Quan sát (Observation)
6.2.1. Điều tra ( Questionaires)
• Những người tham gia nên được chọn từ nhiều vị trí khác nhau để có thể thu được
ý kiến từ nhiều góc độ nhưng cần chú ý đến các đối tượng là những người hoạt động
trong các thư viện, đặc biệt là những khách hàng.
• Các câu hỏi được đặt ra phải đảm bảo nhu câu tiếp thu được các phản hồi của
người sử dụng về hệ thống hiện tại, những mặt mạnh, mặt yếu kém, những vấn đề còn
tồn tại cần phải giải quyết.
15
• Các câu hỏi này cần phải bao quát được hết phạm vi của hệ thống, phải đề xuất
được nhiều hướng giải quyết các vấn đề còn tồn tại.
• Đặt các câu hỏi quan trọng lên ngay đầu tờ câu hỏi
• Đặt những câu hỏi mở để người tham gia có thể thoải mái nêu ý kiến của mình.
• Tìm cách gây hứng thú cho người tham gia băng cách trình bày bảng câu hỏi, bắt
đầu bằng những câu hỏi lý thú, hài hước
• Người trả lời không cần khai báo tên tuổi để tạo sự chân thật cho việc điều tra
• Các câu hỏi thuộc cùng 1 phần cần được bố trí gần nhau , đánh số các câu hỏi và
không bố trí các câu hỏi kín cả 1 trang
Sau đây là một số câu hỏi ví dụ :
1. Bạn thấy chất lượng phục vụ khách hàng tại thời điểm hiện tại của thư viện ra sao?
a. Rất tốt
b. Tốt
c. Tạm được
d. Tệ
e. Rất tệ
2. Theo bạn chức năng nào của chúng tôi làm bạn không hài lòng nhất:
a. Đăng ký người dùng
b. Tìm kiếm sách
c. Mượn/Trả sách
d. Chức năng khác: …………………….
3. Bạn có thấy hứng thú nếu chúng tôi triển khai một hệ thống phần mềm quản lý thư
viện thông minh để phục vụ khách hàng:
a. Rất hứng thú
b. Khá hứng thú
c. Không quan tâm
d. Không thích
4. Bạn đã từng sử dụng một phần mềm quản lý thư viện nào chưa, bạn thấy nó ra sao:
a. Chưa.
b. Rồi, rất tốt
c. Rồi, tốt
d. Rồi, tệ
f. Rồi, rất tệ
16
5. Nếu chúng tôi triển khai hệ thống quản lý thư viện bằng phần mềm, bạn mong
muốn có thêm những chức năng nào trong hệ thống?
6. Bạn mong muốn phần mềm sẽ phải có giao diện, chức năng đáp ứng điều gì ?
6.2.2. Quan sát (Observation)
Quan sát thói những hoạt động chính trong khi sử dụng phần mềm cũng như toàn
bộ quá trình mượn trả sách của khách hàng và nhân viên thư viện. Qua đó rút ra một số
thói quen của khách hàng và nhân viên.
Dựa vào kinh nghiệm của trưởng nhóm trong thời gian làm việc tại thư viện cũng
là một nguồn quan sát tốt.
6.3. Yêu cầu phi chức năng (Nonfunctional Requirement)
Operational
- Hệ thống sẽ hoạt động trong Windows môi trường HDH
Windows (XP, Vista, Windows 7)
- Cấu hình tối thiểu : Pentium III ,50 Mb HDD, 128 mb RAM
Performance
- Thời gian phản hồi khi người sử dụng thực hiện việc tìm
kiếm,truy xuất các kết quả không được nhiều quá 3 s
- Thời gian để khởi động phần mềm không được quá 7 s
- Thời gian chuyển đổi giữa các form của phần mềm không
được quá 2 s
Security
- Người sử dụng cần nhập đúng username và password để
có thể sử dụng phần mềm
Cutural and Political
- Hệ thống được thiết kế cho người dùng là người Việt
Nam
17
6.4. Yêu cầu chức năng (Functional Requirement)
Nhập thông tin
Cho phép người sử dụng nhập mới,sửa các thông tin:
Với khách hàng:
- Mật khẩu
- Danh sách đăng ký mượn sách
Với nhân viên:
- Sách
- Thể loại sách
- Tác giả
- Số lượng
- Vị trí trong thư viện
Lưu trữ thông tin
Hệ thống cần lưu trữ chi tiết các thông tin về sách,
thông tin cá nhân khách hàng, trạng thái mượn/trả sách
Khi có thông tin thay đổi CSDL có thể được cập nhật
ngay lập tức
Khi có thêm các đầu sách mới và khách hàng mới các
nhân viên sẽ cập nhật vào CSDL
Tìm kiếm thông tin
Hệ thống cho phép người sử dụng tìm kiếm thông tin về
sách, trạng thái sách, vị trí trong thư viện
Hệ thống cho phép nhân viên tìm kiếm thông tin khách
hàng
Xuất hóa đơn, báo
cáo.
Hệ thống có khả năng lấy ra các hóa đơn cho mỗi lần
mượn/trả sách
Hệ thống có khả năng lấy ra các báo cáo về tình hình
mượn trả sách của khách hàng, doanh số,…
18
7. Xây dựng biểu đồ hoạt động
Từ những phân tích phía trên, nhóm tiến hành vẽ lại biểu đồ hoạt động của hệ
thống như sau
19
8. Biểu đồ ca sử dụng
8.1. Nhận diện các ca sử dụng chính
Các ca sử dụng chính bao gồm:
1. Mượn sách
2. Trả sách
3. Tìm kiếm sách
8.2. Mở rộng ca sử dụng chính
Để mượn sách và trả sách cần phải chứng thực khách hàng (Đăng ký với khách
hàng mới, đăng nhập với khách hàng cũ).
Giới hạn mượn sách của người dùng là tổng tiền theo giá bìa nhỏ hơn tiền đặt cọc,
do vậy cần thêm ca sử dụng thay đổi tiền đặt cọc.
Chi phí mỗi tháng cho việc thuê sách là cố định và như nhau với mọi khách hàng
và được thu vào đầu tháng, do đó cần có ca sử dụng để cập nhật phí hàng tháng
của khách. Nếu không đóng sẽ tự động trừ vào tiền cọc.
Mỗi nhân viên cần có tài khoản riêng để dễ dàng cho quản lý, hơn nữa không thể
cho bất cứ ai cũng được thay đổi thông tin tiền cọc, sách mượn,… của khách nên
cần chứng thực nhân viên.
Để khách hàng có thể chứng minh việc đóng tiền của mình, số sách mà mình đang
giữ cần in cho khách 1 hóa đơn để chứng minh khi hệ thống gặp sự cố hay sai xót
của nhân viên. Ngoài ra hóa đơn còn xác thực việc khách có cầm đúng cuốn sách
mà mình mượn về hay không (tránh tình huống khách mượn cuốn sách giá rẻ rồi
lại mang cuốn đắt hơn về nên trước khi ra khỏi của hàng cần cho nhân viên xem
hóa đơn mượn có giống với sách mà khách mang ra không). Cả 2 tình huống đều
cần in hóa đơn.
Ngoài ra còn cần thêm chức năng sửa chữa thông tin cá nhân của khách hàng
dùng cho việc khách hàng muốn thay đổi thông tin hay đổi mật khẩu cá nhân.
20
8.3. Bảng mô tả ca sử dụng
Use case name: Search books
ID: 01
Level: High
Primary actor: Khách hàng
Use Case Type: Detail, essential
Stakaholders and Interests:
Khách hàng – Muốn tìm kiếm thông tin về sách và trạng thái sách còn trên giá.
Brief Description:
Ca sử dụng này cho biết làm sao để tìm kiếm các thông tin cần thiết về sách và trạng
thái của sách trên giá.
Trigger:
Khách hàng nhập thông tin về loại hoặc tên sách, tên tác giả của sách mà khách hàng
muốn mượn.
Relationships:
Association: Khách hàng
Include:
Extend:
Genaralization:
Normal Flow of Events:
1. Khách hàng đưa ra yêu cầu muốn tìm sách.
Nếu muốn tìm theo loại sách, thực hiện subflows S-1.
Nếu muốn tìm theo tên sách, thực hiện subflows S-2.
Nếu muốn tìm theo tác giả, thực hiện subflows S-3.
Subflows:
S-1:
1. Người dùng chọn loại sách có trong danh sách các phân loại sách của thư
viện.
2. Hệ thống trả về các sách có trong phân loại đó.
S-2:
1. Hệ thống trả về là danh sách các cuốn sách có tên giống hoặc gần giống với từ
khóa tìm kiếm của khách hàng.
S-3:
1. Hệ thống trả về danh sách các tác giả có tên giống hoặc gần giống với từ khóa
của khách hàng.
2. Khách hàng chọn tác giả mình mong muốn.
Alternate/Exception Flows:
21
Use case name: Borrow books
ID: 02
Level: High
Primary actor: Khách hàng
Use Case Type: Detail, essential
Stakaholders and Interests:
Khách hàng – Muốn mượn cuốn sách mình cần.
Brief Description:
Ca sử dụng này cho biết làm sao để khách hàng có thể thực hiện thủ tục mượn sách
tại thư viện.
Trigger:
Khách hàng tự lấy sách trên giá rồi nhấn nút “mượn sách” trong phần mềm để thực
hiện thủ tục mượn.
Relationships:
Association: Khách hàng
Include: Chứng thực khách hàng
Extend: Tìm sách
Genaralization:
Normal Flow of Events:
1. Khách hàng đưa ra yêu cầu mượn sách.
2. Khách hàng đưa ra danh sách muốn mượn.
3. Hệ thống sẽ chứng thực xem người dùng có quyền mượn (những) cuốn sách
đó hay không.
Nếu được mượn thực hiện subflows S-1
Nếu không thực hiện subflows S-2
Subflows:
S-1:
1. Hệ thống cập nhật tình trạng mượn trả sách của khách hàng.
2. Hệ thống yêu cầu in hóa đơn.
S2:
Hệ thống báo lỗi, khách hàng có thể quay lại để tiếp tục mượn các cuốn sách khác.
Alternate/Exception Flows:
1. Khách hàng có thể đến lấy trực tiếp sách nếu đã quen thuộc hay mượn 1 cuốn
mình đã biết nó ở khu nào, hoặc sử dụng ca sử dụng tìm sách.
22
Use case name: Return books
ID: 03
Level: High
Primary actor: Nhân viên
Use Case Type: Detail, essential
Stakaholders and Interests:
Khách hàng – Muốn trả sách sau khi đọc xong.
Nhân viên – Cập nhật thông tin trả sách vào hệ thống, xếp sách lên giá.
Brief Description:
Ca sử dụng này cho biết làm sao để khách hàng và nhân viên có thể thực hiện thủ tục
trả sách tại thư viện.
Trigger:
Khách hàng đưa sách cần trả cho nhân viên, nhân viên sẽ thực hiện các thao tác cần
thiết cho thủ tục này.
Relationships:
Association: Nhân viên
Include: Chứng thực nhân viên
Extend:
Genaralization:
Normal Flow of Events:
1. Khách hàng đem sách đến trả cho thư viện.
2. Nhân viên nhập mã khách hàng.
3. Hệ thống sẽ hiện ra danh sách các sách mà khách còn mượn.
4. Nhân viên cập nhật lại thông tin mượn trả sách.
5. Hệ thống yêu cầu in hóa đơn
Subflows:
Alternate/Exception Flows:
2. Hệ thống sẽ yêu cầu chứng thực nhân viên (ngay trước khi hiện lên danh sách các
sách mà khách hàng mượn) xem tài khoản đó có phải của nhân viên hay không.
23
Use case name: Customer authentication
ID: 04
Level: Medium
Primary actor: Khách hàng
Use Case Type: Detail, essential
Stakaholders and Interests:
Khách hàng – Muốn đăng nhập để thực hiện các thủ tục mượn, trả sách….
Hệ thống – Muốn biết người dùng có quyền mượn những cuốn sách đó hay không
Brief Description:
Ca sử dụng này cho biết làm sao để hệ thống có thể thực hiện quá trình chứng thực
khách hàng
Trigger:
Khách hàng đăng nhập với ID và password hoặc tạo tài khoản mới.
Relationships:
Association:
Include:
Extend: Sửa chữa thông tin cá nhân
Genaralization:
Normal Flow of Events:
1. Hệ thống cần chứng thực khách hàng.
2. Khách hàng chưa đăng nhập thì yêu cầu đăng nhập, chưa có tài khoản có thể
đăng ký.
Nếu chứng thực cho việc mượn sách, thực hiện subflows S-1
Nếu chứng thực cho việc tra cứu thông tin mượn./trả sách, thực hiện subflows S-
2
Subflows:
S-1:
Hệ thống kiếm tra xem tổng giá bìa của sách mượn có nhỏ hơn số tiền được
mượn hay không. Nếu có thì chứng thực thành công, nếu không thì chứng thực
thất bại.
S-2:
Sau khi đăng nhập xong thì chứng thực thành công.
Alternate/Exception Flows:
24
Use case name: Manager authentication
ID: 05
Level: Medium
Primary actor: Nhân viên
Use Case Type: Detail, essential
Stakaholders and Interests:
Nhân viên – Muốn đăng nhập để thực hiện các thủ tục trả sách, thay đổi tiền cọc….
Brief Description:
Ca sử dụng này cho biết làm sao để hệ thống có thể thực hiện quá trình chứng thực
nhân viên
Trigger:
Nhân viên đăng nhập với ID và password.
Relationships:
Association:
Include:
Extend:
Genaralization:
Normal Flow of Events:
1. Hệ thống cần chứng thực nhân viên.
2. Nhân viên chưa đăng nhập thì yêu cầu đăng nhập, đăng nhập xong thì chứng
thực thành công.
Subflows:
Alternate/Exception Flows:
25
Use case name: Change deposit
ID: 06
Level: Medium
Primary actor: Nhân viên
Use Case Type: Detail, essential
Stakaholders and Interests:
Nhân viên – Thực hiện thay đổi tiền cọc khi khách hàng yêu cầu
Brief Description:
Ca sử dụng này cho biết làm sao để nhân viên có thể thay đổi tiền đặt cọc của khách
hàng
Trigger:
Nhân viên nhập ID của khách hàng, thông tin hiện ra và nhân viên thay đổi tiền đặt
cọc
Relationships:
Association: Nhân viên
Include: Chứng thực nhân viên, In hóa đơn
Extend:
Genaralization:
Normal Flow of Events:
1. Khách hàng yêu cầu thay đổi tiền đặt cọc
2. Nhân viên nhập mã khách hàng.
3. Hệ thống yêu cầu chứng thực nhân viên
Nếu thành công thực hiện subflows S-1
Nếu không thực hiện subflows S-2
Subflows:
S-1:
1. Hệ thống hiện lên tiền cọc hiện tại của khách hàng.
2. Nhân viên nhập tiền cọc mới.
3. Hệ thống yêu cầu in hóa đơn.
S-2:
Yêu cầu đăng nhập với tài khoản nhân viên.
Alternate/Exception Flows: