软件工程考点总结
软件开发生命周期模型
瀑布模型 | 需要有明确的需求分析 |
原型模型 | 采用动态定义需求,不需要有明确的需求 |
螺旋模型 | 结合了瀑布模型和演化模型的优点,加入了风险分析,防止了测试不足的情况 |
喷泉模型 | 主要用于面向对象开发,核心特点是迭代,开发活动没有明显边界 |
增量模型 | 快速开发出可交付产品,无需知道所有需求 |
项目管理
软件项目管理集中在4P上:Person、Product、Procedure、Project
成本估算方法:
自顶向下 | 不会遗漏,工作量小、速度快,但是不清楚低级别上的技术性困难,这些会导致成本上升 |
自底向上 | 分别估算每一个子任务所需要的开发工作量,并且交给相应人员来做,估算准确,但是缺少各子任务工作量和与系统相关的系统级工作量,预算往往偏低 |
差别估算 | 将待开发项目与完成项目比较找出异同点,并且估算影响算出总成本,可以提高估算准确度,但是不容易明确“差别”的界限 |
软件质量特性
ISO/IEC 9126 软件质量模型
质量特性 | 质量子特性 |
功能性 | 适合性 |
| 准确性 |
| 互用性 |
| 依从性 |
| 安全性 |
可靠性 | 成熟性 |
| 容错性 |
| 易恢复性 |
易使用性 | 易理解性 |
| 易学性 |
| 易操作性 |
效率 | 时间特性 |
| 资源特性 |
可维护性 | 易分析性 |
| 易改变性 |
| 稳定性 |
| 易测试性 |
可移植性 | 适应性 |
| 易安装性 |
| 一致性 |
| 易替换性 |
McCabe度量法
在一个强连通的有向图G中,V(G)=m-n+2p
m是图中弧的个数,n是图中的结点的个数,p是图中的强连通分量个数