软件开发管理制度及软件开发规范整体规范_第1页
软件开发管理制度及软件开发规范整体规范_第2页
软件开发管理制度及软件开发规范整体规范_第3页
软件开发管理制度及软件开发规范整体规范_第4页
软件开发管理制度及软件开发规范整体规范_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件开发规范第30页共52页软件开发管理制度为加强对公司软件研发部门工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率,特制定软件研发部管理制度。第一章、总则为保证日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可能实现软件研发部项目管理的正规化,工作过程的流程化,以便提高软件质量和开发效率,达到项目能按质按量按期交付的目标。1、软件开发总体遵循项目管理和软件工程的基本原则。2、项目管理涉及项目立项、项目计划和监控、配置管理。3、软件工程涉及需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护。第二章、阶段成果根据软件工程的过程理论并结合公司目前的实际情况,制定以下工作流程,并规定了各个重要环节需要提交的交付物。1、立项:市场需求分析(或者合同)、项目立项申请表、项目风险分析清单。2、需求分析:软件需求报告或设计方案、需求规格说明书。3、总体设计:概要设计说明书或功能模块描述。4、详细设计:详细设计说明书,包括软件接口说明、单元测试计划。5、软件实现:软件功能说明、源代码、源代码说明或者注释6、产品测试:测试报告7、产品发布:产品说明书、使用手册8、产品维护:问题反馈记录9、项目总结:提交客户方的项目总结和公司项目汇报的PPT。软件过程成果表:阶段形成文档职责及文档成果描述负责人备注需求阶段项目立项报告(Word)明确甲乙双方责任及义务,需双方签字确认项目经理大部分业务建模和需求,少部分分析设计业务需求说明书(Word)需求定义,阐述业务范围及内容,开发组负责制定最优技术设计方案项目经理/需求分析工程师项目开发计划(Project)制定项目开发计划,方便所有项目干系人都能及时了解项目进度项目经理项目风险分析清单(xls)针对项目会出现的风险进行分析并制定相应的措施全体项目干系人设计阶段业务流程总体设计书、详细设计说明书(Word/Visio)讨论项目的技术架构和可能存在的技术难点,梳理业务流程,统一开发规则和风格等项目经理/架构师大部分分析设计,部分实施编程及测试,开始考虑部署数据库关系设计图、流程图(PowerDesigner)项目所需要使用的数据库的结构图和流程图架构师/高级软件工程师任务分配文档(Word)明确每个组员的开发任务及职责项目经理问题说明报告(Word)让用户、领导及组员及时了解和发现问题项目经理业务变更文档(Word)记录开发过程中用户提出的业务需求变更情况需求分析工程师实现阶段软件功能说明(Word)记录软件开发过程中所有实现的软件功能软件开发工程师最终软件开发的成果物和说明源代码可以部署的成果物,以及生成成果物的源代码以及数据库备份文件软件开发工程师源代码说明(Word)针对提交的源代码每一个模块进行说明软件开发工程师测试阶段项目测试方案及报告(Word)记录项目测试的方法,验证系统功能与性能的记录测试工程师反复测试直至系统稳定用户使用手册(Word)方便用户使用软件而提供的使用说明书测试工程师上线及运行系统使用报告系统部署后的操作记录项目经理部署及维护用户培训报告用户培训文档项目经理项目验收报告(Word)记录甲乙双方签订项目验收报告项目经理项目总结性报告项目组通过此项目总结经验及不足项目经理第三章、岗位设置根据公司目前的开发过程主要分为分析、开发、测试三个阶段。分析阶段完成用户需求文档的编写,系统总体设计的编写;开发阶段完成设计文档的编写,代码的编写、代码的维护。测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,需求分析工程师,高级软件开发工程师,软件开发工程师,测试工程师的岗位设置。岗位工作内容责任项目经理1、选定项目组成员,成立项目组,安排任务分工。2、与客户进行沟通和协调(业务需求或非业务需求方面),以及需求调研工作。3、制定项目开发计划,包括需求,设计,编码,测试这几个阶段的计划。4、估计项目开发费用。5、制定小组开发进度表,对组内人员工作进度监控。6、对文档的质量进行检查、把关。7、对组内成员的工作进行指导。8、定期召开项目会议,把控项目风险和进度。1、对客户的沟通协调工作负责。2、对软件的开发效率、质量、费用负责。3、对系统总体设计、详细设计文档质量负责。4、对整个项目的进度,质量,成本,风险等负责。需求分析工程师1、

