Bài giảng Kiến trúc phần mềm - Chương 2: Các tactic - Nguyễn Trung Hiệp
2.1 Định nghĩa thuật ngữ
2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng
2.3 Các tactics giải quyết tính dễ sử dụng (Usability)
2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability)
2.5 Các tactic giải quyết hiệu suất
2.6 Các tactic giải quyết an ninh
2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược
2.8 Kết chương
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc phần mềm - Chương 2: Các tactic - Nguyễn Trung Hiệp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc phần mềm - Chương 2: Các tactic - Nguyễn Trung Hiệp
an mạnh tới tiên ₫oán các thay ₫ổi chờ ₫ợi (ta dùng các thay ₫ổi này làm cơ sở cho việc phân rã). Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 35 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Duy trùy các interface luôn tồn tại Cú pháp của B phụ thuộc vào interface của A : duy trì interface của A sẽ làm B không thay ₫ổi. Sựổn ₫ịnh interface : tách interface với sự hiện thực nó Cách hiện thực tactic thêm interface thêm adapter cung cấp stub cho A Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 36 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Hạn chế các ₫ường liên lạc hạn chế số module dùng chung data với A (A cần thay ₫ổi) hạn chế số module mà dùng dữ liệu do A cung cấp hạn chế số module mà cung cấp dữ liệu cho A dùng. -> giảm ₫ược hiệu ứng lan truyền -sản xuất/tiêu dùng dữ liệu sẽ tạo ra sự phụ thuộc. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 37 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Dùng phần tử trung gian B phụ thuộc A theo các cách khác hơn ngữ nghĩa : có thể tạo ra phần tử trung gian ₫ể quản lý sự phụ thuộc data (cú pháp), dịch vụ (cú pháp), vị trí của A, sự tồn tại của A Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 38 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Trì hoản thời gian liên kết sự quyết ₫ịnh liên kết A vào hệ thống thực thi ở những thời ₫iểm khác nhau. Liên kết tại thời ₫iểm chạy : hệ thống ₫ã chuẩn bị ₫ể làm việc liên kết này. tất cả bước kiểm thử và phân tán ₫ã hoàn thành rồi hỗ trợ người dùng ₫ầu cuối/admin làm các thiết lập hay cung cấp input mà ảnh hưởng ₫ến hành vi. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 39 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Các tactic mà ảnh hưởng tại thởi ₫iểm load/chạy ₫ăng ký tại thời gian chạy : hoạt ₫ộng plug-and-play, nỗ lực hơn ₫ể quản lý việc ₫ăng ký file cấu hình : thiết lập các thông số tại thời ₫iểm bắt ₫ầu ₫a xạ : liên kết muộn các lời gởi thông ₫iệp Thay thế thành phần : liên kết tại thời ₫iểm load sự ₫ính vào các giao thức ₫ã ₫ịnh nghĩa : liên kết tại thời ₫iểm chạy các process ₫ộc lập. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 40 2.5 Các tactic giải quyết hiệu suất Mục tiêu : tạo ₫áp ứng với sự kiện tới hệ thống trong khoảng thời gian ràng buộc. event : ₫ơn hay dòng (stream) : thông báo ₫ến, hết giờ, sự thay ₫ổi trạng thái có ý nghĩa,... Độ trễ : khoảng thời gian từ lúc sự kiện xảy ra tới lúc có ₫áp ứng với nó. sự kiện ₫ến : hệ thống xử lý nó hay giam việc xử lý. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 41 2.5 Các tactic giải quyết hiệu suất Hiệu suất Các sự Xin tài nguyên Quản lý tài nguyên Trọng tài tài nguyên kiện tới Đã ₫áp ứng trong thời gian Chính sách lập lịch xác ₫ịnh Tăng hiệu quả tính Tạo sự ₫ồng thời Giảm chí phí tính Quản lý các copy Quản lý tốc ₫ộ event Tăng tài nguyên có sẵn Kiểm soát ần số lấy mẫu Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 42 2.5 Các tactic giải quyết hiệu suất Tactic xin tài nguyên Nguồn gốc của việc xin gài nguyên : dòng sự kiện tới Các tính chất xin : thời gian giữa các sự kiện trong dòng tài nguyên (request vào dòng thường xuyên ra sao) mỗi request dùng ₫ược bao nhiêu % của từng tài nguyên Tactic giảm ₫ộ trễ giảm tài nguyên cần dùng giảm số sự kiện ₫ược xử lý Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 43 2.5 Các tactic giải quyết hiệu suất Giảm số tài nguyên cần dùng gia tăng sự kiệu quả tính toán việc xử lý liên quan ₫ến giải thuật -> cải tiến giải thuật có thể trao ₫ổi tài nguyên với process khác giảm chi phí tính toán nếu không có request nào cần tài nguyên -> cần giảm thiểu nhu cầu tính toán của nó. loại bỏ các phần tử trung gian Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 44 2.5 Các tactic giải quyết hiệu suất Giảm số sự kiện ₫ược xử lý quản lý tốc ₫ộ xảy ra sự kiện : giảm tần số lấy mẫu cho việc giám sát các biến môi trường kiểm soát tần số lấy mẫu : nếu không cần kiểm soát sự xuất hiện của các sự kiện ₫ược tạo ra từ ngoài thì các request ₫ợi có thể ₫ược lấy mẫu ở tần số thấp hơn (có thể mất request) hạn chế thời gian thi hành : giới hạn cận trên thời gian thi hành ₫ược dùng cho mỗi sự kiện hạn chế kích thước hàng ₫ợi : kiểm soát số max các sự kiện ₫ến hàng ₫ợi. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 45 2.5 Các tactic giải quyết hiệu suất Quản lý tài nguyên tạo ra sự ₫ồng thời : xử lý các request ₫ồng thời các dòng sự kiện khác nhau ₫ược xử lý trên các thread khác nhau (tạo thêm thread khi cần) cân bằng tải duy trì nhiều copy của 1 dữ liệu và sự tính toán : cache và ₫ồng bộ hóa gia tăng tài nguyên sẳn sàng dùng : nếu các processor và mạng nhanh hơn, thì sẽ có thêm processor và bộ nhớ Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 46 2.5 Các tactic giải quyết hiệu suất Trọng tài phân xử tài nguyên Tranh chấp tài nguyên -> cần lập lịch dùng tài nguyên mục tiêu kiến trúc : hiểu các tính chất của mỗi việc dùng tài nguyên và chọn lựa lịch thích hợp hiểu tiêu chí có thể mâu thuẩn trong việc lập lịch và hiệu ứng của tactic ₫ược chọn chính sách lập lịch gán quyền ưu tiên dispatching Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 47 2.5 Các tactic giải quyết hiệu suất Lập lịch cho cái gì ? mạng, buffer, processor tiêu chí cạnh tranh nhau trong lập lịch dùng tài nguyên tối ưu ₫ộ quan trọng của request tối thiểu số tài nguyên ₫ược dùng tối thiểu ₫ộ trễ tối ₫a hiệu năng phòng ngừa tình trạng bảo hòa ₫ể ₫ảm bảo sự công bằng dispatching có thể xảy ra chỉ khi tài nguyên ₫ược gán ₫ang sẵn sàng pre-empty có thể xảy ra Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 48 2.5 Các tactic giải quyết hiệu suất Các chính sách lập lịch FIFO : Ok nếu tất cả request có cùng ₫ộ quan trọng và dùng cùng 1 khoảng thời gian thi hành. dựa vào quyền ưu tiên cố ₫ịnh. Quyền ưu tiên dựa vào : ₫ộ quan trọng ngữ nghĩa (₫ặc thù của lĩnh vực) ₫ều ₫ều tốc ₫ộ (stream tuần hòan, period 1 ngắn hơn) ₫ều ₫ều deadline (deadline thời gian thực, deadline 1 ngắn nhất dựa vào quyền ưu tiên ₫ộng round dobin deadline ngắn nhất ₫ược chọn ₫ầu tiên. lập lịch tĩnh Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 49 2.6 Các tactic giải quyết an ninh Mục tiêu : ngăn chặn tấn công, phát hiện tấn công, phục hồi sau tấn công Mổ xẻ sự phòng chống cho nhà cửa khóa cửa cảm biến ₫ối tượng di ₫ộng bảo hiểm Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 50 2.6 Các tactic giải quyết an ninh An ninh Hệ thống phát hiện, ngăn Ngăn chặn tấn công Phát hiện tấn công Phục hồi sau tấn công Tấn công chặn hay phục hồi Xác nhận user Phát hiện sự xâm nhập Nhận dạng sau tấn công Cho phép user Duy trì data mật Duy trì tính toàn vẹn Hạn chế bùng nỗ Phục hồi Audit trail Hạn chế truy xuất xem Availability Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 51 2.6 Các tactic giải quyết an ninh Ngăn chặn tấn công Xác nhận người dùng : dùng account, password, password chỉ dùng 1 lần, xác nhận số, id sinh trắc học. cho phép ngời dùng : dùng các mẫu kiểm soát việc truy xuất (ACL) duy trì ₫ộ mật dữ liệu : mã hóa dữ liệu và ₫ường liên lạc duy trì tính toàn vẹn : checksum, hash ₫ưa ₫ến help hạn chế sự bùng nổ : số dịch vụ hạn chế trên mỗi host hạn chế việc truy xuất : bức tường lửa, DMZ Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 52 2.6 Các tactic giải quyết an ninh Phát hiện tấn công hệ thống phát hiện sự xâm phạm so sánh mẫu lưu lượng trên mạng với database misuse -> mẫu ₫ược so sánh với các mẫu tấn công ₫ã biết trong quá khứ. bất thường -> mẫu ₫ược so với chính baseline quá khứ của nó thanh lọc : protocol, cờ TCP, kích thước payload, ₫ịa chỉ, chỉ số port. phải có : cảm biến ₫ể phát hiện tấn công, người quản lý việc liên hợp các cảm biến, database chứa sự kiện ₫ể phân tích, tool ₫ể phân tích và lập báo cáo offline, console kiểm soát ₫ể hiệu chỉnh các hoạt ₫ộng phát hiện xâm phạm Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 53 2.6 Các tactic giải quyết an ninh Các phần tử phát hiện sự xâm phạm cảm biến ₫ể phát hiện xâm phạm người quản lý việc liên hợp các cảm biến database chứa sự kiện ₫ể phân tích sau tool ₫ể phân tích và lập báo cáo offline console kiểm soát ₫ể hiệu chỉnh các hoạt ₫ộng phát hiện xâm phạm. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 54 2.6 Các tactic giải quyết an ninh Phục hồi sau khi bị tấn công các tactic ₫ể phục hồi trạng thái phục hồi về trạng thái nhất quán từ trạng thái không nhất quán : tactic giải quyết tính sẵn sàng ₫ể dùng copy dư thừa dữ liệu quản trị hệ thống : password, ACL, dịch vụ "domain name", dữ liệu cá nhân người dùng các tacitc ₫ể nhận dạng kẻ tấn công cho các mục ₫ích ngăn chặn và trừng phạt duy trì "audit trail" Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 55 2.6 Các tactic giải quyết an ninh Audi trail bản copy mỗi giao tác tác ₫ộng tới dữ liệu trong hệ thống + thông tin nhận dạng có thể dùng ₫ể theo dõi các hoạt ₫ộng của 1 kẻ tấn công hỗ trợ sự không thể từ chối : cung cấp sự hiển nhiên về 1 request cụ thể ₫ã ₫ược thực hiện. hỗ trợ việc phục hồi hệ thống các mục tiêu tấn công thông thường : nên ₫ược duy trì trong thứ tự tin cậy Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 56 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược mục tiêu : cho phép kiểm thử dễ dàng hơn khi 1 vài tăng cường về phần mềm ₫ã hoàn thành. việc tăng cường tính có thể kiểm thử ₫ược không phải quá lớn lao nhưng rất có giá trị : 40% chi phí phát triển phần mềm kiểm thử hệ thống ₫ang chạy (không phải ₫ang thiết kế) công cụ kiểm thử : SW mà cung cấp input cho SW cần kiểm thử và thu bắt kết quả mục tiêu là tìm fault. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 57 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược tính có thể kiểm thử ₫ược Hoàn thành sự Phát hiện tăng cường nào Quản lý I/O Giám sát bên trong ₫ó các fault Record/Playback Các phần tử monitor Tách interface/hiện thực ₫ược xây dựng sẵn Các thủ tục/interface truy xuất ₫ặc biệt Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 58 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược Các tactic I/O : record/playback liên quan ₫ến việc thu bắt thông tin ₫i ngang qua interface dùng nó như input cho tool kiểm thử thông tin ngang qua interface ở hoạt ₫ộng bình thường xuất từ 1 thành phần, input tới thành phần khác ₫ược lưu trong kho + cho phép ₫ầu vào kiểm thử cho 1 thành phần + cho kết quả xuất kiểm thử ₫ể so sánh sau ₫ó. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 59 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược Các tactic I/O : tách interface với hiện thực cho phép việc thay thế hiện thực cho nhiều mục ₫ích kiểm thử khác nhau làm stub của hiện thực ₫ể hệ thống ₫ược kiểm thử mà không cần có thành phần thật. thay thế 1 thành phần ₫ặc biệt ₫ể thành phần ₫ược thay thế hoạt ₫ộng như tool kiểm thử cho phần còn lại của hệ thống. tactic cũng ₫ưa ₫ến tính có thể hiệu chỉnh ₫ược Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 60 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược Các tactic I/O : ₫ặc biệt hóa ₫ường truy xuất/interfcae có các interface kiểm thử ₫ặc biệt : thu bắt/₫ặc tả các giá trị khác nhau cho các thành phần thông qua tool kiểm thử 1 cách ₫ộc lập từ việc thi hành bình thường các ₫ường truy xuất ₫ặc biệt/interface : nên ₫ược giữa tách biệt từ chức năng ₫òi hỏi phân cấp các interface kiểm thử các testcase có thể ₫ược áp dụng vào bất kỳ mức kiến trúc nào chức năng kiểm thử phải "in place" ₫ể quan sát các ₫áp ứng Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 61 2.7 Các tactic giải quyết tính có thể kiểm thử ₫ược Tactic giám sát bên trong các phần tử giám sát xây dựng sẵn thành phần có thể duy trì trạng thái, tải hiệu suất, khả năng, an ninh,... có thể ₫ược truy xuất thông qua interface (interface vĩnh cữu hay tạm ₫ược tạo ra cho kiểm thử). ghi sự kiện khi trạng thái cần giám sát ₫ược kích hoạt + chí phí/nổ lực kiểm thử thêm nữa + ₫ộ có thể thấy ₫ược gia tăng. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 62 2.8 Kết chương Chương này ₫ã giới thiệu các tactics ₫ể giải quyết các yêu cầu phi chức năng chính yếu của phần mềm như tính sẵn sàng ₫ể sử dụng, tính dễ sử dụng, tính thay ₫ổi ₫ược, tính hiệu quả, tính có thể kiểm thử, an ninh. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 2 : Các tactic © 2015 Slide 63
File đính kèm:
- bai_giang_kien_truc_phan_mem_chuong_2_cac_tactic_nguyen_trun.pdf