1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm Hiểu Về Phương Pháp Phân Tích Kiến Trúc Phần Mềm.docx

30 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Về Phương Pháp Phân Tích Kiến Trúc Phần Mềm
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công nghệ phần mềm
Thể loại bài tiểu luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 283,82 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • PHẦN 1: MỞ ĐẦU (3)
  • PHẦN 2. NỘI DUNG (5)
    • 1. Giới thiệu (5)
    • 2. Định nghĩa và mô tả kiến trúc phần mềm (6)
      • 2.2. Định nghĩa và mô tả kiến trúc phần mềm (7)
      • 2.3. Kỹ thuật đánh giá ở cấp độ kiến trúc (9)
      • 2.4. Khung mô tả và so sánh các phương pháp phân tích (11)
      • 3.1. Phương pháp phân tích kiến trúc dựa trên phương pháp (SAAM) (11)
      • 3.2. Phương pháp phân tích kiến trúc phần mềm cho sự tiến hóa và khả năng tái sử dụng (SAAMER) (13)
      • 3.3. Tái cấu trúc kiến trúc (15)
      • 6.1. Nghiên cứu sự phù hợp và mục tiêu cụ thể của phương pháp (21)
      • 6.2. Phân loại phương pháp (21)
      • 6.3. Các hoạt động chung và các cách tiếp cận khác nhau trong các phương pháp (22)
      • 6.4. Thảo luận về sự phát triển của phương pháp (24)
      • 8.1. Kỹ thuật xác định tiến độ và cải tiến phương pháp (26)
      • 8.2. Các vấn đề mở và vận dung thực tiễn (27)
  • PHẦN 3. KẾT LUẬN (30)

Nội dung

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA  BÀI TIỂU LUẬN MÔN CÔNG NGHỆ PHẦN MỀM Đề tài Tìm hiểu về phương pháp phân tích kiến trúc phần mềm (Software Architecture Analysis Method) Hà H[.]

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

- -BÀI TIỂU LUẬN MÔN: CÔNG NGHỆ PHẦN MỀM

Đề tài: Tìm hiểu về phương pháp phân tích kiến trúc phần

mềm (Software Architecture Analysis Method)

Hà Hội, 01/05/2023

Trang 2

Mục Lục

PHẦN 1: MỞ ĐẦU 2

PHẦN 2 NỘI DUNG 4

1 Giới thiệu 4

2 Định nghĩa và mô tả kiến trúc phần mềm 6

2.1 Thuộc tĩnh chất lượng và các mô hình chất lượng 6

2.2 Định nghĩa và mô tả kiến trúc phần mềm 7

2.3 Kỹ thuật đánh giá ở cấp độ kiến trúc 9

2.4 Khung mô tả và so sánh các phương pháp phân tích 10

3 Tổng quan và các phương pháp phân tích 11

3.1 Phương pháp phân tích kiến trúc dựa trên phương pháp (SAAM) 11

3.2 Phương pháp phân tích kiến trúc phần mềm cho sự tiến hóa và khả năng tái sử dụng (SAAMER) 13

3.3 Tái cấu trúc kiến trúc 15

4 Đánh giá kiến trúc phần mềm 15

5 Ví dụ: hệ thống quảng lý cửa sổ 17

6 Tổng quan về các phương pháp phân tích 20

6.1 Nghiên cứu sự phù hợp và mục tiêu cụ thể của phương pháp 21

6.2 Phân loại phương pháp 21

6.3 Các hoạt động chung và các cách tiếp cận khác nhau trong các phương pháp 22

6.4 Thảo luận về sự phát triển của phương pháp 24

7 Phương pháp xác định khía cạnh kiến trúc 25

8 Kết luận và vận dụng thực tiễn 25

8.1 Kỹ thuật xác định tiến độ và cải tiến phương pháp 26

8.2 Các vấn đề mở và vận dung thực tiễn 27

PHẦN 3 KẾT LUẬN 30

Trang 3

Như chúng ta đã biết, trong khoảng 10 năm trở lại đây, công nghệ thông tin bùng nổ và phát triển mạnh mẽ ở nước ta Có thể nói, với sự phát triển như vũ bão của khoa học và công nghệ trong thời gian qua đã tạo ra những sản phầm công nghệ mới để rồi đem lại rất nhiều tiện ích cho cuộc sống Nó đang chiếm phần lớn trong việc phục vụ của nhiều ngành nghề cũng như phục vụ đời sống của con người.Trong đó , kiến trúc là một trong các hoạt động chính của tiến trình phát triển hệ thống Kết quả của hoạt động này cho ta bản thiết kế ở mức cao của hệ thống đó - hay còn được gọi là kiến trúc hệ thống (System Architecture) Kiến trúc cũng có thể được định nghĩa như là Tổ chức cơ bản của hệ thống, được thể hiện bởi các thành phần, các mối quan hệ và môi trường, cũng như các nguyên tắc để quản lý tiến trình và sự phát triển (IEEE standard Page 1471) Tương tự như vậy, trong qui trình phát triển phần mềm (SLC) thì kiến trúc phần mềm (Software Architecture) đóng một vai trò vô cùng quan trọng, bởi nó ảnh hưởng trực tiếp đến tất cả các công đoạn còn lại của cả chu trình Việc lựa chọn kiến trúc phù hợp có ý nghĩa rất lớn tới chất lượng của dự án (thể hiện qua các thuộc tính chất lượng phần mềm, như: tính bảo mật, hiệu năng, khả năng sửa đổi,…) Tuy nhiên vấn đề đặt ra

