《TeamFoundationServer管理软件开发生命周期10709.pptx》由会员分享,可在线阅读,更多相关《TeamFoundationServer管理软件开发生命周期10709.pptx(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、使用使用Team Foundation Server管理软件开发生命周期管理软件开发生命周期 微软微软(中国中国)有限公司有限公司VisualStudio2005架构架构架构架构师师开开开开发发人人人人员员测试测试人人人人员员项项目目目目经经理理理理非非非非专业专业人士人士人士人士爱爱好者好者好者好者学生学生学生学生议程软件开发过程中的问题TeamFoundationServer实例展望软件开发过程中的问题早上该9点上班但9点半才到(跟老板讲原因是路上塞车厉害)到办公室后先和几个同事聊聊天,谈昨晚电视转播的比赛打开电脑后,看到有两个必须要修复的Bugs。哼,等下再说吧先看看朋友的邮件,再将几个
2、笑话转给朋友再跟女朋友发几个短信对了,还得给我那两哥们儿发个明天下班后去逛电子商场的约会。赶快看看新浪网上有啥新鲜的女朋友来电话,不得不接。阿呀,忘了去倒杯咖啡喝隔壁同事讲淘宝网上有卖我想要了很久的数码相机,赶快去看看咦!真快,午饭时间已到了!吃完饭,打开我那两个bug看看有点晕,先去拿瓶可乐醒醒脑再玩几分钟扫雷的游戏再看看bug,还不知道该怎样修复。算了,随便试试再说,行了。该提交代码了,Check-in电话铃响,老板在骂:“你的什么垃圾代码,将今天整个团队的Build全都Break了!”唉,这该死的Job!撤销Check-in谢天谢地,6点到了。看看外面,路上好挤,早点回家吧软件开发过程中
3、的问题开发团队成员之间交流困难使用多种绑定工具而不能集成工具不具有内在的方法论指导IT项目的投资回报率令人失望方法论+工具有法可依软件过程方法论:XP、RUP、MSF有法必依工具:BugManagerSystem,SourceControl执法必严集成:各种工具集成工作违法必究公司章程、规则议程软件开发过程中的问题TeamFoundationServer实例展望TFS(单服务器)(单服务器)组件组件 小型团队小型团队中等团队中等团队用户数量=20=50处理器2.2GHzPentiumIV或Athlon操作系统带ServicePack1(SP1)的WindowsServer2003企业版带Ser
4、vicePack1(SP1)的WindowsServer2003标准版RAM1GB2GB硬盘8GB可用空间30GB可用空间TFS(双服务器)(双服务器)组件组件 部门级别部门级别公司级别公司级别用户数量=250=500逻辑层次应用层数据层应用层数据层处理器2.2GHzPentiumIV或Athlon双处理器,2.2GHzPentiumIV或Athlon双处理器,2.2GHzPentiumIV或Athlon四处理器,2.2GHzPentiumIV或Athlon操作系统带ServicePack1(SP1)的WindowsServer2003企业版带ServicePack1(SP1)的Windows
5、Server2003标准版RAM1GB2GB2GB4GB硬盘20GB可用空间80GB可用空间40GB可用空间150GB可用空间TeamFoundationServer架构Team Foundation Data ServicesSourceCodeControlServiceWorkItemServiceBuildDataServicesRegistrationServiceEventingandNotificationServiceLinkingServiceTeam Foundation Integration ServicesMSSQL/TCPSOAP/HTTP(S)ASP.NETTea
6、m Foundation Data-TierMethodologySCCWI(ProductStudio)BuildDataWarehouseBuildResultsTestResultsCodeCoverageStaticAnalysisSQLReportsWebPartsWSSIETeam Project PortalSiteSQL Reporting ServicesOffice SystemMSExcelPlug-inMSProjectPlug-inVSPackagesVisual StudioCommandLineTeamFoundationObjectModel(ManagedAP
7、I)设计目标生产力生产力生产力生产力集成集成集成集成可扩展性可扩展性可扩展性可扩展性性能性能性能性能学习成本低学习成本低学习成本低学习成本低管理成本低管理成本低管理成本低管理成本低工具紧密集成工具紧密集成工具紧密集成工具紧密集成方法论集成方法论集成方法论集成方法论集成客户化过程模板客户化过程模板客户化过程模板客户化过程模板集成第三方工具集成第三方工具集成第三方工具集成第三方工具远程开发远程开发远程开发远程开发健壮性健壮性健壮性健壮性 安全性安全性安全性安全性 可伸缩性可伸缩性可伸缩性可伸缩性创建新的团队项目给出工程名称给出描述构建门户网站加载方法论模板版本控制FirstTime团队门户网站Co
8、stMSFAgilevs.MSFCMMI敏捷版MSFAgile强调“进化和改变”依赖于人的持续改进灵活的计划CMMI版MSFCMMI强调“计划和优化”依赖于流程的改进强调预先计划CMMIQualityOrientedQualityOrientedAgileTeamFoundation团队基础服务工具集成项目管理工作项管理报表服务分析服务源代码管理变更管理变更追踪变更历史构建服务器项目门户基于TFS的团队工程包括:工作项项目文档报表构建数据版本控制集成:团队站点方法论指导报表服务Integrated项目管理文件夹项目管理文件的容器开发过程指导项目管理需求管理安全模板测试TFS应对项目管理的挑战确
9、保需求的覆盖率远程的团队协作与项目相关的文档管理获取团队工作的最新状态获取关键指标进行分析与报告何时开始,何时结束下一步做什么项目会成功还是失败?企业级的源代码管理企业级的源代码管理基于SQLServer支持http协议分支与合并Checkin原子性链接工作项静态代码分析代码覆盖率CleanBuildChangeset并发checkin书架工作区SCM传统方法普普 通通 方方 法法命令和控制方法命令和控制方法优点初始成本低灵活性好良好的跨功能沟通可预见性可重复性缺点总拥有成本高沟通困难缺乏可预见性不可重复性延迟发布和服务软件包复杂性和成本高灵活性差TFS进行源代码管理目标可扩展性高可用性支持远
10、程开发支持并行开发集成的Check-in策略可扩展性三层结构SQLServer2005500+用户高可用性签入策略安全远程开发HTTP协议代理服务器Visual Studio 2005MSSQL/TCPSOAP/HTTP(S)SourceCodeControlServiceVSTS Application TierSQLServer2005并行开发支持多个发行版本(MultipleReleases)分支合并多点签出(MultipleCheckouts)多人签出签入前合并void foo()void foo()void foo()void foo().void foo2()void foo2()
11、void foo2()void foo2()dev2 changesdev2 changesdev2 changesdev2 changes void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2()dev2 changesdev2 changesdev2 changesdev2 changes void foo()void foo()void foo()void foo()dev1 changesdev1 changesdev1 changesdev1 changes void f
12、oo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1 changes void foo2()void foo2()void foo2()void foo2().并行开发单点签出void foo()void foo()void foo()
13、void foo().void foo2()void foo2()void foo2()void foo2().D DE EV V1 1D DE EV V2 2void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1 changes void foo2()void foo2()void foo2()void foo2
14、().void foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1 changes void foo2()void foo2()void foo2()void foo2()dev2 changes dev2 changes dev2 changes dev2 changes B BL LOOC CK KE ED Dvoid foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().voi
15、d foo()void foo()void foo()void foo()dev1 changesdev1 changesdev1 changesdev1 changes void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1
16、 changes void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2()dev2 changesdev2 changesdev2 changesdev2 changes void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2()dev2 changes dev2 changes d
17、ev2 changes dev2 changes 并行开发多点签出void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().D DE EV V1 1D DE EV V2 2N NOOC COON NF FL LI IC CT Tvoid foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1 changes void foo2()void foo2()void foo2()void
18、 foo2()dev2 changes dev2 changes dev2 changes dev2 changes void foo()void foo()void foo()void foo()dev2 changesdev2 changesdev2 changesdev2 changes void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev2 changesdev2 changesdev2 changesdev2 changes void foo2()void fo
19、o2()void foo2()void foo2().void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev1 changesdev1 changesdev1 changesdev1 changes void foo2()void foo2()void foo2()void foo2().并行开发多点签出void foo()void foo()void foo()void foo().void
20、 foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1 changes void foo2()void foo2()void foo2()void foo2().D DE EV V1 1D DE EV V2 2void foo()void foo()void foo()void foo().void foo2()void foo2()void foo2()void foo2().C COON NF FL
21、 LI IC CT Tvoid foo()void foo()void foo()void foo()dev1 changes dev1 changes dev1 changes dev1 changes void foo2()void foo2()void foo2()void foo2().void foo()void foo()void foo()void foo()dev1 and dev2 changes dev1 and dev2 changes dev1 and dev2 changes dev1 and dev2 changes void foo2()void foo2()vo
22、id foo2()void foo2().SourceCodeControlParallelDevelopment多版本分支合并V 1.0V 1.0V 2.0V 2.0V 1.0V 1.0V 1.1V 1.1branchbranchmergemergemergemergestartstartBugsBugsRequirementsRequirementsIssues ListIssues ListChangeChangeRequestsRequestsCustomerCustomerRequestsRequests我们要管理的方面项目管理项目管理工作项追踪-需求任务缺陷风险变更请求问题评审-场
23、景任务质量缺陷风险四个客户端过期的过期的风险风险风险评估风险评估文档文档10大风险大风险3.规划规划 5.控制控制2.分析分析1.识别识别风险描述风险描述4.跟踪跟踪风险管理过程整个过程中必须不断更新整个过程中必须不断更新“风险评估文档风险评估文档”迭代的MSF过程模型通过把一个大的工程分解为多个版本来减低风险TimeFunctionalityVersion 1Version 2Version 3报表服务报表服务测试的有效性工作项进度与预期完成时间非计划的工作项工作项的反复测试团队的速度缺陷的发现与修改效率ProjectPortalProjectPortal基于WSS的项目门户构建服务器自动每
24、日构建静态代码分析运行自动测试自动生成报表安装部署方案客户化与定制构建过程Build Build initiated from initiated from TFSTFSPrepare build Prepare build machine&machine&Generate a Generate a BuildNameBuildNameGetGet sources sources Calculate Calculate code churncode churnProduce Produce build detailsbuild detailsPublish Publish buildbuild
25、UpdateUpdatework itemswork itemsCalculate Calculate code code coveragecoverageCompile and Compile and analyzeanalyzeExecuteExecuteteststests议程软件开发过程中的问题TeamFoundationServer实例展望实例背景某微软内部开发团队,人员17至21人之间角色:项目经理架构师开发人员测试人员支持人员实例背景开发团队所采用的测试和bug工作流过程实例背景整个SDLC流程都由以下工具来管理:MicrosoftVisualStudio.NET2003Micr
26、osoftVisualSourceSafe6.0MicrosoftOfficeProfessional2003MicrosoftOfficeProjectProfessional2003MicrosoftWindowsSharePointServicesInternalMicrosoft产品bug和问题跟踪应用程序实例需求熟悉的集成开发环境集成的工作流过程集成的管理集成的SCM解决方案集成的报告功能实例解决方案TeamFoundationServer的五个核心集成组件实例收益开发人员的时间得到了节约:借助VSTS,开发团队为开发人员节约了15%到20%的工时集成的SDLC流程:VSTS将整个S
27、DLC都整合到了单个解决方案中更好的团队协作与交流:开发团队中的所有成员都能实时地了解各自的工作项目以及每个项目的状态。集成的报告功能:VSTS所提供的集成报告基于经业界验证的最佳实践议程软件开发过程中的问题TeamFoundationServer实例展望广泛的业界支持参考参考资料料WorkingwithVisualStudio2005TeamSystemVisualStudio2005TeamSystem专家教程SoftwareEngineeringwithMicrosoftVisualStudioTeamSystem参考参考书籍籍2004MicrosoftCorporation.Allrightsreserved.Thispresentationisforinformationalpurposesonly.Microsoftmakesnowarranties,expressorimplied,inthissummary.