SO SÁNH CÁC MÔ HÌNH PHÁT TRIỂN PHẦN MỀM

     
1. Định nghĩa

Mô hình phân phát triển phần mềm hay quy trình trở nên tân tiến phần mềm khẳng định các pha/ quá trình trong thành lập phần mềm. Có nhiều loại mô hình phát triển phần mềm khác biệt ví dụ như:

Mô hình thác nước ( Waterfall model)Mô hình xoắn ốc ( Spiral model)Mô hình agileMô hình tiếp cận lặp ( Iterative model)Mô hình lớn mạnh ( Incremental model)Mô hình chữ V ( V model)Mô hình ScrumRAD model ( Rapid Application Development)Sau phía trên mình sẽ bước vào phân tích chi tiết từng mô hình.

Bạn đang xem: So sánh các mô hình phát triển phần mềm

Bạn đang xem: Các mô hình phát triển ứng dụng phổ biến

Bạn đang xem: đối chiếu các quy mô phát triển phần mềm

1.1 mô hình thác nước ( Waterfall model)


*

Mô tả

Đây được nhìn nhận như là mô hình phát triển phần mềm trước tiên được sử dụng.Mô hình này vận dụng tuần tự các giai đoạn của trở nên tân tiến phần mềm.Đầu ra của quá trình trước là nguồn vào của quy trình sau. Giai đoạn sau chỉ được tiến hành khi tiến độ trước đang kết thúc. Đặc biệt ko được trở lại giai đoạn trước để xử lý những yêu ước khi mong mỏi thay đổi.

Phân tích tế bào hình

Requirement gathering: tích lũy và phân tích yêu mong được khắc ghi vào tài liệu quánh tả yêu ước trong giai đoạn này.System Analysis: so với thiết kế hệ thống phần mềm, xác định kiến trúc hệ thống tổng thể của phần mềm.Coding: hệ thống được cách tân và phát triển theo từng unit với được tích vừa lòng trong giai đoạn tiếp theo. Mỗi Unit được trở nên tân tiến và kiểm thử vị dev được gọi là Unit Test.Testing: thiết lập và kiểm demo phần mềm. Các bước chính của tiến độ này là soát sổ và sửa tất cả những lỗi kiếm được sao cho ứng dụng hoạt động đúng mực và phù hợp tài liệu quánh tả yêu thương cầu.Implementation: Triển khai hệ thống trong môi trường người sử dụng và giới thiệu thị trường.Operations và Maintenance: duy trì hệ thống lúc có bất kỳ thay thay đổi nào từ bỏ phía khách hàng hàng, tín đồ sử dụng.

Ứng dụng

Mô hình hay được áp dụng cho những dự án phần mềm như sau:

Các dự án nhỏ tuổi , ngắn hạn.Các dự án công trình có ít chuyển đổi về yêu cầu và không có những yêu ước không rõ ràng.

Ưu điểm

Dễ sử dụng, dễ dàng tiếp cận, dễ dàng quản lý.Sản phẩm trở nên tân tiến theo những giai đoạn được xác minh rõ ràng.Xác nhận ở từng giai đoạn, bảo đảm phát hiện nay sớm các lỗi.

Nhược điểm

Ít linh hoạt, phạm vi điều chỉnh hạn chế.Rất khó khăn để đo lường sự phát triển trong từng giai đoạn.Mô hình không thích hợp với những dự án công trình dài, vẫn diễn ra, xuất xắc những dự án công trình phức tạp, bao gồm nhiều biến hóa về yêu cầu trong vòng đời phát triển.Khó quay trở lại khi quá trình nào đó đã kết thúc.

1.2 quy mô xoắn ốc


*

Mô tả

Là mô hình phối hợp giữa các tính năng của quy mô prototyping và mô hình thác nước.Mô hình xoắn ốc rất được yêu thích cho những dự án lớn, cao cấp và phức tạp.Mô hình này áp dụng những giai đoạn tương tự như như quy mô thác nước, về thứ tự, plan, reviews rủi ro, …

Phân tích mô hình

Các trộn trong quy trình cách tân và phát triển xoắn ốc bao gồm:

