Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng

pdf 16 trang phuongnguyen 4630
Bạn đang xem tài liệu "Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_7_phan_tich_yeu.pdf

Nội dung text: Bài giảng Nhập môn Công nghệ phần mềm - Chương 7: Phân tích yêu cầu theo hướng đối tượng

  1. Chương 7 Phân tích yêu cầutheohướng ₫ốitượng 7.1 Nhiệmvụ củaphântíchyêucầuchứcnăng 7.2 Các artifacts cầntạora 7.3 Các worker tham gia phân tích yêu cầu 7.4 Qui trình phân tích yêu cầu 7.5 Phân tích kiếntrúc 7.6 Phân tích từng use-case 7.7 Phân tích các package 7.8 Kếtchương Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 1 7.1 Nhiệmvụ của phân tích yêu cầuchứcnăng ‰ Phát họasơ lượccáchthứcgiảiquyếtchứcnăng tương ứng. Nếu dùng kỹ thuật phân tích hướng ₫ốitượng, bảnpháthọacáchgiải quyếtchứcnăng là các class ₫ốitượng cụ thể, mối quan hệ giữa chúng và các thông tin kèm theo. ‰ Workflow phân tích yêu cầusẽ xây dựng tấtcả các bảnpháthọa cách thứ giải quyếtmọiyêucầuchứcnăng củahệ thống phần mềm. ‰ Toàn bộ các artifacts ₫ượctạo ra và duy trì trong workflow phân tích yêu cầu ₫ượcgọilàmôhìnhphântích. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 2
  2. 7.1 Nhiệmvụ của phân tích yêu cầuchứcnăng ‰ Mô hình phân tích có 1 số tính chấtsau: ƒ dùng ngôn ngữ của nhà phát triển ₫ể miêu tả mô hình sao cho dễ₫ọc, dễ hiểu, ₫ơnnghĩa, rõ ràng (ngôn ngữ UML). ƒ Thể hiện góc nhìn từ bên trong hệ thống ở mức ₫ộ vĩ mô. ƒ Đượccấutrúctừ các class phân tích và, nếucần, các package phân tích. ƒ Được dùng chủ yếubởingườipháttriển ₫ể hiểucáchthứctạo hình dạng vĩ mô cho hệ thống phầnmềm. ƒ Cố gắng loạitrừ mọi chi tiếtdư thừa, không nhất quán. ƒ phát họacáchhiệnthựctừng chứcnăng củahệ thống phần mềm. ƒ Định nghĩacácdẫnxuất use-case, mỗidẫnxuất use-case cấp phântíchmiêutả kếtquả việc phân tích cho use-case ₫ó. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 3 7.2 Các artifacts cầntạora ‰ Mô hình phân tích = hệ thống các kếtquả phân tích, nó chứa: ƒ các package phân tích, nếucó, mỗi package chứa: o các dẫnxuất use-case ở cấp phân tích, mỗidẫnxuấtchứa: à các lược ₫ồ class ở cấp phân tích. à các lược ₫ồ tương tác giữacác₫ốitượng cấp phân tích. à 'flow of events' ở cấp phân tích à các yêu cầu ₫ặcbiệtcủatừng use-case, hay của toàn bộ các use-case ƒ Đặctả kiếntrúchệ thống phầnmềm theo góc nhìn phân tích (view of analysis model) Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 4
  3. 7.2 Các artifacts cầntạora * 1 * Analysis Analysis Analysis Package Model System * * * * Analysis Class Use-Case Realization - Analysis Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 5 7.2 Các artifacts cầntạora ‰ Mỗilược ₫ồ class ở cấp phân tích sẽ chứanhiều class phân tích, nhưng chúng chỉ thuộc 1 trong 3 loạisau: ƒ Class biên (boundary class) : mô hình sự tương tác giữa actor vớihệ thống phầnmềm. Nó miêu tả₫ốitượng giao tiếpgiữahệ thống phầnmềmvớithế giới bên ngoài, thí dụ như các ₫ối tượng giao diệnvớingười dùng phầnmềm. ƒ Class thựcthể (entity class) : mô hình thông tin cần dùng. Nó miêu tả₫ốitượng chứadữ liệuphụcvụ cho chứcnăng tương ứng hoạt ₫ộng. Đốitượng này có ₫ời ₫ống tương ₫ối lâu dài và tầmvựcsử dụng tương ₫ốilớntronghệ thống phầnmềm. ƒ Class ₫iềukhiển (control class) : mô hình việcxử lý, cộng tác giữacác₫ốitượng. Nó chứacácthuậtgiảixử lý hầuphụcvụ chứcnăng tương ứng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 6
  4. 7.2 Các artifacts cầntạora ‰ Ký hiệumiêutả các class phân tích : ƒ Class biên (boundary class) : ƒ Class thựcthể (entity class) : ƒ Class ₫iềukhiển (control class) : Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 7 7.2 Các artifacts cầntạora ‰ Mỗilược ₫ồ tương tác (trình tự, cộng tác) ở cấpphântíchsẽ chứa nhiều ₫ốitượng ở cấp phân tích, nhưng chúng chỉ thuộc 1 trong 3 loạisau: ƒ Đốitượng class biên (boundary class) : name:classname ƒ Đốitượng class thựcthể (entity class) : name:classname ƒ Đốitượng class ₫iềukhiển (control class) : name:classname Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 8
  5. 7.3 Các worker tham gia phân tích yêu cầu Component Architect Use-Case Engineer Engineer Chịu trách nhiệmvề Chịu trách nhiệmvề Chịu trách nhiệmvề Analysis Architecture Use-Case Analysis Analysis Model Description Realization - class package Analysis Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 9 7.4 Qui trình phân tích yêu cầu Architect Architectural Analysis Use-Case Analyze a Engineer Use-Case Analyze a Component Analyze a Engineer Class Package Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 10
  6. 7.5 Phân tích kiếntrúc ‰ Kiếntrúccủa1 phầnmềmnhỏ thì ₫ơngiản, không có gì ₫ể nói (kiếntriếncănchòitrẻ em chơi), tuy nhiên kiếntrúccủa1 phần mềmlớn, phứctạpsẽ₫óng vai trò rất quan trọng trong việcxây dựng và duy trì phầnmềm theo thờigian(kiến trúc tòa nhà tháp hoa sen ở Q.1). ‰ Nhiệmvụ củahoạt ₫ộng phân tích kiến trúc là phát họamôhình phântíchvàkiếntrúccủahệ thống phầnmềm thông qua các công việccụ thể sau : ƒ Nhậndạng các package phân tích ƒ Nhậndạng các class phân tích dễ thấy ƒ Nhậndạng các yêu cầu ₫ặcbiệt, các yêu cầu phi chứcnăng chung cho toàn bộ hệ thống phầnmềm. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 11 7.5 Phân tích kiếntrúc ‰ Các package phân tích giúp ta tổ chứchệ thống thành những ₫ơn vị nhỏ hơn theo cấu trúc cây phân cấp ₫ể dễ quảnlýhế thống. ‰ Mỗi package chứa1 số artifacts phân tích các use-case tương ứng. Các use-case trong từng package nên có những tính chất sau : ƒ Chúng hỗ trợ cùng 1 qui trình nghiệpvụ xác ₫ịnh ƒ Chúng hỗ trợ cùng 1 actor ƒ Chúng có quan hệ mậtthiếtvới nhau : tổng quát hóa, include, extend. ‰ Theo thờigian, khiviệc phân tích tiếntriển, ta sẽ tính chế cấutrúc của các package ₫ể ngày càng hợplýhơn. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 12
  7. 7.5 Phân tích kiếntrúc ‰ Dựa vào thông tin về lĩnh vực và nghiệpvụ cầngiải quyết trong workflow nắmbắtyêucầu, ta dễ dàng nhậndạng và ₫ề nghị 1 số class thựcthể quan trọng nhất. Thí dụ trong phầnmềmquảnlý ₫iểm SV, ta dễ dàng nhậndạng các class thựcthể như class miêu tả SV, class miêu tả bảng ₫iểmchotừng SV, ‰ Các class phân tích còn lạisẽ ₫ượcnhậndạng trong hoạt ₫ộng phân tích từng use-case cụ thể. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 13 7.5 Phân tích kiếntrúc ‰ Các yêu cầu ₫ặcbiệt và phi chứcnăng quan trọng nhấtcũng nên ₫ượcnhậndạng ₫ể ₫ượclưuý xử lý trong các bước sau. Chúng gồm: ƒ Yêu cầuvề mức ₫ộ bềnvững ƒ Yêu cầuvề sự phân tán các thành phầnvàsự thi hành ₫ồng thờigiữa chúng. ƒ Yêu cầuvề an toàn dữ liệu. ƒ Yêu cầuvề mức ₫ề kháng vớilỗi ƒ Yêu cầuvề quản lý giao tác (transaction) ‰ Sau này, tính chấtvàmức ₫ộ củacácyêucầu ₫ặcbiệtvàphi chứcnăng sẽ ₫ượccânnhắclại trong từng class chứcnăng và từng dẫnxuất use-case. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 14
  8. 7.6 Phân tích từng use-case ‰ Nhiệmvụ phân tích use-case là ₫ể : ƒ Nhậndạng các class phân tích có ₫ốitượng củamìnhtham gia vào việcthựchiện các hoạt ₫ộng tồntại trong “flow of events” của use-case tương ứng. ƒ Thể hiệnsự tương tác giữacác₫ốitượng phân tích trong việc thựchiện use-case thông qua các lược ₫ồ ₫ộng như lược ₫ồ trình tự, lược ₫ồ cộng tác, lược ₫ồ hoạt ₫ộng, lược ₫ồ trạng thái. ƒ Nhậndạng thêm 1 số yêu cầu ₫ặcbiệt và phi chứcnăng cho việcthựchiện use-case tương ứng. Cân nhắclại tính chấtvà mức ₫ộ củacácyêucầu ₫ặcbiệt và phi chứcnăng chung ₫ã nhậndạng ₫ược trong hoạt ₫ộngphântíchkiếntrúc. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 15 7.6 Phân tích từng use-case Nhậndạng các class phân tích thựchiện 1 use-case ‰ Ở bước này, ta sẽ : ƒ nhậndạng các class biên, thựcthể, ₫iềukhiểncầnthiết ₫ể thựchiện use-case tương ứng. ƒ Phát họa tên, trách nhiệm, thuộctínhcủatừng class tìm ₫ược. ƒ Nhậndạng các mối quan hệ giữa các class phân tích. ƒ Tậphợp các class tìm ₫ược thành 1 hay nhiềulược ₫ồ class. Các lược ₫ồ class này sẽ là nội dung thiếtyếu ₫ể xây dựng dẫnxuất use-case tương ứng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 16
  9. 7.6 Phân tích từng use-case ‰ Ta sẽ dùng các hướng dẫnsau₫ây ₫ể thựchiệnphântíchtừng use-case : ƒ nhậndạng các class thựcthể bằng cách chú ý các thông tin trong ₫ặctả use-case và trong mô hình lĩnh vựccầngiải quyết củahệ thống phầnmềm. ƒ Nhậndạng class biên cho mỗi class thựcthể vừatìm₫ược. ƒ Ứng vớimỗi actor là người dùng, hãy nhậndạng class biên trung tâm phụcvụ cho sự tương tác người-chương trình. ƒ Ứng vớimỗi actor là hệ thống ngoài hay thiếtbị I/O, hãy nhận dạng class biên trung tâm phụcvụ cho sự tương tác chương trình-actor ₫ó. ƒ Nhậndạng class ₫iềukhiểncótráchnhiệmxử lý các chức năng liên quan ₫ến use-case tương ứng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 17 7.6 Phân tích từng use-case Lược ₫ồ class phân tích thựchiện use-case “Pay Order Configmation Invoice” : Order Handler Invoice Buyer Payment Request UI (f rom Use-Case Model) Payment Scheduler Payment Request Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 18
  10. 7.6 Phân tích từng use-case Xây dựng các lược ₫ồ ₫ộng ‰ Cần chú ý các ₫iểm sau trong việcxâydựng các lược ₫ồ tương tác giữacác₫ốitượng : ƒ Đốitượng actor thường sẽ gởi thông báo ₫ến class biên ₫ể kích hoạt use-case. ƒ Mỗi class phân tích trong lược ₫ồ class phảicóítnhất1 ₫ối tượng tham gia vào lược ₫ồ ₫ộng nào ₫ó. Tương tự, mỗi ₫ối tượng tham gia trong 1 lược ₫ồ ₫ộng phảithuộc 1 class phân tích nào ₫ó trong lược ₫ồ class phụcvụ use-case. ƒ Chưavộikếthợpngay1 tácvụ cụ thể cho từng thông báo. ƒ Các mốiquanhệ giữacác₫ốitượng trong lược ₫ồ ₫ộng thường là “instance” củamối quan hệ kếthợpgiữa các class tương ứng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 19 7.6 Phân tích từng use-case Xây dựng các lược ₫ồ ₫ộng ‰ Cần chú ý các ₫iểm sau trong việcxâydựng các lược ₫ồ tương tác giữacác₫ốitượng (tt) : ƒ Chưavộitập trung vào thứ tự thờigianxảy ra các thông báo giữacác₫ốitượng, nghĩalàlược ₫ồ trình tự chưacầnthiết trong workflow phân tích. ƒ Lược ₫ồ cộng tác nên xử lý tấtcả mối quan hệ giữacác₫ối tượng trong việcthựchiện use-case tương ứng. ƒ Cầnbổ sung ₫ặctả dạng vănbảncholược ₫ồ cộng tác, ₫ặctả này nên ₫ược ₫ể vào artifact “flow of events ở cấp phân tích”. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 20
  11. 7.6 Phân tích từng use-case ‰ Trong trường hợpcầnxác₫ịnh rõ thứ tự xảy ra các thông báo giữa các ₫ốitượng, ta nên dùng các qui ₫ịnh sau : ƒ Các thông báo ₫ược ₫ánh số theo cấutrúcphâncấp: à 3.4.2 xảy ra sau 3.4.1 và cả 2 sẽ xảyratronglúcthựchiện thông báo 3.4. à 3.4.3a và 3.4.3b xảyra₫ồng thờivà₫ượclồng trong thông báo 3.4 ƒ Dùng cú pháp tổng quát sau ₫ây ₫ể miêu tả 1 thông báo : [precedessor] [guard-condition] [sequence-expression] [return- value :=] message-name argument-list ƒ Ví dụ : 2/ 1.3.1: p := find(specs) 1.1, 4.2/ 3.2 *[i:=1 6]: invert(x, color) Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 21 7.6 Phân tích từng use-case Lược ₫ồ cộng tác thực 5: Get hiện use-case “Pay : Order Confirmation Invoice” : 4: Get : Order Handler 3: Check Invoice 2: Browse : Invoice 6: Schedule InVoice for payment 9: setStatus(scheduled) 1: Browse Invoice 7: Schedule payment : Buyer : Payment Request UI 8: New : Payment Scheduler : Payment Request Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 22
  12. 7.6 Phân tích từng use-case Phân tích class ‰ Nhiệmvụ củaviệc phân tích từng class là : ƒ Nhậndạng và duy trì các nghĩavụ, trách nhiệmcủa class dựa vào vai trò củanótrongdẫnsuất use-case. ƒ Nhậndạng và duy trì các thuộctínhvàcácmối quan hệ của class với các phầntử khác. ƒ Nhậndạng các yêu cầu ₫ặcbiệt và phi chứcnăng liên quan ₫ếnviệcthựchiện class. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 23 7.6 Phân tích từng use-case Nhậndạng các nghĩavụ, trách nhiệmcủa class ‰ Khi phân tích 1 class nào ₫ó, lưuý rằng nó có thể tham gia vào nhiềulược ₫ồ class, lược ₫ồ ₫ốitượng thuộc nhiềudẫnsuất use- case khác nhau. Do ₫ó, ta phảinghiêncứutấtcả lược ₫ồ class và lược ₫ồ tương tác giữacác₫ốitượng trong các dẫnsuất use-case mà có class tương ứng tham gia, từ₫ótổng hợptấtcả nghĩavụ, trách nhiệmcủa class và ₫ốitượng thuộc class này trong các dẫn xuất use-case khác nhau. ‰ Đôi khi cần nghiên cứu “flow of events” ở cấp phân tích của nhiều dẫnxuất use-case khác nhau ₫ể tìm thêm nghĩavụ và trách nhiệmcủa class tương ứng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 24
  13. 7.6 Phân tích từng use-case Nhậndạng các thuộctínhcủa 1 class ‰ Mỗi nghĩavụ, trách nhiệmthường cần1 số thuộc tính, ta dùng các hướng dẫnsau₫ể nhậndạng thuộctínhcủa 1 class : ƒ Tên thuộc tính nên là danh từ. ƒ Kiểuthuộctínhở cấp phân tích nên ở mứcý niệm, chưacầncụ thể hóa, nên dùng lạikiểu ₫ãcókhi₫ặctả kiểuchothuộctính mới. ƒ Nếu class phân tích quá phứctạp, nên tách 1 số thuộc tính phứctạp ra thành class riêng (class thựcthể). ƒ Thuộc tính của class thựcthể thường dễ thấyhơnsơ vớicác class biên và ₫iềukhiển. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 25 7.6 Phân tích từng use-case Nhậndạng các thuộctínhcủa 1 class (tt) ‰ Mỗi nghĩavụ, trách nhiệmthường cần1 số thuộc tính, ta dùng các hướng dẫnsau₫ể nhậndạng thuộctínhcủa 1 class : ƒ Thuộc tính của class biên giao tiếpvớingười dùng thường miêu tả các thông tin ₫ượcxử lý trựctiếpbởingườidùng, thidụ field text, ƒ Thuộc tính của class biên giao tiếpvớihệ thống ngoài thường miêu tả các tính chấtcủasự giao tiếp này, thí dụ ConnectionString miêu tả các thông tin ₫ể kếtnốivới database server. ƒ Riêng các class ₫iềukhiểnthìtakhóthấythuộc tính củanóở mức ₫ộ phân tích. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 26
  14. 7.6 Phân tích từng use-case Nhậndạng các tương tác giữa các ₫ốitượng ‰ Các lược ₫ồ tương tác sẽ miêu tả các tương tác giữacác₫ối tượng. Các tương tác này thường là ‘instance’ củamối quan hệ kết hợpgiữa các class của chúng. Thí dụ trong lược ₫ồ class, class A có 1 mối quan hệ kếthợpvới class B thì trong lược ₫ồ cộng tác (hay trình tự) nào ₫ó, ₫ốitượng class A sẽ phảitương tác với ₫ối tượng class B. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 27 7.6 Phân tích từng use-case Nhậndạng các tương tác giữa các ₫ốitượng ‰ Các mốiquanhệ kếthợpcóthể ám chỉ nhu cầuvề sự gộpnhiều ₫ốitượng thành một. ‰ Mối quan hệ bao gộp nên ₫ược dùng khi các ₫ốitượng miêu tả : ƒ Các khái niệmchứavật lý khái niệm khác (xe chứatàixế và khách). ƒ Các khái niệm ₫ượcxâydựng từ các khái niệm khác (xe gồm các bánh xe, ₫ộng cơ, ). ƒ Các khái niệmtạo thành tậphợp ý nhiệmnhiều ₫ốitượng (gia ₫ình gồm cha, mẹ, con ). ‰ Ta có thể rút trích các hành vi chung của nhiều class rồi ₫ịnh nghĩa class tổng quát hóa, ₫ặt các hành vi chung vào class tổng quát hóa của chúng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 28
  15. 7.7 Phân tích các package ‰ Nhiệmvụ củaviệc phân tích các package là : ƒ Đảmbảotừng package có tính ₫ộclậpvới các package khác nhiềunhư có thể. ƒ Đảmbảotừng package hoàn thành nhiệmvụ củamìnhlàhiện thực ₫úng các class thuộclĩnh vực liên quan hay các use-case liên quan. ƒ Miêu tả các phụ thuộcsaochocóthểướclượng ảnh hưởng của các thay ₫ổi trogn tương lai. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 29 7.7 Phân tích các package ‰ Dùng các hướng dẫn sau trong việc phân tích các package : ƒ Đảmbảotừng package chứa ₫úngclass phùhợp, cố gắng ₫ể tính kết dính cao (cohesion) bằng cách gộp các class có nhiều mối quan hệ chứcnăng lạivới nhau. ƒ Hạnchế tối ₫asự phụ thuộcgiữa các package, di dời các class quá phụ thuộc vào package khác ₫ến package liên quan. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 30
  16. 7.8 Kếtchương ‰ Chương này ₫ãgiớithiệucácthôngtin cơ bảnvề workflow phân tích yêu cầuchứcnăng như nhiệmvụ, các artifact cầntạo ra, các worker tham gia, qui trình thựchiện. Chương này còn giớithiệu chi tiếtvề hoạt ₫ộng phân tích kiếntrúcphầnmềmvàhoạt ₫ộng phân tích từng use-case chứcnăng. Khoa Khoa học& Kỹ thuật Máy tính Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 7 : Phân tích yêu cầu theo hướng ₫ốitượng © 2010 Slide 31