第9章 软件项目管理
习题参考答案-软件项目管理-宁涛-清华大学出版社

参考答案第一章概述1. 问答题(1)什么是软件项目管理?软件项目管理是为了使软件项目能够按照既定的成本、进度、质量顺利完成而对成本、人员、进度、质量和风险进行分析和管理的活动,它是决定软件项目能否高效、顺利进行的基础性工作。
(2)项目管理的9大知识领域是什么?项目集成管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理和项目采购管理。
(3)项目管理的5个过程组是什么?启动、规划、执行、监控、收尾(4)下列那些活动属于项目?b. 开发车辆调度系统c. 卫星发射计划d. 野外郊游e. 集体婚礼2. 判断题(1)√(2)⨯(3)⨯第二章项目集成管理1. 问答题(1)项目建议书是指在项目初期为竞标而提交的文档,该文档是在双方对相应问题有共识的基础上,清晰地说明项目的目的及操作方式。
(2)项目章程是指项目执行组织高层批准的以书面签署的确认项目存在的正式文件,包括对项目的确认、对项目经理的授权和项目目标的概述。
(3)外部项目需要由甲方编写招标书,而内部项目不需要进行招标;内部项目中甲方和乙方没有具有法律约束的合同。
2. 选择题(1)C (2)B (3)B3. 判断题(1)√(2)√(3)⨯(4)⨯(5)√第三章 项目范围管理1. 选择题(1)B (2)B (3)B (4)B (5)C第四章 软件项目成本管理1. 选择题 (1)A (2)C2. 判断题(1)⨯ (2)√ (3)⨯第五章 软件项目时间管理1. 选择题(1)D (2)C (3)B 2.应用题(1) 由公式E =(P +4M +Q )/6 得E 1=12.3, E 2=6, 则 E =E 1+E 2=18.3(2) 由标准差()/6p O δ=− 得 1δ=7/3,2δ=4/3方差222212()()()n δ=δ+δ++δ…项目标准差δ= 得δ=2.69由概率论知识可知,1E ±δ的概率分布是68.3%,2E ±δ的概率分布为95.5%,3E ±δ的概率分布为99.7%。
软件项目管理案例教程(第四版)课后习题答案

项目管理案例教程(第四版)习题及答案第一章软件项目管理概述一、填空题1、敏捷模型包括4个核心价值,对应12个敏捷原则。
2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。
二、判断题1、搬家属于项目。
(对)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。
(错)3、过程管理目的是要让过程能够被共享、复用,并得到持续的改进。
(对)4、项目具有临时性的特征。
(对)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。
(错)6、项目开发过程中可以无限制地使用资源。
(错)7、(对)参见教材p20三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。
B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。
C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。
D.项目是一次性的,日常运作是重复性的。
2、以下都是日常运作和项目的共同之处,除了(D)A.由人来做B.受限于有限的资源C.需要规划、执行和控制D.都是重复性工作3、(A)4、下列选项中属于项目的是(C)A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁5、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成6、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
A.过程 B.项目 C.项目群 D.组合A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理7、(c)8、下列活动中不是项目的是(C)A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统9、下列选项中不是项目的特征的是(C)A.项目具有明确的目标B.项目具有限定的周期C.项目可以重复进行D.项目对资源成本具有约束性补充:1、下列选项中最能体现项目的特征(C)A.运用进度计划技巧B.整合范围与成本C.确定期限D.利用网络进行跟踪2、项目经理的职责不包括(D)A.开发计划 B.组织实施 C.项目控制 D.提供资金3、项目管理专业人员资格是指( C )。
IT项目管理教案(软件项目管理)

