新闻动态
软件的特征决定软件制造的复杂性
https://www.sytm.net 发布日期:2013/10/23 11:19:06

(1)软件是计算机系统中的一种逻辑部件,具有抽象性。

软件与其他工业产品之间存在明显的差异,它可以被记录在纸、内存、光盘或磁盘等存储设备上,但却无法看到其自身的形态,必须通过观察、分析、判断和思考等方式才能了解软件产品的功能和性能。

(2)软件是由设计或工程化的方法开发出来的,与传统工业的生产制造存在很大差别。

虽然表面上软件的开发和硬件的执照有一些相似之处,但实际上两者具有本质上的不同。

例如:

①计算机软硬件都可以通过来年刚好的设计来获得较高的质量,但对于硬件来说,统一批量的重复执照可能会引入一些质量问题,而这种情况对于软件而言几乎不存在。当软件开发完成之后,其重复执照就是简单的拷贝而已,不会引入其他问题。

②计算机软硬件都依赖于人的劳动,但在开发或执照过程中参与的额人员和完成的工作之间的关系存在很多不同之处。

③计算机软硬件都是在建造某一产品,但是它们所采用的过程和方法却完全不同。

(3)软件系统不会“磨损”。

就像其他的工业产品一样,计算机硬件会随着时间和环境(例如所使用的时间、周围的灰尘、工作台的震动、系统的滥用或温度的急剧变化等)的改变而发生故障和磨损。

(4)大多数软件产品时定制的,而不是通过对已有构件组装完成的。

从上可知,软件没有备用的零件可以替换和组装,也几乎没有满足要求的软件构件可供选择。虽然关于“软件复用”已有大量论著,但是要实现真正意义上的软件复用,还有很长的一段路要走。

此外,软件需求的不确定性和软件开发过程中所涉及的一系列的社会和经济问题也会导致软件制造的复杂性。

实际上,软件工程是一种层次化的技术,它不仅包括工具和方法,也包括过程方面的内容。软件工程的基层是过程层,软件过程可以看成是软件开发的一种规范化流程,并定义了软件开发中采用的方法和技术,一种好的软件过程可以促进软件开发的顺利进行,并能够尽量保证软件质量的提高。软件过程是将技术层结合在一起的凝聚力,使得软件能够被合理地、及时地开发出来。方法层提供了开发软件在技术上需要“如何做”,涵盖了一系列的任务:需求分析、设计、编程、测试和维护,确定给出实现这些任务的技术方法,也包含建模活动和其他描述技术。工具层对过程和方法提供了自动或半自动的支持,当这些工具被集成起来使得一个工具的信息可被另一个工具使用时,一个支持软件开发的系统就建立了。


更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览