天津专接本2013软件工程导论(4)

2018-11-23 22:25

E是开发工作量(以人月为单位), a是模型系数,

KLOC是估计的源代码行数, b是模型指数,

fi (i=1~17)是成本因素。

COCOMO2采用了更加精细得多的b分级模型,这个模型使用5个分级因素Wi(1≤i≤5),其中每个因素都划分成从甚低(Wi=5)到特高(Wi=0)的6个级别,然后用下式计算b的数值:

5b?1.01?0.01??Wi?1ib的取值范围为1.01~1.26 11)COCOMO2使用的5个分级因素:

? 项目先例性。这个分级因素指出,对于开发组织来说该项目的新奇程度。

? 开发灵活性。这个分级因素反映出,为了实现预先确定的外部接口需求及为了及早开

发出产品而需要增加的工作量。

? 风险排除度。这个分级因素反映了重大风险已被消除的比例。

? 项目组凝聚力。这个分级因素表明了开发人员相互协作时可能存在的困难。

? 过程成熟度。这个分级因素反映了按照能力成熟度模型度量出的项目组织的过程成熟

度。

12)估算开发时间:

各种模型估算开发时间的方程很相似,例如: Walston_Felix模型 T=2.5E0.35 原始的COCOMO模型 T=2.5E0.38

×

COCOMO2模型 T=3.0E0.33+0.2(b-1.01) Putnam模型 T=2.4E1/3

其中,E是开发工作量(以人月为单位),T是开发时间(以月为单位)。 13)Gantt图的优缺点:

优点:Gantt图能很形象地描绘任务分解情况,以及每个子任务(作业)的开始和结束时间。具有直观简明和容易掌握、容易绘制的优点

缺点:不能显式地描绘各项作业彼此间的依赖关系;进度计划的关键部分不明确,难于判定哪些部分应当是主攻和主控的对象;计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。 14)工程网络: (实箭头):表示作业,持续一定时间。 (圆):表示事件,作业的开始或结束时刻。 (虚箭头):虚拟作业,事实上并不存在的作业,表示依赖关系。

工程网络必要的信息:

? 每个作业估计需要使用的时间:箭头长度和它代表的作业持续时间没有关系,箭头仅

表示依赖关系,它上方的数字才表示作业的持续时间。 ? 最早时刻EET:该事件可以发生的最早时间。

? 最迟时刻LET:在不影响竣工时间的前提下,该事件最晚可以发生的时刻。

? 机动时间:实际开始时间可以比预定时间晚一些,或者实际持续时间可以比预定的持

续时间长一些,而并不影响工程的结束时间 最迟时刻的计算:

? 事件的最迟时刻是在不影响工程竣工时间的前提下,该事件最晚可以发生的时刻。 ? 按惯例,最后一个事件(工程结束)的最迟时刻就是它的最早时刻。其他事件的最迟时刻

在工程网络上从右至左按逆作业流的方向计算。 ? 计算最迟时刻LET使用下述3条规则: ? 考虑离开该事件的所有作业;

? 从每个作业的结束事件的最迟时刻中减去该作业的持续时间; ? 选取上述差数中的最小值作为该事件的最迟时刻LET。

5234100222234661712186606612120215208110348151501961021212112323机动时间:

机动时间=(LET)结束-(EET)开始-持续时间=右下角-左上角-持续时间

52341002(0)222(1)4(0)366(11)7(0)6606(0)11218(6)6121202(6)1520(3)(4)811(3)03(0)(5)841515(0)01(5)910621212(0)11232352341002(0)222(1)4(0)366(11)7(0)6606(0)1(6)6(3)(4)811(3)031212021218(6)1520(0)(5)841515(0)01(5)910621212(0)11232315)民主制程序员组的优缺点: 优点:

? 组员们对发现错误抱着积极的态度,有助于更快地发现错误,导致高质量的代码; ? 小组成员享有充分民主,有高度凝聚力,学术空气浓厚,利于攻克技术难关; ? 若组内多数成员经验丰富,那么本组织方式会非常成功。

缺点:如果组内多数成员技术水平不高,或是缺乏经验的新手,由于没有明确的权威指导开发工程的进行,组员间将缺乏必要的协调,最终可能导致工程失败 16)采用主程序员组的原因:

? 软件开发人员多数比较缺乏经验;

? 程序设计过程中有许多事务性的工作,例如,大量信息的存储和更新; ? 多渠道通信很费时间,将降低程序员的生产率。 17)主程序员组的两个重要特性:

? 专业化。该组每名成员仅完成他们受过专业训练的那些工作。 ? 层次性。主程序员指挥成员工作并全面负责。

? 典型的主程序员组由主程序员、后备程序员、编程秘书以及1~3名程序员组成。 18)主程序员组的组织方式不切实际的原因:

? 首先,主程序员应该是高级程序员和优秀管理者的结合体。通常,既缺乏成功的管理

者也缺乏技术熟练的程序员。 ? 其次,后备程序员更难找。 ? 第三,编程秘书也很难找到

19)软件质量的定义:软件质量就是“软件与明确地和隐含地定义的需求相一致的程度” 20)软件质量保证(software quality assurance,SQA)的措施主要有: ? 基于非执行的测试(复审或评审),主要用来保证在编码之前各阶段产生的文档的质量; ? 基于执行的测试(软件测试),需要在程序编写出来之后进行,它是保证软件质量的最

后一道防线;

? 程序正确性证明,使用数学方法严格验证程序是否与对它的说明完全一致。

21)基线的定义:基线是一个软件配置管理概念,有助于我们在不严重妨碍合理变化的前提下控制变化。【IEEE把基线定义为:已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。】 22)多种基于CMM的模型:

? SW-CMM :针对软件过程的成熟度模型 。 ? P-CMM:人员能力成熟度模型。 ? SA-CMM:软件获取成熟度模型。

? IPD-CMM:集成系统产品开发能力成熟度模型。 ? SE-CMM:系统工程能力成熟度模型。

? SSE-CMM:系统安全工程能力成熟度模型。

23)CMM的组成部分:成熟度等级(Maturity Levels) ;过程能力(Process Capability);关键过程域(Key Process Areas, KPA);目标(Goals);公共特性(Common Features);关键实践(Key Practices)。

24)CMM的用途:

? 软件过程评估,借助CMM分析软件组织当前软件过程的状态,明确其强项和弱项 ? 软件过程改进,软件开发组织用它来改进开发和维护软件的过程,根据评估结果,从

低级逐极向更高级发展,制定软件过程改进的策略。

? 软件能力评价,政府或商业企业用它来评价与一个特定的软件公司签订软件项目合同

的风险。


天津专接本2013软件工程导论(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:各省军区独立师历史沿革

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: