Cỏc yờu cầu và đầu vào của ALMA

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

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

2.2.4. Cỏc yờu cầu và đầu vào của ALMA

ALMA được xõy dựng trờn cơ sở của SAAM, bởi vậy phương phỏp này cũng đũi hỏi một số yờu cầu tương tự như SAAM:

 Những người liờn quan được yờu cầu cung cấp cỏc change scenario cú thể

xuất hiện trong chu trỡnh hệ thống trong tương lai. ALMA sử dụng cỏc scenario này để phõn tớch tớnh sửa đổi của kiến trỳc.

 Những nhà phõn tớch/ đỏnh giỏ phải cú khả năng đỏnh giỏ được sự ảnh hưởng và chi phớ mà cỏc scenario này gõy ra.

Đầu vào cho phiờn đỏnh giỏ ALMA bao gồm:

 Mụ hỡnh ―4+1‖ được Kruchten đề xuất để dựng cho đặc tả kiến trỳc.

 Ký phỏp UML để mụ tả kiến trỳc phần mềm. The UML notation for

software architecture description..

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

Phương phỏp ALMA được thực hiện theo 5 bước. Cỏc bước này khụng nhất thiết phải tiến hành tuần tự. Một số bước cú thể lặp lại nhiều lần trong quỏ trỡnh đỏnh giỏ.

ALMA Bước 1 – Thiết lập mục tiờu phõn tớch

Hoạt động đầu tiờn đú là định ra cỏc mục tiờu phõn tớch. ALMA hướng tới cỏc mục tiờu: đỏnh giỏ rủi ro, dự bỏo cỏc chi phớ bảo trỡ và cụng sức cần bỏ ra để sửa đổi kiến trỳc sao cho thớch nghi với những thay đổi.

ALMA Bước 2 – Mụ tả cỏc kiến trỳc phần mềm

Cụng việc mụ tả kiến trỳc cần sử dụng một số cỏc khung nhỡn kiến trỳc, tại đú mụ tả việc phõn tỏch hệ thống thành cỏc thành phần (Components), mối quan hệ giữa cỏc thành phần và cỏc mối quan hệ giữa hệ thống và mụi trường của nú.

ALMA Bước 3 – Chọn lọc change-scenarios

Lựa chọn Change-scenario là quỏ trỡnh tỡm và lựa chọn cỏc scenario cú thể đúng vai trũ nào đú liờn quan tới tớnh sửa đổi kiến trỳc. Cỏc scenario này sẽ được sử dụng trong phiờn đỏnh giỏ ALMA. Việc lựa chọn cỏc Change-scenario thường liờn quan đến cỏc hoạt động như xỏc định những người cú liờn quan, phỏng vấn họ, xõy dựng tài liệu cho cỏc scenario đó được chọn được và cựng những người liờn quan đỏnh giỏ tớnh khả thi của cỏc kết quả đạt được.

ALMA Bước 4 – Đỏnh giỏ cỏc change-scenarios

Tại bước này, cỏc nhà phõn tớch ALMA kết hợp với cỏc nhà kiến trỳc và nhà phỏt triển đỏnh giỏ sự tỏc động của cỏc change-scenarios tới kiến trỳc hệ thống và mụ tả kết quả theo cỏch cú thể đo lường được.

ALMA Bước 5 – Trỡnh bày kết quả

Sau khi đỏnh giỏ cỏc change-scenarios, kết quả sẽ được mụ tả như mục tiờu phõn tớch và được đối chứng với cỏc yờu cầu hệ thống. Cỏc kết quả này được sử dụng để dự bỏo cỏc chi phớ cho bảo trỡ. Chi phớ ước lượng này cú hạn chế là khụng phải lỳc nào cũng đỏng tin cậy vỡ khụng cú chuẩn hay cỏc ước lượng khỏc để so sỏnh cho thuộc tớnh này.

2.2.6. Cỏc đối tƣợng/ vai trũ tham gia trong ALMA

Trong phiờn đỏnh giỏ ALMA thỡ đối tượng tham gia được chia thành cỏc nhúm người: Người tham gia ngoài (external stakeholders), người trong nội bộ (internal stakeholders) và nhúm ALMA.

a. External stakeholders là những người khụng cú liờn quan trực tiếp trong quỏ trỡnh phỏt triển kiến trỳc phần mềm. Vai trũ của họ chỉ là mụ tả tỡnh trạng của doanh nghiệp thuộc dự ỏn, cung cấp cỏc change scenarios và cỏc yờu cầu ban đầu của hệ thống. Cuối phiờn đỏnh giỏ, dựa trờn kết quả đạt được mà nhúm người này cần phải quyết định về việc cú nờn tiếp tục phỏt triển nữa hay khụng. Những external stakeholders cú thể là người dựng, khỏch hàng, kỹ sư bảo trỡ, nhà tài trợ, người sở hữu sản phẩm, nhà quản lý v.v...

b. Internal stakeholders là những người cú liờn quan trực tiếp tới quỏ trỡnh phỏt triển kiến trỳc phần mềm. Họ cú nhiệm vụ phõn tớch, định nghĩa và trỡnh diễn cỏc khỏi niệm và khung nhỡn kiến trỳc khỏc nhau. Trong phiờn đỏnh giỏ ALMA thỡ họ chịu trỏch nhiệm mụ tả và trỡnh diễn cỏc kiến trỳc của hệ thống. Cựng với nhúm đỏnh giỏ, cỏc internal stakeholders ước lượng sự ảnh hưởng của cỏc change scenarios đối với kiến trỳc xột về gúc độ mục tiờu phõn tớch; đỏnh giỏ độ tin cậy cỏc kết quả của ALMA để biết được cụng sức cho sửa đổi. Vớ dụ về cỏc internal stakeholders là nhà kiến trỳc phần mềm, nhà phõn tớch, nhà thiết kế, nhà phỏt triển.

c. Nhúm ALMA là những người khụng cú lợi ớch trực tiếp từ kiến trỳc phần mềm

của hệ thống nhưng họ được mời để xõy dựng lờn tiến trỡnh đỏnh giỏ. Nhúm ALMA đúng vai trũ là người lónh đạo trong việc trỡnh diễn, đỏnh giỏ cỏc kết quả cuối cựng. Nhúm ALMA khụng cú vai trũ hỗ trợ những người tham gia trong việc tạo ra cỏc change-scenario cũng như khụng cú hỗ trợ cho những nhà kiến trỳc trong việc trỡnh diễn kiến trỳc phần mềm. Những nhà kiến trỳc cựng với nhúm ALMA cú nhiệm vụ xỏc định cỏc change scenarios ảnh hưởng lờn cỏc kiến trỳc khỏc nhau và dự bỏo chi phớ cho sửa đổi trong mỗi trường hợp. nhúm đỏnh giỏ ALMA bao gồm một trưởng nhúm hoặc người phỏt ngụn, cỏc nhà phõn tớch kiến trỳc và một thư ký.

2.2.7. Ƣớc lƣợng chi phớ khi ỏp dụng ALMA.

Việc ước lượng chi phớ dựa vào hiểu biết của những người tham gia và của những người am hiểu về kiến trỳc cũng như dựa vào số change-scenario và độ phức tạp của kiến trỳc đang được xem xột.

2.2.8. Cụng cụ hỗ trợ ALMA.

Hiện nay chưa cú cụng cụ nào hỗ trợ ALMA. Cỏc change-scenarios được sinh ra dựa trờn cơ sở phỏng vấn giữa con người với con người, mỗi scenario cú thể sử dụng cỏc mẫu, cỏc qui tắc định trước để ghi nhận. Cỏc cụng cụ sử dụng ở đõy cú thể kể ra như bảng trắng, biểu đồ, bảng ước lượng, sổ ghi chộp hay cỏc phương tiện ghi õm. Ngoài ra cỏc biểu đồ UML cũng được sử dụng cho việc mụ tả kiến trỳc.

2.2.9. Cỏc phƣơng phỏp thay thế cho ALMA.

The Architecture Tradeoff Analysis Method (ATAM) is a possible substitute of ALMA with respect to modifiability. Both methods are quite similar, since they use scenarios for assessing the quality attributes and provide estimates with respect to the analysis goals.

2.2.10. Những ƣu điểm và đầu ra của ALMA

Những điểm mạnh và đầu ra của ALMA được phỏt biểu như sau:

a. ALMA tập trung vào cỏc khỏi niệm cú tớnh kiến trỳc thường dựng để thể hiện chức năng của miền ứng dụng và cỏc thuộc tớnh chất lượng quan trọng.

