文章目录
- Gantt图与Pert图
- 风险管理
- 配置管理
- 沟通管理
- 题目举例
Gantt图与Pert图
- 甘特图能够清晰描述每个任务的开始 / 结束时间及各任务之间的并行性,也可以动态地反映项目的开发进展情况,但难以反映多个任务之间存在的逻辑关系;PERT 利用项目的网络图和各活动所需时间的估计值(通过加权平均得到的)去计算项目总时间,强调任务之间的先后关系,但不能反映任务之间的并行性,以及项目的当前进展情况。
- Gantt图是一种简单的水平条形图,它以日历为基准描述项目任务。水平轴表示日历时间线(如时、天、周、月和年等),每个条形表示一个任务,任务名称垂直地列在左边的列中,图中水平条的起点和终点对应水平轴上的时间,分别表示该任务的开始时间和结束时间,水平条的长度表示完成该任务所持续的时间。当日历中同一时段存在多个水平条时,表示任务之间的并发。下图所示的Gantt图描述了3个任务的进度安排。任务1首先开始,完成它需要6个月时间;任务2在1个月后开始,完成它需要9个月时间;任务3在6个月后开始,完成它需要5个月时间。
- PERT 图是一个有向图,图中的箭头表示任务,它可以标上完成该任务所需的时间。图中的结点表示流入结点的任务的结束,并开始流出结点的任务,这里把结点称为事件。只有当流入该结点的所有任务都结束时,结点所表示的事件才出现,流出结点的任务才可以开始。事件本身不消耗时间和资源,它仅表示某个时间点。一个事件有一个事件号和出现该事件的最早时刻和最识时刻。最早时刻表示在此时刻之前从该事件出发的任务不可能开始;最迟时刻表示从该事件出发的任务必须在此时此刻之前开始,否则整个工程就不能如期完成。每个任务还可以有一个松弛时间(Slack Time),表示在不影响整个工期的前提下完成该任务有多少激动余地。为了表示任务间的关系,在图中还可以加入一些空任务(用虚线箭头表示),完成空任务的时间为 0。
-
关键路径法是图中源点至汇点的最长路径,关键路径的时间称之为项目工期,也表述为项目完成所需的最少时间。
关键路径详情请见 -
总时差:在不延误总工期的前提下,该活动的机动时间。一般在图中,以最晚结束时间减去最早结束时间求取,或以最晚开始时间减去最早开始时间求取。
-
对于网络图我们一般采用关键路径分析法处理,关键路径法是利用进度模型时使用的一种进度网络分析技术。沿着项目进度网络路线进行正向与反向分析,从而计算出所有计划活动理论上的最早开始与完成日期、最迟开始与完成日期,不考虑任何资源限制。
-
单代号网络图:结点表示活动,箭线表示活动与活动间的依赖关系。
-
双代号网络图:结点表示里程碑,箭线表示活动。
风险管理
- 风险的特性:具有不确定性,可能会造成损失。
- 风险的类别:项目风险涉及到各种形式的预算、进度、人员、资源以及客户相关的问题,并且可能导致项目损失。技术风险涉及到技术相关的可能会导致项目损失的问题。商业风险与市场因素相关。社会风险涉及到政策、法规等因素。
- 风险暴露又称风险曝光度,测量的是资产的整个安全性风险,它将表示实际损失的可能性与表示大量可能损失的资讯结合到单一数字评估中。在形式最简单的定量性风险分析中,风险曝光度可透过将风险可能性及影响相乘算出。
风险曝光度(RiskExposure)= 错误出现率(风险出现率)×错误造成损失(风险损失)。
配置管理
软件配置管理用于整个软件工程过程。其主要目标是标识变更;控制变更;确保变更正确地实现。
(2)软件项目实施计划
(3)软件需求规格说明书
(4)设计规格说明书(数据设计、体系结构设计、模块设计、接口设计、对象描述(使用面向对象技术时))
(5)源代码清单
(6)测试计划和过程、测试用例和测试结果记录
(7)操作和安装手册
(8)可执行程序(可执行程序模块、连接模块)
(9)数据库描述(模式和文件结果、初始内容)
(10)用户手册
(11)维护文档(软件问题报告、维护请求、工程变更次序)
(12)软件工程标准
(13)项目开发小结
(1)开发库
(2)受控库
(3)产品库
沟通管理
- 有主程序员:n 个成员小组,1 个主程序员,普通程序员只需要与主程序员沟通。
沟通路径:n-1。 - 无主程序员:n 个成员的项目小组,相互之间都可以沟通。
沟通路径:n(n - 1) / 2。
题目举例
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动()不在关键路径上。活动BI和EG的松弛时间分别是()。
问题一
- A. BD
- B. BI
- C. GH
- D. KL
问题二
- A. 0和1
- B. 1和0
- C. 0和2
- D. 2和0
【试题解析】∶对于关键路径有两条分别是:ABDIJKL和AEGHKL两条关键路径,长度为20。
针对第一问,不在关键路径上的活动是BI,其余的BD,GH,KL都在关键路径上。
针对第二问,要求BI和EG的松弛时间,B活动通过的路径有两条ABUKL和ABIJL,其中两条路径的长度都为19,(如果有两条不同的路径成该选择最大的一条),用关键路径减去该路径的长度20-19=1,表示该活动的松弛时间。
活动EG位于该关键路径AEGHKL上,没办法延误,即松地时间为0。
在风险管理中,通常需要进行风险监测,其目的不包括()。
- A. 消除风险
- B. 评估所预测的风险是否发生
- C. 保证正确实施了风险缓解步骤
- D. 收集用于后续进行风险分析的信息
【试题解析】∶风险监测主要是对风险进行预测,评估,收集相关的信息,用来防止风险,从而做好相关的防范措施。
对于评估所预测的风险是否发生、保证正确实施了风险缓解步骤、收集用于后续进行风险分析的信息都是风险监测的目的至于A选项消除风险,风险是无法被消除掉的,只能尽量避免。
下列关于风险的叙述中,不正确的是()。
- A. 风险是可能发生的事件
- B. 如果能预测到风险,则可以避免其发生
- C. 风险是可能会带来损失的事件
- D. 对于风险进行干预,以期减少损失
【试题解析】∶风险是可能发生的事件,并且可能会带来损失,预测到风险后,可以进行干预以期减少损失,但是无法避免。B选项的描述是错误的。
软件项目成本估算模型COCOMO lI中,体系结构阶段模型基于()进行估算。
- A. 应用程序点数量
- B. 功能点数量
- C. 复用或生成的代码行数
- D. 源代码的行数
【试题解析】∶本题考查项目成本估算模型。
COCOMO ll模型也需要使用规模估算信息,在模型层次结构中有3种不同规模估算选择,即:对象点、功能点和代码行。应用组装模型使用的是对象点;早期设计阶段模型使用的是功能点,功能点可以转换为代码行;体系结构模型使用的是代码行数。
故正确答案选择D选项。
以下关于软件风险的叙述中,不正确的是()。
- A. 风险是可能发生的事件
- B. 如果发生风险,风险的本质、范围和时间可能会影响风险所产生的后果
- C. 如果风险可以预测,可以避免其发生
- D. 可以对风险进行控制
【试题解析】∶一般认为软件风险包含两个特性:不确定性和损失,不确定性即指风险可能发生也可能不发生,A选项正确。
评估风险的影响,如果风险真的发生,有3个因素可能会影响风险所产生的后果,即风险的本质、范围和时间,B选项正确。如果风险可以预测,可以避免其发生,有些风险可以预测但无法避免,C选项错误。
风险控制的目的是辅助项目组建立处理风险的策略,D选项正确。
某项目的活动持续时间及其依赖关系如下表所示,则完成该项目的最少时间为()天。
- A. 43
- B. 45
- C. 50
- D. 55
【试题解析】∶
工作量估算模型COCOMO lI的层次结构中,估算选择不包括()。
- A. 对象点
- B. 功能点
- C. 用例点
- D. 源代码行
【试题解析】∶COCOMO Il模型也需要使用规模估算信息,在模型层次结构中有3种不同规模估算选择,即:对象点、功能点和代码行。
配置管理贯穿软件开发的整个过程。以下内容中,不属于配置管理的是()。
- A. 版本控制
- B. 风险管理
- C. 变更控制
- D. 配置状态报告
【试题解析】∶配置管理包括ACD和配置审计。
成本估算时,()方法以规模作为成本的主要因素,考虑多个成本驱动因子。该方法包括三个阶段性模型,即应用组装模型、早期设计阶段模型和体系结构阶段模型。
- A. 专家估算
- B. Wolverton
- C. COCOMO
- D. COCOMO Ⅱ
【试题解析】∶软件成本估算比较常用的模型有Putnam模型,功能点模型,COCOMO模型和后续的COCOMO Ⅱ模型。其中以COCOMO Ⅱ模型的使用最为广泛,它是COCOMO模型的改进,以成本为主要因素,考虑多成本驱动因素。因此本题选择D选项COCOMO Ⅱ模型。
软件配置管理的内容不包括()。
- A. 版本控制
- B. 变更控制
- C. 过程支持
- D. 质量控制
【试题解析】∶本题考查软件配置管理的基础知识。
软件配置管理SCM用于整个软件工程过程,其主要目标是标识变更、控制变更、确保变更正确的实现,报告变更。其主要内容包括版本管理、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持等。
风险的优先级通常是根据()设定。
- A. 风险影响(Risk Impact)
- B. 风险概率(Risk Probability)
- C. 风险暴露(Risk Exposure)
- D. 风险控制(Risk Control)
【试题解析】∶风险暴露又称风险曝光度,测量的是资产的整个安全性风险,它将表示实际损失的可能性与表示大星可能损失的资讯结合到单一数字评估中。在形式最简单的定量性风险分析中,风险曝光度可透过将风险可能性及影响相乘算出。
风险曝光度(Risk Exposure) = 错误出现率(风险出现率) × 错误造成损失(风险损失)。
项目复杂性、规模和结构的不确定性属于()风险。
- A. 项目
- B. 技术
- C. 经济
- D. 商业
【试题解析】∶项目风险涉及到各种形式的预算、进度、人员、资源以及客户相关的问题,并且可能导致项目损失。
以下关于进度管理工具Gantt图的叙述中,不正确的是()。
- A. 能清晰地表达每个任务的开始时间、结束时间和持续时间
- B. 能清晰地表达任务之间的并行关系
- C. 不能清晰地确定任务之间的依赖关系
- D. 能清晰地确定影响进度的关键任务
【试题解析】∶Gantt图是一种简单的水平条形图,以日历为基准描述项目任务。水平轴表示日历时间线(如时、天、周、月和年等),每个条形表示一个任务,任务名称垂直地列在左边的列中,图中水平条的起点和终点对应水平轴上的时间,分别表示该任务的开始时间和结束时间,水平条的长度表示完成该任务所持续的时间。当日历中同—时段存在多个水平条时,表示任务之间的并发。
Ganttl图能清晰地描述每个任务从何时开始,到何时结束,任务的进展情况以及各个任务之间的并行性。但是其缺点是不能清晰地反映出各任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。
()软件成本估算模型是—种静态单变量模型,用于对整个软件系统进行估算。
- A. Putnam
- B. 基本COCOMO
- C. 中级COCOMO
- D. 详细COCOMO
【试题解析】∶基本COCOMO是一种静态的单值模型,它使用以每千源代码行数(KLoC)来度量的程序大小来计算软件开发的工作量(及成本)。COCOMO可以应用于三种不同的软件项目:
有机项目-相对较小、较简单的软件项目,由较小的有经验的团队来完成,需求较少并且没有过份严格的限定。
中度分离项目-指中等规模(大小及复杂度)的软件项目,由不同经验水平的人组成的团队来完成,需求中即有严格的部分也有不太严格的部分。
嵌入式项目-指软件项目必须依赖于—套紧凑的硬件、软件以及符合操作限制。
针对“关键职员在项目未完成时就跳槽"的风险,最不合适的风险管理策略是()。
- A. 对每—个关键性的技术人员,要培养后备人员
- B. 建立项目组,以使大家都了解有关开发活动的信息
- C. 临时招聘具有相关能力的新职员
- D. 对所有工作组织细致的评审
【试题解析】∶在IT项目中,临时的新增人员与替换人员,是需要谨慎处理的一件事情。因为新增人员需要与原团队磨合、需要花很多时间了解项目情况、同时增加沟通成本。
定义风险参照水准是()活动常用的技术。
- A. 风险识别
- B. 风险预测
- C. 风险评估
- D. 风险控制
【试题解析】∶风险识别的任务是通过建立风险条目检查表,试图系统化地确定对项目计划的威胁。。该检查表可以用于识别风险,并使得人们集中来识别—些常见的、已知的及可预测的风险。
风险预测,又称风险估算,它从两个方面评估一个风险:风险发生的可能性或概率;以及如果风险发生了所产生的后果。
风险评估的任务是定义风险参考水平值,预测影响参考水平值的风险组合。
风险控制的任务是风险避免、风险监控和风险管理及意外事件计划。
若软件项目组对风险采用主动的控制方法,则()是最好的风险控制策略。
- A. 风险避免
- B. 风险监控
- C. 风险消除
- D. 风险管理及意外事件计划
【试题解析】∶风险避免即放弃或不进行可能带来损失的活动或工作。例,为了避免洪水风险,可以把工厂建在地势较高、排水方便的地方,这是一种主动的风险控制方法。
风险监控是指在决策主体的运行过程中,对风险的发展与变化情况进行全程监督,并根据需要进行应对策略的调整。
风险管理是指在一个肯定有风险的环境里把风险减至最低的管理过程。对于风险我们可以转移,可以规避,但不能消除。
()最不适于采用无主程序员组的开发人员组织形式。
- A. 项目开发人数少(如3~4人)的项目
- B. 采用新技术的项目
- C. 大规模项目
- D. 确定性较小的项目
【试题解析】∶大规模项目最不适于采用无主程序员组的开发人员组织形式,因为大项目需要主程序员来整合各模块程序。
以下关于风险管理的叙述中,不正确的是()。
- A. 仅根据风险产生的后果来对风险排优先级
- B. 可以通过改变系统性能或功能需求来避免某些风险
- C. 不可能去除所有风险,但可以通过采取行动来降低或者减轻风险
- D. 在项目开发过程中,需要定期地评估和管理风险
【试题解析】∶对风险排优先级是根据风险的曝光度来进行的,曝光度等于风险的产生后果乘以风险发生的概率。
甘特图(Gantt图)不能()。
- A. 作为项目进度管理的一个工具
- B. 清晰地描述每个任务的开始和截止时间
- C. 清晰地获得任务并行进行的信息
- D. 清晰地获得各任务之间的依赖关系
【试题解析】∶甘特图是—种能清晰描述每个任务的开始和截止时间,能有效获得任务并行进行的信息的项目进度管理工具。
下列关于项目估算方法的叙述不正确的是()。
- A. 专家判断方法受到专家经验和主观性影响
- B. 启发式方法(如COCOMO模型)的参数难以确定
- C. 机器学习方法难以描述训练数据的特征和确定其相似性
- D. 结合上述三种方法可以得到精确的估算结果
【试题解析】∶项目估算的常用方法主要有专家判断法、启发式法和机器学习法等。
专家判断法是指向学有专长、见识广博并有相关经验的专家进行咨询、根据他们多年来的实践经验和判断能力对计划项目作出预测的方法。很显然,采用这种方法容易受到专家经验和主观性的影响。
启发式方法使用一套相对简单、通用、有启发性的规则进行估算的方法,它具有参数难以确定、精确度不高等特点。
机器学习方法是一种基于人工智能与神经网络技术的估算方法,它难以描述训练数据的特征和确定其相似性。
而无论采用哪种估算方法,估算得到的结果都是大概的,而不是精确的。
对于一个大型软件来说,不加控制的变更很快就会引起混乱。为有效地实现变更控制,需借助于配置数据库和基线的概念。()不属于配置数据库。
- A. 开发库
- B. 受控库
- C. 信息库
- D. 产品库
【试题解析】∶本题考查软件变更管理和配置管理的基础知识。
软件变更控制是变更管理的重要内容,要有效进行变更控制,需要借助配置数据库和基线的概念。配置数据库一般包括开发库、受控库和产品库。
在软件项目开发过程中,评估软件项目风险时,()与风险无关。
- A. 高级管理人员是否正式承诺支持该项目
- B. 开发人员和用户是否充分理解系统的需求
- C. 最终用户是否同意部署已开发的系统
- D. 开发需要的资金是否能按时到位
【试题解析】∶本题考查风险管理的基本知识。
软件开发中的风险与高级管理人员的支持程度有关,与对系统需求理解的程度有关,与开发资金的及时投入有关,但是与最终用户无关,系统的最后部署与运行不属于开发过程。Boehm提出的十大风险是:开发人员短缺、不能实现的进度和预算、开发了错误的软件功能、开发了错误的用户接口、华而不实的需求、需求不断地变动、外部执行的任务不符合要求、外部提供的组件不符合要求、实时性不符合要求、超出了计算机科学发展的水平。
软件风险一般包含()两个特性。
- A. 救火和危机管理
- B. 已知风险和未知风险
- C. 不确定性和损失
- D. 员工和预算
【试题解析】∶本题考查软件风险的特性。软件风险一般包括不确定性和损失两个特性,其中不确定性是指风险可能发生,也可能不发生:损失是当风险确实发生时,会引起的不希望的后果和损失。救火和危机管理是对不适合但经常采用的软件风险管理策略。已知风险和未知风险是对软件风险进行分类的一种方式。员工和预算是在识别项目风险时需要识别的因素。
系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括()和预算分配表等。
- A. PERT图
- B. 总体规划
- C. 测试计划
- D. 开发合同
【试题解析】∶本题考查系统开发计划文档知识。
用于系统开发人员与项目管理人员在项目期内进行沟通的文档主要有系统开发计划,包括工作任务分解表、PERT图、甘特图和预算分配表等。总体规划和开发合同用于与系统分析人员在系统规划和系统分析阶段的沟通。测试计划用于系统测试人员与系统开发人员之间的沟通。
风险预测从两个方面评估风险,即风险发生的可能性以及()。
- A. 风险产生的原因
- B. 风险监控技术
- C. 风险能否消除
- D. 风险发生所产生的后果
【试题解析】∶本题考查风险预测知识。风险预测从风险发生的可能性大小以及风险发生所产生的后果是否严重两个方面评估风险.
确定构建软件系统所需要的人数时,无需考虑()。
- A. 系统的市场前景
- B. 系统的规模
- C. 系统的技术复杂性
- D. 项目计划
【试题解析】∶本题考查项目管理内容。在对软件开发资源进行规划时,为了确定构建软件系统所需的人数,需要考虑软件系统的规模、系统的技术复杂性、项目计划和开发人员的技术背景等方面,而与系统是否有市场前景无关。