[工学]软件项目计划_第1页
[工学]软件项目计划_第2页
[工学]软件项目计划_第3页
[工学]软件项目计划_第4页
[工学]软件项目计划_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0软件项目管理软件项目管理信息科学与工程学院信息科学与工程学院软件工程系软件工程系崔焕庆崔焕庆2021-12-211RoadMap 项项目结束目结束 项目项目执行控制执行控制 项项目计划目计划 项目项目初始初始2021-12-212前情回顾前情回顾l项目立项阶段项目立项阶段甲方:招标书、乙方选择、签署合同乙方:项目分析、竞标、签署合同l项目章程项目章程:确认项目存在的文件,包括对项目的确认、对项目经理的授权和项目目标的概述等。l生存期模型生存期模型:瀑布、V、增量、原型、螺旋、渐近模型。3第二篇第二篇软件项目计划2021-12-214RoadMap 合合同同 计计划划 风风险险 计计划划 沟沟

2、通通 计计划划 人人力力 计计划划 质质量量 计计划划 成成本本 计计划划 时时间间 计计划划 集集成成 计计划划范范围围计计划划 项项目目 结结束束 项项目目执执 行行控控制制 项项目目 计计划划 项项目目 初初始始5第第2章章范围计划2021-12-216为什么进行范围计划?为什么进行范围计划? 做过项目的人可能会有这样的经历:一个项目做了很久,感觉总是做不完,就像是一个无底洞。用户总是有新需求要项目开发来做,就像用户在“漫天要价”,而开发方在“就地还钱”。 实际上,这里涉及一个“范围管理”的概念。项目哪些该做,做到什么程度,哪些不该做,都是由“范围管理”来决定的。 缺乏正确的项目范围界定

3、是导致项目失败的主要原因之一。项目管理中最重要也是最难做的就是确定项目范围。2021-12-217 开发软件系统最为困难的部分就是准确说明开发什么。 弗雷德里克布鲁克斯2021-12-218什么是范围管理什么是范围管理1. 1. 什么是范围?什么是范围? 产生项目产品所包括的所有工作及产生这些产品所用的过程。l 产品范围界定产品或服务范围的特征和功能。l 工作范围界定项目工作的完成,为的是能交付一个有特殊特征和功能的产品。2. 2. 范围管理范围管理l 对项目包括什么和不包括什么的定义与控制过程。l 用于确保项目组和项目干系人对作为项目结果的项目产品以及生产这些产品所用到的过程,有一个共同的理

4、解。2021-12-219本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解定义五、任务分解方法六、任务分解结果的检验七、案例分析2021-12-2110软件需求的重要性软件需求的重要性q 40%60%的问题是在需求分析阶段埋下的隐患。q40%的开发总费用是返工开销。q70%80%的返工是需求方面的错误导致的。q80%的失败项目是需求分析不明确造成的。总之,好的需求管理是项目成功的第一位因素。采用需求管理可以给项目组带来很多的好处,直至项目取得成功。2021-12-2111项目项目失败的原因分析失败的原因分析No. Top 10 Factors 平均值平均值 1

5、 Inadequate requirements specification 4.5 2 Changes in requirements 4.3 3 Shortage of systems engineers 4.2 4 Shortage of software managers 4.1 5 Shortage of qualified project managers 4.1 6 Shortage of software engineers 3.9 7 Fixed - price contract 3.8 8 Inadequate communications for system integ

6、ration 3.8 9 Insufficient experience as team 3.6 10 Shortage of application domain experts 3.6 Scale: 5 = Very Serious 3 = Serious 1 = No Serious Source: Carnegie-Mellon University, Software Engineering Institute2021-12-2112什么是软件需求什么是软件需求q需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。q正在构建的系统必须符

7、合的条件或具备的功能。 Rational q用户解决某一问题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。Merlin Dorfman 、Richard H. Thayer 2021-12-2113软件需求的层次软件需求的层次业务需求业务需求表示组织或客户高层次的目标表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统为什么要开发一个系统,即组织希望达到的目标。使用前景和范围文档来记录业务需求,这份文档有时也被称作项目轮廓

8、图或市场需求文档。 2021-12-2114软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求描述的是用户的目标,或用户要求系统必须能完成的任描述的是用户的目标,或用户要求系统必须能完成的任务务。用例、场景描述和事件响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统用户能使用系统来做些什么来做些什么。 2021-12-2115软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求规定开发人员必须在产品中实现的软件功能,用户利用这规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求些功能来完成任务,满足业务需求。功能

