2019 ATPESC Tutorial: Better Scientific Software
收藏Figshare2019-10-21 更新2026-04-08 收录
下载链接:
https://figshare.com/articles/2019_ATPESC_Tutorial_Better_Scientific_Software/9272813/1
下载链接
链接失效反馈官方服务:
资源简介:
The computational science and engineering (CSE) community is in the midst of an extremely challenging period created by the confluence of disruptive changes in computing architectures, demand for greater scientific reproducibility, and new opportunities for greatly improved simulation capabilities, especially through coupling physics and scales. Computer architecture changes require new software design and implementation strategies, including significant refactoring of existing code. Reproducibility demands require more rigor across the entire software endeavor. Code coupling requires aggregate team interactions including integration of software processes and practices. These challenges demand large investments in scientific software development and improved practices. Focusing on improved developer productivity and software sustainability is both urgent and essential.<br>This full day tutorial distills multi-project and multi-years’ experience from members of the IDEAS project, and creators of the BSSw.io community website. It provides information and hands-on experience with software practices, processes, and tools explicitly tailored for CSE. Goals are improving the productivity of those who develop CSE software and increasing the sustainability of software artifacts. We discuss practices that are relevant for projects of all sizes, with emphasis on small teams, and on aggregate teams composed of small teams.<br>Outline* Objectives, Motivation, & Overview [45 min]* Requirements & Test-Driven Development [45 min]* Software Design & Testing [60 min]* Licensing [45 min]* Agile Methodologies & Useful Git Tools [60 min]* Git Workflows [30 min]* Code Coverage & Continuous Integration [40 min]* Software Refactoring & Documentation [35 min]
计算科学与工程(Computational Science and Engineering,CSE)社区正处于一段极具挑战的时期,这一困境源于计算架构的颠覆性变革、对科学可重复性的更高要求,以及模拟能力大幅提升的新机遇——尤其是通过物理建模与尺度耦合实现的新机遇。计算架构的变革要求全新的软件设计与实现策略,包括对现有代码进行大规模重构。可重复性需求则要求在整个软件开发全流程中秉持更严谨的态度。代码耦合需要多团队协同,涵盖软件流程与实践的整合。这些挑战都要求在科学软件开发及实践改进上投入大量资源,而提升开发者生产力与软件可持续性既迫在眉睫,又至关重要。
本次全日程教程整合了IDEAS项目成员及BSSw.io社区网站创建者多年跨项目的实践经验,为计算科学与工程领域提供定制化的软件实践、流程与工具相关的知识与实操体验。其目标在于提升计算科学与工程软件开发人员的生产力,以及软件制品的可持续性。本教程将探讨适用于各规模项目的实践方法,重点关注小型团队,以及由多个小型团队组成的聚合型团队。
大纲:
* 目标、动机与概述 [45分钟]
* 需求与测试驱动开发 [45分钟]
* 软件设计与测试 [60分钟]
* 软件许可 [45分钟]
* 敏捷方法论与实用Git工具 [60分钟]
* Git工作流 [30分钟]
* 代码覆盖率与持续集成 [40分钟]
* 软件重构与文档编写 [35分钟]
创建时间:
2019-10-21



