Cụng cụ hỗ trợ 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 61)

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

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. (adsbygoogle = window.adsbygoogle || []).push({});

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 (adsbygoogle = window.adsbygoogle || []).push({});

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ỏ

Những người ra quyết định

Step 1 – Giới thiệu (trỡnh

diễn) ATAM Bổ sung thờm thụng tin về nhiều đơn vị đo scenario và sỏch lược được sử dụng để đạt được đỏp ứng thuộc tớnh chất lượng mong muốn.

Step 2 – Trỡnh bày business drivers

Thờm cỏc thụng tin về mục tiờu doanh nghiệp, bao gồm: Cơ sở phỏp lý, trở ngại, lịch trỡnh và ràng buộc về chi phớ. (adsbygoogle = window.adsbygoogle || []).push({});

Step 3 – Trỡnh bày kiến trỳc Thờm thụng tin về kiến trỳc, vớ dụ: cỏc phần tử kiến trỳc, cỏc mối quan hệ, thuộc tớnh của chỳng và lý do thiết kế.

Step 4 – Xỏc định cỏc tiếp

cận kiến trỳc Thờm cỏc tiếp cận cựng với thụng tin kiến trỳc bổ sung. Step 5 – Sinh cõy tiện ớch Khụng cú cải tiến nào cho bước này.

Step 6 – Phõn tớch cỏc tiếp cận kiến trỳc.

Lọc cỏc scenario mới bổ sung thụng qua cỏc phộp đo về đỏp ứng trong trường hợp tồi nhất và tốt nhất.

Lựa chọn một cỏch hệ thống cỏc tiếp cận kiến trỳc, sau đú ghi nhận cỏc tiếp cận kiến trỳc mà cú thể đỏp ứng được cỏc scenario.

Step 7 – Thảo luận tập trung và ưu tiờn húa cỏc scenario.

Khụng cú cải tiến nào cho bước này.

Step 8 – Phõn tớch cỏc tiếp

cận kiến trỳc . Thực hiện sàng lọc scenario bằng cỏch đưa ra cỏc thước đo về đỏp ứng trong trường hợp tốt nhất và tồi nhất. Lọc lấy 1/3 số scenario nhưng chỉ phõn tớch một số scenario cú độ ưu tiờn cao nhất.

Lựa chọn một cỏch hệ thống cỏc tiếp cận kiến trỳc, sau đú ghi nhận cỏc tiếp cận kiến trỳc mà cú thể đỏp ứng được cỏc scenario..

Step 9 – Trỡnh diễn kết quả. Bao gồm thụng tin về cỏc tiếp cận kiến trỳc thay thế được sinh ra trong khi đỏnh giỏ.

Bảng 10 - Cải tiến ATAM. 3.3 Cải tiến CBAM

Cỏc cải tiến CBAM được chỉ ra trong bảng sau:

Cỏc bƣớc của CBAM.

Cỏc đề xuất cải tiến

Step 1 – Kiểm tra lại cỏc scenarios

Đó được hoàn tất trong phiờn ATAM. Step 2 – Sàng lọc cỏc

scenarios

Được hoàn thành một phần trong ATAM khi mức đỏp ứng trong trường hợp tốt nhất, tồi nhất và trường hợp mong muốn đối với cỏc scenario đó được chọn ra từ stakeholders. Nhà kiến trỳc hoàn tất bước này bằng cỏch chỉ ra mức đỏp ứng trong trường hợp hiện hành (Current-case) cho cỏc scenario được tiến hành sau này. Step 3 – Ưu tiờn húa

cỏc scenario

Cải tiến cỏc mục tiờu doanh nghiệp và dấu vết từ scenario  thuộc tớnh chất lượng  mục tiờu doanh nghiệp đó được thu thập trong

phiờn đỏnh giỏ ATAM để giỳp cho bước này. Step 4 – Gỏn mức tiện

ớch cho intra-scenario

Cải tiến cỏc mục tiờu doanh nghiệp đó được thu thập trong khi đỏnh giỏ ATAM để giỳp cho bước này.

Step 5 – Phỏt triển cỏc chiến lược kiến trỳc và chỉ ra mức đỏp ứng thuộc tớnh chất lượng.

Một số tiếp cận kiến trỳc cú thể đó được xỏc định trong khi đỏnh giỏ ATAM. Những tiếp cận mới cú thể được thờm trước hoặc trong bước này.

Khi độ đỏp ứng trong trường hợp mong đợi đang được chỉ ra thfi mẫu phõn tớch ATAM cú thể được dựng để ghi nhận cỏc rủi ro. Step 6 – Chỉ ra tiện ớch

của cỏc mức đỏp ứng thuộc tớnh chất lượng thụng qua phộp nội suy

Khụng cú cải tiến nào cho bước này. (adsbygoogle = window.adsbygoogle || []).push({});

Step 7 – Tớnh toỏn tổng lợi ớch nhận được từ một chiến lược kiến trỳc.

Cỏc rủi ro từ phiờn đỏnh giỏ ATAM cung cấp cỏc đầu vào thành cỏc dạng lợi ớch.

