Saturday, March 10, 2018

20. Software Reuse vs Reusability

REUSE 

use of some previously constructed software
Such as a source code , library , component , a requirement , a design

Benefits of Reuse
  • it saves development effort in a new project
  • reused modules could be well  tested and already executed
  • it saves time allocations , resources , budget allocation , therefore it makes project management convenient
  • standardization
** In order to reuse a component , the component should be reusable
there are many levels of software reuse
  • a line of code
  • a function
  • a module
  • a component
  • a package
  • a sub system
  • an entire program
problems of reuse
  • mismatch of requirements of originally build product and new product
  • issues in components such as hidden errors , incompatibilities may be revealed at later adoptations
  • cost of reuse could be high
Software Reusability

it is the ability that a software or a component is constructed in such a way , that it could be easily adopted , modified  or reused in other projects in future. not only codes , but also , documents , test plans , design diagrams , requirements could be developed in a reusable manner. reusability is a tactic management when building , packaging , distributing , installations , deployment , design or maintenance practiced by a project team.

the following are some the reusability principles
1. Develop components as simple as possible , in the smallest size of code
2. make the software adaptable that enables a component to adjust to different environments with minimal effort
3. modularity – it is the ability that a system has to decompose a system in to a module hierarchy (separabe modules ) each module can execute oin its own. the external data required are defined in it s interface
4. Correctness – it means the accuracy and well tested nature of a system
5. extensibility – it is the ability to grow in future . or its ability to extend its internal structure ,depth of processing , number of functionalities , volume of data etc.
6. Generic – a system component should be written in a more generic way that it could be specified in future when the compnent is reused
7. orthogonal – it refers to separation oif specific features from the rest of the system therefore such features can be combined in to many combinations of modules to generate different results .
in addition to the above features : Consistency , fast, less complex , stable, flexible , volatile ( changeable)

Try this past paper question 
March 2017 - Question 3
a) Explain the difference between software reusability and software reuse. (4 marks)
b) Discuss briefly benefits of and problems associated with software reuse. (10 marks)

No comments:

Post a Comment