软件工程课程概述
1.1 软件与软件工程的概念
- 软件的定义:
软件 = 程序 + 数据 + 文档
– 程序:按事先设计的功能和性能需求执行的指令序列
– 数据:是程序能正常操纵信息的数据结构
– 文档:与程序开发,维护和使用有关的图文材料
- 软件的特征:
– 软件是开发的或者工程化的,并不是制造的
– 软件开发环境对产品影响较大
– 软件测试困难
– 软件的生产是简单的拷贝
– 软件的开发时间难以估计
– 软件不会磨损和老化
– 软件会多次修改
– 软件的开发进度几乎没有客观衡量标准
– 软件维护易产生新的问题
- 软件的分类:(按服务对象分类:项目软件&产品软件)
– 系统软件
– 应用软件
– 支撑软件
- 软件工程的定义:
将系统的,规范的,可量化的方法应用于软件的开发,运行和维护的过程
– 软件工程是一个学科交叉的综合性学科
1.2 软件过程模型
– 软件过程的定义:
是在工作产品构建过程中,所需完成的工作活动,动作和任务的集合
– 软件过程模型:
- 是软件开发全部过程,活动和任务结构框架
- 它能直观表达软件开发全过程,明确规定要完成的活动,任务和开发策略
– 软件模型分类:
– 瀑布模型(V模型,瀑布模型的一个变种)
– 原型模型
– 螺旋模型
– 增量过程模型
– 基于构件的过程模型
– 通用软件过程模型
– 选择软件过程模型的方法:
- 前期需求明确的情况下,尽量采用瀑布模型
- 用户无系统使用经验,需求分析人员技能不足的情况下,尽量采用原型模型
- 不确定因素很多,很多东西无法提前计划的情况下,尽量采用增量模型或者螺旋模型
- 需求不稳定/资金成本无法一次到位,采用增量模型
- 全新系统的开发必须在总体设计完成后再开始增量/并行
1.3 软件工程知识体系
– 软件工程知识体系
– 软件工程知识体系各主题之间的关联