Bài giảng Mô hình phát triển - Nguyễn Thanh Bình
Phân tích tính khả thi
xác ñịnh vấn ñề cần giải quyết,
xem xét các giải pháp và kĩ thuật khác nhau
• thuận lợi
• bất lợi
ñánh giá về thời gian, giá thành, nguồn tài
nguyên cần thiết
Sản phẩm: tài liệu phân tích
1Mô hình phát triển (2) Nguyễn Thanh Bình Khoa Công nghệ Thông tin Trường ðại học Bách khoa ðại học ðà Nẵng 2 Nội dung Các hoạt ñộng phát triển phần mềm Các mô hình phát triển phần mềm 23 Các hoạt ñộng phát triển phần mềm Phân tích tính khả thi Phân tích và ñặc tả yêu cầu Thiết kế Mã hóa Kiểm thử Bảo trì 4 Các hoạt ñộng phát triển phần mềm Phân tích tính khả thi xác ñịnh vấn ñề cần giải quyết, xem xét các giải pháp và kĩ thuật khác nhau • thuận lợi • bất lợi ñánh giá về thời gian, giá thành, nguồn tài nguyên cần thiết Sản phẩm: tài liệu phân tích 35 Các hoạt ñộng phát triển phần mềm Phân tích và ñặc tả yêu cầu (1) xác ñịnh nhu cầu của khách hàng/người sử dụng • xác ñịnh bài toán, chứ không phải là giải pháp khó khăn • khách hàng không biết rỏ cái họ cần • khách hàng không trình bày rỏ cái họ muốn • các thay ñổi Sản phẩm: tài liệu ñặc tả yêu cầu 6 Các hoạt ñộng phát triển phần mềm Phân tích và ñặc tả yêu cầu (2) các bước • khảo sát, tổng hợp yêu cầu • phân tích yêu cầu • ñặc tả yêu cầu • hợp thức hóa yêu cầu 47 Các hoạt ñộng phát triển phần mềm Phân tích và ñặc tả yêu cầu (3) Tổng hợp và phân tích yêu cầu ðặc tả yêu cầu Hợp thức hóa yêu cầu Mô hình hệ thống Yêu cầu hệ thống của người sử dụng Tài liệu ñặc tả yêu cầu 8 Các hoạt ñộng phát triển phần mềm Thiết kế (1) chuyển từ tài liệu ñặc tả yêu cầu thành cấu trúc lô-gíc có thể cài ñặt ñược giải pháp cho vấn ñề ñã ñược ñặc tả thiết kế kiến trúc • các moñun và giao diện của các mô-ñun thiết kế giao diện thiết kế các mô-ñun • cấu trúc dữ liệu • thuật toán Sản phẩm: tài liệu thiết kế 59 Các hoạt ñộng phát triển phần mềm Thiết kế (2) Thiết kế kiến trúc ñặc tả kiến trúc Thiết kế mô-ñun Thiết kế cấu trúc dữ liệu Thiết kế thuật toán ñặc tả mô-ñun ñặc tả cấu trúc dữ liệu ñặc tả thuật toán Thiết kế giao diện ñặc tả giao diện 10 Các hoạt ñộng phát triển phần mềm Thiết kế (3) các phương pháp thiết kế • hướng chức năng • hướng ñối tượng 611 Các hoạt ñộng phát triển phần mềm Mã hóa và gở rối mã hóa • cài ñặt các thiết kế bằng ngôn ngữ lập trình • không ñơn thuần chỉ là lập trình • viết tài liệu • insertions/invariants • chuẩn lập trình (coding standards) • lập trình theo cặp (pair programming) • công cụ • quản lý phiên bản gở rối • phát hiện các lỗi trong quá trình lập trình Sản phẩm: chương trình 12 Các hoạt ñộng phát triển phần mềm Kiểm thử (1) phát hiện lỗi trong chương trình lập kế hoạch thực hiện kiểm thử • tạo các trường hợp kiểm thử • tiêu chuẩn kiểm thử • nguồn tài nguyên kiểm thử mã nguồn ñược kiểm thử theo tài liệu thiết kế Sản phẩm: báo cáo kiểm thử 713 Các hoạt ñộng phát triển phần mềm Kiểm thử (2) các hoạt ñộng kiểm thử • kiểm thử ñơn vị • kiểm thử tích hợp • kiểm thử hệ thống • kiểm thử chấp nhận 14 Các hoạt ñộng phát triển phần mềm Kiểm thử (3) các phương pháp kiểm thử • kiểm thử tĩnh • kiểm thử ñộng • kiểm thử hộp ñen • kiểm thử hộp trắng 815 Các hoạt ñộng phát triển phần mềm Bảo trì bảo ñảm chương trình vận hành tốt cài ñặt các thay ñổi cài ñặt các yêu cầu mới xử lý các lỗi khi vận hành Sản phẩm: chương trình 16 Các mô hình phát triển phần mềm Sự tổ chức các hoạt ñộng phát triển phần mềm Mô hình phát triển phần mềm hay tiến trình phát triển phần mềm Có nhiều mô hình phát triển phần mềm mô hình thác nước mô hình nguyên mẫu mô hình V mô hình tiến hóa mô hình xoắn ốc mô hình hợp nhất 917 Mô hình thác nước (waterfall model) Phân tích tính khả thi Phân tích và ñặc tả yêu cầu Thiết kế Mã hóa và kiểm thử Cài ñặt và bảo trì 18 Mô hình thác nước Ưu ñiểm dự án nhỏ yêu cầu xác ñịnh Nhược ñiểm dự án lớn thời gian sửa lỗi yêu cầu thay ñổi 10 19 Mô hình nguyên mẫu (prototyping model) Phân tích yêu cầu Thiết kế nhanh Xây dựng nguyên mẫu ðánh giá Thiết kế 20 Mô hình nguyên mẫu Ưu ñiểm phát hiện yêu cầu hợp thức hóa yêu cầu thiết kế giao diện • giao diện trên giấy • giao diện “thật” hệ thống có rủi ro cao • yêu cầu không chắc chắn • giao diện chưa rỏ ràng • chiến lược cài ñặt chưa rỏ ràng 11 21 Mô hình nguyên mẫu Hạn chế khách hàng có thể cho rằng nguyên mẫu là hệ thống thực • mong ñợi không thực tế về tiến triển của dự án người phát triển có sự chọn lựa không tốt • phù hợp cho nguyên mẫu, nhưng không phù hợp cho hệ thống thực • xây dựng hệ thống thực như xây dựng nguyên mẫu nguyên mẫu không giống hoàn toàn hệ thống cuối cùng • khách hàng sẽ có các phản ứng khác nhau 22 Mô hình V (V model) Nhấn mạnh vai trò kiểm thử ðặc tả yêu cầu Thiết kế kiến trúc Thiết kế chi tiết Mã hóa Kiểm thử hệ thống Kiểm thử tích hợp Kiểm thử ñơn vị 12 23 Mô hình tiến hóa (evolutionary model) ðặc tả Phát triển Hợp thức hóa Phiên bản ñầu tiên Phiên bản trung gian Phiên bản cuối cùng 24 Mô hình tiến hóa Ưu ñiểm dự án vừa và nhỏ các phần của dự án phức tạp các hệ thống có thời gian sống ngắn Hạn chế cấu trúc hệ thống tồi tiến trình không rỏ ràng 13 25 Mô hình xoắn ốc (spiral model) Risk analysis Risk analysis Risk analysis Risk analysis Proto- type 1 Prototype 2 Prototype 3 Opera- tional protoype Concept of Operation Simulations, models, benchmarks S/W requirements Requirement validation Design V&V Product design Detailed design Code Unit test Integration testAcceptance testService Develop, verify next-level product Evaluate alternatives identify, resolve risks Determine objectives alternatives and constraints Plan next phase Integration and test plan Development plan Requirements plan Life-cycle plan REVIEW 26 Mô hình xoắn ốc nhấn mạnh việc ñánh giá các rủi ro phần mềm ñược xây dựng theo nhiều chu kỳ mỗi chu kỳ tương ứng với một sản phẩm của một giai ñoạn phát triển phần mềm xác ñịnh các mục tiêu, giải pháp, ràng buộc ñánh giá các giải pháp, xác ñịnh các nguy cơ và tìm cách giải quyết chúng phát triển và kiểm thử sản phẩm của chu kỳ này lập kế hoạch cho chu kỳ tiếp theo 14 27 Mô hình xoắn ốc Rủi ro và giải pháp cho rủi ro thất bại về nhân sự • tuyển dụng nhân sự cao cấp, ñào tạo lẫn nhau, có ñầy ñủ các nhân sự với chức năng khác nhau... thời gian biểu và ngân sách không thực tế • ñánh giá thật chi tiết, phát triển dần dần, tái sử dụng, loại bỏ bớt các yêu cầu không cần thiết ... phát triển các chức năng không phù hợp • trao ñổi thường xuyên với người sử dụng, có tài liệu hướng dẫn sử dụng sớm... phát triển giao diện người dùng không thích hợp • cần phân tích các công việc, xây dựng các hình mẫu trước, ... thiếu yêu cầu ñặt ra • phát triển các phần ổn ñịnh trước vấn ñề về hiệu quả • cần phải mô phỏng, ño lường, thử nghiệm... ñòi hỏi vượt quá sự ñáp ứng của công nghệ hiên hành • phân tích kỹ tính khả thi về mặt kỹ thuật 28 Mô hình xoắn ốc Ưu ñiểm hạn chế rủi ro sớm nhận ñược feedbacks từ khách hàng sớm dự án lớn, phức tạp hệ thống cần phát triển nhiều phiên bản yêu cầu chưa xác ñịnh rỏ ràng 15 29 Mô hình hợp nhất (unified process) Tiến trình hợp nhất có thể ñược nhìn dưới hai góc nhìn khác nhau Góc nhìn quản lý: quan tâm ñến lĩnh vực kinh tế, chiến thuật, con người • Tiến trình gồm bốn giai ñoạn Góc nhìn kỹ thuật: quan tâm ñến công nghệ, kiểm tra chất lượng, phương pháp • Tiến trình gồm nhiều bước lặp 30 Mô hình hợp nhất Góc nhìn quản lý Khởi ñầu Inception Soạn thảo Elaboration Xây dựng Construction Chuyển giao Transition Vấn ñề Giải phápðặt vấn ñề Giải quyết vấn ñề Thực hiện Thời gian 16 31 Mô hình hợp nhất Góc nhìn kỹ thuật: các bước lặp Mỗi bước lặp gồm các hoạt ñộng: • ðặc tả • Phân tích • Thiết kế • Mã hóa • Kiểm thử • Cài ñặt Mỗi bước lặp là một tiến trình thác ñổ 32 Mô hình hợp nhất Góc nhìn kỹ thuật Thời gian Bước lặp chuẩn bị Bước lặp kiến trúc Bước lặp kiến trúc Bước lặp phát triển Bước lặp phát triển Bước lặp chuyển giao Bước lặp chuyển giao Bước lặp phát triển Mẫu thử (maquette) Nguyên mẫu kiến trúc Nguyên mẫu kiến trúc Nguyên mẫu phát triển Nguyên mẫu phát triển Bước lặp Kết quả Phiên bản chính thức Phiên bản β Phiên bản β 17 33 Mô hình hợp nhất Kết hợp hai góc nhìn Thời gian Bước lặp chuẩn bị Bước lặp kiến trúc Bước lặp kiến trúc Bước lặp phát triển Bước lặp phát triển Bước lặp chuyển giao Bước lặp chuyển giao Bước lặp phát triển Mẫu thử (maquette) Nguyên mẫu kiến trúc Nguyên mẫu kiến trúc Nguyên mẫu phát triển Nguyên mẫu phát triển Phiên bản chính thức Phiên bản β Bước lặp Kết quả Phiên bản β Giai ñoạn Khởi ñầu Soạn thảo Xây dựng Chuyển giao 34 Mô hình hợp nhất Mô hình hợp nhất và UML 18 35 Kết luận Có nhiều mô hình phát triển phần mềm mô hình tuyến tính • mô hình thác nước • mô hình nguyên mẫu • mô hình V mô hình lặp • mô hình tiến hóa • mô hình xoắn ốc • mô hình hợp nhất 36 Kết luận Kết hợp nhiều mô hình cho một dự án hệ thống phức tạp, chia dự án thành các hệ thống con mô hình xoắn ốc hay mô hình hợp nhất cho toàn bộ dự án mỗi hệ thống con có thể áp dụng một mô hình khác nhau • mô hình nguyên mẫu cho các hệ thống con phức tạp • mô hình thác nước cho các hệ thống con khác
File đính kèm:
- 2_MoHinhPhatTrien.pdf