là liệu có thể đánh giá sớm được một kiến trúc nào đó là tốt hơn hay không ? Để từ

Trang 4

đó giúp những nhà quản lý đạt được hiệu quả cao nhất trong quá trình phát triển phần mềm đồng thời giảm thiểu tối đa các rủi ro có thể xảy ra Câu trả lời ở đây là các kiến trúc hoàn toàn có thể được phân tích, vì vậy chúng ta đều có thể đánh giá một kiến trúc là tốt hay tồi theo một khía cạnh hay ngữ cảnh nào đó trước khi tiến hành quá trình thiết kế dự án Chính vì tầm quan trọng đó mà trong những năm gầnđây việc nghiên cứu về phương pháp phân tích kiến trúc phần mềm (Software Architecture Analysis Method) đã nhận được rất nhiều sự quan tâm của những nhà nghiên cứu trong lĩnh vực kỹ nghệ phần mềm (Software Engineering) Ở nước ta hiện nay, lĩnh vực nghiên cứu về Kiến trúc phần mềm chưa thực sự được quan tâm nhiều, hơn nữa việc áp dụng các kết quả có liên quan đến kiến trúc phần mềm trong các dự án còn gặp nhiều hạn chế.

Với những lợi ích trên, phân tích kiến trúc phần mềm rất quan trọng trong quá trình phát triển phần mềm, giúp tạo ra các hệ thống phần mềm chất lượng cao và mang lại giá trị cho người sử dụng Việc thiết kế và xây dựng phần mềm đòi hỏi sựhiểu biết về kiến trúc phần mềm và các phương pháp phân tích kiến trúc nhằm đảmbảo tính ổn định, bảo trì và nâng cao chất lượng sản phẩm Qua bài báo cáo này sẽ tìm hiểu về các phương pháp phân tích kiến trúc phần mềm để giúp cho việc thiết

kế và phát triển phần mềm được hiệu quả và chuyên nghiệp hơn

Để có thể hiểu rõ hơn về các phương pháp xây dựng và phát triển phần mềm, nhóm chúng em đã lựa chọn đề tài “: Tìm hiểu về phương pháp phân tích kiến trúc phần mềm (Software Architecture Analysis Method)” Qua việc tìm hiểu và tham khảo qua các tài liệu tham khảo, nhóm em đã cố gắng hết sức để hoàn thành bài báo cáo này một cách tốt nhất, song do kiến thức còn hạn hẹp nên bài báo cáo của nhóm em sẽ không tránh khỏi có những thiếu sót, mong các thầy cô sẽ có những góp ý để chúng em sẽ có thể làm tốt hơn trong những bài báo cáo về sau Chúng

em xin chân thành cảm ơn

Trang 5

PHẦN 2 NỘI DUNG

1 Giới thiệu

Kiến trúc phần mềm tạo thành một trong những tạo tác quan trọng trong toàn bộvòng đời phát triển phần mềm vì nó thể hiện các quyết định thiết kế sớm nhất và bao gồm các thành phần cấp tổng thể ảnh hưởng trực tiếp đến phân tích, thiết kế vàtriển khai tiếp theo Theo đó, điều quan trọng là thiết kế kiến trúc hỗ trợ chất lượng

hệ thống phần mềm theo yêu cầu của các bên liên quan khác nhau Để đảm bảo cácyếu tố chất lượng, giả định chung là việc xác định các mối quan tâm cơ bản cho thiết kế kiến trúc vòm là cần thiết và các phương pháp thiết kế kiến trúc khác nhau

đã được giới thiệu cho mục đích này Để xác minh rằng các mối quan tâm đúng đắn đã được xác định, phân tích tĩnh nói chung của các mô hình kiến trúc chính thức được áp dụng hoặc một tập hợp các phương pháp phân tích hành trình vòm như được mô tả trong được áp dụng Trong bài viết này, chúng em tập trung vào các phương pháp phân tích kiến trúc phần mềm sử dụng các phương pháp để đánh giá kiến trúc Nói chung, các phương pháp phân tích này đóng vai trò là đầu vào của thiết kế kiến trúc và tôi đảm bảo tác động của các phương pháp được xác định trước đối với nó để xác định các rủi ro tiềm ẩn và các điểm nhạy cảm của kiến trúc.Điều này giúp dự đoán chất lượng của hệ thống trước khi nó được xây dựng, từ đó giảm chi phí bảo trì không cần thiết

