集中在4P:Person+Product+Project+Procedure
估算软件规模
代码行技术
功能点技术
据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模
1.计算未调整的功能点数UFP
2.计算技术复杂性因子TCF=0.65+0.01*DI[DI=sum(Fi)]
3.计算功能点数FP=UFP×TCF
工作量估算
软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模(KLOC或FP)的函数,工作量的单位通常是人月(pm)
- 静态单变量模型
- E=A+B×(ev)^c
- 面向KLOC的估算模型
- Walston_Felix模型 E=5.2×(KLOC)^0.91
- 面向FP的估算模型
- 动态多变量模型
- E=(LOC×B^0.333/P)^3×(1/t)^4
- COCOMO2 模型
- 构造性成本模型(constructive cost model)
进度计划
- Gantt图
- PERT图
- 前向路径计算最早时刻
- 后向路径计算最晚时刻
- 关键路径识别
人员组织
- 民主制程序员组
- 主程序员组
- 现代程序员组
质量保证
- 软件质量模型ISO/IEC9126 https://blog.csdn.net/qq_36626686/article/details/122897882
- Mc Call质量模型
容错技术
- 结构冗余
- 信息冗余
- 时间冗余
- 事务回滚
- 冗余附加技术
软件配置管理SCM
- 软件配置项
- 程序+文档+数据
- 基线
- 基线就是通过了正式复审的软件配置项
- 版本控制
- 变更控制
能力成熟模型
CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
(1)初始级(initial)。工作无序,项目进行过程中常放弃当初的计划。管理无章法,缺乏健全的管理制度。开发项目成效不稳定,项目成功主要依靠项目负责人的经验和能力,他一但离去,工作秩序面目全非。
(2)可重复级(Repeatable)。管理制度化,建立了基本的管理制度和规程,管理工作有章可循。 初步实现标准化,开发工作比较好地按标准实施。 变更依法进行,做到基线化,稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。
(3)已定义级(Defined)。开发过程,包括技术工作和管理工作,均已实现标准化、文档化。建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解 。
(4)已管理级(Managed)。产品和过程已建立了定量的质量目标。开发活动中的生产率和质量是可量度的。已建立过程数据库。已实现项目产品和过程的控制。可预测过程和产品质量趋势,如预测偏差,实现及时纠正。
(5)优化级(Optimizing)。可集中精力改进过程,采用新技术、新方法。拥有防止出现缺陷、识别薄弱环节以及加以改进的手段。可取得过程有效性的统计数据,并可据进行分析,从而得出最佳方法。
https://zhuanlan.zhihu.com/p/439348834 https://blog.csdn.net/kisscatforever/article/details/53127120