software reuse ppt

Post on 20-Jan-2017

1.885 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

HI-TECH INSTITUTE OF ENGINEERING AND TECHNOLOGY

PRESENTATION ON

SOFTWARE REUSEB.TECH-3rd Year

DEPARTMENT OF IT

INTRODUCTION

• Software reuse is the process of implementing or updating software systems using existing software components.

• To achieve better software quality more quickly at lower costs, software engineers are beginning to adopt systematic reuse as a design process.

WHAT IS SOFTWARE ?

• Anything that can be stored electronically is software.

• Example : Microsoft word etc.• It is generally developed by software firms for their

clients under formal business contracts.• It generally requires some modification from time to

time to accommodate changes taking place in the organization and the environment.

• Ethical issues (like protecting privacy) are also taken into consideration in designing software.

SOFTWARE REUSE

• Software reuse is the use of existing software or software knowledge to build new software for an individual or an organization.

• Software reuse is also called as “Code Reuse”.• Systematic software reuse is still the most promising

strategy for increasing productivity and improving quality in the software industry.

• Example of software reuse is software library .

PURPOSE OF REUSE

• CHEAPER PRODUCTS : It includes shorter development time ,easier maintenance .

• BETTER QUALITY PRODUCTS : Code that was written for reuse should has better specifications and should be thoroughly tested.

BENEFITS OF REUSE

• It is cheaper.• It produces less buggy code.• It saves your time since you don’t have to

continuously reinvent the wheel.• It also helps the developers.• Higher quality products .• Less development time.

TYPES OF REUSE

• Concerning motivation and driving factors , reuse can be :

• Opportunistic - While getting ready to begin a project, the team realizes that there are existing components that they can reused.

• Planned - A team strategically designs components so that they'll be reusable in future projects.

TYPES OF SOFTWARE REUSE

• Application System Reuse : It is concerned with reusing an entire application inside another.

• For example : MS-Office • Component Reuse : It is concerned with

components of one application reused in another application.

REUSE PLANNING FACTORS

• The development schedule for the software.• The expected software lifetime.• The background , skills and experience of

development team.• The execution platform of the software.

BARRIERS TO MAKING SOFTWARE AVAILABLE FOR REUSE

• Increased maintenance cost.• Lack of tool support.• Lack of knowledge.

BARRIERS TO MAKING SOFTWARE AVAILABLE FOR REUSE

APPROACHES THAT SUPPORTS REUSE

• Architectural patterns • Design patterns • Component-based development •  Application frameworks • Legacy system wrapping • Service-oriented systems • ERP Systems.

ARCHITECTURAL PATTERNS

• An architectural pattern is a widely recognized and reused solution to a recurring design problem in the field of software architecture .

• The architectural patterns addresses various issues in software engineering such as computer hardware performance limitations, high availability and minimization of a business risks.

DESIGN PATTERNS• In software engineering ,a design pattern is a general

reusable solution to a commonly occurring problem within a given context in software design .

• A design pattern is a way of reusing abstract knowledge about a problem and its solution .

• There are many types of design patterns such as :• Algorithm strategy patterns• Computational design patterns• Execution patterns

TOOLS USED IN REUSE

• Component management tools such as repositories for architectures, designs, documentation and code must be developed and maintained .

• Domain analysis tools and procedures for the development and maintenance of a domain architecture .

ISSUES WITH REUSABLE COMPONENTS

• Higher cost of developing reusable components.

• Performance issues : Generic components may be less space-efficient and may have longer execution times than their specific equivalents.

CONCLUSION

• A good software reuse process facilitates the increase of productivity, quality and reliability and decreases the costs and implementation time.

• By far the most important part of the reuse process is the people.

• If the people in the organization do not understand the concepts behind reuse and do not see the benefits, reuse won't happen.

• Reuse processes and procedures must be incorporated into the existing software development process.

THANK YOU

top related