Limits...
Developing sustainable software solutions for bioinformatics by the " Butterfly" paradigm.

Ahmed Z, Zeeshan S, Dandekar T - F1000Res (2014)

Bottom Line: User feedback is valued as well as software planning in a sustainable and interoperable way.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.

View Article: PubMed Central - PubMed

Affiliation: Department of Neurobiology and Genetics, Biocenter, University of Wuerzburg, Wuerzburg, 97074, Germany ; Department of Bioinformatics, Biocenter, University of Wuerzburg, Wuerzburg, 97074, Germany.

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.

No MeSH data available.


Scientific Software Engineering (SSE).SSE integrates and combines in a development cycle the following independent main modular approaches: requirements engineering, design modeling, programming, testing and deployment. Each approach consists of its own sub-modular, integrated and cyclic combination of internal phases: requirement engineering consists of specification, functionals, non-functionals, and analysis; design modeling consists of use cases, system flows, data flow and source code; programming consists of languages, tools and technologies, development, and debugging; testing consists of test cases, modular, integrated and quality; finally, deployment consists of installation, configuration, training, feedback. Iterative cycles lead to continuous improvement. Achievements translate the goals in good software.
© Copyright Policy - open-access
Related In: Results  -  Collection

License 1 - License 2
getmorefigures.php?uid=PMC4215756&req=5

f1: Scientific Software Engineering (SSE).SSE integrates and combines in a development cycle the following independent main modular approaches: requirements engineering, design modeling, programming, testing and deployment. Each approach consists of its own sub-modular, integrated and cyclic combination of internal phases: requirement engineering consists of specification, functionals, non-functionals, and analysis; design modeling consists of use cases, system flows, data flow and source code; programming consists of languages, tools and technologies, development, and debugging; testing consists of test cases, modular, integrated and quality; finally, deployment consists of installation, configuration, training, feedback. Iterative cycles lead to continuous improvement. Achievements translate the goals in good software.

Mentions: The five modular SE approaches remain the same when it comes to the software engineering of the scientific software solution development (Figure 1). However, in contrast to a pragmatic and maybe traditional software application development in an academic setting (Figure 2), a major change is the inconsistency in all phases of the SDLC. 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 (we have proposed an updated SSE SDLC Model,Figure 1; scientific software solution development). Ultimately, this complicates the process of analysis and filters out functionals. Programming structures become complex (Figure 1), as the possibilities of error proneness (both logical and syntax errors) increase due to the continuous increment of variabilities in the pre-processed source code15–19.


Developing sustainable software solutions for bioinformatics by the " Butterfly" paradigm.

Ahmed Z, Zeeshan S, Dandekar T - F1000Res (2014)

Scientific Software Engineering (SSE).SSE integrates and combines in a development cycle the following independent main modular approaches: requirements engineering, design modeling, programming, testing and deployment. Each approach consists of its own sub-modular, integrated and cyclic combination of internal phases: requirement engineering consists of specification, functionals, non-functionals, and analysis; design modeling consists of use cases, system flows, data flow and source code; programming consists of languages, tools and technologies, development, and debugging; testing consists of test cases, modular, integrated and quality; finally, deployment consists of installation, configuration, training, feedback. Iterative cycles lead to continuous improvement. Achievements translate the goals in good software.
© Copyright Policy - open-access
Related In: Results  -  Collection

License 1 - License 2
Show All Figures
getmorefigures.php?uid=PMC4215756&req=5

f1: Scientific Software Engineering (SSE).SSE integrates and combines in a development cycle the following independent main modular approaches: requirements engineering, design modeling, programming, testing and deployment. Each approach consists of its own sub-modular, integrated and cyclic combination of internal phases: requirement engineering consists of specification, functionals, non-functionals, and analysis; design modeling consists of use cases, system flows, data flow and source code; programming consists of languages, tools and technologies, development, and debugging; testing consists of test cases, modular, integrated and quality; finally, deployment consists of installation, configuration, training, feedback. Iterative cycles lead to continuous improvement. Achievements translate the goals in good software.
Mentions: The five modular SE approaches remain the same when it comes to the software engineering of the scientific software solution development (Figure 1). However, in contrast to a pragmatic and maybe traditional software application development in an academic setting (Figure 2), a major change is the inconsistency in all phases of the SDLC. 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 (we have proposed an updated SSE SDLC Model,Figure 1; scientific software solution development). Ultimately, this complicates the process of analysis and filters out functionals. Programming structures become complex (Figure 1), as the possibilities of error proneness (both logical and syntax errors) increase due to the continuous increment of variabilities in the pre-processed source code15–19.

Bottom Line: User feedback is valued as well as software planning in a sustainable and interoperable way.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.

View Article: PubMed Central - PubMed

Affiliation: Department of Neurobiology and Genetics, Biocenter, University of Wuerzburg, Wuerzburg, 97074, Germany ; Department of Bioinformatics, Biocenter, University of Wuerzburg, Wuerzburg, 97074, Germany.

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.

No MeSH data available.