Please enable JavaScript.
Coggle requires JavaScript to display documents.
Các mô hình phát triển phần mềm - Coggle Diagram
Các mô hình phát triển phần mềm
Mô hình Thác nước (Waterfall)
Nhược điểm: Rất cứng nhắc, khó quay lại sửa đổi khi đã sang giai đoạn sau. Sản phẩm chỉ hoạt động được vào giai đoạn cuối cùng. Rủi ro cao nếu yêu cầu ban đầu bị hiểu sai.
Khái niệm: Là mô hình cổ điển nhất, trong đó các giai đoạn phát triển diễn ra tuần tự, nối tiếp nhau như dòng nước chảy từ trên xuống dưới. Giai đoạn sau chỉ bắt đầu khi giai đoạn trước đã hoàn thành 100%
Ưu điểm: Dễ hiểu, dễ quản lý. Tài liệu được xác định rõ ràng ở từng giai đoạn. Thích hợp cho các dự án có yêu cầu ổn định, ít thay đổi.
Mô hình RAD (Rapid Application Development)
Ưu điểm
Thời gian ra mắt sản phẩm rất ngắn.
Phản hồi người dùng nhanh.
Nhược điểm
Cần đội ngũ kỹ thuật tay nghề cao.
Chất lượng code có thể không tối ưu, khó bảo trì về sau.
Khái niệm
Ưu tiên tốc độ phát triển cực nhanh bằng cách sử dụng các công cụ hỗ trợ, tái sử dụng mã nguồn và làm việc song song. "Code trước, sửa sau".
Mô hình Agile (Linh hoạt)
Ưu điểm
Rất linh hoạt, thích ứng nhanh với thay đổi.
Khách hàng hài lòng cao do tham gia sâu vào dự án.
Nhược điểm
Khó dự đoán chính xác ngân sách và thời gian hoàn thành cuối cùng.
Yêu cầu kỷ luật cao từ đội nhóm.
Khái niệm
Đây là một triết lý/tư duy hơn là một quy trình cứng. Agile chia dự án thành các vòng lặp nhỏ, khuyến khích sự tương tác liên tục giữa đội ngũ phát triển và khách hàng, sẵn sàng đón nhận thay đổi.
Mô hình Làm bản mẫu (Prototyping)
Khái niệm: Tập trung vào việc tạo ra một phiên bản sơ khai (bản mẫu) của phần mềm để khách hàng dùng thử và phản hồi trước khi xây dựng hệ thống thật.
Ưu điểm:
Giúp khách hàng hình dung rõ sản phẩm.
Giảm rủi ro hiểu sai yêu cầu.
Nhược điểm:
Khách hàng có thể lầm tưởng bản mẫu là sản phẩm hoàn thiện.
Chi phí phát triển có thể tăng nếu làm đi làm lại bản mẫu quá nhiều lần.
Mô hình Xoắn ốc
Khái Niệm: Kết hợp giữa tính lặp của việc làm bản mẫu và tính kiểm soát của Waterfall. Trọng tâm chính của mô hình này là Phân tích rủi ro.
Ưu điểm: Phù hợp cho các dự án lớn, phức tạp và quan trọng.
Nhược điểm: Chi phí cao, tốn thời gian.
Mô hình tiến hoá
Khái niệm: Tương tự như Tăng trưởng/Làm bản mẫu, nhưng tập trung vào việc phát triển phiên bản đầu tiên hoàn chỉnh rổi liên tục tinh chỉnh, nâng cấp dựa trên phản hồi để tạo ra các phiên bản tốt hơn (Version 1 -> Version 2...).
Ưu điểm: Sản phẩm luôn được cập nhật theo nhu cầu thực tế.
Nhược điểm: Khó xác định điểm dừng (khi nào thì dự án kết thúc).
Mô hình Tăng trưởng
Khái niệm: Khái niệm: Chia hệ thống lớn thành các phần nhỏ (modules). Phiên bản đầu tiên chứa chức năng cốt lõi, các phiên bản sau bổ sung thêm các chức năng mới cho đến khi hoàn thiện.
Ưu điểm: Có sản phẩm để sử dụng sớm (dù chưa đầy đủ).
Linh hoạt hơn Waterfall.
Nhược điểm: Cần kiến trúc hệ thống tốt để có thể "lắp ghép" các phần sau vào mà không phá vỡ phần trước.
Mô hình Scrum
Ưu điểm
Minh bạch cao (họp Daily Scrum hàng ngày).
Phát hiện lỗi sớm, sửa sai nhanh sau mỗi Sprint.
Nhược điểm
Nếu không có Scrum Master giỏi, quy trình dễ bị hỗn loạn.
Không phù hợp nếu thành viên trong nhóm hay thay đổi.
Khái niệm
Là một khung làm việc (framework) cụ thể để thực hiện triết lý Agile. Dự án được chia thành các Sprint (thường kéo dài 2-4 tuần). Cuối mỗi Sprint phải bàn giao được một phần mềm chạy được.
Mô hình Chữ V (V-Model)
Nhược điểm:
Vẫn cứng nhắc giống Waterfall.
Khó xử lý các thay đổi yêu cầu ở giữa dự án.
Ưu điểm:
Chất lượng cao do quy trình kiểm thử (Testing) được lên kế hoạch ngay từ đầu.
Dễ dàng theo dõi tiến độ.
Khái niệm: Là biến thể của Waterfall, nhưng quy trình đi theo hình chữ V. Mỗi giai đoạn phát triển (nhánh trái) đều có một giai đoạn kiểm thử tương ứng (nhánh phải).