Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
538 KB
Nội dung
PHÂNTÍCHTHIẾTKẾHƯỚNGĐỐITƯỢNG CHỦ ĐỀ Tiến trình phát triển phần mềm theo hướngđốitượng Giới thiệu Ngôn ngữ mô hình hóa thống UML Mô hình hóa nghiệp vụ Mô hình hóa trường hợp sử dụng Mô hình hóa tương tác đốitượng Biểu đồ lớp gói Biểu đồ chuyển trạng thái biểu đồ hoạt động Biểu đồ kiến trúc vật lý phát sinh mã trình Mô hình hóa liệu 10 Bài học thực nghiệm Bài - 2/59 Tài liệu tham khảo Đặng Văn Đức, Phântíchthiếtkếhướngđốitượng UML, Nhà xuất Giáo dục, 287 trang 2002 Zhiming Liu, Object-Oriented Software Development with UML, UNU/IIST, 169 pp, 2002 Phần mềm: Rational Rose Enterprise Edition 2002, IBM Rational Software 2002 Bài - 3/59 Bài Tiến trình phát triển phần mềm theo hướngđốitượng Lịch sử phương pháp hướngđốitượng Khủng hoảng phần mềm NATO Software Engineering Conference, Germany, 1968 Thống kê phủ Mỹ dự án SW Bộ quốc phòng, 1970 Project value $M Dự án phần mềm US defence (E Balagurusamy) 3.5 2.5 1.5 0.5 Paid for but Delivered but Abandoned Used after not received not used or reworked change Used as delivered Projects Bài - 5/59 Kỹ nghệ phần mềm Khái niệm kỹ nghệ phần mềm (software engineering) xuất vào cuối 1960 – bắt đầu có máy tính hệ Các đặc tính chủ yếu hệ thống phần mềm Nó mô hình hóa phần giới thực Rất lớn phức tạp Nó trừu tượng Phải có tính độc lập cao Phải dễ bảo trì: giới thực thay đổi, phần mềm phải đáp ứng yêu cầu thay đổi Phải thân thiện với người sử dụng UI phần quan trọng hệ thống phần mềm Bài - 6/59 Kỹ nghệ phần mềm Phát triển phần mềm bị khủng hoảng phương pháp đủ tốt Thực tế: Giá phần cứng giảm nhanh, giá phần mềm tăng cao Để đáp ứng đòi hỏi phần mềm cần có Kỹ thuật áp dụng cho hệ thống nhỏ trước không phù hợp cho hệ thống lớn Các dự án lớn thường bị kéo dài hàng năm làm tăng kinh phí Phần mềm không tin cậy, khó bảo hành Lý thuyết, kỹ thuật, phương pháp, công cụ để điều khiển tiến trình phát triển hệ thống phần mềm Kỹ nghệ phần mềm: Liên quan tới lý thuyết, phương pháp công cụ cần để phát triển phần mềm Mục tiêu: Sản xuất phần mềm độc lập, hạn, phù hợp kinh phí đáp ứng yêu cầu người sử dụng Bài - 7/59 Sản phẩm phần mềm Kỹ nghệ phần mềm để sản xuất Hệ thống phần mềm Các tài liệu Thiếtkế hệ thống Tài liệu sử dụng: Cài đặt? Sử dụng phần mềm? Các đặc tính phần mềm Có thể sử dụng Tính dễ bảo hành Dễ dàng mở rộng để đáp ứng yêu cầu thay đổi (phần mềm mềm dẻo) Tính độc lập Cần có UI phù hợp, tài liệu rõ ràng Các tính chất tin cậy, an toàn Không gây tác hại vật lý, kinh tế hệ thống hỏng Tính hiệu Không tiêu tốn nhiều tài nguyên hệ thống nhớ, thời gian CPU Bài - 8/59 Sản phẩm phần mềm Để thỏa mãn đồng thời tính chất sản phẩm phần mềm nói khó khăn Thí dụ giá với tính Để xây dựng hệ thống phần mềm tốt ta cần Xác định đắn tiến trình phát triển phần mềm Các pha hoạt động Sản phẩm pha Phương pháp kỹ thuật áp dụng pha mô hình hóa sản phẩm chúng Công cụ phát sinh sản phẩm Sản phẩm phần mềm xem mô hình giới thực Nó phải trì để luôn phản ánh xác thay đổi giới thực Bài - 9/59 Tiến trình phát triển phần mềm Mọi kỹ nghệ (engineering) đề cập đến sản xuất sản phẩm theo tiến trình Tổng quát tiến trình (process) xác định (Who) làm (What) làm (When) làm (How) để đạt tới mục đích mong muốn Tiến trình phát triển phần mềm (Software Development Process - SDP) tiến trình xây dựng sản phẩm phầm mềm hay nâng cấp phần mềm có Thí dụ tiến trình phát triển phần mềm: Rational Unified Process - RUP New or changed requirements Software Software Development Development New or changed system Process Process Bài - 10 Các khái niệm RUP Phase, Iterations Process Workflows Activity, steps Artifacts models reports, documents Worker: Architect When does architecture happen? What does happen? What is produced? Who does it? Bài - 45 Worker-Activities-Artifact Bài - 46 Thí dụ luồng công việc Bài - 47 Các lặp luồng công việc Phases Core Workflows Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Analysis Design Implementation Test Preliminary Iteration(s) iter #1 iter #2 iter #n iter #n+1 Iterations iter #n+2 iter #m iter #m+1 Bài - 48 Các pha vòng đời Inception Elaboration Construction Transition time Inception Define the scope of the project and develop business case Elaboration Plan project, specify features, and baseline the architecture Construction Build the product Transition users Transition the product to its Bài - 49 Các pha lặp Inception Prelim Iteration Elaboration Arch Iteration Release Release Construction Dev Iteration Release Dev Iteration Release Release Transition Trans Iteration Release Release Release Một vòng lặp (iteration) trình tự hoạt động với kế hoạch xây dựng trước tiêu chí đánh giá, cho kết phiên chạy Bài - 50 Tiến trình lặp Inception Iteration Elaboration Construction Iteration Transition Iteration “Mini-Waterfall” Process Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release Bài - 51 Vòng đời lặp: A Mini-Waterfall • Results of previous iterations • Up-to-date risk assessment • Controlled libraries of models, code, and tests Selected scenarios Iteration Planning Requirements Capture Analysis & Design Implementation Test Prepare Release Release description Updated risk assessment Controlled libraries Bài - 52 Các hoạt động lặp Kế hoạch lặp Trước lặp bắt đầu thực hiện, mục tiêu lặp cần hình thành sở Các kết lặp trước (nếu có) Cập nhật đánh giá rủi ro dự án Xác định tiêu chí đánh giá cho lặp Chuẩn bị kế hoạch chi tiết cho lặp Bao gồm intermediate milestones để điều khiển tiến trình Bao gồm walkthroughs reviews Bài - 53 Các hoạt động vòng đời lặp Requirements Capture Analysis & Design Select/define the use cases to be implemented in this iteration Update the object model to reflect additional domain classes and associations discovered Develop a test plan for the iteration Determine the classes to be developed or updated in this iteration Update the object model to reflect additional design classes and associations discovered Update the architecture document if needed Begin development of test procedures Implementation Test Prepare the release description Bài - 54 Các hoạt động vòng đời lặp Requirements Capture Analysis & Design Implementation Test Automatically generate code from the design model Manually generate code for operations Complete test procedures Conduct unit and integration tests Integrate and test the developed code with the rest of the system (previous releases) Capture and review test results Evaluate test results relative to the evaluation criteria Conduct an iteration assessment Prepare the release description Synchronize code and design models Place products of the iteration in controlled libraries Bài - 55 Chọn lựa lặp How many iterations I need? On projects taking 18 months or less, to iterations are typical Are all iterations on a project the same length? Usually Iteration length may vary by phase For example, elaboration iterations may be shorter than construction iterations Bài - 56 Ích lợi tiệm cận lặp Compared to the traditional waterfall process, the iterative process has the following advantages: Risks are mitigated earlier Change is more manageable Higher level of reuse The project team can learn along the way Better overall quality Bài - 57 Biểu đồ rủi ro tiến trình lặp Inception Waterfall Elaboration Risk Construction Transitio TransitionnTransition Post- PreliminaryArchitect Architect.Devel Devel Devel Iteration Iteration Iteration Iteration Iteration IterationIteration Iteration deployment Time Bài - 58 Tóm tắt Các vấn đề nghiên cứu Khái quát tiến trình phát triển phần mềm Các hoạt động phát triển phần mềm Mô hình thác nước tiến trình phát triển phần mềm Phát triển tiến hóa Tính phức tạp cố hữu phần mềm Phát triển hệ thống theo phương pháp hướngđốitượng Giới thiệu RUP Bài - 59 ... phụ thuộc cài đặt Thiết kế chi tiết: Làm mịn Thành phần làm nào? Thiết kế quan hệ Bài - 18 Thiết kế hệ thống Tài liệu pha thiết kế kiến trúc mô hình kiến trúc Thiết kế chi tiết thực... thi Do Bất kỳ tiến trình phát triển thu thập phân tích yêu cầu Các hoạt động SDP kết liên quan hình thành pha tiến trình gọi Phân tích yêu cầu Bài - 12 Thu thập phân tích yêu cầu Mục tiêu... Pha thu thập phân tích yêu cầu quan trọng Nếu không phát lỗi pha khó tốn để phát pha Bài - 17 Thiết kế hệ thống Sau có đặc tả yêu cầu, hai tiến trình thiết kế hệ thống Thiết kế kiến trúc