软件开发的流程及微软的产品开发实践

上传人:wm****3 文档编号:56879959 上传时间:2018-10-16 格式:PPT 页数:57 大小:1.63MB
返回 下载 相关 举报
软件开发的流程及微软的产品开发实践_第1页
第1页 / 共57页
软件开发的流程及微软的产品开发实践_第2页
第2页 / 共57页
软件开发的流程及微软的产品开发实践_第3页
第3页 / 共57页
软件开发的流程及微软的产品开发实践_第4页
第4页 / 共57页
软件开发的流程及微软的产品开发实践_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《软件开发的流程及微软的产品开发实践》由会员分享,可在线阅读,更多相关《软件开发的流程及微软的产品开发实践(57页珍藏版)》请在金锄头文库上搜索。

1、软件开发的流程 及微软的产品开发实践,微软 嵌入型操作系统部 项目经理 栾跃,Bill Luan Program Manager Windows Embedded, Microsoft BLuanM,讲题目录,引言:项目管理理论的介绍 项目软件开发的流程及特征 软件产品和系统开发项目的管理 微软的传统文化及关键实践介绍 问答,项目管理的定义,项目管理是为了完成一个项目的需求和目的所进行的管理工作。它应由专门的项目管理人员来负责,使用必要的知识、技术、工具等将项目管理的九个领域的知识对整个项目的五个阶段的流程运作进行管理来达到项目的最终目的。项目管理人员不仅要完成项目预定的范围、时间、费用、和质

2、量的目标,他们还必须建立并充分利用与五个流程相对应的规章制度来促进项目的顺利进展、满足所有项目参与者的期望和他们的工作要求。,引言:项目管理理论的介绍,项目管理的九个领域性知识 项目综合的管理 (Project Integration Management) 项目范围的管理 (Scope Management) 项目时间的管理 (Time Management) 项目费用的管理 (Cost Management) 项目质量的管理 (Quality Management) 项目人才资源的管理 (Human Resource Management) 项目信息交流的管理 (Communication

3、 Management) 项目风险的管理 (Risk Management) 项目外包的管理 (Procurement Management),引言:项目管理理论的介绍,参见 Schwalbe, Project Management 2002,项目流程的概念及五个流程阶段 流程 (Process) 指的是完成每项工作的先后顺序和特定的运行周期 项目流程的管理是指对项目运作过程的管理 项目管理理论将项目流程划分了五个阶段: 项目的起动阶段 项目的计划阶段 项目的执行阶段 项目的控制阶段 项目的结束阶段,引言:项目管理理论的介绍,项目流程管理的基本概念,引言:项目管理理论的介绍,讲题目录,引言:项

4、目管理理论的介绍 项目软件开发的流程及特征 软件产品和系统开发项目的管理 微软的传统文化及关键实践介绍 问答,软件开发项目的流程概念和管理,项目软件开发的流程及特征,软件开发项目的流程 - 被重复的计划和执行阶段,项目软件开发的流程及特征,对以上开发操作里程的分析 (1) 此通用流程时间表为各种开发项目的参考。各工作项目的时间长短需要视项目具体的要求来决定, 且有的里程(如RC1, RC2)可有可无. 关键点: 功能需求必先于设计构划. 程序设计必后于设计构划. 设计构划书的周密严谨关系到整个产品开发的成败和质量. 测试要与程序设计同步进行, 以便及时纠错.,项目软件开发的流程及特征,对以上开

5、发操作里程的分析 (2) 关键点: 每个项目的时间进度表的制定应包括所有重要的里程碑. 项目进度的跟踪以它们为准. 对开发前期的工作项目花的工夫越多, 如功能需求总结和设计构划书的撰写尽量做到周密严谨, 和用户同一认识, 后期的工作项目如编程测试等造成返工重做的机率就越小, 会对整个项目的高效率和低开支起很大的促进作用.,项目软件开发的流程及特征,讲题目录,引言:项目管理理论的介绍 项目软件开发的流程及特征 软件开发项目管理的指南 微软的传统文化及关键实践介绍 问答,软件开发项目管理的指南 软件项目需求管理的指南 软件设计规范书撰写的指南 开发管理的指南 测试的管理指南 团队建设的指南,软件项

