3. Cấu trỳc và nội dung của luận văn
2.4.8. Cụng cụ hỗ trợ ATAM
Mới đõy một cụng cụ đó được phỏt triển bởi Stephan Kurpjuwiet cộng tỏc cựng với viện kỹ nghệ phần mềm (SEI) nhằm hỗ trợ phiờn đỏnh giỏ ATAM. Cụng cụ này cung cấp một loạt cỏc chức năng như: Quản trị tài liệu đỏnh giỏ, kiểm soỏt phiờn bản, kiểm tra cỏc ràng buộc của mụ hỡnh dữ liệu; hỗ trợ biến đổi cỏc kiến trỳc; hỗ trợ cỏc template để nắm bắt nhanh chúng cỏc mục thụng tin liờn quan;
2.4.9. Cỏc phƣơng phỏp thay thế cho ATAM
Phương phỏp đỏnh giỏ ở mức kiến trỳc (ALMA) cú thể dựng để đỏnh giỏ rủi ro trong ATAM. Tuy nhiờn, việc phõn tớch cõn bằng của cỏc thuộc tớnh chất lượng lại được mụ tả tốt nhất trong ATAM.
2.4.10. Đầu ra và điểm mạnh của ATAM.
Theo như Kazman, điểm mạnh của ATAM là:
Những người tham gia hiểu rừ hơn về kiến trỳc.
Hoàn thiện hơn tài liệu kiến trỳc phần mềm. (Trong một số trường hợp tài
liệu kiến trỳc phải được tạo ra)
Nõng cao sự truyền thụng giữa những người tham gia.
Kết quả đầu ra của ATAM:
Cỏc scenario chất lượng được tạo bởi những người tham gia dựa trờn yờu
cầu chất lượng.
Cỏc nguyờn tắc phõn loại chất lượng cung cấp cho những nhà đỏnh giỏ một danh sỏch cỏc tham số kiến trỳc và tỏc nhõn phự hợp để ghi nhận cỏc thuộc tớnh chất lượng khỏc nhau và sự phụ thuộc giữa chỳng.
2.4.11 Lịch biểu thực hiện một phiờn đỏnh giỏ ATAM điển hỡnh
Dưới đõy là một chương trỡnh làm việc mẫu của một phiờn đỏnh giỏ ATAM. Trong đú cỏc bước được ghi chỳ trong ngoặc đơn. Trờn thực tế, thời gian đỏnh giỏ ATAM cú thể nhiều hoặc ớt tựy thuộc vào kớch cỡ và độ phức tạp của dự ỏn.
2.5. Phương phỏp đỏnh giỏ kiến trỳc phần mềm CBAM (Cost-Benefit Analysis Method)
2.5.1. Bối cảnh hỡnh thành phƣơng phỏp CBAM
Phương phỏp ATAM được cho là rất phự hợp khi phõn tớch một kiến trỳc nào đú xem cú đỏp ứng được cỏc yờu cầu về chất lượng hay khụng. Tuy nhiờn, thực tế cỏc doanh nghiệp khụng chỉ đũi hỏi hệ thống phần mềm đỏp ứng được cỏc yờu cầu này mà cũn phải đỏp ứng được cỏc ràng buộc khỏc như chi phớ trong phạm vi cho phộp, thời gian đưa ra thị trường nhanh,… nhưng vẫn phải đảm bảo lợi ớch thu được là tối đa. Hay núi cỏch khỏc là phương phỏp ATAM phõn tớch cỏc khớa cạnh liờn quan đến khung nhỡn của người dựng và nhà phỏt triển nhưng chưa đi phõn tớch khớa cạnh liờn quan đến doanh nghiệp. Chớnh vỡ vậy mà người ta mong muốn phải cú một phương phỏp nào đú cú thể phõn tớch cả về khớa cạnh liờn quan đến doanh nghiệp; và CBAM ra đời là nhằm đỏp ứng yờu cầu này.
Hỡnh 13 - Cỏc khung nhỡn khỏc nhau về hệ thống
CBAM cú mối quan hệ rất chặt chẽ với ATAM. Kết quả đầu ra của ATAM (là cỏc quyết định kiến trỳc) sẽ là đầu vào của phiờn đỏnh giỏ CBAM; như hỡnh minh họa sau đõy:
2.5.2.Mục tiờu của CBAM
CBAM được xõy dựng với mục tiờu là chiếc cầu nối giữa tiến trỡnh phỏt triển và xõy dựng kiến trỳc phần mềm với vấn đề về kinh tế của một tổ chức. CBAM coi cỏc chi phớ (ngõn sỏch, tiền bạc) như là những thuộc tớnh chất lượng và cần phải được xem xột khi hệ thống phần mềm được lờn kế hoạch phỏt triển. Trong khi đú thỡ SAAM và ATAM chủ yếu xem xột cỏc quyết định thiết kế thiờn về cỏc thuộc tớnh chất lượng thuộc kiến trỳc như tớnh sửa đổi, hiệu năng, tớnh sẵn sàng, tớnh dễ sử dụng, v.v.. CBAM cho rằng, cỏc chi phớ, cỏc lợi ớch và rủi ro cũng quan trọng như cỏc thuộc tớnh chất lượng khỏc, do vậy cần phải được cõn nhắc khi ra cỏc quyết định kiến trỳc.
2.5.3. Cỏc yếu tố dẫn đến sự phỏt triển CBAM.
Việc phỏt triển CBAM xuất phỏt từ tập cỏc cõu hỏi kiểu như:
Cỏc quyết định kiến trỳc được đo lường và so sỏnh như thế nào với cỏc thuộc tớnh chi phớ, lợi ớch và cỏc khớa cạnh liờn quan.
Cỏc thuộc tớnh chất lượng được phõn tớch và cõn bằng như thế nào đối với
cỏc lợi ớch và chi phớ liờn quan.
Mức độ khụng chắc chắn đi cựng với mỗi ước lượng chi phớ và lợi ớch được
mụ tả như thể nào
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