软件工程之软件工程管理

        一个好的工程需要配套的管理体系,软件工程也不列外。软件工程就我的理解就是对软件工程的各个阶段都一定规范,俗话说“不以规矩,不能成方圆”,而这个规矩就由管理来充当。
        一个软件工程管理需要软件项目计划、成本估算、进度计划、风险分析和人员的组织形式(或调动)。

软件工程之软件工程管理_第1张图片
        一、在软件项目计划中,项目的任务是研究项目的性能、功能及系统界面,和估算经费、进度和资源,一般情况下,估算允许有误差,在10%~20%之内。有了目标,就要有实际行动,而实际行动不是盲目的,需要有合理的计划安排,这包括范围、资源(人力、硬件、软件)、进度、成本估算和培训计划等内容。计划的内容调整,需要根据项目的类型做出,而项目的分类根据下图划分:

        软件工程之软件工程管理_第2张图片

        二、对于成本的估算,有着较科学的理论体系,估算方法有自顶向下和自底向上两种。自顶上下,是估算总开发时间、总工作量估算,按各阶段、步骤和工作单元分配。自底向上是分别估算各工作单元所需工作量和开发时间,然后相加得总量,分:专家估算法、类推估算法、算式算法。估算模型有SLIM模型(动态变量模型)、COMOMO模型(基本、中级、详细)和代码行(自底向上)的估算模型。这里只介绍最后一种模型,其它两种可以读者自行查询。

代码行的估算模型步骤:

①确定功能:极好、正常、较差三种情况下源代码的估算行数,用a,m,b标示

②求期望值le和偏差ld


③根据经验,确定各个子功能的代码成本

④计算子功能的成本和工作量,计算总成本和工作量

⑤计算开发时间

⑥分析结果

        三、在实际操作中还需要有相应的进度计划,方便适时调整,避免突发情况,以作应对。常用方法:甘特图(条形图),工程网络图,时标网络图【都表示进度安排】

甘特图:

        横坐标表示时间,纵坐标表示不同的子任务的分段。起点和终点分别对应子任务的开工时间和完成时间,线长表示所需时间。

         软件工程之软件工程管理_第3张图片

工程网络图:

也称计划评审技术,是一种有向图;起点是箭尾,表示任务开始;终点是箭头,表示是任务结束,或下个任务开头;箭上数字称为权,表示子任务的持续时间。

绘制方法:

1.从左到右,一个起点,一个终点,保证连同

2.无编号相同节点

3.无循环回路

4.作业的合并

绘制步骤:

1.先根据子模块估算工作量及标准生产率C,再估算每个子模块花费时间

2.画出网络图,确定关键路径

3.确定整体进度安排,标识每个节点的机动时间

4.平衡优化资源,可用规矩法,表算法、图解法

时标网络图:

        是前两种方法的结合以纵轴为任务和资源(人员)坐标;以横轴为时间坐标;以主关键路径为主画,非关键路径分别画在关键路径的上下;有作业相互依赖关系,也有作业时序关系。

                       软件工程之软件工程管理_第4张图片


         四、一个项目的研发,需要对风险的分析,即风险分析。风险分析包含项目风险、技术风险和商业风险。项目风险就是危及项目计划的风险;技术风险有设计实现借口、验证、维护等;商业风险则是来自与商业有关的风险,例如市场风险、策略风险、推销风险、管理风险、预算风险等等。这些风险的发生可能性不同,发生以后造成的损失也不尽相同,所以就需要对风险作出估算。风险因素一般有:性能、成本、支持和进度四项组成。所以估算要从这四项着手,从三方面考虑风险的可能性和损失:风险的性质、范围和时间。当估算完成后,需要对所估算的记过作出评价,而评价步骤为:

1.定义各种风险的参考水准

2.找出每组[ ri , pi , ei ] 和各参考水准的关系(ri是风险类别,pi是风险发生的可能性,ei是风险造成的影响或损失)

3.预测一组临界点以定义项目的终止区

4.预测怎样的风险组合会影响参考水平值

即使对风险有了一定的防范,依旧不能避免风险的发生,所以就需要对风险作出管理和监控,跟随进度同步进行。

       五、对于人员的组织形式,是针对具体项目及人员素质:责任到人、组织合理和责权均衡。组织形式分为层级模式(层级管理)和矩阵模式(矩阵式管理)。
其中成本的估算、风险分析和人员的组织形式有促进进度计划的完善!


你可能感兴趣的:(管理,设计,软件工程)