Mô hình Thác Nước – Waterfall Model
Waterfall Model còn được là mô hình một vòng đời tuyến tính tuần tự.
Mô hình thác nước là một trong những mô hình phát triển phần mềm đầu tiên được áp dụng và rất phổ biến trong ngành công nghệ phần mềm.
1. Nguyên lý Mô hình thác nước
Hãy cùng nhìn hình vẽ minh họa dưới đây.
Step 1: Require and Analysis.
Là bước tiến hành đọc yêu cầu dự án, phân tích các yêu cầu mà dự án đề ra. Đây cũng còn được gọi là bước thu thập dữ liệu, viết lên tài liệu thiết kế.
Step 2: System Design.
Khi bước một được hoàn thành, thì bước hai là bước bắt đầu xây dựng lên tài liệu thiết kế cho dự án. Nếu step 2 gặp sự cố trong việc viết tài liệu thiết kế, thì quay trở lại bước một để thực hiện lại.
Step 3: Coding.
Step 3 được thực hiện khi step 2 được hoàn thành, các lập trình viên sẽ dựa trên các tài liệu thiết kế, sẽ thực hiện viết code để tạo ra các module, chức năng cho sản phẩm phần mềm.
Step 4: Testing.
Là giai đoạn test sản phẩm sau khi đã coding xong ở bước 3.
Giai đoạn test này có nhiều các công đoạn nhỏ hơn như : Unit Test, Program Test, Total Test.
Testing là giai đoạn quan trọng trong quy trình phát triển phần mềm nói chung và Waterfall nói riêng. Nó quyết định chất lượng phần mềm khi được đưa vào sử dụng.
Step 5: Deployment.
Sau khi việc test được hoàn thành, thì sản phẩm phần mềm được đưa vào triển khai, sử dụng, tại các user, và song song với quá trình theo dõi.
Người sử dụng sẽ gửi các bug của phần mềm cho nhà sản xuất khi họ phát hiện được trong quá trình sử dụng.
Step 6: Maintenance.
Là công đoạn bảo trì bảo dưỡng phần mềm, khi nhà sản xuất phát hiện ra bug họ sẽ gửi về cho team phát triển để sửa đổi, xử lý.
Khi phần mềm nâng cấp lên các phiên bản mới hơn, thay đổi chức năng….thì team phát triển sẽ thực hiện và đó gọi là quá trình maintenance phần mềm.
2. Ưu nhược điểm.
* Ưu điểm.
Là một kiểu mô hình đơn giản, dễ áp dụng, quy trình tuần tự theo từng bước một.
Dễ quản lý vì có tính cố định theo từng bước.
Các giai đoạn được xử lý rõ ràng và hoàn thành tại cùng thời điểm.
* Nhược điểm.
– Độ linh động không cao, khi một công đoạn đang trong quá trình thực hiện, mà phát hiện ra sai sót, thì sẽ phải dừng lại toàn bộ, và trở về giai đoạn đầu tiên, để update lại tài liệu, và thực hiện lại từ công đoạn đó.
– Không có sản phẩm nguyên mẫu ngay từ ban đầu, không đáp ứng được nhu cầu dịch vụ, vừa bán vừa phát triển.
– Sự rủi ro cao và độ chắc chắn kém.
– Không thích hợp cho những dự án có độ phức tạp cao, dự án dài hơi, dự án hướng đối tượng (vì đối tượng liên tục thay đổi tính chất theo thời gian).
3. Khi nào áp dụng Waterfall
- Áp dụng Waterfall khi nắm được rõ yêu cầu của dự án một cách tốt nhất, yêu cầu là rõ ràng và có tính ổn định cao.
- Nắm vững được công nghệ phát triển.
- Không có những yêu cầu không rõ ràng.
- Tài nguyên phát triển phong phú và chuyên môn kỹ thuật cao.
- Thích hợp với những dự án nhỏ và ngắn hạn.
___________________________________________________________
Pass Pham