1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Kiến trúc phần mềm: Chương 1 - TS. Nguyễn Văn Hiệp

29 12 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

Định dạng
Số trang 29
Dung lượng 167,91 KB

Nội dung

Bài giảng Kiến trúc phần mềm - Chương 1: Tổng quan về kiến trúc phần mềm cung cấp cho người học các kiến thức: Định nghĩa SA, một số thuật ngữ về SA, kiến trúc và các thuộc tính chất lượng, các thuộc tính chất lượng (Quality attributes), tính sẵn sàng để dùng được (Availability), tính dễ sử dụng (Usability),... Mời các bạn cùng tham khảo.

Chương TỔNG QUAN VỀ KIẾN TRÚC PHẦN MỀM 1.1 Vài ý ban ₫ầu 1.2 Định nghĩa SA 1.3 Một số thuật ngữ SA 1.4 Kiến trúc thuộc tính chất lượng 1.5 Các thuộc tính chất lượng (Quality attributes) 1.6 Tính sẵn sàng ₫ể dùng ₫ược (Availability) 1.7 Tính dễ sử dụng (Usability) 1.8 Tính hiệu chỉnh (Modifiability) 1.9 Hiệu suất (Performance) 1.10 An ninh (Security) 1.11 Tính kiểm thử (Testability) Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide Tài liệu tham khảo ‰ ‰ ‰ Bất kỳ tài liệu có liên quan ₫ến kiến trúc phần mềm http://www.users.abo.fi/lpetre/SA10 wikipedia Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.1 Vài ý ban ₫ầu ‰ ‰ ‰ ‰ Thuật ngữ “kiến trúc” (architecture) ₫ã có từ lâu lĩnh vực xây dựng ₫ể miêu tả cấu trúc tổng quát tòa nhà Thuật ngữ “máy tính” (computer), “phần cứng” (hardware) ₫ã xuất vào năm 1940 ₫ể miêu tả máy tính số, loại thiết bị tổng quát hóa Để miêu tả lĩnh vực máy tính, người ta dùng thuật ngữ hardware software Thuật ngữ “phần cứng” (hardware) ₫ược dùng ₫ể miêu tả vấn ₫ề liên quan ₫ến việc xây dựng máy tính linh kiện, bảng mạch Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.1 Vài ý ban ₫ầu ‰ ‰ ‰ ‰ ‰ Thuật ngữ “kiến trúc phần cứng máy tính” (computer hardware architecture) ₫ược dùng ₫ể miêu tả cấu trúc luận lý phần cứng máy tính gồm phần tử chức nào, chúng liên hệ với Các máy tính ₫ều ₫ược chế tạo theo kiến trúc phần cứng rõ ràng xác ₫ịnh Thuật ngữ “phần mềm” (software) ₫ể nói chương trình máy tính Thuật ngữ “Kiến trúc phần mềm” (software architecture) ₫ược dùng ₫ể miêu tả cấu trúc luận lý chương trình gồm phần tử chức nào, chúng liên hệ với Hiện nay, kiến trúc phần mềm chưa hồn thiện kiến trúc phần cứng máy tính Lý kỹ nghệ phần mềm mẽ ₫ặc thù Tuy vậy, kinh tế người phụ thuộc nhiều vào sản phẩm phần Môn : Kiến trúc phần mềm Khoa Khoa học & Kỹ thuật Máy tính mềm Trường ĐH Bách Khoa Tp.HCM © 2015 Chương : Tổng quan kiến trúc phần mềm Slide 1.1 Vài ý ban ₫ầu SA (Software architecture) nhắm vào ? ‰ Độ phức tạp phần mềm ngày gia tăng ‰ Chi phí phát triển phần mềm lớn : hàng trăm/hàng ngàn năm công nhân ‰ Nhiều hệ thống phần mềm phức tạp tòa nhà chọc trời ‰ Thiết kế phần mềm vượt xa kiến thức giải thuật cấu trúc liệu Thêm số vấn ₫ề thiết kế phần mềm lớn, ₫ó ta cần có cấu trúc tổng thể hệ thống phần mềm cần xây dựng bảo dưỡng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.1 Vài ý ban ₫ầu Việc xây dựng hệ thống phần mềm ‰ tiêu chuẩn xây dựng ₫ã thay ₫ổi : ƒ phần cứng máy tính ₫ược cải tiến, mua ₫ược dễ dàng ƒ nhu cầu phần mềm ứng dụng bùng nổ ƒ cách thức xác ₫ịnh yêu cầu cho sản phẩm việc thực phần mềm nhanh chóng, giá rẻ ƒ sản phẩm phần mềm cũ dùng thị trường Các phần mềm phô bày nhiều yếu ₫iểm chất lượng ƒ Tiêu chuẩn xây dựng phần mềm : phần mềm phải có SA tốt, dễ hiểu người Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.2 Định nghĩa SA ‰ ‰ ‰ ‰ SA nói kiến trúc cấp cao hệ thống phần mềm, kiến thức việc tạo dựng lập tài liệu cấu trúc Có thể có nhiều kiến trúc khác phù hợp cho phần mềm cần xây dựng, kiến trúc gồm nhiều thành phần phần mềm, mối quan hệ chúng, tính chất thành phần mối quan hệ SA cung cấp kế hoạch thiết kế hệ thống phần mềm (bản sơ ₫ồ tổng quát - blueprint, ngầm chứa ý ₫ịnh phần mềm) SA cung cấp thông tin trừu tượng giúp việc quản lý ₫ộ phức tạp hệ thống phần mềm dễ dàng Kiến trúc phần mềm bị hạn chế : ƒ thiếu hụt cách thức chuẩn hóa ₫ể miêu tả kiến trúc ƒ thiếu hụt phương pháp phân tích ₫ể dự ₫ốn kiến trúc tạo ₫ược thực mà thỏa mãn tốt yêu cầu phần mềm Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.2 Định nghĩa SA SA kế hoạch thiết kế ‰ kế hoạch kiến trúc mà diễn tả : ƒ phần tử hệ thống ƒ cách chúng làm phù hợp lẫn ƒ cách chúng làm việc ₫ể ₫áp ứng yêu cầu phần mềm ‰ ₫ược dùng tài liệu thiết kế trình phát triển phần mềm ‰ ₫ược dùng ₫ể dàn xếp, thương lượng yêu cầu hệ thống phần mềm ‰ ₫ược dùng ₫ể thiết lập dự tính với khách hàng, người quản lý/tiếp thị Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.2 Định nghĩa SA SA kế hoạch thiết kế ‰ nhà quản lý dự án dùng kế hoạch thiết kế ₫ầu vào cho kế hoạch dự án phần mềm Phân tích lĩnh vực, phân tích yêu cầu, phân tích rủi ro Thiết kế Kiến trúc Thiết kế Kiến trúc phần cứng Thiết kế chi tiết, coding, tích hợp modules, kiểm thử Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 1.2 Định nghĩa SA SA trừu tượng ‰ SA phân rã rõ ràng hệ thống phần mềm ƒ Thật vậy, chi tiết thực ₫ược trừu tượng hóa, bao ₫óng vào phần tử SA ‰ SA nên miêu tả phần tử mức vĩ mô cao nhất, gồm thông tin : ƒ cách thức phần tử ₫áp ứng yêu cầu ƒ tương tác chúng ƒ phụ thuộc phần tử vào thi hành Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 10 1.2 Định nghĩa SA Các dung hòa thiết kế ‰ giải duyết dung hịa dẫn ₫ến : ƒ việc hi sinh số thông số chất lượng mong muốn, thí dụ ₫ộ ₫ơn giản ƒ Việc phải thỏa hiệp số yêu cầu : ƒ thương lượng lại ƒ giảm ₫ộ khả chuyển, ₫ộ dễ thay ₫ổi Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 11 1.2 Định nghĩa SA Mục ₫ích SA ‰ Ta nên cố gắng tạo ₫ược kiến trúc tốt ₫ể : ‰ hệ thống ₫ược thực theo kiến trúc thỏa ₫ược yêu cầu kinh phí tài nguyên ₫ề ‰ việc thực hệ thống theo kiến trúc khả thi ‰ SA không ₫ủ tốt không rõ ràng, không dễ hiểu hay không quán hay khơng tồn diện Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 12 1.3 Một số thuật ngữ SA ‰ ‰ Mẫu/Kiểu kiến trúc (Architectural style/pattern) : ƒ ₫ịnh nghĩa kiểu phần tử tương tác chúng ƒ ₫ôi ₫ịnh nghĩa thêm việc ánh xạ chức cho phần tử kiến trúc Kiến trúc tham khảo/kiến trúc ₫ặc thù cho lĩnh vực (Reference/domain specific architecture) ƒ ₫ịnh nghĩa kiểu phần tử tương tác chúng ƒ kiến trúc ₫ược ứng dụng lĩnh vực cụ thể ƒ Định nghĩa cách thức mà chức lĩnh vực ₫ược ánh xạ vào phần tử kiến trúc Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 13 1.3 Một số thuật ngữ SA ‰ Kiến trúc cho họ ứng dụng tương tự (Product-line architecture) ƒ áp dụng cho tập phần mềm nội công ty ƒ ₫ịnh nghĩa kiểu phần tử, cách chúng tương tác nhau, cách chức ₫ược ánh xạ vào chúng ƒ ₫ịnh nghĩa vài instance cụ thể phần tử kiến trúc tương ứng ƒ Td phần tử báo lỗi thường giống nhiều ứng dụng nhóm Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 14 1.3 Một số thuật ngữ SA ‰ Kiến trúc phần mềm (Software architecture) ƒ áp dụng cho hệ thống phần mềm cụ thể ƒ ₫ịnh nghịa kiểu phần tử, cách chúng tương tác lẫn nhau, cách chức hệ thống ₫ược ánh xạ vào chúng ƒ miêu tả instance mà tồn hệ thống phần mềm ƒ Có chứa thơng tin chi tiết cần cho việc thiết kế hệ thống phần mềm Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 15 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 1.3 Một số thuật ngữ SA Term Defines element Defines the mapping of types and how functionality to they interact architecture elements Defines instances of architecture elements An architectural style yes sometimes no A reference architecture yes yes no A product-line architecture yes yes sometimes A software architecture yes yes yes Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 16 1.3 Một số thuật ngữ SA ADL (architectural description language) ‰ ‰ ‰ ‰ ‰ cung cấp ký hiệu miêu tả phần tử kiến trúc kiểu phần tử, instance kiểu phần tử, nối kết phần tử ₫ể tạo kiến trúc hoàn chỉnh… ₫ược dùng chủ yếu cộng ₫ồng người nghiên cứu Về lý thuyết : kiến trúc sư dùng ADL ₫ể ₫ặc tả mức kiến trúc phần mềm phần tử ₫ược miêu tả slide trước Trong thực tiển : ADL hỗ trợ ₫ầy ₫ủ việc ₫ặc tả mức kiến trúc phần mềm Một vài ADL có tool kèm theo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 17 Như : ‰ cần nghiên cứu kiến trúc phần mềm : ƒ Xã hội có quan hệ mật thiết với phần mềm máy tính ƒ Các hệ thống phần mềm ₫ược sử dụng phức tạp ‰ SA nhắm tới ₫ộ phức tạp hệ thống cần xây dựng ‰ Mục ₫ích mơm học : ƒ Hiểu rõ SA gì? ƒ SA lĩnh vực cộm ƒ Triết lý : không nên tập trung thiết kế kiến trúc lý tưởng, mà nên tập trung vào việc xem xét cẩn thận dung hòa ƒ Chúng ta học cách nghiên cứu ₫ánh giá kiến trúc khác nhau, cách chọn chúng làm kiến trúc phần mềm cần xây dựng Môn : Kiến trúc phần mềm Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Chương : Tổng quan kiến trúc phần mềm Slide 18 1.3 Một số thuật ngữ SA Chu kỳ ABC ‰ SA kết ảnh hưởng xã hội, nghiệp vụ, kỹ thuật ‰ SA ảnh hưởng lại ảnh hưởng xã hội, nghiệp vụ, kỹ thuật ‰ Như vậy, SA ảnh hưởng ₫ến SA tương lai ‰ Đây chu kỳ ảnh hưởng ABC : Architecture Business Cycle Organizational goals → requirements → SA → systems → future new organizational goals → … Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 19 1.3 Một số thuật ngữ SA Các người liên quan (Stakeholders) ‰ Kiến trúc phần mềm bị ảnh hưởng nhiều người liên quan ƒ Nhà quản lý : giá thấp, cố gắng sử dụng triệt ₫ể công nhân ƒ Tiếp thị : giá thấp, nhanh chóng phân phối cho thị trường ƒ Khách hàng : thời gian phân phối nhanh, không thay ₫ổi tường xuyên ƒ Ngưới dùng ₫ầu cuối : hành vi, hiệu suất, an ninh… ƒ Bảo trì : tính thay ₫ổi ₫ược Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 20 1.5 Các thuộc tính chất lượng (Quality attributes) Tạo kịch QA ‰ cần tạo nhiều yêu cầu QA có ý nghĩa cho hệ thống phần mềm ‰ bước thu thập yêu cầu : ₫iểm bắt ₫ầu, chưa ₫ủ ₫ể ghi nhận ‰ ta tạo kịch QA cụ thể : ƒ ₫ầu tiên tạo kịch tổng quát từ bảng ƒ Từ kịch tổng quát ta rút ₫ược kịch ₫ặc thù cho hệ thống Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 29 1.6 Tính sẵn sàng ₫ể dùng ₫ược (Availability) ‰ ‰ ‰ ‰ tính dễ ₫ọc ₫ể dùng liên quan ₫ến lỗi hệ thống hậu Thất bại (Failure) ƒ ₫ộ lệch so với hành vi chức ₫ược kỳ vọng ƒ quan sát ₫ược người dùng hệ thống Failure vs fault ƒ Fault (khiếm khuyết): kiện mà có thề gây lỗi ƒ Lỗi : trạng thái hệ thống bên không ₫úng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 30 1.6 Tính sẵn sàng ₫ể dùng ₫ược (Availability) ‰ Availability liên quan ₫ến : ƒ cách mà thất bại thống ₫ược phát ƒ thất bại hệ thống xãy thường xuyên ƒ xảy thất bại xảy ƒ hệ thống ₫ược phép hoạt ₫ộng ƒ Khi thất bại xảy an toàn ƒ Cách ngăn thất bại ƒ Loại cảnh báo ₫ược ₫òi hỏi thất bại xảy Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 31 1.6 Tính sẵn sàng ₫ể dùng ₫ược (Availability) Sửa chữa bảo trì : ‰ thời gian sửa chữa : cho ₫ến thất bại khơng cịn thấy ‰ tự sửa chữa ‰ bảo trì : thời gian chết ₫ược lập lịch ‰ xác xuất : Mean time to fail/(mean time to fail+mean time to repair) Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 32 1.6 Tính sẵn sàng ₫ể dùng ₫ược (Availability) Kịch tổng quát tính Availability : Source Internal/external to system Stimulus Fault: omission, crash, timing, response Artifact System’s processors, communication channels, persistent storage, processes Environment Normal operation or degraded mode Response Detect event and record it/notify appropriate parties/disable event sources causing faults/failures/ be unavailable for an interval/ continue Response measure Time interval of available system, availability time, time interval of degraded mode, repair time Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 33 1.7 Tính dễ sử dụng (Usability) ‰ ‰ ‰ Liên quan ₫ến : ƒ việc user thực tác vụ mong muốn dễ dàng ƒ hệ thống cung cấp kiểu hỗ trợ cho user vấn ₫ề tính dễ sử dụng thường ₫ược khám phá xây dựng prototype kiểm thử ₫ộ chấp nhận người dùng Ở bước sau qui trình phát triển phần mềm chi tiết kiến trúc nhu cầu sửa chữa có : lúc chi phí ₫ắt nhiều Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 34 1.7 Tính dễ sử dụng (Usability) ‰ Các lĩnh vực tính dễ sử dụng ƒ nghiên cứu ₫ặc tính hệ thống ƒ việc dùng hệ thống cách hiệu ƒ tối thiểu hóa hệ lụy lỗi ƒ ₫iều hợp hệ thống với nhu cầu người dùng ƒ làm tăng ₫ộ tin cậy thỏa mãn người dùng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 35 1.7 Tính dễ sử dụng (Usability) Kịch tổng quát tính dễ sử dụng : Source End user Stimulus Artifact Wants to learn system features, use system efficiently, minimize impact of errors, adapt system, feel comfortable System Environment At runtime and configure time Response Various Response measure Task time, number of errors, number of problems solved, user satisfaction, user knowledge gain, ratio of successful operations to total operations, amaount of time/data lost 55 Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 36 1.7 Tính dễ sử dụng (Usability) Đáp ứng với kịch tính dễ sử dụng ‰ Hệ thống cung cấp ₫áp ứng ₫ể hỗ trợ : ƒ việc nghiên cứu ₫ặc tính hệ thống ƒ việc dùng hệ thống cách hiệu ƒ việc tối thiểu hóa hệ lụy lỗi ƒ việc thích nghi với hệ thống ƒ việc cảm nhận ₫ộ tiện lợi Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 37 1.8 Tính hiệu chỉnh (Modifiability) ‰ ‰ liên quan ₫ến chi phí thay ₫ổi phần mềm ƒ Cái thay ₫ổi artifact? ƒ thay ₫ổi ₫ược làm Trong ₫ặc tả thay ₫ổi ƒ thực phải ₫ược thiết kế, thực, kiểm thử, phân phối lại ƒ tất chi phí thời gian tiền bạc ƒ thời gian tiền bạc có thề ₫ược ₫o lường Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 38 1.8 Tính hiệu chỉnh (Modifiability) ‰ Cái thay ₫ổi artifact? Bất kỳ khía cạnh hệ thống : thêm/bớt/cập nhật ƒ chức mà hệ thống thực ƒ tảng mà hệ thống chạy ₫ó : liên quan ₫ến tính khả chuyển (HW, OS, MW) ƒ mơi trường hệ thống : hệ thống khác tương tác với mình, giao thức tương tác ƒ tiêu chất lượng : Reliability, performance, modifiability ƒ khả : số user ₫ược hỗ trợ, số chức ₫ược hỗ trợ Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 39 1.8 Tính hiệu chỉnh (Modifiability) ‰ ‰ thay ₫ổi ₫ược làm ai? ƒ bước thực : thay ₫ổi mã nguồn ƒ thời ₫iểm dịch ƒ thời ₫iểm tích hợp phần mềm ƒ thời ₫iểm thiết lập cấu hình ƒ thời ₫ểm thi hành developers, end users, system administrator Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 40 1.8 Tính hiệu chỉnh (Modifiability) Kịch tổng quát tính Modifiability : Source End user, developer, system administrator Stimulus Wishes to add/delete/modify/vary functionality, QA, capacity, etc Artifact System UI, platform, environment, system that interoperates with target system Environment Runtime, compile time, build time, design time Response Locates place in architecture to modify, makes modification w/o affecting other func., tests modif., deploys modif Response measure Costs in terms of number of elements affected, effort, money; extent to which this affects other QAs, functions Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 41 1.9 Hiệu suất (Performance) ‰ ‰ ‰ ‰ liên quan ₫ến yếu tố thời gian : hệ thống tốn lâu ₫ể ₫áp ứng kiện xảy kiện : Interrupts, messages, requests from users, passage of time Độ phức tạp : số nguồn kiện cách thức xảy Cách thức kiện xảy : ƒ ₫ịnh kỳ : 10ms, thường thấy hệ thống real-time ƒ Stochastic : xãy theo phân bố xác xuất xác ₫ịnh ƒ lác ₫ác (Sporadical) Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 42 1.9 Hiệu suất (Performance) ‰ Đáp ứng hệ thống : ƒ Độ trễ (Latency) : thời gian từ lúc kích thích xảy ₫ến lúc hệ thống ₫áp ứng ƒ hạn cuối (Deadline) việc xử lý ƒ thông lượng hệ thống (Throughput) : số giao tác mà hệ thống xử lý/giây ƒ bất an ₫áp ứng : thay ₫ổi ₫ộ trễ ₫áp ứng ƒ số kiện không ₫ược xử lý : hệ thống bận ƒ Mất liệu : hệ thống bận Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 43 1.9 Hiệu suất (Performance) Kịch tổng quát tính Modifiability : Source Independent sources (possibly from within system) Stimulus Periodic or stochastic or sporadic events occur Artifact System Environment Normal mode, overload mode Response Processes stimuli; changes level of service Response measure Latency, deadline, throughput, jitter, miss rate, data loss Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 44 1.10 An ninh (Security) ‰ ‰ ₫ộ ₫o lực hệ thống việc ƒ kháng cự việc dùng bất hợp pháp ƒ cung cấp dịch vụ cho người dùng hợp pháp Tấn công : cố gắng vi phạm tính an ninh ƒ cố gắng bất hợp pháp ₫ể truy xuất liệu/dịch vụ ƒ cố gắng bất hợp pháp ₫ể thay ₫ổi liệu ƒ cố gắng buộc hệ thống từ chối dịch vụ cho người dùng hợp pháp Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 45 1.10 An ninh (Security) ‰ thí dụ cơng : ƒ trộm tiền phương tiện ₫iện tử ƒ trộm số card tài khoản ngân hàng (credit) ƒ phá hủy file hệ thống máy tính ƒ cơng kiểu từ chối dịch vụ virus, sâu máy tính Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 46 1.10 An ninh (Security) ‰ thành phần an ninh : ƒ từ chối : giao tác ₫ược từ chối bới phận ƒ bí mật : liệu/dịch vụ ₫ược bảo vệ từ việc truy xuất bất hợp pháp ƒ toàn vẹn : liệu/dịch vụ ₫ược cung cấp y kỳ vọng ƒ bảo hiểm : phận giao tác thật ƒ sẳn sàng dùng : hệ thống sẵn sàng cho việc dùng hợp pháp ƒ kiểm tra (Auditing) ƒ hệ thống lưu dấu hoạt ₫ộng ₫ể tái tạo lại chúng cần thiết Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 47 1.10 An ninh (Security) Kịch tổng quát tính an ninh : Source Artifact Individual/system: identity, internal/external, authorization, access Try to: display data, change/delete data, access system services, reduce availability System services, data within system Environment On/offline, (dis)connected, firewalled or open Response various Response measure various Stimulus Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 48 1.10 An ninh (Security) ‰ Đáp ứng kịch an ninh : ƒ xác nhận user ƒ ẩn thông tin nhận dạng user ƒ chặn/cho phép truy xuất liệu/dịch vụ ƒ thêm/bớt phép truy xuất liệu/dịch vụ ƒ ghi sổ việc truy xuất/cập nhật hay việc cố gắng chúng ƒ chứa liệu ₫ịnh dạng xác ₫ịnh ƒ nhận biết luật sử dụng/truy xuất ƒ thông tin cho user hệ thống khác ƒ hạn chế tính sẵn sàng dùng dịch vụ Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 49 1.10 An ninh (Security) ‰ Đo ₫áp ứng với kịch an ninh : ƒ Thời gian/nổ lực/tài nguyên ₫ể circumventing thành công ₫o lường an ninh ƒ Xác xuất phát công, nhận dạng kẻ công ƒ Tỉ lệ phần trăm dịch vụ dùng ₫ược có cơng DoS ƒ Phục hồi liệu/dịch vụ hệ thống ƒ Nới rộng liệu/dịch vụ bị hỏng hay việc truy xuất hợp pháp bị từ chối Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 50 1.11 Tính kiểm thử (Testability) ‰ ‰ ‰ SW phô bày khiếm khuyết dễ dàng lúc kiểm thử ƒ Lưu ý hoạt ₫ộng kiểm thử chiếm khoảng 40% chi phí phát triển tổng thể hệ thống phần mềm Xác xuất mà SW bị lỗi thi hành kiểm thử ƒ giả sử phần mềm có lỗi Các ₫ộ ₫o ₫áp ứng ƒ ₫ộ hiệu kiểm thử ƒ kiểm thử chấp nhận ₫ược tốn thời gian Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 51 1.11 Tính kiểm thử (Testability) ‰ ‰ Nó phải ƒ kiểm sốt ₫ược liệu nhập trạng thái bên thành phần ƒ quan sát ₫ược kết xuất Dụng cụ kiểm thử : phần mềm ₫ặc dụng ₫ược thiết kế ₫ể thực thi SW cần kiểm thử Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 52 1.11 Tính kiểm thử (Testability) Ai làm làm ? ‰ Ai kiểm thử : ƒ nhà phát triển, kiểm thử, xác thực, user khác ƒ ₫ây bước cuối chu kỳ phát triển SW ‰ kiểm thử : ƒ phận code SW ƒ bảng thiết kế ƒ hệ thống phần mềm tổng thể Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 53 1.11 Tính kiểm thử (Testability) Kịch tổng quát tính an ninh : Source Unit developer, increment integrator, system verifier, client acceptance tester, system user Stimulus Analysis, architecture, design, class, subsystem integration completed, system delivered Artifact Design part, code part, complete application Environment At design time, at development time, at compile time, at deployment time Response Provides access to state values; provides computed values; prepares test environment Response measure Percent executable statements executed, probability of failure if fault exists, time to perform tests, length of longest dependency chain in a test, length of time to prepare test environment Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 54 Các Stimuli thuộc tính chất lượng hệ thống : Availabiliy Unexpected event, nonoccurence of expected event Modifiability Request to add/delete/modify/vary functionality, QA, capacity, platform, etc Performance Periodic or stochastic or sporadic events occur Security Testability Usability Tries to: display data, change/delete data, access system services, reduce availability Analysis, architecture, design, class, subsystem integration completed, system delivered Wants to learn system features, use system efficiently, minimize impact of errors, adapt system, feel comfortable Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 55 1.12 Các khái niệm giao tiếp ‰ ‰ ‰ ‰ ‰ kịch tổng quát : cần làm cho người liên quan giao tiếp cộng ₫ồng dùng thuật ngữ riêng cho thuộc tính kích thích xảy chạy phần mềm hay trước ₫ó cơng việc kiến trúc sư : hiểu kích thích : ƒ diễn tả ocurence ƒ tích hợp kích thích khác ƒ ₫ộc lập quan hệ kích thích rõ ràng ƒ giai tiếp chúng với người liên quan ƒ dùng ngơn ngử thích hợp cho loại người liên quan khác Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 56 1.13 Kết chương ‰ Chương ₫ã giới thiệu số thuật ngữ, số khái niệm ban ₫ầu liên quan ₫ến kiến trúc phần mềm ₫ể chương sau chi tiết hóa Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 57 ... Tp.HCM © 2 015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 20 1. 4 Kiến trúc thuộc tính chất lượng ‰ ‰ Kiến trúc phần mềm phải thỏa mãn yêu cầu chức phần mềm Về chức phần mềm... © 2 015 Mơn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 56 1. 13 Kết chương ‰ Chương ₫ã giới thiệu số thuật ngữ, số khái niệm ban ₫ầu liên quan ₫ến kiến trúc phần mềm ₫ể chương. .. Tp.HCM © 2 015 Môn : Kiến trúc phần mềm Chương : Tổng quan kiến trúc phần mềm Slide 11 1. 2 Định nghĩa SA Mục ₫ích SA ‰ Ta nên cố gắng tạo ₫ược kiến trúc tốt ₫ể : ‰ hệ thống ₫ược thực theo kiến trúc

Ngày đăng: 08/05/2021, 13:30

TỪ KHÓA LIÊN QUAN