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

被引:1
|
作者
Smith, Spencer [1 ]
Srinivasan, Malavika [1 ]
Shankar, Sumanth [2 ]
机构
[1] McMaster Univ, Comp & Software Dept, Hamilton, ON, Canada
[2] McMaster Univ, Mech Engn Dept, Hamilton, ON, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
software engineering; scientific computing; requirements analysis; information hiding; documentation; casting; SCIENCE;
D O I
10.1109/SE4Science.2019.00011
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:33 / 40
页数:8
相关论文
共 50 条
  • [31] "Computing" Requirements for Open Source Software: A Distributed Cognitive Approach
    Xiao, Xuan
    Lindberg, Aron
    Hansen, Sean
    Lyytinen, Katie
    JOURNAL OF THE ASSOCIATION FOR INFORMATION SYSTEMS, 2018, 19 (12): : 1217 - 1252
  • [32] Software security requirements management as an emerging cloud computing service
    Ramachandran, Muthu
    INTERNATIONAL JOURNAL OF INFORMATION MANAGEMENT, 2016, 36 (04) : 580 - 590
  • [33] Software engineering and problem solving environments for scientific computing: An introduction
    Cunha, JC
    Rana, OF
    APPLIED PARALLEL COMPUTING: STATE OF THE ART IN SCIENTIFIC COMPUTING, 2006, 3732 : 654 - 655
  • [34] A "scientific" approach to software project management: Part II: Results of a survey of scientific computing
    Granados, AF
    ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS IX, 2000, 216 : 20 - 23
  • [35] An Open Source performance tools software suite for scientific computing
    Mucci, Philip J.
    Mohan, Tushar
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2010, 22 (02): : 206 - 216
  • [36] ColPack: Software for Graph Coloring and Related Problems in Scientific Computing
    Gebremedhin, Assefaw H.
    Duc Nguyen
    Patwary, Md. Mostofa Ali
    Pothen, Alex
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2013, 40 (01):
  • [37] ColPack: Software for graph coloring and related problems in scientific computing
    Gebremedhin, Assefaw H.
    Nguyen, Duc
    Patwary, Md. Mostofa Ali
    Pothen, Alex
    ACM Transactions on Mathematical Software, 2013, 40 (01):
  • [38] A computational evaluation of some free mathematical software for scientific computing
    Glavelis, Themistoklis
    Ploskas, Nikolaos
    Samaras, Nikolaos
    JOURNAL OF COMPUTATIONAL SCIENCE, 2010, 1 (03) : 150 - 158
  • [39] Scientific software frameworks and grid computing - Improving programming productivity
    Appelbe, Bill
    Moresi, Louis
    Quenette, Steve
    Sunter, Patrick
    GRID-BASED PROBLEM SOLVING ENVIRONMENTS, 2007, 239 : 401 - +
  • [40] ACTS - A collection of high performing software tools for scientific computing
    Drummond, LA
    Marques, OA
    REALIZING TERACOMPUTING, 2003, : 204 - 218