资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向构件的开发过程与项目管理,方法与实践,普元软件,2024/11/26,目录,EOS,应用项目开发过程介绍,EOS,应用项目的组织结构和角色定义,EOS,应用项目开发过程,其他工具和方法,面向构件方法在某大型企业的实践,面向构件的生产管理,面向构件的体系架构,-,构件组装模型,数据模型,运算构件,业务流程,数据总线,逻辑构件,展现构件,构件系统,构件子系统,X,构件子系统,Z,构件子系统,Y,业务构件,A,业务构件,C,业务构件,B,业务构件,D,EOS,构件库,工作流,组织架构,数据服务,权限控制,页面控件,面向构件的体系架构,-,构件系统模型,面向构件的体系架构,-,构件部署模型之二,构件虚拟机,部署管理,开发环境,构件包,导入,/,导出,读取,上传,&,部署,HTTP,部署,(Local/Remote),应用开发过程说明,EOS,应用属于标准的,J2EE,应用,应用过程将以,J2EE,应用项目过程为参照,本文档旨在为,EOS,应用项目的开发团队提供一种轻量级的敏捷开发方法,本方法通过与,EOS,产品的配合,经过了多个客户验证可以有效解决目前大型应用软件建设普遍头疼的一些问题 ,包括:,如何保证项目周期及其紧张的情况下,项目得以快速高质量的实施,如何在开发期和维护期,加强对开发团队和应用系统的管控能力,如何在快速响应业务变化的同时,保持系统架构的稳定性,如何采用面向构件的方法进行企业级系统的规划和建设,所提供的开发方法并非,EOS,应用开发的唯一方法,企业应用软件生命周期,需求: 明确软件开发的任务,形成所有相关涉众(如客户、用户、项目组)共同认可的软件需求规格。需求规格需明确功能需求、质量属性、约束条件等需求的所有方面。,设计:针对需求进行分析设计,形成项目组的设计说明书和功能清单。,开发:在设计说明的指导下完成应用的实现。,测试:针对实现的应用进行系统良好性的验证,可能包含的测试工作如:功能测试、系统测试、集成测试、性能测试等。,集成、部署:主要完成系统在用户环境中上线,并通过用户培训,将应用系统交付用户使用。,运行维护:系统上线后的日常维护,系统功能调整和新增,系统健康检查等,划分阶段的目标并非表明各个阶段是独立进行,时间也非串行,而是区分工作内容和工作侧重点的方法,目录,EOS,应用项目开发过程介绍,EOS,应用项目的组织结构和角色定义,EOS,应用项目开发过程,其他工具和方法,面向构件方法在某大型企业的实践,面向构件的,IT,组织结构,项目级实施的项目组织架构,规划级实施的项目组织架构,EOS,应用项目角色说明,角色代表工作职责划分,细分角色的目的是为了了解在应用项目实施过程中,存在哪些工作,需要由什么样知识结构、经验、技能的人承担,角色分类,关键角色,支持角色,其他角色,EOS,应用项目,关键角色,项目经理,开发经理,架构师,业务专家,主程序员,构件包所有者,系统维护人员,关键角色是项目实施过程的主体,是实现应用系统从无到有的生产者和管理者,是项目实施成功与否的直接关系人。项目的绝大部分活动都是关键角色完成的。,EOS,应用项目,支持角色,EOS,专家,测试人员,配置管理人员,系统管理员,数据库管理员,支持角色对项目实施起辅助作用,但并不表明此类角色在项目中可以缺失,在某种程度上,支持角色能够成为项目有效实施的强大后盾。,EOS,应用项目,其他角色,美工,文档人员,并不是每个项目都需要这类角色,但对于某些项目而言,某些角色也是非常重要的。,练习一,根据培训分组,建立项目组织结构,并为组员指定项目角色,明确相关职责,建立各个主体之间的分工界面,时间:,40,分钟,目录,EOS,应用项目开发过程介绍,EOS,应用项目的组织结构和角色定义,EOS,应用项目开发过程,其他工具和方法,面向构件方法在某大型企业的实践,EOS,应用过程描述方法,ETOCXT,方法:,Entry,(进入条件):为每个阶段定义清晰良好的入口条件;,Task,(工作任务):列出所有要实现的任务列表,名称,是否需要实现,任务描述;,Output,(输出内容):阶段工作的输出产物以及评审内容;,Control Point,(阶段控制点):本阶段中为保证项目成功的关键控制点;,eXit,(退出条件):阶段结束时所要达到的结果,注意,阶段退出条件并不意味下一阶段进入条件,因为下一阶段可能在上一阶段并未结束的情况下就已经启动了;,Template,(参考模板):本阶段可供参考的文档模板或参考案例,开发过程,:,需求阶段,Entry,(进入条件),确定项目经理和需求调研人员,需求工作的条件成熟:有初始的需求材料(如合同等),与用户确定了具体的需求调研安排,开发过程,:,需求阶段,Task,(工作任务),面向构件的需求分析,开发过程,:,需求阶段,Output,(输出内容),需求调研的会议纪要,项目需求规格说明书,项目实施总体计划,项目管理方案,项目变更方案,,,项目变更控制表,Control Point,(阶段控制点),需求范围的控制,项目资源的协调,开发过程:需求阶段,eXit(退出条件),项目需求规格说明书,获得用户签字认可。,项目组所明确的用户需求基本完备,能够进入到设计阶段。,Template,(参考模板),项目需求规格说明书,需求调研会议纪要,项目工作周报,项目管理方案,项目变更方案,项目变更控制表,项目工作量评估,(1),功能点划分原则,标准一致(不同的划分标准对下面经验值的数值有影响),专家评估法(或许更接近实际),参数值说明,分为:项目规模评估值、项目团队能力经验评估值、资源投入数据,各个阶段所列指标并非表明该阶段只有与指标项相关的工作,其他次要内容的工作量分摊到所列指标项工作中,其他,集成部署阶段在本模型中细分为集成测试和上线两个阶段,保守工作日(量)是考虑了项目有效工时状况下的评估值,项目工作量评估,(2),通过设置相关资源投入、经验值、项目规模,自动产生工作量和时间计划,练习二,根据提供的需求材料,进行工作量的评估,针对评估结果进行陈述,时间:,30,分钟,开发过程,:,设计阶段,Entry,(进入条件),已掌握应用项目的基线性需求,即使存在部分不确定的需求,但该部分飘浮不定的需求不足以对应用架构产生大的影响;,设计人员到位,使得工作的开展有人力的保障。,开发过程,:,设计阶段,Task,(工作任务),面向构件的业务分解与构件化,开发过程,:,设计阶段,Output,(输出内容),数据库设计(,ER,关系)、业务字典定义,系统静态原型,系统设计说明书,系统功能分解矩阵,经过项目客户化后的,EOS,模板文件,项目配置管理方案,技术课题预研的结论或者使用指南,EOS,初始项目源码,项目开发规范,设计阶段计划,开发过程:设计阶段,Control Point,(阶段控制点),确保系统设计的质量,对于良好的系统设计,应该满足如下要求:,应用总体设计思路清晰,应用结构简洁合理,功能设计可实现性强,完整统一、操作性强的项目开发规范,有效合理的需求变更控制,开发过程:设计阶段,eXit(退出条件),系统设计工作内容通过评审,Template,(参考模板),系统设计说明书,参考模板,项目开发规范,参考模板,系统静态原型,功能分解与跟踪矩阵,参考模板,面向构件开发规范,命名规范,系统词汇表:英文缩写与系统名词的对应,目录命名规范,文档命名规范,构件命名规范,数据库命名规范,开发规范,EOS,构件开发规范,运算构件开发规范,业务构件开发规范,展现构件开发规范,页面构件开发规范,数据库设计规范,构件库使用规范,公共构件使用规范,公共构件设计规范,配置管理规范,版本管理规范,BUG,管理规范,练习三,根据提供的需求材料,进行功能分解,建立功能矩阵,并进行工作分配,针对联系二的工作量评估进行一次迭代,小组成果陈述,时间:,60,分钟,开发过程,:,开发阶段,Entry,(进入条件),设计所提供的内容已经明确,可以进行实现,开发环境已经确定,开发人员到位,面向构件的开发,开发过程,:,开发阶段,Task,(工作任务),开发过程,:,开发阶段,Output,(输出内容),开发阶段计划,项目源码,项目实现的文档(,EOS Studio,产生),项目走查记录,Control Point,(阶段控制点),人员管理,关注,EOS,学习曲线,开发进度的控制和开发团队的协调,开发规范的执行状况,需求变更的严格控制,开发过程:开发阶段,eXit(退出条件),代码开发全部完成,并且提交。,Template,(参考模板),数据库变更管理,参考模板,练习四,根据提供的,EOS,项目生成文档,结合,EOS,应用项目开发规范,进行代码走查,并提供走查报告,小组成果陈述,时间:,40,分钟,开发过程,:,测试阶段,Entry,(进入条件),开发工作有序进行,并且已经有成果提交,测试人员到位,面向构件的软件测试,开发过程,:,测试阶段,Task,(工作任务),开发过程,:,测试阶段,Output,(输出内容),测试阶段计划,测试方案与测试案例,测试报告,BUG,列表,Control Point,(阶段控制点),测试的进展状况和与开发的工作协调,Bug,的曲线走势和修正状况,需求变更的控制,开发过程:测试阶段,eXit(退出条件),按照测试方案完成测试,系统基本达到测试目标 。,Template,(参考模板),系统测试方案与测试案例,参考模板,系统测试报告,参考模板,开发过程,:,集成、部署阶段,Entry,(进入条件),系统经过内部的测试,具备在用户环境进行部署和进行集成测试的条件。,用户集成测试环境具备(场地、硬件、软件等),第三方接口系统具备联调条件,开发过程,:,集成、部署阶段,Task,(工作任务),开发过程,:,集成、部署阶段,Output,(输出内容),系统集成测试报告,用户使用手册,系统维护手册,项目验收报告,系统上线用户须知,Control Point,(阶段控制点),协调外围系统,进行集成测试,把握系统需求实现情况,推进系统验收,开发过程:集成、部署阶段,eXit(退出条件),系统通过用户的验收(初验)并交付给维护人员。,系统进入试运行阶段。,Template,(参考模板),用户使用手册,参考模板,系统维护手册,参考模板,应用过程,:,运行维护阶段,Entry,(进入条件),系统经过内部的测试,具备在用户环境进行部署和进行集成测试的条件。,用户集成测试环境具备(场地、硬件、软件等),第三方接口系统具备联调条件,面向构件的系统维护,Task,(工作任务),应用过程,:,运行维护阶段,Output,(输出内容),系统试运行计划,试运行问题及处理报告,系统推广计划,系统试运行报告,系统巡检报告,Control Point,(阶段控制点),试运行,eXit(退出条件),系统生命周期结束,Template,(参考模板),无,应用过程,:,运行维护阶段,eXit(退出条件),系统通过用户的验收(初验)并交付给维护人员。,系统进入试运行阶段。,Template,(参考模板),用户使用手册,参考模板,系统维护手册,参考模板,应用过程,:,运行维护阶段,目录,EOS,应用项目开发过程介绍,EOS,应用项目的组织结构和角色定义,EOS,应用项目开发过程,其他工具,与方法,面向构件方法在某大型企业的实践,其他:人员管理,“,人”是决定项目成败的关键因素,其他:进度管理,其他:并行开发,其他:,EOS,学习曲线,EOS,学习曲线入门期,定义,接受了,EOS,产品理念和产品介绍,产生的学习冲动,从接受,EOS,培训,到开始正式的应用开发之后的,一段时期,针对不同经验和不同学习能力的人,此阶段需要经历,5,20,天左右时间,特征,1,、刚刚学习使用,EOS,,对产品的理解和产品使用的熟悉程度上都处于初级阶段,开发时常常不知从哪着手;,2,、简单的功能做起来都不能得心应手,开发人员缺乏成就感,3,、大量的时间花费在对故障的处理上,工作效率很低,很多人认为甚至不如自己编码,4,、从项目团队角度来看,这个阶段往往开发人员一方面要理解和消化需求、设计,一方面又要学习,EOS,的使用,整个团队的效率也相对低下基于以上特点,有人戏称这个阶段为,“,郁闷期,”,现象,1,、除了使用开发向导生成一些简单表的增删改查以为,遇到稍微业务化的需求就不知道如何实现,不知道使用什么构件来实现自己的业务逻辑,总以为没有符合自己要求的运算构件,2,、开发过程中遇到异常现象时(例如某个功能原来可以,现在不能用了等),缺乏对异常分析的能力,往往采取的措施为:重启,Server,,重启,Studio,,重启操作系统,重装,EOS,,而本身这种行为并不能提升开发者解决问题的能力,同时耗费了大量的时间,3,、基于,EOS,概念描述问题的能力比较差,如果支持人员不是亲临现场,很难明白开发人员问题描述的真正含义,4,、并不十分清楚,EOS,能做到什么,不能做到什么,5,、使用时不按正常程序出招,有时会带出产品的,BUG,,而缺乏识别产品,BUG,的能力,往往以为是自己的问题;另一个反面是有些人往往因为使用不当的问题马上就认为是产品的问题,跨越之道,1,、接受,EOS,产品的深入培训或自学程序员教程,师傅带入门,2,、仔细阅读程序员教程中关于原理部分的内容,结合手边的开发任务深刻领会特点,思考帮助成长,3,、有,EOS,的技术专家现场的指导(一个很小的问题,自己琢磨可能是半天的功夫,别人的指点可能就是,2,分钟),指导提升效率,4,、参考,EOS,提供的组织机构权限管理的开源项目,学习,EOS,编程模式和应用实现方法,榜样的力量无穷,5,、通过,gocom,社区搜索相应的知识,前车之鉴后车之师,6,、多动手多实践多思考多总结,这才是最关键的,EOS,学习曲线积累期,积累期,定义,经历了入门期,具备,EOS,一定使用经验后,继续使用,EOS,进行应用开发的一段时期,本阶段根据项目的紧张程度、项目团队的学习氛围、开发个体的自我学习能力的不同,需要经历,1,3,个月左右时间。,特征,1,、积累了一定的使用经验,对产品理解加深,基本的功能开发能够应付,有了较好的成就感,2,、项目团队开发效率稳步上升,提升的曲线比较陡峭,3,、初步建立基于,EOS,编程的思考方法,常见的功能需求知道如何通过,EOS,实现,4,、相对复杂的业务需求和技术要求仍然无法独立解决,现象,1,、基本上知道了,EOS,能做什么,不能做什么,但对于不能做到的部分常常不知如何实现,2,、一般的功能需求能够比较顺利的实现,但实现方法(算法)缺乏过多的思考,3,、总是发觉自己能悟到一些什么,感觉自己有越来越多的经验和体会,4,、别人点拨一下似乎就明白该如何做了,5,、程序开发中经常因为粗心犯一些小错误,但自己能很快通过调试发现并解决问题,6,、能够正常识别开发中遇到的问题是自己使用的问题还是产品,BUG,导致的,跨越之道,如果要快速完成积累,有如下方法:,1,、指定经验丰富的人作为导师,能够很方便获得指导或者点拨,2,、通过,gocom,社区寻找自己需要的解决方案,或者发布自己的问题,3,、通过客服部门寻求对问题的解决方案,4,、多动手多思考多总结,仍然是最关键的注:积累期遇到的问题本身就是一个解决方案级或者产品级的问题,有一定的时间周期,不同于入门期的初级问题,EOS,学习曲线高效期,高效期,定义,跨越了入门期和积累期,熟练掌握,EOS,原理和技巧,并能融会贯通熟练使用的时期,特征,1,、完全理解,EOS,基于,XML,总线编程的思路,并能在开发中充分利用这一思路设计相应的业务算法,2,、具有丰富的使用经验,能够独立研究(或主导研究)复杂问题的解决方案,3,、开发效率很高,4,、能够在,EOS,现有的机制或构件库上进行扩展,现象,1,、遇到业务需求时,脑子中很快能出现如何用,EOS,实现的方案,2,、总能找到别一般人更好的实现方案,编写的逻辑精炼、高效、复用度高,3,、能够给别人提供技术指导,4,、一般人需要,3,天完成的开发工作,他可能只需要一天就够了,5,、开发中较少使用调试,程序一次性通过率高,6,、已经清楚知道产品能做什么、不能做什么,对于不能做的部分可以找到其他的解决方案,7,、清楚知道产品存在的不足,知道使用其他方法绕过去,8,、经常向团队或他人分项使用技巧或经验,跨越之道,为提升使用层次,建议高效期的人员,1,、建议归纳、总结,形成一些设计模式和方法论或者经验知识库,2,、提供产品发展的建议,目录,EOS,应用项目开发过程介绍,EOS,应用项目的组织结构和角色定义,EOS,应用项目开发过程,其他工具与方法,面向构件方法在某大型企业的实践,交通银行信息系统建设的背景和现状,金融行业同业竞争激烈,人员规模中等,信息系统多、业务和管理系统复杂度大,业务部门需求变化快,需要技术部门更快响应,多个项目同时开发难、工作量大,维护部门需要管理众多的软件开发商,维护各式各样的系统,平台架构选型历程,方案一:购买成型套装软件,不能满足业务需求,不能性能问题,方案二:建立自己的统一架构平台,投资大、成本高,人员流失风险、维护成本大,需要技术团队跟进技术发展方向,方案三:选择第三方架构平台,平台架构先进性、开放性、扩展性、性能、稳定,业务的快速构建、适应业务变化,技术前瞻性,发展趋势,客户综合信息系统作为银行总行,全行管理部门的用户对客户综合信息的共享平台。,系统分二期建设,分别由不同的开发商承建。,系统简介:,面向构件,IT,系统建设过程项目级使用,尝试项目,-,客户综合信息系统(,CIIS,),项目级结论,项目建设周期大大缩短(一期,4,人*,3,人月),同一个项目引入了多个团队增量式分期实施,并且能够进行统一的项目管理,能快速响应业务的需求变化,项目维护方便,运行期间运行稳定、无宕机现象,单项目实施局限,面向构件只在项目中有体现,无法提高,IT,信息部门整体建设能力,无法做到整体规划和多系统整合能力,不能够在系统整体规划上提升企业信息系统复用能力,面向构件,IT,系统建设过程规划级实施,统一软件架构(,EOS,),统一,IT,组织架构图、项目管理规范、开发规范,多个不同业务应用集成商构成,IT,建设生态链,统一数据接口模式,统一用户角色权限、机构树,建立统一复用机制,统一的软件架构,SI,及,ISV,面向构件的中间件,普元,EOS,TM,J2EE,应用服务器,JBoss, WebLogic, WebSphere, iAS,Windows, Unix, Linux,Intel IA, RISC,数据库服务器,Oracle, DB2, SQL Server, Sybase,管理系统,人力资源,业务标准文档,管理会计,业务系统,财富系统,(oCRM),审计管理系统,资金管理系统,客户综合信息,资产风险管理,aCRM,企业年金管理系统,国际台帐结算,产品定价,项目组织架构,统一项目组织机构,统一软件过程,统一项目开发规范,软件过程标准化规范化,开发规范,编写逻辑图规范,java,代码开发规范,jsp,编写规范,页面开发规范,E-R,模型表、字段命名规范,构件包命名规范,逻辑命名规范,。,文档规范,系统风险管理方案,系统需求规格说明书,系统概要设计说明书,系统功能分解与跟踪矩阵,(WBS),系统需求变更方案与变更表,系统测试方案与测试案例,系统测试报告,系统用户使用手册,项目周报,会议记要,。,EOS,页面开发流程,开发人员,分析设计人员,模板管理,页面布局模板,CSS,样式模板,控件模板,功能模板,导出模板,分发模板,数据实体设计,导入模板,页面向导,设计视图,源代码视图,页面调试,业务构件开发,展现构件开发,构件调试,美工,页面风格设计,页面规范与重用页面框架,页面顶端,快捷图标,主菜单,操作区,页面规范与重用页面风格,title,head,content,查询,表单,结果,列表,head,content,select,分页,按钮,页面规范与重用页面风格,多个不同开发商组成,IT,建设生态链,统一的开发商认证(普元授权证书),EOS,程序员、高级程序员认证,普元,EOS,技术支持和项目管理咨询服务,公共模块设计与开发,统一权限系统,统一组织机构管理,SSO,登录,统一业务日志管理,工具(上传文件、码表管理),规划级实施带来的效果,IT,管控能力的大大提升,软件质量的整体提高,公用模块的积累、项目之间的复用度,软件实施的周期得到严格控制和执行,面向构件的,IT,建设的路线图,项目级,1-3,个项目的实施,快速构建缩短项目周期,灵活调整大幅度提高需求变更响应速度,构件组装复用提升稳定度、保障性能平稳,规划级,多个项目的实施,统一项目管理,统一软件架构,统一软件过程,回归级,多个项目的成功实施,系统之间整合,知识库、构件库建设,项目经验值的获取,应用整合通过规划,主动知识积累,企业,IT,能力整体提升,统一数据模式和权限模型方便信息集成和权限整合,统一框架减少技术风险,降低软件管理复杂度,方便整体运行管理,统一的构件库规划和管理沉淀企业构件库,加速企业,IT,系统建设,统一面向构件的项目管理和软件过程方法方便项目管理控制,保障软件质量,面向构件的,IT,建设的路线图,项目级,1-3,个项目的实施,快速构建缩短项目周期,灵活调整大幅度提高需求变更响应速度,构件组装复用提升稳定度、保障性能平稳,规划级,业务构件的统一规划,多个项目的实施,统一项目管理,统一软件架构,统一软件过程,回归级,多个项目的成功实施,系统之间整合,知识库、构件库建设,项目经验值的获取,人力资源的合理配置,提升应用之间的整合能力,实现软件资产的持续积累,降低,IT,投入成本,减弱了项目实施风险,加强,IT,的管控,统一数据模式和权限模型方便信息集成和权限整合,统一框架减少技术风险,降低软件管理复杂度,方便整体运行管理,统一的构件库规划和管理沉淀企业构件库,加速企业,IT,系统建设,统一面向构件的项目管理和软件过程方法方便项目管理控制,保障软件质量,公司网站,:,面向构件社区:,O,pen,E,njoy,S,imple,EOS,is ,
展开阅读全文