6、目需求管理的指南 功能需求是描述一个产品或项目该做什么, 该提供什么功能, 该完成什么任务的总结 任何一个项目在开发前都有一列功能需求 它可来自客户的要求, 或市场的反馈, 或利用新技术增加新功能以便使产品更新换代的驱动 它是一个项目的最前期的管理, 也是把握项目范围的关键 - 设计是建立于功能需求的基础上的: 功能需求总结越完善, 设计就会越周密, 测试就会越彻底, 项目的质量就越好.,软件开发项目管理的指南,软件项目需求管理的指南 如果没有完善的功能需求总结会发生什么? 功能需求不正确会导致设计错误, 导致推翻设计重新来过, 造成人力和时间的浪费 和客户对功能需求的理解不一致, 导致客户最

7、终不接受产品或系统, 或不断要求再加新功能 模糊不清的功能需求总结导致关键功能缺失, 或开发人员瞻自加入不需要的功能, 造成浪费 不完善的功能需求总结导致无法建立准确的项目计划和时间表, 也使项目进度的追踪困难大,软件开发项目管理的指南,软件开发项目管理的指南,软件项目需求管理的指南 功能需求总结是受多方面因素影响的,软件开发项目管理的指南,软件项目功能需求总结撰写的指南 (1),软件开发项目管理的指南,软件项目功能需求总结撰写的指南 (2),软件开发项目管理的指南,软件项目功能需求总结撰写的指南 (3),软件开发项目管理的指南,从使用方案到功能设计的三步法,使用方案对客户产品使用 产品的方法

8、和过程的 具体描述,功能需求每一个使用方法中 解决具体问题 所需要的功能,功能设计每一个具体的功能和 性能特点的设计,软件开发项目管理的指南,从使用方案到功能设计的三步法,怎样管理功能需求总结的流程? (1) 制定一套功能需求改变的流程: 任何需求改变的决定都得经过这套流程的批准 组建一个需求改变管理班, 核审任何需求改变 对任何功能需求改变的要求, 都要进行此改变对已在进行的项目中其它部分影响的分析 对任何已批准的需求改变作受其影响的跟踪, 记录由此带来的对设计, 编程, 测试, 文档编写等其它项目部分的带来的工作增量及时间的推迟,软件开发项目管理的指南,怎样管理功能需求总结的流程? (2)

9、 制定功能需求的基准线: 将项目开始时和客户已经同意的功能需求作一记录. 以后任何不同于此基础线的需求改变都得经过事先设定的功能需求改变流程的审核和批准. 对任何需求改变的历史都做档案记录 日期, 要求, 改变的理由, 内容, 工作量, 版本, 等等. 衡量项目功能需求的稳定性项目中改动有多少, 以便有具体的数字来做控制需求改变的指南.,软件开发项目管理的指南,当你有了这套需求改变的管理制度 你能向客户展示你项目管理的流程中怎样控制需求改变 你更便于和客户对项目的要求统一认识 完善的控制需求改变管理将帮助你”守住你的防线” 保护项目质量, 时间表, 及你的利润 使客户能更好地理解你为什么可以拒

10、绝需求改变或设计改变的要求, 或为什么需求改变或设计改变会导致费用升高或质量降低.,软件开发项目管理的指南,软件开发项目管理的指南 软件项目需求管理的指南 软件设计规范书撰写的指南 开发管理的指南 测试的管理指南 团队建设的指南,软件设计规范书撰写的指南 设计规范书(Design Specification)是什么? 设计构划书是描写软件产品或系统具体功能特性和设计方案的文件 它是整个产品或系统的蓝图- 开发设计和测试计划都以次为基础进一步撰写 它由设计项目经理负责撰写, 组织核审, 并根据开发过程中的由编程设计改动作随时的订正, 使文件中的设计与具体的编程随时保证同步.,软件开发项目管理的指

11、南,软件开发项目管理的指南,软件设计规范书撰写的指南 (1),软件开发项目管理的指南,软件设计规范书撰写的指南 (2),软件开发项目管理的指南,软件设计规范书撰写的指南 (3),软件开发项目管理的指南,软件设计规范书示例- 用表列出使用行为,软件开发项目管理的指南,软件设计规范书示例-用图示来解释设计及使用,软件开发项目管理的指南,软件设计规范书示例-用图示来解释设计及使用,软件开发项目管理的指南,软件设计规范书示例- 每个性能都加入测试的要求,软件开发项目管理的指南 软件开发的种类 软件项目需求管理的指南 软件设计规范书撰写的指南 开发管理的指南 测试的管理指南 团队建设的指南,开发管理的一

