微软产品开发模型(推荐ppt206)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

微软产品周期模型主要内容•产品周期模式概述:微软产品开发的方法•产品背后的人们和他们的任务•与产品开发相关各人员的工作任务及其详细介绍•微软软件开发中其他的一些事情……产品规划阶段产品规划阶段产品的开发阶段•里程碑1,里程碑2:较为冒险的,重要的性能•里程碑3:次要的性能,对此需要重新估评调整产品规划阶段产品的开发阶段•里程碑1,里程碑2:较为冒险的,重要的性能•里程碑3:次要的性能,对此需要重新估评调整产品测试阶段调试代码发行测试版(Bata’s)预发行版(RC’s)产品规划阶段产品的开发阶段•里程碑1,里程碑2:较为冒险的,重要的性能•里程碑3:次要的性能,对此需要重新估评调整产品发布向制造业和网站投放(RTM/RTM)对网络产品的服务阶段产品测试阶段调试代码发行测试版(Bata’s)预发行版(RC’s)软件开发人物表•他们是谁他们是和你一样聪明的人他们来自世界各地他们都具有同样的激情——开发出最好的软件他们在开发过程中以顾客需求为宗旨软件开发人物表•他们在产品开发组中的作用/职务是什么产品单元总经理(PUM)产品经理程序经理(PM)软件设计工程师(SDE/Dev)软件测试设计工程师(SDET/TestDev)软件测试工程师(Tester)BuildEngineer产品设计师本地化工程师文档小组产品规划产品规划•任务:识别有利市场,确保产品在此市场中能迎合客户需要,并向客户介绍产品的价值所在•产品规划——定义产品定义客户的价值:通过消费群体的调查研究和竞争要素的分析定义产品前景和产品前景的描述确定产品主要性能和特性产品开发过程中始终以客户需求为宗旨确定产品长期目标(三年期至五年期目标)产品规划阶段消费群体的调查研究与组员交流产品前景(前景描述)待开发产品性能及他们的开发优先级产品周期:规划人员产品规划阶段消费群体的调查研究与组员交流产品前景(前景描述)待开发产品性能及他们的开发优先级产品周期:规划人员产品开发阶段产品开发时处处以顾客需求为宗旨,做顾客的代言人竞争要素分析产品规划阶段消费群体的调查研究•与组员交流产品前景(前景描述)•待开发产品性能及他们的开发优先级产品周期:规划人员产品开发阶段产品开发时处处以顾客需求为宗旨,做顾客的代言人竞争要素分析产品测试阶段•经营分析和预测产品规划阶段消费群体的调查研究•与组员交流产品前景(前景描述)•待开发产品性能及他们的开发优先级产品周期:规划人员产品开发阶段产品开发时处处以顾客需求为宗旨,做顾客的代言人竞争要素分析产品测试阶段•经营分析和预测产品发布下一版本该做的事三年期至五年期的计划程序经理程序经理任务:在最适合的时候投放高质量的产品•确保产品能很号的迎合市场的需求和满足微软经营的需要•提供领导力量…但并不是专制•对产品的特性设置,进度和资源的安排负责•促进交流,协调小组内和整个微软范围内的人际关系•在不同的技术领域,协调与其他供应商的关系(独立硬件供应商/独立软件供应商)产品规划阶段产品前景落实编写产品规格书创建主进度表产品周期:程序经理产品规划阶段产品前景落实编写产品规格书创建主进度表产品周期:程序经理产品开发阶段管理功能小组工作状况管理产品规格书保持全组的工作重点推进工作进度产品规划阶段产品前景落实编写产品规格书创建主进度表产品周期:程序经理产品开发阶段管理功能小组工作状况管理产品规格书保持全组的工作重点推进工作进度产品测试阶段对产品各方面进行权衡(产品运行速度、性能多少、可用性及开发进度等等)产品规划阶段产品前景落实编写产品规格书创建主进度表产品周期:程序经理产品开发阶段管理功能小组工作状况管理产品规格书保持全组的工作重点推进工作进度产品测试阶段对产品各方面进行权衡(产品运行速度、性能多少、可用性及开发进度等等)产品发布跟踪媒体庆功会下一版本准备工作程序经理挑战•引导全组,使其不偏离预期的设计思想和进度•勇于承担各项责任•促进相互间的交流•具备在无指定权利情况下产生影响力的能力程序经理要避免•因小事而浪费时间和资源•不为客户利益而争辩(否则,这样做的结局必将是:只能开发出性能拙劣的,不受客户欢迎的产品)•因为他人的行为方式而看不起他(但事实上是因为你的过错,是因为别人所获得的信息与你的不同…)•假设情况是…(不要作任何假设ass-u-me)程序经理—回答你的问题?开发人员开发人员任务:设计开发出高质量的软件•提供技术咨询•对产品规格做出反馈•设计算法和数据结构•设计,编写和调试代码产品规划阶段•对新产品性能的可行性研究•技术建议反馈给规划人员产品周期:开发人员产品规划阶段•对新产品性能的可行性研究•技术建议反馈给规划人员产品周期:开发人员产品开发阶段•编写代码,单元测试/调试•按照进程表为测试小组提供可测试产品单元件•代码的再使用产品规划阶段•对新产品性能的可行性研究•技术建议反馈给规划人员产品周期:开发人员产品开发阶段•编写代码,单元测试/调试•按照进程表为测试小组提供可测试产品单元件•代码的再使用产品测试阶段•调试纠错•不对产品性能作改动产品规划阶段•对新产品性能的可行性研究•技术建议反馈给规划人员产品周期:开发人员产品开发阶段•编写代码,单元测试/调试•按照进程表为测试小组提供可测试产品单元件•代码的再使用产品测试阶段•调试纠错•不对产品性能作改动产品发布•零个错产品开发人员挑战•产品功能(设计的复阅/代码的复阅)•按进度表进程完成所有的任务•少出程序错误(在整个产品周期中使错误数量小于一定数量)•面对更短开发周期•产品国际化•迅速发展的技术•信息共享,相互交流开发人员要避免•你的代码改动使每天一次的机器码编译出错(等待你的老板或产品单元总经理来找你说个明白)•你的纠错代码改动没能消除错误(你可能在没有解决原有问题的同时却引入了新的错误)•在源程序进入保护状态后没能按规定来更新源程序代码)•沉迷于电子游戏中…开发人员—回答你的问题?测试人员测试人员任务:确保我们产品的高质量•在产品生产过程中,按照产品规格书对产品及其质量做独立的确认•测试产品与设计标准相符•测试产品与规格相符•测试产品的稳定性•测试产品的兼容性产品规划阶段•产品规格复阅•制订测试计划产品周期:测试人员产品规划阶段•产品规格复阅•制订测试计划产品周期:测试人员产品开发阶段•测试软件的开发•测试过程的自动化•个人/朋友版的测试•综合/验错测试产品规划阶段•产品规格复阅•制订测试计划产品周期:测试人员产品开发阶段•测试软件的开发•测试过程的自动化•个人/朋友版的测试•综合/验错测试产品测试阶段•多次全面运行开发的测试软件(fulltestpass)•压力测试(stresstest)•发布标准测试•纠错结果验证测试产品规划阶段•产品规格复阅•制订测试计划产品周期:测试人员产品开发阶段•测试软件的开发•测试过程的自动化•个人/朋友版的测试•综合/验错测试产品测试阶段•多次全面运行开发的测试软件(fulltestpass)•压力测试(stresstest)•发布标准测试•纠错结果验证测试产品发布•最后产品金碟版测试测试人员挑战•与开发人员保持最佳沟通•国际范围的测试•测试软件的互用性•各组成部分的共享•人员的流动测试人员测试方面的其他议题•测试案例(testcase)•测试脚本(testscript)•版本验证测试(BTV)•Bugstatus•Regressionbug•验证错误已被改正,并在bug数据库中关闭此bug•Raid数据库测试人员要避免•记录过多不可再现的错误•在早期筹备阶段不进行有效的测试,直到产品开发后期才发现大量的严重错误•不做完全地验证就关闭bugs•ResolvebugsasfixedinRaiddatabase测试人员—回答你的问题?微软软件开发写真微软怎么开发出世界一流的软件的…•100%以bug数据库为基础•产品技术支持部门的反馈•产品规格的完成(规格修改委员会)•完成视觉效果的设计•源程序树的锁定(lockdownsourcetree)•源程序树的分叉(forksourcetree)•产品编码完成•先尝其果(eatyourowndogfood)微软软件开发写真微软怎么开发出世界一流的软件的…•可用性测试研究•对于大型产品,按产品单元组景象源程序代码更新和稳定是有效且必要的方法•战斗组(Warteam)•战斗会议(Warmeeting)•Componentteambugtriage微软软件开发写真微软怎么开发出世界一流的软件的…•零错出现•金主碟•Sign-off•Shippingparties•LakeBilldump•Launchparties/eventsandnewswatching•“ship-it”rewardandshippinggifts•ItissomuchfunworkingforMicrosoft!Hopeyoutoohavealotoffun作软件这行真好玩!回答你的问题?微软产品开发方法日程•微软产品周期模型中的开发者规划及撰写产品说明书阶段-里程碑0功能实现阶段-里程碑1到N测试和稳定阶段-代码完成(CC)和发布产品•微软开发协作模式源代码控制工具Bug跟踪和解决•开发人员应有的态度里程碑0规划及撰写产品说明书微软产品周期模型中的开发者微软产品周期模型编程开始远景目标确定QFEDCR主金碟市场Beta版技术Beta版零Bug反弹点(ZBB)里程碑目标达到M1-MNMO计划代码完成BetaRCRTMSPs开发人员在M0阶段的工作•支持前一个版本•帮助程序经理撰写产品说明书支持前一个版本•QFE(QuickFixEngineering)•DCR(DesignChangeRequest)•SP1,SP2..•修正被推迟的Bug帮助程序经理撰写产品说明书•为PM写产品说明书提供支持•审阅Spec•估计功能实现时间,确定进度制订计划•预测什么时候可以完成什么功能•协调各开发组,功能和里程碑•决定做哪些功能,不做哪些功能•激励没有截止日期,什么事儿都做不了•计划是一种估计,更是一种承诺•开发者做主来制订计划什么是好计划•把大的计划分成小块每块半天到5天(如WBS方法)•什么事情都有时间限制开发,测试,调试,代码审校…•如果计划好的东西完成了,整个功能就应该完成了(没有不在计划中的内容)制订更合理的计划•不断对比比较最初的估计和实际时间有助于制订现实的计划•多个开发人员独立估算,把结果合并进度控制—容易忽略的因素•新人的上手时间•准备做演示的资源•开会和讲座的时间•维护运行编译的脚本•编译中断的修正时间•外部组件的集成•处理测试的问题•病假/休假考虑具体技术实现•计划角色,工具和流程•设计新功能的实现方法建立原形•考察新技术考虑的第一个问题—代码重用•绝大多数代码在别处已经写过了•利用已有的代码可以节省时间,提高质量•在微软,各产品组互为客户和提供商关系•对于任何一段代码,首先问自己:这段代码/功能有可能在什么地方已经有人写过了可能在已有的项目里可能操作系统已经实现了(e.g.Windows)可能在某个函数库里(e.g.CRT,DLL,.NETFramework)•代码重用有不同的级别代码重用的不同级别•调用系统已有功能,或其他项目组已完成的功能(Windows.MSNMessenger)•与其他项目合用可执行代码•与其他项目复用源代码•从其他项目中拷贝源代码(Codebase)•利用其他项目的界面设计和算法(Member.msn.com,Wizard)•IE创造了代码重用的神话(Help,URLMoniker)选择实现方式时一定要慎重•决定自己开发时一定要慎重比如:已经有了很多数据库引擎,我们真的有必要重新写我们自己的吗?•采用别的项目的技术是一定要慎重可能不是完完全全你要的东西可能没法放到你的体系中来可能质量达不到你的要求可能有很多后续问题(版本问题,安装…)•使用全新的技术不一定是最好的发布日期的限制…如何了解已有的代码•审阅所代码(打印出来)•用代码浏览器浏览所有代码(如SourceInsight)•分步执行程序•阅读设计文档•小心的重新格

1 / 206
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功