Date of Award
Fall 2013
Degree Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Technology
First Advisor
Michael D. Kane
Committee Chair
Michael D. Kane
Committee Member 1
John A. Springer
Committee Member 2
Thomas J. Hacker
Committee Member 3
Roy D. Dejoie
Abstract
The last several years have seen unprecedented advancements in the application of technology to the life sciences, particularly in the area of data generation. Novel scientific insights are now often driven primarily by software development supporting new multidisciplinary and increasingly multifaceted data analysis. However, despite the availability of tools such as best practice frameworks, the current rate of software development is not able to keep up with the needs of scientists. This bottleneck in software development is largely due to code reuse generally not being applied in practice.
This dissertation presents Legwork, a class library of reuse-optimized design pattern implementations for desktop applications written in the C# programming language using Microsoft's .NET Framework. Two case studies were used to evaluate the effect of Legwork on improving code reusability as compared to Microsoft's "best practices" Prism framework. First, a collection of six established web service-based workflows leveraging the National Center for Biotechnology's Entrez database retrieval system. Second, a modular genomics data analysis and visualization application based on the open source ".NET Bio" bioinformatics toolkit.
Employing quantitative and qualitative methods, code reusability was evaluated at the class, subsystem, and system levels of software design through comparing established class metrics for code reuse, code control flow, and code composition, respectively. The results from both case studies demonstrate that using Legwork provides a consistent improvement in code reusability over Microsoft's Prism framework across all three levels of program design evaluated.
Recommended Citation
Iannotti, Nicholas Vincent, "Improving Reuse in Software Development for the Life Sciences" (2013). Open Access Dissertations. 138.
https://docs.lib.purdue.edu/open_access_dissertations/138