项目总结第十七章项目总结项目总结简述代码复用总结项目结项进入标志合同类项目——合同所含的所有工程都通过竣工测试,每个工程均有用户正式确认的竣工报告;新产品项目和产品升级类项目——通过系统测试,系统试运行取得用户正式确认的验收报告,或通过Beta测试,其中发现的缺陷均得到处理。项目总结目的通过项目分析、总结和会审,对项目工作进行评价,使项目组的经验成为机构过程资产,并促进软件过程的不断改进。通过技术归档,为公司加强知识产权保护提供了依据,不断增加公司的技术积累。通过技术交接,为做好产品进入市场后所必需的产品维护和客户服务做好必要的准备。通过产品会签和发布,确保公司向用户提供符合市场需求的软件产品。解决公司级问题丰富公司资产库;产品投入正常使用,减小公司应承担的售后服务压力;建立与用户的长期合作关系;项目团队及每一个相关人员的绩效评价;项目管理的成功经验和失败教训作为无形资产长期积累;项目成果的进一步产品化,已有产品的进一步商品化;第十七章项目总结项目总结简述代码复用总结项目结项代码复用总结目的代码复用总结的目的是收集项目中的完成特定功能的代码,编辑成册,为其他项目组提供参考和借鉴,减少后续系统的开发工作,减少相同功能代码的开发工作。既提高了效率,又节约了成本。代码复用主要有两种形式,即二进制代码复用与源代码复用。1.代码重用要先从在当前项目中实现代码重用开始。2.应该从小模块开发。3.可重用的代码一定跟业务无关,跟业务相关的代码无法重用。到了代码阶段只有算法和逻辑,不要将业务引入代码重用。4.对接口编程。5.优先使用对象组合,而不是类继承。6.将可变的部分和不可变的部分分离。7.减少方法的长度;消除case/if语句;减少参数个数。8.类层次的最高层应该是抽象类。9.尽量减少对变量的直接访问。10.子类应该特性化,完成特殊功能。11.拆分过大的类;作用截然不同的对象应该拆分。12.尽量减少对参数的隐含传递。代码复用原则1、改写类的实例方法任何方法,只要它执行的是某个单一概念的任务,就其本身而言,它就应该是首选的可复用代码。为了重用这种代码,我们必须回归到面向过程的编程模式,把类的实例方法移出成为全局性的过程。为了提高这种过程的可复用性,过程代码应该象静态工具方法一样编写:它只能使用自己的输入参数,只能调用其他全局性的过程,不能使用任何非局部的变量。2、把参数类型改成接口代码复用真正的要点在于通过接口参数类型利用多态性,而不是通过类继承。从技术上说,可重用的是方法,而不是传递给方法的对象。选择最简单的参数接口类型;描述参数对象要求的接口越简单,其他类实现该接口的机会就越大。代码复用技术代码复用总结流程①每个项目成员总结自已开发过程中用到的算法、类、方法、函数等可以被其他项目借鉴或复用的代码段。按用途、功能等分门别类,撰写《代码复用总结》。要求能清楚的知道代码的功能,用处,实现的算法,测试的方法等。②项目经理组织项目成员讨论每个成员的《代码复用总结》,提炼出真正有意义的可复用的代码,编写出本项目的《代码复用总结》。③评审《代码复用总结》:项目经理组织项目成员对《代码复用总结》进行评审④通过评审后,将项目的《代码复用总结》,提交EPG,作为过程改进的项目贡献,由EPG整理,收入机构级代码复用库。实施指南—前提统一的代码规范。员工高度的代码复用意识。员工的编码水平。公司和员工级的高水平的代码库。实施指南—两阶段复用以前的代码一方面每个项目组的开发人员,在开发过程中,从公司或个人的代码库中提取可以直接利用的代码;另一方面,参考代码库中的代码和思想,加以修改和利用,写出适用于当前项目的代码。提取代码以备复用每个项目成员总结自已开发过程中用到的算法、类、方法、函数等可以被其他项目借鉴或复用的代码段。按用途、功能等分门别类,撰写《代码复用总结》。实施指南—复用过程了解代码库每个项目成员在了解了项目设计之后,开始代码编写之前,快速浏览公司级的代码库,可以看分类部分,主要目的是了解有哪些方面的代码库,为以后开发过程中能记得公司的代码库是否有类似的代码作准备。了解代码规范熟读本公司的代码规范,在开发过程中严格按代码规范来编码,改变自己编码的习惯。了解代码复用原则在开发过程中,通过学习,了解代码复用的原则,尽可能地以此为准来编写代码。实施指南—复用过程(续)参考代码库来编写代码在编写代码过程中,可以借鉴公司或个人的代码库来编写代码,通过自己了解的方法,活用这些以前编写好的代码。开发过程中的交流在开发过程中,与同事交流,参考同事的同功能的代码来编程。开发结束后的总结在开发结束后,总结自己的代码,提取可以借用的部分,作为公司或个人的代码库。项目成员可以用讨论的方式来总结代码的提取。这样有利于代码的提炼。提取的代码要有完备的代码说明,有举例等。实施指南—复用过程(续)评估复用代码项目成员在总结出自己的可复用代码之后,项目经理应组织人员对可复用的代码进行评估,去其糟粕取其精华,得到真正的可以复用的代码,并提交给公司代码库的相应管理人员。管理公司级的代码库EPG人员对公司级代码库进行管理,增加、备份和提取管理。第十七章项目总结项目总结简述代码复用总结项目结项结项准备项目经理与项目组成员、质量保证工程师、配置管理员共同收集并汇总项目执行过程中产生的数据,完成下列事项:项目经理撰写《结项报告》;质量保证工程师撰写《QA总结报告》。QA经理、配置管理员作如下验证:QA经理对《结项报告》、《QA总结报告》之间的相关数据做有效性、正确性、一致性检查;配置管理员对《结项报告》、《QA总结报告》与该项目的配置库、度量数据库的数据做有效性、正确性、一致性检查;验证完成后,如果发现问题,项目经理组织项目组成员进行分析解决,然后修改报告,转向下一步。项目经理须把《结项报告》、《QA总结报告》提交给总工程师总工程师发起结项评审会,参加评审人员包括:总工程师、EPG、项目经理、项目组成员、质量保证工程师、配置管理员等。项目资产检查与处理,参加评审人员在结项评审会上检查该项目的有形资产和无形资产,并商讨如何有效地利用这些资产。项目综合评估,在过程改进时用项目度量数据库中的量化的指标作为评判项目的依据。主要包括:项目性能指标、过程质量、产品质量、项目需求、项目风险、生产率、资产积累。总结经验教训,结项评审会上项目组成员共同总结经验教训,添加在《结项报告》中,将其充实进机构级的过程资产库共享。参加评审人员在《结项报告》附录中签署意见,并交付给总工程师。总工程师审阅资料。总工程师批准,项目正式结项,否则项目组修改资料并重新申请。结项评审项目资产纳入组织过程资产库项目CM人员依据《结项报告》把项目资产移交给组织级的CM人员。组织级的人员(EPG组长、CM、QA)把项目移交的资产确认后纳入组织级的过程资产库中(更新OMR、OPAL、风险库、检查列表库等,具体将在第20章讲解)。本章结束,谢谢!