Bài giảng Công nghệ phần mềm - Chương 7: Thiết kế kiến trúc
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Chương 7: Thiết kế kiến trúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_cong_nghe_phan_mem_chuong_7_thiet_ke_kien_truc.ppt
Nội dung text: Bài giảng Công nghệ phần mềm - Chương 7: Thiết kế kiến trúc
- Chương 7: Thiết kế kiến trúc
- Nội dung chính ⚫Thiết kế kiến trúc là gì? ⚫Tổ chức hệ thống ⚫Phân rã hệ thống ⚫Các chiến lược điều khiển ⚫Các kiến trúc tham chiếu
- 1. Thiết kế kiến trúc là gì? ⚫ Quy trình thiết kế kiến trúc là quy trình thiết kế nhằm xác định các hệ thống con cấu tạo lên hệ thống đề xuất và framework giúp điều khiển các hệ thống con và giao tiếp giữa chúng. ⚫ Kết quả của quy trình thiết kế này là bản đặc tả về kiến trúc phần mềm. ⚫ Thiết kế kiến trúc là pha sớm nhất trong quy trình thiết kế hệ thống. ⚫ Các đặc điểm của kiến trúc hệ thống: Hiệu năng Bảo mật An toàn. Sẵn dùng. Có khả năng bảo trì.
- Thiết kế kiến trúc là gì? ⚫ Quy trình thiết kế kiến trúc dựa trên những quyết định sau: Kiến trúc ứng dụng chung có được sử dụng lại hay không? Hệ thống sẽ được phân tán như thế nào? Những phong cách kiến trúc nào là thích hợp? Hệ thống sẽ được phân rã thành những mô-đun nào? Chiến lược điều khiển nào sẽ được sử dụng? Cách đánh giá thiết kế kiến trúc Kiến trúc sẽ được tư liệu hoá như thế nào? Khả năng tái sử dụng lại kiến trúc hệ thống là rất cao.
- 2. Tổ chức hệ thống ⚫ Tổ chức hệ thống phản ánh chiến lược cơ bản được sử dụng để cấu trúc hệ thống. ⚫ Trong quá trình thiết kế kiến trúc hệ thống, hoạt động đầu tiên phải thực hiện là xây dựng mô hình tổ chức hệ thống. ⚫ 3 phương pháp tổ chức hệ thống cơ bản: Kho dữ liệu dùng chung Server và các dịch vụ dùng chung (client-server) Phân lớp hoặc máy trừu tượng
- 2.1. Kho dữ liệu dùng chung ⚫ Các hệ thống con phải trao đổi dữ liệu và làm việc với nhau một cách hiệu quả. Việc trao đổi dữ liệu được thực hiện theo hai cách: Dữ liệu chia sẻ được lưu ở CSDL trung tâm hoặc kho dữ liệu và được tất cả các hệ thống con truy nhập. Mỗi hệ thống con bảo trì CSDL của chính nó và truyền dữ liệu một cách tường minh cho các hệ thống con khác. ⚫ Nếu số lượng dữ liệu dùng chung rất lớn thì mô hình kho dữ liệu dùng chung thường được sử dụng.
- 2.2. Mô hình client – server ⚫ Mô hình kiến trúc client-server là mô hình hệ thống trong đó hệ thống bao gồm một tập hợp các server cung cấp dịch vụ và các client truy nhập và sử dụng các dịch vụ đó. ⚫ Các thành phần chính của mô hình này bao gồm: Tập hợp các server sẽ cung cấp những dịch vụ cụ thể như: in ấn, quản lý dữ liệu Tập hợp các client truy nhập đến server để yêu cầu cung cấp dịch vụ. Hệ thống mạng cho phép client truy cập tới dịch vụ mà server cung cấp. ⚫ Đặc điểm của mô hình client-server: Client phải biết tên của server và các dịch vụ mà server cung cấp. Server không cần xác định rõ client và hiện tại có bao nhiêu client. Client tạo ra một yêu cầu tới server và chờ server trả lời.
- 2.3. Mô hình phân lớp ⚫ Mô hình phân lớp tổ chức hệ thống thành nhiều lớp và mỗi lớp cung cấp một tập các dịch vụ. ⚫ Mỗi lớp có thể được coi như một máy trừu tượng (abstract machine) mà ngôn ngữ của máy được định nghĩa bởi các dịch vụ mà lớp đó cung cấp. ⚫ Mô hình phân lớp hỗ trợ phát triển các hệ thống con theo kiểu tăng vòng ở nhiều lớp khác nhau. Khi giao diện của một lớp thay đổi thì chỉ những lớp liền kề nó mới bị ảnh hưởng.
- 3. Phân rã hệ thống ⚫ Khi cấu trúc hệ thống đã được lựa chọn, cần phải xác định phương pháp phân rã hệ thống con thành các mô- đun. Hệ thống con là một hệ thống có thể vận hành một cách độc lập, có thể sử dụng một số dịch vụ được cung cấp bởi các hệ thống con khác hoặc cung cấp dịch vụ cho các hệ thống con khác sử dụng. Mô-đun là một thành phần hệ thống cung cấp các dịch vụ cho các thành phần khác, nhưng không được coi như là một hệ thống riêng rẽ, độc lập. ⚫ Hai cách phân rã: Phân rã hướng đối tượng Pipeline hướng chức năng hoặc luồng dữ liệu
- 3.1. Phân rã hướng đối tượng ⚫Phân rã hệ thống thành một tập hợp các đối tượng gắn kết lỏng, dựa trên các giao diện đã được định nghĩa. ⚫Phân rã hướng đối tượng liên quan tới việc xác định lớp đối tượng, các thuộc tính và phương thức của nó.
- Ví dụ: Các đối tượng trong hệ thống xử lý hoá đơn
- 3.2. Pipeline hướng chức năng ⚫Mô hình pipeline hướng chức năng (mô hình luồng dữ liệu) là quy trình chuyển đổi thông tin đầu vào thành kết quả đầu ra. Việc chuyển đổi thông tin đầu vào thành kết quả đầu ra có thể được thực hiện tuần tự hoặc song song. Dữ liệu được xử lý trong quy trình có thể là riêng lẻ hoặc theo lô.
- Ví dụ: Mô hình luồng dữ liệu trong hệ thống ghi đơn hàng
- 4. Các chiến lược điều khiển ⚫Để hệ thống làm việc tốt, phải điều khiển được các hệ thống con. ⚫Hai loại chiến lược điều khiển: Điều khiển tập trung Điều khiển hướng sự kiện
- 4.1. Điều khiển tập trung ⚫ Hệ thống con điều khiển chịu trách nhiệm quản lý việc thực hiện của các hệ thống con khác. ⚫ Gồm 2 loại mô hình: Mô hình gọi - trả lời Mô hình quản lý
- Mô hình gọi - trả lời ⚫ Các thủ tục con được sắp xếp phân cấp ⚫ Thủ tục điều khiển nằm ở đỉnh của cấu trúc phân cấp và di chuyển dần xuống dưới. ⚫ Thường được áp dụng cho các hệ thống tuần tự.
- Mô hình quản lý ⚫ Một thành phần điều khiển việc khởi tạo, ngừng, hoặc cộng tác với các quy trình khác. ⚫ Thường áp dụng cho các hệ thống song song.
- 4.2. Điều khiển hướng sự kiện ⚫Gồm hai loại mô hình: Mô hình lan truyền (Broadcast) Mô hình hướng ngắt (Interrupt-driven)
- 4.2.1. Mô hình lan truyền (Broadcast) ⚫ Sự kiện được lan truyền tới tất cả các hệ thống con. Bất kỳ hệ thống nào nếu có thể bắt được sự kiện này thì sẽ xử lý nó. ⚫ Có hiệu quả đối với việc tích hợp các hệ thống con trên nhiều máy tính khác nhau trong cùng một mạng.
- 4.2.2. Mô hình hướng ngắt (Interrupt-driven) ⚫ Các ngắt được phát hiện bởi bộ bắt ngắt và được truyền cho một số các thành phần khác để xử lý. Các kiểu ngắt và bộ bắt tương ứng được định nghĩa trước. Mỗi kiểu ngắt được gắn với một vị trí nhớ và một bộ chuyển mạch để đưa ngắt tới bộ bắt tương ứng của nó.
- 5. Các kiến trúc tham chiếu ⚫ Khi xây dựng một hệ thống mới, có thể sử dụng lại kiến trúc của hệ thống tương tự đã tồn tại. ⚫ Các mô hình tham chiếu thường kế thừa từ những nghiên cứu trong miền ứng dụng cụ thể hơn là từ các hệ thống đã tồn tại. ⚫ Có 2 loại mô hình kiến trúc cho một miền ứng dụng cụ thể: Mô hình chung ⚫ Là sự trừu tượng hoá từ một số các hệ thống thực và bao hàm các thuộc tính quan trọng của các hệ thống này. Mô hình tham chiếu ⚫ Là mô hình trừu tượng hoá và lý tưởng. ⚫ Được sử dụng như một phần cơ bản để cài đặt hệ thống hoặc để so sánh với các hệ thống khác.
- Mô hình tham chiếu OSI 7 Application Application 6 Presenta tion Presenta tion 5 Session Session 4 Transpor t Transpor t 3 Network Network Network 2 Data link Data link Data link 1 Physical Physical Physical Communica tions medium
- Mô hình tham chiếu ECMA
- Mô hình tham chiếu ECMA ⚫ Data repository services Storage and management of data items. ⚫ Data integration services Managing groups of entities. ⚫ Task management services Definition and enaction of process models. ⚫ Messaging services Tool-tool and tool-environment communication. ⚫ User interface services User interface development.