IT项目管理教案(软件项目管理)第一章:软件项目管理概述1.1 课程介绍1.2 软件项目与软件项目管理1.3 软件项目管理的重要性1.4 软件项目管理的基本原则1.5 软件项目管理的主要活动第二章:软件项目计划与组织2.1 项目计划的概念与作用2.2 项目计划的制定方法与工具2.3 项目组织结构设计2.4 项目团队建设与管理2.5 项目沟通与协调第三章:软件项目需求分析与管理3.1 需求分析的重要性3.2 需求分析的方法与工具3.3 需求规格说明书编写3.4 需求变更管理3.5 需求验证与确认第四章:软件项目进度控制与风险管理4.1 项目进度控制的概念与方法4.2 项目进度计划的制定与监控4.3 项目风险识别与评估4.4 项目风险应对策略4.5 项目风险管理的实施与监控第五章:软件项目质量管理与评估5.1 软件质量的概念与特性5.2 软件质量保证体系5.3 软件质量评估的方法与工具5.4 软件测试策略与测试过程5.5 软件项目质量改进第六章:软件项目配置管理6.1 配置管理的概念与作用6.2 配置管理计划制定6.3 配置识别与记录6.4 配置状态accounting 与报告6.5 配置变更控制与版本管理第七章:软件项目沟通与协调7.1 项目沟通的重要性7.2 项目沟通计划制定7.3 项目沟通渠道与方法7.4 项目协调与冲突管理7.5 项目会议管理第八章:软件项目团队建设与管理8.1 团队建设的重要性8.2 项目团队组织结构设计8.3 团队成员角色与职责8.4 团队协作与激励8.5 团队绩效评估与管理第九章:项目管理软件工具9.1 项目管理工具的作用与分类9.2 常见项目管理工具介绍(如Microsoft Project、JIRA、Trello等)9.3 项目管理工具的选择与使用9.4 项目管理工具的高级应用技巧9.5 项目管理工具的集成应用第十章:软件项目管理案例分析与实践10.1 软件项目管理案例解析10.2 项目管理过程中常见问题与对策10.3 项目管理改进策略与实践10.4 软件项目管理趋势与未来发展10.5 项目管理实践总结与反思重点解析本文档为IT项目管理教案,专注于软件项目管理领域。
软件项目管理第9章 软件项目质量保证幻灯片PPT

第9章 软件项目质量保证
软件的质量属性是多方面的,至少包括下面4项内容: (1) 必须要与明确规定的功能和性能需求具有一致性, 能满足给定的全部需要; (2) 与明确成文的开发标准具有一致性。如果不遵循专 门的开发标准,将导致软件质量低劣; (3) 与所有专业开发的软件所期望的隐含特性具有一致 性。如果无视软件的一些隐含需求,软件质量将不可信; (4) 用户认为软件在使用中能满足其预期要求的程度, 即软件的组合特性,确定了软件在使用中将满足用户预期要 求的程度。
第9章 软件项目质量保证 对于一个特定的软件而言,首先判断什么是质量要素, 才能给出提高质量的具体措施,而不是一股脑地想把所有的 质量特征都做好,否那么不仅做不好,还可能得不偿失。那 么,什么是质量要素呢? 质量要素包括下面两个方面的内容: (1) 从技术角度讲,对软件整体质量影响最大的质量属 性才是质量要素; (2) 从商业角度讲,客户最关心的、能成为卖点的质量 属性才是质量要素。如果某些质量属性并不能产生显著的经 济效益,就可以忽略掉,从而把精力用在对经济效益奉献最 大的质量要素上。 简而言之,只有质量要素才值得开发人员去下功夫改善。
第9章 软件项目质量保证
软件项目管理第9章 软件项目质 量保证幻灯片PPT
精品文档优质文档 仅供学习
精品文档优质文档 仅供学习
需求越来越复第杂9章,软涉件及项目人质员量越保证来越多,软件 的质量问题变得越来越突出。一个软件工程 的主要内容是本钱、进度和质量。优秀的软 件工程就是要在预算的本钱和进度下满足用 户的需求(范围),即到达软件的质量,这与 前面所说的本钱、进度和范围三要素并不矛 盾。良好的工程管理就是综合这三方面的因 素,平衡这三方面的目标,最终完成任务。 工程的这三个方面是相互制约和相互影响的。 有时,对这三个方面的平衡策略会成为企业 级的要求。例如IBM的软件就是以质量为最
《软件项目管理》课程习题参考

