软件文档写作-第7讲管理文档(完整)

上传人:F****n 文档编号:88059995 上传时间:2019-04-18 格式:PPT 页数:40 大小:1.31MB
返回 下载 相关 举报
软件文档写作-第7讲管理文档(完整)_第1页
第1页 / 共40页
软件文档写作-第7讲管理文档(完整)_第2页
第2页 / 共40页
软件文档写作-第7讲管理文档(完整)_第3页
第3页 / 共40页
软件文档写作-第7讲管理文档(完整)_第4页
第4页 / 共40页
软件文档写作-第7讲管理文档(完整)_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《软件文档写作-第7讲管理文档(完整)》由会员分享,可在线阅读,更多相关《软件文档写作-第7讲管理文档(完整)(40页珍藏版)》请在金锄头文库上搜索。

1、1,第七讲 软件管理文档,2,7.1 管理文档概述 工程化的软件生产方式是软件业界始终在不懈追求的目标。软件项目管理方法适用与否,对软件项目的成败有着举足轻重的作用。而软件项目管理方法改进的途径之一,就是建立行之有效、可操作性强的软件管理文档。,管理文档的组成:,管理文档有以下几个方面的作用:,管理文档的作用主要体现在三个方面 是软件开发各阶段工作成果的体现 把软件开发过程中的一些“不可见”的事物转换成“可见”的文字资料 提供了管理人员、开发人员、操作人员和用户之间相互沟通、协调的窗口,3,4,7.2 项目开发计划 项目开发计划又称软件定义文档,是和软件本身一样重要的知识资产,是项目启动后第一

2、件最重要的工作。 项目开发计划一般包括资源需求、工作分解、工作目标、开发团队及人员安排、进度安排、内外接口约定、风险分析以及软件质量控制机制等。 1. 项目开发计划书 项目开发计划书的具体内容随着项目和开发机构类型的不同而不同,一般都会包括以下几个部分: 项目目标。简述项目目标,并列出影响管理的约束条件,如预算、时间 开发团队及人员安排。阐述团队组织方式、人员构成及分工 软硬件资源需求。分析和列出所需资源,注明估算的资源需要时间及价格 工作分解。分解项目为一系列活动,确定项目里程碑及可交付文档 项目进度。描述项目各活动之间的依赖关系、到达里程碑的时间等 风险分析。分析项目可能存在的风险、发生的

3、可能性及应对风险的策略 监控机制。制定详细、可操作的项目监控机制,明确管理报告的递交时间 开发估算。包括规模、工作量、成本等的估算,要求依据并积累历史数据,5,制定项目开发计划的过程被称为项目策划。 由于计划所具有的在时间上的提前性,项目开发计划通常会经常性的修正,有些部分甚至会频繁的改变! 而部分内容的变化,会影响开发计划的正确性和符合性,使其越来越偏离项目实际,最后变得没有价值。如随着项目需求的逐渐明确引起的项目计划细化、项目可提供资源变化引起的项目计划的变化等。 所以,在实际工作中,需要有明确的责任人和操作原则,来对项目计划实施维护,并对项目计划的变更实施必要的控制。 另一个重要的方面是

4、,在组织文档时,就要考虑到这种频繁变更的需要,使得当变更发生时,文档的相应部分能够容易替换。,6,2. 工作分解结构 工作分解结构(work breakdown structure, WBS)是对整个项目工作的分级描述,是项目计划开发的第一步。分解示意如下图所示。,工作分解结构设计一般可以采用2种方法:,- 自上而下的方法。从项目的目标开始,逐步分解,直到具体任务 - 自下而上的方法。也称集思广益法。即从底层开始,逐层集成,最后汇合后完成目标,7,工作分解结构主要有4个用途: 思路工具:可以描述项目的整体思路,是一个计划和设计的工具; 结构设计工具:是项目工作的结构图,可以清晰表达项目各项工作

5、间的相互关系; 计划工具:能够展示项目全貌,说明为完成项目所需完成的各项活动; 项目状态报告工具:可以作为项目状态报告的框架。随着低一级项目活动的完成,项目由下而上不断整合,某一项工作的完成将成为里程碑,所以,工作分解结构就定义了里程碑事件。,8,3. 项目里程碑与阶段性文档 由于软件产品是无形的,因此,管理者需要通过文档的形式获得信息,了解软件的开发状况,以作出管理的决定。 里程碑的建立,可以描述软件开发活动一个过程的终结。在每个里程碑,都有一个正式的可以提交给管理层的阶段性结果。比如,一份报告。 里程碑报告的内容不拘,以能清楚说明阶段性结果为标准,应能代表项目中一个特定逻辑意义上的阶段的终

