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

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

  • View
    218

  • Download
    5

Embed Size (px)

Citation preview

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

Software Reuse:A Conceptual View

Presented By:

Youssef Alaoui MdeghriAbdelouhab Taoufiq

El Yazid Alaoui Yazidi

Page 2: 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.

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

Different software paradigm

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

Reuse in context

How reuse change the software process.reuse themes.reuse requirements.reuse views.

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

Reuse in context

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

Reuse in context

Where reuse fits into software process.

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

Reuse in context

Extending System planning to include reuse.extending planning.extending life cycle.

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

Reuse readiness assessmentPurpose.

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.

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

Reuse readiness assessment

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

Organizing for Reuse

Purpose.

Critical Issues.

Recommended tools.

Designing Reusable Components.

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

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.

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

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.

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

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

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

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.

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

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.

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

Recommander Tools:

Identifying areas(organizations,projects,and individuals) that offer the best opportunities for successfully practicing reuse.

Where reuse programs should therefore be implemented.

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

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.

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

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

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

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.

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

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.

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

Candidate Reusable Components

Candidature

Election

Qualification

Classification and storage

Search and Display

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

Candidate Reusable Components

Criteria:

* Isolation

* Aggregation

* Generalization

* How ?

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

Candidate Reusable Components

* Select a sample

* Equip a software environment to support the experiment

* Apply the criterion

* Implement the CAP

* Compute Completeness and Adequacy

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

Building Library For Reuse Components

Its Goal:OrganizeStoreManage

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

Building Library For Reuse Components

Defining types of components

Defining the organization structure

Selecting library tools

Defining classification

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

Building Library For Reuse Components

Defining guidlines

Advertize

Cataloging

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

Building Library For Reuse Components

ConclusionReuse is useful and beneficial to save time

and moneyThere are some steps to respect for

ensuring good Reuse processCandidature of components is important to

respectThanks to Dr. Kettani and your presence