Mô hình thác nước trong SDLC là gì? Ưu điểm và nhược điểm

Mô hình thác nước là gì?

Mô hình thác nước là một mô hình tuần tự chia quá trình phát triển phần mềm thành các giai đoạn được xác định trước. Mỗi giai đoạn phải được hoàn thành trước khi giai đoạn tiếp theo có thể bắt đầu mà không có sự chồng chéo giữa các giai đoạn. Mỗi giai đoạn được thiết kế để thực hiện hoạt động cụ thể trong giai đoạn SDLC. Nó được Winston Royce giới thiệu vào năm 1970.

Giải thích mô hình thác nước trong SDLC
Giải thích mô hình thác nước trong SDLC

 

Các giai đoạn khác nhau của mô hình thác nước trong công nghệ phần mềm

Sau đây là các giai đoạn khác nhau của Mô hình thác nước:

Các giai đoạn khác nhau Các hoạt động thực hiện trong từng giai đoạn
Giai đoạn thu thập yêu cầu
  • Trong giai đoạn này, các yêu cầu chi tiết của hệ thống phần mềm sẽ được phát triển được thu thập từ phía khách hàng.
Thiết kế sân khấu
  • Lập kế hoạch ngôn ngữ lập trình, ví dụ Java, PHP, .mạng lưới
  • hoặc cơ sở dữ liệu như Oracle, MySQL, Vv
  • Hoặc các chi tiết kỹ thuật cấp cao khác của dự án
Sân khấu đã xây dựng Sau giai đoạn thiết kế là giai đoạn xây dựng, đó không gì khác ngoài việc viết mã phần mềm
Giai đoạn thử nghiệm Trong giai đoạn này, bạn kiểm thử phần mềm để xác minh rằng nó được xây dựng theo các thông số kỹ thuật do khách hàng đưa ra.
Giai đoạn triển khai Triển khai ứng dụng trong môi trường tương ứng
Giai đoạn bảo trì Khi hệ thống của bạn đã sẵn sàng để sử dụng, sau này bạn có thể yêu cầu thay đổi mã theo yêu cầu của khách hàng

Khi nào nên sử dụng Mô hình thác nước SDLC?

Phương pháp thác nước có thể được sử dụng khi:

  • Yêu cầu không thay đổi thường xuyên
  • Ứng dụng không phức tạp và lớn
  • Dự án ngắn
  • Yêu cầu rõ ràng
  • Môi trường ổn định
  • Công nghệ và công cụ được sử dụng không năng động và ổn định
  • Nguồn lực có sẵn và được đào tạo

Ưu điểm và nhược điểm của mô hình thác nước

Dưới đây là những ưu điểm phổ biến của mô hình Thác nước trong Kỹ thuật phần mềm với một số nhược điểm:

Ưu điểm Nhược điểm
Trước giai đoạn phát triển tiếp theo, mỗi giai đoạn phải được hoàn thành Lỗi chỉ có thể được sửa trong giai đoạn
Thích hợp cho các dự án nhỏ hơn nơi yêu cầu được xác định rõ ràng Không mong muốn đối với dự án phức tạp, nơi yêu cầu thay đổi thường xuyên
Họ nên thực hiện kiểm tra đảm bảo chất lượng (Xác minh và Xác nhận) trước khi hoàn thành từng giai đoạn Thời gian thử nghiệm đến khá muộn trong quá trình phát triển
Tài liệu phức tạp được thực hiện ở mọi giai đoạn của chu kỳ phát triển phần mềm Tài liệu chiếm nhiều thời gian của nhà phát triển và người thử nghiệm
Dự án hoàn toàn phụ thuộc vào nhóm dự án với sự can thiệp tối thiểu của khách hàng Phản hồi có giá trị của khách hàng không thể được đưa vào giai đoạn phát triển đang diễn ra
Mọi thay đổi về phần mềm đều được thực hiện trong quá trình phát triển Những thay đổi nhỏ hoặc lỗi phát sinh trong phần mềm hoàn thiện có thể gây ra rất nhiều vấn đề