1 / 27

Software Reuse: A Conceptual View

Software Reuse: A Conceptual View. Presented By: Youssef Alaoui Mdeghri Abdelouhab Taoufiq El Yazid Alaoui Yazidi. D ifferent S oftware P aradigm. Reuse technology. formal and informal use Reuse experiences. making an investment in reuse . r euse as decipline .

mwill
Download Presentation

Software Reuse: A Conceptual View

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Reuse:A Conceptual View Presented By: Youssef Alaoui Mdeghri Abdelouhab Taoufiq El Yazid Alaoui Yazidi

  2. Different Software Paradigm • Reuse technology. • formal and informal use • Reuse experiences. • making an investment in reuse. • reuse as decipline. • reuse starting from business processes.

  3. Different software paradigm

  4. Reuse in context • How reuse change the software process. • reuse themes. • reuse requirements. • reuse views.

  5. Reuse in context

  6. Reuse in context • Where reuse fits into software process.

  7. Reuse in context • Extending System planning to include reuse. • extending planning. • extending life cycle.

  8. Reuse readiness assessment • Purpose. • Critical Issues. • bad tool and skill preparation & time. • Procedure. • organize the reuse assessment. • goal scope for reuse. • assessment of business change. • understanding of component interaction.

  9. Reuse readiness assessment

  10. Organizing for Reuse • Purpose. • Critical Issues. • Recommended tools. • Designing Reusable Components.

  11. Purpose: • Reduce significantly the cost and time-to-market of enterprise applications by delivering the promise of large-scale software reuse and allowing the applications to be built through assembling reusable components rather than from scratch.

  12. Purpose (cntd) • Enhance the reliability of enterprise applications by allowing the applications to be developed through assembling the pre-tested reusable software components. • Improve the maintainability and flexibility of enterprise applications by allowing replacement of old components with quality components.

  13. Purpose (cntd) • Enhance the quality of enterprise applications by allowing application-domain experts to develop reusable components and software engineers to build enterprise applications by assembling the components

  14. Critical Issues • Adequate,skilled personnel resources are just as important as adequate funding to ensure that reuse goals will be accomplished. • Focus on the human division.

  15. Recommanded Tools: • Defining the types of components to reuse. • Defining how to extend software life cycle process models to incorporate reuse. • Identifying to tools to support reuse. • Extending current metrics and measures to include reuse.

  16. Recommander Tools: • Identifying areas(organizations,projects,and individuals) that offer the best opportunities for successfully practicing reuse. • Where reuse programs should therefore be implemented.

  17. Recommander Tools: • A good understanding of the requirement of the project and especially the part where we will apply the reuse. • Be sure that this component will not affect on the overall project functionality, reliability of the system.

  18. Designing Reusable Components • During the interface design phase of a project the architect can already be thinking about reuse of some particular function offered by the application. There are some techniques that will facilitate reuse: 1- Look for common behavior that exists in more than one place in the system 2- Try to generalize behavior so that it is reusable

  19. Designing Reusable Components 3- Plan on building façade controller interfaces that will make use of generalized components . Although it is possible to design with reuse in mind, one must be careful when attempting this. It is very easy to design solutions that are anything but reusable. Designing a solution that is reusable requires keeping the solution as simple as possible.

  20. Designing Reusable Components • If the component that is being designed for reuse is too complicated then one of two things will happen: it will be unusable because it is too complex; or only a small portion of the component will ever be reused because it was designed to handle much more than a consumer really needs, so a lot of effort was wasted designing and implementing it.

  21. Candidate Reusable Components • Candidature • Election • Qualification • Classification and storage • Search and Display

  22. Candidate Reusable Components • Criteria: * Isolation * Aggregation * Generalization * How ?

  23. Candidate Reusable Components * Select a sample * Equip a software environment to support the experiment * Apply the criterion * Implement the CAP * Compute Completeness and Adequacy

  24. Building Library For Reuse Components • Its Goal: • Organize • Store • Manage

  25. Building Library For Reuse Components • Defining types of components • Defining the organization structure • Selecting library tools • Defining classification

  26. Building Library For Reuse Components • Defining guidlines • Advertize • Cataloging

  27. Building Library For Reuse Components • Conclusion • Reuse is useful and beneficial to save time and money • There are some steps to respect for ensuring good Reuse process • Candidature of components is important to respect • Thanks to Dr. Kettani and your presence

More Related