Developing and maintaining a large software package is a complex task. Decisions are made early in the design process that affect i) the ability of a user to effectively exploit the package and ii) the ability of a software engineer to maintain it. This case study discusses issues in software development and maintainability of a scientific package called SnB, which is used to determine molecular crystal structures. The design of the user interface is discussed along with important software engineering concepts, including modular programming, data encapsulation, and internal code documentation. Fortran is a language that is still widely used in the scientific community. Issues concerning the integration of Fortran into a modern scientific application with a C-based user interface are also discussed. Scientific applications benefit from being available on a wide variety of platforms. Due to demand, SnB is available on a variety of sequential and parallel platforms. Methods used in the design of SnB for such portability are presented including POSIX compliance, automatic configuration scripts, and parallel programming techniques.
开发和维护大型软件包是一项复杂的任务。在设计过程的早期就做出决定,这些决定会影响i)用户有效利用软件包的能力以及ii)软件工程师对其进行维护的能力。本案例研究讨论了软件开发和称为SnB的科学软件包的可维护性方面的问题,该软件包用于确定分子晶体结构。讨论了用户界面的设计以及重要的软件工程概念,包括模块化编程,数据封装和内部代码文档。 Fortran是一种仍在科学界广泛使用的语言。还讨论了有关使用基于C的用户界面将Fortran集成到现代科学应用程序中的问题。科学应用程序受益于可在多种平台上使用。由于需求,SnB可在各种顺序和并行平台上使用。提出了在SnB设计中实现这种可移植性的方法,包括POSIX合规性,自动配置脚本和并行编程技术。 P>
机译:VersaClean便携式计算机和蓝宝石科学型旋转清洁工具Versaclean便携式计算机:经久耐用
机译:使用计算机辅助设计和计算机辅助工程工具的便携式超级摩托车围场支架的设计与开发
机译:便携式工具包强大的分析能力:小型现场便携式X射线荧光分析仪是用于可靠的材料识别的强大工具
机译:便携式科学工具的设计:使用SnB的案例研究
机译:便携式外科手术工具定位机器人的设计与开发
机译:萨克勒关于创造力与协作的座谈会:重新探讨控制论的偶然性:思维工具之间的相关性;艺术手工艺和设计爱好;和STEMM专业人士的科学成就
机译:设计超轻便携式机床