ood sample

Upload: luong-dinh-thap

Post on 07-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 OOD Sample

    1/57

    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 v iê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

  • 8/18/2019 OOD Sample

    2/57

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

  • 8/18/2019 OOD Sample

    3/57

    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

  • 8/18/2019 OOD Sample

    4/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âncù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ốnsá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ộttrong 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ừ nglà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ảicắ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ạnhtranh 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 trongviệ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ờ igian phục vụ khách hàng vẫn nhanh chóng như cũ. Qua đó nâng cao lợ i nhuận, khả năngcạ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áckiế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ờ icũ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ếnhà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ầytrong 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 

  • 8/18/2019 OOD Sample

    5/57

    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ườ ngTHPT 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ânviê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 ạngthá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ácthự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áchkhá 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ápThiế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.

  • 8/18/2019 OOD Sample

    6/57

    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ốngsẽ 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ớ ihó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áchhàng giữ. Nhấn xóa các cuốn khách tr ả. 

    2.3. 

    Tìm kiế mHỗ 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ôngmớ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ẽ đượ cgiao cho khách hàng sau mỗi lần giao dịch.

  • 8/18/2019 OOD Sample

    7/57

    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ướ ngthuyế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ẵ ncó 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í cho10 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 http://www.extreme.outervision.com/PSUEngine thì bộ máy trêncó công suất trung bình 98W.

    http://www.extreme.outervision.com/PSUEnginehttp://www.extreme.outervision.com/PSUEnginehttp://www.extreme.outervision.com/PSUEnginehttp://www.extreme.outervision.com/PSUEngine

  • 8/18/2019 OOD Sample

    8/57

    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ơnr ấ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 ổngTotal 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%

  • 8/18/2019 OOD Sample

    9/57

    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ậntrung 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ợ inhuậ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ênngà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ứcnă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.

  • 8/18/2019 OOD Sample

    10/57

    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

    NumbersLow 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

  • 8/18/2019 OOD Sample

    11/57

    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 1Total 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.26341/3 = 4.13 months

  • 8/18/2019 OOD Sample

    12/57

    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 Progress1.1 Tìm hi ểu yêu c ầu 1 Complete1.2 Phân tích và xác định yêu c ầu 3 1.1 Complete1.3 Ti ế n hành mô hình hóa 7 1.2 Complete1.4 Dữ liệu sách 2 1.2 Open1.5 Thi ế t k ế  giao diện 3 1.4 Open1.6 Lập trình 14 1.5,1.4,1.3 Open1.7 Chạy thử + Debug 5 1.6 Open2 Quản lý khách hàng 28 In Progress

    2.1 Tìm hi ểu yêu c ầu 1 Complete2.2 Phân tích và xác định yêu c ầu 3 2.1 Complete2.3 Ti ế n hành mô hình hóa 5 2.2 Complete2.4 Dữ liệu khách hàng 2 2.2 Open2.5 Thi ế t k ế  giao diện 3 2.4 Open2.6 Lập trình 10 2.5,2.4,2.3 Open2.7 Chạy thử + Debug 4 2.6 Open3 Quản lý mượ n/tr ả sách 42 1 , 2 In Progress3.1 Tìm hi ểu yêu c ầu 1 Complete3.2 Phân tích và xác định yêu c ầu 3 3.1 Complete3.3 Ti ế n hành mô hình hóa 7 3.2 Complete3.4 Dữ liệu mượn/trả sách 4 3.2 In Progess3.5 Thi ế t k ế  giao diện 3 3.4 Open3.6 Lập trình 17 3.5,3.4,3.3 0pen3.7 Chạy thử + Debug 7 3.6 0pen4 Hoàn thi ện ph ần m ềm 14 1,2,3 0pen4.1 Ráp chương trình + test thử  7 0pen4.2 Tạo bản hướng d ẫn sử dụng 1 0pen4.3 Đóng gói phần m ềm + Cài đặt

    thử nghiệm5 4.1 0pen

    4.4 Báo cáo t ổng k ế t dự án 1 1,2,3,4 0pen

  • 8/18/2019 OOD Sample

    13/57

    13

    5.2.  Biểu đồ Gantt

  • 8/18/2019 OOD Sample

    14/57

    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 (Potentialbusiness value)

    Moderate

    Chi phí dự án (Project cost)  Low – ModeratePhạm vi phân tích (Breadth of analysis)  Narrow – ModerateRủ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íchyê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 độngtrong 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ủangườ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òntồn tại cần phải giải quyết.

  • 8/18/2019 OOD Sample

    15/57

    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ốtc. 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áchd.  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ệ 

  • 8/18/2019 OOD Sample

    16/57

    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 mongmuố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ũnglà 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 HDHWindows (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ệtNam

  • 8/18/2019 OOD Sample

    17/57

    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ácnhâ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áchhàng

    Xuất hóa đơn, báocá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ìnhmượn trả sách của khách hàng, doanh số,… 

  • 8/18/2019 OOD Sample

    18/57

    18

    7.  Xây dựng biểu đồ hoạt độngTừ 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 

  • 8/18/2019 OOD Sample

    19/57

    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ách3.  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áchhà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àngvà đượ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êncầ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ótcủ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áchmà 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 ồilạ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 xemhóa đơn mượ n có giống vớ i sách mà khách mang ra không). Cả 2 tình huống đềucầ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.

  • 8/18/2019 OOD Sample

    20/57

    20

    8.3.  Bảng mô t ả ca sử dụngUse case name: Search books ID: 01 Level: HighPrimary 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ạngthá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àngmu ố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óacủa khách hàng.

    2.  Khách hàng chọn tác giả mình mong mu ốn.Alternate/Exception Flows: 

  • 8/18/2019 OOD Sample

    21/57

    21

    Use case name: Borrow books ID: 02 Level: HighPrimary 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áchtạ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ựchiện thủ tục mượn.

    Relationships: Association: Khách hàng

    Include: Chứng thực khách hàngExtend: 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-1N ế 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 ốnmình đã biế t nó ở khu nào, hoặc sử dụng ca sử dụng tìm sách.

  • 8/18/2019 OOD Sample

    22/57

    22

    Use case name: Return books ID: 03 Level: HighPrimary 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ụctrả 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 ầnthi ế t cho thủ tục này.Relationships: Association: Nhân viên

    Include: Chứng thực nhân viênExtend: 

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

  • 8/18/2019 OOD Sample

    23/57

    23

    Use case name: Customer authentication ID: 04 Level: MediumPrimary 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ựckhá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ânGenaralization:

    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-1N ế 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 đượcmượn hay không. N ế u có thì chứng thực thành công, n ế u không thì chứng thựcth ấ t bại.

    S-2:

    Sau khi đăng nhập xong thì chứng thực thành công.

    Alternate/Exception Flows:

  • 8/18/2019 OOD Sample

    24/57

    24

    Use case name: Manager authentication ID: 05 Level: MediumPrimary 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ựcnhâ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:

  • 8/18/2019 OOD Sample

    25/57

    25

    Use case name: Change deposit ID: 06 Level: MediumPrimary 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 ầuBrief 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áchhà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 đặtcọ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ọc2.  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ênN ế u thành công thực hiện subflows S-1N ế 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:

  • 8/18/2019 OOD Sample

    26/57

    26

    Use case name: Update monthly fee ID: 07 Level: MediumPrimary actor: Nhân viên Use Case Type: Detail, essential

    Stakaholders and Interests:Nhân viên – Cập nhật tình hình đóng phí hàng tháng khi khách hàng đóng tiềnBrief Description:

    Ca sử dụng này cho bi ết làm sao để nhân viên có th ể cập nhật tình hình đóng phí sử dụng hàng tháng 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 thời hạnđã đóng phí của khách hàng.

    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 đóng phí hàng tháng. 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ênN ế u thành công thực hiện subflows S-1N ế u không thực hiện subflows S-2

    Subflows:S-1:

    1. 

    Hệ th ống hiện lên thông tin khách hàng đã đóng phí đế n tháng nào.2.  Nhân viên nhập hạn đóng phí 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:

  • 8/18/2019 OOD Sample

    27/57

    27

    Use case name: Print bills ID: 08 Level: MediumPrimary actor: Hệ th ống Use Case Type: Detail, essential

    Stakaholders and Interests:Hệ th ống – In hóa đơn trong các trường hợp c ần thi ế t.Brief Description:

    Ca sử dụng này cho bi ết làm sao để hệ th ống có th ể in hóa đơn cho khách hàng. Trigger:Hệ th ống tự động in.Relationships: Association: 

    Include: 

    Extend: 

    Genaralization:

    Normal Flow of Events:1.  Hệ th ống yêu c ầu in hóa đơn. 

    2. 

    In hóa đơn. Subflows:

    Alternate/Exception Flows:2. Hóa đơn có đầy đủ thông tin v ề ti ền cọc, phí hàng tháng và cả những sách kháchhàng đang giữ.

  • 8/18/2019 OOD Sample

    28/57

    28

    Use case name: Change user informations ID: 09 Level: LowPrimary actor: Khách hàng Use Case Type: Detail, essential

    Stakaholders and Interests:Khách hàng – Mu ốn thay đổi các thông tin v ề tài khoản của mình.Brief Description:

    Ca sử dụng này cho bi ết làm sao để khách hàng có th ể thay đổi thông tin cá nhân củamình.

    Trigger:Khách hàng sau khi đăng nhập có th ể vào form thông tin cá nhân để thay đổi

    Relationships: Association: Khách hàng

    Include: Chứng thực khách hàngExtend: 

    Genaralization:

    Normal Flow of Events:

    1. 

    Khách hàng mu ốn thay đổi thông tin cá nhân.2.  Hệ th ống yêu c ầu chứng thực khách hàngN ế u thành công, thực hiện subflows S-1N ế u th ấ t bại, thực hiện subflows S-2

    Subflows:S-1:

    1.  Khách hàng sửa thông tin cá nhân.2.  Hệ th ống cập nhật thông tin mới của khách hàng.

    S-2:

    Hệ th ống yêu c ầu khách hàng đăng nhập lại.Alternate/Exception Flows:

  • 8/18/2019 OOD Sample

    29/57

    29

    8.4.  Vẽ biểu đồ ca sử dụngUse case name Primary

    actorRelationship

    Association Include Extend

    Search books Customer Customer

    Borrow books Customer Customer Customer

    authentication

    Print bills

    Search books

    Return books Customer Manager Manager

    authentication

    Print bills

    Change user

    information

    Customer Customer Customer

    authentication

    Customer

    authentication

    Customer

    Change deposit Manager Manager Manager

    authenticationPrint bills

    Update monthly

    fee

    Manager Manager Manager

    authentication

    Print bills

    Print bills Manager

    Manager

    authentication

    Manager

  • 8/18/2019 OOD Sample

    30/57

    30

  • 8/18/2019 OOD Sample

    31/57

    31

    9.  Biểu đồ lớp Nhóm tiến hành vẽ biểu đồ lớ  p cho ca sử dụng chính là tìm sách, mượ n sách và

    tr ả sách.

    9.1. 

    Nhận diện lớpCa sử  dụng tìm sách

    Normal Flow of Events:

    2.  Khách hàng đưa ra yêu c ầu 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:

    3.  Khách hàng  chọn sách theo chuyên ngành có trong danh sách các phân loạisách của thư viện.

    4.  Hệ th ống trả v ề các danh sách sách theo phân loại sách đó. S-2:

    2.  Khách hàng chọn sách theo tên có trong danh sách các phân loại sách của thưviện

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

    3.  Khách hàng chọn sách theo tác giả mình mong mu ốn.4.

     

    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óacủa khách hàng.

     Như vậy, các lớ  p ứng tuyển là: khách hàng, sách, yêu cầu tìm sách, danh sách tìm

    kiếm theo loại sách, danh sách tìm kiếm theo tên sách, danh sách tìm kiếm theo tên tácgiả.

    Khách hàng là ngườ i tạo ra việc tìm kiếm theo tên, phân loại hoặc theo tác giả.

  • 8/18/2019 OOD Sample

    32/57

    32

    Ca sử  dụng mượ n sách

    Normal Flow of Events:

    4. 

    Khách hàng đưa ra yêu c ầu mượn sách.5.

     

    Khách hàng đưa ra danh sách mu ốn mượn.6.

     

    Hệ th ống sẽ chứng thực xem người dùng có quy ền mượn (những) cu ốn sách đó haykhô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:

    3. 

    Hệ th ống cập nhật tình trạng mượn trả sách của khách hàng.

    4. 

    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.

     Ngoài các lớ  p ứng tuyển như ở  trên, có thêm các lớ  p ứng tuyển sau: yêu cầu mượ nsách, danh sách muốn mượn sách, hóa đơn. 

    Khách hàng là ngườ i tạo ra yêu cầu mượn sách. Hóa đơn cần đượ c in ra mỗi khicó sự thay đổi trong việc mượ n tr ả sách.

    Ca sử  dụng trả sách

    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ăn cứ vào danh sách các sách trả để 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 N ế u khách hàng chỉ đến để trả sách, thực hiện subflows S-2.

    Subflows:

     Ngoài các lớ  p ứng tuyển ở  2 trườ ng hợ  p trên, còn có lớp danh sách sách đã mượ n,nhân viên, danh sách các sách tr ả.

     Nhân viên làm nhiệm vụ xác nhận việc tr ả sách có hợ  p lý hay không. Nếu việc tr ả sách là hợ  p lệ, thông tin mượ n tr ả đượ c cậ p nhật lại.

  • 8/18/2019 OOD Sample

    33/57

    33

    9.2.  Xây dựng thẻ CRC

  • 8/18/2019 OOD Sample

    34/57

    34

  • 8/18/2019 OOD Sample

    35/57

    35

  • 8/18/2019 OOD Sample

    36/57

    36

  • 8/18/2019 OOD Sample

    37/57

    37

  • 8/18/2019 OOD Sample

    38/57

    38

  • 8/18/2019 OOD Sample

    39/57

    39

  • 8/18/2019 OOD Sample

    40/57

    40

  • 8/18/2019 OOD Sample

    41/57

    41

  • 8/18/2019 OOD Sample

    42/57

    42

    9.3.  Vẽ biểu đồ lớp

  • 8/18/2019 OOD Sample

    43/57

    43

    10.  Biểu đồ tu ần t ự 

    10.1.  Xác định ngữ cảnh Nhóm vẽ biểu đồ lớ  p cho 3 ca sử dụng chính: Tim sách, mượ n sách và tr ả sách.

    10.2.  Xác định các đối tượng tham gia

    10.2.1. Tìm sách

    Normal Flow of Events:

    1.  Khách hàng đưa ra yêu cầu 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.  Khách hàng chọn sách theo chuyên ngành có trong danh sách các phân lo ạisách của thư viện.

    2. 

    Hệ th ống trả v ề các danh sách sách theo phân loại sách đó. S-2:

    1.  Khách hàng chọn sách theo tên có trong danh sách các phân loại sách của thưviện

    2.  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.  Khách hàng chọn sách theo tác giả mình mong mu ốn.2.  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.

     Nhóm sẽ vẽ biểu đồ tuần tự cho cả 3 k ịch bản tìm kiếm

  • 8/18/2019 OOD Sample

    44/57

    44

    Dựa vào Normal of flow events của ca sử dụng tìm sách ta nhận diện được các đốitượ ng sau:

      Đối tượ ng khách hàng (User)  Đối tượ ng sách (Book) 

    Danh sách các cuốn sách có trong thư viện (BookList)  Yêu cầu tìm kiếm (SearchRequest)  Đối tượ ng k ết quả tìm kiếm (ResultList)  Thông tin tác giả (Author)  Tổng quan về sách (Review) 

    10.2.2. Mượn sách

    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.

    Các đối tượng đượ c nhận diện như sau: 

     

    User  BookList

      Danh sách sách mà khách hàng muốn mượ n: BorrowList  Danh sách sách mà khách hàng đang giữ: BorowedList  Yêu cầu mượ n sách: BorrowRequest  Hóa đơn: Bill 

  • 8/18/2019 OOD Sample

    45/57

    45

    10.2.3. Trả sách

    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ăn cứ vào danh sách các sách trả để cập nhật lại thông tin mượn

    trả sách.5.  Nhân viên hỏi khách hàng có ti ế p tục mượn sách ngay hay khôngN ế 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.

    Subflows:

    S-1:

    Khách hàng chuy ển qua ca sử dụng mượn sách.

    S-2:

    Hệ th ống yêu c ầu in hóa đơn. 

    Các đối tượng đượ c nhận diện như sau: 

       Nhân viên thư viện: Manager  BookList

      Danh sách sách mà khách hàng muốn tr ả: ReturnList  Danh sách sách mà khách hàng đang giữ: BorowedList  Yêu cầu tr ả sách: ReturnRequest  Bill

    10.3.  Xác định đường sống cho mỗi đối tượng.

    10.3.1. 

    Tìm sách

    Đối tượ ng SearchRequest và ResultList sẽ đực tạo ra theo yêu cầu của khách hàngvà hủy đi ngay sau đó. 

    Các đối tượ ng còn lại đượ c khở i tạo ngay khi bắt đầu sử dụng hệ thống và tồn tạiđến hết nên không bị hủy đi. 

  • 8/18/2019 OOD Sample

    46/57

    46

    10.3.2. Mượn sách

    Các đối tượ ng BorrowRequest, BorrowList, Bill đặc trưng cho 1 lần giao dịch nênsẽ đượ c hủy đi ngay khi kết thúc giao dịch.

    10.3.3. Trả sách

    Các đối tượng ReturnRequest, ReturnList, Bill đặc trưng cho 1 lần giao dịch nênsẽ đượ c hủy đi ngay khi kết thúc giao dịch.

    10.4.  Biểu diễn thông điệp.

    10.4.1. Tìm sách

       Ngườ i dùng tạo yêu cầu tìm kiếm theo loại sách: make_catSR.  Hệ thống sẽ tìm kiếm trong cơ sở  dữ liệu những sách thỏa mãn: findbooks  K ết quả đượ c tr ả về trong ResultList: result_in  Đọc thông tin chi tiết về quyển sách mong muốn: getBasicInfor,

    getAuthorInfor, getReviewInfor

    10.4.2. Mượn sách

       Ngườ i dùng tạo yêu cầu mượ n sách: makeBR   Ngườ i dùng tạo danh sách sách muốn mượ n: create_borrList  Hệ thống cậ p nhật sách đã mượn trong cơ sở  dữ liệu và trong danh sách mượ n

    của khách: update  Hệ thống in hóa đơn: makeBill 

    10.4.3. 

    Trả sách   Nhân viên tạo yêu cầu tr ả sách: makeRR   Nhân viên tạo danh sách sách muốn tr ả: create_returnList  Hệ thống cậ p nhật sách đã trả trong cơ sở  dữ liệu và trong danh sách mượ n của

    khách: update

      Hệ thống in hóa đơn: printBill 

    10.5.  Biểu diễn các điểm bắt đầu hoạt động trên mỗi đường sống.

    10.6.  Kiểm tra lại biểu đồ.

    Bướ c 5 và 6 sẽ trình bày trên biểu đồ tuần tự tương ứng.

  • 8/18/2019 OOD Sample

    47/57

    47

    Tìm sách

  • 8/18/2019 OOD Sample

    48/57

    48

    Mượ n sách

  • 8/18/2019 OOD Sample

    49/57

    49

    Trả sách

  • 8/18/2019 OOD Sample

    50/57

    50

    11.  Biểu đồ giao tiế pKhi đã có biểu đồ tuần tự, ta vẽ đượ c biểu đồ giao tiếp như sau 

    11.1.  Tìm sách

  • 8/18/2019 OOD Sample

    51/57

    51

    11.2.  Mượn sách

  • 8/18/2019 OOD Sample

    52/57

    52

    11.3.  Trả sách

  • 8/18/2019 OOD Sample

    53/57

    53

    12.  Biểu đồ máy trạng thái

    Lựa chọn 2 đối tượng là “BorrowRequest” và “SearchRequest” để vẽ sơ đồ tr ạng thái.

    12.1. 

    BorrowRequest

    1. 

    Khách hàng tạo một yêu cầu mượ n sách là một danh sách các cuốn sách cần mượ n2.

     

    Khách hàng gửi yêu cầu mượ n sách của mình sau khi đã chọn xong3.

     

    Hệ thống tự động kiểm tra yêu cầu của khách hàng để đảm bảo tổng giá tr ị cáccuốn sách nhỏ hơn hoặc bằng số tiền đặt cọc còn lại của khách hàng

    4.   Nếu tổng giá các cuốn sách lớn hơn số tiền đặt cọc còn lại của khách hàng, yêucầu bị từ chối và đượ c gửi lại cho khách hàng để sửa hoặc hủy

    5. 

     Nếu tổng giá các cuốn sách nhỏ hơn số tiền đặt cọc, yêu cầu đượ c chấ p nhận6.

     

    Hệ thống in hóa đơn.7.

     

    Khách hàng nhận sách và hóa đơn 8.

     

    Yêu cầu đượ c đóng lại

  • 8/18/2019 OOD Sample

    54/57

    54

    12.2.  SearchRequest

    1. 

    Khách hàng tạo một yêu cầu tìm sách (tìm theo tên, tìm theo thể loại, tìm theo tácgiả)

    2. 

    Khách hàng gửi yêu cầu tìm sách của mình cho hệ thống3.  Hệ thống kiểm tra yêu cầu tìm kiếm của khách hàng để đảm bảo yêu cầu tìm kiếm

    đó có lỗi (không chứa ký tự đặc biệt, không quá dài/ngắn,…) 4.

     

     Nếu yêu cầu tìm kiếm có lỗi, yêu cầu bị từ chối và đượ c tr ả lại cho khách hàng để chỉnh sửa hoặc hủy bỏ 

    5. 

     Nếu yêu cầu tìm kiếm không có lỗi, yêu cầu đượ c chấ p nhận6.

     

    Các k ết quả tìm kiếm đượ c gửi về cho khách hàng7.

     

    Yêu cầu được đóng lại

  • 8/18/2019 OOD Sample

    55/57

    55

    13.  Biểu đồ gói

     Biểu đồ l ớ  p của hệ thố ng

    13.1.  Xác định ngữ cảnhXây dựng biểu đồ gói cho tầng miền bài toán

    13.2. 

    Nhóm các lớp lại với nhau thành các gói  Các lớ  p SearchRequest, TitleSearch, AuthorSearch, CategorySearch và

    ResultList có quan hệ  tổng quát hóa vớ i nhau (4 lớp đầu) và có quan hệ chặtchẽ  vớ i nhau khi cùng thực hiện chức năng tìm kiếm đượ c nhóm vớ i nhauthành gói search_pkg. 

      Lớ  p BorrowedList chỉ  liên k ết vớ i lớ  p User_ class, đặc trưng cho các quyểnsách mà khách hàng đang mượn. Do đó 2 lớp này đượ c nhóm chung vớ i nhauthành gói user_pkg.

      Lớ  p BookList, Book, Author và Review có quan hệ tổng thể bộ phận và cùngcho các thông tin cơ bản về  sách nên đượ c nhóm vớ i nhau thành góibook_pkg.

      Lớp BorrowRequest và BorrowList đặc trưng cho giao dịch mượ n sách, cùngchung 1 mục đích với nhau đượ c nhóm vớ i nhau thành gói borrow_pkg.

      Tương tự vớ i 2 lớ  p ReturnList và ReturnRequest thành gói return_pkg.  2 lớ  p Manager_class và Bill sẽ  không đượ c nhóm và tr ở   thành gói riêng:

    manager_pkg và bill_pkg.

  • 8/18/2019 OOD Sample

    56/57

    56

    13.3.  Xác định mối quan hệ phụ thuộc giữa các gói

      Cả 3 gói search_pkg, borrow_pkg, return_pkg đều phụ thuộc vào gói book_pkg.   Ngườ i dùng (user_pkg) phải phụ thuộc vào các phương pháp tìm kiếm

    (search_pkg) phần mềm cung cấ p.  Borrow_pkg phụ thuộc vào user_pkg bở i mỗi ngườ i dùng sẽ có số tiền giớ i hạn

    mượ n khác nhau.  Return_pkg sẽ phụ thuộc vào manager_pkg.  Bill_pkg phụ thuộc vào cả 3 gói user_pkg, return_pkg và borrow_pkg.

    13.4.  Vẽ biểu đồ gói

  • 8/18/2019 OOD Sample

    57/57

    K ế t quả đạt đượcĐến thời điểm này dự án quản lý thư viện của chúng em vẫn đang trong quá trình

    coding. Quá trình thực hiện dự án đã tạo cho chúng em cách làm việc theo nhóm sao chođạt hiệu quả cao nhất, cách sắ p xế p thờ i gian bố trí công việc một cách hợp lý và đặc biệtđã giúp cho chúng em hiểu được bài hơn, giúp cho chúng em nắm rõ đượ c quy trình thựchiện một dự án từ khi bắt đầu đến khi k ết thúc. Do thờ i gian còn hạn chế nên dự án chưathể đi sâu vào tất cả các vấn đề cần giải quết, tuy nhiên nó cũng đã giúp cho chúng em cóđượ c những hiểu biết, nắm đượ c cách tiến hành và hy vọng trong thờ i gian tớ i chúng emcó thể thự hiện đượ c tốt hơn. 

    K ế t luậnQua quá trình nghiên cứu và phân tích, nhóm thực hiện dự án đã hình dung căn

     bản về dự án, ước lượng đượ c thờ i gian thực hiện dự án và các công việc cần làm, giúp

    ngườ i lậ p trình thực hiện công việc dễ dàng. Chúng em đều có cảm nhận r ằng môn họcPhân tích và thiết k ế hướng đối tượ ng thực sự là một môn học thú vị và hấ p dẫn. Sau mộtthờ i gian thực hiện dự án, các thành viên trong nhóm đều đã có thêm hiểu biết trong việcthực hiện dự  án và hiểu biết thêm về  cách sử  dụng các phần mềm thiết k ế  hướng đốitượng cũng như các phần mềm quản lý dự án.