Abstract

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

Highlights

  • Developing a high quality software system is not an easy task because there are many challenges during the development process in different stages

  • This paper proposes a software development process model that merges Model-Driven Software Development (MDD) and Component-Based Software Engineering (CBSE)

  • When we look at the overall process model, we see that software system development process has two sub-processes which are conceptual modeling process and system design process

Read more

Summary

Introduction

Developing a high quality software system is not an easy task because there are many challenges during the development process in different stages. In order to overcome these challenges and to develop high quality, cost effective and reliable systems, various development approaches have been proposed. Two of these approaches are Component-Based Software Engineering (CBSE) and Model-Driven Software Development (MDD). These two different approaches both attempt to produce high quality, low cost and on time software systems with a focus on reusability and productivity. Any modeling language should consist of three elements that are the abstract syntax, concrete syntax and semantics. The abstract syntax contains a set of modeling concepts and rules that specify well-formed expressions of these concepts [11,12]

Methods
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call