What is Waterfall Model in SDLC

Mô hình thác nước 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 (Waterfall Model) là một mô hình tuần tự chia việc 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 giới thiệu vào năm 1970 bởi Winston Royce.

052615 1232 WhatisSDLCo1

Các giai đoạn khác nhau của mô hình thác nước

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

Các giai đoạn khác nhauCác hoạt động thực hiện trong từng giai đoạn
Giai đoạn thu thập yêu cầuTrong 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ừ khách hàng
Giai đoạn thiết kếLập kế hoạch ngôn ngữ lập trình, ví dụ Java, PHP, .net
hoặc cơ sở dữ liệu như Oracle, MySQL, v.v.
Hoặc các chi tiết kỹ thuật cao cấp khác của dự án
Giai đoạn lập trìnhSau giai đoạn thiết kế, nó là giai đoạn lập trình, không có gì khác ngoài việc viết mã phần mềm
Giai đoạn kiểm thửTrong giai đoạn này, bạn kiểm thử phần mềm để xác minh rằng nó được lập trình theo các thông số kỹ thuật do khách hàng đưa ra.
Giai đoạn triển khaiTriể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 đó bạn có thể yêu cầu thay đổi mã theo yêu cầu của khách hàng
What is Waterfall Model in SDLC

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

Mô hình 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
What is Waterfall Model in SDLC

Ư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ểmNhượ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ànhLỗ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 các yêu cầu được xác định rõ ràngKhông phù hợp đối với dự án phức tạp, nơi yêu cầu thay đổi thường xuyên
Phải thực hiện kiểm thử và đảm bảo chất lượng (Verification và Validation) trước khi hoàn thành từng giai đoạnThời gian kiểm thử đến khá muộn trong quá trình phát triển
Tài liệu kỹ lưỡng được thực hiện ở mọi giai đoạn của chu kỳ phát triển phần mềmTài liệu chiếm rất nhiều thời gian của các nhà phát triển và người kiểm thử
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àngPhản hồi có giá trị của khách hàng không thể được đưa vào trong giai đoạn phát triển đang diễn ra
Bất kỳ thay đổi nào trong phần mềm được thực hiện trong quá trình phát triểnNhữ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 nhiều vấn đề

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/PHP/.NET TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Leave a Reply

Your email address will not be published. Required fields are marked *