Bài giảng Nhập môn Công nghệ phần mềm - Chương 4: Quy trình phát triển phần mềm RUP

pdf 11 trang huongle 7780
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 4: Quy trình phát triển phần mềm RUP", để 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_4_quy_trinh_pha.pdf

Nội dung text: Bài giảng Nhập môn Công nghệ phần mềm - Chương 4: Quy trình phát triển phần mềm RUP

  1. Chương 4 Qui trình phát triểnphầnmềmRUP 4.1 Qui trình phát triểnphầnmềmRUP 4.2 Các mô hình cầntạo trong mỗi workflow 4.3 Các lược ₫ồ cầntạo trong mỗimôhình 4.4 Xây dựng các lược ₫ồ như thế nào ? 4.5 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 1 4.1 Qui trình phát triểnphầnmềm RUP ‰ Qui trình phát triển là gì ? Nói theo kiểuthựcdụng thì qui trình phát triểngồmtấtcả tài liệumiêutả những ai (who) tham gia, mỗi ngườiphải làm gì (what), mỗi công việcsẽ ₫ược làm khi nào (when), khi làm thì làm theo cách nào (how) ₫ể ₫ạtmụctiêu₫ề ra. Các yêu cầu Hệ thống phần ban ₫ầu hay Software Engineering mềm ban ₫ầu yêu cầumớivề Process hay hệ thống kế phầnmềm tiếp 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 2
  2. 4.1 Qui trình phát triểnphầnmềm RUP time Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle i Cycle n Phase Inception Elaboration Construction Transition Prelim Arch Dev Dev Trans Iteration Iteration Iteration Iteration Iteration Release Release Release Release Release Release Release Release 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 3 4.1 Qui trình phát triểnphầnmềm RUP ‰ Đờisống phầnmềm (software life) : từ lúc xuấthiệnlần ₫ầu ₫ến khi tác giả không hỗ trợ nữa(cóthể vẫn còn dùng bởi nhiều người). ‰ Chu kỳ (Cycle) : ₫ơnvị₫olường ₫ờisống phầnmềm, bắt ₫ầukhi có các yêu cầucầngiải quyết (ban ₫ầu hay mới) ₫ếnkhicó version mớigiảiquyếttốtcácyêucầu ₫ó. ‰ Công ₫oạn (Phase) : hoạt ₫ộng chứcnăng nhỏ cầnthựchiện trong từng chu kỳ, thí dụ như Inception (nắmbắtyêucầu), Elaboration (phân tích và thiếtkế), Construction (hiệnthựcvà kiểmthử), Transition (chuyểngiao). ‰ Bướclặp (Iteration) : mỗihoạt ₫ộng, dù ngắn hay dài, dù nhỏ hay lớn, ₫ềucóthể phảilặpnhiềulần theo cơ chế tăng tiến ₫ể ₫ạt ₫ếnmụctiêu₫ề ra. 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 4
  3. 4.1 Qui trình phát triểnphầnmềm RUP ‰ Artifacts : miêu tả mọikếtquả₫ượctạorasau1 hoạt ₫ộng chức năng hay sau 1 bướclặpnào₫ó. Ta phải duy trì artifacts theo thời gian. Artifacts thường ₫ượcmiêutả dướinhiều ₫ịnh dạng hay ngôn ngữ khác nhau, trong ₫óngônngữ UML ₫ược dùng chủ yếu nhất. Tùy theo mức ₫ộ ta có dạng artifacts như Vision, Baseline Architecture, initial capability, product release (version). ‰ Workers : tấtcả phầntử tham gia phát triểnphầnmềm, cho dù họ là ai. Ở₫ây ta quan tâm chủ yếu ₫ếnvaitròcủa worker, chứ không quan tâm ₫ếnngườicụ thể và số lượng ngườicụ thể. Thí dụ architects, analysts, designers, implementers, testers, 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 5 4.1 Qui trình phát triểnphầnmềm RUP ‰ Như₫ã nói trong chương 1, cho dù dùng qui trình phát triểnphần mềm nào thì ta cũng phảithựchiện các workflows sau : Nắmbắt yêu cầu Requirements Phân tích yêu cầu Analysis Lậptàiliệuchotừng kếtquả Thiếtkế (dùng ngôn ngữ₫ặcdụng) Design Hiệnthực Implementation Kiểmthử Test 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 6
  4. 4.1 Qui trình phát triểnphầnmềm RUP ‰ Nếuchỉ 1 ngườithựchiệntrêncácứng dụng nhỏ thí ta sẽ dùng cách thựchiệntuầntự từng workflows : nắmbắtyêucầuphân tích từng yêu cầu, thiếtkế, viết code, kiểmthử, chuyểngiao. ‰ Tuy nhiên, nếuchỉ thựchiệntuầntự 1 lần các workflows trên thì kếtquả rấtkhó₫úng và ₫ủ. Ta cầnphảilặp các workflows trên nhiềulần: ƒ Lặptừng workflow ₫ếnkhikếtquả củanótốtnhấtcóthể có trước khi dùng cho workflow sau. ƒ Thựchiệntuầntự 5 workflow, nếucầnlàmlạithìlặplại chúng ƒ Kếthợpgiữa2 kỹ thuậttrêntheoyêucầucụ 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 7 4.1 Qui trình phát triểnphầnmềm RUP ‰ Qui trình phát triểnphầnmềm RUP sẽ thích hợp trong trường hợp ta thựchiện ứng dụng lớn, phứctạpcầnrấtnhiềuloạingười tham giavàtốn1 thờigiandài₫ể thựchiện. Qui trình RUP dựatrêný tưởng lặptăng tiếncáchoạt ₫ộng như sau : ƒ Lúc ₫ầu, các workers chịu trách nhiệm workflow nắmbắtyêu cầuphầnmềmsẽ tiến hành nắmbắtyêucầusơ khởi ₫ể có ₫ượckếtquả ban ₫ầu(thường chỉ xác ₫ịnh ₫ược1 ítyêucầu chính yếu). Kếtquả sẽ ₫ược chuyển cho nhóm workers phân tích. Lúc này workers nắmbắtyêucầusẽ lặplạicôngviệc củamình₫ể tạo ₫ượckếtquả tốthơnlầntrước. ƒ Khi nhận ₫ượccácyêucầuphầnmềmcầnthựchiện, workers phân tích yêu cầusẽ thựchiệnviệc phân tích từng yêu cầu, phát họasơ lượccáchgiảiquyết nó. Khi có ₫ượckếtquả nào thì cuyển ngay cho ₫ộithiếtkế rồitiếptục phân tích yêu cầu Khoakhác Khoa học& hayKỹ thuậ tl Máyặpl tínhạiviệc phân tích yêu cầucũ. Môn : Nhập môn Công nghệ phầnmềm Trường ĐH Bách Khoa Tp.HCM Chương 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 8
  5. 4.1 Qui trình phát triểnphầnmềm RUP ƒ Khi nhận ₫ượcbảnphântíchcủa1 yêucầunào₫ó, workers thiếtkế sẽ thựchiệnviệcthiếtkế chi tiết nó, khi thiếtkế chi tiết ₫ược class chứcnăng nào thì gởi ngay kếtquả cho wrokers hiệnthựcrồitiếptụcthiếtkế các class còn lại hay lặp lạiviệcthiếtkế class ₫ãthiếtkế rồi. ƒ Khi nhận ₫ượcbảnthiếtkế của 1 class chứcnăng nào ₫ó, workers hiệnthựcsẽ viết code cho class ₫ó, khi viết code xong tác vụ chứcnăng nào thì gởingaykếtquả cho workers kiểmthử rồitiếptụcviết code cho các tác vụ còn lại hay lặp lạiviệc code cho tác vụ₫ãviếtrồi. ƒ Khi nhận ₫ược code của 1 hàm hay 1 class nào ₫ó, workers kiểmthử sẽ kiểmthử₫ơnvị nó, rồikiểmthử tích hợp, kiểm thử hệ thố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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 9 4.1 Qui trình phát triểnphầnmềm RUP Phases Core Workflows Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Analysis Design Implementation Test Prelim inary iter. iter. iter. iter. ite r. iter. iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 10
  6. 4.2 Các mô hình cầntạo trong mỗi workflow ‰ Mụctiêucủa qui trình phát triểnphầnmềm RUP là phảixâydựng ₫ược ₫ặctả₫ầy ₫ủ và chính xác về phầnmềm. ‰ Phầnmềmlớnvàphứctạpchỉ ₫ược ₫ặctả₫ầy ₫ủ thông qua nhiều góc nhìn. Trong toán học, ta có không gian 3 chiều ₫ể miêu tả 1 vậtthể. ‰ Hiệnnay, nhiềungười ₫ồng ý các dạng góc nhìn sau : ƒ Góc nhìn theo thờigian: lúcbắt ₫ầu, lúc ở phân nữa, lúc cuối cùng ƒ Góc nhìn không gian : từ ngoài vào, nhìn nộibộ bên trong, ƒ Góc nhìn theo ₫ộ trừutượng : vĩ mô, vi mô ƒ Góc nhìn tĩnh ₫ộng : góc nhìn cấutrúctĩnh, góc nhìn hành vi ₫ộng ƒ Kếthợp nhiềudạng góc nhìn theo cơ chế phân cấp. 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 11 4.2 Các mô hình cầntạo trong mỗi workflow ‰ Để ₫ặctả₫ầy ₫ủ phầnmềm theo 1 góc nhìn nào ₫ó, ta dùng thuậtngữ mô hình (Model). Mỗimôhìnhsẽ₫ặctả₫ầy ₫ủ phần mềm theo 1 góc nhìn mà mô hình muốn. Qui trình RUP cố gắng xây dựng các mô hình chính yếusau: ƒ Mô hình use-case : thể hiện góc nhìn từ ngoài nhìn vào phân mềm. Mô hình này ₫ượcxâydựng và duy trì bởiworkflow nắmbắtyêucầu. ƒ Mô hình phân tích : thể hiện góc nhìn bên trong, nó cho ta thấymức ₫ộ sơ lược ban ₫ầuvề cấutrúcphầnmềm(vĩ mô nhất). Mô hình này ₫ượcxâydựng và duy trì bởiworkflow phân tích yêu cầu. ƒ Mô hình thiếtkế : thể hiện góc nhìn bên trong, nó cho ta thấy mức ₫ộ chi tiếtvề cấutrúcphầnmềm (vi mô). Mô hình này ₫ượcxâydựng và duy trì bởi workflow thiếtkế. 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 12
  7. 4.2 Các mô hình cầntạo trong mỗi workflow ƒ Mô hình triểnkhai: thể hiện góc nhìn bên trong, nó cho ta thấyyêucầuvề các tài nguyên phầncứng và mối quan hệ giao tiếpgiữa chúng ₫ể vậnhànhphầnmềm. Mô hình này ₫ượcxâydựng và duy trì bởi workflow thiếtkế, hiệnthực. ƒ Mô hình hiệnthực: thể hiện góc nhìn bên trong, nó cho ta thấycụ thể về công nghệ, ngôn ngữ và mã nguồncủatừng phầntử tong bảnthiếtkế (class). Mô hình này ₫ượcxâydựng và duy trì bởi workflow hiệnthực. ƒ Mô hình kiểmthử : thể hiện góc nhìn bên trong, nó cho ta thấy các thông tin về việckiểmthử phầnmềm. Mô hình này ₫ượcxâydựng và duy trì bởi workflow kiểmthử. 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 13 4.2 Các mô hình cầntạo trong mỗi workflow UML diagrams provide views into each model Requirements Use Case Model Analysis Analysis Model Design Design Depl. Model Model Implementation Impl. Model Each workflow is associated with one or more models. Test Test 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 14
  8. 4.3 Các lược ₫ồ cầntạo trong mỗimôhình ‰ Như chúng ta ₫ã nói, mỗimôhìnhsẽ₫ặctả₫ầy ₫ủ phầnmềm theo 1 góc nhìn mà mô hình muốn. Đốivớiphầnmềmlớnvà phứctạp, mỗimôhìnhmiêutả nó thường lớnvàphứctạp, khó lòng ₫ượcmiêutả vậtlýbởi1 phầntử. ‰ Ta phân ra mô hình thành nhiềuphầntử nhỏ hơn ₫ể dễ xây dựng, quản lý và duy trì theo thờigian. Lược ₫ồ (Diagram) là loại phầntử nhỏ hơn, nó ₫ược dùng chủ yếu ₫ể xây dựng mô hình. ‰ Mỗilược ₫ồ cho ta ₫ặctả ₫ược1 bộ phậnnhỏ củaphầnmềm theo góc nhìn xác ₫ịnh : ƒ Góc nhìn cấutrúctĩnh : lược ₫ồ class, lược ₫ồ ₫ốitượng, lượng ₫ồ thành phần, lược ₫ồ triển khai. ƒ Góc nhìn hành vi ₫ộng : lược ₫ồ trình tự, lược ₫ồ cộng tác, lược ₫ồ chuyểntrạng thái, lược ₫ồ hoạt ₫ộ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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 15 4.3 Các lược ₫ồ cầntạo trong mỗimôhình Use Case Use Case Diagrams Model Class Object Diagrams Diagrams Analysis Component Model Diagrams Deployment Design Diagrams Model Sequence Diagrams Depl. Model Collaboration Diagrams Impl. Statechart Model Diagrams Activity Test Model Diagrams 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 16
  9. 4.3 Các lược ₫ồ cầntạo trong mỗimôhình Use Case Use Case Diagrams Model Class Object Diagrams Diagrams Analysis Component Model Diagrams Incl. subsystems Deployment and packages Design Diagrams Model Sequence Diagrams Depl. Model Collaboration Diagrams Impl. Statechart Model Diagrams Activity Test Model Diagrams 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 17 4.3 Các lược ₫ồ cầntạo trong mỗimôhình Use Case Use Case Diagrams Model Class Object Diagrams Diagrams Analysis Component Model Diagrams Deployment Design Diagrams Model Sequence Diagrams Incl. active classes and components Depl. Model Collaboration Diagrams Impl. Statechart Model Diagrams Activity Test Model Diagrams 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 18
  10. 4.3 Các lược ₫ồ cầntạo trong mỗimôhình Use Case Use Case Diagrams Model Class Object Diagrams Diagrams Analysis Component Model Diagrams Deployment Design Diagrams Model Sequence Test model refers to Diagrams Depl. all other models and Model uses corresponding Collaboration diagrams Diagrams Impl. Statechart Model Diagrams Activity Test Model Diagrams 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 19 4.4 Xây dựng các lược ₫ồ như thế nào ? ‰ Ta sẽ xây dựng các lược ₫ồ như thế nào ₫ể thỏamãncácmục tiêu sau : ƒ Nhanh chóng, dễ dàng trong việcxâydựng. ƒ Kếtquả phảithể hiện ₫úng, rõ ràng, ₫ơn nghĩavề thông tin cần ₫ặctả. ƒ Đọc, hiểudễ dàng, ₫ơnnghĩa và nhanh chóng bởinhiều người, cho dù họ dùng ngôn ngữ tự nhiên nào. ‰ Ngôn ngữ mô hình UML mà ta sẽ trình bày trong chương 5 tiếp theo có những tính chấtgiúptaxâydựng các lược ₫ồ thỏamãn các mục tiêu trê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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 20
  11. 4.4 Kếtchương ‰ Chương này ₫ãgiớithiệu cho chúng ta các thông tin cơ bảnvề ₫ờisống phầnmềm, về qui trình phát triểnphầnmềm RUP, về các workflows cầnthựchiện, về các mô hình cũng như các lược ₫ồ cầnxâydựng và duy trì. 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 4 : Qui trình phát triểnphầnmềm RUP © 2010 Slide 21