Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 7: Sử dụng lại, dễ di chuyển và vận hành tương tác
Nội dung:
? Các khái niệm về sử dụng lại
? Trở ngại của việc sử dụng lại
? Sử dụng lại trong các giai đoạn thiết kế và cài đặt
? Dễ di chuyển
? Vận hành t-ơng tác
Huỳnh Xuân Hiệp - CNPM 80 7 sử dụng lại, dễ di chuyển vμ vận hμnh t−ơng tác (REUSABILITY, PORTABILITY, AND INTEROPERABILITY) Nội dung: Các khái niệm về sử dụng lại Trở ngại của việc sử dụng lại Sử dụng lại trong các giai đoạn thiết kế và cài đặt Dễ di chuyển Vận hành t−ơng tác Huỳnh Xuân Hiệp - CNPM 81 7.1 Các khái niệm về sử dụng lại (reuse concepts) Sử dụng lại là việc lấy một bộ phận của sản phẩm này để phát triển thuận lợi sản phẩm khác (với chức năng khác) Bộ phận đ−ợc sử dụng lại có thể là một mô-đun, một đoạn mã lệnh, một thiết kế, một phần h−ớng dẫn sử dụng, một tập dữ liệu kiểm thử, một −ớc l−ợng về thời gian và giá thành,... Có 2 dạng sử dụng lại: ngẫu nhiên (accidental reuse), một số bộ phận của sản phẩm cũ vẫn đ−ợc sử dụng cho sản phẩm mới thảo luận (delibrate reuse), bộ phận đang đ−ợc thực hiện sẽ đ−ợc sử dụng lại trong t−ơng lai Theo thống kê, khoảng 85% bộ phận của sản phẩm cũ đ−ợc sử dụng lại Một số ví dụ: các giao diện lập trình ứng dụng của Microsoft (application programming interface - API) các th− viện của C, C++,... Huỳnh Xuân Hiệp - CNPM 82 7.2 Trở ngại của việc sử dụng lại (impediments to reuse) Bản ngã, các nhà chuyên nghiệp th−ờng viết các bộ phận từ đầu chứ không sử dụng lại của ng−ời khác Chất l−ợng của bộ phận sử dụng lại Phục hồi lại các bộ phận cũ hữu ích Giá thành cao khi sử dụng lại Một số tr−ờng hợp nghiên cứu Raytheon Missile Systems Division: 40-60% thiết kế và mô-đun,... Toshiba Software Factory: 32% tài liệu, thiết kế 33%, mã lệnh 48%,... NASA Software: 35% mã lệnh, 45% mô-đun,... ... Huỳnh Xuân Hiệp - CNPM 83 7.3 Sử dụng lại trong các giai đoạn thiết kế và cài đặt (reuse during the design and implementation phases) Th− viện(libraries) hay bộ công cụ (toolkit) GUI (graphical user interface), Java Abstract Windowing Toolkit,... Khung ứng dụng (framework): kết hợp sự điều khiển luận lý của thiết kế, xây dựng ứng dụng với các thao tác giống hệt sản phẩm tr−ớc đó MacApp cho các máy Macintosh, The Microsoft Foundation Class Library - MFC, Borland’s Visual Component Library - VCL, Object Windows Library - OWL Mẫu thiết kế (design patterns) Abstract Factory [Gamma, Helm, Johnson và Vlissides, 1995] Kiến trúc phần mềm (software architecture) Sử dụng lại và bảo trì Hoạt động % giá thành % tiết kiệm do sử dụng lại Phát triển Bảo trì 33% 9.3% 67% 17.9% Hình 7.1 Số liệu với 40% bộ phận đ−ợc đ−ợc sử dụng lại Huỳnh Xuân Hiệp - CNPM 84 7.4 Dễ di chuyển (portability) Định nghĩa [Mooney, 1990] : một sản phẩm đ−ợc cho là dễ di chuyển nếu với chi phí không lớn lắm có thể thực thi đ−ợc trên một máy tính mới thay vì phải viết lại từ đầu Một số vấn đề cần quan tâm không t−ơng thích phần cứng (hardware incompatibilities) không t−ơng thích hệ điều hành (operating system incompatibilities) không t−ơng thích về số hoá phần mềm (numerical software incompatibilities). VD: 16 bits hay 32 bits không t−ơng thích trình biên dịch (compiler incompatibilities) Một số kỹ thuật nhằm đạt đ−ợc tính dễ di chuyển hệ thống phần mềm dễ di chuyển (portable system software) hệ thống phần mềm ứng dụng dễ di chuyển (portable application software) dữ liệu dễ di chuyển (portable data) Huỳnh Xuân Hiệp - CNPM 85 7.5 Vận hành t−ơng tác (interoperability) Định nghĩa: là sự hợp tác qua lại trên các đối t−ợng mã lệnh từ nhiều nhà sản xuất phần mềm khác nhau, đ−ợc viết trên nhiều ngôn ngữ lập trình khác nhau và thực thi trên nhiều hệ điều hành khác nhau Một số ví dụ OLE (object linking and embedding),1990, là một phần của Windows 3.0, hỗ trợ các tài liệu phức hợp về xử lý văn bản, bảng tính,... COM (component object model) là b−ớc phát triển tiếp theo của OLE ActiveX năm 1996, có nối kết với Internet; giống OLE và COM DCOM (distributed COM), 1996, hỗ trợ phân tán trên các nền hệ điều hành khác nhau COM+, COM3 là các phiên bản h−ớng đối t−ợng CORBA (common object request broker architecture) hỗ trợ các ứng dụng phần mềm vận hành t−ơng tác trên các máy khác nhau trong cùng một môi tr−ờng phân tán [OMG, 1993] (Object Management Group)
File đính kèm:
- Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 7 Sử dụng lại, dễ di chuyển và vận hành tương tác.pdf