《第6章 软件管理文档.ppt》由会员分享,可在线阅读,更多相关《第6章 软件管理文档.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、17 五月 20231软件文档与标准软件文档与标准软件文档与标准软件文档与标准徐承志徐承志第第6章章 软件管理文档软件管理文档2 217 五月 20236.1 6.1 管理文档概述管理文档概述v软件管理文档的重要作用软件管理文档的重要作用软件开发各个阶段工作成果的体现把开发过程中“不可见的”事物转换为“可见的”文字材料提供了管理人员、开发人员、操作人员和用户之间相互沟通、协调的窗口3 317 五月 20236.1 6.1 管理文档概述管理文档概述v软件管理文档主要内容软件管理文档主要内容项目开发计划是具体实施的总体方案,包括负责人员、开发进度、开发经费、软硬件资源等。测试计划包括内容、进度、条
2、件、人员、测试用例等测试分析报告对测试结果加以分析,并提出结论意见开发进度报告开发人员按月向管理部门提交的项目进度报告,包括进度计划与实际情况比较、阶段成果、遇到的问题和解决的办法、以及下个月的打算等。开发总结报告项目完成后对照实施计划总结实际执行的情况,如进度、成果、资源利用、成本和投入,此外还需对开发工作作出评价,总结经验和教训。4 417 五月 20236.2 6.2 项目开发计划项目开发计划v6.2 项目开发计划(又叫做软件定义文档)项目开发计划(又叫做软件定义文档)6.2.1 项目开发计划书项目目标简要论述项目目标,并列出约束条件,如预算、时间等。开发团队及人员安排团队组织方式、人员
3、构成及分工,明确职责。软硬件资源需求资源的价格和交付的时间。工作分解项目分解、确定里程碑和可交付的文档。项目进度活动之间的依赖关系、到达里程碑的时间。风险分析预估可能发生的风险,并提出降低风险的策略和应急措施。监控机制监控人员、监控职责、监控方式、监控目标开发估算规模估算、工作量估算、成本估算等。5 517 五月 20236.2 6.2 项目开发计划项目开发计划v6.2 项目开发计划(又叫做软件定义文档)项目开发计划(又叫做软件定义文档)6.2.1 项目开发计划书制定开发计划的过程被称为项目策划。有些部分会频繁的改动,有些部分相对稳定。项目发生变化时计划也要跟着改动,否则偏差越来越大,最后变得
4、没有价值。改变计划时要保留旧的版本,项目总结时给出评价。6 617 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.2 工作分解结构(工作分解结构(WBS)主要用途思路工具:了解项目的整体思想结构设计工具:表示项目之间的相互关系计划工具:项目的全貌项目状态报告工具:定义了里程碑,提交报告的时刻7 717 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.3 项目里程碑与阶段性文档项目里程碑与阶段性文档软件过程被分解为一系列相关的基本活动每一活动的终结就是一个里程碑每个里程碑都有可交付的成果(代码和文档)8 817 五月 20236.2 6.2 项目开发计划项目开发
5、计划v6.2.4 项目进度项目进度复杂性与不确定性活动的并行性、关键路径不要太细(至少一个星期),留有余量,也要设定最大期限资源间的关系,首先考虑人力资源9 917 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.5 运用图和表描述项目进度运用图和表描述项目进度任 务持续时间(天数)依 赖 关 系T18T215T315T1(M1)T410T510T2,T4(M2)T65T1,T2(M3)T720T1(M1)T825T4(M5)T915T3,T6(M4)T1015T5,T7(M7)T117T9(M6)T1210T11(M8)里程碑101017 五月 20236.2 6.2 项目开
6、发计划项目开发计划v6.2.5 运用图和表描述项目进度运用图和表描述项目进度任务和任务之间设定里程碑111117 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.5 运用图和表描述项目进度运用图和表描述项目进度里程碑能接受的延迟关键路径(没有延迟)121217 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.5 运用图和表描述项目进度运用图和表描述项目进度任 务开 发 人 员任 务开 发 人 员T1人员1T7人员5T2人员2T8人员3T3人员1T9人员1T4人员3T10人员2T5人员4T11人员3T6人员2T12人员3开发人员分配表131317 五月 20236
7、.2 6.2 项目开发计划项目开发计划v6.2.5 运用图和表描述项目进度运用图和表描述项目进度人员分配及时间表141417 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.6 风险管理风险管理风险分类(根据产生的影响)项目风险:影响进度或资源的风险产品风险:影响质量或性能的风险业务风险:影响开发机构和购买机构的风险风 险风 险 类 型描 述职员跳槽项目有经验的职员未完成项目就跳槽管理层变更项目不同的管理层考虑、关注的事情会不同硬件缺乏项目项目所需的基础硬件没有按期交付需求变更项目和产品软件需求与预期的相比,将会有许多变化描述延迟项目和产品有关主要的接口的描述未按期完成低估了系
8、统规模项目和产品过低估计了系统的规模CASE工具性能较差产品支持项目的CASE工具达不到要求技术变更业务系统的基础技术被新技术取代产品竞争业务系统还未完成,其他有竞争力的产品就已经上市了一些可能出现的典型的风险 151517 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.6 风险管理风险管理风险管理应该贯穿项目全过程风险管理过程 161617 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.6 风险管理风险管理风险识别风 险 类 型可能的风险技术系统使用的数据库的处理速度不够快要复用的软件组件有缺陷,限制了项目的功能人员招聘不到符合项目技术要求的职员在项目的非
9、常时期,关键性职员生病,不能发挥作用职员所需的培训跟不上机构重新进行机构调整,由不同的管理层负责这个项目开发机构的财务出现问题,必须削减项目预算工具CASE工具产生的编码CASE工具不能被集成需求需求发生变化,主体设计要返工客户不了解需求变更对项目造成的影响估算低估了软件开发所需要的时间低估了缺陷的修补率 低估了软件的规模171717 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.6 风险管理风险管理风险分析(可能性、后果评级)风 险出现的可能性后 果开发机构的财务出现问题,必须削减项目预算小灾难性招聘不到符合项目技术要求的职员大灾难性在项目的非常时期,关键性职员生病中等严重
10、要复用的软件组件有缺陷,限制了项目的功能中等严重需求发生变化,主体设计要返工中等严重开发机构重新调整,由新的管理层负责该项目大严重系统使用的数据库的处理速度不够快中等严重低估了软件开发所需要的时间大严重CASE工具不能被集成大可容忍客户不了解需求变更对项目造成的影响中等可容忍职员所需的培训跟不上中等可容忍低估了缺陷的修补率中等可容忍低估了软件的规模大可容忍CASE工具产生的编码效率低中等可以忽略181817 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.6 风险管理风险管理风险规划(应对策略)风 险策 略机构的财务问题拟一份简短的报告,提交高级管理层,说明这个项目将对业务目标
11、有重大贡献职员招聘问题告诉客户项目潜在的困难和延迟的可能性,检查要买进的组件职员生病问题重新对团队进行组织,使更多工作有重叠,员工可以了解他人的工作有缺陷的组件用买进的可靠性稳定的组件更换有潜在缺陷的组件需求变更导出可追溯信息来评估需求变更带来的影响,把隐藏在设计中的信息扩大化机构调整拟一份简短的报告,提交高级管理层,说明这个项目将对业务目标有重大贡献数据库的性能研究一下购买高性能数据库的可能性低估开发时间对要买进的组件、程序生成器的效用进行检查191917 五月 20236.2 6.2 项目开发计划项目开发计划v6.2.6 风险管理风险管理风险监控(定期评估)风 险 类 型潜在的特征技术硬件
12、或支持软件延迟交付,暴露出来许多技术问题人员员工士气低靡,团队成员的关系不协调,工作分配不当机构机构内说三道四,缺乏资深管理人员工具团队成员不愿使用工具,抱怨CASE工具,需要更强大的工作站需求很多需求变更请求和客户怨言估算跟不上双方协商的进度,无法除掉暴露出来的缺陷可能对评估有帮助的具体风险因素202017 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.1 软件测试、软件检查与调试软件测试、软件检查与调试测试的不同定义为了发现错误而执行程序的过程为了证明程序有错,而不是证明程序无错一个成功的测试是为了发现至今未发现的错误的测试(以找错为中心,而不是为了演
13、示程序)软件检查:在整个开发周期内,对系统的各种形式(文档、代码)进行分析和检查。软件测试:使用测试数据运行,查看输出与运行是否符合要求软件检查与软件测试的关系212117 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.1 软件测试、软件检查与调试软件测试、软件检查与调试软件调试调试时对缺陷定位和修改的过程外部表现往往与内在原因没有明显联系调试对软件人员要求更高调试过程222217 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.2 测试成本测试成本最朴素的测试:所有的可能一一输入为了节约时间和资源就必须精心选择用例测试
14、的不完全性(不彻底性),即未发现错误并不意味程序没有问题测试标准越高,成本也越大,应该进行到一定的程度为止“进度、成本、质量”三角形,确定了其中的两项,第三项就确定了232317 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.3 测试的原则测试的原则测试规划包含了开发阶段的全部内容。软件测试贯穿开发的整个过程。测试用例应该由输入和预期输出两部分组成程序员应该避免检查自己的程序在设计测试用例时,应当包括合理和不合理的输入充分注意测试中的群集现象(发现错误与残存错误成正比关系)严格执行测试计划,排除测试的随意性应当对每一个测试结果做全面检查应当对每一个测试结果
15、做全面检查妥善保存测试计划、测试用例、出错统计和最终分析报告等测试文档。242417 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.4 软件测试过程软件测试过程测试分为两个阶段单元测试(与编码在同一个阶段)集成测试测试过程是一个不断修正和进化的过程252517 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.4 软件测试过程软件测试过程测试阶段的工作1.测试计划克服盲目性、缩短周期、提高效率、测试文档与开发文档互查2.测试设计制定方案、选择工具、设计用例3.测试准备搭建环境、培训人员4.测试执行记录日志、缺陷报告、回归测
16、试5.测试评估评估,提交测试结果262617 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.4 软件测试过程软件测试过程测试需要以下三类基础数据和资料软件配置需求说明、软件设计说明、源代码测试配置测试计划、测试用例、测试驱动程序测试驱动程序等(软件配置的子集)测试工具保证测试质量、提高测试效率272717 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.5 测试计划的导出与测试计划的结构测试计划的导出与测试计划的结构测试计划的导出292917 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6
17、.3.6 几种常见的测试用图表工具几种常见的测试用图表工具检查表Pareto图303017 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.6 几种常见的测试用图表工具几种常见的测试用图表工具直方图313117 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.6 几种常见的测试用图表工具几种常见的测试用图表工具运行图323217 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.6 几种常见的测试用图表工具几种常见的测试用图表工具散布图(相关图)正相关负相关无相关333317 五月 202
18、36.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试1.缺陷测试设计343417 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(1)黑盒测试(功能测试、数据驱动测试)输 入 数 据输 出 结 果结果是否正常期望的非期望的正常测试输入数据1n导致反常的输入数据1m黑盒测试数据输入与输出设计表353517 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(2)等价划分(属于黑盒测试)输 入 条 件有效等价类无效等价类36
19、3617 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(3)结构化测试(白盒测试)适合较小程序,如一个子程序或对象的一个操作373717 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(3)结构化测试(白盒测试)383817 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(4)路径测试(一种结构化测试策略)路径数与程序规模成正比,当模块集成到系统时,结构化测试就难以实施了,因此路径测试主要适用于单
20、元测试和模块测试阶段。二分搜索的程序控制流图 独立路径数:1,2,3,8,91,2,3,4,6,7,21,2,3,4,5,7,21,2,3,4,6,7,2,8,9393917 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试动态程序分析器一种测试工具,与编译器一起工作,在生成的代码中增加了额外指令,统计每一条语句执行的次数。可以在用例执行的时候,判断哪些部分得到了执行,哪些部分没有执行。404017 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试集成测试设计主要困难
21、是对错误的定位。解决的办法是增量法。414117 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(1)自顶向下的和自底向上的测试424217 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(2)接口测试接口接口测试不是不是针对单个个组建的,而是建的,而是对整个子系整个子系统的。接口的。接口错误不可能通不可能通过单个个对象象测试发现,因,因为错误的的对象之象之间交互的交互的结果。果。434317 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试
22、报告v6.3.7 设计软件测试设计软件测试(2)接口测试接口种类参数接口共享内存接口消息传递接口接口错误种类接口误用接口误解计时错误:一般发生在实时系统中,数据不同步444417 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试(2)接口测试接口测试准则检查代码并明确列出对外部组件的调用当有指针从接口传递时,总用空指针来测试设计一些容易引起错误的测试在消息传递系统中进行强度测试当组件通过共享存储来交互时,改变组件的编码顺序,检查访问顺序的隐式假设454517 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报
23、告v6.3.7 设计软件测试设计软件测试(3)强度测试(负荷测试、压力测试)负荷达到或超过极限时系统特殊的反应,这种情况下,重要的不是系统是否崩溃,而是数据是否丢失。让系统正常情况下不会暴露出来的输入组合呈现出错误的表现。主要应用于网络系统464617 五月 20236.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.7 设计软件测试设计软件测试面向对象的测试面向对象的单元测试对象中的所有操作被单独隔离测试对象中所有属性的设置和访问的测试对象中所有可能的状态的测试,引起状态改变的事件都要测试父类的元素测试后,其子类的元素依然要被测试面向对象的集成测试先进行静态测试,使用“逆向
24、工程”工具,查看OOD。再进行动态测试6.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.8 软件测试计划文档软件测试计划文档基本情况分析测试的目的和侧重点描述和分析测试平台,以及测试的风险按系统流程分步测试说明相关资料,如用户文档、产品描述、功能举例等测试需求说明测试的策略和记录证明测试是客观的描述测试案例的形式、采用工具、测试方法充分考虑以往常见的问题测试资源配置问题跟踪报告严重问题一般问题建议问题测试计划的评审6.3 6.3 软件测试计划于测试报告软件测试计划于测试报告v6.3.9 软件测试报告软件测试报告评价尺度(级别依次递增)标称尺度实质上是一种分类,类别之间没有高
25、低之分(互斥和穷举)顺序尺度实质上是一种分级区间尺度和比例尺度测量点间的精确差值比:分子与分母来自不同总体比例:分子是分母的一部分百分比:比率:是与时间因素相关的动态比值6.3 6.3 软件测试计划与测试报告软件测试计划与测试报告v6.3.9 软件测试报告软件测试报告基 本 内 容说 明测试内容被测试软件系统的名称测试意义及目标说明这份测试分析报告的具体编写目的,指出预期的阅读范围测试环境与测试标准被测软件;软件运行环境;测试依据的测试标准测试报告的基本内容 测试用例设计及测试结果测试用例设计的原理;测试数据值的范围(包括动态数据和静态数据);预期结果;实际测试结果;预期结果和实际测试结果的对
26、比软件功能的结论评价软件达到预期设计目标的程度,能否交付使用;经测试证实的软件缺陷和限制可靠性和有效性评价可靠性是指相同被测对象使用相同测试方法进行多次测试的一致性;有效性是指测试足够反映考虑的概念的真实涵义的程度软件缺陷及改进建议明确指出测试中发现的缺陷;对发现的缺陷提出改进建议测试消耗总结测试工作的资源消耗数据,如工作人员的水平级别数量、机时消耗等6.3 6.3 软件测试计划与测试报告软件测试计划与测试报告v6.3.9 软件测试报告软件测试报告测试人审定人时间软件名称编号/版本测试阶段测试用例用例编号测试结果(重点描述异常、错误情况):错误类别:致命性错误()功能性错误()建议性错误()测
27、试结果分析与建议:修改情况描述:修改人:时间:说明与备注:测试报告样例 6.4 6.4 开发进度报告开发进度报告v开发进度报告的特征开发进度报告的特征提供及时、完整和准确的项目状态信息;不增加太多的管理负担,便于操作,大约一页纸为宜;简明扼要,项目团队和高层经理容易接受;及时警告问题的发生,从而有利于及时采取行动;对于需要了解的人,报告应易于理解。6.4 6.4 开发进度报告开发进度报告v6.4.1 项目状态报告类型项目状态报告类型当前报告只覆盖近期工作,重点指出已完成的工作,与计划的偏差,偏差的原因,纠正的措施。累积报告从项目启动到目前的历史。比当前报告更有价值,它显示了项目的趋势。例外报告
28、转为管理层设计,主要显示严重的偏差。信号灯报告第一页加上醒目的颜色标签(绿黄红),管理层可以有选择的阅读。偏差报告详细的量化的说明偏差的情况,表或图6.4 6.4 开发进度报告开发进度报告v6.4.2 报告的主要内容报告的主要内容决定每周提交的日期和时间真实的报告实际完成的工作记录历史和重新评估进行中工作的剩余工作报告开始和完成的日期记录完成的和剩余的工期6.4 6.4 开发进度报告开发进度报告v6.4.3 开发进度偏差开发进度偏差正向偏差正向偏差也可能造成负面的影响,不得不修订计划,这会增加负担和成本。负向偏差关键路径上的负向偏差会造成严重的影响。6.4 6.4 开发进度报告开发进度报告v6
29、.4.4 图形报告工具图形报告工具甘特图6.4 6.4 开发进度报告开发进度报告v6.4.4 图形报告工具图形报告工具里程碑趋势图(1)连续趋势:4个或4个以上连续数据点向上或向下的趋势,意味项目逐渐失去控制 6.4 6.4 开发进度报告开发进度报告v6.4.4 图形报告工具图形报告工具里程碑趋势图(2)剧烈变化:超过3个标准差的变动,可能工期估计过大,或发生了数据错误 6.4 6.4 开发进度报告开发进度报告v6.4.4 图形报告工具图形报告工具里程碑趋势图(3)连续变化:7个或更多的连续数据点高于或低于计划里程碑日期 6.4 6.4 开发进度报告开发进度报告v6.4.4 图形报告工具图形报
30、告工具里程碑趋势图(4)进度变化:两个连续时间点超出计划里程碑日期3个标准差,项目发生重大变化,需要查明原因 6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制描述成本进度控制描述标准S形曲线 6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制描述成本进度控制描述反映成本偏差的基线与实际成本曲线 6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制描述成本进度控制描述 反映进度偏差的基线与实际成本 6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制描述成本进度控制描述6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制
31、描述成本进度控制描述完整的情况 6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制描述成本进度控制描述BCWS、BCWP和ACWP曲线 6.4 6.4 开发进度报告开发进度报告v6.4.5 成本进度控制描述成本进度控制描述进度偏差:SV=BCWP-BCWP成本偏差:CV=ACWP-BCWP进度执行指数:SPI=BCWP/BCWS成本执行指数:CPI=BCWP/ACWP6.4 6.4 开发进度报告开发进度报告v6.4.6 项目的变更项目的变更螺旋形开发模型反应了项目变更的过程6.4 6.4 开发进度报告开发进度报告v6.4.6 项目的变更项目的变更变更管理的两个重要内容项目变更申请:重视变更、变更存档项目影响说明:变更的利与弊,供决策者参考项目名称变更申请者变更申请日期变更描述变更理由变更举措批准者批准日期变更申请表 6.4 6.4 开发进度报告开发进度报告v6.4.6 项目的变更项目的变更6.5 6.5 项目开发总结报告项目开发总结报告项目开发总结报告的范围 17 五月 202371徐承志徐承志