DO-178B/ED-12B的6.3.3 d:
【原文】Verifiability: The objective is to ensure that the software architecture can be verified, for example, there are no unbounded recursive algorithms.
【参考译文】可验证性:该目标确保软件架构是可验证的,如没有无限递归算法。
笔者未能理解这一条,有如下疑问:
1) DO-178B/ED-12B中软件架构的定义是什么?
2) 除了无限递归算法,还有那些不可验证的例子?
3) 软件架构可验证的判断准则是什么?
DO-178B/ED-12B的术语表中没有定义软件架构。
国标GB/T 11457-2006《信息技术 软件工程术语》中有以下定义:
体系结构 architecture
系统或部件的组织结构。
Len Bass, Paul Clements, Rick Kazman 等著的“Software Architecture in Practice”书中有以下定义:
The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.
该第5章中论述了软件架构的可测试性策略,实际内容是如何测试软件架构,而不是如何在软件架构设计中使之具有可测试性。
NASA的一份报告(NPO-40842, 2005年)提出了“可验证的任务数据系统架构(VMA)”。VMA是一种易于构造高可验证飞行软件的架构(http://www.techbriefs.com/component/content/article/462)。但未能下载报告全文。
Coverity公司声称其工具Coverity Architecture Analysis可用于检查软件架构的可验证性。但检查对象是源代码。