We propose a novel classification method that integrates into existing agile software development practices by collecting data records generated by software and tools used in the development... Show moreWe propose a novel classification method that integrates into existing agile software development practices by collecting data records generated by software and tools used in the development process. We extract features from the collected data and create visualizations that provide insights, and feed the data into a prediction framework consisting of a deep neural network. The features and results are validated against conceptual frameworks that model the development methodologies as similar processes in other contexts. Initial results show that the visualization and prediction techniques provide promising outcomes that may help development teams and management gain better understanding of past events and future risks. Show less
As the de facto industry standard for software modeling, the Unified Modeling Language (UML) is used widely across various IT domains. UML__s wide acceptance is partly because the language offers... Show moreAs the de facto industry standard for software modeling, the Unified Modeling Language (UML) is used widely across various IT domains. UML__s wide acceptance is partly because the language offers flexibility and freedom in modeling software systems: 1) UML provides an extensive set of modeling notations that can be used to model various concepts; 2) UML can be used both in a casual and formal manners. In the context of model-driven software development, the degree of freedom in which UML is used raises an important issue related to model quality. Different styles and rigors in using UML affect the quality of the resulting models. It is then logical to think that the level of quality of the UML model may affect the quality of the resulting software. This thesis reports on a series of empirical studies performed to address a pivotal question concerning the benefits of UML modeling in software development, particularly from a quality perspective. The results of these empirical studies show that the use of UML provides benefits in terms of increased quality and productivity in software development. The availability of UML models also allows early prediction of defects in software systems. Such prediction is potentially useful for identifying and fixing defects early during software development, and for prioritizing testing. Show less