An Investigation into Bad Smells in Model-Based Systems Engineering

Thumbnail Image
Journal Title
Journal ISSN
Volume Title
University of Alabama Libraries

Systems engineering is a multi-disciplinary approach to design, realize, manage and operate a system, which consists of hardware, software, process and personnel. Engineers and scientists from different domains often create domain-specific software artifacts - systems models to describe phenomena in the process of system development. Systems models are frequently tied to external instrumentation and devices that coordinate experimentation and observation. The methodologies and tools that support systems modeling often lack the capabilities that are found in software engineering environments and practice, limiting the potential analysis capabilities that can be realized by the software adopted in the system. Moreover, due to the different focus of interest, systems engineers may lack systematic software engineering knowledge compared with software engineers, creating a knowledge gap between systems engineers and software engineers. To assist engineers in developing systems models, this dissertation first mined systems engineers' questions they post on the discussion forum to understand the challenges and issues they face during the development of systems models. The examination results show that systems engineers have a great number of questions and problems related to bad smells in systems models. Motivated by this observation, the goal of my research is to assist systems engineers with a better understanding of bad smells in systems models from three aspects: 1) the summarization of bad smells in systems models; 2) the evaluation of bad smells from systems engineers; and 3) the identification of prominent bad smells in systems models. The work presented in this dissertation has informed the systems engineering community by an empirical investigation of bad smells in systems models.

Electronic Thesis or Dissertation
Empirical Software Engineering, Model-Based Systems Engineering, Software Complexity, Software Engineering