Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
422,1 KB
Nội dung
Cỏc kinh nghi?m quớ trong CNPM Duong Anh é?c 29 Use Use ComponentComponent Architectures Architectures Kinh nghieọm 3: Duứng kieỏn truực Component-Based Control Changes Develop Iteratively Manage Requirements Model Visually Verify Quality Các kinh nghi?m q trong CNPM Duong Anh Ð?c 30 Kiếntrúc phần mềm xác đònh: ? ? Kiến Kiếntrúctrúc phần phần mềm mềm chứa chứa đựngđựng các các quyết quyết đònh đònh quan quan trọng trọng về về tổ tổ chức chức của của hệ hệ thống thống phần phần mềm mềm ?Sự lựa chọn các phần tử cầu trúc và interface của chúng để cấu thành một hệ thống ?Hành vi được mô tả như sự cộng tác giữa các phần tử này ?Sự tổng hợp của các phẩn tử cấu trúc và hành vi này thành các subsystem lớn hơn ?Kiểu kiếntrúc đònh hướng cho tổ chức này, cho các phần tử cấu trúc và interface của chúng, các công tác, và sự tổng hợp giữa chúng Các kinh nghi?m q trong CNPM Duong Anh Ð?c 31 Các ảnh hưởng của kiếntrúc ? ? KiếnKiếntrúctrúc phần phần mềm mềm liên liên quan quan đến đến cấu cấu trúctrúc , , hành hành vi vi và và ngữ ngữ cảnh cảnh ( ( context context ): ): ?Cách dùng (Usage) ?Chức năng (Functionality) ?Hiệu năng (Performance) ?Tính co dãn (Resilience) ?Khả năng tái sử dụng (Reuse) ?Tính dễ hiểu (Comprehensibility) ?Các ràng buộc về kinh tế và kỹ thuật và các dung hòa ?Tính thẩm mỹ (Aesthetics) Các kinh nghi?m q trong CNPM Duong Anh Ð?c 32 Resilient, Component-Based Architectures ? ? Các Các kiếnkiếntrúctrúc tốt tốt thỏa thỏa mãn mãn các các y y / / c c đ đ / / v v chúng chúng , , là là tính tính đàn đàn hồi hồi , , và và componentcomponent - - based based ? ? Một Một kiếnkiếntrúctrúc đàn đàn hồi hồi cho cho phép phép ?Tăng cường khả năng dễ bảo trì và dễ mở rộng ?Khả năng tái sử dụng với lợi ích kinh tế cao ?Phân chia công việc rõ ràng trong đội ngũ PTPM ?Gói gọn các phụ thuộc phần cứng & hệ thống ? ? Một Một kiếnkiếntrúctrúccomponentcomponent - - based based cho cho phép phép ?Tái sử dụng hoặc tùy chỉnh các component sẵn có ?Chọn lựa giữa hàng ngàn component thương mại trên thò trường ?Tiến hóa không ngừng phần mềm đang tồn tại Các kinh nghi?m quí trong CNPM Duong Anh Ð?c 33 Ví duï: Component-Based Architecture Key: - Purchased - Built - New User Interface Mechanisms Oracle Vantive Customer Product Lead Tracking User Interface License Licensing User Interface Các kinh nghi?m q trong CNPM Duong Anh Ð?c 34 KiếntrúcComponent giải quyết các vấn đề Các Các ComponentComponent dễ dễ tạo tạo ra ra các các kiếnkiếntrúctrúc đàn đàn hồi hồi Tái Tái sử sử dụngdụng các các com com . . và và framework framework Thương Thương mại mại trở trở nên nên dễ dễ dàng dàng Tính Tính đơn đơn thể thể cho cho phép phép phân phân tách tách các các điều điều lo lo lắng lắng ComponentComponent cung cung cấp cấp nền nền tảng tảng tự tự nhiên nhiên cho cho quản quản lý lý cấu cấu hình hình Các Các ccụ ccụ mô mô hình hình hóa hóa trựctrực quan quan hỗ hỗ trợ trợ thiết thiết kế kế tự tự động động componentcomponent - - based based Các nguyên nhân cốt lõi Các nguyên nhân cốt lõi Cách giải quyết Cách giải quyết ? ? Thiếu Thiếu y y / / c c đ đ / / v v hệ hệ thống thống ? ? Trao Trao đổi đổi TT TT mơ mơ hồ hồ ? ? KiếnKiếntrúctrúc kém kém bền bền ? ? Quá Quá phức phức tạp tạp ? ? Đánh Đánh giá giá chủ chủ quan quan ? ? Các Các mâu mâu thuẫn thuẫn chưa chưa xác xác đònh đònh ? ? Test Test kém kém ? ? Qui Qui trình trình thác thác nước nước ? ? Các Các thay thay đổi đổi không không thể thể kiểm kiểm soát soát ? ? Thiếu Thiếu ccụ ccụ tự tự động động Các kinh nghi?m q trong CNPM Duong Anh Ð?c 35 Kinh nghiệm 4: Mô hình hóa trực quan phần mềm Control Changes Develop Iteratively Use Component Architectures Manage Requirements Verify Quality Model Model Visually Visually Các kinh nghi?m q trong CNPM Duong Anh Ð?c 36 Mô hình hóa trực quan tăng khả năng quản lý độ phức tạp của phần mềm Kinh nghiệm 4: Mô hình hóa trực quan phần mềm ? ? Nắm Nắm bắt bắt cấu cấu trúctrúc và và hành hành vi vi của của các các thành thành phần phần kiếnkiếntrúctrúc ? ? Thể Thể hiện hiện cách cách mà mà các các phần phần tử tử hệ hệ thống thống khớp khớp với với nhau nhau ? ? Che Che dấu dấu hoặc hoặc phơi phơi bày bày chi chi tiết tiết theo theo nhu nhu cầu cầu công công việc việc ? ? Duy Duy trì trì tinhd tinhd nhất nhất quán quán giữa giữa thiết thiết kế kế và và cài cài đặt đặt ? ? Tăng Tăng cường cường trao trao đổi đổi thông thông tin tin rõ rõ ràng ràng Các kinh nghi?m q trong CNPM Duong Anh Ð?c 37 UML là gì ? ? ? Unified Unified Modeling Modeling Language Language ( ( UML UML ) ) là là ngôn ngôn ngữ ngữ • đặc tả • trực quan hóa • xây dựng • làm sưu liệu các các artifact artifact của của một một hệ hệ thống thống phần phần mềm mềm Các kinh nghi?m q trong CNPM Duong Anh Ð?c 38 Các lược đồ là các khung nhìn của mô hình Một mô hình là một mô tả đầy đủ của hệ thống từ một phối cảnh cụ thể Deployment Diagrams Deployment Diagrams use-case Diagrams use-case Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Models State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams Collaboration Diagrams Activity Diagrams Activity Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Class Diagrams Class Diagrams [...]... Control hỗ trợ tất cả Best Pract ? Phát triển theo qui trình lặp ? Quản lý Y/c ? Dự án chỉ tiến triển khi đổi được kiểm soát ? Để loại bỏ sự dãn phạm giá ảnh hưởng của mọi kiến trước khi chấp nha ? Dùngkiếntrúc ? Các Component phải đa component i.e., tìm thấy phiên bản của tất cả các phần hợp ? Mô hình hóa trực ? Để bảo đảm sự hội tụ, p quan dần kiểm soát các mode thiết kế ổn đònh ? Kiểm đònh chất ?... ? ? ? ? ? ? ? ? ? ? Các use-case và s đặc tả hành vi rõ Các mô hình nắm minh các thiết ke Các kiến trúc kho hay cứng nhắc bò Các chi tiết không được che dấu khi Các thiết kế tường các mâu thuẫn de Chất lượng của ứn với bản thiết kế to Các ccụ trực quan mô hình hóa bằng Thiếu y/c đ/v HT Truyền tin mơ hồ Kiến trúc kém bền Quá phức tạp Đánh giá chủ quan Các mâu thuẫn chưa xác đònh Test kém Qui trình thác... triển song song dễ biến thành h Các kinh nghi?m q trong CNPM Duong Anh Ð?c 51 Ba khía cạnh chính của CM System Các kinh nghi?m q trong CNPM Duong Anh Ð?c 52 Các khái niệm của Configuration & C ? Phân rã kiến trúc thành các subsystem và gán thực hiện các subsystem cho mỗi nhóm ? Thiết lập vùng làm việc an toàn cho mỗi deve ?Cho phép cô lập với các thay đổi tạo bởi vùng l ?Kiểm soát tất cả software artifact... nghi?m q trong CNPM Duong Anh Ð?c 48 Các vấn đề được giải quyết nhờ kiểm Nguyên nhân cốt lõi Cách giải quyế quye ? ? ? ? ? ? Đánh giá khách qu tiêu các mâu thuần ? ? ? ? Thiếu y/c đ/v HT Truyền tin mơ hồ Kiếntrúc kém bền Quá phức tạp Đánh giá chủ quan Các mâu thuẫn chưa được xác đònh Test kém Qui trình thác nước Thay đổi không thể KS Thiếu ccụ tự động Các kinh nghi?m q trong CNPM Duong Anh Ð?c Testing đánh... test đ và các phần tử được bo các thay đổi Các kinh nghi?m q trong CNPM Duong Anh Ð?c 54 Các vần đề được giải quyết nhờ Control Nguyên nhân cốt lõi ? ? ? ? ? ? ? ? ? ? Thiếu y/c đ/v HT Truyền tin mơ hồ Kiến trúc kém bền Quá phức tạp Đánh giá chủ quan Mâu thuẫn chưa được xác đònh Test kém Qui trình thác nước Thay đổi không thể kiểm soát Thiếu ccụ tự động Các kinh nghi?m q trong CNPM Duong Anh Ð?c Cách giải... đònh Test kém Qui trình thác nước Thay đổi không thể KS Thiếu ccụ tự động Các kinh nghi?m q trong CNPM Duong Anh Ð?c 42 Kinh nghiệm 5: Kiểm đònh chất lượng p Develop Iteratively Manage Requirements Use Component Architectures Model Visually Control Changes Các kinh nghi?m q trong CNPM Duong Anh Ð?c 43 Veri Qual Kinh nghiệm 5: Kiểm đònh chất lượng phần Chi phí tìm kiếm và sửa chữa các vấn phần mềm sẽ... fillDocumen) (t 7 : readFile( ) 5 : readDoc ) ( document : Document repository : Repository Collaboration Diagram mainWnd user Á a â A Ø U Ù ÃU Ø 1: D o c vw i e fileMgr: FileMgr document : Document gFile Component Diagram repository Source Code edit, co request ( ) 2 : fetchDoc ( ) 3: create) ( 4: create) ( 5 : readDoc ( ) 7 : readFile( È A Ø A Ø U Ù A Â ÀÂ À A Ù A Õ ÁÀ ÃU Ø ) 6 : fillDocumen) (t 8 : f... kiểm đò trung vào vùng hig Tìm thấy thiếu sót phí sửa chữa thấp Các ccụ test tự đo test độ tin cậy, chư ch hiệu năng 49 Kinh nghiệm 6: Kiểm soát thay đổi tr Develop Iteratively Manage Requirements Use Component Architectures Model Visually Control Changes Các kinh nghi?m q trong CNPM Duong Anh Ð?c 50 Ve Qu Kinh nghiệm 6: Kiểm soát thay đổi tr ? ? ? ? ? ? ? Nhiều developer Nhiều team Nhiều vò trí Nhiều... Các kinh nghi?m q trong CNPM Duong Anh Ð?c 56 Tổng kết ? Kết quả là phần mềm trở nên ? ng thời hạn Đú ? o đảm ngân sách Bả ? a mãn nhu cầu userAnalyst Thỏ Projec Manage Develop Iteratively Use Manage Component Requirements Architectures Model Visually Verify Quality Tester Control Changes Các kinh nghi?m q trong CNPM Duong Anh Ð?c Relea Engine 57 . CNPM Duong Anh Ð?c 34 Kiến trúc Component giải quyết các vấn đề Các Các Component Component dễ dễ tạo tạo ra ra các các kiến kiến trúc trúc đàn đàn hồi hồi. Một kiến kiến trúc trúc component component - - based based cho cho phép phép ?Tái sử dụng hoặc tùy chỉnh các component sẵn có ?Chọn lựa giữa hàng ngàn component