软件过程规范示例
- 格式:doc
- 大小:32.82 KB
- 文档页数:11
软件过程规范模板1. 总则最大限度提高Q&P (质量与生产率),提高Q&P的可预见性,是每一个软件开发机构的最大目标。
而Q&P 依赖于三个因素:过程、人和技术,因此要实现Q&P 的提高,除了加强技术能力,引进、培育更多优质技术人才之外,规范、改进机构的过程是一个十分重要的手段。
我们希望通过在制定软件过程规范标准,并在软件开发实践中不断地完善、修订,提高Q&P 和Q&P 的可预见性。
本规范采用CMM (软件过程成熟度模型)的指导,吸收RUP、XP、MSF、PSP、TSP等过程规范指南的思想、方法及实践,充分结合xxx技术开发部的实际情况,引入先进的技术、方法、工具,为公司的软件开发工作提供一部详细、可操作的过程指南。
在本规范的第一版本中,主要包括管理过程和开发过程两个部分,管理过程中包括项目管理过程、需求变更管理过程、配置管理过程。
对于软件开发项目中的其它的一些过程将在实践中逐步补充、完善。
2. 项目管理过程规范项目管理过程主要包括三个阶段:项目立项与计划、项目实施、项目关闭。
2.1 项目立项与计划参与人员:技术开发部指定的项目负责人(包括前期负责人、正式的项目经理)、立项申请人、[相关最终客户]以及实施该项目的开发组队成员;入口准则:接到经公司总经理或副总经理批准的市场部门的《软件开发立项申请表》;出口准则:立项申请人签字确认了经修订正后的正式《软件项目计划》,并通过《工作任务卡》下达了开发任务,开发工作正式开始;输入:经审批的《软件开发立项申请表》、与需求相关的业务资料;输出:《软件项目计划》、《软件需求规格说明书》、《开发任务卡》;活动:1. 接到《软件开发立项申请表》后,技术开发部经理指定前期负责人,并告知立项申请人;2. 前期负责人阅读《软件开发立项申请表》后,通过与立项申请人的沟通、阅读立项申请人提交的材料、通过立项申请人与客户直接交流等方式,了解项目目标、范围与基本需求;并形成最初的《软件需求规格说明书》;3. 前期负责人会同技术开发部经理以及其它相关人员,制定最初的《软件项目计划》,并组织评审;4. 向立项申请人提交最初的《软件项目计划》;5. 最初的《软件项目计划》通过立项申请人的确认后,项目经理计划安排需求分析;6. 需求分析完成后,形成正式的《软件需求说明书》,提交立项申请人确认;(需求分析过程参见开发过程规范部分)7. 根据立项申请人确认后的《软件需求说明书》,项目经理组织进行软件高层设计,并对工作任务进行分解,并根据实际需要向技术开发部经理申请资源,组建项目组队;8. 项目经理根据工作任务分解,下发《工作任务卡》,并协同组队成员进行任务估算;注:工作任务包括模块开发任务、其它任务(如安装);模块开发任务主要包括:详细设计、编码和单元测试9. 任务估算完成后,组队成员向项目经理提交《个人进度安排》(以甘特图的形式表示),项目经理根据每个组队成员的《个人进度安排》修订《软件项目计划》(必须包括总的计划甘特图),并提交立项申请人确认;10. 立项申请人确定后,项目经理根据软件项目计划基线,补充《工作任务卡》,下发到每个组队成员,开发工作开始。
软件研发流程规范范本详细介绍软件项目的开发流程步骤在当今信息化发展的浪潮中,软件研发已经成为了许多领域中不可或缺的一环。
而规范的软件研发流程则是保证软件项目成功的关键之一。
下面将详细介绍软件研发流程规范范本,希望能对大家有所启发。
第一步:需求分析软件研发的第一步是需求分析。
在这一阶段,项目团队需要与客户充分沟通,了解客户的需求与期望,明确软件项目的目标和范围。
通过讨论、调研和文档整理,确定项目的功能和特性,为后续的开发工作奠定基础。
第二步:设计阶段设计阶段是软件研发的核心环节。
在这一阶段,项目团队将根据需求分析得出的结果,制定软件的整体架构和详细设计方案。
包括数据库设计、界面设计、业务逻辑设计等各个方面。
设计阶段的质量直接影响到后续开发和测试的效果,因此需要严谨细致。
第三步:编码与测试编码与测试是软件开发的实施阶段。
开发人员根据设计文档和需求规格书进行编码,将设计方案落实为代码。
同时测试人员也要进行单元测试、集成测试、系统测试等各个层面的测试,确保软件的功能和质量达到要求。
第四步:验收与交付在开发和测试完毕后,项目团队需要将软件交付给客户进行验收。
客户根据需求和预期对软件进行测试和评估,提出修改意见和改进建议。
如果软件符合客户要求,则可以完成验收并正式交付使用。
第五步:维护与升级软件项目交付后,并不是终点,而是一个新的起点。
随着客户需求的变化和市场环境的变化,软件需要不断进行维护和升级。
项目团队需要及时响应客户的反馈,解决bug和问题,保证软件的稳定性和可靠性。
总结软件研发流程规范范本涵盖了项目从需求分析到设计、开发、测试、验收、交付、维护等全过程。
严格遵循规范范本可以有效提高软件项目的成功率和效率,确保项目按时交付、质量优良。
软件研发是一个复杂的系统工程,需要多方面的配合和协作,只有通过规范的流程管理,才能实现项目的成功。
希望大家在日常的软件研发工作中能够养成规范作业的习惯,不断提升自身的专业技能和团队协作能力,为软件项目的成功贡献自己的力量。
计算机软件测试规范计算机软件测试规范是指对软件测试过程中应遵循的一系列规则和要求的描述。
它的目的是确保软件测试的效率和质量,提高软件产品的稳定性和可靠性。
下面是一份计算机软件测试规范的示例,包括测试计划、测试用例设计、测试执行、缺陷管理等方面的规定。
一、测试计划1. 编制详细的测试计划,明确测试的目标、范围、资源和进度。
2. 测试计划应根据实际项目情况进行调整和更新。
二、测试准备1. 确定测试环境,并对测试环境和系统进行合理的配置和准备。
2. 确保测试所需的测试数据准备就绪。
3. 检查测试工具和相关软件是否安装完整并正常运行。
三、测试用例设计1. 根据需求规格说明书设计测试用例,确保覆盖功能点和场景。
2. 测试用例应具有可执行性、可复现性和可验证性。
3. 设计测试用例时应注重划分等价类和边界条件的测试用例。
四、测试执行1. 根据测试计划进行测试用例的执行,并记录测试结果。
2. 在测试执行过程中要及时进行测试记录和缺陷报告,并将缺陷报告提交给相关人员进行处理。
3. 当测试遇到问题时,应及时与相关人员沟通解决。
五、缺陷管理1. 对测试中发现的缺陷,应及时记录并进行分类和优先级划分。
2. 缺陷应进行合理的跟踪和管理,直到完成修复并确认已解决。
3. 完成对缺陷的跟踪和管理后,进行缺陷的统计和分析,并提供给相关人员进行参考。
六、测试评审1. 定期进行测试评审,对测试过程和测试结果进行评估和总结,提出测试改进措施的建议。
2. 对测试评审的结果进行记录和归档。
七、测试文档管理1. 对测试过程中产生的所有文档,包括测试计划、测试用例、测试结果、缺陷报告等进行管理和归档。
2. 对测试文档进行版本控制,并进行适当的备份。
八、沟通与协调1. 在测试过程中要与开发人员和其他相关人员进行充分的沟通,及时解决问题和协调工作。
2. 对重要的问题和进展要进行记录和报告。
上述是一份计算机软件测试规范的示例,可以根据具体项目的需求和实际情况进行调整和完善。
软件开发流程规范软件开发流程规范是指在软件开发过程中,为了保证开发工作能按照一定的标准和步骤进行,提高开发效率和质量,制定的一系列规范和流程。
下面是一份软件开发流程规范的示例,包括需求分析、设计、编码、测试和发布等阶段。
一、需求分析阶段1.需求收集:与客户或者产品经理充分沟通,了解用户需求和系统功能。
2.需求分析:将收集到的需求进行分析和整理,明确系统的功能和性能要求。
3.需求确认:与客户或者产品经理确认需求的准确性和完整性,并进行文档化。
二、设计阶段1.概要设计:根据需求,制定系统的整体架构和模块划分,明确系统的功能模块和各模块之间的关系。
2.详细设计:对每个功能模块进行详细设计,确定数据结构、算法、界面设计及接口设计等。
3.设计评审:组织设计评审会议,邀请项目组成员参与,确保设计的合理性和可行性。
三、编码阶段1.编码规范:制定统一的编码规范,包括命名规范、注释规范、代码格式等。
2.模块编码:按照设计规范,完成各功能模块的编码工作。
3.代码审查:组织代码审查会议,邀请项目组成员参与,对代码进行检查和审查,发现问题及时修改。
四、测试阶段1.单元测试:对各个功能模块进行独立的单元测试,保证每个模块的正确性和稳定性。
2.集成测试:将各个功能模块进行集成,进行整体性的测试,验证模块之间的接口和交互是否正常。
3.系统测试:对整个系统进行全面的测试,包括功能测试、性能测试、负载测试等。
4.回归测试:在每次修改或新增功能后,重新进行各个层次的测试,确保修改不会影响原有功能。
五、发布阶段1.版本控制:对软件进行版本管理,确保每个发布版本有相应的版本号和标识。
2.部署发布:将通过测试的软件发布到生产环境中,对环境进行配置和部署。
3.交付文档:准备相应的用户文档、技术文档和运维手册等,以便用户使用和维护。
4.验收测试:邀请客户或者产品经理进行验收测试,确保软件符合用户需求和预期效果。
以上只是一个简单的软件开发流程规范示例,实际的开发流程规范可能会更加复杂和详细。
软件发布流程规范范本软件发布是指将开发完成的软件产品发布给最终用户使用的过程。
为了确保软件发布过程的顺利进行,减少潜在的错误和风险,制定一套规范的软件发布流程非常重要。
本文将提供一份软件发布流程规范范本,以供参考。
一、需求确认与计划1. 确定软件发布的版本号,并记录至版本管理系统。
2. 建立需求确认与计划的沟通渠道,包括与开发团队和测试团队的沟通。
3. 确认软件的功能、性能和质量需求,并制定相应的测试计划。
二、软件开发与测试1. 开发团队按照需求文档进行软件开发,并及时提交代码至版本管理系统。
2. 测试团队根据测试计划进行软件测试,包括功能测试、性能测试和兼容性测试等。
3. 测试团队及时反馈测试结果给开发团队,存在的问题应及时修复。
三、软件评审与授权1. 进行软件评审,评估软件的质量和合规性,确保软件符合需求和规范。
2. 确认软件发布的授权人员,并记录至授权管理系统。
3. 授权人员对通过评审的软件进行授权,允许其进入发布环节。
四、软件打包与准备1. 开发团队完成软件打包,生成可执行文件或安装包。
2. 确保软件的安装包和相关文档没有遗漏,并进行备份。
3. 确认软件的发布路径,包括服务器地址、目录结构等,并记录至发布管理系统。
五、软件发布与验证1. 进入发布环节前,根据发布管理系统的记录,确认软件发布的版本和路径信息。
2. 按照事先确定好的发布路径,将软件包上传至发布服务器。
3. 验证软件的发布是否成功,可进行回归测试和验收测试等。
六、软件文档与培训1. 更新软件的用户文档、操作手册等相关文档,并发布至适当的文档管理系统。
2. 如有需要,进行软件用户培训,确保用户能正确使用和操作软件。
七、软件发布后续支持1. 监测用户对软件的使用情况和反馈,及时解决用户遇到的问题。
2. 根据用户反馈和需求变化,若有必要,进行软件的升级和更新。
八、软件发布流程的优化1. 定期评估和优化软件发布流程,发现问题并加以改进。
软件开发流程规范范本第一部分:引言在软件开发领域,流程规范是确保项目顺利推进和高质量交付的关键。
本文旨在提供一份软件开发流程规范范本,以帮助开发团队参考和制定适用于自身项目的开发流程规范。
通过合理规划和执行软件开发流程,可以提高开发效率、降低风险,并最终实现项目目标。
第二部分:需求分析1. 需求收集与整理- 确定合适的需求收集方法,如面谈、调查问卷或访谈。
- 将所有收集到的需求进行整理和分类,确保需求清晰可理解。
2. 需求审查与确认- 与相关方共同审查需求,确保需求的准确性和可行性。
- 确认需求并制定相应的需求文档。
第三部分:设计与规划1. 系统设计- 根据需求文档进行系统设计,包括系统结构、模块设计等。
- 确定软件界面设计,以保证用户友好性。
2. 数据库设计- 设计数据库结构,包括表结构、关系等。
- 确定数据库访问方式和安全性控制策略。
3. 开发规划- 制定开发计划,明确开发阶段、人员分工、时间节点等。
- 确定开发环境和工具,以提高开发效率和质量。
第四部分:开发与测试1. 编码与单元测试- 开发人员按照设计要求进行编码。
- 执行单元测试,确保代码的正确性和可靠性。
2. 功能测试与集成测试- 测试团队执行功能测试,验证系统是否满足需求。
- 执行集成测试,检查各个模块之间的交互和整体功能。
3. 性能测试与安全测试- 进行性能测试,检查系统在高并发和大数据量时的表现。
- 进行安全测试,确保系统的安全性和防护能力。
第五部分:部署与维护1. 部署准备- 建立部署计划,明确系统上线时间和部署步骤。
- 准备部署环境,包括服务器配置、网络设置等。
2. 系统部署- 将软件部署到目标环境,并进行配置和安装。
- 验证部署的软件和环境是否正常运行。
3. 系统维护与优化- 针对系统出现的问题进行及时维护和修复。
- 优化系统性能,提升用户体验。
第六部分:项目管理与文档管理1. 项目计划和进度管理- 制定详细的项目计划,包括里程碑和任务分解。
软件开发流程规范模板1. 引言软件开发流程规范是为了确保软件开发项目的顺利进行和高质量交付而制定的一系列规范和标准。
本文将介绍一个通用的软件开发流程规范模板,以帮助开发团队在项目中遵循一致的开发流程,提高开发效率和质量。
2. 需求分析阶段2.1 需求收集在需求分析阶段,开发团队需要与客户充分沟通,了解客户的需求和期望。
可以通过会议、访谈、问卷调查等方式收集需求信息,并记录在需求文档中。
2.2 需求分析和确认开发团队应对收集到的需求进行分析和梳理,明确需求的优先级和可行性。
在与客户确认后,将需求文档进行更新和完善,并与客户进行最终确认。
3. 设计阶段3.1 概要设计在概要设计阶段,开发团队需要根据需求文档,设计软件的整体架构和模块划分。
概要设计应包括系统架构图、模块划分图等。
3.2 详细设计在详细设计阶段,开发团队需要对每个模块进行详细设计,包括数据库设计、接口设计、算法设计等。
详细设计应包括设计文档和相应的图表。
4. 编码和测试阶段4.1 编码根据详细设计文档,开发团队进行编码工作。
在编码过程中,应遵循一定的编码规范和标准,确保代码的可读性和可维护性。
4.2 单元测试在编码完成后,开发团队进行单元测试,测试每个模块的功能和性能是否符合要求。
单元测试应包括测试用例的编写、执行和结果记录。
4.3 集成测试在单元测试通过后,开发团队进行集成测试,测试各个模块之间的接口和交互是否正常。
集成测试应模拟真实的环境和场景,确保软件的稳定性和兼容性。
5. 部署和维护阶段5.1 部署在软件开发完成后,开发团队将软件部署到目标环境中。
部署过程应包括安装、配置和测试,确保软件能够正常运行。
5.2 维护在软件部署后,开发团队需要对软件进行维护和支持。
维护工作包括故障排查、功能更新、性能优化等,以确保软件的稳定性和持续改进。
6. 结束语本文介绍了一个通用的软件开发流程规范模板,包括需求分析阶段、设计阶段、编码和测试阶段以及部署和维护阶段。
软件生产工艺流程软件生产工艺流程是指在开发软件的过程中,按照一定的规范和流程进行工作的一系列操作。
下面是一个简单的软件生产工艺流程示例:1. 需求分析阶段首先,软件开发团队需要和客户进行沟通,了解客户的需求和期望。
通过和客户的沟通和讨论,确定软件的基本功能和特点,并记录在软件需求文档中。
2. 设计阶段在这个阶段,软件开发团队根据需求文档开始进行软件的设计。
设计包括软件的架构设计、模块设计和界面设计等。
通过使用UML(统一建模语言)等工具,制定详细的设计文档。
3. 编码阶段在编码阶段,软件开发团队根据设计文档进行编码工作。
开发人员使用编程语言来实现设计的各个模块,并使用版本控制工具来管理和追踪代码的变更。
同时,需要进行单元测试,以验证编写的代码的正确性和稳定性。
4. 软件测试阶段在软件的开发过程中,需要进行不同层次的测试,包括单元测试、集成测试和系统测试等。
通过测试,可以发现和修复软件中的各种问题和缺陷。
软件测试团队使用各种测试工具和方法,确保软件的稳定性和可靠性。
5. 软件发布和部署阶段当软件经过测试并且没有严重问题后,可以发布给客户使用。
在这个阶段,软件开发团队会进行最后的彻底测试,并准备安装和配置软件的部署包。
通过软件的发布和部署,用户可以正式开始使用软件。
6. 使用和维护阶段一旦软件发布并投入使用,就进入了使用和维护阶段。
这个阶段需要软件团队进行用户支持和维护工作,及时解决用户反馈的问题并提供技术支持。
7. 升级和迭代阶段随着时间的推移,软件可能需要进行升级和迭代。
在这个阶段,软件团队根据用户反馈和需求,对软件进行改进和升级,可以增加新的功能,提高性能,修复软件中的缺陷等。
综上所述,软件生产工艺流程是一个按照规范和流程进行工作的过程。
从需求分析到设计、编码、测试、发布和部署,再到使用和维护,最后再进行升级和迭代。
每个阶段都需要严格按照相应的工作和流程进行,以确保软件的质量和稳定性。
软件过程规范一. 概述本文主要对于软件过程的整体规范进行较为完整的描述,来源于个人的项目经验、所在team使用的软件过程以及个人的一些想法总结而成。
文章按照对项目中采用的软件过程进行描述,之后对保证整个软件过程有效执行的工具、制度等进行描述。
本文意并不在标明这个软件过程是多么的优秀,关键是要找到适合自己团队的软件过程,没有最优秀的,只有最合适的。
二. 软件过程此软件过程是根据T eam以及XP制定的,图示如下:2.1. 里程碑计划制定控制在一个月范围内,每个里程碑应有突出性进展的部分,里程碑版本的发布具有很强的意义,每个里程碑版本在功能或非功能性方面应有明确的对比。
在每个里程碑结束时发布里程碑版本并同时给予项目组一定的休息时间。
2.2. 迭代计划制定控制在一至两周范围内,每个迭代周期结束后对客户发布迭代版本。
2.3. 迭代过程2.3.1. 需求分析在迭代的需求分析中主要为对划定在此迭代阶段的需求进行详细的分析,产生出用户故事。
2.3.2. 设计设计主要通过对用户故事进行OOAD产生出符合此用户故事的领域设计,以此建立的领域模型结合架构构成完成用户故事的设计,产生CRC Card,最后进行情景测试(Scene Test)。
设计时需要遵循的三个原则:l Domain Model驱动以Domain Model作为驱动进行设计,通过对用户故事的OOAD 产生用户故事的Domain Model,基于此根据架构完成整个用户故事的设计。
l Simple简单够用,这个是最为难掌握的,说的直白点就是先采用能够想到的一个最简单的设计去实现功能,至于这个设计是不是那么的合理先不要太多的去理会,在完成了功能后可以不断的对其进行重构,其实其原理就是”一步一个台阶,直至云霄,而不是一步登天”,每个团队的不同仅在于这一个台阶能迈多高而已。
l 集体参与迭代过程的设计由项目组共同参与,项目组成员可随意的发表各自对于系统实现的设计的想法。
编者说明:软件过程管理中的一个很重要的工作就是制定项目、组织的过程规范,它是软件开发组织行动的准则与指南。
该文档就是一个实际的过程规范的实例,通过该实例,相信对大家根据自身情况制定符合要求的项目过程规范、组织过程规范有很好的借鉴作用。
1.总则最大限度提高Q&P(质量与生产率),提高Q&P的可预见性,是每一个软件开发机构的最大目标。
而Q&P 依赖于三个因素:过程、人和技术,因此要实现Q&P的提高,除了加强技术能力,引进、培育更多优质技术人才之外,规范、改进机构的过程是一个十分重要的手段。
我们希望通过在制定软件过程规范标准,并在软件开发实践中不断地完善、修订,提高Q&P和Q&P的可预见性。
本规范采用CMM(软件过程成熟度模型)的指导,吸收RUP、XP、MSF、PSP、TSP等过程规范指南的思想、方法及实践,充分结合xxx技术开发部的实际情况,引入先进的技术、方法、工具,为公司的软件开发工作提供一部详细、可操作的过程指南。
在本规范的第一版本中,主要包括管理过程和开发过程两个部分,管理过程中包括项目管理过程、需求变更管理过程、配置管理过程。
对于软件开发项目中的其它的一些过程将在实践中逐步补充、完善。
2.项目管理过程规范项目管理过程主要包括三个阶段:项目立项与计划、项目实施、项目关闭。
2.1 项目立项与计划参与人员:技术开发部指定的项目负责人(包括前期负责人、正式的项目经理)、立项申请人、[相关最终客户]以及实施该项目的开发组队成员;入口准则:接到经公司总经理或副总经理批准的市场部门的《软件开发立项申请表》;出口准则:立项申请人签字确认了经修订正后的正式《软件项目计划》,并通过《工作任务卡》下达了开发任务,开发工作正式开始;输入:经审批的《软件开发立项申请表》、与需求相关的业务资料;输出:《软件项目计划》、《软件需求规格说明书》、《开发任务卡》;活动:接到《软件开发立项申请表》后,技术开发部经理指定前期负责人,并告知立项申请人;前期负责人阅读《软件开发立项申请表》后,通过与立项申请人的沟通、阅读立项申请人提交的材料、通过立项申请人与客户直接交流等方式,了解项目目标、范围与基本需求;并形成最初的《软件需求规格说明书》;前期负责人会同技术开发部经理以及其它相关人员,制定最初的《软件项目计划》,并组织评审;向立项申请人提交最初的《软件项目计划》;最初的《软件项目计划》通过立项申请人的确认后,项目经理计划安排需求分析;需求分析完成后,形成正式的《软件需求说明书》,提交立项申请人确认;(需求分析过程参见开发过程规范部分)根据立项申请人确认后的《软件需求说明书》,项目经理组织进行软件高层设计,并对工作任务进行分解,并根据实际需要向技术开发部经理申请资源,组建项目组队;项目经理根据工作任务分解,下发《工作任务卡》,并协同组队成员进行任务估算;注:工作任务包括模块开发任务、其它任务(如安装);模块开发任务主要包括:详细设计、编码和单元测试任务估算完成后,组队成员向项目经理提交《个人进度安排》(以甘特图的形式表示),项目经理根据每个组队成员的《个人进度安排》修订《软件项目计划》(必须包括总的计划甘特图),并提交立项申请人确认;立项申请人确定后,项目经理根据软件项目计划基线,补充《工作任务卡》,下发到每个组队成员,开发工作开始。
项目立项与计划过程的工作流程如下图所示:图表 1 项目立项与计划工作流程图相关模板:《软件需求规格说明书》、《软件项目计划》、《工作任务卡》说明:如果计划确认、需求确认未通过,立项申请人与项目经理进行协商,进行修正,无法达成共识的,提交部门经理、总经理协调;2.2 项目实施参与人员:项目经理,项目组成员;入口准则:项目计划基线已建立,并通过立项申请人确定,带有工作进度要求的《工作任务卡》已下发到每个项目成员;出口准则:立项申请人在《验收报告》上签字确认;输入:《软件需求规格说明书》、《软件项目计划》、《工作任务卡》;输出:经验收测试的可交付的程序、源代码及相关文档。
活动:在开发期间,项目成员每周需上交一份《时间日志》、《缺陷日志》,每天向项目经理汇报工作任务进度;在开发期间,项目经理负责填写《项目进度周报》报于技术开发部经理、立项申请人(格式不同,交予立项申请人的只需周报的第一页,报予技术开发部经理的项目进度周报的第二页为“跟踪甘特图”);项目经理必须根据实际的进度情况,及时调整项目计划,若发现进度延误,需采取措施。
相关模板:《软件项目计划》、《开发任务卡》、《时间日志》、《缺陷日志》、《项目进度周报》2.3 项目关闭参与人员:技术开发部经理或经理助理、项目经理,项目组成员、立项申请人、[相关客户、公司总经理、公司副总经理];入口准则:立项申请人在《验收报告》上确认;出口准则:形成《项目总结》,完成项目绩效考核,项目数据存入“过程数据库”;输入:《时间日志》、《缺陷日志》、《项目开发计划》;输出:《项目总结》、已完成的《项目绩效考核表》、过程数据库中的该项目记录;活动:项目经理主持召开项目总结会,交流项目实施过程中的心得体会,对项目实施中的成功处、不足处进行总结,并由项目经理形成《项目总结》;由技术开发部经理组织对该项目进行绩效考核,并填写相应的《项目绩效考核表》;项目经理组织所有成员对项目过程中的文档、源程序等资料进行整理、归档;由项目经理根据过程数据库的需要,整理相应的数据,提交技术开发部经理,存入过程数据库。
相关模板:《项目总结》、《项目绩效考核表》3.开发过程规范开发过程是提炼用户需求,设计、构建和测试满足这些需求的软件并最终将其交付给客户的过程。
是软件过程中的主体过程之一。
当开发新的应用或计划为现有的应用进行重要的增强时,需使用本规范所定义的开发过程执行。
项目管理过程是对开发过程进行计划、监控/管理、总结的辅助过程,但由于项目管理是保证进度、质量的重要手段,因此在软件项目中也是十分重要的过程之一。
而需求管理过程与配置管理过程则是次重要的辅助过程,需求管理过程是一个需求变更管理的过程,以对变更进行统一的管理;配置管理过程的最重要工作就是版本控制,使得开发过程中的各种交付物能够有机地形成一个个整体。
因此以上四个过程是交织进行的,均是为成功完成软件项目的保障过程。
3.1 过程总述现在比较通行的开发过程模型包括:瀑布模型、演化模型、原型模型、螺旋模型等。
根据公司的项目特点、队伍规模、组队情况等实际因素,决定选择最为简单、易于掌握的瀑布模型为基础,根据公司特点,进行合理的修改,使其成为公司本阶段的软件开发过程。
正如下图所示,本规范将整个开发过程分为:需求分析、高层设计、详细设计、编码和单元测试、集成计划与测试、系统测试、验收测试与安装、维护等八个阶段。
图表 2 开发过程总图注:SRS:软件需求规格 HLD:高层设计 DD:详细设计SRC:代码 UT Plan:单元测试计划注:“归档”在配置管理过程统一说明。
3.2 需求分析阶段需求分析的主要目的是生成一个正确说明客户所有需求的文档。
换言之,软件需求规格(Software Requirement Specification,SRS)文档是该阶段的主要输出。
正确的需求分析和确定需求规格对一个项目的成功是非常关键的。
许多在系统和验收测试时发现的缺陷是在需求阶段产生的。
在验收阶段去掉需求阶段产生的一个错误将比在需求阶段本身去掉该错误要多花100多倍的费用。
很明显,在执行这阶段时,正确地生成具有最少缺陷的SRS是非常必要的。
参与人员:项目经理,[分析员],立项申请人,[客户,最终用户];入口准则:项目立项,最初的项目计划已得到立项申请人的确认。
注:这里所说明的需求分析阶段是进行开发过程的需求分析阶段,在技术开发部出具初步的项目计划之前的需求沟通工作,不是该过程规范所定义的。
最初的需求沟通工作可以参考本过程规范。
出口准则:立项申请人、[客户]在《软件需求规格说明书》上签字确认;输入:《项目立项申请表》、最初的《项目计划》,需求相关的资料;输出:经确认的《软件需求规格说明书》;活动:整个需求分析过程主要包括以下几个步骤:图表 3 需求分析阶段活动总图首先,项目经理与分析员一块,做好需求分析的准备,包括阅读相关的背景资料,熟悉客户的实际情况,准备用户访谈计划,准备会谈问题清单等;然后通过面谈、专题讨论会等形式与客户进行沟通,采集需求的详细内容,澄清每一个需求点;从而界定出系统的目标和范围;对所采集和澄清的需求进行分析,构建需求模型,从功能性、非功能性两个方面进行需求分析,深入领会客户需求;形成《软件需求规格说明书》,建立软件需求基线,并为软件需求评审做好准备;由项目经理安排软件需求评审,协同立项申请人、[客户]进行需求评审;立项申请人[或客户]在《软件需求规格说明书》上确认。
相关模板:《软件需求规格说明书》3.3 高层设计阶段高层设计是软件开发过程中的一个重要阶段,在这个阶段将从计算机实现的逻辑角度开发针对用户需求的解决方案。
这一解决方案是一个高级的抽象方案。
高层设计要设计出各主要部分,并说明他们在技术上如何工作:1)相互间的协作;2)所需外在的硬件和软件环境;3)内在环境。
也就是说,高层设计确定了组成产品的构件,定义了每个构件的功能任务,并且定义了构件间的接口及构件到运行环境的外部接口。
参与人员:项目经理,项目组员(设计团队);入口准则:《软件需求规格说明书》已通过立项申请人的确认;出口准则:形成高层设计,实现任务分解,所有的问题得到解决;输入:《软件需求说明书》输出:《高层设计说明书》(功能与数据库设计)、详细设计、编码、文档和用户接口标准;活动:制定详细设计、编码、文档和用户接口的标准;根据项目特点选择运行的目标平台和开发工具;制定软件的体系结构,定义逻辑和物理的对象模型,包括确定类、类的属性、类方法、类之间的关系和对象间的动态交互。
若采用结构化设计,则该活动应为功能设计;从需求规格说明书中的数据模型中得到物理数据库结构,进行物理数据库设计:包括确定表/记录类型、域和其他部分。
生成高层设计说明书,并组织设计评审。
相关模板:《高层设计说明书》3.4 详细设计阶段在详细设计阶段,高层设计阶段开发出的整体应用被分成几个模块(或构件)和程序。
为每个程序(或构件)进行逻辑设计,然后归档作为程序规格,同时为每个程序(或构件)生成一个单元测试计划。
详细设计阶段的重要活动包括通用例程和程序的确定、框架程序的开发以及用于提高生产率的实用程序和工具的开发。
在详细设计阶段负责每个程序、模块(或构件)的内部设计,确定其程序流程,并且可以通过使用设计语言、图形流程图(如活动图、状态图)等,或通过简单地写叙述而将设计文档化。