công nghệ phần mềm chương 6 thiết kế kiến trúc

77 1.1K 2
công nghệ phần mềm chương 6 thiết kế kiến trúc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Công Nghệ Phần Mềm 1 CÔNG NGHỆ PHẦN MỀM Chương 6 Thiết kế kiến trúc MÔN HỌC TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM Công Nghệ Phần Mềm 2 5.1 Thi 5.1 Thi ế ế t k t k ế ế trong công ngh trong công ngh ệ ệ ph ph ầ ầ n m n m ề ề m m Analysis Model use-cases - text use-case diagrams act ivit y diagrams swim lane diagrams dat a f low diagrams cont rol-flow diagrams processing narrat ives flow-oriented elements behavioral elements class-based elements scenario-based elements class diagrams analysis packages CRC models collaboration diagrams st at e diagrams sequence diagrams Dat a/ Class Design Architectural Design Interface Design Component - Level Design Design Model Công Nghệ Phần Mềm 3 Chương Chương 6: Thi 6: Thi ế ế t k t k ế ế ki ki ế ế n tr n tr ú ú c c • 6.1 Kiến trúc? • 6.2 Loại kiến trúc (style) • 6.3 Thiết kế kiến trúc • 6.4 Ánh xạ data flow thành kiến trúc • 6.5 Tạo mô hình điều khiển • 6.6 Đánh giá kiến trúc • 6.7 Một số mô hình ứng dụng Công Nghệ Phần Mềm 4 6.1 Ki 6.1 Ki ế ế n tr n tr ú ú c? c? • Kiến trúc của chương trình hay hệ thống tính toán là một cấu trúc hay những cấu trúc của hệ thống mà bao gồm những thành phần phần mềm, tính chất có thể thấy được từ bên ngoài của những thành phần này và những quan hệ của chúng • Kiến trúc cho phép kỹ sư phần mềm thực hiện  Phân tích hiệu quả việc đáp ứng các yêu cầu phần mềm  Dễ chọn lựa kiến trúc trong các giai đoạn kế tiếp  Làm giảm rủi ro trong việc xây dựng phần mềm Công Nghệ Phần Mềm 5 T T ạ ạ i sao ki i sao ki ế ế n tr n tr ú ú c l c l à à quan tr quan tr ọ ọ ng ng • Cho phép truyền thông giữa các stakeholder • Kiến trúc rõ ràng giúp cho những quyết định thiết kế dễ dàng • Kiến trúc là mô hình cho biết cấu trúc của hệ thống các thành phần làm việc với nhau như thế nào Công Nghệ Phần Mềm 6 Thi Thi ế ế t k t k ế ế d d ữ ữ li li ệ ệ u u • Ở mức kiến trúcThiết kế một hay nhiều cơ sở dữ liệu để hỗ trợ kiến trúc ứng dụng  Thiết kế phương thức cho việc khai thác nhiều CSDL • Duyệt các CSDL • Kho dữ liệu (data warehouse) là CSDL độc lập mà có thể truy cập tới nhiều CSDL Công Nghệ Phần Mềm 7 Data mining v Data mining v à à data warehourse data warehourse • Kỹ thuật data mining còn gọi là khám phá tri thức trong CSDL, sẽ trích dẫn thông tin cần thiết qua nhiều CSDL • Data warehourse là một CSDL độc lập lớn mà có thể truy xuất dữ liệu từ một số CSDL nhằm phục vụ cho một sốứng dụng • Danh sách đầy đủ những công cụ data mining/data warehourse ở WWW.dwinfocenter.org Công Nghệ Phần Mềm 8 Thi Thi ế ế t k t k ế ế d d ữ ữ li li ệ ệ u (tt) u (tt) • Ở mức thành phần  Tinh chế các đối tượng dữ liệu và phát triển một tập những trừu tượng dữ liệu  Hiện thực những thuộc tính dữ liệu như là một hay nhiều cấu trúc dữ liệu  Kiểm tra cấu trúc dữ liệu để đảm bảo rằng các quan hệ thích hợp đã được tạo  Đơn giản cấu trúc dữ liệu Công Nghệ Phần Mềm 9 Nguyên lý khi thi Nguyên lý khi thi ế ế t k t k ế ế d d ữ ữ li li ệ ệ u u ở ở m m ứ ứ c th c th à à nh ph nh ph ầ ầ n n • Những nguyên lý phân tích có tính hệ thống áp dụng cho chức năng và hành vi cũng được áp dụng cho dữ liệu: biểu diễn luồng dữ liệu và nội dung phải được phát triển và kiểm tra, xác định đối tượng dữ liệu, những tổ chức dữ liệu thay thế, những tác động của mô hình dữ liệu trên thiết kế phần mềm sẽ được thẩm định. • Phải xác định tất cả cấu trúc dữ liệu và những tác vụ thực hiện trên mỗi cấu trúc • Dùng kỹ thuật xác định nội dung cho mỗi đối tượng dữ liệu dùng để xác định dữ liệu và tác vụ được áp dụng. Dùng mô hình class với thuộc tính và phương thức Công Nghệ Phần Mềm 10 Thi Thi ế ế t k t k ế ế d d ữ ữ li li ệ ệ u u ở ở m m ứ ứ c th c th à à nh ph nh ph ầ ầ n (tt) n (tt) • Những quyết định thiết kế dữ liệu mức thấp phải trì hoãn cho đến cuối của quá trình thiết kế • Biểu diễn cấu trúc dữ liệu phải được biết chỉ cho những module trực tiếp sử dụng dữ liệu trong cấu trúc • Tạo thư viện cấu trúc dữ liệu hữu dụng và những tác vụ sử dụng chúng • Thiết kế phần mềm và ngôn ngữ lập trình phải hỗ trợ đặc tả và hiện thực những loại cấu trúc dữ liệu trừu tượng [...]... dữ liệu Công Nghệ Phần Mềm 20 Kiến trúc luồng dữ liệu Công Nghệ Phần Mềm 21 Kiến trúc gọi trả về (tt) • Kiến trúc chương trình chính /chương trình con (main program/subprogram) • Kiến trúc RPC (remote procedure call): các chương trình phân bổ qua nhiều máy tính trên mạng Công Nghệ Phần Mềm 22 Chương trình chính /chương trình con Công Nghệ Phần Mềm 23 Kiến trúc tầng Công Nghệ Phần Mềm 24 Mẫu kiến trúc (Pattern)... thuật, gồm thiết kế: Kiến trúc, giao diện… Quy trình thiết kế kiến trúc nhằm xác định hệ thống gồm các hệ thống con cùng một framework giúp điều khiển các hệ thống con và giao tiếp giữa chúng Công Nghệ Phần Mềm 27 Các vấn đề Thiết kế kiến trúc (tt) • Kết quả của quy trình thiết kế này là đặc tả về kiến trúc phần mềmThiết kế kiến trúc thường được thực hiện song song với việc đặc tả • Kiến trúc có thể... persistence), Vd: xử lý từ Công Nghệ Phần Mềm 25 Mẫu kiến trúc (Pattern) • Distribution (phân bố): cách thức mà hệ thống hay là những thành phần trong hệ thống truyền thông với những thánh phần khác qua môi trường phân bố Người môi giới (broker) Giữa thành phần client và server Công Nghệ Phần Mềm 26 6.3 Thiết kế kiến trúc • Các vấn đề Thiết kế kiến trúc Trong giai đoạn thiết kế, các kết quả của quá trình... người thiết kế hiểu những thuộc tính tổng thể của hệ thống Công Nghệ Phần Mềm 18 Loại kiến trúc (style) • Có thể kết hợp nhiều loại kiến trúc: • Vd: kiến trúc tầng kết hợp với kiến trúc trung tâm dữ liệu trong nhiều ứng dụng CSDL • • • • • Công Nghệ Phần Mềm Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures 19 Kiến trúc. .. Chuyển dịch kếtSystem software quả 11 Kiến trúc ba tầng (tt) Giao diện diện Giao diện Xử lý Đối tượng mô tả thế giới thực Công Nghệ Phần Mềm Truy cập dữ liệu 12 Thiết kế lớp tầng nghiệp vụ Tầng giao diện Tầng nghiệp vụ Hệ thống thực tế Sơ đồ lớp Tầng truy cập dữ liệu Công Nghệ Phần Mềm 13 Xác định lớp tầng truy cập dữ liệu Tầng nghiệp vụ Tầng truy cập dữ liệu CSDL vật lý Tập tin Công Nghệ Phần Mềm Bảng... phần tốt Công Nghệ Phần Mềm 29 Các xung đột • Trong quá trình thiết kế kiến trúc có thể xảy ra các xung đột Sử dụng nhiều thành phần lớn sẽ tăng hiệu năng nhưng giảm sự linh động Nếu dữ liệu bị dư thừa thì sẽ cải thiện tính sẵn dùng nhưng làm cho việc bảo mật khó khăn hơn Tăng cường tính an toàn và bảo mật sẽ làm giảm hiệu năng Công Nghệ Phần Mềm 30 Những câu hỏi thông thường • Thiết kế kiến trúc là... thành phần có sẵn • Phải đồng nhất và hợp thành khối • Phù hợp với những biến đổi • Thiết kế có mức trừu tượng cao, không phải là tạo code • Thiết kế phải được kiểm tra chất lượng khi đang xây dựng chứ không phải khi có vấn đề • Phải kiểm tra để giảm thiểu lỗi Công Nghệ Phần Mềm 32 Các bước thiết kế kiến trúcPhần mềm phải đặt trong ngữ cảnh Xác định thực thể ngoài (con người, hệ thống khác, thiết. .. Xác định lớp tầng truy cập dữ liệu Tầng nghiệp vụ Tầng truy cập dữ liệu CSDL vật lý Tập tin Công Nghệ Phần Mềm Bảng Bảng Bảng 14 Thiết kế tầng giao diện hệ thống ATM • Thiết kế mẫu giao diện: MáyATM_GD Công Nghệ Phần Mềm 15 GiaoDịchGD (Rút tiền) Công Nghệ Phần Mềm 16 Thiết kế tầng giao diện hệ thống ATM : KháchHàng : MáyATM_GD Chọn nút rút tiền : KháchHàng : ĐiềuKhiểnGiaoDịch : GiaoDịchGD : TàiKhoản... định một tập nguyên mẫu (archetype) kiến trúc Nguyên mẫu là một sự trừu tượng (tương tự class) mà biểu diễn cho một thành phần của hành vi hệ thống • Người thiết kế chỉ ra cấu trúc của hệ thống bằng cách xác định và tinh chế những thành phần mà thực thi mỗi archetype Công Nghệ Phần Mềm 33 Nguyên mẫu (Archetype) Controller communicates with Node Detector Công Nghệ Phần Mềm Indicator Figure 10.7 UML relationships... tạoMới() gánThôngTin() Rút thành công cậpNhậtGiaoDịch() Rút không thành công Kết quả thôngBáo() Công Nghệ thông báo cho khách hàng Kết quả Phần Mềm inHoáĐơn() 17 6. 2 Loại kiến trúc (style) • (1) Tập các thành phần (component) (e.g., a database, computational modules) • (2) Một tập những bộ kết nối (connector) cho phép “communication, coordination and cooperation” giữa các thành phần • (3) Những ràng buộc . Công Nghệ Phần Mềm 1 CÔNG NGHỆ PHẦN MỀM Chương 6 Thiết kế kiến trúc MÔN HỌC TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM Công Nghệ Phần Mềm 2 5.1 Thi 5.1 Thi ế ế t k t k ế ế trong công ngh trong công. Design Design Model Công Nghệ Phần Mềm 3 Chương Chương 6: Thi 6: Thi ế ế t k t k ế ế ki ki ế ế n tr n tr ú ú c c • 6. 1 Kiến trúc? • 6. 2 Loại kiến trúc (style) • 6. 3 Thiết kế kiến trúc • 6. 4 Ánh xạ data. flow thành kiến trúc • 6. 5 Tạo mô hình điều khiển • 6. 6 Đánh giá kiến trúc • 6. 7 Một số mô hình ứng dụng Công Nghệ Phần Mềm 4 6. 1 Ki 6. 1 Ki ế ế n tr n tr ú ú c? c? • Kiến trúc của chương trình

Ngày đăng: 01/07/2014, 12:34

Từ khóa liên quan

Mục lục

  • 5.1 Thiết kế trong công nghệ phần mềm

  • Chương 6: Thiết kế kiến trúc

  • 6.1 Kiến trúc?

  • Tại sao kiến trúc là quan trọng

  • Thiết kế dữ liệu

  • Data mining và data warehourse

  • Thiết kế dữ liệu (tt)

  • Nguyên lý khi thiết kế dữ liệu ở mức thành phần

  • Thiết kế dữ liệu ở mức thành phần (tt)

  • ATM Kiến trúc ba tầng (tree-layer)

  • Kiến trúc ba tầng (tt)

  • Thiết kế lớp tầng nghiệp vụ

  • Xác định lớp tầng truy cập dữ liệu

  • Thiết kế tầng giao diện hệ thống ATM

  • GiaoDịchGD (Rút tiền)

  • Thiết kế tầng giao diện hệ thống ATM

  • 6.2 Loại kiến trúc (style)

  • Loại kiến trúc (style)

  • Kiến trúc trung tâm dữ liệu

  • Kiến trúc luồng dữ liệu

Tài liệu cùng người dùng

Tài liệu liên quan