Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
367,01 KB
Nội dung
NHẬP MÔN CÔNG NGHỆ PHẦN MỀM CHƯƠNG – CÁC MÔ HÌNH VỀ TIẾN TRÌNH PHẦN MỀM Nội dung Tiến trình Các mô hình tiến trình phần mềm Mô hình thác nước Mô hình chữ V Mô hình mẫu Mô hình ñịnh khung nhanh Mô hình xoắn ốc Mô hình RUP Tiến trình (Process) Tiến trình phần mềm cách thức tạo phần mềm, công ty có tiến trình phần mềm riêng Khách hàng (client): cá nhân hay công ty ñặt hàng sản phẩm Nhà phát triển (developer): thành viên công ty có trách nhiệm phát triển phần mềm ñã ñược ñặt hàng quán xuyến toàn công việc sản phẩm có trách nhiệm phần thiết kế, cài ñặt, Người sử dụng (user): hay nhiều cá nhân thay mặt khách hàng ñể sử dụng sản phẩm Phát triển phần mềm (software development): bao gồm tất công việc tạo sản phẩm trước ñược chuyển sang giai ñoạn bảo trì Tiến trình Các ñặc trưng tiến trình Quy ñịnh tất hoạt ñộng tiến trình Sử dụng nguồn tài nguyên, phụ thuộc vào tập ràng buộc (chẳng hạn kế hoạch làm việc) Tạo sản phẩm cuối trung gian Có thể ñược tạo thành từ tiến trình hệ thống phân cấp hay liên kết Tiến trình Các ñặc trưng tiến trình Mỗi hoạt ñộng tiến trình có tiêu chuẩn vào Các hoạt ñộng ñược tổ chức theo trình tính toán thời gian rõ ràng Mỗi tiến trình có nguyên tắc hướng dẫn, bao gồm mục tiêu hoạt ñộng Các ràng buộc áp dụng vào hoạt ñộng, tài nguyên hay sản phẩm Tiến trình Tầm quan trọng tiến trình Áp ñặt cấu trúc tính bền vững lên tập hoạt ñộng Hướng dẫn ta hiểu, ñiều khiển, kiểm tra cải thiện hoạt ñộng Cho phép ta có ñược kinh nghiệm Tiến trình Chu kỳ sống phần mềm Khi tiến trình liên quan tới việc xây dựng phần mềm, tiến trình ñược xem chu kỳ sống phần mềm Các mô hình tiến trình phần mềm Mô hình xây dựng hiệu chỉnh Mô hình thác nước Mô hình chữ V Mô hình mẫu Mô hình ñịnh khung nhanh Mô hình xoắn ốc Mô hình hướng ñối tượng Mô hình RUP Mô hình xây dựng hiệu chỉnh (Build-and-fix model ) Không dự tính trước Không có ñặc tả hay thiết kế Xây dựng phiên bản, chỉnh sửa theo yêu cầu khách hành cho ñến ñáp ứng ñược yêu cầu khách hàng Sử dụng hệ thống nhỏ (100-200 dòng lệnh) Mô hình thác nước (Waterfall Model) Royce, 1970 Phù hợp với toán ñược hiểu kỹ có hay thay ñổi yêu cầu ðơn giản dễ giải thích với khách hàng Nó biểu diễn Một tổng quan mức cao tiến trình phát triển Một chuỗi hoạt ñộng tiến trình 10 Mô hình mẫu Ưu ñiểm Hệ thống thật dễ dùng Dễ thỏa mãn yêu cầu người dùng Các vấn ñề dễ ñược phát sớm Thiết kế có chất lượng cao Hệ thống thật dễ bảo trì Tiết kiệm công sức phát triển hệ thống Nhược ñiểm Hệ thống thật có nhiều chức ðòi hỏi ñội ngũ phát triển nhiều kinh nghiệm 19 Mô hình mẫu Khuyến cáo cho việc dùng mô hình bảng mẫu Yêu cầu người dùng không rõ ràng Cần minh họa cao giao diện người dùng Người dùng phải ý thức thay ñổi yêu cầu khó khăn Bản mẫu không làm nâng cao chất lượng hệ thống Việc làm mẫu phải có kế hoạch ñược kiểm soát tiến ñộ 20 Mô hình tăng trưởng (Incremental Development model) Chức hệ thống ñược xây dựng chuyển giao cho người dùng Bắt ñầu từ trạng thái dần ñến trạng thái mong muốn: bước nhỏ Mô hình tăng trưởng Tránh bị “big bang”: thời gian dài chẳng có gì, ñùng cái, hệ thống Người dùng tham gia tích cực vào việc lập kế hoạch cho bước Tránh “dư thừa chức năng” (overfunctionality) Yêu cầu nhiều Quá dư thừa chức làm hệ thống phức tạp khó sử dụng Người phân tích dễ dàng ước lượng thời gian, công sức xây dựng chức năng, ñặc tính ñó phần mềm Cách tiếp cận tăng trưởng giúp tập trung vào ñiểm cốt lõi chức cần thiết ñáp ứng yêu cầu thực 21 tiễn Mô hình ñịnh khung nhanh (Rapid Application Development: RAD) Là tiến trình phát triển phần mềm gia tăng, tăng dần bước với chu kỳ phát triển ngắn (60-90 ngày) Xây dựng dựa hướng thành phần với khả tái sử dụng Gồm số nhóm, nhóm làm RAD theo pha: Mô hình hóa nghiệp vụ, Mô hình hóa liệu, Mô hình hóa xử lý, Tạo ứng dụng, Kiểm thử ñánh giá (Business, Data, Process, Appl Generation, Testing) 22 Team #3 Business Modeling Mô hình ñịnh khung nhanh Data Modeling Team #2 Business Modeling Team #1 Business Modeling Data Modeling Process Modeling Application Generation Testing & Process Turnover Modeling Application Data Generation Modeling Testing & Process Turnover Modeling Application Generation Testing & Turnover 60 - 90 days 23 Mô hình ñịnh khung nhanh Cần nguồn nhân lực dồi ñể tạo nhóm cho chức Yêu cầu hai bên cam kết thời gian ngắn phải có phần mềm hoàn chỉnh, thiếu trách nhiệm bên dễ làm dự án ñổ vỡ RAD tốt cho ứng dụng, với ứng dụng module hóa ñòi hỏi tính cao 24 Mô hình xoắn ốc (Spiral Model) ðược ñề nghị Boehm (1988) Kết hợp hoạt ñộng phát triển với quản lý rủi ro ñể giảm ñến mức tối thiểu kiểm soát rủi ro Mô hình ñược trình bày dạng xoắn ốc ñó lần lặp ñược biểu diễn ñường vòng quanh Bốn hoạt ñộng chính: Lập kế hoạch(xác ñịnh mục tiêu, lựa chọn ràng buộc) Phân tích rủi ro (phân tích phương án xác ñịnh/giải rủi ro) Kỹ Nghệ (phát triển sản phẩm) ðánh giá khách hàng(khẳng ñịnh kết kỹ nghệ) 25 Mô hình xoắn ốc Cumulative cost Evaluate alternatives, identify, resolve risks Progress through steps Determine objectives, alternatives, constraints Risk analysis Risk analysis Risk analysis Risk analysis Commitment Prototype Review partition Requirements plan Life-cycle plan Development plan Integration and test plan Plan next phase Prototype Concetp of operation Prototype Simulations, models, benchmarmks Software requirements Detailed design Requirements validation Design validation and verification Implementation Operational prototype Acceptance test Code Unit test Integration test Develop, verify next-level product 26 Mô hình xoắn ốc Hướng rủi ro (risk-driven); giảm thiểu rủi ro Các công việc luân phiên chịu ràng buộc ñã hỗ trợ cho việc tái sử dụng phần mềm có ðánh giá mức ñộ rủi ro Mục tiêu quan trọng chất lượng phần mềm Giảm nhẹ kiểm thử nhanh chóng sửa chữa lỗi xảy Bảo trì ñơn giản vòng tròn xoắn ốc, phân biệt phát triển bảo trì Dành riêng cho phần mềm nội có kích thước lớn Có thể chấm dứt ñánh giá rủi ro, ñó không hay ñã ký kết hợp ñồng, rắc rối mặt luật pháp Kích thước sản phẩm ảnh hưởng ñến giá thành việc phân tích rủi ro 27 Mô hình hướng ñối tượng (object-oriented life-cycle model) Bảo trì Phát triển thêm ðưa vào hoạt ñộng Tích hợp Cài ñặt Thiết kế HðT Phân tích hướng ñối tượng Xác ñịnh yêu cầu Mô hình vòi phun nước 28 Mô hình hướng ñối tượng (object-oriented life-cycle model) ðặc tính quan trọng lặp: giai ñoạn phần giai ñoạn Mô hình vòi phun nước thể giai ñoạn gối lên Giảm bớt nhân lực cho công tác bảo trì 29 RUP – Rational Unified Process Bổ sung cho UML Cách tiếp cận lặp cho hệ thống hướng ñối tượng, bao gồm use case ñể mô hình hóa yêu cầu Các giai ñoạn RUP Bắt ñầu: thiết lập phạm vi, giới hạn, use case quan trọng, kiến trúc ứng viên, dự ñoán chi phí kế hoạch làm việc Sửa soạn: sở kiến trúc, thiết lập hỗ trợ công cụ Xây dựng: sản xuất tiến trình, hay nhiều phát hành Chuyển tiếp: phát hành cộng ñồng người dùng, thường số phát hành 30 RUP 31 So sánh mô hình Mô hình ðiểm mạnh ðiểm yếu Mô hình xây dựng hiệu chỉnh Tốt ñối với chương trình ngắn không yêu cầu bảo trì Không ñáp ứng ñược chương trình tương ñối lớn trở ñi Mô hình thác nước Tiếp cận có kỷ luật Hướng tài liệu Sản phẩm chuyển giao không theo khách hàng cần Mô hình ñịnh khung nhanh ðảm bảo sản phẩm ñược chuyển giao có ñược khách hàng cần Xem nhẹ tài liệu, khó bảo trì Mô hình xoắn ốc Kết hợp nhiều ñặc ñiểm tất mô hình phía Chỉ sử dụng cho sản phẩm có kích thước lớn hay cho tổ chức Các nhà phát triển phải có khả phân tích rủi ro giải rủi ro Các mô hình hướng ñối tượng Hỗ trợ việc lặp lại bên giai ñoạn, song song hóa giai ñoạn Có thể suy thoái thành CABTAB (thuật ngữ thiếu kỷ luật công việc: trình tự thực công việc lung tung, bừa bãi) So sánh mô hình tiến trình phần mềm 32 Bài tập Tìm hiểu phương pháp ước lượng phần mềm 33 [...]... hướng ñối tượng Hỗ trợ việc lặp lại bên trong các giai ñoạn, song song hóa giữa các giai ñoạn Có thể suy thoái thành CABTAB (thuật ngữ về sự thiếu kỷ luật trong công việc: trình tự thực hiện các công việc lung tung, bừa bãi) So sánh giữa các mô hình tiến trình phần mềm 32 Bài tập Tìm hiểu về các phương pháp ước lượng phần mềm 33 ... sự hỗ trợ công cụ Xây dựng: sản xuất tiến trình, một hay nhiều sự phát hành Chuyển tiếp: phát hành ra cộng ñồng người dùng, thường là một số phát hành 30 RUP 31 So sánh các mô hình Mô hình ðiểm mạnh ðiểm yếu Mô hình xây dựng và hiệu chỉnh Tốt ñối với các chương trình ngắn không yêu cầu về bảo trì Không ñáp ứng ñược các chương trình tương ñối lớn trở ñi Mô hình thác nước Tiếp cận có kỷ luật Hướng tài... chế của mô hình thác nước Không cung cấp các hướng dẫn về cách thức xử lý những thay ñổi ñối về sản phẩm và hoạt ñộng trong suốt sự phát triển Xem sự phát triển phần mềm như một tiến trình sản xuất hơn là tiến trình sáng tạo Không có các hoạt ñộng lặp mà chúng ñưa ñến việc tạo ra sản phẩm cuối cùng Phải chờ ñợi lâu trước khi có sản phẩm cuối 14 Mô hình chữ V (V Model) Một sự biến ñổi của mô hình thác... cho công tác bảo trì 29 RUP – Rational Unified Process Bổ sung cho UML Cách tiếp cận lặp cho các hệ thống hướng ñối tượng, bao gồm các use case ñể mô hình hóa các yêu cầu Các giai ñoạn của RUP Bắt ñầu: thiết lập phạm vi, giới hạn, các use case quan trọng, các kiến trúc ứng viên, các dự ñoán về chi phí và kế hoạch làm việc Sửa soạn: cơ sở của kiến trúc, thiết lập sự hỗ trợ công cụ Xây dựng: sản xuất tiến. .. nhận ñể xác nhận tính hợp lệ các yêu cầu Nếu các vấn ñề ñược tìm thấy trong suốt sự kiểm chứng và sự xác nhận tính hợp lệ, phần bên trái của mô hình chữ V có thể ñược tái thực hiện trước khi việc kiểm thử phần bên phải ñược tái thực hiện 15 Mô hình chữ V 16 Mô hình bản mẫu (Prototyping Model) Khó khăn ñể có 1 nhận thức ñầy ñủ về hệ thống làm bản mẫu Một mô hình về một phần của hệ thống Nhấn mạnh vào... chức năng Bản mẫu là công cụ ñể ñặc tả yêu cầu 17 Mô hình bản mẫu Cho phép sự nghiên cứu về các yêu cầu và thiết kế ñược lặp lại Giảm sự rủi ro và sự không chắc chắn trong phát triển Sử dụng mô hình bản mẫu khi các yêu cầu không rõ ràng Mô hình có thể lấy một trong 3 dạng: Bản mẫu trên giấy hay PC Bản mẫu là việc cài ñặt tập con các chức năng Bản mẫu là chương trình ñã có 18 Mô hình bản mẫu Ưu ñiểm... cần Mô hình ñịnh khung nhanh ðảm bảo sản phẩm ñược chuyển giao có ñược những gì khách hàng cần Xem nhẹ tài liệu, khó bảo trì Mô hình xoắn ốc Kết hợp nhiều ñặc ñiểm của tất cả các mô hình phía trên Chỉ có thể sử dụng cho các sản phẩm có kích thước lớn hay cho các tổ chức Các nhà phát triển phải có khả năng phân tích rủi ro và giải quyết rủi ro Các mô hình hướng ñối tượng Hỗ trợ việc lặp lại bên trong các. .. thời gian, công sức xây dựng một chức năng, ñặc tính nào ñó của phần mềm Cách tiếp cận tăng trưởng giúp tập trung vào các ñiểm cốt lõi và các chức năng cần thiết ñáp ứng yêu cầu thực 21 tiễn Mô hình ñịnh khung nhanh (Rapid Application Development: RAD) Là tiến trình phát triển phần mềm gia tăng, tăng dần từng bước với mỗi chu kỳ phát triển rất ngắn (60-90 ngày) Xây dựng dựa trên hướng thành phần với... thiểu và kiểm soát các rủi ro Mô hình ñược trình bày ở dạng xoắn ốc trong ñó mỗi lần lặp ñược biểu diễn bởi một ñường vòng quanh Bốn hoạt ñộng chính: Lập kế hoạch(xác ñịnh các mục tiêu, các lựa chọn và các ràng buộc) Phân tích rủi ro (phân tích các phương án và xác ñịnh/giải quyết rủi ro) Kỹ Nghệ (phát triển sản phẩm) ðánh giá của khách hàng(khẳng ñịnh kết quả của kỹ nghệ) 25 Mô hình xoắn ốc Cumulative... phân tích rủi ro 27 Mô hình hướng ñối tượng (object-oriented life-cycle model) Bảo trì Phát triển thêm ðưa vào hoạt ñộng Tích hợp Cài ñặt Thiết kế HðT Phân tích hướng ñối tượng Xác ñịnh yêu cầu Mô hình vòi phun nước 28 Mô hình hướng ñối tượng (object-oriented life-cycle model) ðặc tính quan trọng nhất là lặp: giữa các giai ñoạn một phần trong giai ñoạn Mô hình vòi phun nước thể hiện các giai ñoạn gối ... dung Tiến trình Các mô hình tiến trình phần mềm Mô hình thác nước Mô hình chữ V Mô hình mẫu Mô hình ñịnh khung nhanh Mô hình xoắn ốc Mô hình RUP Tiến trình (Process) Tiến trình phần mềm cách... nghiệm Tiến trình Chu kỳ sống phần mềm Khi tiến trình liên quan tới việc xây dựng phần mềm, tiến trình ñược xem chu kỳ sống phần mềm Các mô hình tiến trình phần mềm Mô hình xây dựng hiệu chỉnh Mô hình. .. hình xây dựng hiệu chỉnh Mô hình thác nước Mô hình chữ V Mô hình mẫu Mô hình ñịnh khung nhanh Mô hình xoắn ốc Mô hình hướng ñối tượng Mô hình RUP Mô hình xây dựng hiệu chỉnh (Build-and-fix model