12、些指南 (1) 写任何程序前一定要先有设计构划书 任何复杂的系统程序要先有构架设计书 对系统组件有明确的功能定义. 对组件的接口的设计事先有完整的纪录. 构架设计书由构架设计师或开发工程师的领导人员来撰写. 构架设计书要通过项目经理和测试人员在内的审核及通过, 才能开始编写程序.,软件开发项目管理的指南,开发管理的一些指南 (2) 建立程序原代码的提交库,并建立完整的原代码的提交的流程管理制度 原代码只允许一人改动. 改动前先要从提交库申请出原代码. 改动后再送进提交库. 改动完先要在开发工程师的机器上编译, 与其它组件一起运行过, 确证没有致命的缺陷后,才能送进原代码的提交库. 在产品发行前

13、, 整个提交库都被锁上, 只有被批准的缺陷修补的原代码才能提交进库.,软件开发项目管理的指南,开发管理的一些指南 (3) 建立原代码互审的管理制度 每个软件开发工程师遍写的原代码都有致少一个以上的同事对程序进行审查. 建立原代码编写的规范 每个软件开发工程师都应按照规范进行程序设计, 包括编写的风格, 格式, 组件接口的规范, 解说词的撰写, 等等.,软件开发项目管理的指南,测试管理的一些指南 (1) 根据设计构划书撰写测试计划 测试计划要请项目经理和开发工程师一起进行审查. 测试计划用列表式将所有的测试方案写下. 每个具体地的测试方案都有专人执行,并记录每个测试方案的结果. 任何缺陷都记录下

14、来. 测试与开发同步进行 在部分组件编写完后就进行.,软件开发项目管理的指南,测试管理的一些指南 (2) 测试计划执行中的注意事项 由测试员发现的缺陷分给开发工程师修改纠错. 修改完毕由测试员先进行初步质量验证 (Smoke Test), 通过后才能由开发工程师送进原代码的提交库. 每次任何影响到其它组件的程序纠错改动, 不仅是经过改动的程序要重新测试, 任何可能受到影响的其它组件或程序也必须重测 (Regression Test). 发行前要进行全程测试 (Full Test Pass).,软件开发项目管理的指南,团队建设及管理的艺术 建立分工清晰的团队 从项目管理, 产品或系统的设计,编程

15、, 测试,到使用书的编写,都有专人负责。 具体的分工不能越职,如设计师搞测试。 并将各部分该完成的时间表统一在整个项目的时间表里,公布于整个团队。,软件开发项目管理的指南,软件开发队伍的组织结构及功能,开发团队常用的人员配备及工作分配 (1) 发行经理 (Release PM) 作用:项目流程的总管 负责产品发行和开发项目流程的管理 - 对整个项目的流程设定规章制度 制定项目的时间进度表和里程碑, 和产品发行够格的衡量标准 对整个项目的进程进行追踪、并向整个团队通报, 对出现的问题及时协调并解决. 掌握“除害三国会议” (Bug Triage) 和 “战争会议” (War Meeting) 负

16、责软件产品发行工作的管理,软件开发项目管理的指南,开发团队常用的人员配备及工作分配 (2) 设计经理 (Feature PM) 作用:产品功能的设计师和使用客户的代言人 确定项目范围和做需求管理总结。负责产品种各功能和性能的设计. 撰写产品功能设计构划书(Specification) 进行功能设计和使用界面设计 帮助其它团队制定开发计划、测试计划、和文档计划 对功能设计作随时的必要调整和修改 与发行经理通气、合作、对所负责的功能的开发进度进行追踪、对时间表进行随时的必要调整,软件开发项目管理的指南,开发团队常用的人员配备及工作分配 (3) 其他附助经理 (Other Auxiliary PMs

17、) 作用:对项目的成功提供其它的必要支持 负责产品的初版使用客户联络和支持 与市场部门和销售部门协调合作 进行与文档和界面设计团队协调合作 进行与产品所依靠的其它内部团队协调合作,软件开发项目管理的指南,开发团队常用的人员配备及工作分配 (4)软件开发工程师 (Software Developer Engineer): 撰写产品编程的设计构划书 (Develop spec.) . 根据产品功能设计构划书和编程的设计构划书, 编写产品开发的程序. 软件测试工程师 (Software Test Engineer): 根据产品功能设计构划书编写产品测试的构划书, 并执行测试构划书定下的测试计划对产品和组件进行测试 (白箱及黑箱应测试, 等).,

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

当前位置:首页 > 生活休闲 > 社会民生

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