Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction To Software Component Reuse

Similar presentations


Presentation on theme: "Introduction To Software Component Reuse"— Presentation transcript:

1 Introduction To Software Component Reuse
4/23/2017 Peter Raeth Ball Aerospace & Technologies Corp.

2 Overview Introducing software component reuse
4/23/2017 Introducing software component reuse Important part of software projects Potential to reduce duplication of effort Organized approach essential to succeed

3 Topics of Discussion Definition Benefits Costs Assets for Reuse
4/23/2017 Definition Benefits Costs Assets for Reuse Elements of Reuse Basic Reuse Process Project Approach Summary References

4 Definition 4/23/2017 Software component reuse is a process whereby previously created automation assets are employed by a new project as a means of improving the quality and decreasing the cost of system development. Software component reuse is the employment of existing automation assets to meet new requirements.

5 Benefits of Reuse Cheaper products Higher quality Fewer errors
4/23/2017 Cheaper products Higher quality Fewer errors Less new code Simpler testing Faster response to tasking Baseline of proven code, designs, plans

6 Some Statistics 4/23/2017 Effective construction of software from reusable parts can reduce development cost 40% Reuse can reduce life cycle cost 50% Reuse can reduce problem rates by factor of 10

7 The Flip Side Staff retraining Staff reluctance
4/23/2017 Staff retraining Staff reluctance Creating, documenting, & managing a repository Identifying reusable assets Cost to create reusable assets (1.25 times normal) Requires evolution organization process assets Unplanned reuse programs typically fail

8 Hierarchy of Reuse Requirements Specification Design Code
4/23/2017 Requirements Specification Design Code modules functions classes Documentation

9 Fundamental Elements Repositories Componentry Re-engineering
4/23/2017 Repositories storing, cataloguing, and retrieving assets Componentry partitioning and integrating software modules Re-engineering adapting existing software to new applications Domain modeling analyzing requirements relative to existing assets Frameworks known configurations of components and subsystems available to development teams

10 To Proceed Must move beyond casual or opportunistic reuse
4/23/2017 Must move beyond casual or opportunistic reuse Commitment and follow up is needed from technical staff from management Planned and managed processes are foundation for developing reusable assets for exploiting existing assets

11 Three Basic Approaches
4/23/2017 Write original code with reuse in mind Re-engineer existing assets for reuse Purchase reusable libraries

12 Basic Processes Development WITH reuse Development FOR reuse
4/23/2017 Development WITH reuse search for, evaluate, adapt, and integrate existing and appropriate knowledge, specifications, designs, code, tests, and documentation to deliver quality products in shorter time at lower costs Development FOR reuse identify what is potentially and viably reusable design, qualify, construct, and classify software artifacts for reuse in solutions other than those initially targeted

13 Recommended Approach Identify modules to incorporate in common library
4/23/2017 Identify modules to incorporate in common library Consolidate similar modules Ensure adequate documentation for each module Establish version control for resulting collection Establish coding standards for new code or mods Re-engineer code for structured framework Incorporate structured code into new object-oriented framework as class functionality Build all new code for object-oriented framework Maintain reuse mindset when adding new functionality to analyst workbench

14 Summary Plenty of value in reuse mentality
4/23/2017 Plenty of value in reuse mentality Need patience with extra up-front effort Exercise discipline regarding common library Trying to facilitate effective reuse process Hoping to earn evolution in people’s thinking

15 References 4/23/2017 Gustafson, David, A., Course notes on software reuse, Kansas State University, Department of Computing and Information Science, Apr 98 Corporate authors, “Software Reuse - A Concise Guide”, European Software Institute, Apr 98 Nulden, Urban, “The Why, What, and How of Reuse in Software Development”, white paper, Department of Informatics, Göteborg University, Sweden, Apr 98 ADDITIONAL MATERIAL Conn, Richard, “SE Software Reuse, Course Material”, Software Engineering Department, Monmouth University, Apr 98 Menzies, Tim, “Introduction to Object-Oriented Analysis and Design - Course Material”, University of South Wales, Jul 97


Download ppt "Introduction To Software Component Reuse"

Similar presentations


Ads by Google