《软件项⽬管理》课程习题参考《软件项⽬管理》参考习题序-软件项⽬管理概述⼀、回答问题:1. 集成项⽬管理(Integration Project Management)是什么?项⽬管理⼀定要协调各⽅⾯,不能只顾局部的利益和细节,所以需要集成管理,即是集成项⽬管理。
2. 项⽬管理九⼤知识域是什么?项⽬集成管理、项⽬范围管理、项⽬时间、项⽬成本、项⽬质量、项⽬⼈⼒资源、项⽬沟通、项⽬风险、项⽬采购管理。
3. 项⽬成本管理(Project Cost management)包括哪些过程?资源计划编制、成本估算、成本预算、成本控制。
4. 项⽬管理的五个过程组是什么?启动、计划、执⾏、控制、收尾过程。
⼆、判断题:5. 判断下⾯活动哪些是项⽬?上课λ×野餐活动λ√集体婚礼λ√社区保安λ×开发微软的操作系统λ√每天的卫⽣保洁λ×神州飞船计划λ√6. 项⽬开发过程中可以⽆限制地使⽤资源。
(×)7. 项⽬具有暂时的特征。
(√)8. 项⽬管理核⼼的三⾓形是范围、进度、风险。
(×)9. 过程管理与项⽬管理在软件组织中是两项很重要的管理,项⽬管理⽤于保证项⽬的成功,⽽过程管理⽤于管理最佳实践。
(√)10. 运作管理(Operation Management)是从宏观上帮助企业明确和把握企业发展⽅向的管理。
(×)习题:第⼀章-软件项⽬初始过程⼀、名词解释1. 项⽬章程确认项⽬存在的⽂件,包括对项⽬的确认、对项⽬经理的授权和项⽬⽬标的概述等。
2. 项⽬建议书⼆、选择题3. 项⽬建议书是哪个阶段开发的⽂档(C )A. 项⽬执⾏阶段B. 项⽬结尾阶段C. 项⽬初始阶段4. 项⽬章程(A )A. 明确了项⽬经理B. 确定了项⽬的质量标准C. 明确了团队的纪律D. 定义了项⽬需求5. 对于风险⽐较⼤的项⽬,最好选择(C )⽣存期模型,A. 瀑布模型B. 原型C. 螺旋模型D. V模型6. 开发项⽬建议书的⽬的是为了(C)A. 验收B. 竞标或者签署合同C. 编写计划D. 跟踪控制项⽬三、判断题7. 项⽬经理是⼀个综合的⾓⾊(√)8. 软件项⽬都是需要签署合同的(√)9. 增量式模型可以避免⼀次性投资太多带来的风险(√)10. 项⽬章程类似⼀个项⽬授权书()11. 在甲⼄合同项⽬中,提出需求的⼀⽅是⼄⽅(×)12. 如果是内部项⽬,在项⽬初始阶段可以不提交招标书(√)习题:第⼆章-软件项⽬范围计划⼀、选择题1. 需求分析是回答系统必须(A)的问题A. 做什么B. 怎么做C. 何时做D. 为谁做2. W BS(⼯作分解结构)⾮常重要,因为下列原因,除了(B )A. 帮助组织⼯作B. 防⽌遗漏⼯作C. 为项⽬估算提供依据D. 确定团队成员责任A. 只在项⽬开始时重要B. 在授权项⽬的合同或者其他⽂件得以批准后就不再重要了C. 从项⽬概念阶段到收尾阶段都应该加以管理和控制D. 是在项⽬执⾏阶段通过变更控制步骤进⾏处理的问题4. 为了有效地管理项⽬,应该将⼯作分解为更⼩的部分,以下各项中,哪⼀项不能说明任务应该分解到什么程度?(A )A. 可以在80⼩时内完成B. 不能再进⼀步进⾏逻辑细分了C. 可由⼀个⼈完成D. 可以进⾏实际估算5. 范围变更是指(C )A. 修改技术规格B. 对范围陈述进⾏修订C. 对批准后的WBS进⾏修改D. 以上都不是6. 下⾯哪个不是需求管理的过程(A )A. 需求设计B. 需求获取C. 需求分析D. 需求变更7. 下⾯那个不是创建WBS的⽅法(A)A. ⾃顶向下B. ⾃底向上C. 控制⽅法D. 模版指导8. 任务分解可以(B),它是范围变更的⼀项重要输⼊A. 提供项⽬成本估算结果B. 提供项⽬范围基线C. 规定项⽬采⽤的过程D. 提供项⽬的关键路径9. 范围基线由(B )组成A. 项⽬章程、批准的详细的项⽬范围说明书和W BSB. 批准的详细项⽬范围说明书、W BS和W BS字典C. 项⽬章程、项⽬⼯作说明书和WBSD. W BS⼆、判断题10. 需求分析过程是确定项⽬如何实现的过程,并确定项⽬的技术⽅案(×)11. 对于⼀个重来没有做过的项⽬,开发WBS时,可以采⽤⽤⾃底向上的⽅法(DUI )习题:第三章-软件项⽬进度计划⼀、选择题1. 快速跟进是指()A. 采⽤并⾏执⾏任务,加速项⽬进展B. ⽤⼀个任务取代另外的任务C. 如有可能,减少任务数量D. 减轻项⽬风险2. 赶⼯⼀个任务时,你应该关注()A. 尽可能多的任务B. ⾮关键任务C. 加速执⾏关键路径上的任务D. 通过成本最低化加速执⾏任务3. “软件编码完成之后,我才可以对它进⾏软件测试”,这句话说明了哪种依赖关系?()A. 强制性依赖关系B. 软逻辑关系C. 外部依赖关系D. ⾥程碑4. 如果⽤户提供的环境设备需要5⽉10⽇到位,所以环境测试安排在5⽉10⽇以后,这种活动安排的依赖依据是:()A. 强制性依赖关系B. 软逻辑关系C. 外部依赖关系D. ⾥程碑5. 对⼀个任务进⾏进度估算时,A是乐观者,估计是6天完成,B是悲观者,估计是24天完成,C是有经验者认为最有可能是12天完成,那么这个任务的历时估算是介于10天到16天的概率是()A. 50%B. 68.3%C. 70%D. 99.7%6. 下⾯哪项可能延长项⽬的进度?()A. LagB. LeadC. 赶⼯D. 快速跟进7. 关于浮动,下⾯除了哪个都是不正确的?()A. 每个任务都有浮动B. 只有复杂的项⽬有浮动C. 浮动是在不增加项⽬成本的条件下,⼀个活动可以延迟的时间量D. 浮动是在不影响项⽬完成时间的前提下,⼀个活动可以延迟的时间量8. 关于⽹络图,下⾯哪个是不正确的?()A. ⽹络图可⽤于安排计划B. ⽹络图展⽰任务之间的逻辑关系C. ⽹络图可⽤于跟踪项⽬D. ⽹络图可⽤于详细的时间管理9. 资源平衡最好⽤于()活动A. 时间很紧的B. 按时的C. ⾮关键路径D. 关键路径10. 下⾯哪项可以决定进度的灵活性( )A. PER TB. Total floatC. ADMD. 赶⼯⼆、计算题11. 根据图3-21计算项⽬在20天内完成的概率,其中任务1的最乐观、最悲观和最可能的历时估计是8天,10天,24天, 任务2的最乐观、最悲观和最可能的历时估计是1天,5天,9天?习题:第四章-软件项⽬成本计划⼀、选择题1. ()是⽤系统的功能数量来测量其规模,与实现产品所使⽤的语⾔和技术没有关系的。
软件项目管理项目计划

