Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reuse and Reusability (Chapter 8 of maintenance text) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Image from

Similar presentations


Presentation on theme: "Reuse and Reusability (Chapter 8 of maintenance text) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Image from"— Presentation transcript:

1 Reuse and Reusability (Chapter 8 of maintenance text) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Image from http://www.lancashire.gov.uk/environment/waste/reduction/reuse.asp?print=yes.http://www.lancashire.gov.uk/environment/waste/reduction/reuse.asp?print=yes

2 2 Today Your feedback on HW2 Your feedback on HW2 Armadillo Run & requirements discussion Armadillo Run & requirements discussion Lab time – Help on project design & coding Lab time – Help on project design & coding Reuse & reusability – this Reuse & reusability – this

3 3 Using “Reuse Maintenance Process Model” (from Chapter 5) Advantages Advantages Can use components, etc. from other projects Can use components, etc. from other projects Code is modular Code is modular Disadvantages Disadvantages Overhead in designing for reuse Overhead in designing for reuse

4 4 A prime example of reuse strategy – Product lines Enhance & maintain a base platform Enhance & maintain a base platform Enhance & maintain multiple products on top of that base Enhance & maintain multiple products on top of that base Where’s the reuse advantage? Where’s the reuse advantage? Image from www.hobbsamerica.com/.www.hobbsamerica.com/

5 5 Product lines – and where’s the overhead? Image from www.jot.fm/issues/issue_2004_03/column6/.www.jot.fm/issues/issue_2004_03/column6/ A typical ongoing activity – extract commonalities for upcoming releases:

6 6 Targets for Reuse Process Process Specific – like “how we adapted the last system to work with Oracle” Specific – like “how we adapted the last system to work with Oracle” Personnel Personnel No such thing as a “technical head count year” No such thing as a “technical head count year” Product Product More of a business strategy, maybe – adapt software to a new target market More of a business strategy, maybe – adapt software to a new target market

7 7 Targets for Reuse, cntd Data Data Especially reusing test data Especially reusing test data Design Design Higher level = more useful Higher level = more useful Why isn’t this done more? Why isn’t this done more? Why is it done in compilers? Why is it done in compilers? Program Program This is the one you’d expect This is the one you’d expect

8 8 Maintenance Motivations Reduction in time and effort Reduction in time and effort Higher quality Higher quality Improve maintainability Improve maintainability Code “transportation” Code “transportation” PC to Mac PC to Mac Stand-alone to server-based Stand-alone to server-based US to Japan US to Japan Image from jcmc.indiana.edu/vol9/issue1/nishimura.html.jcmc.indiana.edu/vol9/issue1/nishimura.html

9 9 Approaches to Reuse – Composition Essence of the “Reuse model” – Fig 5.18 Essence of the “Reuse model” – Fig 5.18 Components Components Black box Black box White box White box Classes Classes Keep spawning children, intelligently! Keep spawning children, intelligently! Image from www.ppsv.net/WeProvide.htm.www.ppsv.net/WeProvide.htm

10 10 Approaches to Reuse – Generation Parameterized systems Parameterized systems Application generators Application generators

11 11 Approaches to Reuse – Transformation Input the requirements… Input the requirements… Output a new system! Output a new system! Two kinds: Two kinds: Stepwise refinement Stepwise refinement Linguistic transformation Linguistic transformation

12 12 Intro to Components Two strategies: Two strategies: Horizontal – use in lots of domains Horizontal – use in lots of domains Vertical – use to solve common problems in a domain Vertical – use to solve common problems in a domain Require domain analyses Require domain analyses “Essence of OO” “Essence of OO”

13 13 Intro to Components – cntd Characteristics of reusable components: Characteristics of reusable components: Generality Generality Cohesion vs coupling Cohesion vs coupling Interaction – with user, utility fns Interaction – with user, utility fns Uniformity and standardization Uniformity and standardization Data & control abstractions Data & control abstractions More on these – Read Sec 8.7 More on these – Read Sec 8.7

14 14 A Reuse Process Model


Download ppt "Reuse and Reusability (Chapter 8 of maintenance text) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture Image from"

Similar presentations


Ads by Google