6、结。 要建立里程碑,软件过程就一定要分解成一系列相关的基本活动,而每个基本活动都要有相应的输出结果。如下图,是一个需求描述中的活动,其中每个活动都有主要输出。,9,4. 项目进度 项目管理者要求估算完成各项活动所需的时间和资源,并将它们严密的组织起来,以安排项目进度。不同的项目,具有不同的项目开发进度。 初始的项目进度安排往往是不精确的,但随着项目进展信息的不断增多,进度安排也会越来越接近项目实际进度,因此,必须不断更新项目进度。 项目进度包括将一个项目分解为若干独立的活动,以及判断完成这些活动所需的时间。通常,有些活动是可以并行的,项目管理者应组织并协调这些并行的工作。项目进度过程见下图:,

7、10,在进度估算时,管理者需要有一定的余量。 如项目难度大,则花费的时间也会较多。又如,项目个别开发人员可能发生的变动,硬件环境的变化等,都是在估算项目进度时必须考虑的因素。 除了时间和人员、环境的变化,资源和预算也需要考虑适当的余量。 恰当的估算方法是采用“理想实际”方式。即先估算理想值,然后逐步加入预计出现的状况、偶然因素致成的状况、项目开发人员的素质和经验 作为经验数据,一般在最初估算的基础上增加30%作为实际可能发生的状况值,再预留20%的估算值给所谓不可预见的其它问题,则进度估算的结果会较符合实际。,11,5. 运用图和表描述项目进度 项目进度可以采用图表工具更直观的表示任务分解、活

8、动依赖关系和人员分配情况等。 下表是一个“任务的持续时间及其依赖关系”的例子。,12,甘特图法(Gantt Chart)的例子,优点:简单,能动态地反映开发进程,缺点:难以反映多个任务间的逻辑关系,条形图和活动网络图是表示项目进度的两种图形表示法。 (1) 条形图。又称甘特图法(Gantt Chart),可以表示面向活动的负责人是谁,以及活动的开始和结束时间。如下图所示的例子。,13,例:开发三个模块A、B、C。 A为公用模块,B、C的测试须等A的调试完成后进行。A的编码需6天,测试8天,调试6天。B的编码需7天,测试8天,调试6天。C利用已有的模块,须先理解原模块8天,再修改8天,测试9天,

9、调试7天。最后三模块集成测试需5天完成。,(2) 活动网络图。又称网络计划法 表示构成一个项目的不同活动之间的依赖关系。是用网状图表安排与控制各项活动的方法。最适合反映多个工作之间的逻辑关系。,14,(1) 标出 Lasting Time,(2) 标出 EST: = 从起点始,所有进入事件的 EST+LT 中最大的,(3) 标出 LST: = 从终点(EST = LST)始,所有离开事件的 LSTLT 中最小的,(4) 标出 ST: = 终点LST 起点EST LT,(5) 标出Key Path:即EST = LST的所有事件组成的路径,通常,甘特图适合按开发阶段安排,以作项目总体进度控制。网

10、络计划法便于在细节上安排人力,适合按开发阶段或子项目的工作步骤安排。,15,6. 风险管理 由于绝大多数软件项目都存在不确定性,因此,风险管理对软件项目而言就尤为重要。 根据产生的影响不同,一般将风险分为三类:项目风险、产品风险和业务风险。下表给出了一些典型风险:,16,下图是风险管理过程示意图,(1) 风险识别 风险识别是风险管理的第一阶段,其目的是发现可能的风险。右表给出了可能的风险及风险类型的实例。 这些风险将可能影响到软件产品、过程或业务。,17,(2) 风险分析 风险分析就是对每一个已经识别的风险,对其出现的可能性和影响的严重性作出判断。 风险出现可能性的评估大致可以有:非常小(75

11、%)。,风险影响大小的评估,可能的结果有:灾难性的、严重的、可以容忍的和可以忽略的。 右表是对上表已识别风险分析后得出的结果作成的表格: 这个表格的内容应随着项目的进展而更新。 经过风险分析和排序,就可以判断哪些风险是最重要需要优先关注的,以有利于项目的顺利开展。,18,(3) 风险规划 风险规划过程就是对已识别的每一个重大风险,确定相应的处理策略。制定风险管理计划同样需要项目管理者的判断和经验。 下表给出了处理上表中严重和灾难性风险的可能的策略。,风险规划的策略有三类: - 规避策略:采用这些策略会降低风险出现的概率。如“有缺陷的组件” - 最低风险策略:采用这些策略会减少风险影响。如“职员