与客户进行沟通,负责需求调研工作,汇总需求分析文档,并编写系统总体设计方案。2、

遇见需求变更时,分析需求变更内容,并于项目经理一起负责对需求变更进行评估。3、

与高级软件开发工程师一起完成详细设计文档的编写。

1、

对用户的需求分析的质量负责。2、

对项目组所有成员正确理解项目需求负责。高级软件开发工程师1、负责系统的模块设计,详细设计文档。2、绘制界面原型demo等,设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等,完成大部分的前端设计,小部分的后端设计。3、负责技术难度大的模块的代码或者公用模块代码的编写、维护。4、对自己负责模块的详细设计、代码编写。5、对小组内人员进行技术指导。1、对组内人员的开发效率负责。2、对产品整体风格负责。3、对项目整体设计流程负责。4、对自己模块的开发效率和质量负责。软件开发工程师1、与项目经理沟通和确认某个模块的需求和实现方法。2、负责某个模块的代码编写、维护。3、对其他模块的代码的维护。4、负责与测试人员的交互,处理测试人员的问题。1、对自己模块的开发效率和质量负责。测试工程师1、根据用户需求分析和系统总体设计,编写测试文档和测试用例。2、对系统的功能、性能、异常进行测试。3、编写测试文档和操作指导手册。1、对测试的质量负责。2、对测试文档和操作手册的质量负责。第四章、项目立项1、需求分析工程师进行应用调查与分析,确认软件的应用需求。2、成立项目评审会,开发总监、部门经理和指定人员必须参加。对项目进行可行性研究,编写项目建议书,评估项目的难度和工作量,形成可行性研究报告。3、根据项目配置的优劣成立项目开发组,制定软件开发计划,确定项目经理,由部门和项目经理共同来确定具体项目配置,知识技能要求,团队成员及团队的角色。第五章、项目计划与监控1、以项目为单位,项目经理负责整个项目的计划、组织和控制。2、在整个项目过程中,项目经理定期检查项目进度和完成情况,调整人员分工和安排。3、项目计划需要变更时,需要明确变更内容并及时汇报。项目经理需要说明客户变更原因并将变更说明提交公司领导审核,以便根据变更内容及时调整计划。。第六章、需求分析1、对用户提出的需求进行分析汇总,梳理用户的业务流程和详细的功能定义。2、做出简单的界面原型,与客户进行有效的沟通,编写需求详细说明书。3、根据现有条件进行估计,制定项目进度,制定详细的软件开发计划。第七章、总体设计1、在该阶段确定总体结构和软件开发架构,文件命名规范,编码规范。可按软件需求划分成子系统,也可直接定义目标系统的功能模块及各个功能模块的关系。3、确定软件模块结构,给出每个功能模块的功能描述、数据接口描述,并完成系统概要设计说明书。4、完成数据库的设计,并编写数据库设计说明书。5、完成的文档需提交公司进行归档管理。第八章、详细设计1、调整前一步设计的不足,确认各模块之间的详细接口信息。2、设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等。3、确定模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。4、汇总并提交所有相关文档,审核确认质量和进度。第九章、软件实现1、项目组根据概要设计说明书、详细设计说明书制定系统实现计划2、有条件的情况下保证开发、测试和生产环境独立。选择软件工具,明确项目成员的职责分工,按照编码规范和详细设计实现软件功能。3、代码应满足结构良好,清晰易读,且与设计一致,符合编码规范。4、开发人员需要软件实现过程中编写软件功能说明,源代码说明。软件功能说明文档应说明项目名称、编号、软件名称和版本号,软件功能、主要功能实现过程。源代码说明应说明项目编号、源代码类名称、编写人员、编写日期、变更履历、功能、全局变量、数据库字典、函数功能、接口。该文档包含在源代码文件中,以注释形式存在。5、项目组进行单元测试和集成测试。开发人员处理测试人员反馈的测试问题,并以书面形式反馈主要问题及解决办法,直至系统运行稳定。6、汇总并提交所有相关文档,提交公司备案,形成项目知识库。第十章、软件测试1、根据单据测试和集成测试两个过程,制定测试计划。按阶段设计测试实例,并将测试结果记录,未通过的的反馈给开发人员调整。2、完成测试文档、操作手册、安装维护手册的编写。第十一章、用户培训1、准备用户培训计划、培训手册2、确定培训时间、培训地点,向用户进行系统使用培训、操作指导及提供软件操作手册。3、保留培训签到表,用户意见等存档。第十二章、系统上线1、制定上线计划,确定上线工作时间表,部署的环境。2、上线操作步骤以及问题处理步骤;3、根据软件特点、客户需求进行软件部署,并记录软件部署和运行结果;4、项目组根据系统运行请款对系统进行优化,记录系统的运行情况、系统问题和处理后的版本。第十三章、系统验收1、验收工作准备,按要求整理项目成果物,打印装订成册,并提交客户方。2、系统主要使用部门及信息技术部门联合成立项目验收小组,从需求功能及技术需求层面对系统进行综合评估和项目成果物的审核,根据验收情况形成系统验收报告3、应用部门及信息技术部门负责人根据系统试运行情况签署验收意见。第十四章、产品维护1、调出项目主要开发人员,按照合同要求安排维护人员对系统进行技术支持。2、系统需求变更或调整,记录变更原因和软件及源代码的版本控制,按照软件变更要求对系统进行维护。第章十五、源码和文档1、源代码/文档管理采用版本控制软件VisualSourceSafe。2、按项目的阶段性完成源代码、文档的上传。项目负责人每天对代码进行检查,开发总监或部门经理定期进行抽查。3、文档分为项目文档和个人文档,文档上传前进行归类和汇总。第十六章、质量检查1、项目负责人每天要检查成员的工作完成情况,特别是新员工的工作进展;2、工作抽查制度:不定期的进行抽检,并将检查对象、检查时间、检查内容、检查结果反馈给被抽检人。3、内部审核制度:针对业务需求、概要设计(功能界面、数据库)或疑难问题组织评审会,提出意见或解决方案。第十七章、文档规范1、需按照软件实施的阶段落实成果物,参照《软件过程提交成果表》。2、如果客户有特殊要求,请按照客户要求的规范完成。并将最终的问题提交公司归档备份。第十八章、软件变更为规范软件变更与维护管理,特制定本制度。本制度适用于应用系统开发完毕并正式上线,移交给客户方之后的运行支持及系统变更工作。1、系统变更工作可分为功能完善维护、系统缺陷修改、统计报表生成。2、需求部门提出系统变更需求,项目经理同开发人员一起根据重要性和紧迫性做判断,确定其优先级和影响程度,并进行相应处理,同时将变更需求整理成系统变更申请表。3、系统变更实现过程按照软件开发过程规定进行,遵循软件开发过程统一的编码标准和版本控制,并经过测试通过才能完成部署和上线。4、在系统变更完成后,开发人员需将系统变更表的执行结果提交给项目经理,测试人员确认执行结果后,项目经理与需求提出方确认签字后,提交至公司进行归档管理软件开发规范SoftwareDevelopmentSpecificationVersion:V1.0Date:2010-06-22Preparedby

