Bài giảng Tích hợp hệ thống: Bài 3 - ĐH Kinh tế Tp HCM
Số trang: 21
Loại file: ppt
Dung lượng: 719.00 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Kiến thức cung cấp bài 3 Kiến trúc Module trong bài giảng Tích hợp hệ thống là kỹ thuật phát triển hệ thống theo kiến trúc module: phân tích, thiết kế, lập trình, biết được các tiêu chí đánh giá kiến trúc module. Phân biệt được các kiểu tích hợp module, biết được các công nghệ hỗ trợ lập trình module.
Nội dung trích xuất từ tài liệu:
Bài giảng Tích hợp hệ thống: Bài 3 - ĐH Kinh tế Tp HCMLOGO TRƯỜNG ĐH KINH TẾ TP HỒ CHÍ MINH KHOA HỆ THỐNG THÔNG TIN KINH DOANH Bàigiảngmôn TÍCHHỢPHỆTHỐNG BÀI3:KIẾNTRÚCMODULE Mụctiêu Sau khi học xong bài này sinh viên có thể: Hiểu kỹ thuật phát triển hệ thống theo kiến trúc module: phân tích, thiết kế, lập trình Biết được các tiêu chí đánh giá kiến trúc module Phân biệt được các kiểu tích hợp module Biết được các công nghệ hỗ trợ lập trình module Thamkhảo1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần mềm, NXB ĐHQG HN, 20082. http://en.wikipedia.org/wiki/Modular_programming3. Ian Sommerville, Software Engineering 8th Edition, 2007. Nộidung Các khái niệm cơ bản về kiến trúc module Tiêu chí đánh giá kiến trúc module Các kiểu ghép nối module (tích hợp) Lập trình theo module Kiếntrúcmodule Kiến trúc mô-đun (module) cho phép chia nhỏ bài toán (hay yêu cầu) của phần mềm thành các phần hầu như không trùng lắp và do đó hỗ trợ làm việc song song trên các module và đặc biệt là dễ bảo trì hơn. Kiến trúc module có khả năng tái sử dụng các thành phần của hệ thống và khả năng mở rộng tốt hơn. Kiếntrúcmodule Dựa trên quan điểm “chia để trị” C: độ phức tạp C(p1 + p2) > C(p1) + C(p2) E: nỗ lực thực hiện E(p1 + p2) > E(p1) + E(p2) Giảm độ phức tạp Cục bộ, dễ sửa đổi Có khả năng phát triển song song Dễ sửa đổi, dễ hiểu nên dễ tái sử dụngKiếntrúcmodule Phân rã phân mềm thành các module có thể nối kết với nhau Kiếntrúcmodule Kích thước module nên được quyết định dựa trên khái niệm độc lập chức năng, mỗi module thực hiện một công việc: dễ hiểu, dễ sửa đổi, dễ tái sử dụng KiếntrúcmoduleInterface – công cụ giao tiếp của các module Các module được gắn kết với nhau trong chương trình thông qua các interface. Một interface của module mô tả những thành phần được cung cấp và cần được cung cấp. Các thành phần này được các module khác thấy và sử dụng. KiếntrúcmoduleNguyên tắc Information-hiding Những phần có khả năng thay đổi bên trong của module được ẩn đi nên những phần còn lại dùng để giao tiếp giữa các module sẽ không bị ảnh hưởng khi thay đổi thiết kế. Kết quả là những module có thể thay đổi một cách độc lập mà không ảnh hưởng lẫn nhau. Kiếntrúcmodule Kiến trúc module có thể mở rộng để áp dụng ở mức hệ thống và các module có thể là các ứng dụng hay dịch vụ chạy song song và tương tác với nhau thông qua một kiểu giao tiếp như Messaging, RPC, Socket... Về ý tưởng, kiến trúc module có thể xem là nền tảng cơ bản của rất nhiều kiến trúc tiên tiến khác như MVC, Multi-tier, SOA... Kiến trúc module có thể tái áp dụng vào các module của chính nó hay các thành phần con của các kiến trúc trên như các dịch vụ bên trong các hệ thống SOA..Kiếntrúcmodule Kiến trúc Module mở rộng Tiêuchíđánhgiákiếntrúcmodule Coupling: mức độ ghép nối giữa các module Cohesion: mức độ liên kết giữa các thành phần bên trong một module Understandability: tính hiểu được Adaptability: tính thích nghi được Tiêuchíđánhgiákiếntrúcmodule Coupling (ghép nối) Độ đo sự liên kết (trao đổi) giữa các Module Ghép nối chặt chẽ thì khó hiểu, khó sửa đổi do phải tính đến các liên kết có thể, dễ gây lỗi lan truyền. Cohesion (kết dính) Độ đo sự phụ thuộc lẫn nhau của các thành phần trong một Module Kết dính cao thì tính cục bộ cao (độc lập ch ức năng); dễ hiểu, dễ sửa đổi.Tiêu chuẩn của thiết kế tốt: kết dính chặt, ghép nối lỏng Coupling (ghép nối)a. Ghép nối nội dung Các module dùng dữ liệu hay thông tin điều khiển được duy trì trong một module khác Là trường hợp xấu nhất. Ví dụ: Các ngôn ngữ bậc thấp chỉ dùng biến chung Lạm dụng lệnh Goto trong một chu trình Coupling (ghép nối)b. Ghép nối chungCác module trao đổi dữ liệu thông qua biến tổng thể Lỗi của module này có thể ảnh hưởng đến hoạtđộng của module khác Khó sử dụng lại các module Coupling (ghép nối)c. Ghép nối điều khiểnCác module trao đổi thông tin điều khiển Làm cho thiết kế khó hiểu, khó sửa đổi, dễ nhầm Coupling (ghép nối)d. Ghép nối nhãn Các module trao đổi thừa thông tin Module có thể thực hiện chức năng ngoài ý muốn Làm giảm tính thích nghi Coupling (ghép nối)e. Ghép nối dữ liệuTruyền dữ liệu qua tham số Nhận kết quả qua tham số và giá trị trả lại Lậptrìnhtheomodule Một số ngôn ngữ hỗ trợ lập trình theo cơ chế module cho phép biên dịch các module một cách độc lập và có thể gắn kết vào hệ thống lúc thực thi như Flex, Ruby... Một số ngôn ngữ khác thì hỗ trợ cơ chế như thư viện liên kết động (DLL) để biên dịch các module thành các thư viện độc lập và có thể gắn kết động vào hệ thống. ...
Nội dung trích xuất từ tài liệu:
Bài giảng Tích hợp hệ thống: Bài 3 - ĐH Kinh tế Tp HCMLOGO TRƯỜNG ĐH KINH TẾ TP HỒ CHÍ MINH KHOA HỆ THỐNG THÔNG TIN KINH DOANH Bàigiảngmôn TÍCHHỢPHỆTHỐNG BÀI3:KIẾNTRÚCMODULE Mụctiêu Sau khi học xong bài này sinh viên có thể: Hiểu kỹ thuật phát triển hệ thống theo kiến trúc module: phân tích, thiết kế, lập trình Biết được các tiêu chí đánh giá kiến trúc module Phân biệt được các kiểu tích hợp module Biết được các công nghệ hỗ trợ lập trình module Thamkhảo1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giáo trình kỹ nghệ phần mềm, NXB ĐHQG HN, 20082. http://en.wikipedia.org/wiki/Modular_programming3. Ian Sommerville, Software Engineering 8th Edition, 2007. Nộidung Các khái niệm cơ bản về kiến trúc module Tiêu chí đánh giá kiến trúc module Các kiểu ghép nối module (tích hợp) Lập trình theo module Kiếntrúcmodule Kiến trúc mô-đun (module) cho phép chia nhỏ bài toán (hay yêu cầu) của phần mềm thành các phần hầu như không trùng lắp và do đó hỗ trợ làm việc song song trên các module và đặc biệt là dễ bảo trì hơn. Kiến trúc module có khả năng tái sử dụng các thành phần của hệ thống và khả năng mở rộng tốt hơn. Kiếntrúcmodule Dựa trên quan điểm “chia để trị” C: độ phức tạp C(p1 + p2) > C(p1) + C(p2) E: nỗ lực thực hiện E(p1 + p2) > E(p1) + E(p2) Giảm độ phức tạp Cục bộ, dễ sửa đổi Có khả năng phát triển song song Dễ sửa đổi, dễ hiểu nên dễ tái sử dụngKiếntrúcmodule Phân rã phân mềm thành các module có thể nối kết với nhau Kiếntrúcmodule Kích thước module nên được quyết định dựa trên khái niệm độc lập chức năng, mỗi module thực hiện một công việc: dễ hiểu, dễ sửa đổi, dễ tái sử dụng KiếntrúcmoduleInterface – công cụ giao tiếp của các module Các module được gắn kết với nhau trong chương trình thông qua các interface. Một interface của module mô tả những thành phần được cung cấp và cần được cung cấp. Các thành phần này được các module khác thấy và sử dụng. KiếntrúcmoduleNguyên tắc Information-hiding Những phần có khả năng thay đổi bên trong của module được ẩn đi nên những phần còn lại dùng để giao tiếp giữa các module sẽ không bị ảnh hưởng khi thay đổi thiết kế. Kết quả là những module có thể thay đổi một cách độc lập mà không ảnh hưởng lẫn nhau. Kiếntrúcmodule Kiến trúc module có thể mở rộng để áp dụng ở mức hệ thống và các module có thể là các ứng dụng hay dịch vụ chạy song song và tương tác với nhau thông qua một kiểu giao tiếp như Messaging, RPC, Socket... Về ý tưởng, kiến trúc module có thể xem là nền tảng cơ bản của rất nhiều kiến trúc tiên tiến khác như MVC, Multi-tier, SOA... Kiến trúc module có thể tái áp dụng vào các module của chính nó hay các thành phần con của các kiến trúc trên như các dịch vụ bên trong các hệ thống SOA..Kiếntrúcmodule Kiến trúc Module mở rộng Tiêuchíđánhgiákiếntrúcmodule Coupling: mức độ ghép nối giữa các module Cohesion: mức độ liên kết giữa các thành phần bên trong một module Understandability: tính hiểu được Adaptability: tính thích nghi được Tiêuchíđánhgiákiếntrúcmodule Coupling (ghép nối) Độ đo sự liên kết (trao đổi) giữa các Module Ghép nối chặt chẽ thì khó hiểu, khó sửa đổi do phải tính đến các liên kết có thể, dễ gây lỗi lan truyền. Cohesion (kết dính) Độ đo sự phụ thuộc lẫn nhau của các thành phần trong một Module Kết dính cao thì tính cục bộ cao (độc lập ch ức năng); dễ hiểu, dễ sửa đổi.Tiêu chuẩn của thiết kế tốt: kết dính chặt, ghép nối lỏng Coupling (ghép nối)a. Ghép nối nội dung Các module dùng dữ liệu hay thông tin điều khiển được duy trì trong một module khác Là trường hợp xấu nhất. Ví dụ: Các ngôn ngữ bậc thấp chỉ dùng biến chung Lạm dụng lệnh Goto trong một chu trình Coupling (ghép nối)b. Ghép nối chungCác module trao đổi dữ liệu thông qua biến tổng thể Lỗi của module này có thể ảnh hưởng đến hoạtđộng của module khác Khó sử dụng lại các module Coupling (ghép nối)c. Ghép nối điều khiểnCác module trao đổi thông tin điều khiển Làm cho thiết kế khó hiểu, khó sửa đổi, dễ nhầm Coupling (ghép nối)d. Ghép nối nhãn Các module trao đổi thừa thông tin Module có thể thực hiện chức năng ngoài ý muốn Làm giảm tính thích nghi Coupling (ghép nối)e. Ghép nối dữ liệuTruyền dữ liệu qua tham số Nhận kết quả qua tham số và giá trị trả lại Lậptrìnhtheomodule Một số ngôn ngữ hỗ trợ lập trình theo cơ chế module cho phép biên dịch các module một cách độc lập và có thể gắn kết vào hệ thống lúc thực thi như Flex, Ruby... Một số ngôn ngữ khác thì hỗ trợ cơ chế như thư viện liên kết động (DLL) để biên dịch các module thành các thư viện độc lập và có thể gắn kết động vào hệ thống. ...
Tìm kiếm theo từ khóa liên quan:
Kiến trúc Module Lập trình Module Tích hợp Module Tích hợp hệ thống Kiến trúc hệ thống Tài liệu tích hợp hệ thống Bài giảng tích hợp hệ thống bài 3Gợi ý tài liệu liên quan:
-
Bài giảng Phân tích thiết kế hướng đối tượng: Chương 2 - Nguyễn Ngọc Duy
7 trang 224 0 0 -
Bài giảng Thương mại điện tử: Chương 4 - ThS. Thiều Quang Trung
59 trang 28 0 0 -
Bài giảng Các mô hình kiến trúc
30 trang 24 0 0 -
Bài giảng Yếu tố con người: Bài 3 - ThS. Nguyễn Kim Đức
9 trang 23 0 0 -
67 trang 22 0 0
-
Tiểu luận: Dịch vụ phần mềm và tích hợp hệ thống
50 trang 22 0 0 -
Chương 1: Kiến trúc hệ thống & Tổng quan về Hệ điều hành
44 trang 21 0 0 -
Bài giảng Truyền thông giữa các tiến trình (Inter-process communication)
18 trang 20 0 0 -
44 trang 20 0 0
-
140 trang 19 0 0