




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发标准化工作流程V1.0软件开发标准化工作流程V1.0软件开发标准化工作流程V1.0资料仅供参考文件编号:2022年4月软件开发标准化工作流程V1.0版本号:A修改号:1页次:1.0审核:批准:发布日期:目录TOC\o"1-4"\h\z\u1 引言 3 编写目的 3 适用范围 3 定义 3 流程图 32 需求调研 4 概述 4 需求调研 4 注意事项 43 可行性分析 54 需求分析 5 概述 5 产物/成果 6 需求分析任务 6 需求分析方法 6 原型化 6 需求报告 7 划分需求的优先级 7 评审需求文档和原型 75 系统设计 7 概述 8 产物/成果 8 产品设计 8 概述 8 流程图 9 软件设计 9 概述 9 流程图 9 概要设计 9 数据库系统设计 10 详细设计 116 软件开发 11 建立项目开发团队 11 实施项目开发测试 11 工作内容 12 产物/成果 127 项目测试 13 软件测试阶段 13 概述 13 流程 13 软件测试准备 13 软件测试执行 148 内部验收 14 文档准备 14 内部验收测试 14 内部评审 149 项目试运行与验收 15 验收前的准备 15 用户测试 15 用户确认 1510 项目维护 15 错性维护 15 完善性维护 1511 需求变更流程 16 目的 16 适用范围 16 作业流程 17 流程描述 17 内部项目 18 外部项目 18 提交需求变更 18 审核评审 18 工作内容 18 相关角色 19 反馈 1912 附录 20 附录1《软件需求说明书》 20 附录2《概要设计说明书》 20 附录3《数据库设计说明书》 20 附录4《详细设计说明书》 20 附录5《用户使用手册》 20 附录6《软件测试说明》 20 附录7《项目开发计划》 20 附录8《软件测试计划》 20 附录9《软件测试方案》 20 附录10《测试用例文档》 20 附录11《缺陷报告》 20 附录12《软件测试报告》 20 附录13《需求变更申请表》 20软件开发标准化工作流程引言编写目的说明编写这份软件开发标准化工作流程的目的,指出预期的读者。适用范围互联网开发中心所有项目。定义列出本文件中用到的专门术语的定义、外文首字母组词的原词组。流程图需求调研需求调研系统设计软件开发软件测试内部验收客户验收系统维护需求分析阶段概要设计阶段详细设计阶段系统编码阶段系统测试阶段集成测试阶段系统测试阶段项目管理过程评审过程软件监督与审核过程软件配置管理过程软件需求管理过程变更控制过规程文档控制规程文档开发与管理规范项目流程项目开发的各阶段过程管理思想需求分析需求调研概述需求调研对于一个应用软件开发来说,是一个系统开发的开始阶段,需求调研的质量对于一个应用软件来说,是一个极其重要的阶段,它的质量在一定程度上来说决定了一个软件的交付结果。怎样从客户中听取用户需求、分析用户需求就成为调研人员最重要的任务。需求调研总体而言,需求调研可按照业务流程、业务规则、表单数据、贯穿系统的关系四个方向来进行调研。业务规则各个流程、功能点等事项的办理,都会有相关约束或条件,那么需要对其前置条件、后置条件、数据验证、条件判断等进行分析调研。调研对象一般为操作员。表单数据对各个功能点的业务数据、数据项、表单格式、查询条件以及其它相关数据进行明确的分析调研。调研对象一般为操作员。贯穿系统的关系各个模块或科室之间的数据交换、传递以及数据共享等,需要我们调研人员与各个模块或科室的相关负责人进行多方沟通,确定一个多方满意的需求调研结果。注意事项调研过程中,用户说的很快,不可能等我们全部记录之后,再讲下一个问题。因此,只能在笔记本上速记,有时只能记录1、2个关键字。因此,每天调研结束之后,当天晚上必须整理当天的调研情况,写成一份调研日记。整理当天的调研记录时,还要整理出待明确的问题,下一次再找机会与用户再沟通、确认。调研的各个阶段,必须出具相关文档或文件,比如调研计划、流程图、表单样式、报表格式、背景图片、数据项列表、讨论记录、问题列表等。所有疑问必须等到明确的答复,不能出现相互矛盾、似是而非的需求。需准确理解客户的讲解,如果有问题的先做记录,之后将整理的问题向客户询问,得到明确的结果。需求必须是客户接受和确认的,不能有臆测的需求。要合理安排好时间和进度。有时候客户还有自己要做的事情,不一定能及时相应。所以必须提前预约好时间,保证整个需求调研的进度。能积极引导客户。当客户出现疑虑,而调研人员能明白且能做好客户想要的东西的时候,调研人员能及时积极引导客户,详细讲解我们所知道的东西,并能让客户接受与确认。如遇公司有相关原型或产品,调研人员需先详细了解公司的相关原型和产品,根据成品,找出本地化的差异化需求。可行性分析这个阶段要回答的关键问题:“对于上一个阶段所确定的问题有行得通的解决办法吗”为了回答这个问题,系统分析员需要进行一次大大压缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。在问题定义阶段提出的对工程目标和规模的报告通常比较含糊。可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。然后分析员更准确地估计系统的成本和效益,对建议的系统进行仔细的成本/效益分析是这个阶段的主要任务之一。可行性研究的结果是使用部门负责人做出是否继续进行这项工程的决定的重要依据,一般说来,只有投资可能取得较大效益的那些工程项目才值得继续进行下去。可行性研究以后的那些阶段将需要投入更多的人力物力。及时中止不值得投资的工程项目,可以避免更大的浪费。需求分析概述这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。用户了解他们所面对的问题,知道必须做什么,但是通常不能完整准确地表达出他们的要求,更不知道怎样利用计算机解决他们的问题;软件开发人员知道怎样使用软件实现人们的要求,但是对特定用户的具体要求并不完全清楚。因此系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法描述表示系统的逻辑模型。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。系统分析员通常都是计算机软件专家,技术专家一般都喜欢很快着手进行具体设计,然而,一旦分析员开始谈论程序设计的细节,就会脱离用户,使他们不能继续提出他们的要求和建议。较件工程使用的结构分析设计的方法为每个阶段都规定了特定的结束标准,需求分析阶段必须提供完整准确的系统逻辑模型,经过用户确认之后才能进入下一个阶段,这就可以有效地防止和克服急于着手进行具体设计的倾向。需求分析是软件工程中的一个重要环节。是关乎软件开发成败的重要因素。现在软件项目中返工开销几乎占了总开发的一半,而导致返工的主要原因是需求分析不明确。从而引发软件开发中的一些列更改。这些更改可能导致浪费大量资源、软件项目无法按时完成等严重问题,所以需求分析是软件设计和实现的基础,是软件项目迈向成功的重中之重。产物/成果项目阶段/角色项目经理产品团队(BA/BAS/ProductM)开发团队TTL/Developer)测试团队(TestLead/Tester)需求阶段活动:1、建立CQ/QC中的项目目录;2、在SVN中建立项目目录;1、分析项目所需资源,风险等2、预估项目周期产出:1、项目计划(大致时间规划)活动:1、收集整理需求产出:1、需求说明书参与:1、需求分析2、环境分析参与:1、需求分析2、环境分析需求分析任务简言之,需求分析的任务就是解决“做什么”的问题,就是根据需求调研,全面理解用户的各项要求并准确的表达所接受的用户需求。需求分析方法原型化原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。原型化方法就是尽可能快地建造一个粗糙系统,这系统实现了目标系统的某些或者全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等。如,为了考察是否满足用户的需求,可以用某些软件工具快速建造一个原型系统,这个系统只是一个界面,然后听取用户的意见改进这个原型。以后的目标系统就在原型系统的基础上开发。原型主要有三种类型:探索型目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。在使用原型方法是有两种不同的策略。废弃策略先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出比较完整,准确,一致,可靠的最终系统。系统构建完成后,原来的模型系统被废弃不用。探索型和实验型属于这种策略。追加策略先构造一个功能简单而且质量要求不高的模型系统,最为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。需求报告需求报告及软件需求说明书,作用在于便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据。通过从客户那里获得的所有信息进行整理,以区分业务需求及规范、功能需求、质量目标、解决办法和其他信息。通过这些分析,形成一份《软件需求说明书》,此份说明书使开发人员和客户之间针对要开发的产品内容达成协议。客户需要评审此文档,以确保内容准确完整的表达其需求。一份高质量的“需求说明书”有助于开发人员开发出真正需要的产品。输出:《软件需求说明书》,格式参照附录1《软件需求说明书》划分需求的优先级绝大多数项目没有足够的时间或者资源实现功能性的每个细节。决定哪些特性是必要的,哪些是重要的,是需求开发的主要部分,这只能由客户负责设定需求的优先级,因为开发者不可能按照客户的观点决定需求优先级。开发人员将为确定的优先级提供有关每个需求的花费和风险的信息。在时间和资源的限制下,关于所需特性能否完成或者完成多少,开发人员必须给出意见。评审需求文档和原型客户评审需求文档,是给分析人员带来反馈信息的一个机会。如果客户人为编写的“需求分析报告”不够准去,就有必要尽早告知分析人员并为改进提供建议。更好的办法是先为产品开发一个原型。这样客户就能提供更有价值的反馈信息给开发人员,是他们更好的理解需求。原型并非是一个实际应用产品,但开发人员能将其转化、扩充成功能齐全的系统。系统设计制定项目计划软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项目活动的基础,也是软件项目跟踪与监控的依据。
确定开发过程根据软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发。
加强过程控制过程控制主要包括过程管理、变更控制和配置管理。概述此阶段主要是根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。产物/成果项目阶段/角色项目经理产品团队(BA/BAS/ProductM)开发团队TTL/Developer)测试团队(TestLead/Tester)设计阶段活动:1、监控项目进度,2、组织安排本阶段的评审1、任务分解,责任到人2、细化项目计划产出:项目计划(具体到各功能)参与:1、系统功能设计产出:界面原型活动:1、系统功能技术设计2、数据库设计产出:系统功能的技术设计数据库设计说明书活动:1、组织测试计划评审产出:1、项目测试估计测试计划书产品设计概述产品设计是专业的技术人员根据软件项目需求分析的结果来对整个软件系统进行定制、开发、设计的一个过程。流程图软件设计概述软件设计阶段主要工作可分为软件概要设计、详细设计两个分阶段。对于复杂程度不高、规模较小或关键性级别较低的软件,可将概要设计和详细设计合并为一个阶段执行。流程图概要设计在概要设计阶段,项目组应根据软件总体框架、软件模型和软件工程实现的要求,提出软件设计方法,建立软件的总体结构,划分功能模块(软件部件),确定总体结构和部件间的关系,定义各个软件功能模块的功能、数据接口和控制接口,设计全局数据库/数据结构,规定设计限制,编写《概要设计说明》,由研究室或项目组负责人审批。对于复杂软件,研究室或项目组应组织对软件概要设计进行评审,以保证软件结构、全局数据结构、主要算法、模块划分、接口关系和软件模型的合理性、正确性、完整性,与软件需求的一致性。项目组应保持评审结果及任何必要措施的记录。输出:《软件概要设计说明书》(概要设计部分),格式参照附录2《软件概要设计说明书》数据库系统设计此数据库设计可单独成册,尤其对大型的数据库应用系统,即有一个单独的《数据库设计说明书》。输出:《数据库设计说明书》,格式参照附录3《数据库设计说明书》信息模型设计确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系,详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。数据库设计设计依据说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。数据库种类及特点说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。数据库逻辑结构说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。物理结构设计列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括:数据在内存中的安排,包括对索引区、缓冲区的设计;所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;访问数据的方式方法。数据库安全说明数据的共享方式,如何保证数据的安全性及保密性。数据字典编写详细的数据字典。对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息详细设计在详细设计阶段,项目组应对概要设计中产生的软件部件进行方法和过程描述,对程序单元内部细节(算法模型、数据结构、详细接口信息等)进行设计,为源代码提供必要的说明,并编写《软件详细设计说明》,由研究室或项目组负责人审批。详细设计过程中开始编制《软件测试计划》初稿。研究室或项目组应组织对详细设计说明进行评审(顾客参加),以保证程序单元功能、控制结构、数据结构和算法模型的正确性、合理性,程序单元接口的明确性、一致性。项目组应保持评审结果及任何必要措施的记录。输出:《软件详细设计说明书》(详细设计部分)格式参照附录4《软件详细设计说明书》软件开发建立项目开发团队依据业务需求开发任务书中,对项目完成时间、费用的要求,确认项目开发团队人员数量,明确项目经理,建立以项目经理为项目负责人的开发团队。团队组建完成后,项目经理组织团队人员进行交流学习和互相熟悉,说明项目任务、目标、规模、人员组成、规章制度和行为准则,个人岗位和责任,建立团队与外界的初步联系及相互关系,确立团队的权限,建立团队的绩效管理机制,争取公司各方面支持,根据团员特点分配职责,收集有关项目信息。实施项目开发测试依据公司软件项目设计开发制度要求和软件项目管理规范,按照需求实现方案为项目具体开发做好准备。技术人员在项目实现方案框架下根据项目实际要求准备好开发环境和测试环境;程序员编写程序代码,测试人员设计测试方案和应用案例;是对需求实现功能说明书和测试计划、测试案例进行评审;撰写测试问题报告,改正软件Bug;按照要求定时提交相关的项目管理信息资料。工作内容软件实现阶段的主要工作是根据软件设计结果,进行软件代码编制、调试、代码审查和程序单元测试,验证程序单元与设计说明的一致性。本阶段的代码审查和单元测试应以开发人员自查自测为主。实现过程中应规定编码实现规则、编程语言、数据结构、命名约定和注释规则等并遵守这些规则;尽可能使用辅助设计工具;尽可能地重用已有的软件实现规范、实现方法、代码片段、数据结构、标准函数等。进行规范化编程,采用统一的编码风格;实现过程中应全面考虑软件测试工作;充分地考虑到软件的可维护性。软件实现过程中,项目组应组织程序调试、代码自查和程序单元自测,主要包括对软件各功能模块编码的正确性、程序设计准则的符合性、程序单元测试过程与结果的合理性和正确性以及测试辅助程序的合理性和充分性进行审查和验证,以保证交付测试的软件与软件设计说明完全符合。与外部存在多系统交联时,需要组织或参与联合调试试验,以验证接口的正确性。软件实现阶段应开始编写《用户使用手册》和《软件测试说明》文档。输出:1、《用户使用手册》,格式参照附录5《用户使用手册》2、《软件测试说明》,格式参照附录6《软件测试说明》产物/成果项目阶段/角色项目经理产品团队(BA/BAS/ProductM)开发团队TTL/Developer)测试团队(TestLead/Tester)开发阶段活动:1、监控项目进度2、调整人员安排3、跟踪解决技术难点产出:1、项目计划(更新进度)活动:1、具体功能开发产出:1、功能单元代码活动:1、编写测试用例和.自动化脚本组织测试用例评审产出:1、测试用例2、自动化脚本单元测试阶段活动:1、监控项目进度2、踪解决问题列表产出:1、项目计划(更新进度)2、项目进度报告活动:1、组织代码走查2、单元测试产出:1、功能单元代码2、单元测试报告项目测试软件测试阶段概述软件的错误是不可避免的,所以必须经过严格的测试。通过对本软件的测试,尽可能的发现软件中的错误,借以减少系统内部各模块的逻辑,功能上的缺陷和错误,保证每个单元能正确地实现其预期的功能。检测和排除子系统(或系统)结构或相应程序结构上的错误,使所有的系统单元配合合适,整体的性能和功能完整。并且使组装好的软件的功能与需求保持一致。流程软件测试准备测试组从软件需求分析阶段开始介入,对需求进行分析,风险分析,测试范围等等。即开始编制软件的测试计划,在软件概要设计、详细设计和编程实现的过程中逐步完善,最终形成《软件测试计划》,并组织测试计划评审。软件测试计划完成后开始编写相关测试方案,编写测试用例,搭建测试环境。测试用例完成后进行评审,冒烟测试用例覆盖率必须达到100%,系统测试用例达到95%,输出:1)《软件测试计划》,格式参照附录8《软件测试计划》;2)《软件测试说明》(含测试用例和测试程序),格式参照附录6《软件测试说明》;3)《软件测试方案》,格式参照附录9《软件测试方案》;4)《测试用例文档》,格式参照附录10《测试用例文档》;软件测试执行测试人员依据《测试用例》进行软件测试,对发现的错误进入缺陷管理流程,并进行回归测试以验证修改的正确性。测试结束后,测试人员应编写《缺陷报告》,及《软件测试报告》。在测试阶段的后期,组织《软件测试报告》评审,主要对软件测试方法、测试过程和测试结果的有效性和正确性进行审查和评价。项目组应保持评审结果及任何必要措施的记录。输出:《缺陷报告》,格式参照附录11《缺陷报告》;《软件测试报告》,格式参照附录12《软件测试报告》。内部验收项目完成集成测试和系统测试后进行项目内部验收,主要有三个步骤:文档准备项目经理提交内部验收计划、项目开发总结报告、产品发布清单;财务主管提交项目财务预算报告。内部验收测试内部验收测试的测试内容与方法虽然与系统测试基本相同,但应站在用户验收的角度进行,因为它是试运行的基础,通过这一步,为用户验收作充分的准备。内部评审对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告。项目试运行与验收试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:验收前的准备项目经理负责检查产品的完整性,包括文档、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认。用户测试
用户进行验收测试和系统试运行,进行文档和系统的移交。用户确认项目经理负责与客户协调,协助用户进行项目验收,形成用户验收报告。项目维护错性维护由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程。完善性维护在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。需求变更流程目的指导项目部、软件部、质量部、测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025春季学期国开河南电大专科《中小学教师如何做微课》一平台无纸化考试(作业练习1至3+我要考试)试题及答案
- 安全保卫考试试题及答案
- 安全测评试题及答案
- 提升安全与效率数字孪生在复杂系统应急维护中的作用
- 传统企业如何应对数字化转型的挑战
- 2025年酸枣仁合剂项目市场调查研究报告
- 2025年逻辑系统高级专业用音箱项目市场调查研究报告
- 2025年逆变式焊切复合机项目市场调查研究报告
- 如何打造高效的员工心理健康管理平台
- 教育创新背景下如何有效培养青少年篮球人才
- 上海市同济大学第二附属中学2024-2025学年八年级下册期末物理试卷
- 2025年液压马达开发行业深度研究报告
- 树木移栽施工协议书
- 手术前抗凝药停用时间
- 租地解除合同协议书
- 2025智能矿山暨无人驾驶行业蓝皮书-亿欧智库
- 2025湖北水发集团园招聘40人笔试参考题库附带答案详解
- 2025年人工智能应用技术考试试题及答案
- 2024北森图形推理题
- 2025年全国国家版图知识竞赛赛(附答案)
- 2025年社区工作者考试试题及答案
评论
0/150
提交评论