DocumentRevisionHistory文档修订记录VERSION版本DATE日期DESCRIPTION内容说明INDIVIDUAL修订人1.02010-06-22初稿

TableofContents目录TOC\o"1-4"\h\z\u1 Introduction简介 51.1 Purpose目标 51.2 Scope范围 61.3 Definitions,Acronyms,andAbbreviations.术语,缩略词 61.4 References引用 71.5 Overview文档组织 72 TheOverallDescription概述 82.1 SoftwareDevelopmentOrganizing开发团队组织结构 82.2 ProjectBaseProcess项目基本流程 92.3 CMMBaseProcessCMM基本过程 102.3.1 SCM软件配置管理 102.3.2 SPP计划策划 122.3.3 SPTO项目追踪 152.3.4 PR同行评审 172.3.5 SQA质量保证 182.4 SDLC生命周期选择 192.5 DevelopmentProcess开发过程 202.5.1 DevelopmentPhase开发阶段 202.5.2 PhaseProduct阶段制品 212.6 RoleDuty角色职责 222.7 Constraints限制 233 SpecificRequirements详细描述 243.1 Precondition前提 243.1.1 SCM配置库 243.1.2 TestEnvironment测试环境 253.2 DevelopmentControlProcess开发控制流程 253.2.1 项目启动和策划阶段 263.2.2 需求分析、设计、编码阶段 263.2.3 提交测试阶段 263.2.4 生产发布、终测 273.2.5 发布后问题反馈修改过程 273.3 TSP团队软件过程 293.3.1 会议组织 293.3.2 沟通问题 293.3.3 代码走查 293.3.4 其它 303.4 PSP个人软件过程 303.4.1 工作原则 303.4.2 日常工作 303.4.3 DE开发工程师 313.4.4 SCME配置管理员 323.4.5 DBA数据库管理员 323.4.6 Deployer发布人员 334 ToolSpecification工具规范 334.1 通用工具 334.2 计划 334.3 需求分析 344.4 设计 344.5 编码 344.6 测试 345 Documents文档 355.1 项目管理文档 355.1.1 项目策划 355.1.2 项目追踪 355.1.3 质量保证 355.1.4 项目终止 355.2 开发过程文档 355.2.1 软件配置管理 355.2.2 会议管理 365.2.3 计划跟踪 365.2.4 评审管理 365.2.5 质量管理 365.2.6 测试过程 365.2.7 问题解决过程 365.2.8 其他 376 Appendix附录 376.1 易于理解的代码 376.2 Log输出 37

