꿈많은청년들

Phương pháp phát triển Waterfall là gì?

  • Ngôn ngữ viết: Tiếng Hàn Quốc
  • Quốc gia: Tất cả các quốc giacountry-flag
  • CNTT

Đã viết: 2024-05-14

Đã viết: 2024-05-14 09:50

Phương pháp phát triển Waterfall là gì?

Phương pháp phát triển Waterfall

Phương pháp phát triển thác nước (Waterfall Model) là một trong những phương pháp luận lâu đời nhất trong phát triển phần mềm, đại diện cho cách tiếp cận thực hiện dự án thông qua các giai đoạn tuần tự. Mô hình này có cấu trúc chuyển sang giai đoạn tiếp theo sau khi hoàn thành hoàn toàn mỗi giai đoạn, giống như thác nước (waterfall) chảy từ trên xuống, có đặc điểm là tiến hành từng bước một. Trong bài viết này, chúng ta sẽ xem xét kỹ hơn về định nghĩa, các đặc điểm chính, ưu nhược điểm và các ví dụ sử dụng của phương pháp phát triển thác nước.

Định nghĩa phương pháp phát triển thác nước

Phương pháp phát triển thác nước là một phương pháp luận thực hiện từng bước theo chu kỳ phát triển phần mềm (SDLC: Software Development Life Cycle). Mô hình này lần đầu tiên được Winston W. Royce giới thiệu vào những năm 1970 và từ đó đã được sử dụng trong nhiều dự án. Mô hình thác nước bao gồm các giai đoạn sau:

1. Phân tích yêu cầu (Requirements Analysis): Giai đoạn thu thập và xác định rõ ràng các yêu cầu của dự án.

2. Thiết kế (Design): Giai đoạn thực hiện kiến trúc và thiết kế chi tiết của phần mềm.

3. Triển khai (Implementation): Giai đoạn viết mã thực tế và phát triển phần mềm.

4. Kiểm thử (Test): Giai đoạn kiểm thử phần mềm đã phát triển để tìm và sửa lỗi.

5. Triển khai (Deployment): Giai đoạn triển khai phần mềm vào môi trường vận hành thực tế.

6. Bảo trì (Maintenance): Giai đoạn duy trì và cải thiện phần mềm đã triển khai.

Hình ảnh thác nước với các giai đoạn được thể hiện tuần tự

Giống như hình ảnh trên, khi giai đoạn lập kế hoạch kết thúc và được xác nhận, thì bắt đầu thiết kế, và khi thiết kế hoàn thành và được xác nhận, thì bắt đầu giai đoạn phát triển tiếp theo, sau khi phát triển hoàn thành và được xác nhận, thì kiểm thử, và nếu không có lỗi thì tiến hành ra mắt. Trong giai đoạn lập kế hoạch, có thể có nhiều lần sửa đổi, hoặc trong giai đoạn thiết kế, có thể có nhiều lần sửa đổi.

Tuy nhiên, giống như nước chảy từ trên xuống, khi quá trình phát triển đã bắt đầu, việc đột ngột thay đổi kế hoạch để thay đổi hoặc điều chỉnh quá trình phát triển là không được thực hiện.

Đặc điểm của phương pháp phát triển thác nước

  • Tiến hành tuần tự: Có cấu trúc chuyển sang giai đoạn tiếp theo sau khi mỗi giai đoạn hoàn thành.
  • Ưu tiên tài liệu hóa: Tài liệu hóa chi tiết ở mỗi giai đoạn để tạo ra hồ sơ rõ ràng.
  • Yêu cầu cố định: Xác định rõ ràng tất cả các yêu cầu trong giai đoạn phân tích yêu cầu ban đầu, và việc thay đổi yêu cầu trong các giai đoạn tiếp theo là khó khăn.

Ưu và nhược điểm của phương pháp phát triển thác nước

Ưu điểm

1. Cấu trúc rõ ràng: Các giai đoạn được phân biệt rõ ràng, giúp dễ dàng theo dõi tiến độ.

2. Tài liệu hóa: Tài liệu hóa kỹ lưỡng ở mỗi giai đoạn giúp dễ dàng theo dõi tiến độ dự án và các quyết định.

3. Dễ dàng quản lý: Dễ dàng lập kế hoạch và quản lý lịch trình, và có thể thiết lập mục tiêu rõ ràng cho từng giai đoạn.

Nhược điểm

1. Khó thay đổi: Yêu cầu được cố định ở giai đoạn đầu, do đó việc thay đổi yêu cầu ở các giai đoạn sau sẽ khó khăn và tốn kém.

2. Phụ thuộc vào từng giai đoạn: Không thể chuyển sang giai đoạn tiếp theo trước khi một giai đoạn hoàn thành, điều này có thể dẫn đến chậm tiến độ.

3. Thiếu sự tham gia của khách hàng: Sự tham gia của khách hàng bị hạn chế sau giai đoạn đầu, dẫn đến sản phẩm cuối cùng có thể không đáp ứng được kỳ vọng của khách hàng.

Đây là thuật ngữ được sử dụng khi nói về phương pháp phát triển, có nghĩa là phát triển theo trình tự từng bước.


Thông tin bổ ích

Ngược lại với phương pháp này là Phương pháp Agiletrong đó ra mắt phiên bản thử nghiệm và liên tục sửa đổi, cải thiện và bổ sung các tính năng trong quá trình vận hành. Phương pháp này thường được sử dụng khi tạo ra dịch vụ của riêng công ty, bởi vì nó cho phép nâng cao chất lượng dịch vụ và có thể xử lý nhân lực liên tục sửa đổi.

Nếu sử dụng phương pháp Agile để phát triển dịch vụ của khách hàng (SI ngoài gói), thì khách hàng sẽ phải thanh toán chi phí nhân công và chi phí khác (tiền thuê nhà, phí quản lý, v.v.) hàng tháng trong quá trình phát triển, nhưng trên thực tế, việc phát triển với số tiền cố định như 2 tháng phát triển, 5 tháng phát triển là rất phổ biến, chứ không phải là hình thức thanh toán hàng tháng với số tiền không xác định. Điều này là do rất hiếm khi khách hàng chấp nhận thanh toán theo cách này.

Bình luận0