Rate this post

Đây là cách tiếp cận đầu tiên và là mô hình cơ bản được sử dụng trong phát triển phần mềm. Nó là một mô hình đơn giản dễ sử dụng cũng như dễ hiểu. Việc thực hiện diễn ra theo trình tự, có nghĩa là kết quả của một giai đoạn bằng với kết quả của một giai đoạn khác. Đó là lý do tại sao nó còn được gọi là mô hình vòng đời tuần tự tuyến tính.

Các bài viết liên quan:

Để tránh các vấn đề chồng chéo của nhiều giai đoạn, mọi giai đoạn nên được hoàn thành trước khi chuyển sang giai đoạn tiếp theo. Mỗi giai đoạn của Waterfall model liên quan đến việc phân phối của giai đoạn trước, như các yêu cầu, được chuyển sang giai đoạn thiết kế, thiết kế chuyển sang phát triển, v.v. Khi chúng tôi có Life critical (ứng dụng bệnh viện) và Machine critical (dự án quân sự), chúng tôi sẽ sử dụng rộng rãi Waterfall model.

Waterfall model được chia thành các giai đoạn khác nhau như sau:

  • Requirement collection
  • Feasibility study
  • Design
  • Coding
  • Testing
  • Installation
  • Maintenance

Hãy để chúng tôi hiểu từng cái một:

  1. Requirement collection

Thu thập yêu cầu là giai đoạn đầu tiên của Waterfall model, nơi một nhà phân tích kinh doanh sẽ tập hợp tất cả thông tin hoặc nhu cầu kinh doanh của khách hàng dưới dạng một tài liệu yêu cầu. Và tài liệu này phải rõ ràng và dễ hiểu, và tất cả các yêu cầu được liệt kê một cách chính xác.

Bằng cách nhờ sự trợ giúp của Software Requirement Specification [SRS], Customer Requirement Specification [CRS] và Business Requirement Specification [BRS], tài liệu SRS được tạo. Và tài liệu SRS này bao gồm toàn bộ nội dung cần được phát triển và thiết kế.

Các tính năng của một yêu cầu chức năng

  • Nó nên được viết bằng một ngôn ngữ đơn giản để có thể dễ hiểu.
  • Đặc điểm kỹ thuật phải ở trong dòng chảy thích hợp.
  • Yêu cầu phải được đếm.
  1. Feasibility study

Nghiên cứu khả thi dựa trên nhu cầu của dự án, nơi nhiều người (nhân sự, nhà phân tích kinh doanh, kiến ​​trúc) đánh giá xem dự án có thể thực hiện được hay không. Để phát triển một dự án tốt, chúng ta nên tuân theo các đặc điểm khác nhau, dựa trên các yêu cầu của khách hàng:

Mô tảCác khía cạnh
Pháp lýCông ty có thể xử lý dự án theo luật không gian mạng và các thỏa thuận giám sát khác không?
Kiểm trakỹ thuật xem máy có hỗ trợ phần mềm hay không?
Tính khả thiCông ty thực hiện yêu cầu khách hàng?
Kinh tếCó đủ ngân sách để thực thi
Lịch trìnhDự án có nên được thực hiện trong thời gian biểu đã cho hay không.
  1. Design

Sau khi hoàn thành nghiên cứu khả thi, chúng tôi sẽ chuyển sang giai đoạn tiếp theo, đó là thiết kế. Trong phần này, chúng tôi sẽ tạo ra kiến ​​trúc của sản phẩm, với sự trợ giúp của một số công cụ thiết yếu như sự kết hợp của các phần mềm và phần cứng khác nhau, các ngôn ngữ lập trình khác nhau (PHP, Java, .Net, v.v.), cơ sở dữ liệu (MySQL, Oracle). Và sau đó, nhà thiết kế đã sẵn sàng với một kế hoạch cho ứng dụng có thể được phân loại thành hai phần khác nhau:

  • High-Level Design
  • Low-Level Design

High-Level Design

Trong điều này, nhà thiết kế sẽ chỉ tập trung vào các mô hình như cây quyết định, sơ đồ luồng, bảng quyết định, lưu đồ, từ điển dữ liệu và kiến ​​trúc sư thực hiện nó.

Low-Level Design

Trong điều này, nhà thiết kế sẽ tập trung vào các thành phần như Giao diện người dùng (UI) và người quản lý nhà phát triển thực hiện điều đó.

  1. Coding

