Component-based software development (CBSD) is an emerging technology that integrates existing software components to swiftly develop and deploy big and complex software systems with little engineering effort, money, and time. CBSD, on the other hand, has difficulties with security trust, particularly dependability. When a system provides the desired outcomes while causing no harm to the environment, it is said to be dependable. Dependability encompasses several attributes, including availability, confidentiality, integrity, reliability, safety, and maintainability. Developing dependable component software is achieved by embedding dependability attributes in CBSD. Thus, the CBSD model must address the dependability attributes. Hence, the objectives of this work are: (1) to propose a model for developing a dependable system using componentbased software development approach (hereafter the model is referred to as MDDS-CBSD), which aims to mitigate software component vulnerabilities, and (2) to assess the proposed model. The best-practice method was used to frame the CBSD architecture phases and processes, as well as embed the six dependability attributes. The MDDS-CBSD architecture was evaluated using expert opinion. The MDDS-CBSD was also used to develop an information and communications technology (ICT) portal using an empirical study method. Vulnerability Assessment Tools were used to assess the developed ICT portal's dependability. The MDDS-CBSD may be used to create web application systems and to protect them from attacks. Model developers may use CBSD to describe and assess dependability attributes at any point during the model development process. The reliability of this model can also let companies utilise CBSD with confidence.
K E Y W O R D Scomponent-based software development, dependability attributes, software architecture, software development management, software engineering, software security development
| INTRODUCTIONCBSD is an emerging technology that builds systems by combining existing software components. CBSD focusses on composing software systems rather than programming software. Assuming that certain parts of a large software system recur frequently, common parts must be written once and reused many times rather than written repeatedly [1,2]. At the same time, CBSD has a number of advantages, from increasing programmer productivity to reducing software development costs [3]. Software reuse can help meet demands for faster delivery, lower software production and maintenance costs, and better quality. Thus, CBSD's main goal is to reduce overall software development costs. That is, software development and maintenance must be less costly. CBSD is also required for faster software delivery. For this reason, the software industryThis is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.