9、需求有时也被称作行为需求,因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么开发人员需要实现什么。 三个层次三个层次2021-12-2116软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求系统需求系统需求用于描述包含多个子系统的产品(即系统)的用于描述包含多个子系统的产品(即系统)的顶级需求顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。 2021-12-2117软件需求的层次软件需求的层次业务需求业务需求用户需求用户需

10、求功能需求功能需求非功能性需求非功能性需求系统需求系统需求对产品的功能描述作了补充,它从不同方面描述了对产品的功能描述作了补充,它从不同方面描述了产品的各种特性产品的各种特性。这些特性包括可用性、可移植性、可用性、可移植性、完整性、效率和健壮性完整性、效率和健壮性,它们对用户或开发人员都很重要。其他的非功能需求包括系统与外部世界的外部界面,以及对设计与实现的约束。 2021-12-2118软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求非功能性需求非功能性需求约束和假设约束和假设系统需求系统需求限制了开发人员设计和构建系统时的选择范围限制了开发人员设计和构建系统时的

11、选择范围。 2021-12-2119软件需求的层次软件需求的层次业务需求业务需求用户需求用户需求功能需求功能需求软件需求规格软件需求规格Software requirement specification非功能性需求非功能性需求约束和假设约束和假设系统需求系统需求2021-12-2120软件需求的层次软件需求的层次编号编号功能需求功能需求1提供病历信息录入提供病历信息录入2提供病历信息的条件查询提供病历信息的条件查询3提供统计、月统计、年统计,并提供打印功能提供统计、月统计、年统计,并提供打印功能编号编号性能需求性能需求1 1必须支持必须支持100100个客户的同时访问个客户的同时访问2 2应

12、该在应该在1010秒内必须从秒内必须从1000010000条记录中检索出需要的患者信息条记录中检索出需要的患者信息3 3应该在应该在2 2分钟之内给出季度统计报告分钟之内给出季度统计报告2021-12-2121本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解定义五、任务分解方法六、任务分解结果的检验七、案例分析2021-12-2122需求工程需求工程 需求工程是应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。需求工程需求工程需求管理需求管理需求开发需求开发需求获取需求获取需求分析需求分析需求规格

13、编写需求规格编写需求验证需求验证变更管理变更管理2021-12-2123 需求获取是通过各种途径获取用户的需求信息(原始需求获取是通过各种途径获取用户的需求信息(原始材料),产生材料),产生用户需求说明书用户需求说明书。 需求获取需求获取依依 据据工具与技术工具与技术成成 果果1. 项目章程项目章程2. 干系人登记册干系人登记册1. 访谈访谈2. 焦点小组会议焦点小组会议3. 引导式研讨会引导式研讨会4. 群体创新技术群体创新技术5. 群体决策技术群体决策技术6. 问卷调查问卷调查7. 观察观察8. 原型法原型法1. 需求文件需求文件2. 需求管理计划需求管理计划3. 需求跟踪矩阵需求跟踪矩阵

14、2021-12-2124需求获取需求获取用户要求用户要求基线需求基线需求扩展需求扩展需求软件需求软件需求主要任务:是和用户方的领导层、业务层主要任务:是和用户方的领导层、业务层人员访谈把握用户的具体需求方向和趋势,人员访谈把握用户的具体需求方向和趋势,了解现有的了解现有的组织架构、业务流程、硬件环组织架构、业务流程、硬件环境、软件环境、现有系统的运行状况境、软件环境、现有系统的运行状况等信等信息。息。2021-12-2125需求获取方法需求获取方法开始前:做好准备,写出访谈提纲进行中:要注意聆听和引导结束后:要写感谢信旁敲侧击的方式复述,复述,复述聆听不要指导两个人去访谈让被访者上司安排不要问

15、太多2021-12-2126需求获取方法需求获取方法头脑风暴法(集思广头脑风暴法(集思广益会)益会)德尔菲技术德尔菲技术(1)根据问题的特点,选择和邀请相关专家。(2)将与问题有关的信息提供给专家,请他们各自独立发表自己的意见,并写成书面材料。(3)管理者收集并综合专家们的意见后,将综合意见反馈给各位专家,请他们再次发表意见。如果分歧很大,可以开会集中讨论;否则,管理者分头与专家联络。(4)如此反复多次,最后形成代表专家组意见的方案。 2021-12-2127需求获取方法需求获取方法其他方法:l 需求研讨会l 用例模型l 角色扮演l 原型法l Q&A邮件提问l 电视电话会议访谈2021

