第一章软件与软件工程1
1软件(Software)1
1软件与软件的组成计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据
∴软件程序及有关数据—机器可执行;文档(与软件开发、运行、维护、使用、培训有关)——不可执行
程序(program)——用程序设计语言描述的,适合于计算机处理的语句序列
程序设计语言三种类型:1.机器语言、汇编语言:依赖于机器,面向机器2.高级语言:独立于机器,面向过程或面向对象3.面向问题语言:独立于机器,非过程式语言(4GL)文档(document)—一种数据媒体和其上所记录的数据
文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读
文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护
软件的特点软件是逻辑产品,硬件是物理产品
特点:(1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理
软件开发、设计几乎都是从头开始,成本和进度很难估计
(2)软件存在潜伏错误,硬件错误一般能排除
(3)软件开发成功后,只需对原版进行复制
(4)软件在使用过程中维护复杂:1)纠错性维护—改正运行期间发现的潜伏错误;2)完善性维护—提高或完善软件的性能;3)适应性维护—修改软件,以适应软硬件环境的变化;4)预防性维护—改进软件未来的可维护性和可靠性
(5)软件不会磨损和老化
软件的发展第一阶段——20世纪60年代中期以前,软件开发处于个体化生产状态
在这一阶段中,软件还没有系统化的开发方法
目标主要集中在如何提高时空效率上
第二阶段——从20世纪60年代中期到70年代末期
软件开发已进入了作坊式生产方式,即出现了“软件车间”
软件开发开始形成产品
到20世纪60年代末,“软件危机”变得十分严重
第三阶段——从20世纪70年代中期到20世纪80年代末期
软件开发进入了产业化生产,