Tổng quan:
Mô hình Waterfall là mô hình vòng đời tuần tự tuyến tính. Nó rất đơn giản để hiểu và sử dụng. Trong mô hình Waterfall, 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 và không có sự chồng chéo trong các giai đoạn.
Mô hình Waterfall là cách tiếp cận SDLC (chu trình phát triền phần mêm) sớm nhất được sử dụng để phát triển phần mềm.
Mô hình Waterfall minh họa quá trình phát triển phần mềm theo một dòng tuần tự tuyến tính. Điều này có nghĩa là bất kỳ giai đoạn nào trong quá trình phát triển chỉ bắt đầu nếu giai đoạn trước đó hoàn thành. Trong mô hình Waterfall này, các pha không chồng lên nhau.
Thiết kế Waterfall Model
Phương pháp tiếp cận mô hình Waterfall là Mô hình SDLC đầu tiên được sử dụng rộng rãi trong kỹ thuật phần mềm để đảm bảo sự thành công của dự án. Trong cách tiếp cận “The Waterfall”, toàn bộ quá trình phát triển phần mềm được chia thành các giai đoạn riêng biệt. Trong mô hình Waterfall này, thông thường, kết quả của một giai đoạn đóng vai trò là đầu vào cho giai đoạn tiếp theo một cách tuần tự.
Hình minh họa sau đây là đại diện cho các giai đoạn khác nhau của Mô hình Waterfall.
Các giai đoạn tuần tự trong mô hình Waterfall là:
- Thu thập và phân tích yêu cầu (Requirement Gathering and analysis): Tất cả các yêu cầu có thể có của hệ thống được phát triển đều được ghi lại trong giai đoạn này và được ghi lại trong tài liệu đặc tả yêu cầu.
- Thiết kế hệ thống (System Design): Các thông số kỹ thuật yêu cầu từ giai đoạn đầu tiên được nghiên cứu trong giai đoạn này và thiết kế hệ thống đã được chuẩn bị. Thiết kế hệ thống này giúp xác định các yêu cầu phần cứng và hệ thống cũng như giúp xác định kiến trúc hệ thống tổng thể.
- Thực hiện (Implementation): Với đầu vào từ thiết kế hệ thống, hệ thống được phát triển đầu tiên trong các chương trình nhỏ được gọi là các đơn vị, được tích hợp trong giai đoạn tiếp theo. Mỗi đơn vị được phát triển và kiểm tra chức năng của nó, được gọi là Kiểm thử đơn vị (Unit test).
- Tích hợp và Kiểm tra (Integration and Testing) Tất cả các đơn vị được phát triển trong giai đoạn triển khai được tích hợp vào một hệ thống sau khi thử nghiệm của từng đơn vị. Sau khi tích hợp, toàn bộ hệ thống được kiểm tra xem có bất kỳ lỗi và hỏng hóc nào không.
- Triển khai hệ thống (Deployment of system) Sau khi kiểm tra chức năng và phi chức năng được thực hiện; sản phẩm được triển khai trong môi trường khách hàng hoặc được tung ra thị trường.
- Bảo trì (Maintenance) Có một số vấn đề xảy ra trong môi trường khách hàng. Để khắc phục những vấn đề đó, các bản vá được phát hành. Ngoài ra để nâng cao sản phẩm một số phiên bản tốt hơn được phát hành. Bảo trì được thực hiện để mang lại những thay đổi này trong môi trường khách hàng.
Tất cả các giai đoạn này được xếp tầng với nhau, trong đó tiến trình được xem như chảy đều đặn xuống dưới (giống như Waterfall) qua các giai đoạn. Giai đoạn tiếp theo chỉ được bắt đầu sau khi đạt được tập hợp mục tiêu đã xác định cho giai đoạn trước và nó được ký kết, vì vậy có tên “Mô hình Waterfall”. Trong mô hình này, các giai đoạn không chồng chéo lên nhau.
Ứng dụng mô hình Waterfall.
Mỗi phần mềm được phát triển đều khác nhau và đòi hỏi phải tuân theo một cách tiếp cận SDLC phù hợp dựa trên các yếu tố bên trong và bên ngoài. Một số tình huống mà việc sử dụng mô hình Waterfall là thích hợp nhất:
- Các yêu cầu được ghi chép rất đầy đủ, rõ ràng và cố định.
- Định nghĩa sản phẩm là ổn định.
- Công nghệ được hiểu và không phải là năng động.
- Không có yêu cầu mơ hồ.
- Có sẵn các nguồn lực dồi dào với kiến thức chuyên môn cần thiết để hỗ trợ sản phẩm.
- Dự án ngắn hạn.
Ưu điểm của mô hình Waterfall.
Ưu điểm của phát triển mô hình Waterfall là nó cho phép phân thành các phần và dễ dàng kiểm soát. Một lịch trình có thể được thiết lập với thời hạn cho từng giai đoạn phát triển và một sản phẩm có thể tiến hành từng giai đoạn của mô hình quy trình phát triển.
Sự phát triển di chuyển từ khái niệm, thông qua thiết kế, thực hiện, thử nghiệm, cài đặt, khắc phục sự cố và kết thúc ở vận hành và bảo trì. Mỗi giai đoạn phát triển diễn ra theo thứ tự nghiêm ngặt.
Một số ưu điểm chính của Mô hình Waterfall như sau:
- Đơn giản và dễ để hiểu và sử dụng
- Dễ dàng quản lý do độ cứng của mô hình. Mỗi giai đoạn có các phân phối cụ thể và một quy trình xem xét.
- Các giai đoạn được xử lý và hoàn thành cùng một lúc.
- Hoạt động tốt cho các dự án nhỏ hơn, nơi các yêu cầu được hiểu rất rõ.
- Các giai đoạn được xác định rõ ràng.
- Các mốc quan trọng được hiểu rõ.
- Dễ dàng sắp xếp các công việc.
- Quá trình và kết quả được ghi lại đầy đủ.
Nhược điểm của mô hình Waterfall.
Nhược điểm của phát triển Waterfall là nó không cho phép phản ánh hoặc sửa đổi nhiều. Một khi ứng dụng đang trong giai đoạn thử nghiệm, rất khó để quay lại và thay đổi điều gì đó không được ghi chép đầy đủ hoặc được nghĩ đến trong giai đoạn khái niệm.
Những nhược điểm chính của Mô hình Waterfall như sau:
- Không có phần mềm đang hoạt động nào được sản xuất cho đến cuối vòng đời.
- Lượng rủi ro cao và không chắc chắn.
- Không phải là một mô hình tốt cho các dự án hướng đối tượng và phức tạp.
- Mô hình kém cho các dự án dài và đang diễn ra.
- Không phù hợp với các dự án mà các yêu cầu có nguy cơ thay đổi từ trung bình đến cao. Vì vậy, rủi ro và sự không chắc chắn là cao với mô hình quy trình này.
- Rất khó để đo lường sự tiến bộ trong các giai đoạn.
- Không thể đáp ứng các yêu cầu thay đổi.
- Điều chỉnh phạm vi trong vòng đời có thể kết thúc một dự án.
- Việc tích hợp được thực hiện như một “vụ nổ lớn ở giai đoạn cuối, điều này không cho phép xác định sớm bất kỳ điểm nghẽn hoặc thách thức nào về công nghệ hoặc kinh doanh.
Cảm ơn mọi người đã theo dõi.
Author: DuongVT19