Step 8 – Lựa chọn cỏc chiến lược kiến trỳc dựa trờn giỏ trị ROI

Cải tiến cỏc mục tiờu doanh nghiệp về khớa cạnh chi phớ và ràng buộc lịch trỡnh được thu thập trong ATAM để giỳp cho bước này. Cỏc rủi ro từ phiờn đỏnh giỏ ATAM cung cấp cỏc đầu vào thành cỏc dạng chi phớ

Step 9 – Xỏc nhận kết

quả bằng trực giỏc Sự liờn kết từ cỏc mục tiờu doanh nghiệp lượng  cỏc scenario  cỏc quyết định kiến trỳc giỳp khẳng định  cỏc thuộc tớnh chất rằng cỏc quyết định kiến trỳc là phự hợp nhất với cỏc mục tiờu doanh nghiệp.

Bảng 11 - Cải tiến CBAM. 3.4 Đề xuất qui trỡnh

Để cú thể nhỡn trực quan hơn về một số hoạt động cú sự trựng lặp trong ATAM và CBAM, ta sẽ xõy dựng một bảng đối sỏnh về sự lặp lại một phần hoặc toàn bộ một bước nào đú của mỗi pha, như sau:

CBAM ATAM Collate scenario Refine scenario Prioritize scenario Assign intra- scenario utility Develop architetural strategies Determine the utility Calculate ROI Choose ASs Confirm results 1.Present ATM 2.Present Business Drivers 3.Present Architecture 4.Identify Architectural approaches 5.Generate x

Utility tree 6.Analyze Architectural approaches x 7.Brainstorm & Prioritize scenario x x x 8.Analyze Architectural approaches x x x 9.Present results X

Bảng 17 - Sự lặp lại một số hoạt động của ATAM trong phiờn CBAM.

Dựa trờn những phõn tớch ở trờn, ta cú thể thấy rằng bước 1 và một phần bước 2 của CBAM lặp lại ở bước 5,7 và 8 của ATAM, vỡ vậy cú thể loại bỏ (thực hiện trong phiờn ATAM). Một phần bước 5 của CBAM xuất hiện tại cỏc bước 6 và 8 của ATAM.

Riờng phần trỡnh bày kết quả của ATAM cú thể thực hiện trong khi đỏnh giỏ hoặc sau khi CBAM kết thỳc, do vậy cũng cú thể gộp lại vào bước 9 của CBAM.

Như vậy một qui trỡnh đỏnh giỏ cú thể thu gọn lại thành 13 bước như sau (Cỏc bước này được để nguyờn dạng Tiếng Anh nhằm trỏnh nhầm lẫn !):

Step 1: Present ATAM, CBAM.

Step 2: Present Business Drivers

Step 3: Prioritize scenarios

Step 4: Identify Architectural Approaches

Step 5: Generate quality Attribute Utility Tree

Step 6: Brainstorm and Prioritize scenario + Collate scenarios & Refine scenario.

Step 7: Prioritize scenarios

Step 8: Assign Intra-Scenario utility

Step 9: Develop architectural strategies

Step 10: Determine the utility of the expect quality attribute response levels

Step 11: Calculate total benefit obtained from Architectural strategies

Step 12: Choose Architectural Strategies based on value for cost.

Step 13: Present ATAM & CBAM results.

Cũng giống như phương phỏp ATAM và CBAM được tiến hành riờng lẻ, trong phương phỏp tớch hợp này một số bước cú thể bỏ qua hoặc được lặp lại nhiều lần. Vớ dụ, đối với những người tham gia cú kinh nghiệm về ATAM và CBAM rồi thỡ cú thể bỏ qua bước 1. Cũn đối với những nhà đỏnh giỏ cú kinh nghiệm thỡ việc thay đổi trật tự cỏc hoạt động ở trờn là hoàn toàn cú thể được.

Chƣơng 4: ÁP DỤNG QUI TRèNH TÍCH HỢP ATAM-CBAM PHÂN TÍCH KIẾN TRÚC CHO DỰ ÁN VANCO-NETDIRECT

Chương này sẽ ỏp dụng mụ hỡnh phõn tớch kiến trỳc được tớch hợp từ ATAM và CBAM ở trờn vào một dự ỏn cụ thể mà tỏc giả đó từng tham gia tại cụng ty cổ phần phần mềm FSoft, đú là dự ỏn Vanco-NetDirect. Đõy là một dự ỏn lớn của cụng ty FSoft, được thiết và cài đặt từ A-Z, do cụng ty Vanco của Anh Quốc đặt hàng. Việc mụ tả ở đõy được tiến hành dựa theo nội dung cụng việc chứ khụng theo trỡnh tự từng bước, lý do là: Để tổ chức được cỏc nhúm tham gia đỏnh giỏ theo từng bước sẽ cần rất nhiều thời gian và chi phớ cho cụng tỏc tổ chức, hơn nữa khụng dễ gỡ cỏc cụng ty lại để cho một đội ngũ của họ tiờu (adsbygoogle = window.adsbygoogle || []).push({});

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 61)