软件的本质:产品和产品交付载体。
软件与硬件的不同:
1)软件是设计开发,而非生产制造。
2)软件不会磨损,但会退化。退化的原因是变更,不断的变更可能会引入新的错误,使得失效律越来越大。
3)工程学科基于构件,设计时可以专注于真正创新的部分,而大部分软件仍是定制化的。
软件工程是:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和卫华,即将工程化的方法运用于软件。(2)对(1)的研究。
软件工程的层次:(1)根基是质量关注。(2)其次是软件过程层。(3)方法层(4)工具层
软件神话:
(1)管理神话:有软件开发宝典=一切OK、通过增加人员可以赶上进度(人月神话)、外包给第三方公司就一切OK。
(2)客户神话: 目标不清将带来灾难、适应需求很容易
(3)从业员神话:在程序开始运行后才能评估质量、可运行程序是唯一可交付的工作成果、产生大量无用文档降低工作效率。