1

Phân tích phát triển phần mềm: Phương pháp Waterfall 1990+

Mô hình phân tích theo phương pháp Waterfall có lẽ là phương pháp phổ biến nhất của phát triển phần mềm. Các nhóm và công ty trên toàn thế giới sử dụng nó để quản lý các dự án của họ.

1. Phương pháp quản lý dự án Waterfall là gì?

Quản lý dự án Waterfall là một quá trình tuần tự, tuyến tính của quản lý dự án. Nó bao gồm một số giai đoạn riêng biệt. Không giai đoạn nào có thể bắt đầu cho đến khi giai đoạn trước được hoàn thành và mỗi giai đoạn hoàn thành là giai đoạn cuối -  quản lý Waterfall không cho phép bạn quay lại giai đoạn trước. Cách duy nhất để xem lại một giai đoạn là bắt đầu lại ở giai đoạn một.

Waterfall thường được gọi là phương pháp truyền thống về phát triển phần mềm. Nó bắt nguồn từ những năm 1950. Phương pháp ban đầu được sử dụng trong phát triển phần cứng, nhưng sau khi phát minh ra phát triển phần mềm, nó đã được áp dụng cho ngành công nghiệp này. Ngày nay Waterfall vẫn là một trong những mô hình quá trình phổ biến nhất. Nó bị chỉ trích mạnh mẽ bởi một số lập trình viên thích sử dụng các phương thức Agile. Tuy nhiên, hầu hết các công ty phát triển phần mềm vẫn sử dụng Waterfall vì nó nổi tiếng.

Như bạn có thể tưởng tượng, lập kế hoạch phù hợp là điều bắt buộc trong hệ thống Waterfall. Các yêu cầu của dự án phải rõ ràng và mọi người tham gia vào dự án phải nhận thức rõ các yêu cầu đó. Mỗi thành viên trong nhóm cũng nên hiểu vai trò của họ sẽ là gì trong dự án và vai trò đó đòi hỏi gì.

applications-be-connected_1134-94

2. Các giai đoạn quản lý dự án Waterfall

Các giai đoạn cụ thể của hệ thống thay đổi phần nào từ nguồn này sang nguồn khác, nhưng chúng thường bao gồm:

Giai đoạn 1: Thu thập yêu cầu và tài liệu

Trong giai đoạn này, bạn nên thu thập thông tin toàn diện về những gì dự án này yêu cầu. Bạn có thể thu thập thông tin này theo nhiều cách khác nhau, từ phỏng vấn đến bảng câu hỏi đến tương tác. Đến cuối giai đoạn này, các yêu cầu của dự án phải rõ ràng và bạn nên có một tài liệu yêu cầu đã được phân phối cho nhóm của bạn.

Giai đoạn 2: Thiết kế

Sử dụng các yêu cầu được thiết lập hoặc nhóm của bạn thiết kế lên hệ thống. Không có mã hóa diễn ra trong giai đoạn này, nhưng nhóm thiết lập các thông số kỹ thuật như ngôn ngữ lập trình hoặc yêu cầu phần cứng.

Giai đoạn 3: Thực hiện

Mã hóa diễn ra trong giai đoạn này. Các lập trình viên lấy thông tin từ giai đoạn trước và tạo ra một sản phẩm chức năng. Họ thường triển khai mã theo từng phần nhỏ, được tích hợp vào cuối giai đoạn này hoặc đầu giai đoạn tiếp theo.

Giai đoạn 4: Kiểm tra

Sau khi tất cả mã hóa được thực hiện, thử nghiệm sản phẩm có thể bắt đầu. Người kiểm tra có phương pháp tìm và báo cáo bất kỳ vấn đề. Nếu vấn đề nghiêm trọng phát sinh, dự án của bạn có thể cần phải quay lại giai đoạn 1 để đánh giá lại. Trong giai đoạn này, sản phẩm đã hoàn thành và nhóm của bạn gửi các sản phẩm sẽ được triển khai hoặc phát hành.

Giai đoạn 5: Bảo trì

Sản phẩm đã được giao cho khách hàng và đang được sử dụng. Khi có vấn đề phát sinh, nhóm của bạn có thể cần tạo các bản vá và cập nhật có thể để giải quyết chúng. Một lần nữa, các vấn đề lớn có thể cần phải quay lại giai đoạn một.

Img-6-2x-4

3. Đánh giá mô hình Waterfall

Ưu điểm:

  • Tiến độ dự án có thể dễ dàng đo lường được vì tất cả những người liên quan đều hiểu lịch trình và các sản phẩm chính được cung cấp trước khi bắt đầu dự án.
  • Sắp xếp giữa khách hàng và nhà phát triển dự án xảy ra ở giai đoạn sớm nhất của chu kỳ phát triển. Như vậy, khách hàng có thể có một cách tiếp cận thực tế hơn khi dự án tiến triển bằng cách tham gia vào các đánh giá và cập nhật trạng thái mà không phải liên tục cộng tác với các nhà phát triển.
  • Phương pháp cho phép linh hoạt. Ví dụ, người kiểm tra có thể chuẩn bị các tập lệnh có liên quan trong khi quá trình phát triển đang được thực hiện bằng cách sử dụng tài liệu được tạo trong các giai đoạn trước.
  • Vì thiết kế nói chung là một giai đoạn riêng biệt, Waterfall cho phép sự phức tạp của các dự án phức tạp được lên kế hoạch hợp lý trước khi bắt đầu phát triển.
  • Nguy cơ phải mất thời gian mày mò với các đoạn mã để thêm nó vào ứng dụng dự án lớn đã giảm đi vì tất cả các bên liên quan trong dự án đều nhận thức đầy đủ về nhu cầu của dự án và các công nghệ được sử dụng từ việc bù đắp.

 Nhược điểm:

  • Waterfall về bản chất yêu cầu các nhà hoạch định dự án thu thập các chi tiết và tài liệu cụ thể từ bên ngoài, điều này có thể chứng minh sự đáng sợ đối với các khách hàng có ít kinh nghiệm trong phát triển phần mềm. Do đó, phương pháp này đặt ra những thách thức về mặt giúp khách hàng hiểu được những gì họ thực sự nhận được và làm thế nào thông tin được cung cấp giúp dự án đạt được mục tiêu.
  • Thay đổi trong yêu cầu dự án thường khó thực hiện, đặc biệt là khi quá trình phát triển đang được tiến hành, vì toàn bộ dự án được lên kế hoạch cẩn thận dựa trên các tài liệu và yêu cầu được thu thập trong các giai đoạn đầu.
  • Khi thử nghiệm có xu hướng xảy ra như một giai đoạn duy nhất ở cuối vòng đời phát triển, các lỗi ban đầu không bị phát hiện, có khả năng ảnh hưởng đến mã sau này đến điểm mà chúng tạo ra các vấn đề lớn.
  • Các dự án có thể bị trì hoãn nếu một giai đoạn cụ thể không được hoàn thành trong khung thời gian dự kiến, điều này ngăn cản giai đoạn tiếp theo tiến hành.
  • Các nhà phát triển thường không thể quay lại giai đoạn trước nếu phát hiện ra vấn đề khi sử dụng phương pháp Waterfall. Trong một số trường hợp, một vấn đề duy nhất có thể khiến toàn bộ dự án quay trở lại giai đoạn đầu tiên.

startup-photos

Nói chung, mô hình Waterfall dựa trên ba nguyên tắc chính: sự tham gia thấp của khách hàng, tài liệu lớn và cấu trúc tuần tự. Hy vọng với bài viết trên đã giúp bạn có thêm kiến thức về mô hình Waterfall và giúp ích cho học tập và công việc của bạn sau này.

 

 

 

 

 

Leave a Comment

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