Tìm hiểu mô hình xoắn ốc Win - Win (Win – Win Spiral Model)
I. Tổng quan mô hình xoắn ốc Win - Win Là mô hình nhằm thỏa hiệp giữa người phát triển và khách hàng, cả hai cùng Win (tức là đôi bên cùng có lợi). Mô hình này sử dụng lý thuyết W( win-win) để phát triển phần mềm và những yêu cầu hệ thống, giải pháp kiến trúc, như những điều kiện thắng đã ...
I. Tổng quan mô hình xoắn ốc Win - Win
-
Là mô hình nhằm thỏa hiệp giữa người phát triển và khách hàng, cả hai cùng Win (tức là đôi bên cùng có lợi). Mô hình này sử dụng lý thuyết W( win-win) để phát triển phần mềm và những yêu cầu hệ thống, giải pháp kiến trúc, như những điều kiện thắng đã được thỏa thuận giữa những cổ đông của dự án( người sử dụng, chuyên viên thiết kế, người bảo dưỡng,v.v …). Công cụ thỏa thuận Win-win cho phép các cổ đông hỗ trợ điều kiện thắng, nghiên cứu sự tương tác giữa chúng, và thỏa thuận về sự sắp xếp các chi tiết của dự án mới đã được ký kết. Mô hình và hệ thống hỗ trợ cũng mô tả vai trò quan trọng cho những công cụ phân tích cân bằng số lượng như Cocomo.
-
Mô hình này được đưa ra bởi Barry Boehm là sự phát triển của mô hình xoắn ốc. Kế thừa các yếu tố của mô hình xoắn ốc và kết hợp các bên tham gia vào tiến trình phát triển phần mềm. Nó bao gồm các phương tiện cộng tác để thiết lập điều kiện thắng được cài đặt bởi người sử dụng, khách hàng, người phát triển, và các kỹ sư hệ thống trong việc sắp xếp để làm tiến triển và đáp ứng được các nhu cầu trong suốt quá trình xử lý. Các bài thực hành truyền thống, ví dụ như nhu cầu công việc, thiết kế, mã hóa, và kiểm tra vẫn được thực hiện trong các vòng xoắn ốc nhưng điểm nổi bật làm cho mô hình có ưu điểm nổi bật về tính thích ứng so với mô hình xoắn ốc cũ đó là sự cộng tác. Sự cộng tác làm cho tiến trình phát triển phần mềm nhanh hơn, đạt chất lượng cao hơn và giảm chi phí đến mức tối thiểu đáp ứng yêu cầu người dùng và giảm chi phí bảo trì.
II. Ưu điểm của mô hình xoắn ốc Win – Win
-
Tính linh hoạt: Mô hình giúp cản trở bớt rủi ro cho các nhóm trong quá trình làm việc với nhau. Kế hoạch của một dự án cần được hoàn tất một cách nhanh chóng.
-
Tính kỷ luật: Cơ cấu tổ chức của mô hình là hình thức thích hợp để duy trì những trọng điểm đó là LCO – mục tiêu trong chu kỳ sống phần mềm, LCA – cấu trúc chu kỳ sống phần mềm, và khả năng thực thi ban đầu.
-
Nâng cao độ tin cậy: Mô hình cung cấp một phương tiện đảm bảo độ tin cậy cho các cổ đông dự án, thỏa thuận về những tiếp cận phát triển hệ thống.
III. Các yếu tố của mô hình xoắn ốc Win – Win
- Mỗi một chu kỳ của Win-Win bao gồm 4 hoạt động chính sau:
- Thảo kỹ lưỡng hệ thống hoặc những sản phẩm của hệ thống con và mục tiêu của quá trình xử lý, những rang buộc và những khả năng.
- Đánh giá những khả năng và những mục tiêu và sự rang buộc chi tiết, nhận biết và giải quyết những nguồn quan trọng của sản phẩm và những nguy hiểm trong quá trình xử lý.
- Thảo kỹ lưỡng định nghĩa của sản phẩm và quá trình vi xử lý.
- Lập kế hoạch cho vòng tiếp theo và cập nhật nó, bao gồm phần riêng biệt của hệ thống vào trong những hệ thống con được đặt địa chỉ theo các vòng mắc song song. Điều này có thể bao gồm một kế hoạch để kết thúc dự án nếu nó chứa nhiều rủi ro hoặc không thể làm được. Siết chặt sự quản lý để tiến hành như được lập sẵn.
1. Sự thỏa thuận
- Vấn đề đặt ra cho mỗi mô hình là sự khó khăn trong việc xác định mục tiêu, rang buộc và những khả năng xảy đến. Mô hình Win-win giải quyết bằng 3 hoạt động trước mỗi chu kỳ:
- Nhận dạng hệ thống và các bên liên quan đến hệ thống.
- Nhận biết tình trạng thành công của các bên liên quan đến hệ thống.
- Dàn xếp win-win giữa các bên liên quan.
2. Các giai đoạn
-
Xác minh các bên liên quan của hệ thống: đó là những người trong tổ chức điều hành các nhiệm vụ trong quá trình phát triển phần mềm.
-
Xác định các điều kiện thắng của các bên liên quan.
-
Thỏa thuận hòa hợp các điều kiện thắng của tất cả các bên liên quan sao cho hợp lý và thuận lợi nhất.
-
Để đạt điều kiện thắng chung cho tất cả các bên, win-win áp dụng 3 giai đoạn quan trọng trong quá trình xử lý, giúp thiết lập sự hoàn thành của một vòng xoắn ốc và cung cấp những quyết định trước khi dự án phần mềm được tiến hành.
- LCO: xác định tập hợp những mục đích của mỗi hoạt động phần mềm. Tập trung vào việc thiết lập một ca giao dịch hợp lý cho chương trình quảng cáo hoàn chỉnh. Cần chứng tỏ rằng nó có tối thiểu một kiến trúc khả thi.
- LCA: cam kết lựa chọn một kiến trúc và soạn thảo nó một cách kỹ lưỡng để làm vỏ bọc cho tất cả các nguồn quan trọng của các rủi ro trong chu kỳ sống của hệ thống.
- IOC: trình bày hệ thống các mục tiêu kết hợp với sự chuẩn bị của phần mềm cho việc cài đặt hay phân phối. Chuẩn bị chỗ cho việc cài đặt và hỗ trợ những yêu cầu bởi tất cả các bên sẽ sử dụng và hỗ trợ phần mềm.
3. LOC
-
Xác định những khái niệm hoạt động: phạm vi và những mục tiêu hệ thống.
- Những tham số môi trường và những giả định.
- Những tham số phát triển.
- Khái niệm hoạt động.
- Những hoạt động và những kịch bản duy trì các tham số.
- Trách nhiệm của chu kỳ sống.
-
Xác định những yêu cầu của hệ thống: những hàm mức đầu, các giao diện, thuộc tính chất lượng, bao gồm:
- Vecto gia tăng.
- Những ưu tiên.
- Sự nhất trí của các bên lien quan ở những điểm chủ yếu.
-
Xác định hệ thống và cấu trúc phần mềm: xác định ít nhất một cấu trúc khả thi.
- Những thành phần logic, vật lý và các mối quan hệ.
- Sự lựa chọn những yếu tố phần mềm có thể dùng lại được.
- Nhận biết các cấu trúc không khả thi.
-
Xác định kế hoạch của chu kỳ sống: nhận biết những bên lien quan đến chu kỳ sống.
- Người sử dụng, khách hàng, chuyên viên thiết kế, người bảo dưỡng, cộng đồng chung và những người khác.
- Nhận biết mô hình của chu kỳ sống.
- Những giai đoạn mức trên, những gia tăng.
-
Tính khả thi của những yếu tố cơ bản:
- Đảm bảo tính đúng đắn của những yếu tố trên.
- Qua phân tích, những phép đo lường, nguyên mẫu, những giả lập, v.v..
- Phân tích những yêu cầu, những cấu trúc có thể thực thi.
4. LCA
-
Xác định những khái niệm hoạt động:
- Xem xét kỹ lưỡng những mục tiêu của hệ thống và phạm vi bởi sự gia tăng.
- Thảo kỹ lưỡng những nội dung hoạt động bởi sự gia tăng.
-
Xác định những yêu cầu của hệ thống:
- Xem xét kỹ lưỡng các hàm, các giao diện, thuộc tính chất lượng.
- Sự nhất trí của các bên lien quan về những phần ưu tiên của họ.
-
Xác định hệ thống và cấu trúc phần mềm:
- Lựa chọn cấu trúc và xem xét kỹ lưỡng.
- Những thành phần vật lý và logic, các bộ nối, cấu hình và những rang buộc.
- Các yếu tố dùng lại.
- Cấu trúc và lựa chọn kiểu cấu trúc.
- Tham số phát triển cấu trúc.
-
Xác định kế hoạch của chu kỳ sống.
-
Tính khả thi của những yếu tố cơ bản:
- Đảm bảo tính đúng đắn của những yếu tố trên
- Tất cả những nguy cơ chủ yếu được giải quyết hoặc che giấu bởi kế hoạch quản lý những rủi ro.
5. IOC
-
Sự chuẩn bị về phần mềm, bao gồm phần mềm hỗ trợ và hoạt động với những chú thích hợp lý và những dẫn chứng bằng tư liệu. Sự chuẩn bị về dữ liệu hoặc quá trình biến đổi, các giấy phép cần thiết và các quyền lợi với Cost và các phần mềm được sử dụng lại và những thử nghiệm phải luôn sẵn sang để thực hiện.
-
Sự chuẩn bị về vị trí, bao gồm các điều kiện thuận lợi, các trang bị, các nguồn dự trữ.
-
Sự chuẩn bị về người sử dụng, người điều hành và người bảo trì, bao gồm người được lựa chọn và đội ngũ xây dựng, quá trình tập dượt, và các phẩm chất khác cho việc làm quen với việc sử dụng, các hoạt động hoặc các bảo trì.
IV. Ứng dụng của mô hình xoắn ốc Win – Win
-
Vòng 0: Xác định tính khả thi của một họ thích hợp các ứng dụng đa truyền thông.
-
Vòng 1: Phát triển những mục tiêu chu kỳ sống (các giai đoạn quan trọng của LCO), nguyên mẫu, kế hoạch, và các chi tiết kỹ thuật cho ứng dụng riêng và xác minh tình trạng của ít nhất một cấu trúc khả thi cho mỗi ứng dụng.
-
Vòng 2: Thiết lập một cách rõ ràng, chi tiết kiến trúc chu kỳ sống (các giai đoạn quan trọng của LCA), kiểm định tính khả thi của nó và khẳng định rằng không có một trường hợp rủi ro nào trong các kế hoạch và các chi tiết kỹ thuật đã được chấp thuận.
-
Vòng 3: Hoàn tất khả năng hoạt động thực tế ban đầu các giai đoạn quan trọng của IOC) cho sự phát triển của mỗi dự án bao gồm người sử dụng, quản trị viên và người bảo dưỡng.
V. Kết luận
Trên đây là tìm hiểu về mô hình xoắn ốc Win - Win. Dựa vào đó ta có thể phát triển phần mềm và những yêu cầu hệ thống, giải pháp kiến trúc một cách tối ưu nhất. Hi vọng bài viết có thể giúp các bạn có được cách nhìn tổng quan về mô hình xoắn ốc Win - Win.