Yờu cầu và đầu vào của CBAM

Một phần của tài liệu Tích hợp ATAM-CBAM trong đánh giá kiến trúc phần mềm và áp dụng cho dự án VANCO-NETDIRECT tại công ty phần mềm FSOFT (Trang 58)

3. Cấu trỳc và nội dung của luận văn

2.5.4. Yờu cầu và đầu vào của CBAM

Vỡ CBAM được xõy dựng dựa trờn kết quả của ATAM, do vậy sẽ cần một số yờu cầu như:

 Trỡnh bày kiến trỳc cho mọi người tham gia để họ thớch nghi,

 Làm cho mọi người hiểu rừ cỏc khỏi niệm như điểm nhạy cảm, điểm cõn

bằng, scenario và gợi ra cỏc yờu cầu (requirements) khi cần thiết.

 Đầu vào của phiờn đỏnh giỏ CBAM gồm:

 Bản trỡnh bày cỏc mục tiờu của doanh nghiệp.

 Cỏc quyết định kiến trỳc và cỏc điểm cõn bằng cú thể cú từ phiờn đỏnh giỏ

ATAM.

 Mức độ mong đợi cỏc thuộc tớnh chất lượng và cỏc ràng buộc về mặt kinh

tế.

2.5.5. Cỏc bƣớc thực hiện phiờn đỏnh giỏ CBAM.

Phiờn đỏnh giỏ CBAM bao gồm 2 pha. Pha đầu được gọi là pha lựa chọn, pha tiếp theo gọi là pha kiểm tra chi tiết. Pha đầu chỉ cần thiết khi cú nhiều chiến lược kiến trỳc được đưa ra thảo luận và cần chọn ra một số để kiểm tra chi tiết thờm. Trỏi lại, tiến trỡnh đỏnh giỏ cú thể bắt đầu từ pha thứ hai. Một phiờn đỏnh giỏ CBAM bao gồm 9 bước như sau:

Step 5: Phỏt triển cỏc chiến lược kiến trỳc cho cỏc scenario và xỏc định mức độ đỏp ứng thuộc tớnh chất lượng mong muốn của mỗi chiến lược đú. Với mỗi một chiến lược thỡ chỳng cú thể tỏc động đến nhiều scenario, bởi vậy cần phải thực hiện tớnh toỏn đối với mỗi scenario bị ảnh hưởng.

Step 6: Xỏc định tiện ớch của cỏc mức đỏp ứng thuộc tớnh chất lượng được ―mong đợi‖ thụng qua phộp nội suy.

Step 7: Tớnh toỏn tổng lợi ớch nhận được từ một kiến trỳc. Thực hiện việc tớnh toỏn này đối với mỗi thuộc tớnh chất lượng liờn quan đó được liệt kờ ở bước 3. Tiếp theo trừ giỏ trị tiện ớch của mức hiện tại cho giỏ trị ở mức kỳ vọng và chuẩn húa hú thụng qua số votes được chọn trong bước 3.

N scenarios.

N/3

Step : Collate scenario:

Prioritize to choose top one-third

Step 2: Refine scenario: Determine quality attribute response levels

Step 3: Prioritize scenario:

Eliminate half of the scenario.

Step 4: Assing utility for the current and desired levels for each scenario.

Step 5: Develop architectural strategies

for scenario&determine QA response levels

Step 6: Determine the expected utility value of architectural strategy

Step 7: Calculate total benefit obtained from an architectural strategy

Step 8: Choose architectural strategies based on ROI subject to cost constrains

Step 9: Confirm results with intuition

N/3

N/6

Hỡnh #: Cỏc bước thực hiện đỏnh giỏ CBAM.

Step 1: Collate scenarios. Kiểm chứng lại cỏc scenario đó được lựa chọn trong phiờn đỏnh giỏ ATAM, sau đú cựng những người tham gia cú thể bổ sung thờm một số scenario mới. Gỏn độ ưu tiờn cho cỏc scenario này dựa trờn sự thỏa món về thuộc tớnh chất lượng của hệ thống. Số scenario được lựa chọn để phõn tớch tiếp thường là 1/3.

Step 2: Refine scenarios. Tinh chỉnh lại cỏc scenario được chọn ra ở bước 1. Lựa chọn mức độ đỏp ứng thuộc tớnh chất lượng trong trường hợp hiện hành, tốt nhất, tồi nhất và mong muốn đối với mỗi scenario.