Các phương pháp phân tích kiến trúc phần mềm nhằm mục đích dự đoán chất lượng của một hệ thống trước khi nó được phát triển Nói chung, chất lượng của kiến trúc được xác nhận bằng phân tích tác động của các phương pháp được xác định trước đối với các thành phần kiến trúc Do đó, người ta ngầm giả định rằng việc tái cấu trúc thích hợp của thiết kế kiến trúc có thể giúp đối phó với các tình huống quan trọng và sửa chữa kiến trúc Bài viết này cho thấy cũng có những lo ngại ở cấp độ thiết kế kiến trúc vốn đã cắt ngang nhiều thành phần kiến trúc, khôngthể bản địa hóa trong một thành phần kiến trúc và do đó, không thể dễ dàng quản

lý bằng cách sử dụng các cơ chế thông thường Chúng em sẽ đề xuất phương pháp phân tích kiến trúc phần mềm khía cạnh để xác định rõ ràng và chỉ định các khía cạnh kiến trúc này và làm cho chúng minh bạch sớm trong vòng đời phát triển phần mềm Giới thiệu một bộ quy tắc giúp rút ra các khía cạnh kiến trúc và các thành phần kiến trúc rối tương ứng từ các phương pháp Cách tiếp cận được minh họa để xác định khía cạnh kiến trúc trong thiết kế kiến trúc của hệ thống quản lý cửa sổ

Mục đích của việc đánh giá kiến trúc của một hệ thống phần mềm là phân tích kiến trúc để xác định các rủi ro tiềm ẩn và xác minh rằng các yêu cầu chất lượng đã

Trang 6

được giải quyết trong thiết kế Cuộc khảo sát này cho thấy tình trạng nghiên cứu tạithời điểm này, trong lĩnh vực này, bằng cách trình bày và thảo luận về tám phương pháp phân tích kiến trúc tiêu biểu nhất Việc lựa chọn các phương pháp nghiên cứu

cố gắng bao quát càng nhiều quan điểm cụ thể về phản ánh khách quan càng tốt để bắt nguồn từ mục tiêu Vai trò của cuộc thảo luận là đưa ra các hướng dẫn liên quan đến việc sử dụng phương pháp phù hợp nhất cho quá trình đánh giá kiến trúc.Chúng tôi sẽ tập trung vào việc khám phá những điểm tương đồng và khác biệt giữa tám phương pháp có sẵn này bằng cách phân loại, so sánh và nghiên cứu sự phù hợp

Trong bài báo này, chúng em lập luận rằng một số mối quan tâm, ngay cả ở cấp

độ thiết kế kiến trúc, không thể dễ dàng bản địa hóa và chỉ định trong các thành phần kiến trúc riêng lẻ Tương tự như khái niệm về khía cạnh ở cấp độ lập trình, chúng tôi nói rằng mối quan tâm của họ là xuyên suốt và biểu thị cái gọi là khía cạnh kiến trúc Vì tính chất xuyên suốt của các khía cạnh kiến trúc là vốn có,

chúng tôi tuyên bố rằng những điều này không thể được hoàn tác đơn giản bằng cách xác định lại kiến trúc phần mềm bằng cách sử dụng trừu tượng hóa kiến trúc thông thường

Các phương pháp phân tích kiến trúc phần mềm hiện tại không phân biệt rõ ràng giữa các mối quan tâm kiến trúc thông thường có thể được bản địa hóa bằng cách sử dụng trừu tượng kiến trúc hiện tại và các mối quan tâm kiến trúc cắt ngang nhiều thành phần kiến trúc Rủi ro là các mối quan tâm chéo tiềm ẩn có thể không được phát hiện dưới dạng các khía cạnh và do đó vẫn chưa được giải quyết ở cấp

độ thiết kế và lập trình Điều này có thể dẫn đến mã rối trong hệ thống và do đó cácyếu tố chất lượng mà các phương pháp phân tích kiến trúc cố gắng xác minh sẽ bị cản trở

2 Định nghĩa và mô tả kiến trúc phần mềm

2.1 Thuộc tĩnh chất lượng và các mô hình chất lượng

Một thuộc tính chất lượng là một đặc tính phi chức năng của một thành phần hoặc một hệ thống Chất lượng phần mềm được xác định trong IEEE 1061 và nó thể hiện mức độ mà phần mềm sở hữu sự kết hợp mong muốn của các thuộc tính Một tiêu chuẩn khác, Dự thảo ISO / IEC 9126-1 , xác định mô hình chất lượng phần mềm Theo đó, có sáu loại đặc điểm (chức năng, độ tin cậy, khả năng sử dụng, hiệu quả, khả năng bảo trì và tính di động), được chia thành các đặc điểm phụ Chúng được xác định bằng các tính năng có thể quan sát bên ngoài cho mỗi

Trang 7

hệ thống phần mềm Để đảm bảo ứng dụng chung của nó, tiêu chuẩn không xác định các thuộc tính này là gì cũng như làm thế nào chúng có thể liên quan đến các đặc điểm phụ.

