软件定义著名软件工程专家R.S.Pressman对软件给出了这样的定义:“软件是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,力加上描述程序的操作和使用的文档
软件定义 著名软件工程专家R.S. Pressman对软件给出 了这样的定义:“软件是能够完成预定功能和性能 的可执行的计算机程序和使程序正常执行所需要的 数据,加上描述程序的操作和使用的文档。
软件的特性(1)软件的本质特性①复杂特性。软件是个庞大的逻辑系统,一方面在软件中要客观地体现人类社会的事务,反应业务流程的自然规律;另一方面在软件中还要集成多种多样的功能,以满足用户在激烈的竞争中对大量信息及时处理、传输、存储等方面的需求,这就使得软件变得十分复杂。软件的复杂性使得软件产品难以理解、难以生产、难以维护,更难以对生产过程进行管理
软件的特性 (1)软件的本质特性 ① 复杂特性。软件是个庞大的逻辑系统,一方面在软 件中要客观地体现人类社会的事务,反应业务流程的自然规 律;另一方面在软件中还要集成多种多样的功能,以满足用 户在激烈的竞争中对大量信息及时处理、传输、存储等方面 的需求,这就使得软件变得十分复杂。软件的复杂性使得软 件产品难以理解、难以生产、难以维护,更难以对生产过程 进行管理
软件的特性②抽象特性。软件是人们经过大脑思维后加工出来的产品,一般寄生在内存、磁盘、光盘等载体上,我们无法观察到它的具体形态,这就导致了软件开发不仅工作量难以估计,进度难以控制,而且质量也难以把握。③依赖特性。软件必须和硬件保持一致,软件的开发和运行往往受到计算机硬件的限制,对计算机系统有看不同程度的依赖性。软件与计算机硬件的这种密切相关性与依赖性,是一般产品所没有的特性。为了减少这种依赖性,有关人员在软件开发中提出了软件的可移植性问题。好的软件在设计时就考虑到如何应用到不同的系统平台
软件的特性 ② 抽象特性。软件是人们经过大脑思维后加工出来的产品,一般 寄生在内存、磁盘、光盘等载体上,我们无法观察到它的具体形态,这 就导致了软件开发不仅工作量难以估计,进度难以控制,而且质量也难 以把握。 ③ 依赖特性。软件必须和硬件保持一致,软件的开发和运行往往 受到计算机硬件的限制,对计算机系统有着不同程度的依赖性。软件与 计算机硬件的这种密切相关性与依赖性,是一般产品所没有的特性。为 了减少这种依赖性,有关人员在软件开发中提出了软件的可移植性问题 。好的软件在设计时就考虑到如何应用到不同的系统平台
软件的特性使用特性。软件的价值在于应用,软件产品不会因多次反复使用而磨损老化,一个久经考验的优质软件可以长期使用。由于用户在选择新机型时,通常会提出兼容性要求。因此,一个成熟的软件可以在不同型号的计算机上运行
软件的特性 ④ 使用特性。软件的价值在于应用,软件产 品不会因多次反复使用而磨损老化,一个久经考 验的优质软件可以长期使用。由于用户在选择新 机型时,通常会提出兼容性要求。因此,一个成 熟的软件可以在不同型号的计算机上运行
软件的特性废弃特性。在软件的运行和使用期间,存在退化问题,必须要对其进行多次修改与维护,直至其"退役”。如早期的DOS操作系统,就是进行了多次修改与维护,实在难以与windows操作系统匹敌而“退役”了。图1.1和图1.2分别展示了硬件的失效率和使用时间的关系,以及软件的失效率和时间的关系
软件的特性 ⑤ 废弃特性。在软件的运行和使用期间,存在 退化问题,必须要对其进行多次修改与维护,直至 其“退役” 。如早期的DOS操作系统,就是进行了 多次修改与维护,实在难以与Windows操作系统匹 敌而“退役”了。图1.1和图1.2分别展示了硬件的失 效率和使用时间的关系,以及软件的失效率和时间 的关系