3. Cấu trỳc và nội dung của luận văn
2.1.10 Điểm mạnh và đầu ra của SAAM
Điểm mạnh của SAAM:
Những người liờn quan hiểu rất sõu về kiến trỳc đang được phõn tớch
Trong nhiều trường hợp, sau khi kết thỳc phiờn đỏnh giỏ SAAM thỡ tài liệu
cho kiến trỳc được cải thiện đỏng kể (những người tham gia đúng gúp)
Tăng cường giao tiếp về hệ thống giữa những người liờn quan.
Trờn cơ sở những ưu điểm kể trờn của SAAM, đầu ra sau phiờn đỏnh giỏ SAAM sẽ là:
Tạo ỏnh xạ giữa những scenario được thảo luận với kiến trỳc cú liờn quan đến sự thay đổi trong tương lai của hệ thống. Kết quả là cỏc phần cú độ phức tạp tiềm tàng
cao sẽ được xỏc định. Ngoài ra, cỏc chi phớ và cụng sức bỏ ra thực hiện cỏc thay đổi cũng được ước lượng. Việc dựa vào thứ hạng ưu tiờn của cỏc scenario cũng giỳp cho chỳng ta định hỡnh con đường phỏt triển hệ thống tiếp theo.
2.11 Một số lƣu ý về SAAM
Để ỏp dụng SAAM thành cụng, thỡ khi ỏp dụng SAAM cần lưu ý một số điểm sau:
Quỏ trỡnh sinh ra cỏc scenario hoàn toàn dựa vào tầm nhỡn của người tham
gia. Điều này đũi hỏi họ phải đầu tư suy nghĩ thờm về cỏc scenario giỏn tiếp.
SAAM khụng đưa ra được độ đo chớnh xỏc cho cỏc thuộc tớnh chất lượng
được đưa vào phõn tớch.
Việc mụ tả kiến trỳc chỉ là khỏi niệm mờ và được chấp thuận mà khụng cú
ký phỏp hay phương phỏp mụ tả được chuẩn húa. Tất cả cỏc kiến trỳc phải được coi là cỏc kiến trỳc dự tuyển, chưa phải là cuối cựng, vỡ vậy việc mụ tả phải đảm bảo dễ hiểu đối với những người.
Nhúm đỏnh giỏ chỉ đề xuất cỏc kiến trỳc khỏc nhau (nếu cú) dựa vào kinh
nghiệm của những nhà kiến trỳc chứ khụng nờn suy luận và đề xuất ra cỏc kiến trỳc cú thể khỏc vỡ nhúm kiến trỳc khụng thể hiểu được đầy đủ cỏc yờu cầu nghiệp vụ của doanh nghiệp.
SAAM là phương phỏp tinh chỉnh từng bước khi thực hiện phõn tớch kiến
trỳc phần mềm. Tuy nhiờn, tựy vào kinh nghiệm thực tế của nhà phõn tớch/ nhà đỏnh giỏ mà cú thể thực hiện theo cỏc bước khỏc nhau.
2.2. Phương phỏp ALMA – Architecture Level Modifiability Analysis
Phương phỏp phõn tớch tớnh sửa đổi ở mức kiến trỳc – ALMA – là kết quả nghiờn cứu của 2 tỏc giả Bengtsson và Lassing.
ALMA được phỏt triển theo quan điểm đỏnh giỏ hướng mục tiờu (Goal – Oriented). Việc thiết lập mục tiờu là hoạt động quan trọng nhất của phương phỏp này, cỏc hoạt động cũn lại được thực hiện chỉ nhằm làm sỏng tỏ mục tiờu đỏnh giỏ. Hỡnh dưới đõy thể hiện triết lý của phương phỏp này. Mục tiờu cụ thể của phương phỏp là xỏc định rừ tớnh sửa đổi của cỏc vấn đề liờn quan ở mức kiến trỳc. Mục tiờu đú cú thể là:
Dự đoỏn về chi phớ bảo trỡ – Tức là việc ước lượng cụng sức bỏ ra để thỏa
món cỏc scenario thay đổi tới phần mềm.
Đỏnh giỏ rủi ro- Xỏc định cỏc loại thay đổi mà ở đú kiến trỳc phần mềm
khụng thể đỏp ứng
2.2.1. Ngữ cảnh sử dụng ALMA
Ban đầu, ALMA được phỏt triển và dựng để kiểm định chỉ cho hệ thống thụng tin doanh nghiệp. Nú được coi là một phương phỏp đỏnh giỏ cỏc thuộc tớnh kiến trỳc phần mềm dựa trờn scenario. ALMA cũng được xem là phự hợp cho cỏc hệ thống nhỳng (Embedded systems), tuy nhiờn điều này vẫn chưa được chứng minh.
Việc phõn tớch tớnh sửa đổi thường hướng tới 3 mục tiờu:
Dự bỏo cỏc chi phớ cho việc sửa đổi trong tương lai.
So sỏnh hai hoặc nhiều cỏc kiến trỳc với nhau.
2.2.2. Mục tiờu của ALMA
ALMA là một phương phỏp phõn tớch dựa trờn scenario, thớch hợp cho việc đỏnh giỏ tớnh sửa đổi của kiến trỳc phần mềm bằng cỏch ỏp dụng một tập cỏc chỉ bỏo như: dự đoỏn chi phớ bảo trỡ, đỏnh giỏ rủi ro. Trong trường hợp cần so sỏnh và đỏnh giỏ cỏc hệ thống khỏc nhau, việc phõn tớch tớnh sửa đổi được thực hiện bởi ALMA sẽ hỗ trợ lựa chọn kiến trỳc phần mềm tốt hơn. Vỡ mục tiờu này mà ALMA sử dụng cỏc Change-Case do những người liờn quan cung cấp.
Phõn tớch tớnh sửa đổi bắt đầu với việc định nghĩa ra một tập cỏc scenario cú thể xuất hiện trong quỏ trỡnh phỏt triển của hệ thống. Cỏc scenario được sử dụng để kiểm tra xem kiến trỳc hiện tại hỗ trợ hoặc thớch nghi với những thay đổi trong tương lai tốt như thế nào?.
2.2.3. Cỏc yếu tố dẫn đến sự hỡnh thành của ALMA
Cỏc hạn chế cơ bản của một số phương phỏp đỏnh giỏ kiến trỳc hiện nay bao gồm:
Chỳng tập trung vào một thuộc tớnh chất lượng đơn lẻ mà bỏ qua cỏc thuộc
tớnh khỏc nhưng rất quan trọng.
Chỳng quỏ chi tiết và tỉ mỉ trong phõn tớch vỡ vậy đụi khi vượt quỏ thời gian
cho phộp.
Cỏc kỹ thuật đú thường dựng cho cỏc phase thiết kế về sau và thường đũi
hỏi cỏc thụng tin chi tiết, cỏi mà khụng cú trong giai đoạn thiết kế kiến trỳc. Mục tiờu xõy dựng ALMA là nhằm khắc phục những hạn chế này.
Ngoài ra cũn phải kể đến một số nhõn tố khỏc như:
Thực tế cho thấy cú đến 50% tới 70% chi phớ của toàn bộ chu trỡnh phỏt
triển hệ thống là chi cho cụng việc cải tiến, phỏt triển tiếp theo. Vỡ vậy, tớnh sửa đổi đối với những thay đổi được mong đợi/ khụng mong đợi rất cần phải được xem xột.
Áp lực cải tiến chất lượng và tối thiểu húa chi phớ ngày càng tăng, khoảng
thời gian tồn tại của sản phẩm trong mụi trường doanh nghiệp rất ngắn đó ảnh hưởng mạnh mẽ tới tớnh sửa đổi của hệ thống.
Thiếu hụt cỏc kỹ thuật đỏnh giỏ kiến trỳc để cú thể xỏc định được số lượng
thuộc tớnh chất lượng của kiến trỳc đú.
Thiếu hụt cỏc phương phỏp đỏnh giỏ tập trung vào tớnh sửa đổi cú khả năng
chỉ rừ nhiều mục tiờu phõn tớch, đưa ra cỏc chứng minh và cung cấp cỏc kỹ thuật xõy dựng tài liệu rừ ràng trong quỏ trỡnh thực hiệ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