User Tools

Site Tools


dido:public:ra:1.4_req:2_nonfunc:20_maintainability:reuseability

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:1.4_req:2_nonfunc:20_maintainability:reuseability [2021/08/11 13:34]
murphy
dido:public:ra:1.4_req:2_nonfunc:20_maintainability:reuseability [2021/10/30 15:01] (current)
nick
Line 32: Line 32:
 Accessed on 4 August 2020,  Accessed on 4 August 2020, 
 [[https://​pdfs.semanticscholar.org/​53d3/​37f49c7d1ef98968ae5ed7e699096974db10.pdf]] [[https://​pdfs.semanticscholar.org/​53d3/​37f49c7d1ef98968ae5ed7e699096974db10.pdf]]
-)) have developed a taxonomy for reuse based on an extensive review of the literature on Reuse and Reusability. Table {{ref>​ReuseTaxonomy}} depicts the two major elements of the reuse taxonomy: ​ **Facets**, which cover all the types of reuse, and **Terms**, which are used to describe each **Facet**. For example, the **Development Scope** **Facet** has two possible **Terms** within it: **Internal** and **External**. When describing the **Development Scoping** used in a company or project, this can be **Internal**,​ **External** or both. The **Terms** associated with each **Facet** are defined in Table {{ref>​reusedefs}}.+)) have developed a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​t:​taxonomy|taxonomy]] ​for reuse based on an extensive review of the literature on Reuse and Reusability. Table {{ref>​ReuseTaxonomy}} depicts the two major elements of the reuse taxonomy: ​ **Facets**, which cover all the types of reuse, and **Terms**, which are used to describe each **Facet**. For example, the **Development Scope** **Facet** has two possible **Terms** within it: **Internal** and **External**. When describing the **Development Scoping** used in a company or project, this can be **Internal**,​ **External** or both. The **Terms** associated with each **Facet** are defined in Table {{ref>​reusedefs}}.
  
  
Line 56: Line 56:
 <​caption>​Definitions of Types of Reuse<​sup>​[[dido:​public:​ra:​1.4_req:​2_nonfunc:​20_maintainability:​reuseability#​fn__3 | 3)]]</​sup></​caption>​ <​caption>​Definitions of Types of Reuse<​sup>​[[dido:​public:​ra:​1.4_req:​2_nonfunc:​20_maintainability:​reuseability#​fn__3 | 3)]]</​sup></​caption>​
 ^   Type of Reuse        ^    Description ​        ^ ^   Type of Reuse        ^    Description ​        ^
-^ abstract-level ​   | Abstract-level reuse is the use of high-level abstractions within an object-oriented ​inheritance structure as the foundation for new ideas or additional classification schemes. |+^ abstract-level ​   | Abstract-level reuse is the use of high-level abstractions within an [[dido:​public:​ra:​xapend:​xapend.a_glossary:​o:​oo]] ​inheritance structure as the foundation for new ideas or additional classification schemes. |
 ^ ad-hoc ​                | Ad-hoc reuse refers to the selection of components that are not designed for reuse from general libraries or where reuse is conducted by an individual in an informal manner ​ |  ^ ad-hoc ​                | Ad-hoc reuse refers to the selection of components that are not designed for reuse from general libraries or where reuse is conducted by an individual in an informal manner ​ | 
 ^ adaptive ​              | Adaptive reuse is a reuse strategy that uses large software structures as invariants and restricts variability to low-level, isolated locations. An example is changing arguments to parameterized modules. | ^ adaptive ​              | Adaptive reuse is a reuse strategy that uses large software structures as invariants and restricts variability to low-level, isolated locations. An example is changing arguments to parameterized modules. |
Line 63: Line 63:
 ^ compositional ​         | <​WRAP>​Compositional reuse is a reuse strategy that uses small parts as invariants and then uses variant functionality to link these parts together. Programming in a high level language is an example. ^ compositional ​         | <​WRAP>​Compositional reuse is a reuse strategy that uses small parts as invariants and then uses variant functionality to link these parts together. Programming in a high level language is an example.
  
-Compositional reuse is the use of existing components as building blocks for new systems. The Unix shell is an example</​WRAP>​|+Compositional reuse is the use of existing components as building blocks for new systems. The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​u:​unix|Unix]] shell is an example</​WRAP>​|
 ^ customization ​         | Customization reuse is the use of object-oriented inheritance to support incremental development. A new [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​application|application]] may inherit information from an existing [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​class|class]],​ overriding some methods in that class and adding new behaviors.| ^ customization ​         | Customization reuse is the use of object-oriented inheritance to support incremental development. A new [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​application|application]] may inherit information from an existing [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​class|class]],​ overriding some methods in that class and adding new behaviors.|
 ^ direct ​                | Direct reuse is reuse without going through an intermediate [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​entity|entity]]. | ^ direct ​                | Direct reuse is reuse without going through an intermediate [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​entity|entity]]. |
dido/public/ra/1.4_req/2_nonfunc/20_maintainability/reuseability.1628703267.txt.gz · Last modified: 2021/08/11 13:34 by murphy