Quy trình phát triển phần mềm với mô hình xoắn ốc

Mô hình xoắn ốc (Spiral model) có thể được xem là sự kết hợp giữa mô hình thác nước (Waterfall model) và mô hình mẫu (Prototype model) và đồng thời thêm phân tích rủi ro (Risk assessment).

Trong mô hình xoắn ốc, quy trình phát triển phần mềm được biểu diễn như một vòng xoắn ốc. Các phase trong quy trình phát triển xoắn ốc bao gồm:

  • Thiết lập mục tiêu: xác định mục tiêu cho từng pha của dự án.
  • Đánh giá và giảm thiểu rủi ro: rủi ro được đánh giá và thực hiện các hành động để giảm thiểu rủi ro.
  • Phát triển và đánh giá: sau khi đánh giá rủi ro, một mô hình xây dựng hệ thống sẽ được lựa chọn từ những mô hình chung.
  • Lập kế hoạch: đánh giá dự án và phase tiếp theo của mô hình xoắn ốc sẽ được lập kế hoạch.

Mô hình xoắn ốc cải tiến

  • Mô hình xoáy ốc là cải tiến của mô hình tuần tự và mẫu thử, thêm vào phân tích rủi ro.
  • Là quá trình lặp hướng mở rộng, hoàn thiện dần.
  • Lập kế hoạch: xác lập vấn đề, tài nguyên, thời hạn
  • Phân tích rủi ro: xem xét mức độ mạo hiểm, tìm giải pháp
  • Kỹ nghệ: phát triển một phiên bản của phần mềm (chọn mô hình thích hợp)
  • Đánh giá của khách: khách hàng đánh giá phiên bản phát triển.

Kết quả đạt được

  • Sau mỗi lần tăng vòng thì có thể chuyển giao kết quả thực hiện được cho khách hành nên các chức năng của hệ thống có thể nhìn thấy sớm hơn.
  • Các vòng trước đóng vai trò là mẫu thử để giúp tìm hiểu thêm các yêu cầu ở những vòng tiếp theo.

Ưu điểm

  • Phân tích rủi ro dự án được đầy lên làm một phần thiết yếu trong quy trình xoắn ốc để tăng độ tin cậy của dự án.
  • Cho phép thay đổi tuỳ theo yêu cầu cho mỗi vòng xoắn ốc.
  • Nó được xem như là một mô hình tổng hợp của các mô hình khác.
  • Không chỉ áp dụng cho phần mềm mà còn phải cho cả phần cứng.
  • Một rủi ro lớn nào đó không được giải quyết thì chấm dứt dự án.
  • Các vòng tròn được lặp và mở rộng để đáp ứng được những thay đổi của người dùng
  • Kiểm soát tốt rủi ro ở từng giai đoạn phát triển.
  • Đánh giá chi phí chính xác hơn các phương pháp khác
  • Xây dựng dự án có sự kết hợp các mô hình khác vào phát triển (Waterfall, prototyping…)

 

Nhược điểm:

  • Phức tạp và không thích hợp với các dự án nhỏ và ít rủi ro.
  • Cần chuyên gia có kỹ năng tốt về phân tích rủi ro.
  • Yêu cầu thay đổi thường xuyên dẫn đến lặp vô hạn
  • Chưa được dùng rộng rãi như mô hình thác nước (waterfall) hay là mẫu (prototyping).
  • Đòi hỏi nhân sự "key" phải có năng lực quản lý tốt