270 likes | 284 Views
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 .
E N D
Software Reuse:A Conceptual View Presented By: Youssef Alaoui Mdeghri Abdelouhab Taoufiq El Yazid Alaoui Yazidi
Different Software Paradigm • Reuse technology. • formal and informal use • Reuse experiences. • making an investment in reuse. • reuse as decipline. • reuse starting from business processes.
Reuse in context • How reuse change the software process. • reuse themes. • reuse requirements. • reuse views.
Reuse in context • Where reuse fits into software process.
Reuse in context • Extending System planning to include reuse. • extending planning. • extending life cycle.
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.
Organizing for Reuse • Purpose. • Critical Issues. • Recommended tools. • Designing Reusable Components.
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.
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.
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
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.
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.
Recommander Tools: • Identifying areas(organizations,projects,and individuals) that offer the best opportunities for successfully practicing reuse. • Where reuse programs should therefore be implemented.
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.
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
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.
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.
Candidate Reusable Components • Candidature • Election • Qualification • Classification and storage • Search and Display
Candidate Reusable Components • Criteria: * Isolation * Aggregation * Generalization * How ?
Candidate Reusable Components * Select a sample * Equip a software environment to support the experiment * Apply the criterion * Implement the CAP * Compute Completeness and Adequacy
Building Library For Reuse Components • Its Goal: • Organize • Store • Manage
Building Library For Reuse Components • Defining types of components • Defining the organization structure • Selecting library tools • Defining classification
Building Library For Reuse Components • Defining guidlines • Advertize • Cataloging
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