tailieunhanh - Lecture Software engineering II: Chapter 28 - Dr. Muzafar Khan
Lecture 28 - Software reuse. In this chapter, the following content will be discussed: Code restructuring, data restructuring; forward engineering; client-server architectures, object-oriented architectures; economics of reengineering; cost benefit analysis; software reuse; benefits of reuse. | Software Reuse SEII-Lecture 28 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Restructuring Code restructuring, data restructuring Forward engineering Client-server architectures, object-oriented architectures Economics of reengineering Cost benefit analysis Software reuse Benefits of reuse 2 Problems with Reuse Increased maintenance costs If source code is not available of reused component Incapability with system changes Lack of tool support No support for development with reuse component Difficult/impossible to integrate such tools Particularly true for embedded system engineering Not-invented-here syndrome Some rewrites component to improve it Trust in themselves 3 Problems with Reuse Creating, maintaining, and using a component library Populating a reusable component library can be expensive Use of the library can be expensive Finding, understanding, and adapting reusable components Some components need to be discovered Understanding and adaption Developers must be confident 4 The Reuse Landscape Many techniques for software reuse in last 20 years Systems in same domain may be reused Different levels of reuse Architectural patterns Standard software architectures Design patterns Generic abstractions Component-based development Integration of components Component-model standards 5 The Reuse Landscape Application frameworks Collection of abstract and concrete classes Legacy system wrapping Wrapped by new user interfaces Service-oriented systems Linking by shared services Software product lines Generalized architecture to be customized for different customers COTS product reuse Configuring and integrating existing application systems 6 The Reuse Landscape ERP systems Large scale systems with generic business functionality and rules Configurable vertical applications Generic systems are designed Configured for specific needs Program libraries Class and function libraries Model-driven engineering Software as domain . | Software Reuse SEII-Lecture 28 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Restructuring Code restructuring, data restructuring Forward engineering Client-server architectures, object-oriented architectures Economics of reengineering Cost benefit analysis Software reuse Benefits of reuse 2 Problems with Reuse Increased maintenance costs If source code is not available of reused component Incapability with system changes Lack of tool support No support for development with reuse component Difficult/impossible to integrate such tools Particularly true for embedded system engineering Not-invented-here syndrome Some rewrites component to improve it Trust in themselves 3 Problems with Reuse Creating, maintaining, and using a component library Populating a reusable component library can be expensive Use of the library can be expensive Finding, understanding, and adapting reusable components Some components need to be discovered Understanding
đang nạp các trang xem trước