Introduction简介一个成熟稳定的组织或者团队,能够减少风险,经常地成功地达成目标。成功的含义是:按时、预算内【即符合成本要求】、符合质量要求。换言之,成熟稳定的团队,能够避免以下问题:组织方面出现问题对需求缺乏管理缺乏计划和控制估算错误同时,还要在以下几个方面做得比较出色:人员调度与工作安排工作量估计预算管理责权分配与平衡执行与监控沟通本文档是软件开发规范,力求使团队打下一个良好的基础,以便逐步成长为成熟稳定的团队。团队需要一个逐步标准、规范的开发过程,在这个过程中,团队得到锻炼,成员能力得到提高,风险得到控制。主要内容是:定义软件开发的流程;定义软件开发的文档格式;定义涉及的角色;定义涉及的信息;描述开发流程;Purpose目标本文档的目标是:统一软件开发团队的流程、文档;促进团队成员的沟通,减少误解;促使程序员书写易维护的代码;提高代码编写效率;使每个成员成为一个高效的程序员;

Scope范围本文档,包含:项目管理的流程;项目策划项目追踪配置管理质量保证同行评审涉及文档;项目计划mpp需求规格说明书SRSDelphi估算项目状态报告配置库样式CheckList评审表变更申请表开发工具的规范;数据库设计工具功能设计工具IDE配置工具Definitions,Acronyms,andAbbreviations.术语,缩略词SPP 项目策划SoftwareProjectPlanningSPTO 项目追踪SoftwareProjectTracking&OversightSCM 配置管理SoftwareConfigurationManagementSQA 质量保证SoftwareQualityAssurancePR 同行评审PeerReviewBaseLine 基线SCCB 软件配置控制委员会SoftwareConfigurationControlBoardCR 变更请求ChangeRequestSDLC 软件开发生命周期SoftwareDevelopmentLifeCycleRUP 统一开发过程RationalUnifiedProcessXP 极限【敏捷方法】eXtremeProgrammingTDD 测试驱动TestDrivenDevelopmentReferences引用《CMM2》《CMM3》Overview文档组织本文档主要分为四大部分:概述;描述了团队组织开发过程的高层视图;TSP和PSP;按照团队和个人描述流程规范;工具规范;描述了开发工具的详细规范;文档;涉及的文档格式;

TheOverallDescription概述本部分是开发团队开发过程的高层描述。它描述了开发过程规范的背景,用来和所有涉及各方就基本过程达成共识。SoftwareDevelopmentOrganizing开发团队组织结构说明:表示公司的行政部门表示公司的逻辑部门实线表示参加产品实现的组织和人员(不表示所属关系)虚线表示工作的汇报关系,如SQAE向SQA经理汇报。

ProjectBaseProcess项目基本流程识别需求识别需求提出解决方案执行项目结束项目投入力量可行性分析报告需求建议书合同项目目标项目定义制定计划计划实施项目终止时间基本流程说明:项目启动:本阶段主要是进行可行性分析,定义项目,识别需求;制定计划:本阶段主要是计划策划,估算工作量,制定具体的可执行的计划;计划实施:本阶段主要是实施计划,完成计划中的各项任务,报告计划状态;项目终止:计划执行完毕,总结项目;

