- Requirement analysis (RA)
- Architecture driven approach (ADP)
- Used in the data project (UD)
- Service contracts (SC)
- Design patterns (DP)
- Documentation in project (DIP)
- Knowledge requirement (KR)
- An algorithm used in the program (AP)
- Modules in the program (MIP)
- Models in the project (MP)/li>
- Test cases/test design (TCTD)
Requirement Analysis is vital before starting a project; it provides a starting point and a vision of what the project should produce.
Requirement Analysis would provide guidelines for the entirety of the project.
Architecture driven approach provides the overall structure of a project; this would ultimately support having a proper structure for the project or usability of components within the project (Padhy et al, 2018).
Used in Data projects, using previous information identified in earlier projects would help avoid issues that may have arisen, saving time and following correct structures.
Code reusability offers extensive reduced development time, enhancing work-pace and ultimately boosting productivity.
Especially when components and proper structures were followed, the reusability of components will be easier and provide better results, while reducing cost and time (Papanucgauk et al, 2018).
However when there is a lack of quality within the initial structure this presents a drawback since it will substantially affect code reusability or produce a decrease in performance in case there was code reusability.
References:
Padhy N, & Atapathy, S & Singh, R.P. (2018) Smart Computing and Informatics. State-of-the-Art Object-Oriented Metrics and Its Reusability: A Decade Review 77 (1179) 431-441.
M. Papamichail & T. Diamantopoulos & I. Chrysovergis & P. Samlidis & A. Symeonidis. (2018) IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE). User-perceived reusability estimation based on analysis of software repositories 10 (1109) 49-54.
-
Post by Gianluca Cannone:
Another excellent analyse and explanation of the reusable factors from Padhy et al, 2018.
Besides your first point about RA, I also agree with your statement at the end.
With a lack of quality at the beginning of the software, especially at the initial structure, the software will lead to many consequence errors.
Hence it is essential to have a robust and error-free structure. Reusable structure software components solve this problem.