Sau khi hoàn thành giai đoạn thiết kế, chúng tôi đã sẵn sàng để phát triển ứng dụng. Đối với điều này, nhà phát triển sẽ bắt đầu viết mã dựa trên kiến ​​thức ngôn ngữ lập trình của họ và nó có thể là bất kỳ ngôn ngữ nào như Python, C, Java, C #, C ++, v.v. Trong khi các nhà phát triển back-end sẽ thực hiện mã hóa back-end dựa trên các hoạt động cần thiết và các nhà phát triển front-end sẽ phát triển GUI hấp dẫn.

  1. Testing

Sau khi biên dịch mã hóa, nó sẽ được chuyển giao cho kỹ sư kiểm tra mối quan tâm. Và sau đó, kỹ sư kiểm thử sẽ bắt đầu kiểm tra chức năng của ứng dụng dựa trên yêu cầu của khách hàng.

Trong khi kiểm tra ứng dụng, họ có thể gặp một số lỗi hoặc lỗi (không hoạt động theo nhu cầu của khách hàng) trong ứng dụng và gửi những lỗi đó cho nhà phát triển với lời giải thích thích hợp. Và nhà phát triển sẽ xác minh rằng lỗi đã cho có hợp lệ hay không. Nếu đúng, nó sẽ được nhà phát triển sửa và thay đổi bằng cái mới. Sau đó, người kiểm tra sẽ kiểm tra lại và xác minh rằng lỗi đã được sửa hay chưa.

  1. Installation

Sau khi ứng dụng được kiểm tra, chúng ta sẽ chuyển sang giai đoạn tiếp theo (cài đặt). Trong quá trình này, quy trình sẽ duy trì cho đến khi phần mềm ổn định hoặc không có lỗi và đáp ứng tất cả các yêu cầu của khách hàng. Khi ứng dụng ổn định, ứng dụng sẽ cài đặt vào môi trường của khách hàng để họ sử dụng.

Sau khi nhận được phần mềm, khách hàng sẽ thực hiện một vòng kiểm tra để hài lòng. Nếu họ gặp bất kỳ lỗi nào, họ sẽ thông báo cho nhóm phát triển để giải quyết những vấn đề đó cho ứng dụng cụ thể. Khi tất cả vấn đề được giải quyết, ứng dụng sẽ được triển khai cho người dùng cuối sử dụng.Maintenance

Sau khi hoàn thành sáu giai đoạn thành công, chúng ta sẽ chuyển sang giai đoạn cuối cùng (bảo trì) Waterfall model. Trong quá trình này, quá trình sẽ vẫn diễn ra cho đến khi phần mềm kết thúc, nơi người dùng cuối bắt đầu sử dụng ứng dụng và họ có thể có một số vấn đề cần được kiểm tra và khắc phục. Chăm sóc sản phẩm theo thời gian được gọi là bảo trì, bao gồm các thay đổi xảy ra trong phần cứng và phần mềm để duy trì hiệu quả hoạt động và cũng như tăng hiệu suất.

Ví dụ về Waterfall model

Trước đó, nó được sử dụng cho các ứng dụng như Quản lý nguồn nhân lực [HRM], Hệ thống quản lý chuỗi cung ứng, Quản lý quan hệ khách hàng [CRM] và Chuỗi bán lẻ, v.v. nhưng hiện tại, các Waterfall model đã được thay thế bằng các mô hình khác như Các mô hình lặp đi lặp lại và Phương pháp Agile, v.v.

Ưu nhược điểm

Ưu điểmNhược điểm
Trong mô hình Waterfall, yêu cầu phải rõ ràng.Mô hình này không có khả năng phân phối song song, có nghĩa là hai nhóm có thể làm việc cùng nhau.
Nó phù hợp cho một dự án nhỏ hơn, nơi các nhu cầu được hiểu rõ.Mô hình thác nước không cung cấp các thay đổi yêu cầu và xem xét yêu cầu.
Mô hình này rất dễ hiểu, cũng như dễ sử dụng.Trước đây, khi thác nước được phát minh, không có khái niệm kiểm thử, đó là lý do tại sao nhà phát triển được sử dụng để kiểm tra ứng dụng.
Nó sẽ cho phép chúng tôi sắp xếp các nhiệm vụ một cách hiệu quả.Ở giữa, không được phép thay đổi vì một giai đoạn phụ thuộc vào giai đoạn khác.
Trong mô hình này, cho phép thay đổi mức phát hành.Theo dõi ngược là không thể.
Trong mô hình này, quy trình và kết quả được ghi chép đầy đủ.Đó là một quá trình tốn nhiều thời gian.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now