Bài giảng Kiến trúc phần mềm - Chương 2: Các tactic
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
Bạn đang xem 20 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", để 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
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 2 : Các tactic Slide 1 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 Chương 2 CÁC TACTIC 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 2 : Các tactic Slide 2 2.1 Định nghĩa thuật ngữ Tactic ta ₫ạt ₫ược các tiêu chí chất lượng thông qua các quyết ₫ịnh thiết kế. Vậy các quyết ₫ịnh thiết kế nào cần thiết cho việc ₫ạt ₫ược 1 chất lượng cụ thể ? Tactic là 1 quyết ₫ịnh thiết kế mà ảnh hưởng ₫ến việc kiểm soát sự ₫áp ứng 1 thuộc tính chất lượng. Chiến lược kiến trúc là tập các tactics ₫ược chọn. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 3 2.1 Định nghĩa thuật ngữ gói các tactics các tactic có thể tinh chế các tactic khác sự dư thừa ₫ược tinh chế từ dư thừa dữ liệu và dư thừa code thí dụ 1 tactic giải quyết tính sẳn sàng ₫ể dùng sẽ dẫn ₫ến sự dư thừa. Ẩn chứa : ta cũng cần sự ₫ồng bộ giữa các nhân bản ₫ể ₫ảm bảo copy dư thừa có thể ₫ược dùng nếu bản gốc bị hỏ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 2 : Các tactic Slide 4 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Độ lệch của lỗi (Failure) ₫ộ lệch giữa thực tế chạy so với hành vi chức năng kỳ vọng có thể ₫ược quan sát bởi người dùng hệ thống phần mềm Độ lệch của lỗi và nguyên nhân gây lỗi (fault) : fault : sự kiện có thể gây ra ₫ộ lệch của lỗi Các tactics giải quyết tính sẳn sàng ₫ể dùng : giữ fault ₫ừng ₫ể nó thành ₫ộ lệch của lỗi thực hiện các sửa chữa có thể. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 5 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Tính sẵn sàng ₫ể dùng (Availability) Phát hiện Ping/Echo HeartBeat Exception Sửa chữa & chuẩn bị phục hồi Voting Thừa chủ ₫ộng Thừa thụ ₫ộng Dùng secour Recovery- Reintroduction bóng ma ₫ồng bộ hóa trạng thái checkpoint/ Rollback Phòng ngừa Không phục vụ Giao tác Giám sát process Fault Fault bị che Đã sửa chữ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 2 : Các tactic Slide 6 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phát hiện fault : Ping/Echo thành phần 1 tạo 1 ping cho thành phần 2 thành phần 1 chờ 1 echo từ thành phần 2 trả lời trong khoảng thời gian qui ₫ịnh Có thể dùng cho kiến trúc gồm 1 nhóm các thành phần : chúng có trách nhiệm hỗ tương trên 1 tác vụ Có thể dùng cho kiến trúc client/server : kiểm thử server và ₫ường liên lạc sự phân cấp các phần tử phát hiện fault sẽ cải tiến việc dùng băng thông. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 7 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phát hiện fault : Heartbeat (nhịp tim) Theo ₫ịnh kỳ, thành phần 1 phát thông báo heartbeat. thành phần 2 lắng nghe thông báo nếu không có heartbeat thành phần 1 ₫ược giả ₫ịnh là hỏng cảnh bảo cho thành phần 3 ₫ể sửa fault thông báo heartbeat cũng có thể chứa dữ liệ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 2 : Các tactic Slide 8 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phát hiện fault : Exceptions các loại fault : omission, crash, timing, response khi nhận biết 1 loại fault, 1 exception ₫ược tạo ra : kết quả là fault ₫ược nhận biết Trình xử lý exception thi hành trong cùng process mà tạo ra exception thường thực hiện 1 chuyển dịch ngữ nghĩa của fault ra 1 dạng dễ xử lý. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 9 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phục hồi sau fault : Voting các process chạy trên các processor dư thừa nhận thông tin vào như nhau và tính toán ₫ể tạo kết quả (kỳ vọng như nhau) kết quả ₫ược gởi tới voter. Nếu voter phát hiện hành vi lệch lạc của 1 processor nào ₫ó -> voter coi nó bị hỏng. Phương pháp ₫ược dùng ₫ể sửa chữa hoạt ₫ộng lỗi của giải thuật ₫ộ hư hỏng của processor 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 2 : Các tactic Slide 10 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phục hồi sau khi hỏng : sự dư thừa chủ ₫ộng (active redundancy) tất cả các thành phần dư thừa ₫ều ₫áp ứng với sự kiện 1 cách ₫ồng thời -> chúng có cùng trạng thái. chỉ dùng 1 ₫áp ứng từ 1 thành phần nào ₫ó. downtime : thời gian chuyển sang thành phần ₫ược cập nhật khác (ms) ₫ược dùng trong cấu hình client/server (hệ thống database) : ₫áp ứng nhanh là quan trọng Sự ₫ồng bộ hóa : tất cả thông báo tới 1 thành phần ₫ều phải ₫ược gởi tới tất cả thành phần dư thừa còn lại. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 11 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phục hồi sau khi hỏng : sự dư thừa thụ ₫ộng (passive redundancy) thành phần chính có nhiệm vụ : ₫áp ứng với sự kiện. thông tin cho các thành phần còn lại (standby state) các updates mà chúng phải làm. Khi Fault xảy ra : hệ thống kiểm tra xem backup có ₫ủ mới (fresh) không trước khi phục hồi dịch vụ. thường ₫ược dùng trong các hệ thống ₫iều khiển chuyển ₫ổi ₫ịnh kỳ thành phần chính sẽ gia tăng tính sẵn sàng ₫ể 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 2 : Các tactic Slide 12 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phục hồi sau khi hỏng : phần tử dự phòng (spare) Platform tính toán dự phòng ở trạng thái standby ₫ược cấu hình ₫ể thay thế nhiều thành phần hỏng hóc khác nhau : phải reboot ₫ể dùng lại cấu hình (mới) của phần mềm khi failure xảy ra, ta khởi tạo lại trạng thái cho nó. ₫ịnh kỳ ghi checkpoint về trạng thái hệ thống và các tháy ₫ổi trạng thái lên thiết bị vĩnh cửu (disk). downtime : tính theo phút CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 13 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Tái tạo fault : hoạt ₫ộng bóng ma thành phần hỏng hóc trước ₫ây có thể ₫ược chạy trong chế ₫ộ shadow. trong 1 khỏang thời gian ₫ể ₫ảm bảo nó tối thiểu hành vi của các thành phần ₫ang vận hành. trước khi phục hồi nó ₫ể vận hành tiế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 2 : Các tactic Slide 14 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Tái tạo fault : ₫ồng bộ hóa lại trạng thái dư thừa chủ ₫ộng hay thụ ₫ộng : thành phần ₫ược phục hồi cập nhật trạng thái của mình trước khi trở lại làm việc. Cập nhật phụ thuộc vào : downtime kích thước cập nhật số thông báo ₫ược ₫òi hỏi ₫ể cập nhật : tốt nhất là 1, nhiều sẽ dẫn tới ₫ộ phực tạp của phần mềm. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 15 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Tái tạo fault : checkpoint/rollback checkpoint ghi trạng thái còn ₫úng (nhất quán). ₫ược thực hiện ₫ịnh kỳ hay khi ₫áp ứng với sự kiện ₫ặc biệt hữu dụng khi hệ thống hỏng không thường xuyên với trạng thái không nhất quán có thể phát hiện ₫ược. Hệ thống ₫ược phục hồi bằng : checkpoint của trạng thái nhất quán ngay trước. nhật ký các transactions xảy ra từ khi chúng bắt ₫ầu hoạt ₫ộ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 2 : Các tactic Slide 16 2.2 Các tactics giải quyết tính sẳn sàng ₫ể dùng Phòng ngừa fault Bỏ không phục vụ ₫ể cấm các failure tiên ₫oán trước, ta xóa bỏ thành phần liên quan thí dụ boot lại thành phần ₫ể cấm sự thiếu hụt bộ nhớ làm tự ₫ộng hay thủ công Transaction : các bước tuần tự ₫ược bó lại nhau sao cho toàn bộ bó có thể ₫ược undo 1 lần. giám sát process : nếu process hỏng bị phát hiện thì process giám sát sẽ xóa process không làm việc và tạo mới 1 instance khác thay thế : phải ₫ược khởi tạo với trạng thái phù hợp như trong tactic dùng phần tự dự phòng. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 17 2.3 Các tactics giải quyết tính dễ sử dụng (Usability) tính có thể dùng liên quan ₫ến : hệ thống hỗ trợ cho user những thứ gì người dùng thực hiện tác vụ mong muốn dễ dàng như thế nào. các tactic thời gian chạy : hỗ trợ user trong suốt thời gian thi hành của hệ thống tại thời ₫iểm thiết kế : hỗ trợ nhà phát triển interface + bản chất lặp của việc thiết kế interface + liên quan tới các tactic giải quyết tính có thể hiệu chỉ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 2 : Các tactic Slide 18 2.3 Các tactics giải quyết tính dễ sử dụng (Usability) các tactic tại thời ₫iểm chạy Các phản hồi của user về hệ thống ₫ang làm gì cung cấp cho user khả năng thực hiện các lệnh liên quan ₫ến tính dễ dùng : Cancel Undo Tích hợp hiển thị nhiều góc nhìn CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 19 2.3 Các tactics giải quyết tính dễ sử dụng (Usability) tính dễ sử dụng Các tactic tại thời ₫iểm chạy chủ ₫ộng hệ thống Các tactic tại thời ₫iểm thiết kế Tách giao tiếp user yêu cầu của user Cung cấp phản hồi và hỗ trợ phù hợp cho user chủ ₫ộng user 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 2 : Các tactic Slide 20 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) mục tiêu: kiểm soát thời gian và chi phí của sự thay ₫ổi nào ₫ó trong việc hiện thực, kiểm thử, hiệu chỉnh và phân phối. tập các tactic Khoanh vùng các thay ₫ổi : giảm số module bị ảnh hưởng bởi 1 thay ₫ổi phòng ngừa các hiệu ứng dây chuyền : hạn chế việc thay ₫ổi tới các module bị khoanh vùng. trì hoản thời ₫iểm kết nối các module lại : kiểm soát thời gian phân phối và chi phí. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 21 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Tính thay ₫ổi ₫ược Khoanh vùng các thay ₫ổi Nhất quán ngữ nghĩa dự ₫oán các thay ₫ổi tổng quát hóa module dịch vu chung trừu tượng Ngừa các hiệu ứng dây chuyền Ẩn thông tin Duy trì giao tiếp tồn tại hạn chế ₫ường liên lạc dùng ptử trung gian Trì hoản thời ₫iểm liên kết ₫ăng ký tại td chạy file cấu hình Đa xạ Thay thế thành phần Đính vào các gt ₫ã có Các thay ₫ổi tới Đã thay ₫ổi, kiểm thử, phân phối trong thời gian và kinh phí xác ₫ị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 2 : Các tactic Slide 22 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Khoanh vùng các thay ₫ổi : duy trì tính nhất quán ngữ nghĩa Tính nhất quán ngữ nghĩa : mối quan hệ giữa các trách nhiệm trong 1 module. Mục tiêu : ₫ảm bảo tất cả trách nhiệm này làm việc cùng nhau cho dù có hay không sự dựa dẫm quá nhiều vào những module khác. Cách ₫ạt mục tiêu : thiết kế các module với các trách nhiệm trong sự nhất quán ngữ nghĩa. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 23 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Khoanh vùng các thay ₫ổi : dịch vụ chung trừu tượng Tactic con của tính nhất quán ngữ nghĩa cung cấp các dịch vụ chung thông qua các module ₫ặc biệt Tính dùng lại và tính thay ₫ổi ₫ược Sự thay ₫ổi tới các dịch vụ chung ₫ược làm chỉ 1 lần thay vì trong từng module dùng chúng. Các thay ₫ổi trơng các module dùng dịch vụ chung không ảnh hưởng ₫ến các user 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 2 : Các tactic Slide 24 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Khoanh vùng các thay ₫ổi : tiên ₫oán các thay ₫ổi ₫ược chờ ₫ợi việc chú ý tập các thay ₫ổi mường tượng cung cấp cách thức ₫ánh giá việc gán các trách nhiệm. Các câu hỏi : ₫ối với 1 thay ₫ổi : sự phân rã mà ta ₫ề nghị có hạn chế tập các module cần thay ₫ổi ? Về cơ bản, các thay ₫ổi khác nhau có ảnh hưởng trên cùng các module ? Mục tiêu : tối thiểu hóa ảnh hưởng của các thay ₫ổi. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 25 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Khoanh vùng các thay ₫ổi : tổng quát hóa module chức năng tổng quát hóa 1 module bằng cách làm cho nó thực hiện 1 lớp rộng các chức năng dựa vào kiểu thông tin nhập. Thông tin nhập : ₫ịnh nghĩa ngôn ngữ cho module làm các thông số nhập là hằng hiện thực module như 1 trình thông dịch và làm các thông số nhập như là các chương trình trong ngôn ngữ thông dịch ₫ó. module tổng quát hơn Thích nhất là làm các thay ₫ổi theo yêu cầu bằng cách hiệu chỉnh ngôn ngữ nhậ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 2 : Các tactic Slide 26 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Phòng ngữa các hiệu ứng lan truyền Khoanh vùng các thay ₫ổi / hạn chế các thay ₫ổi trên các module bị khoanh vùng. Có 1 số module bị tác ₫ộng trực tiếp : ₫ó là các module có các trách nhiệm cần ₫ược ₫iều chỉnh ₫ể thực hiện ₫ược sự thay ₫ổi. Có 1 số module bị tác ₫ộng gián tiếp bởi sự thay ₫ổi : ₫ó là các module có các trách nhiệm vẫn không ₫ổi nhưng sự hiện thực cần ₫ược thay ₫ổi ₫ể phù hợp với các module bị tác ₫ộng trực tiếp. CuuDuongThanCong.com https://fb.com/tai ... 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 37 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 38 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 39 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 40 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. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 41 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 42 2.5 Các tactic giải quyết hiệu suất Hiệu suất Xin tài nguyên Tăng hiệu quả tính Giảm chí phí tính Quản lý tốc ₫ộ event Kiểm soát ần số lấy mẫu Quản lý tài nguyên Tạo sự ₫ồng thời Quản lý các copy Tăng tài nguyên có sẵn Trọng tài tài nguyên Chính sách lập lịch Các sự kiện tới Đã ₫áp ứng trong thời gian xác ₫ịnh CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 43 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 44 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 45 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 46 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ớ CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 47 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 48 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 49 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 50 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 51 2.6 Các tactic giải quyết an ninh An ninh Ngăn chặn tấn công Xác nhận user Cho phép user Duy trì data mật Duy trì tính toàn vẹn Hạn chế bùng nỗ Hạn chế truy xuất Phát hiện tấn công Phát hiện sự xâm nhập Phục hồi sau tấn công Nhận dạng Tấn công Hệ thống phát hiện, ngăn chặn hay phục hồi sau tấn công Phục hồi xem Availability Audit trail 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 2 : Các tactic Slide 52 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 53 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 54 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. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 55 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 56 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 57 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 58 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 Quản lý I/O Record/Playback Tách interface/hiện thực Các thủ tục/interface truy xuất ₫ặc biệt Giám sát bên trong Các phần tử monitor ₫ược xây dựng sẵn Hoàn thành sự tăng cường nào ₫ó Phát hiện các fault CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 59 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 60 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 61 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 Trường ĐH Bách Khoa Tp.HCM © 2015 Môn : Kiến trúc phần mềm Chương 2 : Các tactic Slide 62 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. CuuDuongThanCong.com https://fb.com/tailieudientucntt 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 2 : Các tactic Slide 63 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. CuuDuongThanCong.com https://fb.com/tailieudientucntt
File đính kèm:
- bai_giang_kien_truc_phan_mem_chuong_2_cac_tactic.pdf