16、-12-2128需求的分析、整理和确认需求的分析、整理和确认 目标:目标:要知道每个需求的要知道每个需求的“为什么为什么”;从;从“如何实如何实现现”“实现什么实现什么”;分析隐含需求。分析隐含需求。ID需求描述理由所有者优先级状态需求跟踪矩阵需求跟踪矩阵2021-12-2129需求获取注意问题需求获取注意问题1、识别真正的客户、识别真正的客户2、正确理解客户的需求、正确理解客户的需求3、具备较强的忍耐力和清晰的思维、具备较强的忍耐力和清晰的思维4、使用符合客户语言习惯的表达、使用符合客户语言习惯的表达5、提供需求开发评估报告、提供需求开发评估报告6、尊重开发人员和客户的意见,妥善解决矛盾、尊

17、重开发人员和客户的意见,妥善解决矛盾7、划分需求的优先级、划分需求的优先级8、说服和教育客户、说服和教育客户2021-12-2130需求分析需求分析需求阶段需求阶段设计阶段设计阶段 编码阶段编码阶段开发测试开发测试验收阶段验收阶段运行阶段运行阶段2021-12-2131需求分析模型需求分析模型当前系统当前系统逻辑模型逻辑模型物理模型物理模型目标系统目标系统模型化物理模型物理模型怎么做具体化抽象化实例化逻辑模型逻辑模型做什么导出理解需求理解需求表达需求表达需求2021-12-2132需求分析活动需求分析活动1 1、以图形表示的方式描述系统的整体结构,包、以图形表示的方式描述系统的整体结构,包括系

18、统的边界与接口。括系统的边界与接口。2 2、向用户提供可视化的界面,用户可以对需求、向用户提供可视化的界面,用户可以对需求做出自己的评价。做出自己的评价。3 3、以模型描述系统的功能项、数据实体、外部、以模型描述系统的功能项、数据实体、外部实体、实体间的关系、实体之间的状态转换。实体、实体间的关系、实体之间的状态转换。2021-12-2133处理需求不明确问题的方法处理需求不明确问题的方法1 1、让用户参与开发。、让用户参与开发。2 2、开发用户原型界面。、开发用户原型界面。3 3、需求讨论会议。、需求讨论会议。4 4、强化需求分析与评审。、强化需求分析与评审。2021-12-2134需求规格

19、需求规格q需求分析工作完成的一个基本标志是形成了一份完整的、规范的需求规格说明书。q需求规格说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。2021-12-2135软件需求规格说明的原则软件需求规格说明的原则q从现实中分离功能,即描述要从现实中分离功能,即描述要“做什么做什么”而不是而不是“怎样实现怎样实现”。q采用一定的规格说明语言。采用一定的规格说明语言。q如果被开发软件只是一个大系统中的一个元素,那如果被开发软件只是一个大系统中的一个元素,那么整个大系统也包括在规格说明的描述之中。么整个大系统也包括在规格说明的描述之中。q规格说明应

20、该包括系统运行环境。规格说明应该包括系统运行环境。q规格说明应该是一个认识模型。规格说明应该是一个认识模型。q规格说明应该容许不完备性并允许扩充。规格说明应该容许不完备性并允许扩充。SRS实例实例2021-12-2136需求验证内容需求验证内容1、需求的正确性、需求的正确性2、需求的一致性、需求的一致性3、需求的完整性、需求的完整性4、需求的可行性、需求的可行性5、需求的必要性、需求的必要性6、需求的可检验性、需求的可检验性7、需求的可跟踪性、需求的可跟踪性8、最后签字、最后签字与其他软件需求或高层与其他软件需求或高层需求不相矛盾需求不相矛盾验证是否所有可能的状态、验证是否所有可能的状态、状态

21、变化、转入、产品和状态变化、转入、产品和约束都在需求中描述约束都在需求中描述验证每一项需求都必须是验证每一项需求都必须是在已知系统和环境的权能在已知系统和环境的权能和限制范围内可以实施。和限制范围内可以实施。验证需求是否是用户需要验证需求是否是用户需要的的验证是否能写出测试案例来验证是否能写出测试案例来满足需求,如用演示、检测满足需求,如用演示、检测等来确定产品是否确实按需等来确定产品是否确实按需求实现了求实现了每项需求以一种结构化的,每项需求以一种结构化的,粒度化的方式编写并单独标粒度化的方式编写并单独标明。避免大段大段的叙述明。避免大段大段的叙述2021-12-2137需求变更管理需求变更