Một cuộc điều tra về tài liệu đã chỉ ra rằng một số lượng lớn các định nghĩa về các thuộc tính chất lượng tồn tại có liên quan đến khả năng tương tự của một hệ thống phần mềm Ví dụ: các định nghĩa về khả năng bảo trì, tính linh hoạt và khả năng sửa đổi được mô tả như sau: xem phản ánh khách quan càng tốt để xuất phát

từ mục tiêu chung SA được coi là sản phẩm đầu tiên trong quá trình phát triển dựatrên kiến trúc và từ quan điểm này, phân tích ở cấp độ này sẽ tiết lộ xung đột yêu cầu và mô tả thiết kế không đầy đủ từ quan điểm của một bên liên quan cụ thể Phân tích có thể được liên kết với việc thiết kế một cải tiến lặp đi lặp lại kiến trúc của một hệ thống phần mềm xanh hoặc với việc tái cấu trúc một hệ thống hiện có Các phương pháp dự đoán của một thuộc tính chất lượng duy nhất nhằm giảm thiểu

+ Khả năng bảo trì là một tập hợp các thuộc tính có ảnh hưởng đến cố gắng cần thiết để thực hiện các sửa đổi cụ thể Sửa đổi có thể bao gồm sửa chữa, cải tiến hoặc điều chỉnh phần mềm với những thay đổi trong môi trường và trong các yêu cầu và đặc điểm kỹ thuật chức năng

+ Khả năng sửa đổi là khả năng thực hiện thay đổi nhanh chóng và tốn kém Sửa đổi một hệ thống có thể được phân loại như khả năng mở rộng (khả năng có được các tính năng mới), xóa các khả năng không mong muốn (để đơn giản hóa chức năng của ứng dụng hiện có), tính di động (thích ứng với môi trường hoạt động mới) hoặc tái cấu trúc (hợp lý hóa các dịch vụ hệ thống, mô-đun hóa, tạo các thànhphần có thể tái sử dụng)

+ Tính linh hoạt là sự dễ dàng mà một hệ thống hoặc thành phần có thể được sửa đổi để sử dụng trong các ứng dụng hoặc môi trường khác với những ứng dụng hoặc môi trường mà nó được thiết kế đặc biệt

Mặc dù khác nhau về từ ngữ, các định nghĩa gần như giống hệt nhau về ngữ nghĩa của chúng Hạn chế của các định nghĩa này liên quan đến mục đích phân tích SA làphạm vi của chúng quá rộng

2.2 Định nghĩa và mô tả kiến trúc phần mềm

Định nghĩa Kiến trúc phần mềm của một hệ thống được định nghĩa là cấu trúc hoặc cấu trúc của hệ thống, bao gồm các thành phần phần mềm, các thuộc tính có thể nhìn thấy bên ngoài của các thành phần đó và mối quan hệ giữa chúng Định

Trang 8

nghĩa này chỉ tập trung vào các khía cạnh bên trong của một hệ thống và hầu hết các phương pháp phân tích đều dựa trên nó Một định nghĩa ngắn gọn khác được đưa ra bởi Garlan và Perry, thiết lập SA là cấu trúc của các thành phần trong một chương trình hoặc hệ thống, mối quan hệ tương tác của chúng và các nguyên tắc vàhướng dẫn kiểm soát thiết kế và tiến hóa theo thời gian, Định nghĩa tập trung vào quá trình này được SAEM sử dụng vì nó tính đến các nguyên tắc và hướng dẫn trong mô tả kiến trúc Đối với một phân tích về tính linh hoạt, môi trường bên ngoài cũng quan trọng như một thực thể bên trong của một hệ thống Định nghĩa

SA nên bao gồm hai phần, đó là kiến trúc vĩ mô tập trung vào môi trường của hệ thống và vi kiến trúc bao gồm cấu trúc bên trong của hệ thống

Mô tả: Nghiên cứu trong mô tả SA đề cập đến các quan điểm khác nhau mà người ta có thể có về kiến trúc Mỗi quan điểm được mô tả như một quan điểm Mặc dù vẫn chưa có sự thống nhất chung về quan điểm nào là hữu ích nhất, nhưng

lý do đằng sau nhiều quan điểm luôn giống nhau: Tách các khía cạnh khác nhau thành các quan điểm riêng biệt giúp mọi người quản lý sự phức tạp Một số mô hình đã được đề xuất giới thiệu một số quan điểm cần được mô tả trong SA Các

mô hình xem chiasẻ thực tế rằng nógiải quyết một cấu trúc tĩnh, một khía cạnh động, bố cục vật lý và sự phát triển của hệ thống Giới thiệu khái niệm cấu trúc kiến trúc đồng nghĩa với quan điểm Nói chung, trách nhiệm của kiến trúc sư là sử dụng quan điểm nào để mô tả SA

