Alrubaee,A.U.Çetinkaya, DenizCetinkaya,D.Liebchen,G.Dogan,H.Software Engineering2024-07-052024-07-05202072078-248910.3390/info110603022-s2.0-85087767443https://doi.org/10.3390/info11060302https://hdl.handle.net/20.500.14411/3968Developing high quality, reliable and on time software systems is challenging due to the increasing size and complexity of these systems. Traditional software development approaches are not suitable for dealing with such challenges, so several approaches have been introduced to increase the productivity and reusability during the software development process. Two of these approaches are Component-Based Software Engineering (CBSE) and Model-Driven Software Development (MDD) which focus on reusing pre-developed code and using models throughout the development process respectively. There are many research studies that show the benefits of using software components and model-driven approaches. However, in many cases the development process is either ad-hoc or not well-defined. This paper proposes a new software development process model that merges CBSE and MDD principles to facilitate software development. The model is successfully tested by applying it to the development of an e-learning system as an exemplar case study. © 2020 by the authors.eninfo:eu-repo/semantics/openAccessComponent-based developmentMetamodelingModel-driven developmentModel-driven software developmentReusabilityReusable componentsSoftware development process modelSoftware engineeringA Process Model for Component-Based Model-Driven Software DevelopmentArticleQ2116