CMMBaseProcessCMM基本过程SCMSCMSQAWorkAreaBaseLineSPPSPTOPRChange&PR基本过程说明:SCM:软件配置管理,所有活动的基础,一切制品必须放入配置库;SPP:软件项目策划,估算工作量,制定详细计划【项目的制定计划阶段】;SPTO:项目追踪,报告项目状态,评估并更新计划【项目的计划实施阶段】;PR:同行评审,进入基线的前提条件,降低风险,提高质量的有效手段;SQA:质量保证,预防风险的有效手段;SCM软件配置管理配置管理主要解决:版本变更

确定配置项和基线确定配置项和基线确定记录和报告配置项状态策略定义配置项定义访问权限访问权限确定配置管理工具确定SCCB成员确定配置库及其目录结构项目启动确定配置管理人员Vss、SVN或VSTS一般由:项目经理、技术经理、客户经理、质量保证人员、配置管理等项目的核心成员人员组成。在配置项(基线)生成和基线变更时配置库结构权限表基线表确定基线变更过程定义备份与病毒策略定义备份与病毒策略按计划执行配置管理活动SCM计划制定和评审记录和报告基线的状态在配置项(基线)生成和基线变更时至少在项目的每个里程碑结束时进行备份1建立配置库2对项目组指导和培训3对配置项的日常管理4参加评审会议5定期备份和病毒防护6实施发布7进行归档8配置管理计划的维护配置管理情况总结计划完成总结配置项是否完整、基线的变化情况统计、审核发现问题情况统计、改进建议等,记入项目总结报告定义测试和发布归档方式SCM计划配置审核状态报告审核报告SPP计划策划计划策划的核心是工作量估算

从历史库中识别可用的信息从历史库中识别可用的信息项目启动从公司的数据中识别项目相似的信息,如项目的总结报告和其它的数据或文挡项目需求、合同以及《软件项目任务书》等相关要求选择项目生命周期识别项目的特点了解各个生命周期的特点确定适合项目生命周期模型从对用户需求的理解是否充分;人员介入项目的方式;产品的交付方式;项目规模大小和风险高低;对项目系统架构的理解是否充分等方面考虑RUPXPRUPXP依据定义的过程,识别必须完成的任务和工作产品分解时考虑的活动事项要详尽,不要漏掉:教育或培训的需要;参与评审文档;参与项目会议;确定、记录和显示各种与质量相关和与过程相关的数据;传播时间文档制品如:计划、SRS等规模估算制定工作产品的评审计划估算表估算结果评审计划

识别项目需要使用的工具和设施识别项目需要使用的工具和设施风险评估识别与其他组之间的关系确定项目的跟踪情况确定项目的组织结构和职责识别项目需要进行的培训制定时间进度表在已知的停工和节假日时间不安排工作;不考虑加班时间;考虑测试及评审中发现问题的返工需要的时间;考虑客户需求的稳定情况;考虑各项活动的交接和信息的传递时间;识别出的风险对活动的影响;在安排工作时应考虑整个项目的效率因素,在正常估算的工期内增加20~40%的余量,分配到项目的所有活动中――特别是关键路径中的活动中工具指南风险表协同工作计划项目跟踪计划组织和角色定义培训计划时间进度表

