Đây là mô hình quy trình phát triển phần mềm xuất bản đầu tiên xuất phát từ các quy trình công nghệ trước đó. Bởi vì tính đi xuống từ pha này sang pha khác, nên mô hình này được gọi là mô hình thác nước hay vòng đời phần mềm. Mô hình thác nước là một ví dụ của quy trình hướng kế hoạch, chúng ta cần phải đặt kế hoạch và xếp lịch tất các hoạt động của quy trình trước khi bắt đầu làm việc trên đó.
Các giai đoạn của mô hình thác nước trước tiếp phản ánh các hoạt động phát triển nền tảng:
1. Phân tích và định nghĩa các yêu cầu: Dịch vụ, quy định, mục tiêu của hệ thống được thiết lập bởi việc tham khảo với người dùng hệ thống. Chúng sau đó được định nghĩa chi tiết phục vụ cho việc đặc tả hệ thống.
2. Thiết kế phần mềm và hệ thống: Quy trình thiết kế hệ thống chỉ ra các yêu cầu về phần cứng hoặc phần mềm bằng cách thiết kiến trúc hệ thống chung. Thiết kế phần mềm liên quan đến việc xác định, mô tả sự trừu tượng của hệ thống phần mềm cơ bản và mối quạn hệ của chúng.
3. Cài đặt và kiểm thử các thành phần: Suột giai đoạn này, thiết kế phần mềm được thực hiện như một tập hợp các chương trình hoặc các đơn vị chương trình. Việc kiểm thử liên quan đến từng đặc tả của chúng.
4. Tích hợp và kiểm thử hệ thống: Từng đơn vị chường trình riêng biệt hoặc các chương trình riêng biệt được tích hợp lại với nhau và kiểm thử như là một hệ thống hoàn chỉnh để bảo đảm rằng yêu cầu phần mềm đã được thõa mãn.
5. Vận hành và bảo trì: Thông thường, đây là dai đoạn dài nhất của vòng đời phần mềm. Hệ thống được cài đặt và đưa vào sử dụng thực tế. Bảo trì liên quan đến việc sửa lỗi mà đã không khám phá ra trong giai đoạn trước, cải tiến việc thực hiện của các đơn vị thành phần hệ thống và tăng cường các dịch vụ của hệ thống khi có các yêu cầu mới.
Về nguyên tắc, kết quả của mỗi pha là các tài liệu mà đã được thông qua. Các pha sau chỉ được thực hiện khi pha trước kết thúc. Trong thực thế các giai đoạn này trùng lên nhau và cung thông tin cho nhau. Trong quá trình thiết kế, những vấn đề với yêu cầu được chỉ ra. Trong khi viết chương trình, những vấn đề thiết kế được tìm thấy …Quy trình phần mềm không chỉ đơn giản là mô hình tuyến tính đơn giản mà còn liên quan đến những phản hồi giữa các pha với nhau. Tại liệu được sinh ra ở mỗi pha có thể được thay đổi phản ánh các thay đổi này.
Bởi vì chi phí của việc làm ra và duyệt qua các tài liều, việc lặp lại sẽ tốn kém và liên quan đến việc làm lại đáng kể. Vì vậy, sau một số lần lặp nhỏ, thường một số phần bị đóng băng, ví dụ như phần đặc tả, và tiếp tục với các giai đoạn phát triển sau. Vấn đề sẽ được bỏ lại và chờ các giải pháp sau, hoặc bỏ qua hoặc lập trình trình để xử lý. Việc đống băng các yêu cầu có nghĩa hệ thống sẽ không thực hiện cái mà người dùng muốn. Nó có thể dẫn đến cấu trúc hệ thống kém khi các vấn đề thiết kế bằng các tiểu xảo lập trình thực hiện.
Trong suốt pha cuối của vòng đời hệ thống, phần mềm được đưa vào sử dụng. Lỗi và các thiếu sót trong yêu vầu phần mềm lúc ban đầu bộc lộ. Lỗi về thiết kế và lập trình nổi lên và nhu cầu chức năng mới được xác định. Hệ thông phải bảo trì để mang lại lợi ích người dùng. Sữa các lỗi này có thể phải lập lại các giai đoạn trước của quy trình.
Mô hình thác nước chứa các quy trình phần mềm khác
Mỗi giai đoạn của mô hình quy trình thác nước đều có sản phẩm tài liệu. Điều này làm cho quy trình rõ ràng do đó các nhà quản lý có thể giám sát tiến độ so với kế hoạch phát triển. Vấn đề chính của nó các phần phân chia không linh hoạt của dự án trong mỗi giai đoạn tách biệt. Sự thõa thuận (về yêu cầu hệ thống) được thực hiện từ pha đầu của quy trình nên dẫn đến có khó trong việc đối ph với những thay đổi yêu cầu của khách hàng.
Về nguyên tắc, mô hình thác nước nên được dùng khi mà các yêu cầu được hiểu rõ, gần như không thay thổi trong quá trình phát triển. Tuy nhiên, mô hình thác nước phản ánh loại quy trình được sử dụng trong các dự án kỹ thuật khác. Nó là một mô hình phổ biến, dễ quản lý cho cả dự án nên các quy trình phần mềm dựa trên mô hình thác nước vẫn được dùng rộng rãi.
Các quy trình dựa trên sự chuyển đổi (giữa các pha) đơn thuần thì thương được dùng trong phát triển các hệ thống an toàn và bảo mật cao. Chúng đòi hỏi những chuyên môn sâu. Phần lớn các hệ thống, quy trình này không mang lại lợi ích chi phí đáng kể trên phương pháp tiếp cận này.
No comments:
Post a Comment