软件工程概述
软件工程的定义与特征
软件 = 程序 + 文档 + 数据
- 软件的特征
软件是无形的、不可见的逻辑实体
软件是设计开发的,而不是产生制造的
软件在使用过程中没有磨损、老化的问题
软件是定制开发的
软件是复杂的
软件的开发成本高
软件易于复制
软件质量要求高
软件开发过程中,软件测试、系统维护等任务将占据工程的很大一部分成本
- 软件技术的演化(四个阶段)
第一阶段:程序设计阶段。1946年到60年代初,个体手工方式
第二阶段:程序系统阶段。60年代初到70年代初,小组化生产,出现软件危机
第三阶段:传统软件工程阶段。20世纪70年代中期至80年代中期,把工程化的思想引入到软件开发中,结构化方法的发展,规模化软件开发
第四阶段:面向对象阶段。20世纪80年代中期至今,面向对象方法学发展,软件定制和满足客户需求
发展趋势
软件服务:云服务、大数据服务
多样性:中间件
开放性:新型中间件平台
软件工程的起源和概念
软件危机:(两个方面的问题)
如何开发软件
如何维护软件
表现:
规模大、复杂度增加
供需差增大
价格昂贵
开发速度慢
质量难以保证
解决方法
重视需求分析,明确与确切表达需求
重视与客户沟通和交流
统一的、公认的方法论和规则指导
重视设计和实现过程中的资料
充分的检测工作
软件工程
软件工程 = 方法 +