22、管理1、确定变更控制过程、确定变更控制过程2、建立软件变更委员会、建立软件变更委员会3、进行变更影响分析、进行变更影响分析4、跟踪变更影响的产品、跟踪变更影响的产品5、建立基准和控制版本、建立基准和控制版本6、维护变更的历史记录、维护变更的历史记录7、跟踪每项需求的状态、跟踪每项需求的状态8、衡量需求稳定性、衡量需求稳定性选择、分析、决策选择、分析、决策项目进度、资源、工作量、项项目进度、资源、工作量、项目范围、对其他需求的影响目范围、对其他需求的影响确定、已实现、暂缓、确定、已实现、暂缓、新增、变更新增、变更记录需求基线的数量和记录需求基线的数量和每周或每月的变更每周或每月的变更2021-1

23、2-2138变更申请变更申请需求方需求方开发方开发方忽略忽略选择变更方式选择变更方式SCCBSCCB评估评估项目经理自行决定项目经理自行决定根据评估结果根据评估结果拒绝拒绝接受本次修改接受本次修改下个版本再修改下个版本再修改修改合同相关信息修改合同相关信息修改相关需求修改相关需求修改相应的项目计划修改相应的项目计划需求变更管理过程需求变更管理过程2021-12-2139本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解定义五、任务分解方法六、任务分解结果的检验七、案例分析2021-12-2140编写需求规格的方法编写需求规格的方法1.原型方法2.结构化分析法3.

24、面向对象的用例分析法4.功能列表法5.关联模型6.行为模型7.数据模型8.结构化模型9.面向对象模型10. 其他方法2021-12-2141编写需求规格实例编写需求规格实例关联模型关联模型ATMATM系统系统分支账目系统分支账目系统分支柜台系统分支柜台系统维护系统维护系统安全系统安全系统数据应用数据应用总帐目系统总帐目系统2021-12-2142编写需求规格实例编写需求规格实例行为模型行为模型预订机票预订机票准备机票准备机票记帐记帐行班目录行班目录记帐文件记帐文件旅行社旅行社订票单航班费用旅客旅客机票2021-12-2143编写需求规格实例编写需求规格实例状态机模型状态机模型2021-12-2

25、144编写需求规格的思维方法:编写需求规格的思维方法:六顶思考帽六顶思考帽2021-12-2145本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解定义五、任务分解方法六、任务分解结果的检验七、案例分析2021-12-2146WBS (Work Breakdown Structure)WBS (Work Breakdown Structure)q任务分解的过程q将一个项目分解为更多的工作细目或者子项目,使项目变得更小、更易管理、更易操作。q任务分解的结果qWBS(任务分解结构)。 qWBSq面向可交付成果的。qWork packages(工作包)qWBS的最低层

26、次的可交付成果q代表项目经理监督和控制项目进度的最低层工作。q工作包也可以指代说明和报告、一件特殊的硬件设备(如:特定的服务器)。2021-12-2147WBS (Work Breakdown Structure)WBS (Work Breakdown Structure)WBSWBS第第1 1层层WBSWBS第第2 2层层工作包工作包2021-12-2148WBSWBS的清单类型的清单类型 1. 变化计数器1.1 比较两个版本的程序1.1.1 预处理1.1.2 文件比较1.1.3 结果处理1.2 找出修改后的程序中增加和删除的代码行1.2.1 找出增加的代码行1.2.2 找出删除的代码行1.

27、3 统计修改后的程序中增加和删除的代码行数1.3.1 统计增加代码行数1.3.2 统计删除代码行数1.4 统计总的代码行数 1.5 设定标记以指示修改的次数1.6 在程序的头部增加修改纪录2021-12-2149WBSWBS的图表类型的图表类型飞行系统飞行器支持设备设施测试与评价项目管理培训数据系统工程管理支持性项目管理活动设备培训设施培训服务培训技术命令工程数据管理数据实物模型运作测试开发测试基地大楼维护设施组织层次的中间层次的补给站层次机身引擎通信系统导航系统消防系统2021-12-2150WBSWBS的图表类型的图表类型家庭装修家庭装修设施设施结构结构墙体墙体地板地板门窗门窗厨房厨房厕所

