软件开发具体流程与管理制度详解.docx
- 文档编号:25992279
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:57
- 大小:43.12KB
软件开发具体流程与管理制度详解.docx
《软件开发具体流程与管理制度详解.docx》由会员分享,可在线阅读,更多相关《软件开发具体流程与管理制度详解.docx(57页珍藏版)》请在冰豆网上搜索。
软件开发具体流程与管理制度详解
软件开发管理制度
第一节总则
第一条为规范自有软件研发以及外包软件的管理工作,特制定本制度。
本制度适用于公司总公司软件研发与管理,分公司参照执行。
第二条本制度中软件开发指新系统开发和现有系统重大改造。
第三条本制度中自行开发是指主要依赖公司自身的管理、业务和技术力量进行系统设计、软件开发、集成和相关的技术支持工作,一般仅向外购置有关的硬件设备和支撑软件平台;合作开发是公司与专业IT公司(合作商)共同协作完成IT应用的项目实施和技术支持工作,一般形式是公司负责提供业务框架,合作商提供技术框架,双方组成开发团队进行项目实施,IT系统的日常支持由研发部和合作商共同承担,研发负责内部支持,合作商负责外部支持;外包开发是指将IT应用项目的设计、开发、集成、培训等任务承包给某家专业公司(可以是专业的IT公司或咨询公司等),由该公司(承包商)负责应用项目的实施。
第四条软件开发遵循项目管理和软件工程的基本原则。
项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。
软件工程涉及需求管理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、系统上线和数据迁移。
第五条除特别指定,本制度中项目组包括业务组(营销部、运维部)、IT组(研发部和合作开发商)。
第二节立项管理
第六条提出开发需求的营销部、运维部等业务部门参与公司层面立项,研发部进行立项的技术可行性分析,共同编写《立项分析报告》(附件一),开展前期筹备工作。
《立项分析报告》应明确项目的范围和边界。
第七条应用系统主要使用部门将《立项分析报告》上交公司进行立项审批,以保证系统项目与公司整体策略相一致。
第八条《立项分析报告》得到批准后,成立项目组(如果是外包开发,则成立外包商项目组;如果是合作开发,则与外包商共同成立合作开发项目组,以下统称“项目组”),项目组应包括业务组(由公司相关业务部门组成)和IT组(自行开发为研发部;外包开发为外包商成员;合作开发为研发部和外包商成员)。
公司委派一名员工负责监督项目的进度,进行项目管理工作,确保开发能及时完成并能满足业务需要。
项目组人员的选择应满足项目对业务及技术要求,项目组人员应有足够的业务和IT技术方面的专业知识来胜任项目各方面的工作。
第三节需求分析
第九条立项后业务组对用户需求进行汇总整理,出具《业务需求说明书》(附件二),并确保《业务需求说明书》中包含了所有的业务需求。
《业务需求说明书》经系统使用单位(用户)确认,作为业务需求基线。
第一十条IT组在获得《业务需求说明书》后,提出技术需求和解决方案,并对系统进行定义,出具《系统需求规格说明书》(附件三)。
《系统需求规格说明书》需详细列出业务对系统的要求(界面、输入、输出、管理功能、安全需求、运作模式、关键指标等)。
《系统需求规格说明书》需要由业务组提交给用户相关业务流程负责人确认。
第一十一条当业务需求发生变更时,业务组应提交《需求变更申请》(附件四),IT组组长审批后交给业务组与用户确认方可实施。
第一十二条项目组应对需求变更影响到的文档及时更新。
第四节项目计划和监控
第一十三条软件开发采用项目形式进行管理。
项目经理(监理)负责整个项目的计划、组织、领导和控制。
第一十四条需求分析过程中,项目经理(监理)组织制定详细的《项目计划书》(附件五),包括具体任务描述和项目进度表等。
第一十五条在项目的各个阶段,业务组组长和IT组组长需配合项目经理(监理)制定阶段性项目计划。
业务组组长和IT组组长需配合项目经理(监理)对项目计划执行情况进行监控,确保项目按计划完成。
第一十六条项目计划需要变更时,项目经理(监理)填写《项目计划变更说明》(附件六),并提交公司主管领导审批,通过审批后,交给业务组组长和IT组组长执行。
第五节系统设计
第一十七条系统设计应分为概要设计和详细设计,系统设计要遵循完备性、一致性、扩展性、可靠性、安全性、可维护性等原则。
第一十八条在系统设计阶段中,用户应充分参与,确保系统设计能满足系统需求。
第一十九条项目组进行详细设计,出具《设计说明书》(附件七)和《单元测试用例》(附件八)。
《设计说明书》中需要定义系统输入输出说明和接口设计说明。
公司主管领导组织相关人员对概要设计进行评审,出具《设计评审报告》(附件九)。
业务组组长和IT组组长应参加此评审并对评审意见签字确认。
第二十条设计评审均以《业务需求说明书》和《系统需求规格说明书》为依据,确保系统设计满足全部需求。
第二十一条对已确认通过的系统设计进行修改需获得管理部门、业务组组长和IT组组长的审批后方可进行。
第二十二条对系统设计的修改的文档须由文档管理人员进行归档管理。
第六节系统实现
第二十三条项目组根据《设计说明书》制定系统实现计划,并提交项目经理(监理)对计划可行性进行审批。
第二十四条系统实现包括程序编码、单元测试和集成测试。
第二十五条项目组保证开发、测试和访问环境独立,为各环境建立访问权限控制机制,并明确项目成员的职责分工。
对开发环境、测试环境与访问环境在物理或逻辑方面应该做到隔离;如果环境的分隔是通过逻辑形式实现的,应定期检查网络设置。
项目组对已授权访问环境的人员进行详细记录,并对该记录进行定期检查,确保只有经授权的人员才能访问。
第二十六条项目组进行单元测试和集成测试,测试人员签字确认测试结果。
第七节系统测试和用户测试
第二十七条项目组制定《系统/用户测试计划》(附件十),并提交项目经理(监理)对计划可行性进行审批。
第二十八条《系统/用户测试计划》必须定义测试标准,并明确各种测试的测试步骤和需要的系统设置要求。
第二十九条项目组向数据拥有部门申请获取测试用业务数据的使用权,对获取的数据进行严格的访问控制,确保只有相关项目人员才能访问及使用。
第三十条项目组负责测试数据准备,测试用数据要足够模拟使用环境中的实际数据。
对已评定为敏感信息的数据进行敏感性处理和保护。
第三十一条IT组或合作开发商建立测试环境进行系统测试。
在系统测试中对新系统内部各模块之间的接口和与其他系统的接口进行充分测试。
出具《系统测试报告》(附件十一),测试人员签字确认测试结果。
第三十二条系统测试通过后,IT组配合业务组建立用户测试环境,业务组根据用户测试用例进行用户测试,出具《用户测试报告》(附件十一),业务组组长和IT组组长应在用户测试报告中签字确认。
第三十三条项目组完成系统帮助文档(其中包括《用户操作手册》和《安装维护手册》)。
凡涉及应用系统的变更,应对系统帮助文档及时更新。
第八节试运行
第三十四条系统主要使用部门根据项目规模及影响决定试运行策略。
第三十五条项目组制定《试运行计划》(附件十二),并制定试运行验收指标,上报公司主管领导审批。
《试运行计划》中应包含问题应对机制,明确问题沟通渠道和职责分工。
第三十六条项目组联合试运行单位进行相关系统部署工作,准备培训资料,对相关用户和信息技术人员进行培训。
用户培训的完成度应为实施后评估的指标之一。
第三十七条项目组根据《试运行计划》进行系统转换和数据迁移。
系统转换前,检查系统环境,确保运行环境能满足新应用系统的需要。
系统转换时必须详细记录原系统中的重要参数、设置等系统信息,并填写试运行报告相关内容。
系统参数、设置的转换工作作为系统上线的验收的评估指标之一。
第三十八条数据迁移前,应制定详细的《数据迁移计划》(附件十三),《数据迁移计划》中应包含迁移方案、测试方案、数据定义,新旧数据对照表、迁移时间、回退计划等信息。
数据迁移计划需经项目经理(监理)和主管领导签字审批。
第三十九条数据迁移后,项目组对数据迁移的完整性和准确性作出检查,出具《数据迁移报告》(附件十四),其中包括数据来源、转换前状态、转换后状态,数据迁移负责人、对完整性检查情况、对准确性检查情况等内容。
各相关部门验收转换结果后在该报告上签字确认。
第四十条系统转换和数据迁移由试运行单位业务部门和公司主管领导共同监督并进行验收。
第四十一条系统转换和数据迁移验收通过后,正式启动试运行。
在试运行过程中,试运行单位办公室把系统运行情况(系统资源使用,反应速度等)记录到试运行报告中。
必要时,项目组应根据系统运行情况对应用系统进行优化。
第四十二条试运行达到试运行计划规定的终止条件时,项目组编写《试运行报告》(附件十五)。
此报告应由项目组和试运行单位签字确认,并提交公司主管领导审阅。
公司主管领导审阅试运行结果,决定试运行结束或延期。
第九节系统验收
第四十三条系统主要用户单位及公司项目组联合组成独立系统验收小组,也可授权原项目组作为验收小组。
验收小组从功能需求及技术需求层面对系统进行综合评估。
第四十四条验收小组应根据验收情况整理形成《系统验收报告》(附件十六)提交系统主要使用部门和公司审阅。
第四十五条系统主要使用部门和研发部负责人根据系统测试、试运行情况签署验收意见。
第十节系统上线
第四十六条系统上线应遵循稳妥、可控、安全的原则。
第四十七条通常情况下,系统上线包含数据迁移工作。
第四十八条项目组制定《系统上线计划》(附件十七),上报公司主管领导审批。
在上线计划得到批准后才能开始部署上线工作。
第四十九条《系统上线计划》内容应包括但不限于:
1、部署方式和资源分配(包括人力资源及服务器资源);
2、上线工作时间表;
3、上线操作步骤以及问题处理步骤;
4、项目阶段性里程碑和成果汇报(项目执行状态的审阅、进度安排等);
5、数据迁移的需求和实施计划;
6、完整可行的应急预案和“回退”计划;
7、用户培训计划(包括:
培训计划、培训手册、培训考核等);
8、总公司下发的系统标准参数配置。
第五十条上线单位在上线初期需加强日常运行状态监控,出现问题时应及时处理,对重大问题应启动紧急预案。
第五十一条在完成上线后要填写《系统验收评估报告》(附件十八),上报总公司项目组汇总整理。
《系统验收评估报告》内容包括:
数据准确性、系统性能及稳定性、接口问题、权限问题、业务操作影响度、问题处理情况、备份、批处理等。
第五十二条上线单位管理层要对《系统验收评估报告》进行审批签字。
第五十三条公司主管领导批准结项后,业务组和IT组将整理的文档提交各自部门统一管理。
第十一节合作开发管理
第五十四条合作开发商的选择应遵循公司相关规定,合作商资质认定参见第三方管理制度。
第五十五条合作开发商必须遵循公司《软件开发管理制度》。
第五十六条项目经理同合作开发商明确规定项目变更的范围和处理方式,重点关注需求和设计变更。
第五十七条项目经理负责监控合作开发商的项目管理及软件开发活动。
合作开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。
发生重大问题时,合作开发商需及时向项目经理汇报。
第五十八条IT组组长派专人监控合作开发商的质量保证过程。
第五十九条项目组同合作开发商商定验收的标准和方法。
第六十条以上各要求需要在开发合同中明确。
第十二节外包开发管理
第六十一条立项申请得到公司主管领导的审批后,选定开发商,签订外包开发合同。
第六十二条项目经理负责监控外包开发商的项目管理及软件开发活动。
外包开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。
发生重大问题时,外包开发商需及时向项目经理汇报。
第六十三条项目经理监控外包开发商的质量保证过程。
第六十四条项目组同外包开发商商定验收的标准和方法。
第六十五条以上各要求需要在开发合同中明确。
第十三节角色与职责表
第六十六条主要角色及其职责如下表所示。
企业在应用时,可以将各个角色映射到企业原有的岗位上,也可以依据角色建立新的岗位。
一个人可以被赋予多个角色,视具体情况而定。
常设角色
职责简述
机构过程改进角色
软件工程过程组
(SEPG)
(1)制定适合于本机构的过程规范。
(2)在机构范围内推广该规范(如培训、考核),评估机构过程能力等。
质量保证小组
(QAG)
(1)监督规范的实施,确保所有项目以及相关部门准照规范开展工作。
(2)分析并解决机构内存在的共性质量问题,协组SEPG完善规范。
项目
管理
过程角色
机构领导
(1)是机构内所有项目的主管,对立项管理和结项管理有最终决策权。
(2)监督项目经理的工作,审批项目经理的各种申请。
项目经理
(1)向机构领导汇报工作。
(2)是项目规划、项目监控、风险管理和需求管理过程域的负责人。
(3)监督项目成员的工作,审批项目成员的各种申请。
项目研发
过程
角色
需求分析员
调查、分析并定义需求,撰写相应的需求文档,尽最大努力使需求文档能够正确无误地反映用户的真实意愿。
系统设计师
根据需求文档设计软件系统的体系结构、用户界面、数据库、模块等,并撰写相应的设计文档。
程序员
(1)根据系统设计文档,编写软件系统的代码。
(2)随时测试和检查自己的代码,及时消除代码中的缺陷。
测试员
从事单元测试、集成测试和系统测试,主要工作包括制定测试计划、设计测试用例、执行测试和撰写测试报告。
机构
支撑
过程
角色
配置管理员
(1)为项目制定《配置管理计划》。
(2)创建并维护配置库,如分配权限、清除垃圾文件、备份配置库等。
质量保证员
(即QAG成员)
(1)为项目制定《质量保证计划》。
(2)周期性的开展“过程与产品质量检查”。
(3)跟踪质量问题,给出质量改进措施。
外包管理员
(1)挑选最合适的承包商,签订外包开发合同。
(2)监控外包开发过程,验收外包开发成果。
采购管理员
(1)挑选最合适的供应商,签订采购合同。
(2)验收采购物品。
培训管理员
制定机构(或项目)的《培训计划》,监督该计划的实施,撰写《培训评估报告》。
客户服务人员
为客户提供与产品相关的服务(如技术咨询),快速响应客户的要求,给客户一个满意的解答。
产品维护人员
(1)纠错性维护:
及时解决用户遇到的技术故障和消除产品中的缺陷。
(2)完善性维护:
在资源允许的情况下,不断改善产品功能与质量。
临时角色
职责说明
立项建议小组
(1)开展立项调查、产品构思和可行性分析,撰写相应文档。
(2)申请立项,并在立项评审会议上答辩。
立项评审委员会
由机构领导、各级经理、市场人员、技术专家、财务人员等组成,委员会按少数服从多数原则投票决定是否同意立项。
结项评审委员会
对项目的有形资产和无形资产进行清算,对项目进行综合评估,总结经验教训等。
结项委员会的人员组成与立项评审委员会的类似。
技术评审委员会
对工作成果进行正式技术评审,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷。
该委员会由项目内外的技术专家组成。
配置控制委员会
对配置管理各项活动拥有决策权(例如审批计划,审批变更请求等)。
第十四节附则
第六十七条本制度由公司研发部负责解释和修订。
第六十八条本制度自发布之日起开始执行。
附件一立项分析报告
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
当前版本:
作者:
完成日期:
版本历史
版本/状态
作者
参与者
起止日期
备注
1.项目介绍
1.1.项目目的
提示:
用简练的语言说明本项目“是什么”,“实现什么目的”。
描述简练且清晰。
1.2.项目背景
提示:
阐述项目背景,重点说明“为什么”会产生本项目。
(1)公司的短期、长期发展战略;
(2)业务需求及发展趋势;
(3)技术状况及发展趋势;
(4)特殊的业务需求等。
1.3.项目范围
提示:
根据对现有需求的了解来确定项目基本范围,说明本系统“应当包含的内容”和“不包含的内容”。
2.项目计划
2.1.项目团队
提示:
说明项目团队的角色、知识技能要求、建议人选、人数、工作时间,如下表所示。
角色
知识技能要求
建议人选、人数
工作时间
项目经理
需求开发人员
系统设计人员
编程人员
测试人员
质量保证人员
配置管理人员
服务与维护人员
……
2.2.成本估计
内容
成本(人民币)
备注
人力资源
软硬件资源
差旅费
会议费
接待费
…
2.3.项目时限:
根据用户要求和公司研发能力设定计划研发完成时间
3.总结
提示:
给出清晰的建议结论,便于上级领导决策。
附件二
业务需求说明书(业务组编制)
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
当前版本:
作者:
完成日期:
版本历史
版本/状态
作者
参与者
起止日期
备注
1概述
1.1业务调研人员名单
【可选】
序号
职能部门
姓名
主管
联系电话
备注
1.2业务范围
此处描写总体业务的概要分类。
1.3业务目标
从高层或商务利益的角度提出本业务系统的期望目标,以及评价标准。
1.4相关文档
说明:
列出本文档的所有参考文献(可以是非正式出版物),包括现有规范、标准、批文、引用到的文件、资料等。
1.5业务词汇表
说明:
列出本文档的所引用的专属领域词汇、术语等,以便于业务需求的提供者和接收者是建立在一致的业务理解基础之上的。
2组织结构及业务
2.1业务相关组织结构、人员组织结构
说明:
如果客户岗位设置复杂可分别设置,业务组织结构和人员组织结构
2.2组织机构描述
2.3角色职责
说明:
将业务涉及的具体人员进行一定程度的分类和抽象,描述该抽象角色的操作职责。
2.4管理综述
【可选】
说明:
主要描述该业务的管理特点和管理模式。
例如:
2.5现有业务流程清单
【可选】
说明:
现有业务流程需要考虑,很多新的业务是在已有业务流程基础上进行重组的。
流程编号
流程名称
责任部门
辅助部门
3业务流程及业务处理描述
说明:
针对每一项具体的目标业务,描述具体的业务流程,以及相关业务的具体描述。
3.1具体业务流程(系统名称+编号)
对于具体业务流程的命名有规范,对具体流程进行编号,便于形成需求矩阵,同时形成需求的管理和跟踪。
3.1.1业务流程
3.1.2业务描述
说明:
描述具体的业务流程。
3.1.3相关业务对象
说明:
业务对象:
业务流程中涉及的单据、报表等。
业务对象
使用部门
对应电子档案编号
3.1.4业务规则及关键算法
说明:
描述业务环节关键算法体系。
4假定和约束
说明:
列出进行本软件开发工作的假定和约束,例如开发期限等。
4.1运行环境约束
4.2设计约束
【可选】
说明:
开发过程中必须使用的软件语言、软件进程需求、主要开发工具、核心技术、第三方产品等。
4.3产品应当遵循的标准或规范
【可选】
说明:
阐述本产品应当遵循什么标准、规范或业务规则,违反标准、规范或业务规则的产品通常不太可能被接受。
5其他
5.1目前核心问题和困难
5.2业务对项目实施的需求和期望
【可选】
5.3其他未尽事宜
附件三
系统需求规格说明书(IT组编制)
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
当前版本:
作者:
完成日期:
版本历史
版本/状态
作者
参与者
起止日期
备注
1引言
1.1目的
例如:
规定系统的边界和目标,描述系统的功能性需求和非功能性需求。
1.2读者对象及阅读建议
说明:
指明本文档面向的读者群,及相应的阅读意见。
1.3文档范围
【可选】
说明:
对本文的范围做阐述,本文档改动时,受到影响的范围,例如,本文引用到的用例模型,系统原型,系统测试用例等文档。
1.4参考文档
说明:
列出本文档的所有参考文献(可以是非正式出版物),包括计划任务书、合同、批文、引用到的文件、资料及软件开发标准等。
1.5术语与缩写解释
说明:
列出本文件中用到的专门术语的定义和缩写词的原词组,并给予解释,以便于所有读者达成共识。
2综合描述
2.1系统背景
【可选】
说明:
介绍系统的预期效果、历史原因。
2.2问题说明
【可选】
提供一段说明,总结此项目需要解决的问题。
可以采用以下格式:
问题是
[对问题进行说明]
影响
[问题影响的干系人]
问题的后果
[该问题会导致什么后果]
成功的解决方案
[应列出成功解决方案的一些主要优点]
2.3系统范围
说明:
阐述本项目“适用的业务领域”和“不适用的业务领域”,本产品“应当包含的内容”和“不包含的内容”。
说清楚系统范围的好处是:
(1)有助于判断什么是需求,什么不是需求;
(2)可以将开发精力集中在产品范围之内;(3)有助于控制需求的变更。
●完整而准确的定义本产品的干系人;
●明确本产品所影响到的部门和业务;
●用图表或者文字描述产品的范围,概要的定义产品的功能。
2.4干系人与用户说明
【可选】
2.4.1用户环境
【可选】
详细说明目标用户的工作环境。
以下是几项建议:
该任务由多少人来完成?
是否总在变化?
一个任务周期需要多长时间?
执行每项活动要用多长时间?
是否总在变化?
是否有特殊的环境约束:
移动、户外、乘机旅行等?
目前使用的是哪些系统平台?
以后会使用哪些平台?
还在使用哪些应用程序?
您的应用程序是否需要和这些应用程序集成?
在此处可以从业务模型中摘录一些内容来概述所涉及的任务和角色等等。
2.4.2干系人简档
【可选】
通过在下表中填写各干系人的相关信息来说明系统中的各个干系人,详尽的简档应包括各种干系人在以下方面的信息:
代表
[谁是此产品的干系人代表?
(如在他处已作记录,则此处为可选。
)此处只需填写姓名。
]
说明
[对干系人类型的简要说明。
]
类型
[介绍干系人的技能特长、技术背景和熟练程度(即权威用户、业务用户、专家用户、初级用户等)]
职责
[列出干系人对所开发的系统负有的关键职责,即他们作为干系人的利益。
]
使用频率
[该干系人使用系统的频率]
意见/问题
[在此处列出会阻碍成功的问题以及任何其他相关信息。
]
2.4.3关键的干系人/用户需要
列出干系人认为现有解决方案存在的关键问题。
对于列出的每个问题,需澄清以下要点:
•为什么会出现这一问题?
•目前如何解决该问题?
•干系人需要什么样的解决方案?
务必要了解干系人或用户对解决各个问题的相对重视程度。
分级和累积投票方法表明,必须解决的问题与干系人或用户希望解决的问题大有不同。
2.5目标业务模型
【可选】
说明:
新系统业务模型描述,如有相应业务模型材料了,可作为需求规格说明书的输入参考资料。
2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 具体 流程 管理制度 详解