SDLC - Mô hình thác nước
Mô hình Thác nước là Mô hình Quy trình đầu tiên được giới thiệu. Nó cũng được gọi làlinear-sequential life cycle model. Nó rất đơn giản để hiểu và sử dụng. Trong mô hình thác nướ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 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 sớm nhất được sử dụng để phát triển phần mềm.
Mô hình thác nước 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 thác nước này, các pha không chồng lên nhau.
Mô hình thác nước - Thiết kế
Phương pháp tiếp cận thác nước 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 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 tuần tự cho giai đoạn tiếp theo.
Hình minh họa sau đây là đại diện của các giai đoạn khác nhau của Mô hình thác nước.
Các giai đoạn tuần tự trong mô hình Waterfall là:
Requirement Gathering and analysis - Tất cả các yêu cầu có thể có của hệ thống sẽ được phát triển đượ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.
System Design- Các thông số kỹ thuật yêu cầu từ giai đoạn đầu đượ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ể.
Implementation- Với các đầ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ỏ gọi là đơ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ị.
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ó lỗi và hỏng hóc nào không.
Deployment of system- Sau khi thử nghiệm 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.
Maintenance- Có một số vấn đề nảy sinh 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 để cung cấp 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 (như thác nước) 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 thác nước". Trong mô hình này, các giai đoạn không chồng chéo lên nhau.
Mô hình thác nước - Ứng dụng
Mỗi phần mềm được phát triển đều khác nhau và đòi hỏi phải tuân theo phương pháp 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 là:
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 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.
Mô hình thác nước - Ưu điểm
Ưu điểm của phát triển thác nước là nó cho phép phòng ban và 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ừ ý tưởng, 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 là 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 thác nước 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 đủ.
Mô hình thác nước - Nhược điểm
Nhược điểm của phát triển thác nước là nó không cho phép phản ánh hoặc sửa đổi nhiều. Khi một ứng dụng đang trong giai đoạn thử nghiệm, rất khó để quay lại và thay đổi một cái 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 thác nước 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 phức tạp và hướng đối tượng.
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.