Software Acquisition and Software Engineering Best Practices

Author(s):  
S. Eslinger
2021 ◽  
Author(s):  
Alexander L.R. Lubbock ◽  
Carlos F. Lopez

AbstractComputational modeling has become an established technique to encode mathematical representations of cellular processes and gain mechanistic insights that drive testable predictions. These models are often constructed using graphical user interfaces or domain-specific languages, with SBML used for interchange. Models are typically simulated, calibrated, and analyzed either within a single application, or using import and export from various tools. Here, we describe a programmatic modeling paradigm, in which modeling is augmented with best practices from software engineering. We focus on Python - a popular, user-friendly programming language with a large scientific package ecosystem. Models themselves can be encoded as programs, adding benefits such as modularity, testing, and automated documentation generators while still being exportable to SBML. Automated version control and testing ensures models and their modules have expected properties and behavior. Programmatic modeling is a key technology to enable collaborative model development and enhance dissemination, transparency, and reproducibility.HighlightsProgrammatic modeling combines computational modeling with software engineering best practices.An executable model enables users to leverage all available resources from the language.Community benefits include improved collaboration, reusability, and reproducibility.Python has multiple modeling frameworks with a broad, active scientific ecosystem.


Author(s):  
Sanjay Singh ◽  
Karthik Mahadevan

Over the past few years, the IT landscape has changed dramatically to facilitate new entrants from emerging economies in the global market. Some nations such as India and China are poised to emerge as IT superpowers in the years to come. In this paper, we attempt analyze some of the critical success factors (CSF) that facilitate the development of IT leaders. Taking India as an example, we explore CSFs like educational system, governmental policies, infrastructure and entrepreneurial activities that are necessary for creating and fostering IT leaders. We conclude by describing the best practices for implementing software engineering projects in an offshore environment.


2021 ◽  
Author(s):  
Rastko Ciric ◽  
Romy Lorenz ◽  
William Thompson ◽  
Mathias Goncalves ◽  
Eilidh MacNicol ◽  
...  

Abstract Neuroimaging templates and corresponding atlases play a central role in experimental workflows and are the foundation for reporting standardised results. The proliferation of templates and atlases is one relevant source of methodological variability across studies, which has been recently brought to attention as an important challenge to reproducibility in neuroscience. Unclear nomenclature, an overabundance of template variants and options, inadequate provenance tracking and maintenance, and poor concordance between atlases introduce further unreliability into reported results. We introduce TemplateFlow, a cloud-based repository of human and nonhuman imaging templates paired with a client application for programmatically accessing resources. TemplateFlow is designed to be extensible, providing a transparent pathway for researchers to contribute and vet templates and their associated atlases. Following software engineering best practices, TemplateFlow leverages technologies for unambiguous resource identification, data management, versioning and synchronisation, programmatic extensibility, and continuous integration. By equipping researchers with a robust resource for using and evaluating templates, TemplateFlow will contribute to increasing the reliability of neuroimaging results.


2017 ◽  
Author(s):  
Alex Costa ◽  
Juliana Saraiva ◽  
Yuska Aguiar

SWEBOK is a guideline that provides information about Software Engineering (SE) knowledge, including a list of Best Practices (BPs) for adopting. However, small companies have restrictions such as, limited budget, reduced schedule, and, small staff that can hinder the advantages of these BPs adoption. Thus, this paper investigated the last decade of BPs adoption reported by small companies’ environment. A quasi-systematic mapping was conducted for assessing studies that addressed this issue, and it was possible to observe that the most prominent BPs adopted are “test application” and “software process model adoption”. On the other hand, “limited budget” and “staff size” were found as causes for non-adoption of SWEBOK’s BPs.


Sign in / Sign up

Export Citation Format

Share Document