软件项目管理项目计划
1. 项目范围,确定项目的目标和范围,明确需要实现的功能和
交付的成果。
这包括需求分析、功能规格、技术规格等。
2. 时间表,制定项目的时间计划,包括项目启动、设计、开发、测试、部署和维护等阶段的时间安排。
在制定时间表时需要考虑到
资源的可用性、依赖关系和风险因素。
3. 成本管理,制定项目的预算和成本控制计划,包括人力资源、硬件设备、软件工具、培训等方面的成本预算和控制措施。
4. 质量管理,确定项目的质量标准和质量控制措施,包括测试
计划、质量评估、缺陷管理等。
5. 沟通计划,制定项目团队内部和外部沟通的计划,包括会议
安排、报告频率、沟通工具和沟通内容等。
6. 风险管理,识别项目可能面临的风险,制定风险评估和应对
计划,包括风险预警机制、风险应对策略和风险管理的责任分配。
在执行软件项目管理项目计划时,需要不断监控和调整计划,确保项目按计划进行并达到预期的目标。
同时,也需要与项目相关方保持沟通,及时报告项目进展和风险情况,以便及时调整计划,确保项目顺利完成。
软件项目管理一般包含

软件项目管理一般包含软件项目管理是指对软件项目进行计划、组织、实施和控制的过程。
它涉及到项目的规划、资源的分配、进度的控制、质量的保证以及风险的管理等方面。
在软件开发过程中,项目管理起着至关重要的作用。
本文将从软件项目管理的定义与重要性、项目管理的一般步骤、常见问题及解决方法等方面进行探讨。
首先,软件项目管理在现代软件开发中扮演着不可或缺的角色。
它可以帮助开发团队合理规划和分配资源,控制项目进度,确保项目按时交付,并监督项目质量,从而提高开发效率和项目成功率。
通过项目管理,可以更好地组织团队工作,减少沟通误差和冲突,提高团队合作效率。
软件项目管理一般包含以下几个方面。
首先是项目规划,包括明确项目目标、制定项目计划、确定项目范围和需求。
其次是资源管理,包括团队构建、资源调度、制定项目预算等。
然后是进度控制,包括制定项目进度计划、监控项目进度、处理延迟和变更等。
另外是质量保证,包括制定质量标准、进行软件测试和质量评估等。
最后是风险管理,包括评估项目风险、制定风险应对策略和控制风险发生等。
在项目管理的过程中,常常会遇到一些问题。
比如项目需求变更、进度延迟、团队沟通不畅等。
针对这些问题,可以采取相应的解决方法。
对于需求变更,可以加强与客户的沟通,明确需求变更的原因和影响。
对于进度延迟,可以及时调整项目计划,增加资源投入,或实施并行开发等。
对于团队沟通不畅,可以采用项目管理工具和跨部门会议等方式,加强团队合作和沟通。
总之,软件项目管理是现代软件开发中不可或缺的一环。
它能够帮助开发团队更好地规划和控制项目,提高项目的成功率和开发效率。
在项目管理过程中,我们需要关注项目的规划、资源的分配、进度的控制、质量的保证以及风险的管理等方面。
同时,我们还要注意解决项目中的常见问题,如需求变更、进度延迟和团队沟通不畅等。
通过科学有效的项目管理,可以实现软件项目的顺利推进和成功交付。
软件项目管理案例教程(第二版)习题答案