Step 3: Prioritize scenarios. Cấp phỏt 100 phiếu cho mỗi người tham gia để họ phõn bổ (biểu quyết) cho số scenario này. Việc bỏ phiếu đều dựa vào giỏ trị đỏp ứng mong muốn của mỗi scenario. Sau đú tớnh tổng số phiếu và chọn ra 50 scenario cú số phiếu bầu chọn cao nhất để phõn tớch tiếp. Tiếp theo, gỏn trọng số 1.0 cho scenario cú tỉ lệ phiếu bầu cao nhất và cỏc scenario khỏc một giỏ trị tương đối so với scenario này.

Step 4: Assign utility. Chỉ ra tiện ớch ứng với mỗi mức đỏp ứng thuộc tớnh chất lượng (trong cỏc trường hợp: tồi nhất, hiện hành, mong muốn và tốt nhất) đối với mỗi scenario ở bước 3.

Step 8: Lựa chọn cỏc chiến lược kiến trỳc dựa trờn chỉ số ROI (Return On Investment). Cụ thể là xỏc định chi phớ và lịch trỡnh thực hiện của mỗi chiến lược. Tớnh toỏn giỏ trị ROI theo cụng thức: ROI = Lợi ớch/ Chi phớ. Sau đú đỏnh thứ hạng của mỗi chiếu lược theo như giỏ trị ROI tớnh được và chọn những mục cú ROI lớn nhất cho đến khi nào cạn kiệt nguồn lực thỡ thụi.

Step 9: Xỏc nhận cỏc kết quả bằng khả năng trực giỏc. Đối với cỏc chiến lược kiến trỳc được lựa chọn, cần xem chỳng cú khớp với cỏc mục tiờu kinh doanh của tổ chức đú hay khụng. Nếu khụng thỡ xem xột lại cỏc vấn đề cú thể chưa được đề cập đến trong khi đỏnh giỏ. Cũn nếu cú vấn đề gỡ quan trọng thỡ cú thể thực hiện lại một số bước.

2.5.6. Cỏc đối tƣợng tham gia trong CABM

Trong CBAM, cú 3 loại đối tượng tham gia phiờn đỏnh giỏ:

a. Những ngƣời tham gia ngoài (External stakeholders) khụng liờn quan trực tiếp đến quỏn trỡnh phỏt triển kiến trỳc. Vai trũ của họ là mụ tả mục tiờu của doanh nghiệp, đưa ra cỏc thuộc tớnh chất lượng của hệ thống và mức kỳ vọng muốn đạt được. họ cũng tham giỏ để đỏnh giỏ kết quả thực hiện CBAM. Những người tham gia ngoài cú thể kể đến là nhúm quản trị doanh nghiệp, quản trị dự ỏn…

b. Những ngƣời tham gia trong nội bộ (Internal stakeholders) là những người liờn quan trực tiếp đến quỏ trỡnh đề xuất ra cỏc chiến lược kiến trỳc phần mềm để giải quyết cỏc yờu cầu về chất lượng. Họ cú vai trũ phõn tớch, định nghĩa và trỡnh bày cỏc khỏi niệm kiến trỳc về ước lượng chi phớ, về sự khụng chắc chắn đi cựng với mỗi kiến trỳc được đề xuất. Những Internal stakeholders cú thể kể ra gồm: những nhà kiến trỳc, nhà phõn tớch hệ thống hay nhúm kiến trỳc.

c. NhúmCBAM : Khụng cú liờn quan trực tiếp tới cỏc chiến lược kiến trỳc của hệ thống nhưng là người tổ chức phiờn đỏnh giỏ CBAM. Vai trũ của họ là hỗ trợ những người tham gia hệ thống trỡnh bày cỏc mục tiờu doanh nghiệp chẳng hạn như sau khi trỡnh bày cỏc thuộc tớnh chất lượng quan trọng của hệ thống và cỏc scenario đi cựng thỡ việc lựa chọn sẽ dễ dàng và dễ tớnh toỏn hơn. Nhúm CBAM cũng hỗ trợ nhúm kiến trỳc trong việc xỏc định cỏc chiến lược kiến trỳc làm thỏa món cỏc scenario chất lượng và ước lượng cỏc chi phớ, lợi ớch và lịch trỡnh thời gian gắn liền với mỗi chiến lược. nhúm đỏnh giỏ CBAM bao gồm nhà đỏnh giỏ (là team leader hoặc người phỏt ngụn), cỏc chuyờn gia ứng dụng, cỏc chuyờn gia kiến trỳc bờn ngoài (người này là tựy chọn, mục đớch đưa vào là để cho khỏch quan) và một thư ký nếu cần thiết.

2.5.7. Ƣớc lƣợng chi phớ khi ỏp dụng CBAM.

Tựy thuộc vào mục tiờu và qui mụ dự ỏn mà nhúm đỏnh giỏ phải bỏ ra cụng sức hợp lý. Nhỡn vào cỏc mặt về tổ chức và cỏc bước thực hiện CBAM chỳng ta cú thể thấy rằng cụng sức bỏ ra nhiều nhất đú là tập trung lựa chọn cỏc chiến lược kiến trỳc và dự bỏo về chi phớ-lợi ớch-lịch trỡnh. Một phiờn đỏnh giỏ CBAM mất khoảng một đến hai ngày. Ngoài ra cũng cần phải thực hiện phiờn đỏnh giỏ

ATAM, do vậy tổng thời gian thực hiện phải mất ớt nhất 4 ngày.

2.5.8. Cụng cụ hỗ trợ CBAM.

Hiện nay, chưa cú ứng dụng phần mềm nào hỗ trợ mụ tả trực tiếp phiờn đỏnh giỏ. Chỉ cú dấu hiệu được đưa ra ở bước 4 của CBAM mà tại đú chi phớ và lợi ớch của cỏc chiến lược kiến trỳc được xỏc định thụng qua một số cụng thức về sự mong đợi và sự khụng chắc chắn.

2.5.9. Cỏc phƣơng phỏp thay thế CBAM.

Cho đến này, vẫn chưa cú một phương phỏp nào đưa yếu tố kinh tến vào đỏnh giỏ cỏc thuộc tớnh phần mềm và phõn tớch cõn bằng.

2.5.10. Mục tiờu và ƣu điểm của CBAM.

Cỏc điểm mạnh của CBAM và đầu ra của CBAM là:

 Phương phỏp này cung cấp cỏc giỏ trị làm cơ sở lý luận cho quỏ trỡnh ra quyết

định khi ỏp dụng một chiến lược kiến trỳc nào đú.

 Phương phỏp cung cấp một thước đo giỳp ta xỏc định được giỏ trị thu về khi

ỏp dụng một thay đổi cụ thể đối với hệ thống.

 Phương phỏp cũng giỳp cỏc tổ chức trong việc phõn tớch và tiền đỏnh giỏ sự

đầu tư nguồn lực theo cỏc hướng khỏc nhau khi chấp thuận cỏc chiến lược kiến trỳc mà ở đú tối đa húa lợi ớch thu được và tối thiểu húa rủi ro.

Vỡ CBAM được xõy dựng trờn phương phỏp đỏnh giỏ kiến trỳc tổng quỏt kiểu như SAAM và ATAM, do vậy phương phỏp này cũng thừa hưởng những ưu điểm của SAAM và ATAM về gúc độ hiệu quả.

2.6. So sỏnh một số đặc điểm của cỏc phương phỏp đỏnh giỏ kiến trỳc

Những nhà thiết kế phần mềm đó đề xuất rất nhiều phương phỏp nhằm đỏnh giỏ kiến trỳc phần mềm, đặc biệt là về cỏc thuộc tớnh chất lượng, chẳng hạn như tớnh bảo trỡ, hiệu năng, tớnh sẵn sàng, tớnh bảo mật v.v…. Mỗi phương phỏp đều cú những đặc điểm riờng. Bởi vậy việc so sỏnh cỏc phương phỏp này ở một số khớa cạnh khỏc nhau là cần thiết để khi ỏp dụng chỳng ta biết nờn sử dụng phương phỏp nào là tối ưu hay cú những vận dụng hợp lý giữa cỏc phương phỏp.

Phƣơng phỏp Chất lƣợng đƣợc đỏnh giỏ Độ đo và cụng cụ hỗ trợ Mụ tả qui

trỡnh Điểm mạnh Điểm yếu

Hệ thống cú thể ỏp dụng phƣơng

phỏp này

SAAM Tớnh sửa đổi

Phõn loại scenario (Trực tiếp và giỏn

tiếp) Suy ra được

Xỏc định được nơi cú độ phức tạp tiềm ẩn cao.

Mở đối với bất kỳ mụ tả kiến trỳc nào.

Khụng phải là độ đo chất lượng rừ ràng.

Khụng được hỗ trợ bởi cỏc kỹ thuật khi thực hiện cỏc bước

Tất cả

ATAM Tớnh sửa đổi

Điểm nhạy cảm, Điểm cõn bằng Được hỗ trợ bởi cụng cụ ATA

Tốt

Sinh ra scenario dựa theo yờu cầu. Cú thể ỏp dụng cho cỏc thuộc tớnh tĩnh và động

Cõy tiện ớch chất lượng.

Yờu cầu cỏc thụng tin về kỹ thuật

phải chi tiết. Tất cả

CBAM

Chi phớ, lợi ớch và kế

hoạch.

Thời gian và chi

phớ Suy ra được

Cung cấp thước đo đối với thay đổi cụ thể.

Làm rừ sự khụng chắc và ước lượng tương ứng

Việc xỏc định chi phớ và lợi ớch cú tể được thực hiện bởi những người tham gia.

Tất cả

ALMA Tớnh sửa đổi

Ước lượng ảnh hưởng,

Mụ hỡnh dự bỏo sửa đổi

Suy ra được Cú tiờu chớ để dừng việc tạo scenario.

Bị giới hạn ở một số trường hợp. Tập trung vào cỏc thuộc tớnh tĩnh.

Hệ thống thụng tin doanh nghiệp FAAM Tớnh liờn tỏc và mở rộng Cú nhiều biểu đồ và bảng biểu chuyờn biệt. Rất tốt

Chi tiết luồng tiến trỡnh

Trao nhiệm vụ rừ ràng cho cỏc nhúm tham gia đỏnh giỏ.

Chỉ được chứng minh một phần, trong một mụi trường cụ thể. Chỉ tập trung vào thuộc tớnh tĩnh.

System families

Chƣơng 3:

TÍCH HỢP ATAM-CBAM VÀ ĐỀ XUẤT QUI TRèNH ĐÁNH GIÁ.

Trong chương này, xin được phõn tớch thờm một số đặc điểm của hai phương phỏp đỏnh giỏ kiến trỳc phần mềm ATAM và CBAM, sau đú đề xuất ra một phương phỏp phõn tớch mới được tớch hợp từ hai phương phỏp này để cú thể ứng dụng vào việc phõn tớch kiến trỳc trong thực tiễn.

Lý do để tớch hợp hai phương phỏp ATAM&CBAM bởi như đó phõn tớch ở trờn, ATAM tỏ ra rất mạnh về phõn tớch cỏc thuộc tớnh chất lượng (Khớa cạnh kỹ thuật), trong khi đú CBAM lại là phương phỏp duy nhất (cho đến tại thời điểm hiện nay) đỏnh giỏ kiến trỳc phần mềm ở gúc độ kinh tế (Chi phớ và lợi ớch). Ngoài ra, nếu nhỡn vào Bảng 9 ở trờn thỡ cú thể thấy rằng ATAM và CBAM khi gộp lại sẽ bao trựm toàn bộ cỏc thuộc tớnh cần đỏnh giỏ mà cỏc phương phỏp khỏc cú thể ỏp dụng. Vỡ vậy, việc tớch hợp hai phương phỏp này trong phõn tớch kiến trỳc phần mềm để tỡm ra một phương phỏp tối ưu là điều cần thiết.

3.1. Hướng tiếp cận tớch hợp ATAM và CBAM

Như đó phõn tớch, ATAM cung cấp cho cỏc nhà kiến trỳc một phương phỏp phõn tớch cú cấu trỳc để giỳp họ hiểu rừ hơn về cỏc cõn bằng mà họ gặp phải khi tạo ra cỏc quyết định thiết kế, nhưng lại khụng đưa ra bất kỳ một cỏch thức nào để hiểu về cỏc cõn bằng về khớa cạnh kinh tế. Trong khi đú CBAM lại giỳp cỏc nhà kiến trỳc tớnh toỏn được giỏ trị thu được (ROI- return on investment) từ bất kỳ quyết định kiến trỳc nào được tạo ra đồng thời cũn cung cấp cỏc chỉ dẫn về mặt kinh tế và cỏc cõn bằng cú liờn quan. Trong luõn văn này, xin được tập trung vào việc cải tiến phiờn đỏnh giỏ ATAM để sử dụng kết hợp với phiờn đỏnh giỏ CBAM (cũng được cải tiến).

Ta cú thể thấy, phương phỏp CBAM cú thể bổ sung cho ATAM bằng cỏch cung cấp cỏc phương tiện để chỉ ra cỏc lợi ớch và chi phớ. Hai phương phỏp này khi kết

hợp sẽ tạo ra một mắt xớch liờn kết từ mục tiờu doanh nghiệp  thuộc tớnh chất

lượng  scenario  quyết định kiến trỳc (business goals to quality attributes to

scenarios to architectural decisions) [6].

Theo như biểu đồ mụ tả đầu vào, đầu ra của CBAM (hỡnh số 14), chỳng ta thấy rằng phiờn đỏnh giỏ CBAM sẽ được thực hiện ngay sau phiờn đỏnh giỏ ATAM. Như vậy, đõy cũng chớnh là cơ hội để cú thể cải tiến và tối ưu cỏc phương phỏp, cho chỳng ta một kết quả tốt hơn là hai phương phỏp thực hiện rời rạc và tỏch biệt nhau.

Theo như cỏc bước trong phõn tớch CBAM, cú một hoạt động là tinh chỉnh cỏc scenario (refine scenario), trong khi đú tại phiờn ATAM cũng cú hoạt động liờn quan đến phỏt hiện scenario, vỡ vậy nhúm đỏnh giỏ cú thể thực hiện việc tinh chỉnh này theo một cỏch nào đú ngay trong phiờn ATAM, như thế rừ ràng sẽ cải thiện được kết quả và tiết kiệm được thời gian của những người tham gia (vỡ cỏc scenario sẽ được thu lượm từ những người tham gia chỉ thực hiện một lần).

Thực ra cú rất nhiều cỏch kết hợp giữa ATAM và CBAM, vớ dụ cỏch thứ nhất (Gọi là cỏch tớch hợp tinh – Fine grained integration), đú là: Xõy dựng một phương phỏp mới bằng cỏch sử dụng hỗn hợp cỏc khỏi niệm và hoạt động chớnh trong cả

hai phương phỏp. Và cỏch thứ hai (Gọi là tớch hợp thụ course-grained integration), tức là: chỳng ta coi cỏc phương phỏp như những hộp đen hoặc là một nhúm cỏc hoạt động đó được đúng gúi sẵn (Pre-Pakaging), sau đú sử dụng chỳng cựng nhau để được phương phỏp mới.

Ở đõy, hướng tiếp cận sẽ theo cỏch thứ hai, tức là sẽ đúng gúi cỏc hoạt động thành cỏc phương phỏp hiện hành giống như ATAM và CBAM. Tuy nhiờn, cỏc bước trong từng phương phỏp sẽ được cải tiến nhưng vẫn giữ được tinh thần chủ đạo của phương phỏp ban đầu.

Kết quả của sự tớch hợp này cú thể mụ tả thụng qua hỡnh dưới đõy:

Hỡnh 15 - Đầu vào và đầu ra của ATAM-CBAM sau khi tớch hợp 3.2. Cải tiến ATAM

Như đó biết, phương phỏp phõn tớch kiến trỳc phần mềm ATAM giỳp cho những người tham gia hiểu rừ hơn về chuỗi quyết định kiến trỳc, đặc biệt là cỏc yờu cầu chất lượng của hệ thống và cỏc mục tiờu doanh nghiệp. Hỡnh sau đõy mụ tả lại cỏc đầu vào, đầu ra và cỏc thành phần tham gia ATAM.

Hỡnh 16 - Đầu vào, đầu ra và thành phần tham gia ATAM.

Với giả thiết là phương phỏp phõn tớch CBAM sẽ được thực hiện tiếp theo phiờn đỏnh giỏ ATAM và để tối ưu húa cụng sức khi tớch hợp với CBAM, một loạt cỏc cải tiến sau đõy cần được thực hiện tại mỗi bước:

Cỏc bƣớc của ATAM. Một số đề xuất cải tiến

ATAM CBAM

Cải tiến Cải tiến

 Business drivers  Business Goals  Architectural Approaches  Risks/Non-Risks  Sensitivity Points  Tradeoff points  Costs  Benifits ATAM Business drivers  Tài liệu kiến trỳc

 Mục tiờu doanh nghiệp

 Cỏc tiếp cận kiến trỳc

 Cỏc Scenarios

 Cỏc rủi ro

 Cỏc phi rủi ro

 Cỏc điểm nhạy cảm points

 Cỏc điểm cõn bằng

 Cỏc loại rủi ro

 Nhúm đỏnh giỏ

Một phần của tài liệu Tích hợp ATAM-CBAM trong đánh giá kiến trúc phần mềm và áp dụng cho dự án VANCO-NETDIRECT tại công ty phần mềm FSOFT (Trang 58)