首页 > 编程知识 正文

软件开发流程规范模板,软件开发标准流程

时间:2023-05-04 08:11:27 阅读:227740 作者:3289

软件开发流程规范 第一版 作者:Charles 时间:2019-05-16 第一章、目的和作用

    为了规范互联网软件产品开发项目管理过程,指导开展项目研发、管理等活动,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率和效益,制定软件开发流程管理规范。

    本规范的作用范围为互联网软件产品开发立项至结项管理过程,其作用如下:

对项目经理开展产品规划及设计活动以及项目管理手段和应遵循的开发流程提供了指导。对项目团队的日常管理活动及内容进行了指导。 第二章、总则

    为保证日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可能实现项目管理的正规化,工作过程的流程化,以便提高软件质量,按期交付,软件开发必须满足以下原则和流程:

软件开发总体遵循项目管理和软件工程的基本原则。项目管理涉及项目立项、项目计划和监控、配置管理。软件工程涉及需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护。 第三章、工作流程和阶段性成果

根据软件工程的过程,制定以下工作流程,并规定了各个重要环节需要提交的交付物。各阶段需提交的文档:

立项:项目申请表,软件需求报告或设计方案。需求分析:项目研发主计划、需求规格说明书。总体设计:概要设计说明书或功能模块描述。详细设计:详细设计说明书,包括软件接口说明、单元测试计划。软件实现:软件功能说明、源代码说明或者注释。产品测试:测试报告。产品发布:产品说明书、使用手册。项目总结:提交客户方的项目总结和公司项目汇报的PPT。 第三章、工作流程和阶段性成果

软件过程成果表:

阶段形成文档职责及文档成果描述负责人涉及范围备注 需求阶段 项目立项报告(Word)明确甲乙双方责任及义务,需双方签字确认项目经理验收报告明确甲乙双方责任及义务,需双方签字确认业务需求说明书(Word)需求定义,阐述业务范围及内容,开发组负责制定最优技术设计方案项目经理/分析员验收报告项目开发计划(Project)用户、领导、项目组都了解项目进度项目经理验收报告 设计阶段 业务流程总体设计书、详细设计说明书(Word/Visio) 项目组成员分配任务,并召开讨论会议,讨论项目的技术架构和可能存在的技术难点,梳理业务流程,统一开发规则和风格等 项目经理/分析员 验收报告 大部分分析设计,部分实施编程及测试,开始考虑部署 数据库关系设计图、流程图(PowerDesigner) 便于项目开发 分析员 验收报告 任务分配文档(Word) 明确每个组员的开发任务及职责 项目经理 过程报告 问题说明报告(Word) 让用户、领导及组员及时了解和发现问题 项目经理 过程报告 业务变更文档(Word) 记录开发过程中用户提出的业务需求变更情况 分析员 过程报告 测试阶段 项目测试方案及报告(Word) 记录项目测试的方法,验证系统功能与性能的记录 测试员 验收报告 反复测试直至系统稳定 用户使用手册(Word) 方便用户使用软件而提供的使用说明书 测试员 验收报告 上线及运行 系统切换报告 系统部署后的操作记录 项目经理 过程报告 部署及维护 用户培训报告 用户培训文档 项目经理 过程报告 项目验收报告(Word) 记录甲乙双方签订项目验收报告 项目经理 验收报告 项目总结性报告 项目组通过此项目总结经验及不足 项目经理 总结报告 第四章、岗位设置

    根据公司目前的开发过程主要分为分析、开发、测试三个阶段:

分析阶段:完成用户需求文档的编写,系统总体设计的编写;开发阶段:完成设计文档的编写,代码的编写、代码的维护。测试阶段:完成系统的测试,测试文档及其他材料。

    根据开发过程,故设置项目经理,软件设计师,程序员(分UI,前端,后端),测试工程师的岗位。

