研发体系讨论

上传人:gb****c 文档编号:243423077 上传时间:2024-09-23 格式:PPT 页数:42 大小:890.50KB
返回 下载 相关 举报
研发体系讨论_第1页
第1页 / 共42页
研发体系讨论_第2页
第2页 / 共42页
研发体系讨论_第3页
第3页 / 共42页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,第九级,*,*,开发体系讨论,日期,: 2011,年,6,月,10,日,1,简介,现阶段公司研发结构,基于组件的研发体系,Maven,项目管理,组件及产品版本管理,Nexus,仓库管理,Hudson,持续集成,Junit,单元测试体系,【,后续,】,ASN1,讲解,【,后续,】,2,目标,规范好公司后续产品的研发体系,整理好公司服务器产品的公共组件,国富安,PKITool,(,PKCS,封装)、国富安,P11,组件,服务管理框架、,WebServices,组件,公共日志组件、通信组件,SAML,组件、证书验证组件,整理好公司产品研发的管理机制,3,现阶段公司研发结构,产品版本如何管理?,使用第三方依赖组件如果管理?,是否有公司的组件管理库?,产品是如果生产的?,研发内部单元测试是如何完成的?,产品的全用例测试是如何完成的?,4,基于组件的研发体系,架构,架构,=,组件、连接件、约束,组件,组件可以是一组代码、也可以是独立的程序。,连接件,过程调用、管道、消息等。用于组件之间的联系。,约束,组件连接时的条件。,5,简单组件模型实例,6,简单,CA,用例模型实例,7,CA,组件划分,8,演示业务处理流程,9,组件开发带来的问题,各个版本的组件如何管理?,公司的公共组件如何使用?,组件之间的关系如何管理?,如果统一装配组件?,10,开发体系结构,11,MAVEN2,引入,概念模型,Maven,维护了一个项目的模型,你不仅仅需要把源码编译成字节码,你还需要开发软件项目的描述信息,为项目指定一组唯一的坐标。你要描述项目的的属性。项目的许可 证是什么?谁开发这个项目,为这个项目做贡献?这个项目依赖于其它什么项目没有?,Maven,不仅仅是一个“构建工具”,它不仅仅是在类似于,make,和,Ant,的工具的基础上的改进,它是包含了一组关于软件项目和软件开发的语义规则的平台。,12,Maven2,主要功能,构建项目(,Builds,),文档编制(,Documentation,),报告(,Reporting,),依赖管理(,Dependencies,),配置管理(,SCMs,),发布管理(,Releases,),13,了解,Maven2,Maven2,的目标,使项目构建构成更容易;,提供统一构建系统;,提供高质量的项目信息;,提供开发的最佳实践指南;,能无缝的加入新的特性;,对,Maven2,的错误认识,Maven2,是一个站点和文档制作工具;,Maven2,扩展了,Ant,,使其可以下载到各种依赖包;,Maven2,是一系列可以重用的,Ant,脚本;,14,Maven2,监管项目生命周期,15,Maven2,如何工作,16,构建项目,Maven2,可以构建哪些类型的项目:,EAR,WAR,JAR,ZIP,EJB,自定义格式,说明:,EJB,项目,=JAR,项目,17,Maven,目录结构,src/main/java,Application/Library sources,src/main/resources,Application/Library resources,src/main/filters,Resource filter files,src/main/assembly,Assembly descriptors,src/main/config,Configuration files,src/main/webapps,Web application sources,src/test/java,Test sources,src/test/resources,Test resources,src/test/filters,Test resource filter files,src/site,Site,LICENSE.txt,Projects license,README.txt,Projects readme,18,使用标准目录的好处,所有项目的构建必须遵从标准目录结构;,使所有使用,Maven2,管理的项目从目录上看都是一样的;,便于管理,便于协作;,遵从业界统一标准,有助于团队管理;,19,pom.xml,的介绍,开发人员不需要关注,pom.xml,中的内容;,项目构建和管理人员需要编写,pom.xml,中的内容;,配置项目之间的依赖关系;,配置项目所需要使用的插件信息:如,ejb,,,javadoc,等等;,20,如何配置一个依赖关系,junit,junit,3.8.1,test,配置人员需要考虑使用什么,JAR,包?,版本号使多少?,所在生命周期是什么?,21,给项目配置人员的建议,自己先在本地将自己创建的项目创建成为,EclipseIDE,支持的项目(此过程将激活,Maven2,到本地资源库中查找依赖,如果依赖不存在则从网上的资源库下载,并放置到本地);,项目构建完成之后将下载到新的依赖项目放到本地服务器上;,将原,Maven2,构建成功的项目(不包含,Eclipse,特有文件:,project,,,classpath,文件)放到,CVS,上;,22,给开发人员的建议,自己从,CVS,上下载项目,在本地使用,mvn eclipse,:,eclipse,命令,创建成,EclipseIDE,项目;,不允许将,EclipseIDE,项目中特有文件传入,CVS,之上;,每个开发人员在本地自行维护一份,log4j,配置文件(放在,srctestresources,之下),此文件不允许打包,不允许传入,CVS,之上;,23,多模块企业级项目,24,Maven,开发演示,Maven,创建,ca-parent,项目,创建,CA,的各个子模块项目,将子模板的,jar,包发布到,Nexus,服务器,【,后面会讲解,Nexus】,将代码使用,CVS,管理,25,关于组件版本,项目版本,.-,例如:版本“,1.3.5”,由一个主版本,1,,一个次版本,3,,和一个增量版本,5,限定版本用来标识里程碑构建:,alpha,和,beta,发布,例如:版本“,1.3-,beta-01”,有一个主版本,1,,次版本,3,,和一个限定版本“,beta-01”,。,SNAPSHOT,版本,Maven,版本可以包含一个字符串字面量来表示项目正处于活动的开发状态。,LATEST,和,RELEASE,版本,26,仓库管理器,仓库管理器有两个服务目的:,首先它的角色是一个高度可配置的介于你的组织与公开,Maven,仓库之间的代理。,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方。,27,Nexus,的特性,代理远程仓库。配置,Nexus,代理中央仓库,其它任何公开的,Maven,仓库,将你组织内部的,Maven,配置指向,Nexus,,这样所有构件都将从,Nexus,下载,如果,Nexus,没有你要的构件,它会自动先去外部仓库下载到本地,仅一次。,本地宿主仓库。,Nexus,可以在服务器上建立本地的宿主仓库,你可以往这个仓库里提交任意的,Maven,规范构件,包括不能从公开仓库下载到的构件,或者你组织内部产生的构件。,28,Nexus,的特性,仓库组。有了仓库组,你就能将很多仓库聚合起来,对外公开一个统一的接口提供构件服务。,构件搜索。,Nexus,能下载远程的仓库索引,并在本地构件自己的仓库索引,有了该索引,你就能很快速方便的搜索任何你感兴趣的构件。,事情,RSS,源。,Nexus,服务器上发生的几乎任何事情,你都能用,RSS,监视,方便管理。,29,Nexus,的特性,Release,和,Snapshots,区分。配置,Nexus,提供,Release,构件服务或者,Snapshots,服务,能更清晰的管理构件。,路由。,Nexus,的路由能够管理为特定的请求提供特定的仓库。加入你在一个组中配置了很多仓库,一条路由能够极大提高某些特定请求的响应速度。,30,Nexus,的特性,上传构件。使用,Nexus,你能很方便的在,web,界面上上传一些特殊的构件至仓库。,高用户体验的,UI,。使用,AJAX,和,REST,技术开发的,Nexus,,在界面上为提供了很舒适的用户体验。,31,NEXUS,服务器演示,演示仓库的管理,创建自己的仓库,将,jar,包发布自己创建的仓库,使用自己发布到自己仓库的,jar,包,32,Hudson,持续集成,持续集成介绍,持续集成已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。,33,Hudson,持续集成,Hudson,帮助您的开发团队应对如下挑战:,软件构建自动化,构建可持续的自动化检查,构建可持续的自动化测试,生成后后续过程的自动化,34,Hudson,持续集成,软件构建自动化,使用,CI,,您只要按一下按钮,它会依照预先制定的时间表,或者针对某一特定事件,就开始对目标软件进行一次构建过程。想想吧,尤其您从头到尾构建一个构件的时候,这个构建过程应该不会是局限于某一特定,IDE,、电脑或者个人的。,CI,:,Continue Integration,35,Hudson,持续集成,构建可持续的自动化检查,CI,系统能够设定成持续地执行新增或修改后签入的源代码,也就是说,当软件开发 团队需要周期性的检查新增或修改后的代码时,,CI,系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力,(,说直接一点也是钱啊,呵呵,),。,36,Hudson,持续集成,构建可持续的自动化测试,一个构建检查的扩展部分,这个过程确保当新增或修改代码时不会导致预先制定的一套测试在构建构件后失败。构建检查和测试一样,失败都会触发通知单,(Email,RSS,等等,),给相关的当事人,告知对方一次构建或者一些测试失败了。,37,Hudson,持续集成,生成后后续过程的自动化,一旦自动化检查和测试的构建已经完成,一个软件构件的构建周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。,38,CI,系统基本结构,39,Hudson,演示,演示,Hudson,的基本功能,40,后续安排,Junit,单元测试推广,ASN1,讲解,41,结束,感谢大家参加此次讨论,Q&A,42,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!