当前位置:文档之家› 软件开发项目规范标准

软件开发项目规范标准

软件项目开发和管理规本文阐述软件项目开发和管理的流程规,作为软件项目开发的高级指引,本规定义了软件开发的各个阶段以及每个阶段的工作活动和工件,但不对活动和工件的细节作过多规定。

在项目开发过程中,每个项目根据自身的需要确定这些活动和工件的细节。

项目阶段图 2-1 项目开发的五个阶段•启动阶段这个阶段的工作目的是决定一个项目是否需要启动。

为了达到这个目的,首先要明确项目的总体战略目标,对项目的需要建立认同。

即确定到底需要做什么、开发什么产品或提供什么服务,以及需要解决什么样的问题和需要满足客户或市场的什么要求等,同时还要总结项目工作的围、所需资源、大约开支、各种风险,以及该项目不执行的其他替代选择等。

这些代表了对整个项目目标从战略角度和宏观层次所进行的分析,通过项目的意向书总结出来,由此确证客户或项目发起人和赞助者的要求与期望,并帮助他们判定项目是否上马。

项目意向总结书的通过及项目被批准上马形成了这个项目的起始点。

•计划阶段这个阶段的工作是为整个项目做计划。

项目开始后,首先要确定项目的具体围,明确定出项目到底要做什么,总结、归纳并定出产品的功能。

然后进一步制定项目的计划,列出每项具体工作,并建立所有工作任务的重要性及顺序;确定每项工作的执行人和所需资源;根据人员的配置和能力设定各项工作和整个项目的完成时间表。

•执行阶段这个阶段的工作是通过执行项目的计划来完成项目的任务。

它包括落实一切所需资源,如:人员、设备、费用、技术、信息,由管理者领导全体项目参与者开展各项工作。

同时跟踪各项具体工作和整个项目的进度,定期向全体项目人员及项目的发起人报告项目状态。

•控制阶段这个阶段的工作是确证项目工作的结果符合项目的计划。

它通过对项目结果的衡量和审核,与项目计划所期望的结果进行比较,找出实际结果与计划的差别,并制定处理措施。

这个阶段的工作还包括对项目进程中出现的任何更改要求进行审核和批准。

同时调解项目进程中出现的各种问题,如:对缺乏的资源的补偿调节;对项目的进度表及各项具体工作的优先级或顺序的修订。

•结束阶段这个阶段的工作是确保项目的最终结果或提交物达到计划的要求,并对完成的结果作可接受的确认。

还包括在项目完成之后的收尾工作,对整个项目的经历进行总结,修订项目文档,用户培训等。

阶段完成标志在项目开发过程中,当一个阶段完成后才会开展下一个阶段的工作;另外,“某个阶段完成”通常被定义为项目的一个里程碑,里程碑标识了项目的进度,它是项目开发和控制的重要参考,对整个项目有重要的意义。

因此,“确证某个阶段是否已经完成”的工作非常有重要。

•每一个阶段的结束以它特定任务的完成为象征只有当某个阶段中被规定的所有工作任务都完成了,这个阶段才算真正结束,整个项目才可以进入到下一个阶段中去。

反过来说,要是阶段中某个任务没有全部完成,按照项目的定义,整个阶段就不能算是完成,因此项目就不能进入到下一个阶段去。

•衡量阶段结束的工作结果必须是实在的交付品阶段中的任务是否完成是透过任务活动中产生的交付品来体现的,交付品必须是可交付的、非抽象的、实质的并且可以通过用衡量的方法来判断是否真正地完成了的具体事物。

如:某一阶段的完成是以建造一个样品或完成某分文件作为象征。

任何项目阶段的结束,都应该有这样的实质性东西的完成作为象征。

•跨阶段的进程以阶段结尾的合格验证和审核来决定当一个阶段结束时,在进入到下一个阶段之前所需要做的工作应包括对交付品进行合格验证,并检查这一阶段的工作质量和效率,由此判断是否可以进入到下一个阶段。

这些检验象征了一个阶段的结尾终点,表示项目的进程离开了上一个阶段而进入了下一个阶段。

启动阶段图 3-1 启动阶段的任务和工件•产品领域研究研究产品所在领域的状况,为项目论证提供依据。

研究容包括:▪o产品领域的现状和前景o产品领域的商业模式和业务流程o产品的价值和盈利空间o产品的特性和复杂度•技术可行性研究研究产品的实现技术,总结技术可行性。

研究容包括:oo类似产品的当前实现技术和技术趋势o实现技术的候选方案o各个方案的优点、成本和风险o开发团队与实现技术的匹配情况表 3-1 项目开发大纲计划阶段图 4-1 计划阶段的任务和工件•规模、工作量评估围绕各项计划的制定工作对项目的规模、工作量等进行评估,评估的容包括:oo模块数量与复杂度o输入、输出和对外接口等数量与复杂度o SLOC和功能点o非生产性的支持工作量o开发工作量(人月)o进度与里程碑o进度风险•定制项目开发计划列出要使用的每一项软件工具,以及该工具所支持的任务。

硬件支持明确所需的硬件,包括那些需要移动、获取或升级的硬件。

软件支持明确所需的软件,包括需要获取、安装或升级的软件件。

人力支持由哪个人、部门或团队为开发组的哪项任务提供支持。

表 4-1 项目开发计划•定制风险管理计划风险管理任务包括:风险识别、风险分析、确定风险优先级、定制风险化解方案、风险化解和风险监控【如:图4-2】。

图 4-2 风险管理任务表 5-1 需求分析告《需求分析报告》的编制方式可以是多样的,例如把所有“非功能性需求”组织成“外部接口需求”、“质量属性需求”和“需求约束”。