12、生病风险” - 应急计划:用以应对最严重的情形出现,以防万一。如“机构财务问题”,19,(4) 风险监控 风险监控就是要对每一个识别的风险及其策略执行情况进行定期评估,从而确定风险出现可能性的变化趋势以及风险影响的后果是否有所改变。通常,这类信息是不可能直接观察到的,需要综合其它因素。 应该指出的是,风险监控应该是一个持续不断的过程,在每一次对风险管理进行评估时,每一个重大的风险都应该进行单独的讨论和评估。 下表列举了一些典型因素的例子,可能会对评这些估风险类型有帮助。,20,7.3 软件测试计划和测试报告 软件测试是软件开发完成,投入运行前,对软件需求、设计规格说明和编码的最终复审,软件质量

13、保证的关键步骤,在软件开发的整个过程中,占有极为重要的位置。 软件测试文档主要包括:测试规划、测试策略、测试手段和测试结果。 由于测试工作的重要性,而人工测试又特别困难,因此,测试过程自动化会是测试技术发展的方向。 1. 软件测试、软件检查和调试 我们已经知道软件测试的目的是尽可能多的发现系统存在的错误。所以,软件测试包括软件检查与软件测试。 - 软件检查:对系统的各种表达形式,如文档、设计图和程序源代码等进行分析、检查,这一工作应贯穿整个开发过程。 - 软件测试:使用测试数据对软件的实现进行运行检查,查看系统的输出及运行行为是否符合设计要求。,21,下图表示了软件检查和软件测试在软件过程中的

14、位置,从图中可以看出,软件检查贯穿整个软件过程,而软件测试仅对原型或软件程序。 软件调试是一个对缺陷定位和修改的过程,同时也是一项技巧性很强的工作。软件调试,从软件测试的结果开始。如图所示。,22,2. 软件测试的成本 由于测试不可能穷尽,因此,就有了软件测试的一个致命缺陷,即测试的不完全、不彻底性。因此,对于任何程序只能进行少量的测试。当发现错误,可以说明程序有问题,而未发现错误,却不能声称程序没有错误。 根据软件工程的基本原理,当测试标准越高,则将要投入的人力、财力也越高。左图反映了测试成本的变化规律。 为在软件质量和投入之间取得需求平衡,可以采用著名的“进度、成本、质量”三角公式。如下右

15、图,即只要确定了其中两项,就可以确定第三项。 因此,在编制软件测试计划时,必须考虑三者之间的关系。,23,3. 软件测试的原则 测试时,如果成功地实施了测试计划和方案,就能够发现系统中尽量多的错误。测试的一个附带收获是,能够证明软件的功能和性能是与需求说明相符的。要达成上述要求,就需要遵守以下原则: (1) 测试规划应包含测试工作的全部内容。即不仅是程序测试,还包括文档 (2) 测试应贯穿软件开发的整个过程。即坚持各个阶段的评审,杜绝隐患 (3) 测试用例应包括输入和预期输出。 (4) 设计测试用例时,输入应包括合理的和不合理的数据。 (5) 功能测试应由独立第三方完成。但调试仍应由开发者自己

16、完成。 (6) 充分注意并利用测试中的群集现象。 (7) 严格执行测试计划,排除测试随意性。计划应明确规定,不随意解释 (8) 应当对每一个测试结果做全面检查。仔细分析测试结果,防止错误遗漏 (9) 妥善保存测试计划、测试用例、出错统计和最终分析报告等测试文档。,24,4. 软件测试过程 从程序测试的角度看,测试分为两个阶段。如图,程序测试过程的目的是尽可能多的发现并改正错误,提高软件质量。测试过程的每一个阶段也都会对前一阶段有反馈信息。因此,测试过程是一个不断修正和进化的过程。其阶段划分如下图所示,测试过程需要下面三个基础数据和资料的支持: -软件配置:软件正常运行的环境配置。 - 测试配置:软件测试运行的环境配置,是软件配置的子集。 - 测试工具:为提高测试效率、降低测试劳动强度、保证测试质量使用的工具,25,5. 测试计划的导出与结构 测试计划应该从系统描述和设计中导出。下图是测试计划从系统描述和设计中导出示意图,测试计划的主要组成部分如右表所示,26,6. 几种常见的测试用图表工具 (1) 检查表 检查表是一张标明了所

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号