1.软件是一种逻辑实体
2.软件是人类智力产品
3.软件开发过程复杂
4.软件需要长期维护
5.软件成本昂贵
6.软件可以复杂
在计算机软件开发和维护过程中所遇到的一系列严重问题
- 对软件开发成本和进度估算不准确
- 用户对已有软件不满意
- 软件质量不可靠
- 没有适当的文档资料
- 软件不可维护
- 软件成本的比例逐年上升
- 软件开发生产效率低
采用工程的概念、技术、原理和方法来开发维护软件,把经过时间考验并且证明正确的管理技术和当前的技术方法结合起来,经济的开发出高质量的软件并进行维护。
过程、方法、工具
过程:为了获得高质量软件所需要完成的一系列任务框架 when
方法:完成软件开发各项任务的技术方法 how
工具:为运用方法提供的自动、半自动软件工程支撑环境
三个时期,八个阶段
1.软件定义时期:
2.软件开发时期:
3.软件维护时期:
用软件生命周期模型描述软件过程
将需求分析、设计、编码、测试、运营维护进行线性顺序连接,按固定顺序,像瀑布一样逐级下落
优点:
1.有利于大型软件开发过程中人员的组织、管理,
2.有利于软件开发方法和工具的研究,从而提高大型软件项目的开发质量和效率
缺点:
1.开发过程一般不能逆转,否则代价太大
2.实际的项目开发很难按照模型进行
将需求分段为一系列增量产品,每一增量可以分别开发
优点:
1.人员分配灵活,刚开始不用投入大量人力资源
2.如果核心产品受欢迎,可以增加人力实现下一个增量
3.可以先发布部分功能给客户
缺点:
1.并行开发构件有可能遇到无法集成的风险
2.软件必须具备开放式的体系结构
将开发过程分成几个螺旋周期,每个螺旋周期与瀑布模型相吻合
在每个螺旋周期中:
1.制定计划
2.风险分析
3.实施工程
4.用户评估
优点:
1.设计灵活,可以在项目的各个阶段进行变更
2.以小的分段来构建大型系统,方便计算成本
缺点:
1.过多的迭代次数会增加开发成本
2.会延迟提交时间
以用户需求为动力,以对象作为驱动的模型,适用于面向对象的开发方法 在设计完成后才进行编码,并且允许各个开发活动交叉、迭代的进行
1.哪一种模型是软件的基础模型?
瀑布模型
2.软件生命周期中,所花费用最多的阶段是?
软件维护
3.综合测试是在软件周期的( )阶段制定的,在综合测试完成的
概要设计
4.软件危机通常是指在计算机软件开发和维护时,所产生的一系列严重的问题,这些问题中,相对次要的因素是()
开发进度
5.软件是一种()性工业产品
知识
6.软件的主要功能和结构是在( )阶段决定的
分析设计
1.什么是软件
软件是计算机系统中与硬件相互依存的一部分,包括程序、数据及文档的完整集合
2.软件的特点:
1.软件是一种逻辑实体
2.软件是人类智力产品
3.软件开发过程复杂
4.软件需要长期维护
5.软件成本昂贵
6.软件可以复杂
3.软件的生命周期
1.软件定义时期:问题定义 可行性研究 需求分析
2.软件开发时期:总体设计 详细设计 编码和单元测试 综合测试
3.软件维护时期:运营和维护
4.软件危机的原因和表现
5.解决软件危机的途径
6.软件过程是什么,举例软件过程的模型
见上文