b. Đỏnh giỏ scenario dựa vào việc phõn tớch sự ảnh hưởng của chỳng. Cụng việc này bao gồm việc xỏc định cỏc thành phần bị ảnh hưởng và chỉ ra được sự tỏc động lờn cỏc thành phần đú.

c. Những người liờn quan cú hai lựa chọn trong việc tạo ra cỏc change scenarios. Cỏch thứ nhất là tiếp cận theo hướng top-down, tức là xuất phỏt từ change- scenario tổng quỏt sau đú tinh chỉnh và đi đến cỏc scenario cụ thể. Cỏch thứ hai là theo hướng Bottom up, tức là cỏc change-scenario sẽ được tập hợp lại, sau đú những người liờn quan sẽ phõn loại cỏc scenario này thành cỏc lớp danh mục riờng.

d. Khả năng đỏnh giỏ tớnh sửa đổi từ rất nhiều gúc độ khỏc nhau, như: dự bỏo chi phớ và bảo trỡ, đỏnh giỏ rủi ro, và/hoặc lựa chọn kiến trỳc phần mềm.

e. Đưa ra cỏc giả định tường minh.

f. Cung cấp cỏc kỹ thuật thực hiện cỏc bước, cú tớnh lặp lại được. Đầu ra của phương phỏp này bao gồm:

a. Kết quả ước lượng sự ảnh hưởng của mỗi scenario. kết quả này được mụ tả bằng (1) kớch thước của cỏc thành phần hiện tại cần sửa đổi hoặc (2) kớch thước của cỏc thành phần được ước lượng cần phải được xem xột.

b. Một mụ hỡnh dự bỏo tớnh sửa đổi dựa trờn khối lượng thay đổi được ước lượng.

Mụ hỡnh này giả thiết rằng khối lượng thay đổi là yếu tố chi phối chớnh đến chi phớ, vỡ vậy mụ hỡnh cho ta hỡnh ảnh về tớnh hiệu quả chi phớ khi thờm code mới và sửa đổi code cũ.

c. Một tiờu chuẩn dừng việc sinh ra scenario (1) nếu tất cả cỏc loại scenario đó được xem xột tường minh hoặc (2) việc sinh ra cỏc change scenarios mới khụng ảnh hưởng đến cấu trỳc phõn loại.

2.2.11. Một số lƣu ý về ALMA.

Nhỡn chung, phương phỏp này thiếu cỏc phương tiện để quyết định về độ chớnh xỏc của cỏc kết quả phõn tớch. ALMA khụng thể tớnh chớnh xỏc cỏc con số dự bỏo về bảo trỡ cũng như khụng thể xỏc định được tớnh đầy đủ của việc đỏnh giỏ rủi ro.

2.3. Phương phỏp đỏnh giỏ kiến trỳc FAAM (Family-Architecture Assessment Method)

2.3.1. Ngữ cảnh sử dụng FAAM

FAAM là một phương phỏp đỏnh giỏ kiến trỳc của cỏc dũng hệ thống thụng tin, tập trung vào 2 khớa cạnh liờn quan đến chất lượng: tớnh liờn tỏc và tớnh mở rộng (interoperability and extensibility).

2.3.2. Mục tiờu của FAAM

Mục tiờu của FAAM là thiết lập một qui trỡnh đỏnh giỏ cỏc kiến trỳc thuộc dũng hệ thống thụng tin. Điểm khỏc của FAAM so với cỏc phương phỏp trước đõy là FAAM gúp phần:

 Những người liờn quan thuộc họ sản phẩm tham gia chủ động vào quỏ trỡnh

tạo ra sản phẩm,

 Tập trung vào cỏc thuộc tớnh chất lượng là tớnh liờn tỏc và tớnh mở rộng của

cỏc dũng hệ thống thụng tin,

 Nhấn mạnh đến cỏc kỹ thuật và tri thức thực tế nhằm cho phộp cỏc nhúm

phỏt triển trong tổ chức cài đặt phương phỏp này.

2.3.3. Những yếu tố dẫn đến sự hỡnh thành của FAAM

Một số những yếu tố liờn quan gúp phần vào sự phỏt triển của FAAM bao gồm:

 Nhu cầu cần một phương phỏp hỗ trợ những người tham gia xỏc định và mụ