28、厕所洗浴洗浴空调空调照明照明通讯通讯洁具洁具燃具燃具风机风机垃圾垃圾橱柜橱柜水池水池上水管上水管下水道下水道龙头阀门龙头阀门过滤网过滤网2021-12-2151WBSWBS的图表类型的图表类型软件产品发行软件产品发行版本版本5.0项目管理项目管理项目需求项目需求详细设计详细设计构建构建整合测试整合测试管理管理会议会议规划规划培训资料培训资料用户文档用户文档软件软件培训资料培训资料用户文件用户文件软件软件培训资料培训资料用户文件用户文件软件软件培训资料培训资料用户文件用户文件软件软件2021-12-2152WBSWBS的图表类型的图表类型文艺演出文艺演出节目节目剧务剧务后勤后勤经营经营策划策划编

29、导编导排练排练表演表演化妆化妆道具道具灯光灯光音响音响交通交通就餐就餐住宿住宿安全安全广告广告销售销售票务票务财务财务2021-12-2153任务分解步骤任务分解步骤1. 确认并分解项目的组成要素2. 确定分解标准3. 确定分解是否详细4. 确定项目交付成果5. 验证分解的正确性(建立编号)2021-12-2154分解标准分解标准1. 生存期2. 功能组成3. 项目的组织单位4. 。2021-12-2155分解标准应统一分解标准应统一学生管理q按照生命期分解q规划q需求q设计q编码q测试q提交q按照产品组成分解q1.1 招生管理q1.2 分班管理q1.3 学生档案管理q1.4 学生成绩管理20

30、21-12-2156分解标准应统一分解标准应统一q不能同时使用两种标准进行分解1.招生管理2.分班管理3.学生档案管理4.学生成绩管理 5.规划6.需求7.设计8.编码9.测试10. 提交2021-12-2157WBSWBS字典字典WBS编码缩写描述标准历时费用负责人备注描述和定义WBS中的元素,以及其他的计划信息,如预算、工期、责任人等。2021-12-2158WBSWBS字典字典WBSWBSDICTIONARYDICTIONARYControl Account ID No.Work Package No.Date of UpdateResponsible Organization/Indi

31、vidualWork PackageDescriptionAcceptanceCriteriaDeliverablesAssumptionResourcesAssignedDurationScheduleMilestonesCostDue DateInter-dependenciesBeforeAfterthis workthis workPackage _Package _Approved by:PM: _Date: _2021-12-2159本章要点本章要点一、关于软件需求二、需求管理过程三、编写需求规格的方法四、任务分解定义五、任务分解方法六、任务分解结果的检验七、案例分析2021-12

32、-2160任务分解方法任务分解方法p使用指南p类比法p自上而下p自下而上p心智图法2021-12-2161使用指南使用指南l一些组织通常都会为特定项目制订一些组织通常都会为特定项目制订WBS的格式和内容。的格式和内容。 例如:美国国防部(DOD)要求项目承包方基于DOD提供的WBS建议准备WBS,并据此审查承包方的成本建议和基于WBS的自身内部成本估算。l很多组织提供开发很多组织提供开发WBS的准则和模板,以及过去项目的的准则和模板,以及过去项目的WBS样例。样例。 PMI开发了一个WBS实践标准为制作和应用WBS提供准则和指南,其中还包含了WBS样例库,涵盖了很多行业领域各种类型的项目,如:

33、网页设计、电信、服务业外包、软件开发等。PMI会员免费下载(WWW.PMI.ORG),非会员需购买。WBS模板2021-12-2162自上而下与自下而上自上而下与自下而上l自上而下法自上而下法是创建WBS的传统方法,即:从项目最大项开始,将它们分解成下一级的项。这个过程实际上就是对工作的进一步细分。该方法适用于对整个项目有宏观技术把握的项目经理使用。l自下而上法自下而上法项目组成员首先识别出尽可能多的与项目有关的具体任务;随后,将这些具体的任务集中分类并组织成概要任务或WBS中的较高层次。该方法通常比较耗时。项目经理通常运用该方法处理全新的系统。2021-12-2163心智图法心智图法(Mind Mapping) 心智图法,又称思维导图,心智图法,又称思维导图,是一种从核心思想向外辐射出分支的方法,用以组织思路和想法。该方法可以让人们以非线性方式构想,用形象的无结构化的方法定义WBS的项,随后可以直接将信息转化成图表格式。2021-12-2164心智图法心智图法(Mind Mapping)1、首先在纸的中心画一个彩图,既明确主题,且刺激创意性思维。2、多用图画,醒目,利于记忆。3、以粗体字书写,这样更清晰,便于阅读,便于反馈。4、字词以线相连,这样形成一个基本框架结构。5、多用单个的词语,这样每个词语间连接起来更自如,联想空间更大,更自由,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论