Từ quan điểm phân tích chất lượng ở cấp độ kiến trúc, các biểu diễn có thể rất phù hợp trong dự đoán chất lượng và ước tính nỗ Một phương pháp đánh giá có thể cần các cấu trúc, liên quan đến việc phân hủy chức năng mà các sản phẩm cần

hỗ trợ, việc thực hiện trong một thiết kế chi tiết về các khái niệm trừu tượng mà từ

đó hệ thống được xây dựng, đồng thời logic, phần cứng, tệp và thư mục Các thànhphần và mối quan hệ của mỗi cấu trúc là đại diện Ví dụ, cấu trúc đồng thời logic chứa các đơn vị được tinh chỉnh thành các quy trình và luồng Các mối quan hệ của

nó bao gồm đồng bộ hóa với, là ưu tiên cao hơn, gửi dữ liệu đến, không thể chạy không có, v.v Các thuộc tính liên quan đến cấu trúc bao gồm mức độ ưu tiên, tính

ưu tiên và thời gian thực hiện

Trang 9

Một phân loại các tính chất trực giao được xác định chính thức của SA

(TOPSA) mở rộng định nghĩa SA đầu tiên được đưa ra trong Không gian TOPSA

có ba chiều: mức độ trừu tượng (khái niệm, hiện thực hóa), tính năng động (tĩnh, động) và mức độ tổng hợp có thể tạo điều kiện thuận lợi cho các cuộc thảo luận về

SA trong quá trình phát triển và tiến hóa TOPSA và biểu diễn kiến trúc dựa trên nhiều chế độ xem bổ sung cho nhau Các quan điểm khác nhau cung cấp các ví dụ

có giá trị cho các khía cạnh trừu tượng, năng động và tổng hợp Một phương pháp phân tích có thể khai thác các mối quan hệ này dưới dạng một bộ quy tắc xác định, trong đó nêu rõ chế độ xem nào trong không gian TOPSA là thích hợp nhất cho một thuộc tính chất lượng nhất định

Mô tả các loại thành phần và cấu trúc liên kết của chúng, các mẫu dữ liệu và tương tác kiểm soát giữa các thành phần, và những lợi ích và hạn chế của việc sử dụng chúng cũng được ghi lại trong các phong cách kiến trúc và mẫu thiết kế Thành phần của các mẫu có thể được sử dụng trong SA được đánh giá bằng các thuật ngữ chất lượng khác nhau trong

2.3 Kỹ thuật đánh giá ở cấp độ kiến trúc

Hai lớp kỹ thuật đánh giá cơ bản, đặt câu hỏi và đo lường, có sẵn ởcấp độ kiến trúc được xác định trong hai báo cáo nghiên cứu quan trọng Các kỹ thuật đặt câu hỏi tạo ra các câu hỏi định tính được hỏi về một kiến trúc và chúng có thể được áp dụng cho bất kỳ chất lượng nhất định nào Kỹ thuật đo lường đề xuất các phép đo định lượng được thực hiện trên một kiến trúc Chúng được sử dụng để trả lời các câu hỏi cụ thể và chúng giải quyết các chất lượng phần mềm cụ thể và do đó,

Sự thay đổi Khản năng sửa

Tập tin và thư mục Phần cứng

Đồng thời logic Thiết kế chi tiết

Phân rã chức

năng

Cấp tổng hợp Năng động

độngđộng Mức độ trừu tượng

Mô trả kiến truc

Trang 10

chúng không được áp dụng rộng rãi như các kỹ thuật đặt câu hỏi Lớp này bao gồmcác số liệu, mô phỏng, nguyên mẫu và kinh nghiệm Tính tổng quát, mức độ chi tiết, giai đoạn và những gì được đánh giá đại diện cho một khuôn khổ bốn chiều so sánh các kỹ thuật này Về tính tổng quát, các kỹ thuật có thể là tổng quan, miền cụ thể (danh sách kiểm tra, nguyên mẫu) hoặc hệ thống cụ thể (phương pháp) Mức độchi tiết (hạt thô, trung bình hoặc mịn) cho biết cần bao nhiêu thông tin về kiến trúc

để thực hiện đánh giá Có những giai đoạn quan tâm để đánh giá kiến trúc: sớm, giữa và sau triển khai Các giai đoạn này xảy ra sau các quyết định kiến trúc cấp cao ban đầu (bảng câu hỏi, nguyên mẫu), tại bất kỳ thời điểm nào sau khi xây dựngthiết kế kiến trúc (phương pháp , danh sách kiểm tra) và sau khi hệ thống đã được thiết kế, thực hiện và triển khai hoàn chỉnh

Về khía cạnh định lượng và định tính, cả hai lớp kỹ thuật đều cần thiết để đánh giá kiến trúc Các mô hình phân tích khác nhau được thể hiện trong các phương pháp mal được bao gồm trong các kỹ thuật định lượng Các kỹ thuật định tính minh họa các đánh giá SA bằng cách sử dụng các phương pháp Một mô tả về những thay đổi cần thiết cho mỗi phương pháp đại diện cho một phương pháp đánhgiá định tính Từ quan điểm này, phương pháp là cần thiết nhưng không đủ để dự đoán và kiểm soát các thuộc tính chất lượng và chúng phải được bổ sung bằng các

