还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件项目__和管理规范本文阐述软件项目__和管理的流程规范,作为软件项目__的高级指引,本规范定义了软件__的各个阶段以及每个阶段的工作活动和工件,但不对活动和工件的细节作过多规定在项目__过程中,每个项目根据自身的需要确定这些活动和工件的细节项目阶段图2-1项目__的五个阶段启动阶段这个阶段的工作目的是决定一个项目是否需要启动为了达到这个目的,首先要明确项目的总体战略目标,对项目的需要建立认同即确定到底需要做什么、__什么产品或提供什么服务,以及需要解决什么样的问题和需要满足客户或市场的什么要求等,同时还要总结项目工作的范围、所需资源、大约开支、各种风险,以及该项目不执行的其他替代选择等这些代表了对整个项目目标从战略角度和宏观层次所进行的分析,通过项目的意向书总结出来,由此确证客户或项目发起人和赞助者的要求与期望,并帮助他们判定项目是否上马项目意向总结书的通过及项目被批准上马形成了这个项目的起始点计划阶段这个阶段的工作是为整个项目做计划项目开始后,首先要确定项目的具体范围,明确定出项目到底要做什么,总结、归纳并定出产品的功能然后进一步制定项目的计划,列出每项具体工作,并建立所有工作任务的重要性及顺序;确定每项工作的执行人和所需资源;根据人员的配置和能力设定各项工作和整个项目的完成时间表执行阶段这个阶段的工作是通过执行项目的计划来完成项目的任务它包括落实一切所需资源,如人员、设备、费用、技术、信息,由管理者__全体项目参与者开展各项工作同时跟踪各项具体工作和整个项目的进度,定期向全体项目人员及项目的发起人报告项目状态控制阶段这个阶段的工作是确证项目工作的结果符合项目的计划它通过对项目结果的衡量和审核,与项目计划所期望的结果进行比较,找出实际结果与计划的差别,并制定处理措施这个阶段的工作还包括对项目进程中出现的任何更改要求进行审核和批准同时调解项目进程中出现的各种问题,如对缺乏的资源的补偿调节;对项目的进度表及各项具体工作的优先级或顺序的修订结束阶段这个阶段的工作是确保项目的最终结果或提交物达到计划的要求,并对完成的结果作可接受的确认还包括在项目完成之后的收尾工作,对整个项目的经历进行总结,修订项目文档,用户培训等阶段完成标志在项目__过程中,当一个阶段完成后才会开展下一个阶段的工作;另外,“某个阶段完成”通常被定义为项目的一个里程碑,里程碑标识了项目的进度,它是项目__和控制的重要参考,对整个项目有重要的意义因此,“确证某个阶段是否已经完成”的工作非常有重要每一个阶段的结束以它特定任务的完成为象征只有当某个阶段中被规定的所有工作任务都完成了,这个阶段才算真正结束,整个项目才可以进入到下一个阶段中去反过来说,要是阶段中某个任务没有全部完成,按照项目的定义,整个阶段就不能算是完成,因此项目就不能进入到下一个阶段去衡量阶段结束的工作结果必须是实在的交付品阶段中的任务是否完成是透过任务活动中产生的交付品来体现的,交付品必须是可交付的、非抽象的、实质的并且可以通过用衡量的方法来判断是否真正地完成了的具体事物如某一阶段的完成是以建造一个样品或完成某分文件作为象征任何项目阶段的结束,都应该有这样的实质性东西的完成作为象征跨阶段的进程以阶段结尾的合格验证和审核来决定当一个阶段结束时,在进入到下一个阶段之前所需要做的工作应包括对交付品进行合格验证,并检查这一阶段的工作质量和效率,由此判断是否可以进入到下一个阶段这些检验象征了一个阶段的结尾终点,表示项目的进程离开了上一个阶段而进入了下一个阶段启动阶段图3-1启动阶段的任务和工件产品领域研究研究产品所在领域的状况,为项目论证提供依据研究内容包括产品领域的现状和前景产品领域的商业模式和业务流程产品的价值和盈利空间产品的特性和复杂度技术可行性研究研究产品的实现技术,总结技术可行性研究内容包括类似产品的当前实现技术和技术趋势实现技术的候选方案各个方案的优点、成本和风险__团队与实现技术的匹配情况项目论证基于商业和技术等方面对项目的可行性进行论证,确定项目是否开展如果开展项目,则进一步论证项目的总体方案论证的内容包括商业可行性技术可行性当前产品与类似产品的比较项目收益和前景项目的成本和风险项目的总体方案确定项目目标和范围项目开始时,所有相关人员必须对项目的目标和范围达成共识,形成共同的项目愿景并把愿景叙述为《项目__大纲》向相关人员传达《项目__大纲》的内容包括 概述用三到五张图表来描述产品目标、功能、平台、客户、进度表和__职责高级功能用一个段落来综述产品,再用一个段落来描述每个重要的功能不实现的功能用一个段落来描述每个对产品有用的但本项目不实现的功能涉众用一个段落来明确每个重要的涉众群体和他们的风险股本项目需求用一个段落来讲述每个重要的项目需求项目风险按风险暴露量对每个重要的项目风险都用一个段落来讨论项目回报用一个段落综述产品的回报,其后再对每个重要的项目回报都用一个段落来讨论结论用一到三个段落将上述所有部分__起来,明确项目的需求和风险,再用论点和论据来总结___这个项目会成功表3-1项目__大纲计划阶段图4-1计划阶段的任务和工件规模、工作量评估围绕各项计划的制定工作对项目的规模、工作量等进行评估,评估的内容包括模块数量与复杂度输入、输出和对外接口等数量与复杂度SLOC和功能点非生产性的支持工作量__工作量(人月)进度与里程碑进度风险定制项目__计划项目__计划体现了项目组对整个__周期的预期,指定了项目__的总体方针与其他计划一样,项目__计划不是固定不变的,在执行过程中要对计划进行监控,可能会根据实际情况修改计划并重新发布《项目__计划》的内容包括概述用三到五张图表来描述产品目标、功能、平台、客户、进度表和__职责(《项目__计划》的概述部分应该是《项目__大纲》中概述部分的拷贝当项目计划改变时,修订《项目__计划》的概述部分而不是修订《项目__大纲》这样,以后在进行项目评价时,通过比较《项目__大纲》和《项目__计划》的概述,就能看出项目是如何改变的)高级功能用一到五页的篇幅来概述产品的功能,其中,要包括这些功能的附加信息(__者需要这样的信息来了解实现需求)项目成员确定软件工程职能角色,以及分配到这些角色的人员数量软件过程概述这个项目中所应用的软件过程(具体内容可在《质量保证计划》中定义)软件工程方法概述这个项目中所应用的软件工程方法和技术(具体内容可在《质量保证计划》中定义)进度和工作量这一部分要表达出整个项目进度和工作量的估计其中要包括对固定不变的里程碑和同步点的解释在评估中的设想情况、评估中的不准确性的可能来源随着项目的进展如何更新评估(具体进度表内容可在《__进度表》中定义)风险管理计划概述这个项目中风险管理计划(具体内容可在《风险管理计划》中定义)测量概述这个项目中要收集的测量软件工具列出要使用的每一项软件工具,以及该工具所支持的任务项目支持硬件支持明确所需的硬件,包括那些需要__、获取或升级的硬件软件支持明确所需的软件,包括需要获取、__或升级的软件件人力支持由哪个人、部门或团队为__组的哪项任务提供支持表4-1项目__计划定制风险管理计划风险管理任务包括风险识别、风险分析、确定风险优先级、定制风险化解方案、风险化解和风险监控【如图4-2】图4-2风险管理任务《风险管理计划》定义这些任务的执行流程和人员分配《风险管理计划》的内容包括概述用文字和图表概述风险管理任务的总体执行流程风险识别详细说明“风险识别”任务的实施细节和各项工作的负责人风险分析详细说明“风险分析”任务的实施细节和各项工作的负责人确定风险优先级详细说明“确定风险优先级”任务的实施细节和各项工作的负责人定制风险化解方案详细说明“定制风险处理方案”任务的实施细节和各项工作的负责人风险化解当风__生时,需要采取相应的措施化解风险这部分的内容是描述风险化解工作的操作规范和流程风险监控详细说明风险监控任务的实施细节和各项工作的负责人表4-2风险管理计划 风险管理中通常会用到《TopN风险列表》,风险列表按照风险暴露量排序列出当前项目中主要的N个风险,《TopN风险列表》的内容包括本周排名本周的排名(如果本周已被完全化解用“---”表示)上周排名上周排名(如果是新识别的风险用“---”表示)上表周数该风险已上表的周数风险风险的名称或简述类型风险类型(只针对进度相关的风险)计划编制组织和管理设计和实现客户和需求承包商产品人员过程技术外部环境__环境发生概率风__生的百分比概率损失程度风__生时损失的进度(工作日或工作周)暴露量发生概率X损失程度状态风险的当前状态未发生、已发生、已化解化解方案简述风险的化解方案,如果有具体的化解方案文档则链接到相应文档化解进度对已发生的风险,简述化解进度(未发生的风险用“---”表示)表4-3风险列表定制质量保证计划保证工作质量的一个重要步骤是制定一套合理的质量保证计划并贯彻执行《质量保证计划》的内容包括概述说明编写的目的、适用范围以及对相关人员的要求等软件过程详细说明这个项目中所应用的软件过程软件工程方法详细说明这个项目中所应用的软件工程方法和技术工作规范对工程方法中的各种工作任务进行规范,明确执行的时机、流程和准则等这些工作任务包括常规__活动(需求分析、架构设计、详细设计、编码和测试、发布和实施等)会议(工作例会、进度会议、审查会议等)评审(方案评审、技术评审、质量评审等)测量(产品规模测量、进度测量、缺陷率测量、测试覆盖率测量等)其他活动(技能培训、资料收集、内部流、客户沟通等)表4-4工作规范定制__进度计划基于当前对项目的规模和工作量评估,定制初步的__进度表,作为项目__计划的组成部分《__进度表》的内容包括项目的开始和结束时间项目各个阶段的开始和结束时间每个阶段的工作任务及其开始和结束时间每个工作任务的子任务的及其开始和结束时间里程碑和同步点角色的定义和任务分配作为跟踪项目进度的重要依据,进度表在项目推进过程中需要不断细化另外,当实际进度与计划进度出现偏差时,需要修改进度表并重新发布执行阶段 图5-1执行阶段的任务和工件需求分析分析产品的关键需求、对架构设计有影响的需求和风险较高的需求,直到分析的程度能开展足界面原型设计和架构设计工作《需求规格说明书》的内容包括商业或业务需求从商业或业务角度宏观上对产品或系统的要求它主要在宏观的层面归纳总结为满足客户提出的要求或赢得市场竞争所必须实现的功能、性能、质量等要求做什么做的范围对结果的要求使用者需求从客户对软件产品或系统使用方案的角度出发,描述和总结使用者利用该软件产品或系统能够做的事或能够完成的任务功能需求根据上述使用者需求列出的使用方案,列出__者必须为软件产品或系统实现的功能性能需求运行速度、容量、并发性能对资源的利用率对外界输入的反馈速度和准确性对差错的负荷能力系统需求必须适应的运行环境的要求(包括运行平台、网络及其他硬件要求)与其他系统兼容的要求(包括与操作系统、数据库、浏览器及其他应用软件的兼容要求)与外部其他系统和组件的接口要求质量需求对用户重要的质量标志(可靠性、效率性、灵活性、安全性、互操作性、稳定性、健全性、可用性)对__者重要的质量标志(可维护性、多用转换性、重复使用性、可测试性)其他需求不属于上述需求范围的,但受到其他环境和商业合同影响的要求国家或地区的任何特别的标准软件使用界面的特别要求与知识产权有关的要求软件所面对的市场和行业的规范客户的特别要求__的局限对__的成功与否起很大影响的因素,是__能力的局限人员的局限技术的制约和局限客户的特别要求表5-1需求分析告《需求分析报告》的编制方式可以是多样的,例如把所有“非功能性需求”组织成“外部接口需求”、“质量属性需求”和“需求约束”【如图5-2】图5-2需求规格说明书界面原型设计明确了系统的关键需求后,就可以进行界面原型设计工作,获取用户的反馈,尽快确定产品的界面基调同时要编写一份《界面设计概要》文档,作为后续的界面设计工作的指导《界面设计概要》的内容包括设计的理念理念的来源或参考设计的要点与类似产品界面的对比架构设计架构设计从关键需求开始,建立概念性的架构,并逐步细化和验证最终生成架构设计说明书和架构基线代码架构设计的方法可以从几个不同的视角进行架构设计,然后汇总综合得出完整的设计(架构设计的五个视图【如图5-3】)图5-3架构设计的五视图《架构设计说明书》的内容包括概述说明编写的目的、适用范围以及设计原则等逻辑架构__功能其设计着重考虑功能需求细化功能单元发现通用机制细化领域模型确定子系统接口和交互机制__架构__程序包其设计着重考虑__期质量属性,如可扩展性、可重用性、可移植性、易理解性和易测试性等确定要__或直接利用的程序包之间的依赖关系确定采用的技术、框架等数据架构__持久化数据的存储方案其设计着重考虑“数据需求”持久化数据存储方案数据传递、数据__、数据同步等策略运行架构__进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题其设计着重考虑运行期质量属性,例如性能、可伸缩性、持续可用性和安全性等确定引入哪些进程与线程确定主动对象、被动对象,以及控制关系处理进程线程的创建、销毁、通信机制、资源争用等协议设计物理架构__软件系统最终如何__或部署到物理机器其设计着重考虑“__和部署需求”确定物理配置方案确定如何将目标程序映射到物理节点总结基于上述的设计进行总结,并描述架构基线表5-2架构设计说明书架构设计的另一个重要任务是编写架构基线代码,基线代码表述和验证架构,同时也是指导后续__的基础代码架构基线代码的内容包括所有工程项目工程目录结构软件包结构导入所有依赖包基础公共代码架构框架代码架构框架示例代码和测试代码数据库框架图5-4和图5-5展示了软件架构师的工作和成功的软件架构设计包含的内容图5-4软件架构师的工作图5-5成功的软件架构设计1软件构建软件可以分阶段进行构建,每个阶段可以使用增量的方式__,用通过若干个Build构建,最后发布阶段性产品成果(注意在这里,名词“阶段”的含义和本文其他地方的含义不一样)阶段计划构建阶段计划的内容包括确定本阶段要实现的功能列出阶段任务计划Build构建数量细化《__进度表》中本阶段的工作内容Build构建详见下一节阶段产品发布构建阶段完成后发布阶段产品成果,向用户展示并接受用户反馈,同时做好阶段总结《发布清单》的内容包括产品版本号和日期改正的Bug修改的功能实现的新功能其他说明《阶段总结报告》的内容包括阶段任务的完成情况进度计划的执行情况用户的反馈情况本阶段碰到的主要问题下一阶段的改进建议2Build构建Build构建以增量的方式执行阶段的__任务,每个Build构建的周期一般不超过两星期,每一次Build构建都会发布为一个内部版本,并提交测试测试发现的问题留待以后的Build构建解决Build计划《Build计划》的内容包括本次Build的版本号本次Build的历时本次Build的工作任务要解决的遗留Bug本应由以前的Build实现的,但推迟到本次Build实现的功能要实现的新功能其他工作任务工作任务分配需求细化根据《Build计划》,细化本次Build要实现的需求,细化到能进行详细设计为止有了细化的需求后就编写本次Build的测试计划《测试计划》的内容包括功能测试要测试的功能测试时间测试方式验收标准其他测试(性能测试、边界测试、使用界面测试、可用性测试、安全性测试等)要测试的内容测试时间测试方式验收标准界面设计根据细化的需求设计用户界面,当界面确定后即可编写测试用例《测试用例》的内容包括测试用例对应的功能模块测试用例的性质(功能测试用例、性能测试用例、)输入(或操作步骤)期望输出实际输出(执行测试后再填写)是否通过(执行测试后再填写)详细设计详细实际每项需求的实现方法,对于重要的设计决策、算法、公共模块和外部接口等必须以模块设计文档的形式进行记录《模块设计文档》的内容包括模块名称设计思想设计图表(类图、流程图等)要点描述(包、接口、类、方法、算法、设计模式)测试方式编码、单元测试编码和单元测试是__人员的工作,对于重要的代码都必须进行单元测试,编写代码必须遵守下列准则遵守编码规范编码前必须充分理解相关的需求编码前先进行设计,把流程理顺注意设计方法和设计模式的灵活运用总体考虑问题,使代码遵从架构并容易测试设计时要充分考虑异常情况和临界条件严禁Copy-Paste,注意提取公共代码,在编码过程中实现重构异常处理必须记录日志,严禁草率地直接打印异常信息灵活运用ASSERT/VERIFY等断言来帮助调试程序单元测试是程序员的工作,所以编码完成后必须对代码严格测试功能代码完成后必须先做以下4件事情编译代码,保证编译通过(不运行程序)对代码进行全面检查用调试模式启动程序,一行一行单步执行代码,并注意调试输出改变条件,让代码尽可能走遍所有程序分支CheckIn代码前必须保证能编译通过创建Build代码集成发布前需冻结代码,所有人把要提交的代码CheckIn,并保证编译后的程序能在测试服务器上正常启动,界面能正常打开同时还要提交Build清单《Build清单》的内容包括Build版本号和日期改正的Bug修改的功能实现的新功能其他说明集成测试按照《测试计划》针对《Build清单》执行《测试用例》,测试完成后编写测试报告《测试报告》的内容包括测试用例汇总(用例数量、通过的用例数量、未通过的用例数量等)Bug汇总(Bug总数、新增Bug数量、关闭Bug数量、Bug趋势图表等)测试计划执行情况测试总结控制阶段图6-1控制阶段的任务和工件风险管理__期间要对风险进行监控,定期检查、更新和发布《风险列表》质量管理1)评审评审是质量保证的重要环节,原则上每个重要的工作任务或阶段结束前都必须经过评审,如方案评审、计划评审、需求评审、设计评审和代码评审等,工作是否被通过、是否需要修改或重做均由评审结果决定,评审结果以《评审报告》的形式发布《评审报告》的内容包括基本信息评审主题、时间、提交者、评审者等评审内容评审内容的列表和简述问答记录评审过程中重要的问答记录评审结论整个评审的结果,如完全通过,无需修改基本通过,需要作小量修改,但不必再评审大体通过,需要作一些修改,之后再评审不通过,需要作大幅修改,之后必须重新评审评审意见针对评审结论提出___和建议表7-1评审报告2)测试测试是对被构建产品最直接有效的质量保证措施,测试结束后需要提交《测试报告》变更管理__过程中经常会出现多种变更,如需求变更、设计变更或人员变更等这些变更通常会对__进度造成影响,因此要对变更及其处理过程进行跟踪,最后报告变更的处理结果《变更处理报告》的内容包括基本信息变更主题、发生时间等详细信息变更的详细描述变更处理变更的处理方式和步骤处理结果变更的处理结果变更影响变更对项目造成的影响表7-2变更处理报告进度监控项目进度会议是了解项目实际进度的有效措施,在会议中评审工作报告,解决遇到的问题并计划下一步工作《工作报告》的内容包括基本信息报告者、汇报时间、工作时间段等工作情况已完成的工作、未完成的工作遇到的问题工作中碰到的阻碍工作计划下一步的工作计划项目进度会议的另一个重要议题是审查进度表,了解项目实际进度与计划进度的差异为进度表调整和资源调配提供重要依据测量在项目__过程中,收集一些关键的测量,对了解项目状态和进行项目决策很有帮助,同时也为以后的项目提供历史数据参考每个测量都要生成测量报告并存档《测量报告》的内容包括基本信息,包括测量主题、测量时间、测量者等测量内容和测量值测量分析结束阶段图7-1控制阶段的任务和工件产品测试因为产品即将验收和发布,所以必须对产品进行完整测试,产品测试比其他测试要求更严格,当产品的质量达到发布的要求后才能发布产品的质量由《测试报告》体现RC版本发布发布RC版本让用户体验并收集反馈意见,为产品验收作准备RC版本发布后,产品不应该有大改动,一般只是界面的局部调整编制用户文档针对不同的使用者角色,编制相应的用户文档,对管理者用户需要提供《__、维护指南》,对普通用户需要编制《产品使用手册》《__、维护指南》的内容包括产品各组件的说明产品部署架构__、配置和卸载等步骤启动、停止和重启等操作其它操作日志、备份、还原等《产品使用手册》的内容包括产品介绍各个功能的介绍通过实际案例介绍各个功能的使用方式和操作步骤产品使用培训对于为特定客户__的软件产品,在发布前需要对用户进行产品的使用培训培训前需要部署好操作环境,编写培训资料,然后组织培训会议产品验收对于为特定客户__的软件产品,通常根据签订的__合同和产品方案等条款逐项验收,验收时,用户通常会执行验收测试案例最后修订在产品验收通过后,正式发布前对产品作最后的修订,可能包括__文档修订用户文档修订代码整理正式版发布正式版的发布标志着__阶段的结束,产品从此时起进入维护阶段,正式发布前可能要做一些准备工作,如数据迁移和环境配置等项目总结项目结束后需要对整个项目__阶段的工作进行总结,交流心得,吸取经验和教训,并归档为《项目总结报告》《项目总结报告》的内容包括总体评价成本、收益汇总重要心得管理总结技术总结总结图8-1项目阶段软件项目__经历多个阶段,每个阶段包含多个任务,每个任务会产生相应的工件需要相应的质量保证措施对任务进行监控,保证任务的执行任务完成后也需要对任务进行评审,保证任务的质量这些工作均由__团队和相关人员按照工作流程执行因此,合理的角色任务分配和沟通制度是软件项目成功的重要保障图8-2列出几种比较普遍的角色和任务划分方案图8-2角色和任务划分方案职责和角色不清楚往往是造成软件项目团队管理混乱的一个重要原因,一个好的软件团队必须根据团队规模的不同和项目本身的特点对项目成员的角色和岗位进行明确的划分,这样团队中的每个成员才可能有清晰的责任和目标软件__不管采用哪种生命周期模型和__方__,整个过程都会包含需求,设计,__,测试,配置管理等各项活动而这些活动会对应到项目中的不同角色,项目中进行岗位划分后每个岗位成员可以__多个角色形成相关的角色岗位矩阵方案一项目负责人总览全局对于小作坊的软件__团队,可以由一个项目负责人总览全局项目负责人承担从用户需求-软件需求-总体设计的所有工作同时还需要做到整个团队进度规划,质量保证,配置管理和沟通协调等相关工作所以小型项目团队对项目负责人的业务,技术和沟通管理等技能都要求较高,项目负责人是项目中的总体方案确认者和架构师项目负责人能力和技能往往决定了整个软件项目的成败我们这里指的小型团队并不是只一个人单打独斗的项目,所以项目负责人最好不要介入到模块设计和编码活动中,而是应该把重点放在进度的控制和质量的保证上面由于项目负责人一般有较强的技术能力,所以项目负责人可以承担项目中要使用的一些新技术的研究,项目中一些疑难问题的解决等相关工作项目负责人还应该有计划的设计__人员的代码进行Review,对发现的规范性,性能,复用差等问题跟项目成员确认,并写入到项目__规范中方案二项目负责人和__负责人分离在这种方案下项目负责人和__负责人在软件需求和架构上的工作是重叠的这两个岗位的人员共同来确认项目的总体方案和架构项目负责人的重点在项目管理和与客户交流沟通上,只有确认清楚第一手的用户需求,才能__出用户满意度高的软件对于很多小型项目往往是用户需求都没有搞清楚就开工,项目成员完全凭借着自己的感觉在做系统,过程中又不注意与用户及时反馈和迭代,导致__出完全不能使用的系统;__负责人的重点是对整个__过程负责,包括对项目经理确认的进度目标进行任务的进一步分解,安排后续的增量和迭代计划方案二的重点是第一次解放项目经理,架构的核心__到了__负责人,而项目经理仅仅是参与讨论和评审而单独剥离出__负责人后,可以更好的对__过程进行跟踪和协调,__负责人重点放在项目内部,而避免过多去和外部干系人沟通和协调方案三测试的专职化对于项目团队发展到5-10的时候,项目中的测试工作必须专职化的由测试人员来完成一般测试人员的配置比例为4-6个__人员需要配置一名专职化的测试人员测试人员站在第三方和模拟使用者角度来进行系统的测试,可以更好的发现系统的BUG和相关问题,有效的保证系统的质量方案三中项目经理工作进一步清晰,项目经理不在承担软件需求和架构的相关工作而重点放在项目内外的沟通协调和整个项目进度计划的安排上这个时候项目中的设计负责人对整个系统的总体设计方案和架构负责,而且设计负责人也将不在参与具体的功能模块的设计和__工作设计负责人的重点转化到的软件需求的__和总体设计上面如涉及到RUP中的用例建模,用例分析,架构设计,组件接口复用方案四项目经理和需求角色分离当项目团队的规模发展到12-20人的时候,项目团队基本上可以算做中小型的项目团队这个时候项目经理完全专职化做项目管理的工作包括项目进度计划制定,项目跟踪监控,风险分析和控制,项目度量分析和决策等相关内容对于需求活动设置专门的需求工程师岗位来完成需求的__同时项目中设置专门的架构设计人员,架构设计人员不再负责需求的__工作,而重点在于系统总体设计方案的确定,系统的4+1视图的分析,同时架构人员要考虑整个系统的集成方案的确定和具体功能单元和模块的集成由于项目规模的扩大,项目的配置项更加复杂,项目也需要同时起__,测试,集成和BugFix等多个分支因此需要设置专门的配置___来进行项目的配置管理对于项目同时需要__新版本,又需要对已经发布的维护版本进行功能改进的时候,项目中要考虑设置专门的维护人员由维护人员来完成项目小功能的改进和BUG的修复这样新版本设计__人员可以更专注的进行新功能的__。