软件工程术语 - "不一致"和"不完整"的含义是什么

Jul*_*ian 5 methodology terminology

在设计软件方面,"不一致"和"不完整"究竟意味着什么?

例如 - 创建规格

在创建规范时,软件工程的形式化方法的使用被认为不如其他不太正式的方法(例如面向对象设计)那样"不一致"和"不完整".

mlo*_*kot 5

问题标题表示软件工程。但是正文指定了软件设计。这两个术语不是等价的。

关于不一致性和不完整性,它们适用于许多领域。仅举几例:

不完整性:

  • 代码是什么使其格式不正确或语法不完整,因此不可编译,可解释,可执行
  • 实现 - 算法可能不完整,无法正确处理可能的情况
  • 功能 - 软件不包括客户订购或团队计划的所有功能

不一致

  • 约定和编码风格
  • 实现设计 - 以不一致方式设计的函数、类和算法的接口(即矢量排序需要传递矢量,列表排序接受两个迭代器)
  • 在交互方面的用户界面设计 - 在一个对话框中,用户应该按 ENTER 接受,但在另一个对话框中,此操作显示 OK 按钮
  • 图形用户界面的外观和感觉 - 各种窗口具有完全不同的外观;或命令行界面 - 一个选项作为 -v value 给出,另一个选项作为 --v=value
  • 许可 - 想象一下 Visual Studio 产品在 BSD 上获得许可,但在 GPL 上获得 .NET Framework 许可:-)


Mat*_*hop 3

不一致性和不完整性最初都是形式逻辑中的术语,用于描述逻辑系统。

完整的定义取决于确切的上下文,但不一致通常意味着“对于某些 X,你可以证明 X 和!X”,而不完整性意味着“对于某些 X,你不能证明 X 并且你可以” t证明!X”。

因此,对于规范,我将“不一致”理解为“无法实现,因为它在某种程度上是自相矛盾的”,“不完整”意味着“未指定 - 对于某些输入,输出不明确”定义”。