kỹ thuật đánh giá khác và đặc biệt là giải thích định lượng Ví dụ, bao gồm các câu hỏi về các chỉ số chất lượng trong các phương pháp làm phong phú thêm đánh giá kiến trúc Giải thích định lượng về đánh giá phương pháp có thể là xếp hạng giữa các tác động của phương pháp (tức là thang điểm năm cấp) hoặc một tuyên bố tuyệt đối, ước tính kích thước của các sửa đổi hoặc các số liệu khác nhau, chẳng hạn như dòng mã, điểm chức năng hoặc điểm đối tượng

Hầu hết các phương pháp phân tích kiến trúc được xem xét sử dụng các phươngpháp Các thực tiễn hiện có với các phương pháp được hệ thống hóa trong Các phương pháp là một cách tốt để tổng hợp các diễn giải riêng lẻ về chất lượng phần mềm thành một quan điểm chung Quan điểm này cụ thể hơn định nghĩa chung về chất lượng phần mềm và nó cũng kết hợp các chi tiết cụ thể của một hệ thống sẽ được phát triển

Phương pháp là một tập hợp các ứng dụng hoặc sửa đổi giả định của hệ thống Các sửa đổi có thể là một sự thay đổi đối với cách một hoặc nhiều thành phần thực hiện một hoạt động được giao, bổ sung một thành phần để thực hiện một số hoạt động, bổ sung kết nối giữan thành phần hiện có hoặc kết hợp các yếu tố này Trong việc tạo và tổ chức các phương pháp, điều quan trọng là tất cả các vai trò liên quan đến hệ thống đó phải được xem xét vì các quyết định thiết kế có thể được

Trang 11

đưa ra để phù hợp với bất kỳ vai trò nào trong số này Các vai trò khác nhau đại diện các bên liên quan đến một hệ thống Các bên liên quan như vậy có thể là người dùng cuối, người chịu trách nhiệm thực thi phần mềm; quản trị viên hệ thống, người chịu trách nhiệm quản lý kho dữ liệu được sử dụng bởi hệ thống; Nhà phát triển, người chịu trách nhiệm sửa đổi các chức năng thời gian chạy của

hệ thống và tổ chức chịu trách nhiệm phê duyệt các yêu cầu mới

2.4 Khung mô tả và so sánh các phương pháp phân tích

Một khuôn khổ để trình bày và so sánh phân tích SA được mô tả và thúc đẩy

bởi các khái niệm chính đã nêu ở trên và đặc tính của phương pháp luận Các phương pháp bao gồm một bộ sưu tập các kỹ thuật được xác định trước và có tổ chức Tuy nhiên, ngoài một tập hợp các kỹ thuật, một phương pháp nên bao gồm một set các quy tắc thiết lập cách tiến hành một hoạt động có mục tiêu chính xác liên quan đến kết quả cần đạt được Các quy tắc nêu rõ bởi ai, theo thứ tự nào và theo cách nào các kỹ thuật được sử dụng để hoàn thành mục tiêu phương pháp

Mục tiêu của các phương pháp cụ

thể

Mục tiêu cảu phương pháp cụ thể là gì ?

Kỹ thuật và đánh giá Những kỹ thuật đánh giá nào được bao

gồm trong phương pháp?

Thuộc tính và chất lượng Thuộc tính và chất lượng nào và bao

nhiêu thuộc tính chất lượng là phương pháp có đánh giá cụ thể không ?

tâm của các phương pháp phân tích?Các giai đoạn phát triển SA là gì?

các công nghệ thực tiễn chưa?

Các yếu tố khung để mô tả và so sánh các phương pháp phân tích

3 Tổng quan và các phương pháp phân tích

3.1 Phương pháp phân tích kiến trúc dựa trên phương pháp (SAAM)

SAAM xuất hiện vào năm 1993, tương ứng với xu hướng hiểu rõ hơn về các khái niệm kiến trúc chung, làm cơ sở cho bằng chứng rằng một hệ thống phần mềm đáp ứng nhiều hơn là chỉ các yêu cầu chức năng Do đó, trong giai đoạn đầu

Trang 12

phát triển của một hệ thống, việc sửa chữa các lỗi kiến trúc được phát hiện bởi phân tích vẫn có thể thực hiện được mà không gây ra chi phí quá cao Các hoạt động của phương pháp chính được trình bày trong một bài viết trong đó các kiến trúc giao diện người dùng khác nhau được đánh giá vềkhả năng sửa đổi.

Mục tiêu cụ thể Mục tiêu của SAAM là xác minh các giả định và nguyên tắc

