硬件和软件的区别是什么
1、软件是一种逻辑的产品,与硬件产品有本质的区别。硬件是看得见、摸得着的物理部件或设备。在研制硬件产品时,人的创造性活动表现在把原材料转变成有形的物理产品。而软件产品是以程序和文档的形式存在,通过在计算机上运行来体现他的作用。在研制软件产品的过程中,人们的生产活动表现在要创造性地抽象出问题的求解模型,然后根据求解模型写出程序,最后经过调试、运行程序得到求解问题的结果。整个生产、开发过程是在无形化方式下完成的,其能见度极差,这给软件开发、生产过程的管理带来了极大的困难。
2、软件产品质量的体现方式与硬件产品不同。质量体现方式不同表现在两个方面。硬件产品设计定型后可以批量生产,产品质量通过质量检测体系可以得到保障。但是生产、加工过程一旦失误。硬件产品可能就会因为质量问题而报废。而软件产品不能用传统意义上的制造进行生产,就目前软件开发技术而言,软件生产还是定制”的,只能针对特定问题进行设计或实现。但是软件爱你产品一旦实现后,其生产过程只是复制而已,而复制生产出来的软件质量是相同的。设计出来的软件即使出现质量问题,产品也不会报废,通过修改、测试,还可以将报废”的软件修复”,投入正常运行。可见软件的质量保证机制比硬件具有更大的灵活性。
3、软件产品的成本构成与硬件产品不同.硬件产品的成本构成中有形的物质占了相当大的比重。就硬件产品生存周期而言,成本构成中设计、生产环节占绝大部分,而售后服务只占少部分。软件生产主要靠脑力劳动。软件产品的成本构成中人力资源占了相当大的比重。软件产品的生产成本主要在开发和研制。研制成功后,产品生产就简单了,通过复制就能批量生产。
4、软件产品的失败曲线与硬件产品不同.硬件产品存在老化和折旧问题。当一个硬件部件磨损时可以用一个新部件去替换他。硬件会因为主要部件的磨损而最终被淘汰。对于软件而言,不存在折旧和磨损问题,如果需要的话可以永远使用下去。但是软件故障的排除要比硬件故障的排除复杂得多。软件故障主要是因为软件设计或编码的错误所致,必须重新设计和编码才能解决问题。软件在其开发初始阶段在很高的失败率,这主要是由于需求分析不切合实际或设计错误等引起的。当开发过程中的错误被纠正后,其失败率便下降到一定水平并保持相对稳定,直到该软件被废弃不用。在软件进行大的改动时,也会导致失败率急剧上升。