Debunking the Myth that Upfront Requirements are Infeasible for Scientific Computing Software

06/18/2019
by   Spencer Smith, et al.
0

Many in the Scientific Computing Software community believe that upfront requirements are impossible, or at least infeasible. This paper shows requirements are feasible with the following: i) an appropriate perspective ("faking" the final documentation as if requirements were correct and complete from the start, and gathering requirements as if for a family of programs); ii) the aid of the right principles (abstraction, separation of concerns, anticipation of change, and generality); iii) employing SCS specific templates (for Software Requirements and Module Interface Specification); iv) using a design process that enables change (information hiding); and, v) the aid of modern tools (version control, issue tracking, checking, generation and automation tools). Not only are upfront requirements feasible, they provide significant benefits, including facilitating communication, early identification of errors, better design decisions and enabling replicability. The topics listed above are explained, justified and illustrated via an example of software developed by a small team of software and mechanical engineers for modelling the solidification of a metal alloy.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/08/2017

Expressing and verifying embedded software requirements

Writing requirements for embedded software is pointless unless they refl...
research
08/15/2022

Comments on SPD-41 software licensing requirements

The proposed changes to Science Missions Directorate (SMD) Policy Docume...
research
04/27/2023

Evaluating the Impact of Pair Documentation on Requirements Quality and Team Productivity

The most important deliverable of the requirements engineering process i...
research
11/14/2022

Giving RSEs a Larger Stage through the Better Scientific Software Fellowship

The Better Scientific Software Fellowship (BSSwF) was launched in 2018 t...
research
10/08/2021

A Framework for Aspectual Requirements Validation: An Experimental Study

Requirements engineering is a discipline of software engineering that is...
research
03/03/2021

On Understanding the Relation of Knowledge and Confidence to Requirements Quality

Context and Motivation: Software requirements are affected by the knowle...
research
10/06/2013

Impacting the bioscience progress by backporting software for Bio-Linux

In year 2006 Bio-Linux with the work of Tim Booth and team gives its ris...

Please sign up or login with your details

Forgot password? Click here to reset