1 Einleitung 1.1 Motivation 1.2 Definitionen 1.3 SeqAn 1.4 Methode der
Grounded Theory 2 Forschungsstand 2.1 Überblick 2.2
Programmverständnisforschung 2.3 Usability-Evaluation 2.4 API-Usability-
Evaluation 2.5 API-Usability-Verbesserung 2.6 Gruppierte Erkenntnisse
bezüglich der API-Usability-Forschung 2.7 API-Werkzeuge 3 Forschung 3.1
Übersicht 3.2 Phase1: Behebung grober API-Usability-Probleme 3.3 Phase2:
Planung und Durchführung der Datenerhebung 3.4 Phase3: Entwicklung des API
Usability Analyzers 3.5 Phase4: Durchführung der GTM-Datenanalyse 3.6
Zusammenfassung der Forschung
4 Ergebnisse 4.1 Theorie: Folgen von SeqAn-
Entwurfsentscheidungen 4.2 Zusammenfassung 4.3 API-Usability-
Verbesserungsvorschläge 4.4 Verbesserung der API-Usability von SeqAn 4.5 Güte,
Validierung und Verallgemeinerbarkeit 5 Fazit 5.1 Ausgangslage 5.2 Zielsetzung
5.3 Methode 5.4 Ergebnisse 5.5 Konklusion 6 Ausblick 6.1 API-Usability 6.2
SeqAn 6.3 Qualitative Datenanalysewerkzeuge mit Unterstützung der GTM 6.4 UI-
Entwicklung mittels Websprachen Anhang A API Usability Analyzer B
Literaturergänzungen C Rohdaten D Forschungsergebnisse: Heuristische
Evaluation
E ForschungsdokumenteAusgangslage: Die Usability der bioinformatischen, auf C++-basierenden
Softwarebibliothek SeqAn ist wenig ausgeprägt, denn SeqAn wurde mit dem
ultimativen Ziel einer hohen Performance entwickelt. Die Grundlage des
Entwurfs bilden Templatemetaprogrammierung und generische Programmierung.
Obwohl diese Techniken die Usability einer API stark beeinflussen, ist die
API-Usability-Forschung diesbezüglich vollkommen erkenntnislos. Zielsetzung:
Das Ziel dieser Arbeit besteht darin, die API-Usability von SeqAn zu
erforschen, um mit diesem Wissen SeqAns Usability zu verbessern und
verallgemeinerbare Erkenntnisse für andere auf Templatemetaprogrammierung
basierenden APIs zu gewinnen. Methode: Für die Erforschung der API-Usability
von SeqAn wird die empirische, praktisch annahmenlose Grounded Theory Methode
nach Strauss und Corbin gemeinsam mit einer neuartigen und den speziellen
organisatorischen Rahmenbedingungen gerechten Datenerhebungsmethode
eingesetzt. Letztere kombiniert diverse subjektive und eine hochstrukturierte,
objektive Datenquelle miteinander. Eigens für diese Arbeit wird das
qualitative Datenanalysewerkzeug API Usability Analyzer entwickelt, welches
den methodischen Gegebenheiten gerecht wird, indem es eine Reihe von
Funktionen bietet, die selbst bei den kommerziellen Lösungen wie ATLAS.ti
nicht zu finden sind. Ergebnisse: Diese Arbeit stellt die Ergebnisse der API-
Analyse in Form einer Grounded Theory dar, die nachzeichnet, wie fehlende
Erkenntnisse zu den verwendeten Programmierparadigmen und mangelndes
Verständnis von den SeqAn-Anwendern, die sich in API-Anwender und API-
Endanwender unterscheiden lassen, zu der schlechten API-Usability führte. Es
werden die gefundenen Usability-Probleme und mit welchen Strategien diese von
den Anwendern bewältigt werden, ausführlich vorgestellt. Weiterhin werden
Maßnahmen zur Behebung der Usability-Probleme vorgeschlagen. Unter anderem
wird die Dokumentation, unter Berücksichtigung von so genannten
Sprachentitätstypen, umfassend überarbeitet und die Nutzung von SeqAn durch
API-Endanwender ermöglicht. Weitere Beiträge stellen ein umfassender
wissenschaftlicher Literaturüberblick zum Thema API-Usability und das bereits
erwähnte qualitative Datenanalysewerkzeug dar. Konklusion: Die in dieser
Arbeit erarbeiteten und umgesetzten Maßnahmen haben die API-Usability von
SeqAn erfolgreich verbessert. Die auf diesem Weg gewonnen Erkenntnisse lassen
allgemeine Rückschlüsse auf den Entwurf von auf Templatemetaprogrammierung
basierenden Softwarebibliotheken zu. Darüber hinaus eignet sich das
eingesetzte Verfahren für die Evaluation anderer APIs. Abschließend werden
Empfehlung für den Bau leistungsfähiger, qualitativer Datenanalysewerkzeuge
für Forschungsvorhaben vorgestellt, die ebenfalls die Grounded Theory Methode
einsetzen.Introduction: The usability of the bioinformatical, C++ based software library
SeqAn is sparsely developed, because SeqAn was designed with the ultimate goal
of performance in mind. Template metaprogramming and generic programming
constitute the foundation of SeqAn’s design. Although these techniques heavily
affect an API’s usability, current API usability research provides no
corresponding insights. Motivation: This thesis aims at researching SeqAn’s
API usability in order to improve it. The second purpose is to gain
generalisable insights into template metaprogramming based APIs. Method: The
research is carried out using the empirical Grounded Theory Method by Strauss
and Corbin, together with a newly developed data collection method that
addresses the specific working conditions. The latter combines various
subjective with a highly structured, objective data source. Furthermore a
qualitative data analysis tool, called API Usability Analyzer, was solely
developed for this research. This tool meets the methodological realities by
providing a range of functionalities that even commercially available
solutions like ATLAS.ti are lacking. Results: This work presents the results
of the API analysis in the form of a Grounded Theory that portrays how missing
understanding of the used programming paradigms as well as insufficient
comprehension of SeqAn’s users and end users led to SeqAn’s poor API
usability. Detected API usability problems and the strategies users employed
in order to deal with them are thoroughly discussed. Furthermore, measures to
address these usability problems are proposed. Among other things, the
documentation is improved under consideration of so-called Language Entity
Types; also, SeqAn’s usage by API end users is allowed. Other contributions
are a comprehensive scientific literature review on the subject of API
usability and the above mentioned qualitative data analysis tool. Conclusion:
The presented and applied actions have improved SeqAn’s API usability. The
gained insights allow for general conclusions on the design of software
libraries based on template metaprogramming. In addition, the applied method
used for this API’s evaluation is suitable for other APIs. This thesis
concludes with recommendations on the creation of powerful qualitative data
analysis tools suitable for research projects also using the Grounded Theory
Method