kiến trúc cơ bản so với các tài liệu mô tả các thuộc tính mong muốn của ứng dụng Ngoài ra, phân tích cung cấp một đóng góp để đánh giá các rủi ro vốn có của kiến trúc SAAM kiểm tra kiến trúc tập trung vào các điểm rắc rối tiềm ẩn, chẳng hạn như xung đột yêu cầu hoặc đặc điểm kỹ thuật thiết kế không đầy đủ từ quan điểm của một bên liên quan cụ thể Khả năng của SAAM để đánh giá sự phù hợp của kiến trúc đối với các thuộc tính mong muốn của một hệ thống cụ thể cũng có thể được sử dụng để so sánh các kiến trúc khác nhau

Kỹ thuật đánh giá Các phương pháp đại diện cho nền tảng để làm sáng tỏ các

thuộc tính của SA Chúng minh họa các loại hoạt động mà hệ thống phải hỗ trợ và các loại thay đổi dự kiến sẽ được thực hiện cho hệ thống Trong quá trình phân tích, nó được xác định xem một phương pháp có yêu cầu sửa đổi kiến trúc hay không Các phương pháp không yêu cầu sửa đổi được gọi là trực tiếp và những phương pháp yêu cầu sửa đổi được gọi là gián tiếp

Các thuộc tính chất lượng Đặc điểm cơ bản của phương pháp này là cụ thể hóa

bất kỳ thuộc tính chất lượng nào dưới dạng phương pháp Tuy nhiên, nó được coi

là khả năng sửa đổi vẫn làthuộc tính q uality được SAAM phân tích

Trang 13

Sự tham gia của các bên liên quan SAAM hài hòa các lợi ích khác nhau của

các nhóm bên liên quan, do đó thiết lập một sự hiểu biết chung về SA làm cơ sở cho các quyết định sau này

Mô tả SA Phương pháp này được áp dụng cho phiên bản cuối cùng của SA

nhưng trước khi thiết kế chi tiết Mô tả về SA phải ở dạng dễ hiểu bởi tất cả các bên liên quan Chức năng, cấu trúc và phân bổ là ba quan điểm được xác định để

mô tả SA Chức nănglà những gì hệ thống làm Một từ vựng nhỏ và đơn giản được

sử dụng để mô tả các cấu trúc cho một mức độ hiểu biết chung và so sánh các kiến trúc khác nhau SA nên được trình bày dưới dạng biểu diễn tĩnh (hệ thống) được điều này, các phương pháp được cân nhắc về tầm quan trọng tương đối của chúng Trọng số này sau đó được sử dụng để xác định đánh giá tổng thể về các kiến trúc ứng viên

Giải thích kết quả Tương tác cao của các phương pháp không liên quan có thể

cho thấy sự tách biệt chức năng kém Lượng tương tác phương pháp có liên quan đến các số liệu như độ phức tạp của cấu trúc, khớp nối và sự gắn kết và do đó, tương quan với số lượng khuyết điểm trong sản phẩm cuối cùng SAAM không thểđưa ra các thước đo hoặc số liệu chính xác về thể lực Kết quả là một tập hợp các

số liệu nhỏ cho phép so sánh theo cơ sở phương pháp của SA cạnh tranh

Khả năng tái sử dụng cơ sở kiến thức hiện có SAAM không xem xét vấn đề này

Đầu vào và hoạt động của SAAMCS

3.2 Phương pháp phân tích kiến trúc phần mềm cho sự tiến hóa và khả năng tái sử dụng (SAAMER)

+ Mục tiêu cụ thể: Từ quan điểm của hai thuộc tính chất lượng cụ thể, sự tiến

hóa và khả năng tái sử dụng, SAAM được mở rộng trong SAAMER [41]

Trang 14

SAAMER gợi ý tốt hơn cách một hệ thống có thể hỗ trợ từng mục tiêu chất lượng hoặc mức độ rủi ro cho sự tiến hóa hoặc cách tái sử dụng nó.

+ Kỹ thuật đánh giá: Các phương pháp là động lực chính để đánh giá các lĩnh

vực khác nhau của SA Chúng mô tả một chức năng quan trọng mà hệ thống phải

hỗ trợ hoặc nhận ra nơi hệ thống có thể cần được thay đổi theo thời gian Các phương pháp được phát triển dựa trên các mục tiêu kiến trúc và của các bên liên quan và xem xét các mục đích sử dụng cơ bản của hệ thống Các phương pháp và quan điểm cấu trúc có hiệu quả trong việc xác định các thành phần cần được sửa đổi hoặc hữu ích cho các hoạt động bảo trì phòng ngừa và thích ứng

+ Các thuộc tính chất lượng: Sự tiến hóa và khả năng tái sử dụng được xem xét

Evolution tích hợp các mục tiêu chất lượng mới (khả năng bảo trì và khả năng sửa đổi) thu được từ các chuyên gia miền

Sự tham gia của các bên liên quan tương tự như SAAM Ngoài ra, hai loại nguồn thông tin, những thay đổi cần thiết và kinh nghiệm của các chuyên gia tên miền, được xem xét

