Download
software reuse n.
Skip this Video
Loading SlideShow in 5 Seconds..
Software Reuse PowerPoint Presentation
Download Presentation
Software Reuse

Software Reuse

27 Vues Download Presentation
Télécharger la présentation

Software Reuse

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Software Reuse • Objectives • To explain the software reuse, its benefits and some reuse problems • To describe different types of software reuse and how they can be incorporated into the software development at various levels

  2. Reuse-based software engineering • Application system reuse • The whole of an application system may be reused either by incorporating it without change into other systems or by developing application families • Component reuse • Components of an application from sub-systems to single objects may be reused • Function reuse • Software components that implement a single well-defined function may be reused

  3. Types of Software Reuse • Ad-hoc reuse • Intra-Project reuse • Inter-Project reuse • Enterprise-level reuse • Horizontal Reuse • Vertical Reuse

  4. Component development for reuse • Components for reuse may be specially constructed by generalising existing components • Component reusability • Should reflect stable domain abstractions • Should hide state representation • Should be as independent as possible • The more general the interface, the greater the reusability

  5. Reusable components • The development cost of reusable components is higher than the cost of specific equivalents. • This extra reusability enhancement cost should be an organization rather than a project cost • Generic components may be larger and slower than their specific equivalents

  6. Reusability standards • Name generalisation • Operation generalisation • Exception generalisation • Component certification

  7. Reusable Component Design

  8. Application families • An application family or product line is a related set of applications that has a common, domain-specific architecture • The common core of the application family is reused each time a new application is required • Each specific application is specialised in some way • Application family architectures must be structured in a way that separates different sub-systems and allows them to be modified

  9. Application family specialisation • Platform specialisation • Different versions of the application are developed for different platforms • Configuration specialisation • Different versions of the application are created to handle different peripheral devices • Functional specialisation • Different versions of the application are created for different customers

  10. Training and incentives for reuse • Specialized training of the staff is very essential • People should be convinced about the concept behind reuse and its benefits • Providing incentives to the individuals who contribute to the reuse initiative • Long term vs. short term benefits

  11. Benefits of reuse • Increased reliability • Components already tested • Reduced process risk • Less uncertainty in development costs • Effective use of specialists • Reuse of components instead of people • Standards compliance • Accelerated development

  12. Reuse problems • Lack of tool support • Maintaining a component library • Finding and adapting reusable components • No planning for reuse • Reuse confined to an individual or within one system • Limited to code-level reuse • No or negative reuse incentives • Cost of reuse is too high • Inability to recognize what has high potential for reuse • No reuse activities defined as part of the software life cycle process