首页 > 代码库 > 软件的特殊性

软件的特殊性

软件是可以运行在计算机及电子设备中的指令和数据的有序集合,软件有各种形式:

  • 系统软件:操作系统、设备驱动程序、工具软件等
  • 应用软件:用户使用它们来完成工作,从管理核电厂到写文章,或者是通信、游戏、浏览网页、播放视频等
  • 恶意软件:软件病毒等软件

1. 复杂性(Complexity) 
软件可以说是人类创造的最复杂的系统类型,软件的各个模块之间有各种显性或隐性的依赖关系,随着系统的成长和模块的增多,这些关系的数量往往以几何级数的速度增长

2. 不可见性(Invisibility) 
工程师是“看”不到自己的源代码如何具体地在用户的机器上被执行的

3. 易变性(Changeability) 
人们自然地期待软件能在下面两种情况下“改变”: a) 让软件做新的事情;b) 让软件适应新的硬件

4. 服从性(Conformity) 
软件不能独立存在,它总是要运行在硬件上面,它要服从系统中其他组成部分的要求,它还要服从用户的要求、行业系统的要求

5. 非连续性(Discontinuity) 
输入上很小的变化,会引起输出上极大的变化

(参考书上的)

软件的特殊性