资源预览内容
第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
第9页 / 共65页
第10页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
面向构件的开发过程与项目管理面向构件的开发过程与项目管理方法与实践方法与实践袁义普元软件 2024/7/26目录EOSEOS应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍EOSEOS应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义EOSEOS应用项目开发过程应用项目开发过程应用项目开发过程应用项目开发过程其他工具和方法其他工具和方法其他工具和方法其他工具和方法面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践典型的软件开发场景面向构件的生产管理面向构件的体系架构-构件组装模型运算逻辑运算逻辑 业务流业务流数数据据上上下下文文逻辑流逻辑流页面流页面流页面页面构件系统构件系统构件子系统构件子系统 X构件子系统构件子系统 Z构件子系统构件子系统 Y业务构件业务构件A业务构件业务构件C业务构件业务构件B业务构件业务构件DEOS构件库构件库工作流工作流组织架构组织架构数据服务数据服务权限控制权限控制页面控件页面控件面向构件的体系架构-构件系统模型面向构件的体系架构-构件部署模型构件包构件包导入导入/导出导出读取读取上传上传&部署部署HTTP部署部署(Local/Remote)应用开发过程说明EOS应用属于标准的J2EE应用,应用过程将以J2EE应用项目过程为参照本文档旨在为EOS应用项目的开发团队提供一种轻量级的敏捷开发方法 本方法通过与EOS产品的配合,经过了多个客户验证可以有效解决目前大型应用软件建设普遍头疼的一些问题 ,包括:如何保证项目周期及其紧张的情况下,项目得以快速高质量的实施如何在开发期和维护期,加强对开发团队和应用系统的管控能力如何在快速响应业务变化的同时,保持系统架构的稳定性如何采用面向构件的方法进行企业级系统的规划和建设 如何采用SOA的架构更好的建立系统之间的互联互通所提供的开发方法并非EOS应用开发的唯一方法 企业应用软件生命周期需求: 明确软件开发的任务,形成所有相关涉众(如客户、用户、项目组)共同认可的软件需求规格。需求规格需明确功能需求、质量属性、约束条件等需求的所有方面。设计:针对需求进行分析设计,形成项目组的设计说明书和功能清单。开发:在设计说明的指导下完成应用的实现。测试:针对实现的应用进行系统良好性的验证,可能包含的测试工作如:功能测试、系统测试、集成测试、性能测试等。集成、部署:主要完成系统在用户环境中上线,并通过用户培训,将应用系统交付用户使用。 运行维护:系统上线后的日常维护,系统功能调整和新增,系统健康检查等 划分阶段的目标并非表明各个阶段是划分阶段的目标并非表明各个阶段是独立进行,时间也非串行,而是区分独立进行,时间也非串行,而是区分工作内容和工作侧重点的方法工作内容和工作侧重点的方法目录EOSEOS应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍EOSEOS应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义EOSEOS应用项目开发过程应用项目开发过程应用项目开发过程应用项目开发过程其他工具和方法其他工具和方法其他工具和方法其他工具和方法面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件的IT组织结构项目级实施的项目组织架构规划级实施的项目组织架构EOS应用项目角色说明角色代表工作职责划分,细分角色的目的是为了了解在应用项目实施过程中,存在哪些工作,需要由什么样知识结构、经验、技能的人承担 角色分类关键角色支持角色其他角色EOS应用项目关键角色项目经理开发经理架构师业务专家主程序员开发人员系统维护人员 关键角色是项目实施过程的主体,是实现应用系统从无到有的生产者和管理者,是项目实施成功与否的直接关系人。项目的绝大部分活动都是关键角色完成的。EOS应用项目支持角色EOS专家测试人员配置管理人员系统管理员数据库管理员 支持角色对项目实施起辅助作用,但并不表明此类角色在项目中可以缺失,在某种程度上,支持角色能够成为项目有效实施的强大后盾。 EOS应用项目其他角色美工文档人员 并不是每个项目都需要这类角色,但对于某些项目而言,某些角色也是非常重要的。练习一根据培训分组,建立项目组织结构,并为组员指定项目角色,明确相关职责,建立各个主体之间的分工界面时间:40分钟目录EOSEOS应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍EOSEOS应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义EOSEOS应用项目开发过程应用项目开发过程应用项目开发过程应用项目开发过程其他工具和方法其他工具和方法其他工具和方法其他工具和方法面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践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(参考模板) 用户使用手册参考模板系统维护手册参考模板 应用过程:运行维护阶段目录EOSEOS应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍EOSEOS应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义EOSEOS应用项目开发过程应用项目开发过程应用项目开发过程应用项目开发过程其他工具其他工具其他工具其他工具与方法与方法与方法与方法面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践其他:人员管理“人”是决定项目成败的关键因素其他:进度管理其他:并行开发其他:EOS学习曲线EOS学习曲线入门期定义接受了EOS产品理念和产品介绍,产生的学习冲动,从接受EOS培训,到开始正式的应用开发之后的一段时期,针对不同经验和不同学习能力的人,此阶段需要经历520天左右时间特征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进行应用开发的一段时期,本阶段根据项目的紧张程度、项目团队的学习氛围、开发个体的自我学习能力的不同,需要经历13个月左右时间。特征1、积累了一定的使用经验,对产品理解加深,基本的功能开发能够应付,有了较好的成就感2、项目团队开发效率稳步上升,提升的曲线比较陡峭3、初步建立基于EOS编程的思考方法,常见的功能需求知道如何通过EOS实现4、相对复杂的业务需求和技术要求仍然无法独立解决现象1、基本上知道了EOS能做什么,不能做什么,但对于不能做到的部分常常不知如何实现2、一般的功能需求能够比较顺利的实现,但实现方法(算法)缺乏过多的思考3、总是发觉自己能悟到一些什么,感觉自己有越来越多的经验和体会4、别人点拨一下似乎就明白该如何做了5、程序开发中经常因为粗心犯一些小错误,但自己能很快通过调试发现并解决问题6、能够正常识别开发中遇到的问题是自己使用的问题还是产品BUG导致的跨越之道如果要快速完成积累,有如下方法:1、指定经验丰富的人作为导师,能够很方便获得指导或者点拨2、通过gocom社区寻找自己需要的解决方案,或者发布自己的问题3、通过客服部门寻求对问题的解决方案4、多动手多思考多总结仍然是最关键的注:积累期遇到的问题本身就是一个解决方案级或者产品级的问题,有一定的时间周期,不同于入门期的初级问题EOS学习曲线高效期高效期定义跨越了入门期和积累期,熟练掌握EOS原理和技巧,并能融会贯通熟练使用的时期特征1、完全理解EOS基于SOA和构件编程的思路,并能在开发中充分利用这一思路设计相应的业务算法2、具有丰富的使用经验,能够独立研究(或主导研究)复杂问题的解决方案3、开发效率很高4、能够在EOS现有的机制或构件库上进行扩展现象1、遇到业务需求时,脑子中很快能出现如何用EOS实现的方案2、总能找到别一般人更好的实现方案,编写的逻辑精炼、高效、复用度高3、能够给别人提供技术指导4、一般人需要3天完成的开发工作,他可能只需要一天就够了5、开发中较少使用调试,程序一次性通过率高6、已经清楚知道产品能做什么、不能做什么,对于不能做的部分可以找到其他的解决方案7、清楚知道产品存在的不足,知道使用其他方法绕过去8、经常向团队或他人分项使用技巧或经验跨越之道为提升使用层次,建议高效期的人员1、建议归纳、总结,形成一些设计模式和方法论或者经验知识库2、提供产品发展的建议目录EOSEOS应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍应用项目开发过程介绍EOSEOS应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义应用项目的组织结构和角色定义EOSEOS应用项目开发过程应用项目开发过程应用项目开发过程应用项目开发过程其他工具与方法其他工具与方法其他工具与方法其他工具与方法面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践面向构件方法在某大型企业的实践公司网站公司网站: : 面向构件社区:面向构件社区:OpenEnjoySimpleEOS is
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号