定义:通过计划,组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。
任务:
1、估算软件规模
1)代码行技术:比较简单的定量估算软件规模的方法。依据以往开发类似产品的经验和历史数据,估计实现一个功能所需要的源程序行数。
2)功能点技术:依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。信息域的5个特性:输入项数、输出项数、查询数、主文件数、外部接口数
2、工作量估算
软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模的函数,工作量的单位是人月。
3、进度计划
软件项目的进度安排是通过把工作量分配给特定的软件工程任务并规定完成各项任务的起止日期,从而将估算出的项目工作量分布于计划好的项目持续期内,进度计划将随着时间的流逝而不断演化。
4、人员组织
1)民主制程序员组
特点:小组成员完全平等,享有充分民主,通过协商做出技术决策。通常采用非正式的组织方式。
优点:A.组员们对发现程序错误持积极的态度,有助于更快速地发现错误,从而导致高质量的代码。
B.组员们享有充分民主,小组有高度凝聚力,组内学术空气浓厚,有利于攻克技术难关。
2)主程序员组
特性:专业化、层次性
缺点:A.主程序员应该是高级程序员和优秀管理者的结合体,但这种人才不多见。
B.后备程序员难找,编程秘书也很难找。
3)现代程序员组
优点:有利于形成通畅的通信渠道,以便充分发挥每个程序员的积极性和主动性,集思广益攻克技术难关。
5、质量保证
软件质量:软件与明确地和隐含地定义的需求相一致的程度。
软件质量因素3种倾向/软件质量因素与产品活动的关系:
①产品运行:正确性、健壮性、效率、完整性(安全性)、可用性、风险
②产品修改:可理解性、可维修性、灵活性(适应性)、可测试性
③产品转移:可移植性、可再用性、互运行性
6、软件配置管理
1)软件配置管理:在软件的整个生命期内管理变化的一组活动。这组活动用来:标识变化;控制变化;确保适当地实现了变化;向需要知道这类信息的人报告变化。
2)软件配置管理过程:A.标识软件配置中的对象
B.版本控制
C.变化控制
D.配置审计
E.状态报告
7、能力成熟度模型(CMM)
能力成熟度模型:用于评价软件机构的软件过程能力成熟度的模型。
能力成熟度的5个等级由低到高:初始级(又称为1级)、可重复级(又称为2级)、已定义级(又称为3级)、已管理级(又称为4级)、优化级(又称为5级)。