Year of Publication


Paper Type

Master's Thesis


College of Computing, Engineering & Construction

Degree Name

Master of Science in Computer and Information Sciences (MS)



First Advisor

Dr. Roger E. Eggen

Second Advisor

Dr. Behrooz Seyed-Abbassi

Third Advisor

Dr. Judith L. Solano


Visual Programming Languages and Visual Programming Tools incorporate non-procedural coding mechanisms that may duplicate, or perhaps even conflict with, the analysis and design mechanisms promulgated by the mainstream Software Engineering methodologies. By better understanding such duplication and conflict, software engineers can take proactive measures to accommodate and, ideally, eliminate them. Better still, there may be opportunities for synergy that can be exploited if one is looking for them.

This research explored, documented and classified the interactions and interdependencies, both positive (synergies) and negative (conflicts), between two closely related and rapidly evolving Computer Science subdisciplines: software engineering and visual programming. A literature search was conducted to surface, evaluate, and build upon (where appropriate) recent and ongoing research in this area. A mechanism was created to capture observations of conflicts and synergies. This capture mechanism was applied to an experimentation test bed that was established to provide concrete examples of gaps, overlaps, conflicts, and synergies. In this regard, two relatively simple applications, one data-base oriented and one algorithm oriented, were designed and implemented using multiple software engineering methods and multiple visual tools/languages.

A software prototype, which bridges one of the gaps discovered during the research, was built to underscore the importance of eventually merging Computer Aided Software Engineering and visual development tools. The overall results as well as anticipated trends and developments in the area of software engineering and visual programming were summarized. The synergy/conflict observations, in conjunction with the literature search results, were used to develop strategies and guidelines for successfully using visual programming languages and tools in concert with sound software engineering methods.