软件工程的产生与发展
1 软件的发展过程
软件 = 程序 软件 = ⼯具 = 程序 + 数据 + ⽂档 软件 = 服务 = 程序 + 数据 + ⽂档 + 知识
信息时代软件的作⽤:
知识的管理者
知识的传递者
知识的⽣产者
2 软件的本质
软件的本质特性:复杂性、⼀致性、可变性(演化性)、不可见性(Brooks, F. P.)
复杂性:软件是⼈类思想的外延,⼈们将⾃⼰的思想传送给计算机,当产⽣的可执⾏⽂件被激活运⾏时,软
件便重现⼈类的意图。
⼀致性:
– 软件不能独⽴存在,需要依附于⼀定的环境(如硬件、⽹络以及其他软件)
– 软件必须遵从⼈为的惯例并适应已有的技术和系统
– 软件需要随接⼜不同⽽改变,随时间推移⽽变化,⽽这些变化是不同⼈设计的结果
演化性:⼈们总是认为软件是容易修改的,但忽视了修改所带来的副作⽤;不断的修改最终导致软件的退
化,从⽽结束其⽣命周期
不可见性:软件⼈员就像“皇帝的新⾐”
例⼦:ARIANE 5 ⽕箭、Windows Vista、12306、美国 Standish 集团调查报告
3 软件开发面临的挑战
软件开发面临的挑战:
评论0