编写项目开发计划书及其相关计划书编写项目开发计划书及其相关计划书计划评审计划管理和控制SQA计划SCM计划SDP计划Test计划风险计划SPTO项目追踪软件项目开发计划软件项目开发计划日常进度跟踪定期报告项目状态周例会里程碑总结需要调整计划修改和评审计划纠正和预防当出现:规模、工作量、进度和关键计算机资源超出规定的阈值;项目总的原始计划不再可能达到;计划和实际的任务安排明显不相符,起不到指导作用;对客户的承诺不能实现时并满足下列条件时:导致计划变化的原因是知道的,并清楚计划怎么样改变;提议的项目进度计划变动是可达到的;提议的项目进度计划已经得到了必须完成他的人员的许诺在周例会上向项目组的成员传达客户方面的信息、交流项目近期进展情况、未完成的工作、工作中存在的问题、好的经验以及部署下两周的工作,以使得计划和实际的开发工作相符合总结到目前为止项目开发总体状况、项目活动进展情况(一般通过甘特图来体现)、活动项进展(应特别关注未完成活动项)、本阶段好的经验和典型问题、过程改进建议、客户方面新要求,项目评审、培训执行情况、项目风险等其它方面存在的问题,分析在进度、工作量和缺陷等方面收集的数据并根据情况制定相应的措施和调整时间进度表,保持项目正常、健康开发个人工作周报时间进度表数据收集其它组跟踪周报告分析和预测里程碑报告项目总结项目总结报告PR同行评审评审准备评审准备制定本次评审计划评审跟踪正式评审评审人员进行预审,在指定的时间内给出预审意见,反馈给评审组长和作者。评审组长将缺陷(或问题)及工作量汇总填入《评审报告》。要评审的文档已经完成且文档符合标准模板要求,项目经理指定评审组长,发放工作产品及参考资料,必要时确定评审重点(参见评审指南)工作产品评审计划将报告抄送相关人员项目经理组织解决发现的缺陷(或问题)作者根据评审结果进行必要的改进验证人验证最终修正评审通过的产品作为基线的要得到SCCB批准评审通知表个人评审表评审报告SQA质量保证软件项目启软件项目启动指定SQAE制定质量保证计划并评审通过进行审核发现不符合项计划完成?NoYes制定质量审核计划详细的审核时间安排至少在正式审核前2天发给项目经理或技术经理、SQA经理审核、得到项目或技术经理认可询问相关人员,对项目组的过程执行情况进行审核检查文档和其他一切相关的证据,验证项目组的活动总结审核情况将报告初稿与项目经理及有关人员进行讨论,落实问题负责人;形成正式报告后发送给高级管理者、SQA经理、项目经理、项目成员等相关人员项目质量保证情况总结SQA计划SQA审核计划CheckListSQA审核报告SQA差异报告SDLC生命周期选择当前比较成熟稳定的SDLC是:WaterFallRUPXP其中:RUP和XP是迭代式开发过程,风险是可控的。RUP的优点是过程清晰、文档齐全,但是过于庞杂,比较适合大规模的团队;XP的优点是过程简洁、推崇简单,但是不注重文档,难于交接,适合小规模团队。对于中等规模的团队来说,应该基于RUP和XP,进行裁剪,找到适合的SDLC:SDLC的核心是:迭代式和TDD从全局看:Use-CaseDriven用例驱动基于Architecture迭代和递增的从微观看:TDD测试驱动ReFactor重构Pair结对编程

DevelopmentProcess开发过程需求需求分析概要设计详细设计编码单元测试集成测试集成测试计划系统测试计划系统测试验收测试形成文档发布维护SRSHLDCODEDD策划软件配置管理软件质量管理评审管理DevelopmentPhase开发阶段需求分析阶段需求收集需求总结总体设计阶段总体架构部署模型概要设计阶段模块划分数据库设计详细设计阶段具体实现编码阶段测试用例Coding单元测试测试阶段测试用例测试修正发布阶段安装测试安装系统维护PhaseProduct阶段制品需求阶段SRS:需求规格说明书总体设计阶段总体设计说明书概要设计阶段HLD:概要设计说明书DB:数据库设计DFD:数据流图UI:用户界面详细设计阶段DD:详细设计说明书编码阶段TestCase:测试用例Coding:源代码UTTestResult:单元测试报告测试阶段TestTask:测试任务书TestCase:测试用例TestResult:测试报告TestApprovals:测试总结发布阶段发布申请书

