Abstract
Software design and sustainable software engineering are essential for the long-term development of bioinformatics software. Typical challenges in an academic environment are short-term contracts, island solutions, pragmatic approaches and loose documentation. Upcoming new challenges are big data, complex data sets, software compatibility and rapid changes in data representation. Our approach to cope with these challenges consists of iterative intertwined cycles of development (“Butterfly” paradigm) for key steps in scientific software engineering. User feedback is valued as well as software planning in a sustainable and interoperable way. Tool usage should be easy and intuitive. A middleware supports a user-friendly Graphical User Interface (GUI) as well as a database/tool development independently. We validated the approach of our own software development and compared the different design paradigms in various software solutions.
Highlights
Typical challenges in bioinformatics in an academic environment include “ad hoc” programming
In the requirement engineering phase (Figure 2; traditional software solution development), all requirements should be provided before the start of design. This is not the case when dealing with most of the scientific software applications, and the requirements continuously change with the passage of time
To further help (SSE, non-computer scientist Bioinformaticians etc.) in expediting the processes of adopting the concepts of Software Development Life Cycle (SDLC), we provide a tabular comparison between different SDLCs, based on their commonalities and variabilities (Table 1)
Summary
Typical challenges in bioinformatics in an academic environment include “ad hoc” programming. The UniProt Consortium[8] for instance has recently shifted from the use of relational databases to the semantic web for flexible data management To counter these older and general as well as new challenges, we have developed a solution of iterative and intertwined development cycles (Butterfly model), which improves the typical aspects of long-term sustainability and maintenance. This is not the case when dealing with most of the scientific software applications, and the requirements continuously change with the passage of time (we have proposed an updated SSE SDLC Model, Figure 1; scientific software solution development) This complicates the process of analysis and filters out functionals.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have