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
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
- 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
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