RoleDuty角色职责角色责任研发经理【研发团队】为软件项目提供足够的资源.保证SQA小组的独立性.解决SQA检查时发现的问题.审批对外的承诺。定期审查SCM、SQA、项目计划和跟踪的相关活动。规定系统需求;将系统需求分配给硬件、软件和其他成分;规定硬件、软件和其他成分的界面;监控设计和开发以保证他们符合其规格说明;代表公司下达任务书。SA团队负责网络工程计划的制定及实施;负责对客户的技术支持与培训;负责工程服务部内部人员素质与技术培训负责系统集成工程标识、测试、验收及质量保证;负责硬件、网络和系统软件产品的最后交付;负责组织自产软件储运、防护、交付和安装;负责工程项目的配置管理QA研究制定测试规范和方案;参加实施测试和质量保证过程;对系统测试中发现的缺陷进行验证;负责组织软件项目任务书、开发计划、里程碑等管理评审;负责公司的配置管理;项目经理负责软件和硬件整个项目的协调、管理进行需求分析,并进行文档的编写组织技术评审等活动组织制定项目开发计划(SDP)、风险管理计划等计划配合与协调SQA和SCM小组的活动.管理项目组,执行SQA方针和过程以及SDP.监督和跟踪SDP、项目估算SA负责硬件工程的实施;负责系统的上线;负责系统的维护;SCCB授权建立软件基线和标识配置项/单元;审查和审定对软件基线的更改;审定由软件基线库制造的产品的生成。SCM协助软件项目经理制定SCM计划、维护SCM计划;制定并维护项目标识规范;按时归档配置项;标识并管理置于配置管理过程之下的软件工作产品集合;进行软件项目的软件基线生成、管理和备份;软件配置状态的统计和审计,并向项目组、软件项目经理、高级管理者汇报有关活动情况;将基线的变更情况通知受影响的组和个人;保存并管理各项评审记录、与项目相关的技术文档、标准和规程。SQC依据测试计划模板制定测试计划.执行测试计划进行测试并记录测试发现的缺陷提供测试报告.SQA主要是策划软件质量保证活动、检验软件产品或活动对可用的标准、需求和规则的遵守程度、组织处理项目内部不能解决的不一致问题;定期报告检查情况,发现偏差组织制定纠正、预防措施并监督更正;参与制定SQA计划,实施SQA活动,并向SQA经理、软件项目经理项目组、高级管理者汇报有关的情况。DBA负责DB的创建和维护;为DE提供一个稳定的环境;DE按软件开发计划进行开发,并记录相关数据;遵守公司质量管理体系的要求.Deployer根据发布申请,提取代码,发布系统和SA、DBA一起配置环境重构和重建系统Constraints限制

