Thursday 29 December 2011

Types of Software Reuse, Software Assets?


Types of Software Reuse:
Opportunistic reuse - While getting ready to begin a project, the team realizes that there are existing components that they can reuse.
      Planned reuse - A team strategically designs components so that they'll be reusable in future projects.
Opportunistic reuse can be categorized further:
  • Internal reuse - A team reuses its own components. This may be a business decision, since the team may want to control a component critical to the project.
  • External reuse - A team may choose to license a third-party component. Licensing a third-party component typically costs the team 1 to 20 percent of what it would cost to develop internally. The team must also consider the time it takes to find, learn and integrate the component.
Examples:
` 1. Software libraries :
A very common example of code reuse is the technique of using a software library. Many common operations, such as converting information among different well-known formats, accessing external storage, interfacing with external programs, or manipulating information (numbers, words, names, locations, dates, etc.) in common ways, are needed by many different programs.
` 2. Design patterns:
A design pattern is a general solution to a recurring problem. Design patterns are more conceptual than tangible and can be modified to fit the exact need. However, abstract classes and interfaces can be reused to implement certain patterns.
Software Asset:
What is a Software Asset? Any part of the software process that can be reused!!
Types of Reusable Assets:
      Code


      Requirements
      Architecture/design documents
      Test Plans
      Templates for any asset
      Design decisions
Attributes of asset
  • unique ID
  • is_composed_of (file)
  • is_understood_by (teacher)
Stages in Reuse:   Code reuse involves three basic steps:
      Accessing the code
      Understanding the code
      Adapting the code
Reuse Process:
Start
 Search library
    If  identical match
     Then
       End
    Else
       Collect similar components
       For each component
          Compute degree of match
       End
       Rank and select best component
       Modify component
    Fi
End


No comments:

Post a Comment