Mô tả SA SAAMER coi các quan điểm kiến trúc sau đây là rất quan trọng: tĩnh, bản đồ, động và tài nguyên Chế độ xem tĩnh tích hợp và mở rộng SAAM để giải quyết việc phân loại và khái quát hóa các thành phần và chức năng của hệ thống và các kết nối giữa các thành phần Các phần mở rộng này tạo điều kiện thuận lợi cho việc ước tính chi phí hoặc nỗ lực cần thiết để thực hiện các thay đổi Quan điểm động phù hợp cho việc đánh giá khía cạnh hành vi, để xác nhận sự kiểm soát và giao tiếp được xử lý theo cách mong đợi Việc ánh xạ giữa các thành phần và chức năng có thể tiết lộ các khía cạnh gắn kết và khớp nối của một hệ thống

Hoạt động của phương pháp SAAMER cung cấp một khuôn khổ các hoạt độnghữu ích cho quá trình phân tích Khung này bao gồm bốn hoạt động: thu thập thôngtin về các bên liên quan, SA, chất lượng và phương pháp; mô hình hóa các hiện vật

AR có thể sử dụng được; phân tích; đánh giá Hai hoạt động cuối cùng tương tự như SAAM Tuy nhiên, trong giai đoạn phát triển phương pháp của SAAMER, một câu trả lời thực tế cho câu hỏi liên quan đến thời điểm ngừng tạo phương phápđược đưa ra Hai kỹ thuật được áp dụng ở đây Đầu tiên, tạo phương pháp gắn chặt với các loại mục tiêu khác nhau: các bên liên quan, kiến trúc và chất lượng Dựa trên các mục tiêu và kiến thức của các chuyên gia về lĩnh vực, các phương pháp được xác định và phân nhóm để đảm bảo rằng mỗi mục tiêu được bao phủ tốt Kỹ thuật thứ hai được áp dụng để xác nhận sự cân bằng của các phương pháp liên

Trang 15

quan đến mục tiêu là triển khai chức năng chất lượng Từ các mục tiêu của các bên liên quan và kiến trúc đến các thuộc tính chất lượng, một loạt các ma trận được tạo

ra để làm thế nào các sức mạnh quan hệ Cuối cùng, các thuộc tính chất lượng được dịch thành các phương pháp để tiết lộ phạm vi bảo hiểm của từng phương pháp Một yếu tố mất cân bằng sau đó được tính toán cho mỗi thuộc tính chất lượng bằng cách chia phạm vi bảo hiểm cho mức độ ưu tiên của chất lượng Nếu thực tế hoặc nhỏ hơn 1, cần phát triển nhiều phương pháp hơn để giải quyết thuộc tính phù hợp với các bên liên quan, SA và tầm quan trọng của chất lượng

+ Giải thích kết quả: Phân tích tương tác phương pháp được coi là một bước

quan trọng cung cấp kết quả phân tích Mức độ tương tác cao có thể chỉ ra rằng một thành phần bị cô lập kém Tuy nhiên, quan điểm SA có thể cho thấy đây chỉ là bản chất của một mô hình cụ thể

Khả năng tái sử dụng cơ sở kiến thức hiện có SAAMER không xem xét vấn đề này

Phương pháp này đã được áp dụng cho một hệ thống phần mềm viễn thông

3.3 Tái cấu trúc kiến trúc

Sự đóng góp của phương pháp này không chỉ trong thiết kế kiến trúc mà còn trong việc đánh giá dựa trên phương pháp về chất lượng phần mềm của kiến trúc chi tiết của một hệ thống

Các kỹ thuật đánh giá bao gồm Bốn kỹ thuật khác nhau để đánh giá các thuộc tính chất lượng được xác định: phương pháp, mô phỏng, mô hình toán học và lý luận dựa trên kinh nghiệm Đối với mỗi thuộc tính chất lượng, kỹ thuật phù hợp được chọn Các phương pháp được khuyến nghị cho các thuộc tính chất lượng của

sự phát triển, chẳng hạn như khả năng bảo trì và khả năng tái sử dụng, được minh họa trong bài báo Các phương pháp được chọn cụ thể hóa ý nghĩa thực tế của thuộc tính (tức là, các phương pháp nắm bắt những thay đổi điển hình trong các yêu cầu có thể chỉ định khả năng bảo trì) Hiệu suất của kiến trúc trong bối cảnh được xác định bởi từng phương pháp riêng lẻ cho một thuộc tính chất lượng được đánh giá bằng phân tích Mô phỏng hoàn thành cách tiếp cận dựa trên phương pháp, hữu ích để đánh giá chất lượng phần mềm hoạt động như hiệu suất hoặc khả năng chịu lỗi Các mô hình toán học cho phép đánh giá tĩnh các mô hình thiết kế kiến trúc và là một giải pháp thay thế cho mô phỏng vì cả hai phương pháp này chủyếu phù hợp để đánh giá chất lượng phần mềm vận hành Để đánh giá chất lượng phần mềm hoạt động, các model toán học tồn tại được phát triển bởi các cộng đồngnghiên cứu khác nhau

Ngày đăng: 17/05/2023, 17:32

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w