BÀI TẬP LỚN Phân tích thiết kế hướng đối tượng Thiết kế phần mềm quản lý thư viện Vấn đề kinh doanh của thư viện có vấn đề: lượng khách hàng giảm dần dẫn đến doanh số giảm. Qua điều tra phát hiện lý do: Hỗ trợ khách hàng kém (chậm trễ, không chính xác), dẫn đến khách hàng không hài lòng với dịch vụ. Bị cạnh tranh bởi một thư viện khác trên cùng địa bàn nhiều nhân viên hơn, chất lượng phục vụ tốt hơn. Các phương án được đề xuất: PA1: Tăng số lượng nhân viên PA2: Xây dựng hệ thống quản lý thư viện thông minh hơn bằng phần mềm máy tính Phương án 2 là tốt hơn và được lựa chọn
Trang 1BÁO CÁO BÀI TẬP LỚN LẦN 1 Môn: Phân tích thiết kế hướng đối tượng
Đề tài: Thiết kế phần mềm quản lý thư viện
Nhóm sinh viên thực hiện: Nhóm 5, Lớp KSTN – ĐTVT K54
Đỗ Trung Đức (nhóm trưởng) Nguyễn Tiến Đạt
Hoàng Văn Pháp
Trang 21 Yêu cầu hệ thống của chương trình quản lý thư viện 3
2 Phân tích tính khả thi 4
a Khả thi về mặt kỹ thuật: 4
b Khả thi về mặt kinh tế 5
3 Xác định kích thước hệ thống theo phương pháp điểm chức năng 9
4 Xây dựng kế hoạch phát triển hệ thống với biểu đồ Gantt 12
WBS 12
Biểu đồ Gantt 13
5 Xây dựng tài liệu yêu cầu hệ thống (bằng các phương pháp thu thập yêu cầu: phân tích tài liệu và quan sát) 14
6 Xây dựng biểu đồ hoạt động 18
7 Xây dựng biều đồ ca sử dụng 19
Nhận diện các ca sử dụng chính 19
Mở rộng ca sử dụng chính 19
Bảng mô tả ca sử dụng 20
Vẽ biểu đồ ca sử dụng 29
Bảng quan hệ: 29
Biểu đồ ca sử dụng: 30
Trang 3Chương trình quản lý thư viện
1 Yêu cầu hệ thống của chương trình quản lý thư viện
a Chủ nhiệm dự án (project sponsor)
Đỗ Trung Đức (trưởng nhóm)
b Nhu cầu kinh doanh (Business Need)
Vấn đề kinh doanh của thư viện có vấn đề: lượng khách hàng giảm dần dẫn đến doanh số giảm
Qua điều tra phát hiện lý do:
- Hỗ trợ khách hàng kém (chậm trễ, không chính xác), dẫn đến khách hàng không hài lòng với dịch vụ
- Bị cạnh tranh bởi một thư viện khác trên cùng địa bàn nhiều nhân viên hơn, chất lượng phục vụ tốt hơn
Các phương án được đề xuất:
PA1: Tăng số lượng nhân viênPA2: Xây dựng hệ thống quản lý thư viện thông minh hơn bằng phần mềm máy tính
Phương án 2 là tốt hơn và được lựa chọn
c Yêu cầu kinh doanh (Business Requirement)
o Phần mềm cuối cùng dễ dàng tương thích với các hệ điều hành thông dụng
và chạy ổn định, tin cậy
o Phần mềm có kích thước nhỏ gọn, không đòi hỏi cấu hình phần cứng cao
o Những chức năng của phần mềm :
Đối với người mượn sách:
- Tìm kiếm thông tin về sách cần mượn theo tên sách, tácgiả, thể loại, vị trí của sách trong thư viện
- Xem thông tin về trạng thái mượn sách, sách đang mượn,lịch sử mượn sách,…
Đối với nhân viên thư viện:
- Quản lý sách trong thư viện Thêm/sửa/xóa các đầu sách.Xem lịch sử mượn sách
- Quản lý trạng thái mượn/trả sách, trạng thái tài khoản đặtcọc, phí duy trì tài khoản của khách mượn sách
- In hóa đơn
Trang 4d Giá trị kinh doanh (Business Values)
o Giá trị hữu hình:
- Giảm 40% chi phí nhờ cắt giảm số nhân viên thư viện
- Thu hút thêm 20% khách hàng nhờ tính tiện dụng cao
2 Phân tích tính khả thi
a Khả thi về mặt 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 gianlà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ềmquản lý thư viện tuy nhiên do cơ chế hoạt động khác nhau và do lần đầuthự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ệ
- Nền khi hoạt động của phần mềm là HDH Windows 7 trở về trướcKí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ý
Trang 5Tươ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
- Tuy nhiên tính tương thích với các HDH như linux và mac os là không tốt
- Chi phí quảng cáo và tiếp thị
- Chi phí cài đặt ban đầu
Chi phí vận hành:
- Cập nhật phần mềm
- Bảo trì và sửa lỗi phần mềm
Lợi nhuận hữu hình:
- Bán phần mềm
Lợi nhuận vô hình:
- Kinh nghiệm về quản lí dự án và xây dựng phần mềm
- Nâng cao khả năng làm việc theo nhóm
- Có thêm các kinh nghiệm về nghiệp vụ quản lý thư việnĐịnh lượng các loại chi phí và lợi nhuận
Chi phí & Lợinhuận
trị(VND)Chi phí phát triển Đầu tư tài liệu và nghiên
cứu
1.000.000
Chi phí thực hiện phần mềm 1.000.000Chi phí quảng cáo và tiếp thị 1.500.000Chi phí vận hành Cập nhật phần mềm 100.000
Bảo trì và sửa lỗi phần mềm 300.000
Tổng chi phí: 3.900.000VND
Trang 6Tổng thu nhập: 2.500.000VNDTính toán Lưu chuyển tiền tệ (Cash Flow)
Trang 8Yearly NPV (1.272.727) 1.446.280 1.390.684 1.263.711 1.183.526 4.011.474 Cumulative
Trang 9 Như vậy, dự án đã khả thi về các mặt kinh tế và kĩ thuật
3 Xác định kích thước hệ thống theo phương pháp điểm chức năng
Tính toán số điểm chức năng
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àngTạ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áchTruy 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
Tính toán tổng số điểm chức năng chưa hiệu chỉnh (TUFP - Total
unadjusted function Points):
Decription
ComplexityTotal
Numbers
Trang 10Files 1 1 x 7 0 x 10 0 x 15 7
Total Unadjusted Function Points ( TUFP ) : 89
Tính tổng độ phức tạp xử lý (TPC-Total Processing Complexity) :
Total Lines of Codes (TLC) = 62.3 * 30 = 1869 total lines of code
Đá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
Trang 11Đánh giá thời gian cần thiết :
Schedule Time = 3.0 * person-months1/3 = 3.0 * 3.26341/3 = 4.13 months
Trang 124 Xây dựng kế hoạch phát triển hệ thống với biểu đồ Gantt
4.3 Đóng gói phần mềm + Cài đặt
Trang 13Biểu đồ Gantt
Trang 145 Xây dựng tài liệu yêu cầu hệ thống (bằng các phương pháp thu thập yêu cầu: phân tích tài liệu và quan sát)
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
Chi phí dự án (Project cost) Low – Moderate
Phạm vi phân tích (Breadth of analysis) Narrow – 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)
Lựa chọn phương pháp thu thập yêu cầu
Dựa vào việc đánh giá các tiêu chí trên , Nhóm quyết định lựa chọn 3 phương pháp thu thập yêucầu là
Điều tra (Questionnaires)
Phân tích tài liệu (Document Analysis)
Quan sát (Observation)
Điều tra ( Questionaires)
Trang 15• 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
• 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?
Trang 16Phân tích tài liệu (Document Analysis)
Nghiên cứu và phân tích các tài liệu sau :
• Tài liệu mô tả mô hình hoạt động của các thư viện
• Các loại sách và mô tả ngắn gọn của từng sách
• Sổ sách kinh doanh của thư viện
• Các thống kê về khách hàng của thư viện (độ tuổi, giới tính,…)
• Tài liệu về các phần mềm có chức năng tương tự
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
Kết hợp những phương pháp trên, nhóm đã xây dựng được yêu cầu hệ thống:
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ềmCutural and - Hệ thống được thiết kế cho người dùng là người Việt Nam
Trang 17Yê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:
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
Trang 186 Xây dựng biểu đồ hoạt động
Trang 19 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ủakhá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 đanggiữ 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ủanhâ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ìnhmượ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 đắthơ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ốngvớ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àngdùng cho việc khách hàng muốn thay đổi thông tin hay đổi mật khẩu cá nhân
Trang 20Bảng mô tả ca sử dụng
Use case name: Tìm sách 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á
Normal Flow of Events:
1 Khách hàng chọn loại sách trong danh sách hoặc gõ tên sách, tên tác giả vào ô
tìm kiếm
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
2 Hệ thống trả về các kết quả cần thiết
Subflows:
S-1:
Có 1 danh sách các loại sách mà thư viện có cho người dùng lựa chọn
1 Kết quả trả về vị trí của loại sách trong thư viện và danh sách các đầu sách có
trong loại sách đó
2 Người dùng có thể tới khu chứa loại sách đó để tiếp tục tìm kiếm theo cách
truyền thống (đọc thử sách) hoặc xem mô tả của sách bằng cách bấm chọn
3 Khách hàng có thể đến vị trí các cuốn sách đó để tìm kiếm theo cách truyền
thống, hoặc bấm vào xem mô tả của cuốn sách
Alternate/Exception Flows:
Trang 21Use case name: Mượn sách 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
2 Khách hàng lấy sách mình cần rồi ấn nút “mượn sách” trên phần mềm
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 sẽ tự động in hóa đơn bao gồm thông tin về những sách khách
hàng mượn mới cũng như số sách khách hàng còn chưa trả
2 Nhân viên sẽ đối chiếu hóa đơn với số sách khách hàng đem ra để chứng
thực khách hàng đem về đúng cuốn mà khách chọn mượn
3 Nhân viên đóng dấu xác nhận việc mượn sách trước khi khách hàng đem
sách về
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
Trang 22Use case name: Trả sách ID: 03 Level: High
Primary actor: Khách hàng 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 sẽ hỏi rồi nhập mà khách hàng vào phần mềm Phần mềm sẽ hiện ra
danh sách các sách mà khách còn mượn, nhân viên nhấn nút xóa đi các cuốn
sách tương ứng
3 Hệ thống sẽ hiện lên hỏi khách hàng có tiếp tục mượn sách ngay hay không
Nếu khách hàng muốn mượn tiếp sách, thực hiện subflows S-1
Nếu khách hàng chỉ đến để trả sách, thực hiện subflows S-2
4 Nhân viên xếp lại sách trên giá theo đúng vị trí của nó
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
Trang 23Use case name: Chứng thực khách hàng 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
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 đặt cọc 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 cũng thành công
Alternate/Exception Flows:
Trang 24Use case name: Chứng thực nhân viên 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…
Trang 25Use case name: Thay đổi tiền cọc 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
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 ID của khách hàng rồi nhấn nút “thay đổi tiền cọc”
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 cho 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 sẽ tự động in hóa đơn cho khách hàng có thông tin về số tiền cọc