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.

Share

COinS