Trong hai thập kỷ qua, công nghệ phần mềm đã đi tới một kỷ nguyên mới. Ngày nay,người ta thừa nhận nó là một môn chính thống, một lĩnh vực nghiên cứu xứng đáng, một khảo cứu tỉ mỉ và một lĩnh vực tranh luận sôi nổi.
Mục Lục Lời mở đầu…………………………………………………………. 2 I.Tổng quan về mô hình xoắn ốc Win Win…………………………3 II.Các điểm mạnh của mô hình…………………………………… 3 III. Các yếu tố của mô hình xoắn ốc Win Win…………………… 4 1) Chương trình thỏa thuận………………………………… . 4 2) Các giai đoạn trong quá trình xử lý……………………… 5 2.1) Nội dung của những giai đoạn quan trọng của LOC…. 6 2.2) Nội dung của những giai đoạn quan trọng của LCA…. 7 2.3) Khả năng hoạt động ban đầu………………………… 8 IV. Ứng dụng mô hình…………………………………………… . 8 V.Những thuận lợi của mô hình xoắn ốc Win Win……………… 9 Sử dụng mô hình xoắn ốc Win Win để xây dựng truyền thông đa phương tiện cho hệ thống thư viên USC……………….10 1 Lời mở đầu Trong hai thập kỷ qua, công nghệ phần mềm đã đi tới một kỷ nguyên mới. Ngày nay,người ta thừa nhận nó là một môn chính thống, một lĩnh vực nghiên cứu xứng đáng, một khảo cứu tỉ mỉ và một lĩnh vực tranh luận sôi nổi. Các phương pháp, thủ tục và công cụ kĩ nghệ phần mềm đã được chấp nhận và ứng dụng thành công trong rất nhiều lĩnh vực. Các nhà quản lí và những người hành nghề CNTT đều nhận ra nhu cầu về một cách tiếp cận có nguyên tắc hơn tới việc phát triển phần mềm. Phần lớn các hệ phần mềm phức tạp đều tiến hóa theo thời gian: môi trường thay đổi, yêu cầu phát sinh thêm, hoàn thiện thêm chức năng, tính năngCác mô hình tiến hóa (evolutionary models) có tính lặp lại. Kỹ sư phần mềm tạo ra các phiên bản (versions) ngày càng hoàn thiện hơn, phức tạp hơn. Các mô hình tiến hóa điển hình như: incremental, spiral, WINWIN spiral, concurrent development model. Trong đó, mô hình xoắn ốc Win Win là một mô hình rất khả thi nhằm thỏa hiệp giữa người phát triển và khách hàng, cả hai cùng “Thắng” (win-win). Mô hình xoắn ốc Win Win 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 là một nhóm workstation-based hỗ trợ hệ thống mà cho phép các cổ đông xác định đ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. Tìm hiểu và nghiên cứu đề tài này đối với nhóm chúng em là một nỗ lực lớn, tuy nhiên trong quá trình tiếp cận với đề tài này chúng em còn nhiều thiếu xót và hạn chế nhất định. Kính mong cô và các bạn đóng góp những ý kiến quí báu để những kiến thức về mô hình xoắn ốc Win Win càng được hoàn thiện thêm. 2 I. Tổng quan về mô hình xoắn ốc Win Win Mô hình xoắn ốc Win Win được đưa ra bởi Barry Bohem là một sự nắm bắt mới mẻ so với quá trình xử lý phần mềm truyền thống, là sự mở rộng của mô hình phát triển phần mềm xoắn ốc. Trong khi duy trì nhiều yếu tố truyền thống của mô hình xoắn ốc, phiên bản Win-Win đã phải cố gắng để có thể lôi kéo được tất cả các cổ đông vào trong tiến trình phát triển. Nó bao gồm 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 hiện hữu trong suốt từng phép lặp của xoắn ốc, nhưng việc cộng tác là một bước nhảy trong toàn bộ quá trình phát triển làm cho nó có khả năng thích ứng một cách rõ rệt. Sự cộng tác này giải thoát giúp cho phần mềm trở nên nhanh hơn, đạt chất lượng cao hơn, và giảm chi phí đến mức tối thiểu làm vừa lòng những nhu cầu trước mắt của người dùng và làm giảm về giá trị của bảo trì. II.Các điểm mạnh của mô hình Việc nghiên cứu cho thấy mô hình xoắn ốc Win Win rất phù hợp cho ứng dụng đa truyền thông và cũng thích hợp cho việc sử dụng các ứng dụng khác, để tiếp cận nhanh chóng các hoạt động về công nghê học.Kết quả của việc nghiên cứu đã chỉ ra rằng mô hình có 3 điểm mạnh chính: - Tính linh hoạt: Mô hình giúp cản trở bớt những 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 tâm trong việc hoàn tất 3 điểm chính, hay những giai đoạn mấu chốt: Những mục tiêu của chu kỳ sống(LCO), cấu trúc chu kỳ sống( LCA) 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 cho đảm bảo độ tin cậy cho các cổ đông dự án, thỏa thuận về những tiếp cận sự phát triển của hệ thống 3 III.Các yếu tố của mô hình xoắn ốc Win Win Mô hình xoắn ốc đầu tiên sử dụng những lối vào quay tròn theo chu trình để phát triển một cách nhanh chóng và chi tiết các định nghĩa của hệ thống phần mềm. Mỗi vòng bao gồm 4 hoạt động chính sau : 1. 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 ràng buộc, và những khả năng. 2. Đánh giá những khả năng với những mục tiêu và sự ràng 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ý. 3. Thảo kỹ lưỡng định nghĩa của sản phẩm và quá trình vi xử lý. 4. 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) Chương trình thỏa thuận Một khó khăn đặt ra là việc xác định mục, sự ràng buộc và những khả năng xảy đến. Mô hình xoắn ốc Win Win giải quyết vấn đề này bằng 3 hoạt động phía trước mỗi vòng xoắn, như hình A đã thể hiện : • Nhận dạng hệ thống hoặc các cổ đông chính của hệ thống con • Nhận biết tình trạng thành công của các cổ đông đối với hệ thống và hệ thống con. • Dàn xếp sự hòa giải Win Win của điều kiện thành công của các cổ đông. Chúng ta tìm thấy trong các cuộc thử nghiệm với một sự nỗ lực hết sức của các công cụ phần mềm nhóm Win Win và đó là những bước đi đã làm nên thành quả thực sự đối với sàn phẩm chính và mục tiêu của quá trình xử lý, sự ràng buộc và các khả năng cho phiên bản tiếo theo. Mô hình bao gồm 1 cổ đông đàm phán cách tiếp cận Win Win, điều đó giống như một đội khác tiếp cận phần mềm và các định nghĩa hệ thống ví dụ như gIBIS, quan điểm, thiết kế Participatory và kết nối thiết kế ứng dụng. Tuy nhiên, không giống như những điều đó và những cách tiếp cận khác, chúng ta sử dụng quan hệ giữa các cổ đông Win Win như một tiêu chuẩn của thành công và yếu tố cơ bản của tổ chức cho phần mềm và định nghĩa hệ thống 4 2) Các giai đoạn trong quá trình xử lý Đây là sự phỏng theo của mô hình xoắn ốc, nó nhấn mạnh những nhiệm vụ rõ ràng trong sự liên quan đến khách hàng trong quá trình thỏa thuận về nguồn gốc của sự phát triển sản phẩm. Chuyên viên thiết kế sẽ hỏi khách hàng về những yêu cầu và khách hàng sẽ cung cấp đầy đủ chi tiết để thực thi. Không may những tình huống hiếm khi xảy ra và những thỏa thuận quan trọng giữa hai bên đòi hỏi phải cân nhắc về nhiệm vụ, sự thực thi với giá cả và thời gian mua bán. Xuất phát từ tên mục tiêu của những thỏa thuận, tức là “Win-Win”. Khách hàng nhận sản phẩm mà họ thỏa mãn với phần lớn với những gì họ cần. Chuyên viên thiết kế thành công bởi công việc với ngân sách hiện tại và có thể đạt được vào hạn chót. Để đạt được mục đích của mô hình, cần định nghĩa tập hợp các hoạt động thỏa thuận tại phần đầu của mỗi vòng xoắn ốc. Đúng hơn là những hoạt động giao tiếp với khách hàng riêng lẻ được định nghĩa theo những hoạt động sau: -Xác minh cổ đông của hệ thống. Đó là người trong tổ chức điều hành nhóm các nhiệm vụ trong việc làm nên sản phẩm và có thưởng đối với những kết quả thành công hoặc phê bình nếu thất bại( ví dụ: người sử dụng, khách hàng, chuyên viên thiết kế, người bảo trì. -Xác định điều kiện thắng của cổ đông. -Thỏa thuận của những điều kiện thắng của cổ đông để hòa hợp chúng vào trong một hệ thống của những điều kiện thắng cho tất cả những gì có liên quan( bao gồm nhóm dự án phần mềm). Để thêm vào những điều kiện thắng, mô hình cũng xin giới thiệu 3 giai đoạn quan trọng trong quá trình xử lý, nó 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 5 Đó là: 1.Mục đích của vòng( LCO). Xác định tập hợp những mục đích của mỗi hoạt động phần mềm lớn( ví dụ: tập hợp những mục tiêu kết hợp với xác định những yêu cầu sản phẩm mức trên). LCO 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ỏ được rằng nó có tối thiểu một kiến trúc khả thi. 2.Cấu trúc vòng( LCA).Thiết lập những mục tiêu phải phù hợp cũng như cấu trúc phần mềm được định nghĩa. 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 trình sống của hệ thống. 3. Khả năng hoạt động ban đầu( 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. 2.1) Nội dung của những giai đoạn quan trọng của LCO(Life Cycle Objectives) Xác định những khái niệm hoạt động Phạm vi và những mục tiêu của 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ì và 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: - Vectơ gia tăng - Những ưu tiên. - Sự nhất trí của các cổ đông ở 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à vật lý và các mối quan hệ - Sự lựa chọn của COTS và những yếu tố phần mềm có thể dùng lại được - Nhận biết những cấu trúc không thể làm được. 6 Xác định kế hoạch của chu kỳ sống Nhận biết những cổ đông của 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. 2.2_Nội dung của những giai đoạn quan trọng của 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 - Xác minh TBDs - Sự nhất trí của các cổ đông về những cổ 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 ràng buộc - COTS, các khả năng dùng lại - Cấu trúc vùng và lựa chọn kiểu kiến trúc - Những tham số phát triển cấu trúc. Xác định kế hoạch của chu kỳ sống - Xem xét các câu hỏi vì sao, cái gì, khi nào, ai, ở đâu, thế nào, bao nhiêu cho khả năng hoạt động ban đầu - Xem xét từng phần, xác định TBDs khóa cho những sự gia tăng sau này. 7 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. 2. 3. Khả năng hoạt động ban đầu( 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à các 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 đối với COSTS 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 sàng để 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ị, nguồn dự trữ và sự chuẩn bị để hỗ trợ các đại lý của COST. • 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ì. III. Ứng dụng mô hình xoắn ốc Win Win Ứng dụng mô hình xoắn ốc Win Win trong 4 vòng : - 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 8