BÀI TẬP LỚN MÔN PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Hệ thống quản lý thư viện - Pdf 23

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

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

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

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).
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

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.

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

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 :

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.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

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)


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

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

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,

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

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.

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:

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:

Trích đoạn Biểu diễn các điểm bắt đầu hoạt động trên mỗi đường sống
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status