资源描述:
《软件过程管理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、2.软件过程的基本知识 (1)软件过程模型<1>瀑布模型以文档为驱动,适用于需求明确的项目.但缺乏灵活性<2>演化模型通过开发原型,然后根据客户的反馈和意见改进原型.适用于需求模糊的情况.<3>螺旋模型结合了瀑布模型和演化模型,并加入了风险分析.过程:1.制定计划.2.风险分析.3.实施工程.4.用户评估.<4>喷泉模型以用户需求为动力,以对象为驱动的模型.适合于面向对象开发方法.使得开发过程具有跌代谢和无间隙性(使得各个过程没有明确的界线).<5>统一过程(UP)以用例驱动,以架构为中心,迭代并且增量<6>敏捷方法
2、(2)统一过程(UP)<1>用例驱动<2>以架构为中心.<3>迭代和增量<4>统一过程的生命周期分为:初始阶段,精化阶段,构建阶段,移交阶段,产生阶段.<5>RUP (3)敏捷方法目标:尽可能早的,持续的对有价值的软件的交付使客户满意.4条宣言与12条原则.<1>极限编程(XP)四大价值观:沟通,简单,反馈和勇气<2>水晶法5/5她认为每个不同的项目都需要一套不同的策略,约定和方法论,适用于规模在100-500个功能点的软件.<3>并列争球法她使用迭代的方法,把每30天一次的迭代称为一个冲刺并按需求的优先级来实现产品.<4
3、>自适应软件开发.<5>特征驱动软件开发 (4)软件过程改进<1>软件过程评估的意义 *1.软件过程改进的需要 *2.降低软件风险的需要 *3.集成各种过程改进工作的需要.<2>软件能力成熟度摸得简介(CMM)他是对软件进化阶段的描述理解关键过程域软件过程成熟度分为:初始化级,可重复级,已定义级,已管理级,优化级<3>能力成熟度集成模型(CMMI)能力等级0-5. 3.软件开发计划与管理(1)软件项目管理 <1>成本预算 *1.自顶向下估算法. 优点:重视系统级工作,工作量小,速度快.
4、 缺点:忽视低级别上的技术困难,使得成本上升. *2.自顶向上估算法. 将软件细分并由负责该部分子任务的人员来负责估算 优点:估算精准 缺点:估算缺乏各个子项目之间 *3.差别估算法. 与已经完成的项目进行比较,找出不同之处并估算其对成本的影响.5/5 优点:提高估算准确度/缺点:不容易明确差别的界线. *4.其他:专家估算法,类推估算法算式估算法. *5.常见的估算模型:Putnam模型和COCOMO模型<2>风险分析 *1.
5、风险识别. 建立风险条目检查表 *2.风险预测. *3.风险评估. *4.风险控制.<3>进度管理 *1.甘特图(Gantt) 优点:能清晰地描述任务的开始,结束以及进展 缺点:无法反映各个任务之间的依赖关系,难以确定其关键所在. *2.项目计划评审技术(PERT图) 能准确的反映出各个任务之间的关系与找出关键路径.<4>人员管理.人员能力成熟度模型(P-CMM) 5/5(2)软件配置管理(SCM)<1>基线<2>软件配置项<3>
6、软件版本控制<4>变更控制 (3)软件质量管理<1>软件质量的特性 *1.功能性:适应性,准确性,互用性,依从性,安全性 *2.可靠性:成熟性,容错性,易恢复性 *3.易使用性:易理解性,易学性,易操作性 *4.效率:时间特性,资源特性 *5.可维护性:易改变性,易分析性,稳定性,易测试性 *6.可移植性:适应性,易安装性,一致性,易替换性<2>McCall软件质量模型<3>软件质量保证<4>软件复杂度 *1.代
7、码行度量法 *2.McCabe度量法 公式:V(G)=m-n+2p其中:m弧数,n节点数,p=1<5>软件评审<6>软件容错技术 4.系统运行和维护知识 (1)系统维护概述<1>系统可维护性概念维护人员理解,改正,改动和改进软件的难易程度. *1.系统可维护性的评价指标 可理解性,可测试性,可修改性 *2.维护与软件文档5/5 *3.软件文档的修改<2>系统维护的内容及类型 *1.硬件维
8、护 *2.软件维护 *3.数据维护<3>系统维护的管理和步骤 (2)系统评价(3)系统评价的指标5/5