岗位工作内容责任 项目经理 1. 选定项目组成员,成立项目组,安排任务分工
2. 与客户进行沟通和协调(业务需求或非业务需求方面),以及需求调研工作
3. 制定开发主计划,包括需求,设计,编码,测试这几个阶段的计划
4. 估计项目开发费用
5、制定小组开发进度表, 对组内人员工作进度监控
6、和客户进行沟通,进行需求调研,汇总需求分析文档,并编写系统总体设计方案
7、对文档的质量进行检查、把关
8、对组内成员的工作进行指导
1. 对客户的沟通协调工作负责
2. 对软件的开发效率、质量、费用负责
3. 对用户的需求分析的质量负责
4. 对系统总体设计、详细设计文档质量负责
软件设计师 1. 负责系统的模块设计,详细设计文档
2. 绘制界面原型demo等,设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等,完成大部分的前端设计,小部分的后端设计
3. 负责技术难度大的模块的代码或者公用模块代码的编写、维护
4. 对自己负责模块的详细设计、代码编写
5. 对小组内人员进行技术指导
6. 代码框架选定和优化,统一规范代码书写格式,定义接口格式等 1. 对组内人员的开发效率负责
2. 对产品整体风格负责
3. 对项目整体设计流程负责
4. 对自己模块的开发效率和质量负责
UI 1. 与软件设计师沟通和确认UI界面,以PSD的格式输出素材
2. 负责各个模块的界面UI设计、维护
3. 根据前端的要求生成不同格式和大小的图片
1.对产品界面的美观负责
前端 1. 对素材进行切片并实现界面的布局和展示
2. 根据软件设计师前端框架进行界面的功能实现
3. 与后端程序员对接API接口
4. 负责与测试人员的交互,处理测试人员的问题
1.对前端代码质量和效率负责
后端 1. 与项目经理沟通和确认某个模块的需求和实现方法
2. 负责某个模块的代码编写、维护
3. 对其他模块的代码的维护
4. 根据软件设计师的规范,设计API返回接口并和前端对接
5、负责与测试人员的交互,处理测试人员的问题
1. 对自己模块的开发效率和质量负责
测试工程师 1. 根据用户需求分析和系统总体设计,编写测试文档和测试用例
2. 对系统的功能、性能、异常进行测试
3. 编写测试文档和操作指导手册
1. 对测试的质量负责
2. 对测试文档和操作手册的质量负责
第五章、项目立项 分析人员进行应用调查与分析,确认软件的应用需求。成立项目评审会,开发总监、部门经理和指定人员必须参加。对项目进行可行性研究,编写项目建议书,评估项目的难度和工作量,形成可行性研究报告。根据项目配置的优劣成立项目开发组,制定软件开发计划,确定项目经理,由部门和项目经理共同来确定具体项目配置,知识技能要求,团队成员及团队的角色。 5.1 立项详细流程(建议):

互联网软件产品开发项目的立项过程:通常是指从准备项目启动会到召开会议这个阶段。

在立项过程中,需要完成项目目标,需求范围的初步确认,项目团队成员,其他资源的安排,确定项目的初步目标并达成共识。
对于项目目标,需要和干系人在以下几点上达成共识:

项目的背景、目标用户、核心人员及产品定位是什么项目的资源投入预算是多少项目的资源投入是多少各人员在项目中谨慎的小霸王和对项目的作用是什么 5.1.1 准备启动会议文档,内容包括: 用户画像产品定位市场策略业务目标技术可行性研发成本预算路标规划召开项目启动会 5.1.2 参加人员包括: 管理层代表项目经理及项目团队其他干系人代表主要议题包括:申明项目目标范围及对组织目标的贡献。 5.1.3 内容: 管理层正式任命PM,设定期望,统一思想文档内容的宣讲。与PM小组确定项目管理要求项目启动会完成后,需要与PM小组成员确定项目立项机制以及公司项目管理要求。 第六章、项目计划与监控 以项目为单位,项目经理负责整个项目的计划、组织和控制。在整个项目过程中,项目经理定期检查项目进度和完成情况,调整人员分工和安排。项目计划需要变更时,需要明确变更内容并及时汇报。项目经理需要说明客户变更原因并将变更说明提交公司领导审核,以便根据变更内容及时调整计划。

流程(参考)

A、迭代N的需求细化

考虑每个迭代需要完成的用户故事;用户故事需包含几个部分,工作量评估、功能性需求、非功能性需求。具体的可参考《用户故事模板及样例及拆分说明》用户故事编写完成后需要在团队内部进行需求评审,一方面是为了向团队成员解读该需求,另一方面团队成员也可在评审时给出指导性意见。

B、测试用例评审

测试人员根据用户故事要求编写对应的测试用例,并组织项目团队进行测试用例评审。根据评审意见修改测试用例

C、开发

1.将用户故事的需求开发的过程。

D、开发自测

在开发过程中,每完成一个功能点,都需要及时的进行开发自测并通知产品策划人员进行验收体验。

E、验收

开发完成后,产品策划需要对开发完成的成果进行验收,验证其是否符合用户故事的要求,验证通过后方可流到测试环节,否则需与开发详细讨论其不符合性,其验收的checklist可以参考《产品验收checklist及模板》

F、测试和回归

提交测试时,必须要有正确的版本。测试人员根据测试用例进行测试,在IT平台中提交测试bug,并根据测试的角度给出产品是否发布的意见,输出《测试报告》

G、bug修改

在IT平台中获取分配给自己的bug进行修改。

H、showCase

阶段性必须有可体验版本进行showCase.需要确定showCase时间:某个迭代开发、自测完成,准备提交测试前会议前1-2天发出体验版给到参与人员会议期间,由项目经理组织大家体验、反馈问题、记录问题。项目经理根据问题情况,与开发或产品确定问题的解决时间并发出会议纪要。

I、灰度发布

迭代一定版本后,由项目经理与团队共同决定是否需要进行灰度发布。监控方式 :

每日站立会

主持人轮流担任,负责控制节奏,记录问题,以备会后跟踪。每人讲自己昨天做了什么,有什么问题,今天的计划是什么;其他人了解别人的工作情况,并发现指出可能存在的问题。对于发现的问题,鼓励认领,其余由项目经理指定责任人。时间通常控制在15分钟内。会议期间,更新任务墙,任务墙样式如下:

周报