SpecificRequirements详细描述本部分按照角色划分详细描述开发过程。Precondition前提SCM配置库目录结构开发库:开发工作区文档和代码项目文档项目启动项目策划项目计划项目报告开发文档需求设计测试代码代码目录参考资料客户资料等等基线库:评审通过后的文档《文档同开发库》测试库:测试代码和测试发布包文档计划用例测试报告代码版本1版本2参考资料产品库:测试通过后的文档和代码项目交付制品项目总结验收报告。。。项目产品版本1版本2权限测试库:测试人员可以读写其它人员只能读,不能增加、修改和删除基线库:只能增加,不能删除和修改产品库:只能增加,不能删除和修改开发库:TestEnvironment测试环境测试需要一个独立的环境DB独立FTP等资源独立Pass9等外部系统独立最好是一个单独的局域网环境,完全和开发分开开发是环境测试是环境每次测试,应当是一个完整的测试过程安装系统DBWebAppServerClient其它配置系统DB配置AppServer配置系统初始化清除所有历史数据执行初始化脚本,插入初始数据测试系统DevelopmentControlProcess开发控制流程项目启动和策划阶段本阶段的关键是定义项目、估算工作量和制定详细计划。一个软件项目的正式启动从《软件项目任务书》的下达开始。任务书中写明项目的基本信息及相关责任人和详细分工,规定项目必须提交的产品清单。任务书由研发经理或者项目负责人起草,研发经理批准后下达给相关负责人。项目任务书必须为打印纸质文档,由相关人员签字确认后,入配置管理库归档。软件项目任务书主要作用是明确项目人员职责以及各组之间的协调确认。估算工作量,从确认需求后开始。由项目经理指定评估人员,先按照头脑风暴法估计各个子系统或者模块的难易程度,然后按照Delphi法估算各个部分的工作量。项目经理和PMO成员,根据估算的工作量,制定项目计划。SQA和SCM分别制定各自的计划。SCM需要确定资源库的目录结构和权限结构。项目经理召集PMO、SQA、SCM评审及审核项目计划、SQA计划、SQA审核计划、SCM计划和测试计划。对于发布后的一般性程序修改,不需要下达软件项目任务书。对于关系重大,需要各组人员协调工作的重大修改,项目负责人可以以任务书的形式明确职责、协调关系。测试负责人评估测试资源【人员及机器】,并决定测试人员是否介入项目的需求分析和设计阶段。需求分析、设计、编码阶段本阶段的关键是评审和修订控制,关键评审需要需求、设计、编码、测试、项目管理、用户等的参与。需求阶段,需求分析人员收集需求,根据SRS模版,作出需求规格说明书。设计阶段,设计人员根据总体设计、概要设计、数据库设计和详细设计,作出设计文档。编码阶段,编码人员根据详细设计,设计单元测试用例,编写代码,进行单元测试。关键评审:SRS评审,设计评审,代码走查提交测试阶段项目启动后,项目经理填写测试任务通知单,将测试任务下达给测试组。概要设计评审完成后,由各子系统或者模块的负责人测算完成时间,在确定完成时间后(正式开始编码前)将测试任务通知单提交给项目测试负责人,项目测试负责人审核通过在通知单上签字后返回给子项目负责人。开发及单元测试完成后,由开发人员将测试内容提交配置管理员入测试库后,将测试任务通知单提交给发布人员申请测试发布。发布人员将测试库中本次测试的内容发布到测试机后,在测试任务通知单上签字后,提交给测试人员开始测试。测试完成后,测试人员在任务单上填写测试意见后,交测试负责人确认后,返还给开发人员。如测试没有通过,开发人员修改测试内容,进入下一个测试流程。如通过测试,开发人员将测试任务通知单提交给项目负责人,由项目负责人、SCCB签字确认后,提交配置管理员将测试内容入基线库。过程关键:发布实施人员确保发布到测试机上的源程序在配置管理库中得到了有效的标识。生产发布、终测程序通过测试入库以后,根据需要,由项目的负责人负责填写发布申请单。发布申请单由项目测试负责人、配置管理员、SCCB、客户代表、研发经理签字确认后,由项目负责人提交给实施发布人员。发布人员拿到签完字的发布申请后,才能从基线库中提取程序向生产机上发布。如以上发布确认人员没有全部签字同意发布,必须由项目经理签字同意后发布。程序发布到生产机上以后,进入终测【UAT】流程。测试人员和用户代表要对生产机上的程序进行最后测试,确保生产机上的系统符合需求。项目负责人负责同用户协调,项目负责人、测试人员和用户共同编写测试用例。项目负责人将《终测意见书》提交三方签字,根据签字意见决定修订系统或者提交正式发布。终测出现的问题修改按照基线变更流程进行。实施人员只有拿到有三方签字的《终测意见书》后才能将系统正式公开发布。系统正式发布三天之后一周之内,由实施人员负责到用户处取得有用户主要负责人签字的《系统运行报告》,项目负责人负责监督执行。根据《系统运行报告》做相应的处理。过程关键:发布到生产机上的程序都在基线库中得到了有效的标识。发布后问题反馈修改过程系统发布之后,用户反馈的意见要形成问题清单或者变更申请单,记录需要修改的地方,提交给项目负责人。项目负责人负责判断改动是否会影响需求或者设计,负责将任务分配给相关人员进行修改。修改完成后,提交测试直至发布。这个阶段的最重要的是保证所做的修改(文档、代码)都在配置管理库的基线库中得到体现。即基线库中的文档和代码要进行同步更新,关键是发布人员严格根据发布申请单进行控制,并确保发布的代码都是从基线库中取出的。没有经过流程直接要求发布的,发布人员必须予以拒绝。

TSP团队软件过程会议组织会议前,确定会议主持人和记录员向参与会议人员发送会议资料参与会议人员阅读会议资料确定会议主题、日期时间和地点注意:留出阅读资料的时间确定会议议程准备会议用品【如投影仪等】重要会议,需要签到会议开始前,申明会议纪律发言时间限制发言顺序除主持人外,不得打断别人记录员记录会议纪要会议后,发送会议总结沟通问题原则目标明确明确反馈反复沟通请求-答复当有疑问时,发出请求明确求助对象,指定第一对象和辅助对象第一对象接收到请求后,不能及时答复的应当转发给自己认为合适的答复人,并告知求助人求助方式【高-低】:当面,电话,邮件公告代码走查项目负责人指定代码走查对象相互走查循环走查代码走查发现的问题首先记录告知代码作者更新CheckList其它PSP个人软件过程工作原则计划管理:把你想做的写下来行为管理:按照你写下来的去做报告管理:把做的事情记录下来跟踪管理:出现的问题要设法解决日常工作每日工作每日早晨,规划当日工作;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论