第一章 软件的本质
-
软件的定义:
- 指令的集合
- 数据结构
- 软件描述信息
-
软件与硬件的区别:
软件不会有磨损,硬件会有磨损。
-
遗留软件:
一些软件的年代比较久,甚至过于久远了,这些旧的系统被称为“遗留软件”;
第二章 软件工程
-
软件工程(SE)的定义:
- 将系统化的、规范的、可量化的方法应用于软件的开发运行和维护,即将工程化方法应用于软件;
- 对1中所述方法的研究;
-
软件工程层次图
工具 为过程和方法提供自动化或半自动化的支持 方法 为构建软件提供技术上的解决办法 过程 软件工程的基础是过程层 质量关注点 支持软件工程的根基 -
软件过程的定义:
是工作产品构建时所执行的一系列活动、动作和任务的集合。
- 活动:主要实现宽泛目标(如和利益相关者进行沟通)。
- 动作:包含了主要工作产品生产过程中的一系列任务。
- 任务:关注小而明确的目标,能够产生实际产品。
-
过程框架的5个框架活动:
- 沟通
- 策划
- 建模
- 构建
- 部署
-
普适性活动(8个)
- 软件项目跟踪和控制(评估项目进度,保证按计划进行)
- 风险管理 (风险评估)
- 软件质量保证 (确定和执行保证软件质量的活动)
- 技术评审 (评估产品)
- 测量 (定义和收集过程、项目以及产品的度量)
- 软件配置管理 (管理变更带来的影响)
- 可复用管理
- 工作产品的准备和生产
-
软件开发神话
即关于软件及其开发过程的一些被人盲目相信的说法。(实际上误导管理者和从业人员对软件开发的态度)
第三章 过程结构
-
过程流
描述了在执行顺序和执行时间上如何组织框架中的活动、动作和任务。
-
4种过程流
- 线性过程流 ——顺序执行
- 迭代过程流 ——执行下一个前重复执行前面一个或多个活动
- 演化过程流 ——循环执行
- 并行过程流 ——并行执行
-
过程模式
提供了一个模板——一种在软件过程的背景下统一描述问题解决方案的方法。
-
过程模式的3种类型
- 步骤模式
- 任务模式
- 阶段模式