【如:图5-2】图 5-2 需求规格说明书•界面原型设计明确了系统的关键需求后,就可以进行界面原型设计工作,获取用户的反馈,尽快确定产品的界面基调。

同时要编写一份《界面设计概要》文档,作为后续的界面设计工作的指导。

《界面设计概要》的容包括:o设计的理念o理念的来源或参考o设计的要点o与类似产品界面的对比•架构设计架构设计从关键需求开始,建立概念性的架构,并逐步细化和验证。

最终生成架构设计说明书和架构基线代码。

架构设计的方法:可以从几个不同的视角进行架构设计,然后汇总综合得出完整的设计。

(架构设计的五个视图【如:图5-3】)图 5-4 软件架构师的工作图 5-5 成功的软件架构设计1 软件构建软件可以分阶段进行构建,每个阶段可以使用增量的方式开发,用通过若干个Build构建,最后发布阶段性产品成果。

(注意:在这里,名词“阶段”的含义和本文其他地方的含义不一样)•阶段计划构建阶段计划的容包括:o确定本阶段要实现的功能o列出阶段任务o计划Build构建数量o细化《开发进度表》中本阶段的工作容•Build 构建详见:下一节•阶段产品发布构建阶段完成后发布阶段产品成果,向用户展示并接受用户反馈,同时做好阶段总结。

《发布清单》的容包括:o产品版本号和日期o改正的Bugo修改的功能o实现的新功能o其他说明《阶段总结报告》的容包括:o阶段任务的完成情况o进度计划的执行情况o用户的反馈情况o本阶段碰到的主要问题o下一阶段的改进建议2 Build 构建Build构建以增量的方式执行阶段的开发任务,每个Build构建的周期一般不超过两星期,每一次Build构建都会发布为一个部版本,并提交测试。

测试发现的问题留待以后的Build构建解决。

•Build计划《Build计划》的容包括:o本次Build的版本号o本次Build的历时o本次Build的工作任务▪要解决的遗留Bug▪本应由以前的Build实现的,但推迟到本次Build实现的功能▪要实现的新功能▪其他工作任务o工作任务分配•需求细化根据《Build计划》,细化本次Build要实现的需求,细化到能进行详细设计为止。

有了细化的需求后就编写本次Build的测试计划。

《测试计划》的容包括:o功能测试▪要测试的功能▪测试时间▪测试方式▪验收标准o其他测试(性能测试、边界测试、使用界面测试、可用性测试、安全性测试等)▪要测试的容▪测试时间▪测试方式▪验收标准o。

•界面设计根据细化的需求设计用户界面,当界面确定后即可编写测试用例。

《测试用例》的容包括:o测试用例对应的功能模块o测试用例的性质(功能测试用例、性能测试用例、。

)o输入(或操作步骤)o期望输出o实际输出(执行测试后再填写)o是否通过(执行测试后再填写)•详细设计详细实际每项需求的实现方法,对于重要的设计决策、算法、公共模块和外部接口等必须以模块设计文档的形式进行记录。

《模块设计文档》的容包括:o模块名称o设计思想o设计图表(类图、流程图等)o要点描述(包、接口、类、方法、算法、设计模式)o测试方式•编码、单元测试编码和单元测试是开发人员的工作,对于重要的代码都必须进行单元测试,编写代码必须遵守下列准则:o遵守编码规o编码前必须充分理解相关的需求o编码前先进行设计,把流程理顺o注意设计方法和设计模式的灵活运用o总体考虑问题,使代码遵从架构并容易测试o设计时要充分考虑异常情况和临界条件o严禁Copy-Paste,注意提取公共代码,在编码过程中实现重构o异常处理必须记录日志,严禁草率地直接打印异常信息o灵活运用ASSERT() / VERIFY()等断言来帮助调试程序o单元测试是程序员的工作,所以编码完成后必须对代码严格测试o功能代码完成后必须先做以下4件事情:▪编译代码,保证编译通过▪(不运行程序)对代码进行全面检查▪用调试模式启动程序,一行一行单步执行代码,并注意调试输出▪改变条件,让代码尽可能走遍所有程序分支o Check In代码前必须保证能编译通过•创建Build代码集成发布前需冻结代码,所有人把要提交的代码Check In,并保证编译后的程序能在测试服务器上正常启动,界面能正常打开。

同时还要提交Build清单。

《Build清单》的容包括:o Build版本号和日期o改正的Bugo修改的功能o实现的新功能o其他说明•集成测试按照《测试计划》针对《Build清单》执行《测试用例》,测试完成后编写测试报告。

《测试报告》的容包括:o测试用例汇总(用例数量、通过的用例数量、未通过的用例数量等)o Bug汇总(Bug总数、新增Bug数量、关闭Bug数量、Bug趋势图表等)o测试计划执行情况o测试总结控制阶段图 6-1 控制阶段的任务和工件•风险管理开发期间要对风险进行监控,定期检查、更新和发布《风险列表》。

•质量管理1)评审评审是质量保证的重要环节,原则上每个重要的工作任务或阶段结束前都必须经过评审,如:方案评审、计划评审、需求评审、设计评审和代码评审等,工作是否被通过、是否需要修改或重做均由评审结果决定,评审结果以《评审报告》的形式发布。

《评审报告》的容包括:评审主题、时间、提交者、评审者等评审容的列表和简述评审过程中重要的问答记录项目进度会议是了解项目实际进度的有效措施,在会议中评审工作报告,解决遇到的问题并计划下一步工作:《工作报告》的容包括:1.1.基本信息:报告者、汇报时间、工作时间段等2.工作情况:已完成的工作、未完成的工作3.遇到的问题:工作中碰到的阻碍4.工作计划:下一步的工作计划项目进度会议的另一个重要议题是审查进度表,了解项目实际进度与计划进度的差异。

相关主题