反馈项目计划的执行情况,强调本周工作要达成的目标暴露出项目的问题,特别是需要领导或其他团队需要协助的问题。周报可在IT平台中输出。

月报

反馈项目当月的执行情况,包括进度、人力及质量。反映项目存在的问题和风险。

迭代回顾

每人讲述本次迭代做的好的地方和不好的地方回顾上个迭代不好的地方,看看改进情况。让每个人发言。每次迭代回顾会议完成后,可更新燃尽图 第七章、需求分析 对用户提出的需求进行分析汇总,梳理用户的业务流程和详细的功能定义。做出简单的界面原型,与客户进行有效的沟通, 编写需求详细说明书。根据现有条件进行估计,制定项目进度,制定详细的软件开发计划。 第八章、总体设计 在该阶段确定总体结构和软件开发架构,文件命名规范,编码规范。可按软件需求划分成子系统,也可直接定义目标系统的功能模块及各个功能模块的关系。确定软件模块结构,给出每个功能模块的功能描述、数据接口描述,并完成系统概要设计说明书。完成数据库的设计,并编写数据库设计说明书。完成的文档需提交公司进行归档管理。 第九章、详细设计 调整前一步设计的不足,确认各模块之间的详细接口信息。设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等。确定模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。汇总并提交所有相关文档,审核确认质量和进度。 第十章、软件实现 项目组根据概要设计说明书、详细设计说明书制定系统实现计划有条件的情况下保证开发、测试和生产环境独立。选择软件工具,明确项目成员的职责分工,按照编码规范和详细设计实现软件功能。代码应满足结构良好,清晰易读,且与设计一致,符合编码规范。开发人员需要软件实现过程中编写软件功能说明,源代码说明。软件功能说明文档应说明项目名称、编号、软件名称和版本号,软件功能、主要功能实现过程。源代码说明应说明项目编号、软件名称、功能,全局变量、数据库字典、函数功能、接口。该文档包含在源代码文件中,以注释形式存在。项目组进行单元测试和集成测试。开发人员处理测试人员反馈的测试问题,并以书面形式反馈主要问题及解决办法,直至系统运行稳定。汇总并提交所有相关文档,提交公司备案。 第十一章、软件测试 根据单据测试和集成测试两个过程,制定测试计划。按阶段设计测试实例,并将测试结果记录,未通过的的反馈给开发人员调整。完成测试文档、操作手册、安装维护手册的编写。 第十二章、用户培训 准备用户培训计划、培训手册确定培训时间、培训地点,向用户进行系统使用培训、操作指导及提供软件操作手册。保留培训签到表,用户意见等存档。 第十三章、系统上线 制定上线计划,确定上线工作时间表,部署的环境。上线操作步骤以及问题处理步骤;根据软件特点、客户需求进行软件部署,并记录软件部署和运行结果;项目组根据系统运行请款对系统进行优化,记录系统的运行情况、系统问题和处理后的版本。 第十四章、系统验收 验收工作准备,按要求整理项目成果物,打印装订成册,并提交客户方。系统主要使用部门及信息技术部门联合成立项目验收小组,从需求功能及技术需求层面对系统进行综合评估和项目成果物的审核,根据验收情况形成系统验收报告应用部门及信息技术部门负责人根据系统试运行情况签署验收意见。 第十五章、产品维护 调出项目主要开发人员,按照合同要求安排维护人员对系统进行技术支持。系统需求变更或调整,记录变更原因和软件及源代码的版本控制,按照软件变更要求对系统进行维护。 第十六章、源码和文档 源代码/文档管理采用版本控制软件GIT。按项目的阶段性完成源代码、文档的上传。项目负责人每天对代码进行检查,开发总监或部门经理定期进行抽查。文档分为项目文档和个人文档,文档上传前进行归类和汇总。 第十七章、质量检查 项目负责人每天要检查成员的工作完成情况,特别是新员工的工作进展;工作抽查制度:不定期的进行抽检,并将检查对象、检查时间、检查内容、检查结果反馈给被抽检人。内部审核制度:针对业务需求、概要设计(功能界面、数据库)或疑难问题组织评审会,提出意见或解决方案。 第十八章、文档规范 需按照软件实施的阶段落实成果物,参照《软件过程提交成果表》。如果客户有特殊要求,请按照客户要求的规范完成。并将最终的问题提交公司归档备份。 第十九章、软件变更

    为规范软件变更与维护管理,特制定本制度。本制度适用于应用系统开发完毕并正式上线,移交给客户方之后的运行支持及系统变更工作。

系统变更工作可分为功能完善维护、系统缺陷修改、统计报表生成。需求部门提出系统变更需求,开发部技术支持人员根据重要性和紧迫性做判断,确定其优先级和影响程度,并进行相应处理,同时将变更需求整理成系统变更申请表。系统变更实现过程按照软件开发过程规定进行,遵循软件开发过程统一的编码标准和版本控制,并经过测试通过才能完成部署和上线。在系统变更完成后,开发人员需将系统变更表的执行结果找业务部门负责人签字后,提交至公司进行归档管理。
如何使用CSS设置div半透明的效果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。