Objective identification- tùy chỉnh mục tiêu: khẳng định mục tiêu, đối tượng người dùng cho từng pha của dự án.Alternate evaluation- Đánh giá và giảm thiểu đen đủi ro: đánh giá rủi ro và triển khai các hành động để bớt thiểu đen đủi ro.Product development- cải tiến và phát triển sản phẩm: chọn lọc mô hình cân xứng để cách tân và phát triển hệ thống.Next phase planning- lập kế hoạch: đánh giá dự án cùng lập chiến lược cho trộn tiếp theo.

Ứng dụng

Mô hình này hay được sử dụng cho các ứng dụng lớn và các hệ thống được thành lập theo những giai đoạn nhỏ hoặc theo những phân đoạn.

Ưu điểm

Tốt cho những hệ phần mềm quy tế bào lớn.Dễ điều hành và kiểm soát các mạo hiểm sinh sống từng nấc tiến hóa.Đánh giá bán thực tế hơn như là một quá trình làm việc, bởi vì những vấn đề đặc biệt quan trọng đã được phát hiện nay sớm hơn.

Nhược điểm

Manager cần có kỹ năng tốt để thống trị dự án, review rủi ro kịp thời.Chi phí cao và mất nhiều thời gian để ngừng dự án.Phức tạp và không thích hợp với các dự án nhỏ tuổi và ít đen đủi ro.Yêu cầu biến đổi thường xuyên dẫn mang đến lặp vô hạn.Chưa được sử dụng rộng rãi.

1.3 mô hình Agile

Agile là một phương thức phát triển ứng dụng linh hoạt để gia công sao đưa sản phẩm đến tay người tiêu dùng càng cấp tốc càng tốt và được xem như thể sự cải tiến so với những mô hình cũ như mô hình “Thác nước (waterfall)” tốt “CMMI”. Cách tiến hành phát triển ứng dụng Agile là 1 tập hợp những phương thức cải cách và phát triển lặp và tăng dần trong số ấy các yêu ước và phương án được cải cách và phát triển thông qua sự liên kết cộng tác giữa các nhóm từ bỏ quản cùng liên chức năng.

*

Mô tả

Dựa trên quy mô iterative và incremental.Các yêu mong và chiến thuật phát triển dựa vào sự phối hợp của những function.Trong Agile, những tác vụ được tạo thành các size thời gian bé dại để hỗ trợ các tính năng ví dụ cho bản phát hành cuối.

Ứng dụng

Có thể được áp dụng với ngẫu nhiên loại hình dự án nào, nhưng phải sự tham gia và tính địa chỉ của khách hàng.Sử dụng khi người sử dụng yêu cầu tính năng sẵn sàng vào khoảng thời gian ngắn.

Ưu điểm

Tăng cường tình thần thao tác nhóm cùng trao đổi các bước hiệu quả.Các tác dụng được xây dựng hối hả và rõ ràng, dế quản lý.Dễ dàng bửa sung, chuyển đổi yêu cầu.Quy tắc tối thiểu, tài liệu dễ hiểu, dễ dàng sử dụng.

Xem thêm: Khụt Khịt Mũi Ở Trẻ Sơ Sinh Bị Khịt Mũi Lâu Ngày Phải Làm Sao?

Nhược điểm

Không phù hợp để giải pháp xử lý các phụ thuộc vào phức tạp.Có nhiều rủi ro về tính bền vững, khả năng duy trì và khả năng mở rộng.Cần một team gồm kinh nghiệm.Phụ thuộc không ít vào sự tương tác ví dụ của khách hàng.Chuyển giao công nghệ cho những thành viên mới trong nhóm rất có thể khá khó khăn do thiếu hụt tài liệu.

1.4 quy mô tiếp cận lặp


*

Mô tả

Một quy mô được lặp đi tái diễn từ khi start cho đến khi làm đầy đủ spec.Quá trình này tiếp đến được lặp lại, tạo ra một phiên bạn dạng mới của ứng dụng vào cuối mỗi lần lặp của tế bào hình.Thay vì chưng phát triển phần mềm từ spec quánh tả rồi mới bắt đầu thực thi thì mô hình này rất có thể review dần dần để đi mang lại yêu cầu cuối cùng.

Ứng dụng

Yêu cầu chính phải được xác định; mặc dù nhiên, một số công dụng hoặc yêu cầu cách tân có thể cải cách và phát triển theo thời gian.Một công nghệ mới đang rất được sử dụng và đang rất được học tập vì nhóm cải cách và phát triển trong khi thao tác làm việc trong dự án.Phù hợp cho những dự án khủng và trách nhiệm quan trọng.

Ưu điểm

Xây dựng và hoàn thiện các bước sản phẩm theo từng bước.Thời gian làm tài liệu sẽ ít hơn so với thời hạn thiết kế.Một số công dụng làm việc có thể được vạc triển nhanh chóng và sớm trong tầm đời.Ít tốn hèn hơn khi cầm cố đổ phạm vi, yêu cầu.Dễ quản lý rủi ro.Trong suốt vòng đời, phần mềm được thêm vào sớm nhằm tạo điều kiện cho khách hàng reviews và phản bội hồi.

Nhược điểm

Yếu cầu tài nguyên nhiều.Các vấn đề về xây đắp hoặc kiến trúc hệ thống hoàn toàn có thể phát sinh bất cứ lúc nào.Yêu cầu thống trị phức tạp hơn.Tiến độ của dự án nhờ vào nhiều vào quy trình tiến độ phân tích rủi ro.

1.5 mô hình tăng trưởng


*

1.6 mô hình chữ V( V model)

Mô tả

Mô hình chữ V là một phần mở rộng lớn của mô hình thác nước với được dựa vào sự phối hợp của một tiến độ thử nghiệm mang đến từng giai đoạn cải tiến và phát triển tương ứng. Đây là một mô hình có tính kỷ phép tắc cao với giai đoạn tiếp theo sau chỉ ban đầu sau khi dứt giai đoạn trước.Với V model thì công việc test được gia nhập ngay từ đầu.

Ứng dụng

Yêu ước được khẳng định rõ ràng.Xác định thành phầm ổn định.Công nghệ không biến đổi và được nắm rõ bởi nhóm dự án.Không tất cả yêu ước không ví dụ hoặc ko xác định.Dự án ngắn.

Ưu điểm

Đây là một mô hình có tính kỷ chính sách cao và những giai đoạn được chấm dứt cùng một lúc.Hoạt động xuất sắc cho những dự án nhỏ, khi những yêu mong được hiểu rất rõ.Đơn giản và dễ hiểu và dễ dàng sử dụng, dễ dàng quản lý.

Nhược điểm

Khó cai quản kiểm soát đen đủi ro, rủi ro khủng hoảng cao.Không phải là một trong mô hình xuất sắc cho những dự án tinh vi và phía đối tượng.Mô hình kém cho những dự án dài và đang diễn ra.Không phù hợp cho những dự án bao gồm nguy cơ biến đổi yêu ước trung bình đến cao.

1.7 mô hình Scrum

Mô tả

Chia những yêu cầu ra làm theo từng giai đoạn. Từng 1 giai đoạn(sprint) chỉ làm 1 số lượng yêu ước nhất định.Mỗi một sprint thường kéo dãn từ một tuần lễ đến 4 tuần ( ko dài thêm hơn 1 tháng).Đầu sprint sẽ lên chiến lược làm đông đảo yêu mong nào. Sau đó, sẽ tiến hành code cùng test. Cuối sprint là một sản phẩm hoàn thiện cả code lẫn test có thể demo với chạy được.Hoàn thành sprint 1, thường xuyên làm sprint 2, sprint... Cho đến khi chấm dứt hết những yêu cầu.Trong mỗi 1 sprint thì sẽ sở hữu được họp từng ngày – daily meeting từ bỏ 15 – 20 phút. Từng thành viên đang báo cáo: trong ngày hôm qua tôi đã làm cho gì? từ bây giờ tôi sẽ làm gì? Có gặp khó khăn gì không?Scrum là mô hình hướng quý khách hàng (Customer oriented).

Các nhân tố làm cho quy trình Scrum

Có 3 thành tố đặc biệt quan trọng cấu thành buộc phải SCRUM:

Tổ chức (Organization) tổ chức triển khai nhóm dự án và Roles: vài trò.Product Owner: người sở hữu sản phẩm.ScrumMaster: người điều phối.Development Team: team phát triển.Tài liệu (Atifacts): đó đó là các tác dụng đầu ra.Product Backlog: danh sách các chức năng cần trở nên tân tiến của sản phẩm.Sprint Backlog: list các chức năng cần vạc triển cho mỗi giai đoạn.Estimation:Kết quả mong lượng của team.Qui trình(Process): Qui định phương pháp vận hành của SCRUM.Sprint Planning meeting: Hoạch định cho từng giai đoạn.Review: Tổng kết cho từng giai đoạn.Daily Scrum Meeting: review hàng ngày.

Tổ chức dự án

Product Owner hàng hóa Owner là fan sở hữu sản phẩm, người quyết định thành phầm có những tác dụng nào cùng là người quyết định Product Backlog.Thông thường xuyên Role này được quý khách hàng hoặc người thay mặt đại diện cho người tiêu dùng đảm nhận.ScrumMasterScrum Master là người đảm bảo các quá trình của Scrum được tiến hành đúng với thuận lợi.Development TeamMột nhóm từ 4-7 kỹ sư phần mềm chịu trách nhiệm phát triển sản phẩm.Nhóm dự án công trình phải thao tác làm việc với product Owner để ra quyết định những gì sẽ làm trong Sprint (giai đoạn )này và tác dụng sẽ ra sao.Thảo luận để đưa ra những giải pháp, mong lượng thời hạn thực hiện công việc, họp đánh giá tác dụng công việc.Product BacklogProduct Backlog là list các chức năng cần được cách tân và phát triển của sản phẩm.Danh sách này vị Product Owner quyết định.Thường xuyên được update để thỏa mãn nhu cầu được nhu cầu đổi khác của người tiêu dùng và dự án.

Ưu điểm

Một người hoàn toàn có thể thực hiện những việc ví như dev hoàn toàn có thể test.Phát hiện lỗi sớm.Có năng lực áp dụng được mang lại những dự án công trình mà yêu thương cầu người sử dụng không rõ ràng ngay trường đoản cú đầu.

Nhược điểm

Trình độ của nhóm cần có một kỹ năng nhất định.Phải gồm sự đọc biết về mô hình aglie.Khó khăn trong việc xác định giá cả và thời gian.Luôn nghe ý kiến phản hồi từ khách hàng và đổi khác theo nên thời gian sẽ kéo dài.Vai trò của PO vô cùng quan trọng, PO là người triết lý sản phẩm. Ví như PO có tác dụng không giỏi sẽ tác động đến tác dụng chung.

1.8 mô hình RAD

Mô tả

Mô hình RAD là một phương thức phát triển ứng dụng sử dụng quy hoạch buổi tối thiểu bổ ích cho bài toán tạo mẫu mã nhanh.Các mô-đun chức năng được cải cách và phát triển song tuy nhiên như nguyên mẫu và được tích hợp để tạo nên sản phẩm hoàn chỉnh để phân phối sản phẩm nhanh hơn.Đảm nói rằng các nguyên mẫu được vạc triển rất có thể tái thực hiện được.

Ứng dụng

Mô hình RAD hoàn toàn có thể được vận dụng thành công cho những dự án:

Module hóa rõ ràng. Nếu dự án công trình không thể được tạo thành các mô-đun, RAD rất có thể không thành công.RAD cần được thực hiện khi mong muốn để tạo nên một khối hệ thống có yêu cầu khách hàng biến hóa trong khoảng tầm thời gian nhỏ 2-3 tháng.Nên được sử dụng khi đã có sẵn designer cho mã sản phẩm và giá cả cao.

Xem thêm: Nghị Luận Xã Hội Bạo Hành Trẻ Em : Dàn Ý & Văn Mẫu Chọn Lọc, Nghị Luận Về Vấn Đề Bạo Hành Trẻ Em Hiện Nay

Ưu điểm

Giảm thời gian phát triển.Tăng tài năng tái sử dụng của các thành phần.Đưa ra đánh giá lúc đầu nhanh chóng.Khuyến khích người sử dụng đưa ra làm phản hồi.

Nhược điểm

Trình độ của nhóm cần có một năng lực nhất định.Chỉ những hệ thống có module mới sử dụng được quy mô này.2. Tổng kết vòng đời cải cách và phát triển phần mềm