Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software/Code Reusability - Coggle Diagram
Software/Code Reusability
The reuse is possible in different levels
Identify common components
Identify variable components
Identify optional components
What can we reuse?
Reusable Design Patterns
abstract classes and interfaces can be reused to implement certain patterns
Architecture Patterns
Software Libraries
Software components/modules
Application Frameworks
Developers generally reuse large pieces of software via third-party applications and frameworks
Configurable application systems
Compilation parameters
Configuration parameters
Runtime initialization parameters
Program generators
Software Product lines
Developers could obtain much greater reuse benefits by reusing software architectures instead of reusing individual software components
Systems of Systems
Concept adopted in 1968
How to measure software reuse?
Foundations:
Software
reusability
is the use of existing assets in some form within the software product development process;
Reusability implies a explicit management.
If these issues are not considered, software may appear to be reusable from design point of view, but will not be reused in practice.
build
packaging
distribution
installation
configuration
deployment
maintenance
upgrade
documentation
ability to build larger things from smaller parts, and being able to identify
commonalities
among those parts
Types of reuse
Concerning motivation and driving factors
Opportunistic
:
While getting ready to begin a project, the team realizes that there are existing components that they can reuse.
Planned
:
A team strategically designs components so that they'll be reusable in future projects.