tả cỏc changes-cases của hệ thống trong tương lai.

 Sự cần thiết phải cú cỏc kỹ thuật giỳp cho sự tương tỏc nhiều hơn giữa những người tham gia và cỏc nhà kiến trỳc trong quỏ trỡnh phỏt triển kiến trỳc.

 Sự cần thiết phải cú cỏc kỹ thuật cú thể tạo ra cỏc cơ sở về kiến trỳc cho

những người tham gia.

 Cần khả năng suy đoỏn về tớnh liờn tỏc và tớnh mở rộng của dũng hệ thống

này sớm trong cỏc phase phõn tớch và xõy dựng kiến trỳc.

2.3.4. Cỏc yờu cầu và đầu vào của FAAM

FAAM cũng dựa trờn những nguyờn lý đỏnh giỏ giống như SAAM và ATAM nhưng cú một số yờu cầu riờng như:

 Những người được mời tham gia phải cú kinh nghiệm với cỏc kỹ thuật liờn

quan nhằm thiết lập lờn cỏc yờu cầu và mục tiờu khởi đầu cho phiờn đỏnh giỏ.

 Phải cú hoặc phải chuẩn bị đặc tả kiến trỳc trước khi bắt đầu phiờn đỏnh giỏ

FAAM.

 Những người như sponsor, architect hay stakeholders phải sẵn sàng đưa ra

Cỏc đầu vào của phiờn đỏnh giỏ FAAM gồm:

 Cỏc mẫu Change-case đặc tả cỏc thay đổi cú thể xảy ra đối với tớnh liờn tỏc

và tớnh mở rộng của hệ thống.

 Cỏc mẫu hoặc cỏc kỹ thuật sinh bảng ỏnh xạ đặc tớnh, cỏc biểu đồ và tiờu

chuẩn phõn hạng cỏc yờu cầu. Cỏc qui tắc cũng cú thể được sử dụng để hỗ trợ quỏ trỡnh sinh ra cỏc change-case. Việc mụ tả kiến trỳc dựa trờn cỏc khung nhỡn của ―mụ hỡnh 4+1‖, nhưng thường thỡ tập trung vào sự logic, qui trỡnh, và cỏc khung nhỡn.

2.3.5. Cỏc bƣớc trong một phiờn đỏnh giỏ FAAM.

FAAM được mụ tả bởi 6 bước theo thứ tự về thời gian. Tuy nhiờn, điểm cần lưu ý đú là cỏc bước của phiờn đỏnh giỏ FAAM phải thớch ứng với kinh nghiệm đỏnh giỏ kiến trỳc núi chung của tổ chức đú.

FAAM Bước 1 – Xỏc định mục tiờu đỏnh giỏ.

Đõy là cụng việc cơ bản để xỏc định mục tiờu của phiờn đỏnh giỏ. Để trả lời cho cầu hỏi này, trước tiờn cần giải quyết một số vướng mắc:

 Xõy dựng phạm vi và nội dung của họ hệ thống bởi những người tham gia;

 Xõy dựng kế hoạch tương lai cho cỏc thay đổi về tớnh liờn tỏc và tớnh mở

rộng;

 Cung cấp cỏc nguyờn tắc cho người tham gia để trợ giỳp họ đưa ra cỏc yờu

cầu;

 Cung cấp cỏc nguyờn tắc về phõn mức ưu tiờn cỏc yờu cầu để đỏnh giỏ;

FAAM Bước 2 – Chuẩn bị cỏc yờu cầu thuộc tớnh hệ thống

Tại bước này, những người liờn quan cần xỏc định và phõn mức ưu tiờn cỏc yờu cầu về chất lượng hệ thống. Thỏch thức ở đõy là vấn đề cung cấp phương tiện cho người tham gia thực hiện trỡnh diễn cỏc yờu cầu ở dạng cú cấu trỳc để cú thể làm cơ sở cho việc đỏnh giỏ về sau.

FAAM Bước 3 – Chuẩn bị kiến trỳc

Bước này của phương phỏp liờn quan tới việc chuẩn bị sẵn sàng mụ tả kiến trỳc cho việc trỡnh diễn và đỏnh giỏ so với cỏc yờu cầu của người tham gia. Vấn đề ở đõy là cần phải cung cấp cỏc nguyờn tắc cho cỏc nhà kiến trỳc khi trỡnh diễn cỏc khung nhỡn kiến trỳc.

FAAM Bước 4 – Rà soỏt/ điều chỉnh cỏc kết quả. Review / Refine Artifacts

