
Concerns Related to GUI design and Language Features and Tools that Address Them William David Parsons An Honors Capstone submitted in partial fulfillment of the requirements for the Honors Diploma to The Honors College of The University of Alabama in Huntsville 5/3/2017 Honors Capstone Director: Dr. Richard Coleman Lecturer of the Computer Science Department Date Property rights reside with the Honors College, University of Alabama in Huntsville, AL 3 ABSTRACT This paper is designed to be a tool for students of the CS: 499 course to be used in helping them pick languages for their projects in senior design with designing GUIs in mind. In the GUI section I will discuss different concerns involved in the design of GUIs as well as tools, such as Qt, that can be used to make it easier for the students to craft their programs in a given language. In the language section I will tackle the subject matter of each language in the order of C++, Java, JavaScript, Python, PHP, and finally Ruby. In these sections, I will discuss basic information regarding the language, as well as how each language handles databases, button creation, data storage, security risks and data encryption, and web development. Since PHP and JavaScript are languages built for web design, the web development section will not exist for them. Finally, the conclusion contains an overview of the concerns involved in designing GUIs as well as generalized guidelines for picking languages without knowing the specifics of the program needed to be designed. 4 Table of Contents ABSTRACT ...................................................................................................................................................... 3 LIST OF ILLUSTRATIONS ................................................................................................................................. 6 I. INTRODUCTION .......................................................................................................................................... 7 II. GUI CONCERNS and TOOLS ....................................................................................................................... 7 2.1 DATA BINDING .................................................................................................................................... 7 2.2 STRUCTURE ......................................................................................................................................... 8 2.3 LAYOUT ............................................................................................................................................... 8 2.4 INTER-BEHAVIOR ................................................................................................................................. 8 2.5 DATA FORMATTING ............................................................................................................................ 8 2.6 VALIDATION ........................................................................................................................................ 8 2.7 STYLE AND THEMES ............................................................................................................................ 9 2.8 SECURITY ............................................................................................................................................. 9 2.9 WEB DEVELOPMENT ........................................................................................................................... 9 2.10 ADDITIONAL CONSIDERATIONS ........................................................................................................ 9 III. C++ ......................................................................................................................................................... 10 3.1 DATABASES ....................................................................................................................................... 10 3.2. STRUCTURE AND LAYOUT ................................................................................................................ 11 3.3 DATA FORMATTING .......................................................................................................................... 11 3.4 SECURITY ........................................................................................................................................... 11 3.5 WEB DEVELOPMENT ......................................................................................................................... 12 IV. JAVA ....................................................................................................................................................... 12 4.1 DATABASES ....................................................................................................................................... 12 4.2 STRUCTURE ....................................................................................................................................... 14 4.3 DATA-FORMATTING .......................................................................................................................... 14 4.4 SECURITY ........................................................................................................................................... 14 4.5 WEB DEVELOPMENT ......................................................................................................................... 15 V. JAVASCRIPT ............................................................................................................................................. 16 5.1 DATABASES ....................................................................................................................................... 16 5.2 STRUCTURE ....................................................................................................................................... 16 5.3 DATA-FORMATTING .......................................................................................................................... 17 5 5.4 SECURITY ........................................................................................................................................... 17 VI. PYTHON .................................................................................................................................................. 18 6.1 DATABASES ....................................................................................................................................... 18 6.2 STRUCTURE ....................................................................................................................................... 18 6.3 DATA-FORMATTING .......................................................................................................................... 18 6.4 SECURITY ........................................................................................................................................... 19 6.5 WEB DEVELOPMENT ......................................................................................................................... 19 VII. PHP ........................................................................................................................................................ 19 7.1 DATABASES ....................................................................................................................................... 19 7.2 STRUCTURE ....................................................................................................................................... 20 7.3 DATA-FORMATTING .......................................................................................................................... 20 7.4 SECURITY ........................................................................................................................................... 20 VIII. RUBY .................................................................................................................................................... 21 8.1 DATABASES ....................................................................................................................................... 21 8.2 STRUCTURE ....................................................................................................................................... 22 8.3 DATA-FORMATTING .......................................................................................................................... 23 8.4 SECURITY ........................................................................................................................................... 23 8.5 WEB DEVELOPMENT ......................................................................................................................... 23 IX. CONCLUSION .......................................................................................................................................... 23 WORKS CITED .............................................................................................................................................. 25 6 LIST OF ILLUSTRATIONS Figure 3-1 ……………………………………………………………………………………... 10 Figure 4-1 ...…………………………………………………………………………………… 13 Figure 5-1 ……………………………………………………………………………………… 16 Figure 5-2 ……………………………………………………………………………………… 17 Figure 6-1 ……………………………………………………………………………………… 18 Figure 7-1 ……………………………………………………………………………………… 20 Figure 8-1 ……………………………………………………………………………………… 22 Figure 8-2 ....................................................................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages24 Page
-
File Size-