intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc phần mềm: Chương 2 - ĐH Bách khoa TP HCM

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PDF | Số trang:32

99
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Kiến trúc phần mềm: Chương 2 - Các tactic bao gồm những nội dung về định nghĩa thuật ngữ, các tactics giải quyết tính sẳn sàng để dùng, các tactics giải quyết tính dễ sử dụng (Usability), các tactic về tính thay đổi được Modifiability, các tactic giải quyết hiệu suất, các tactic giải quyết an ninh, các tactic giải quyết tính có thể kiểm thử được.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc phần mềm: Chương 2 - ĐH Bách khoa TP HCM

  1. 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 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 1 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. 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 2
  2. 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 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 3 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ể. 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 4
  3. 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 Sửa chữa & Recovery- Phòng ngừa Fault chuẩn bị phục hồi Reintroduction Fault bị che Đã sửa chữa Ping/Echo Voting bóng ma Không phục vụ HeartBeat Thừa chủ ₫ộng ₫ồng bộ hóa Giao tác Exception Thừa thụ ₫ộng trạng thái Giám sát process Dùng secour checkpoint/ Rollback 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 5 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. 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 6
  4. 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 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 7 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ý. 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 8
  5. 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 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 9 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. 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 10
  6. 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 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 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 : 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 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 12
  7. 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 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 13 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. 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 14
  8. 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 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 15 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. 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 16
  9. 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 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 17 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 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 18
  10. 2.3 Các tactics giải quyết tính dễ sử dụng (Usability) tính dễ sử dụng Cung cấp phản hồi và hỗ trợ Các tactic tại thời ₫iểm thiết kế phù hợp cho yêu cầu của user Các tactic tại thời ₫iểm chạy user chủ ₫ộng hệ thống Tách giao tiếp user chủ ₫ộng user 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 19 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í. 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 20
  11. 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Tính thay ₫ổi ₫ược Đã thay ₫ổi, Các thay Khoanh vùng các Ngừa các hiệu ứng dây Trì hoản thời ₫iểm kiểm thử, ₫ổi tới thay ₫ổi chuyền liên kết phân phối trong thời gian Ẩn thông tin ₫ăng ký tại td chạy và kinh phí Nhất quán ngữ nghĩa xác ₫ịnh Duy trì giao tiếp tồn tại file cấu hình dự ₫oán các thay ₫ổi hạn chế ₫ường liên lạc Đa xạ tổng quát hóa module dùng ptử trung gian Thay thế thành phần dịch vu chung trừu tượng Đính vào các gt ₫ã 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 21 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. 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 22
  12. 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 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 23 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. 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 24
  13. 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 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 25 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. 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 26
  14. 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Các hiệu ứng lan truyền ‰ Hiệu ứng lan truyền từ 1 thay ₫ổi : ƒ sự cần thiết thay ₫ổi các module không bị tác ₫ộng trực tiếp bởi nó. ƒ ₫iều này xảy ra vì các module ₫ược ₫ề cập phụ thuộc ít nhiều vào các module liên quan trực tiếp ₫ến sự thay ₫ổ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 27 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Các kiểu phụ thuộc ‰ Ta giả sử : ‰ module A thay ₫ổi ₫ể thực hiện sự thay ₫ổi nào ₫ó. ‰ module B bị thay ₫ổi chỉ vì module A thay ₫ổi. ‰ Có nhiều kiểu phụ thuộc : cú pháp, ngữ nghĩa, tuần tự, identity of interface, location of A, quality of service, existence of A, resource behavior of 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 28
  15. 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Sự phụ thuộc cú pháp ‰ của data : ƒ B dùng dữ liệu ₫ược tạo bởi A ƒ kiểu và ₫ịnh dạng dữ liệu trong cả 2 module A và B cần ₫ược nhất quán nhau. ‰ của dịch vụ : ƒ B cầu cứu dịch vụ của A ƒ chữ ký các dịch vụ ₫ược cung cấp bởi A cần nhất quán với kỳ vọng của B. 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 29 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Sự phụ thuộc ngữ nghĩa ‰ của data : ƒ B dùng dữ liệu ₫ược tạo bởi A ƒ ngữ nghĩa dữ liệu ₫ược tạo ra bởi module A và ₫ược dùng bởi B cần ₫ược nhất quán với kỳ vọng của B. ‰ của dịch vụ : ƒ B cầu cứu dịch vụ của A ƒ ngữ nghĩa các dịch vụ ₫ược cung cấp bởi A cần nhất quán với kỳ vọng của B. 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 30
  16. 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Sự phụ thuộc tuần tự ‰ của data : ƒ B dùng dữ liệu ₫ược tạo bởi A ƒ B phải nhận dữ liệu ₫ược tạo ra bởi A theo trình tự cố ₫ịnh biết trước. ‰ của ₫iều khiển : ƒ A phải ₫ược thi hành trước trong khoảng thời gian ràng buộc xác ₫ị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 31 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Sự ₫ồng nhất về interface của A ‰ A phải có nhiều interface sử dụng ‰ B dùng 1 trong chúng ‰ Để B ₫ược dịch và thi hành ₫úng, sự ₫ồng nhất của interface phải nhất quán với các kỳ vọng của B. 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 32
  17. 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Các sự phụ thuộc khác ‰ vị trí chạy của A : phải nhất quán với kỳ vọng của B ‰ chất lượng dịch vụ/data ₫ược cung cấp bởi A : các tính chất liên quan ₫ến chất lượng phải nhất quán với kỳ vọng của B. ‰ sự tồn tại của A : Để B thi hành ₫ược, A phải tồn tại ₫ể sẳn sàng phục vụ. ‰ Hành vi tài nguyên của A : phải nhất quán với các kỳ vọng của B. 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 33 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Các tactic ₫ể phòng ngừa hiệu ứng lan truyền ‰ Ẩn thông tin ‰ duy trì các interface tồn tại ‰ hạn chế các ₫ường liên lạc ‰ dùng 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 34
  18. 2.4 Các tactic về tính thay ₫ổi ₫ược (Modifiability) Ẩn thông tin ‰ Phân rã các trách nhiệm ra những phần nhỏ hơn và chọn thông tin nào ₫ể ẩn và thông tin nào ₫ể public. ‰ thông tin public có thể dùng ₫ược thông qua interface xác ₫ịnh ‰ Mục tiêu : ngăn các thay ₫ổi trong 1 module và ngừa các thay ₫ổi lan truyền từ module này sang module khác. ƒ kỹ thuật cũ nhất từ việc cấm các thay ₫ổi lan truyền ƒ liên quan 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2