Mục tiờu ở đõy là đi đến sự thống nhất về tập cỏc yờu cầu và cỏc khung nhỡn kiến trỳc cú liờn quan sẽ được tiến cho đến cỏc bước đỏnh giỏ tiếp theo. Thỏch thức ở đõy là làm rừ cỏc nghiệp vụ và ràng buộc logic, cỏi mà cú thể hưởng đến việc đỏnh giỏ tiếp theo.

FAAM Bước 5 – Đỏnh giỏ sự phự hợp của kiến trỳc

Mụ tả kiến trỳc được kiểm định lại so với cỏc yờu cầu đó được đặc tả bằng việc tập trung vào khả năng và sự dễ dàng tớch hợp hay thỏa mó cỏc change-cases đó được đặc tả ở bước 2.

Bước 6 – Bỏo cỏo cỏc kết quả và đề xuất

Trong pha này, cỏc kết quả đỏnh giỏ được ghi nhận và thụng tin ngược trở lại đối với những người tham gia. Dựa trờn cỏc kết quả của bước 5, những người cú khả năng cựng với nhúm kiến trỳc sẽ mụ tả cỏc bài học đó học được để thực hành việc đỏnh giỏ.

2.3.6. Cỏc đối tƣợng tham gia phiờn đỏnh giỏ FAAM

Như phương phỏp đó được mụ tả ở bước trước, FAAM cú một số vai trũ tham gia tớch cực, bao gồm:

a. Family stakeholders (Những người đỏnh giỏ) hay cũn gọi là những External

Stakeholder, khụng cú sự liờn quan trực tiếp trong quỏ trỡnh phỏt triển phần mềm. Vai trũ của họ là mụ tả bối cảnh của doanh nghiệp thuộc dự ỏn và phõn hạng cỏc yờu cầu hệ thống, tiếp theo là quyết định dựa trờn kết quả đỏnh giỏ. Vớ dụ về những người này bao gồm: quản lý doanh nghiệp, quản lý sản phẩm, quản lý hỗ trợ khỏch hàng, quản lý phỏt triển v.v…

b. Internal stakeholders: là những người liờn quan trực tiếp tới quỏ trỡnh đỏnh giỏ kiến trỳc phần mềm . Họ cú vai trũ phõn tớch, định nghĩa và trỡnh diễn cỏc khỏi niệm và khung nhỡn kiến trỳc trong phiờn đỏnh giỏ FAAM. Vớ dụ về những internal stakeholders, đú là nhà kiến trỳc hay nhúm kiến trỳc.

c. Đội FAAM (Những người tổ chức) là những người khụng liờn quan trực tiếp tới kiến trỳc phần mềm của hệ thống nhưng lại là những người tổ chức ra quỏ trỡnh đỏnh giỏ. Những nhà tổ chức đúng vai trũ hỗ trợ những người tham gia trong việc sinh ra cỏc change-case và yờu cầu, ngoài ra cũn giỳp những nhà kiến trỳc trỡnh diễn kết quả (nếu cần thiết). nhúm đỏnh giỏ FAAM bao gồm trưởng nhúm, người phỏt ngụn, cỏc chuyờn gia thuộc lĩnh vực ứng dụng, cỏc chuyờn gia kiến trỳc ngoài (đõy là tựy chọn, mục đớch là đảm bảo tớnh hỡnh thức hơn). Ngoài ra, cũng cú thể cử thờm 1 thư ký.

2.3.7. Ƣớc lƣợng chi phớ khi ỏp dụng FAAM.

Vỡ cụng sức bỏ ra để ỏp dụng FAAM phụ thuộc vào bản chất của quỏ trỡnh đỏnh giỏ, mức độ kinh nghiệm của những người tham gia, do vậy khoảng thời gian cần thiết để đỏnh giỏ nhiều nhất là 3 ngày. So sỏnh với cỏc phương phỏp khỏc và dựa vào thực tế ỏp dụng FAAM cho thấy cụng sức đú bỏ ra là tương đối nhỏ. Cũn về mức độ phức tạp thỡ luụn phụ thuộc vào dũng hệ thống khi đỏnh giỏ.

2.3.8. Cụng cụ hỗ trợ FAAM.

Như đó chỉ ra trước đú, FAAM chỉ được hỗ bởi cỏc kỹ thuật liờn quan đến family, cỏc nguyờn tắc và cỏc mẫu để sinh ra change-scenario, tiờu chuẩn phõn hạng yờu

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