1 / 14

Reuse and Reusability (Chapter 8 of maintenance text)

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

chars
Download Presentation

Reuse and Reusability (Chapter 8 of maintenance text)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

  14. A Reuse Process Model

More Related