Master of Science, Miami University, 2023, Computer Science and Software Engineering
Software models are used to analyze and understand the properties of the system, providing stakeholders with an overview of how the system should work before actually implementing it. Such models are usually created informally, such as drawing sketches on a whiteboard or paper, especially during the early design phase, because these methods foster communication and collaboration among stakeholders. However, these informal sketches must be formalized to be useful in later applications, such as analysis, code generation, and documentation. This formalization process is often tedious, error-prone, and time-consuming. In an effort to avoid recreating formal models from scratch, this thesis presents SkeMo, a sketch-based software modeling tool. SkeMo is built on a CNN-based image classifier using 3000 input sketches of class diagram components and integrated into the functionality of an existing web-based model editor, the Instructional Modeling Language (IML), with a newly implemented touch interface. SkeMo was evaluated using a ten-fold cross-validation to assess the image classifier and through a user study involving 20 participants to collect metrics and feedback. The results demonstrate the promising potential of sketch-based modeling as an intuitive and efficient modeling practice, allowing users to quickly and easily create models to design complex software systems.
Committee: Eric Rapos (Advisor); Christopher Vendome (Committee Member); Xianglong Feng (Committee Member); Douglas Troy (Committee Member)
Subjects: Computer Science; Engineering