软件项目管理案例教程第二版习题答案目录第0章软件项目管理概述 (2)第1章软件项目初始过程 (3)第二章-范围计划 (7)第三章-软件项目进度计划 (9)第四章-软件项目成本计划 (11)第五章-软件项目质量计划 (12)第六章-软件项目人力资源计划 (14)第七章-软件项目沟通计划 (15)第八章-项目管理风险计划 (18)第九章-软件项目合同计划 (20)第十章-软件项目配置管理 (21)第十一章-软件项目集成计划 (22)第十二章-软件项目执行控制过程 (23)第十三章-软件项目结束过程 (26)软件项目管理案例教程第二版习题答案韩万江、姜立新机械工业出版社第0章软件项目管理概述1、项目集成管理是什么?项目集成管理是在项目的整个生存期内,协调项目管理其他各管理知识域,将项目管理的方方面面集成为一个有机整体,保证项目的总目标的实现。
项目集成管理从一个宏观的角度将项目作为一个整体来考察。
包括的过程包括:项目章程编制、初始项目范围编制、项目计划编制、指导与管理项目执行、项目监控、集成变更控制、项目结束等过程。
项目管理的目标在于对项目中的不同组成元素进行正确高效的协调,他不是所有项目组成元素的简单相加。
2、项目管理的9大知识领域是什么?1)项目集成管理2)项目范围管理3)项目时间管理4)项目成本管理5)项目质量管理6)项目人力资源管理7)项目沟通管理8)项目风险管理9)项目采购管理●为了成功实现项目的目标,首先必须设定项目的工作和管理范围,即项目的范围管理。
●为了正确实施项目,需要对项目目标进行分解,即对项目的时间、质量、成本三大目标进行分解,即项目时间管理、项目成本管理、项目质量管理●项目实施过程,需要投入人力、物力:项目人力资源管理、项目采购管理●为了项目的团队人员的管理,让大家有一致的目标,需要沟通,即项目的沟通管理●当然,项目实施过程会遇到各种风险,因此需要进行风险管理,即项目的风险管理●当项目管理一定要协调各个方面,不能只顾局部利益和细节,因此需要集成管理,即项目的集成管理3、项目的成本管理包括哪些过程?包括成本估算、成本预算、成本控制等过程4、项目管理的5个过程组是什么?启动过程组、计划过程组、执行过程组、控制过程组、收尾过程组5. 判断下面活动哪些是项目?上课野餐活动√集体婚礼√社区保安开发微软的操作系统√每天的卫生保洁神州飞船计划√二、判断题1. 项目开发过程中可以无限制地使用资源。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§9.3 进度计划
项目管理者的目标是定义全部项目任务, 识别出关键任务,跟踪关键任务的进展状况, 以保证能及时发现拖延进度的情况。 为达到上述目标,管理者必须制定一个足
够详细的进度表,以便监督项目进度并控制
整个项目。
§9.3.1 估算开发时间
用多长时间才能完成该项目的开发工作?对 于一个估计工作量为20人月的项目,可能想 出下列几种进度表:
1. 技术复审的必要性 正式技术复审的显著优点是,能够较早发现软件 错误,从而可防止错误被传播到软件过程的后续 阶段。复审可大大降低后续开发和维护阶段的成 本。 2. 走查 为了能发现重大错误,走查组成员最好是经验丰 富的高级技术人员。必须把被走查的材料预先分 发给走查组每位成员。走查组成员应该仔细研究 材料并列出两张表: 一张表是他不理解的术语, 另一张是他认为不正确的术语。
工程网络示例
§9.3.4 估算工程进度
画出工程网络之后,系统分析员就可以借助 它的帮助估算工程进度了。为此需要在工程 网络上增加一些必要的信息。 首先,把每个作业估计需要使用的时间写在 表示该项作业的箭头上方。 注意,箭头仅表示依赖关系,它上方的数字 才表示作业的持续时间。
完整的工程网络示例
§9.3.5 关键路径
解决上述问题的方法是,取消主程序员的大部 分行政管理工作。 实际的“主程序员”应该由两个人共同担任: 一个技术负责人:负责小组的技术活动; 一个行政负责人:负责所有非技术性事务的管 理决策。
现代程序员组的结构
由于程序员组成员人数不宜过多,当软件项目规 模较大时,应该把程序员分成若干个小组,采用 下图所示的组织结构。
1个人用20个月完成该项目; 4个人用5个月完成该项目; 20个人用1个月完成该项目。
但是,这些进度表并不现实,实际上软件开 发时间与从事开发工作的人数之间并不是简 单的反比关系。
各阶段管理人员和技术人员参与情况 高 高级技 术人员 初级技 术人员 管理人员
人 员 参 加 程 度
低
计划
组装测试 概要设计 编码 确认 详细 单元 需求 测试 设计 测试 分析
实际人力需求与开发进度的关系
§9.3.2 Gantt图
Gantt(甘特)图是历史悠久、应用广泛的制 定进度计划的工具。
常用工具:
MS Project 2003 MS Visio 2003 Rational Rose
利用 Project 快速完成甘特图
§9.3.3 工程网络
上一小节介绍的Gantt图也有3个主要缺点: (1) 不能显式地描绘各项作业彼此间的依赖关 系;
会导致软件质量不高。
(3) 通常,有一组没有显式描述的隐含需求 (例如,软件应该是容易维护的)。如果软 件满足明确描述的需求,但却不满足隐含的
需求,那么软件的质量仍然是值得怀疑的。
§9.5.2 软件质量保证措施
软件质量保证(software quality assurance,SQA)的措 施主要有: 复审主要用来保证在编码之前各阶段产生的文档 的质量; 基于执行的测试需要在程序编写出来之后进行, 它是保证软件质量的最后一道防线; 程序正确性证明使用数学方法严格验证程序是否 与对它的说明完全一致。
(3) 审查。评审组仔细走查整个文档。和走查 一样,这一步的目的也是发现文档中的错误,而 不是改正它们。 (4) 返工。文档的作者负责解决在审查报告中 列出的所有错误及问题。 (5) 跟踪。组长必须确保所提出的每个问题都 得到了圆满的解决(要么修正了文档,要么澄清 了被误认为是错误的条目)。必须仔细检查对文 档所做的每个修正,以确保没有引入新的错误。 如果在审查过程中返工量超过5%,则应该由审 查组再对文档全面地审查一遍。
走查主要有下述两种方式:
(1) 参与者驱动法。参与者按照事先准备好的
列表,提出他们不理解的术语和认为不正确的术
语。文档编写组的代表必须回答每个质疑,要么
承认确实有错误,要么对质疑做出解释。
(2) 文档驱动法。文档编写者向走查组成员仔
细解释文档。经验表明,使用文档驱动法时许多
错误是由文档讲解者自己发现的。
(2) 进度计划的关键部分不明确,难于判定哪 些部分应当是主攻和主控的对象; (3) 计划中有潜力的部分及潜力的大小不明确, 往往造成潜力的浪费。
工程网络是制定进度计划时另一种常用的图形工 具,它同样能描绘任务分解情况以及每项作业的 开始时间和结束时间,此外,它还显式地描绘各 个作业彼此间的依赖关系。因此,工程网络是系 统分析和系统设计的强有力的工具。 在工程网络中用箭头表示作业(例如,刮旧漆, 刷新漆,清理等),用圆圈表示事件(一项作业开 始或结束)。注意,事件仅仅是可以明确定义的 时间点,它并不消耗时间和资源。作业通常既消 耗资源又需要持续一定时间。
有许多变动因素,不是一个人 可以完全掌握的工作
例如:建设一个大楼/规划办公自动化/房子装修〃〃〃
8/6/2001 Microsoft Confidential
进入软件项目管理
经理管什么?
预 算 计划
组 织
进度
标准
软件项目为什么要进行管理?
软件项目管理主要解决下列问题:
1.工作量难以估计;
2.需求变化难以把握,过程难于控制,工作 规划难以划分到天; 3.任务难于量化、计划可行性差; 4.程序人员的设计能力不全面;
COCOMO是构造性成本模型(constructive cost model)的英文缩写。 1981年首次提出了COCOMO模型。 1997年提出COCOMO2模型。 COCOMO2给出了3个层次的软件开发工作量 估算模型:
(1) 应用系统组成模型。这个模型主要用 于估算构建原型的工作量,模型名字暗示在 构建原型时大量使用已有的构件。 (2) 早期设计模型。这个模型适用于体系 结构设计阶段。 (3) 后体系结构模型。这个模型适用于完 成体系结构设计之后的软件开发阶段。
存在的问题:
首先,主程序员应该是高级程序员和优秀管理者 的结合体。承担主程序员工作需要同时具备这两 方面的才能,但是,在现实社会中这样的人才并 不多见。通常,既缺乏成功的管理者也缺乏技术 熟练的程序员——复合型人才。
其次,后备程序员更难找。人们期望后备程序 员像主程序员一样优秀,但是,他们必须坐在 “替补席”上,拿着较低的工资等待随时接替 主程序员的工作。几乎没有一个高级程序员或 高级管理人员愿意接受这样的工作。 第三,编程秘书也很难找到。专业的软件技术 人员一般都厌烦日常的事务性工作,但是,人 们却期望编程秘书整天只干这类工作。
5.版本管理混乱、项目间可继承性差;
6.缺乏可共同执行的标准; 7.工期过长,成本过高;
§9.1 估算软件规模 §9.1.1 代码行技术
把实现每个功能所需要的源程序行数累加起 来,就可得到实现整个软件的源程序行数。这
种方法不适用于非过程语言。
【优点】:很容易计算代码行数。
【缺点】:用不同语言实现同一个软件所需要
上图中事件的最早时刻和最迟时刻相同,就 是定义了关键路径,在图中关键路径用粗线 箭头表示。 工程项目的管理人员应该密切注视关键作业 的进展情况,如果关键事件出现的时间比预 计的时间晚,则会使最终完成项目的时间拖 后;如果希望缩短工期,只有往关键作业中 增加资源才会有效果。
§9.4 人员组织
软件成功的关键是有高素质的软件开发人 员。通常是把多名软件开发人员合理地组织起 来,使他们有效地分工协作共同完成开发工作。 组织软件开发人员的方法,取决于所承担 的项目的特点、以往的组织经验以及管理者的 看法和喜好。
全面负责设计、 编码、测试和安装
主程序员
主要负责 测试,必要时 替代 主程序员.
Administration
项目经理
Librarian
Test Team
Senior Programmer
辅助主程序员
负责和 项目有关 提出具体测试方案, 行政、后勤 文档、工具 后备编程 的全部 管理 编写Driver 和 Stub, 管理 力量 事务性 进行测试. 工作
§9.2 工作量估算
软件估算模型使用由经验导出的公式来 预测软件开发工作量,工作量是软件规模 (KLOC或FP)的函数,工作量的单位通常 是人月(pm)。 支持大多数估算模型的经验数据,都是 从有限个项目的样本集中总结出来的,因此, 没有一个估算模型可以适用于所有类型的软 件和开发环境。
COCOMO2模型
(2) 后备程序员:也应该技术熟练而且富于经
验,他协助主程序员工作并且在必要时(例
如,主程序员生病、出差或“跳槽”)接替
主程序员的工作。同主程序员同样优秀。
平时,后备程序员的工作主要是:设计测试
方案、分析测试结果及独立于设计过程的其
他工作。
(3) 编程秘书:负责完成与项目有关的全部事 务性工作,例如,维护项目资料库和项目文 档,编译、链接、执行源程序和测试用例。
Junior Programmer
项目经理
§9.5 质量保证 §9.5.1 软件质量
【定义】:软件质量就是“软件与明确地和 隐含地定义的需求相一致的程度”。 定义强调了下述的3个要点: (1) 软件需求是度量软件质量的基础,与需求 不一致就是质量不高。
(2) 指定的开发标准定义了一组指导软件开发 的准则,如果没有遵守这些准则,几乎肯定
3. 审查 审查的范围比走查广泛得多,它的步骤也比较多。 通常,审查过程包括下述5个基本步骤: (1) 综述。由负责编写文档的一名成员向审查 组综述该文档。在综述会结束时把文档分发给每 位与会者。 (2) 准备。评审员仔细阅读文档。最好列出在 审查中发现的错误的类型,并按发生频率把错误 类型分级,以辅助审查工作。
§9.4.2 主程序员组
美国IBM公司在20世纪70年代初期开始采用主程 序员组的组织方式。采用这种组织方式主要出于 下述几点考虑: