软件开发管理制度.docx
《软件开发管理制度.docx》由会员分享,可在线阅读,更多相关《软件开发管理制度.docx(52页珍藏版)》请在冰豆网上搜索。
软件开发管理制度
软件开发管理制度
1总则
●为规范自有软件研发以及外包软件的管理工作,特制定本制度。
本制度适用于公司软件研发与管理。
●本制度中软件开发指新系统开发和现有系统重大改造。
●软件开发遵循项目管理和软件工程的基本原则。
项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。
软件工程涉及需求管理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、系统上线和数据迁移。
●除特别指定,本制度中项目组包括业务组(或需求提出组)、IT组(可能包括网络管理员和合作开发商)。
2立项管理
●提出开发需求的信息技术部门参与公司层面立项,进行立项的技术可行性分析,编写《立项分析报告》(附件一),开展前期筹备工作。
《立项分析报告》应明确项目的范围和边界。
●应用系统主要使用部门将《立项分析报告》上交公司总裁室进行立项审批,以保证系统项目与公司整体策略相一致。
●《立项分析报告》得到批准后,成立项目组(如果是外包开发,则成立外包商项目组;如果是合作开发,则与外包商共同成立合作开发项目组,以下统称“项目组”),项目组应包括业务组(由公司相关业务部门组成)和IT组(自行开发为办公室网络管理员;外包开发为外包商成员;合作开发为网络管理员和外包商成员)。
公司委派一名员工负责监督项目的进度,进行项目管理工作,确保开发能及时完成并能满足业务需要。
项目组人员的选择应满足项目对业务及技术要求,项目组人员应有足够的业务和IT技术方面的专业知识来胜任项目各方面的工作。
3需求分析
●立项后业务组对用户需求进行汇总整理,出具《业务需求说明书》(附件二),并确保《业务需求说明书》中包含了所有的业务需求。
经系统使用部门审批确认,作为业务需求基线。
●IT组在获得《业务需求说明书》后,提出技术需求和解决方案,并对系统进行定义,出具《系统需求规格说明书》(附件三)。
《系统需求规格说明书》需详细列出业务对系统的要求(界面、输入、输出、管理功能、安全需求、运作模式、关键指标(KPI)等)。
《系统需求规格说明书》需要由业务组提交给相关业务流程负责人确认。
●对于合作开发的项目,当业务需求发生变更时,业务组应提交《需求变更申请》(附件四),IT组组长审批后交给合作开发商实施。
●项目组应对需求变更影响到的文档及时更新。
4项目计划和监控
●软件开发采用项目形式进行管理。
项目经理负责整个项目的计划、组织、领导和控制。
●需求分析过程中,项目经理组织制定详细的《项目计划书》(附件五),包括具体任务描述和项目进度表等。
●在项目的各个阶段,业务组组长和IT组组长需配合项目经理制定阶段性项目计划。
业务组组长和IT组组长需配合项目经理对项目计划执行情况进行监控,确保项目按计划完成。
●项目计划需要变更时,项目经理填写《项目计划变更说明》(附件六),并提交公司主管领导审批,通过审批后,交给业务组组长和IT组组长执行。
5系统设计
●系统设计应分为概要设计和详细设计,系统设计要遵循完备性、一致性、扩展性、可靠性、安全性、可维护性等原则。
●在系统设计阶段中,用户应充分参与,确保系统设计能满足系统需求。
●项目组进行详细设计,出具《设计说明书》(附件七)和《单元测试用例》(附件八)。
《设计说明书》中需要定义系统输入输出说明和接口设计说明。
公司主管领导组织相关人员对概要设计进行评审,出具《设计评审报告》(附件九)。
业务组组长和IT组组长应参加此评审并对评审意见签字确认。
●设计评审均以《业务需求说明书》和《系统需求规格说明书》为依据,确保系统设计满足全部需求。
●对已确认通过的系统设计进行修改需获得管理部门、业务组组长和IT组组长的审批后方可进行。
●对系统设计的修改的文档须由文档管理人员进行归档管理。
6系统实现
●项目组根据《设计说明书》制定系统实现计划,并提交项目经理对计划可行性进行审批。
●系统实现包括程序编码、单元测试和集成测试。
●项目组保证开发、测试和生产环境独立,为各环境建立访问权限控制机制,并明确项目成员的职责分工。
对开发环境、测试环境与生产环境在物理或逻辑方面应该做到隔离;如果环境的分隔是通过逻辑形式实现的,应定期检查网络设置。
项目组对已授权访问生产环境的人员进行详细记录,并对该记录进行定期检查,确保只有经授权的人员才能访问到生产环境。
●项目组进行单元测试和集成测试,测试人员签字确认测试结果。
7系统测试和用户测试
●项目组制定《系统/用户测试计划》(附件十),并提交项目经理对计划可行性进行审批。
●《系统/用户测试计划》必须定义测试标准,并明确各种测试的测试步骤和需要的系统设置要求。
●项目组向数据拥有部门申请获取测试用业务数据的使用权,对获取的数据进行严格的访问控制,确保只有相关项目人员才能访问及使用。
●项目组负责测试数据准备,测试用数据要足够模拟生产环境中的实际数据。
对已评定为敏感信息的数据进行敏感性处理和保护。
●IT组或合作开发商建立测试环境进行系统测试。
在系统测试中对新系统内部各模块之间的接口和与其他系统的接口进行充分测试。
出具《系统测试报告》(附件十一),测试人员签字确认测试结果。
●系统测试通过后,IT组配合业务组建立用户测试环境,业务组根据用户测试用例进行用户测试,出具《用户测试报告》(附件十一),业务组组长和IT组组长应在用户测试报告中签字确认。
●项目组完成系统帮助文档(其中包括《用户操作手册》和《安装维护手册》)。
凡涉及应用系统的变更,应对系统帮助文档及时更新。
8试运行
●系统主要使用部门根据项目规模及影响决定试运行策略。
●项目组制定《试运行计划》(附件十二),并制定试运行验收指标,上报公司主管领导审批。
《试运行计划》中应包含问题应对机制,明确问题沟通渠道和职责分工。
●项目组联合试运行单位进行相关系统部署工作,准备培训资料,对相关用户和信息技术人员进行培训。
用户培训的完成度应为实施后评估的指标之一。
●项目组根据《试运行计划》进行系统转换和数据迁移。
系统转换前,检查系统环境,确保运行环境能满足新应用系统的需要。
系统转换时必须详细记录原系统中的重要参数、设置等系统信息,并填写试运行报告相关内容。
系统参数、设置的转换工作作为系统上线的验收的评估指标之一。
●数据迁移前,应制定详细的《数据迁移计划》(附件十三),《数据迁移计划》中应包含迁移方案、测试方案、数据定义,新旧数据对照表、迁移时间、回退计划等信息。
数据迁移计划需经项目经理和主管领导签字审批。
●数据迁移后,项目组对数据迁移的完整性和准确性作出检查,出具《数据迁移报告》(附件十四),其中包括数据来源、转换前状态、转换后状态,数据迁移负责人、对完整性检查情况、对准确性检查情况等内容。
各相关部门验收转换结果后在该报告上签字确认。
●系统转换和数据迁移由试运行单位业务部门和公司主管领导共同监督并进行验收。
●系统转换和数据迁移验收通过后,正式启动试运行。
在试运行过程中,试运行单位办公室把系统运行情况(系统资源使用,反应速度等)记录到试运行报告中。
必要时,项目组应根据系统运行情况对应用系统进行优化。
●试运行达到试运行计划规定的终止条件时,项目组编写《试运行报告》(附件十五)。
此报告应由项目组和试运行单位签字确认,并提交公司主管领导审阅。
公司主管领导审阅试运行结果,决定试运行结束或延期。
9系统验收
●系统主要使用部门及信息技术部门联合组成独立系统验收小组,也可授权原项目组作为验收小组。
验收小组从功能需求及技术需求层面对系统进行综合评估。
●验收小组应根据验收情况整理形成《系统验收报告》(附件十六)提交系统主要使用部门和信息技术部门审阅。
●系统主要使用部门和信息技术部门负责人根据系统测试、试运行情况签署验收意见。
10系统上线
●系统上线应遵循稳妥、可控、安全的原则。
●通常情况下,系统上线包含数据迁移工作。
●项目组制定《系统上线计划》(附件十七),上报公司主管领导审批。
在上线计划得到批准后才能开始部署上线工作。
●《系统上线计划》内容应包括但不限于:
●部署方式和资源分配(包括人力资源及服务器资源);
●上线工作时间表;
●上线操作步骤以及问题处理步骤;
●项目阶段性里程碑和成果汇报(项目执行状态的审阅、进度安排等);
●数据迁移的需求和实施计划;
●完整可行的应急预案和“回退”计划;
●用户培训计划(包括:
培训计划、培训手册、培训考核等);
●公司下发的系统标准参数配置。
●上线单位在上线初期需加强日常运行状态监控,出现问题时应及时处理,对重大问题应启动紧急预案。
●在完成上线后要填写《系统验收评估报告》(附件十八),上报公司项目组汇总整理。
《系统验收评估报告》内容包括:
数据准确性、系统性能及稳定性、接口问题、权限问题、业务操作影响度、问题处理情况、备份、批处理等。
●上线单位管理层要对《系统验收评估报告》进行审批签字。
●公司主管领导批准结项后,业务组和IT组将整理的文档提交各自部门统一管理。
11合作开发管理
●合作开发商的选择应遵循公司相关规定,合作商资质认定参见第三方管理制度。
●合作开发商必须遵循公司《软件开发管理制度》。
●项目经理同合作开发商明确规定项目变更的范围和处理方式,重点关注需求和设计变更。
●项目经理负责监控合作开发商的项目管理及软件开发活动。
合作开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。
发生重大问题时,合作开发商需及时向项目经理汇报。
●IT组组长派专人监控合作开发商的质量保证过程。
●项目组同合作开发商商定验收的标准和方法。
●以上各要求需要在开发合同中明确。
12外包开发管理
●立项申请得到公司主管领导的审批后,选定开发商,确保承包方有相应资质,签订外包开发合同。
●与选定开发商签订保密协议,明确其保密责任。
●要求选定开发商提供所有必要的软件配置项。
●应确保所有软件配置项为最新,与实际运行环境配套。
●应确保所有软件配置项安全,由专人负责管理。
●应在软件安装之前根据开发要求检测软件质量,包括功能、性能和安全的各个方面,检测软件包中可能存在的恶意代码,并审查其中可能存在的后门。
●核心业务系统或模块宜由委托方(即本机构)自主开发。
●项目经理负责监控外包开发商的项目管理及软件开发活动。
外包开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。
发生重大问题时,外包开发商需及时向项目经理汇报。
●项目经理监控外包开发商的质量保证过程。
●项目组同外包开发商商定验收的标准和方法。
●以上各要求需要在开发合同中明确。
13外包服务管理
●机房托管服务的受托方必须满足征信管理机构等相关管理部门规定的资质要求。
●机房托管服务的受托方及其法定代表人在征信系统中必须无不良信用记录。
●应与外包服务的受托方签订正规的外包服务合同,明确其权利和责任。
●应确保外包服务的受托方的系统访问权限受到约束,涉及敏感操作(如输入用户口令等)应由委托方人员进行操作。
●外包服务的受托方进行现场技术支持服务时,应事先提交计划操作内容。
委托方应在现场陪同服务外包人员,核对操作内容并准确记录实际操作内容。
外包服务的受托方人员不得查看、复制或带离任何敏感信息。
●外包服务的受托方应严格履行服务外包合同(协议)中的各项安全承诺,在提供技术服务期间,应严格遵守委托方相关安全规定与操作规程。
14附则
●本制度由公司总部信息技术部负责解释和修订。
●本制度自发布之日起开始执行。
附件一立项分析报告
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
ProjectName-
当前版本:
X.Y
作者:
完成日期:
Year-Month-Day
版本历史
版本/状态
作者
参与者
起止日期
备注
1.项目介绍
1.1.项目目的
提示:
用简练的语言说明本项目“是什么”,“实现什么目的”。
描述简练且清晰。
1.2.项目背景
提示:
阐述项目背景,重点说明“为什么”会产生本项目。
(1)公司的短期、长期发展战略;
(2)业务需求及发展趋势;
(3)技术状况及发展趋势;
(4)特殊的业务需求等。
1.3.项目范围
提示:
根据对现有需求的了解来确定项目基本范围,说明本系统“应当包含的内容”和“不包含的内容”。
2.项目计划
2.1.项目团队
提示:
说明项目团队的角色、知识技能要求、建议人选、人数、工作时间,如下表所示。
角色
知识技能要求
建议人选、人数
工作时间
项目经理
需求开发人员
系统设计人员
编程人员
测试人员
质量保证人员
配置管理人员
服务与维护人员
……
2.2.成本估计
内容
成本(人民币)
备注
人力资源
软硬件资源
差旅费
会议费
接待费
…
2.3.进度表
提示:
制定项目开发的进度表(建议给出项目里程碑计划)。
例如:
编号
里程碑名称
预计结束时间
备注
需求调研完成
项目计划完成
需求分析完成
概要设计完成
详细设计完成
实现完成
集成测试完成
系统测试完成
用户验收测试完成
试运行结束
项目验收
3.总结
提示:
给出清晰的建议结论,便于上级领导决策。
附件二业务需求说明书
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
ProjectName-
当前版本:
X.Y
作者:
完成日期:
Year-Month-Day
版本历史
版本/状态
作者
参与者
起止日期
备注
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其他未尽事宜
附件三系统需求规格说明书
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
ProjectName-
当前版本:
X.Y
作者:
完成日期:
Year-Month-Day
版本历史
版本/状态
作者
参与者
起止日期
备注
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.6功能摘要
总结该产品将提供的主要优点和特性,而不必涉及每个功能的细节。
对功能加以组织,使客户或初次阅读该文档的其他人能够理解此功能列表。
2.7功能清单及重要程度说明
说明:
功能名称、功能描述、重要程度。
重要程度,以ABC三类来表示:
A:
核心功能;B:
辅助功能;C:
外围功能;
级别,按照继承关系分为:
一级,二级,三级;
编号
级别
重要程度
功能名称
功能描述
备注
2.8功能与业务对照关系表
说明:
业务组为主编写业务需求,业务需求提交至信息技术组后,由信息技术组建立目标系统业务模型并与业务组进行确认(本操作可选,也可由信息技术组与开发商合作建立),目标业务模型作为系统需求的输入,由信息技术组与开发商合作撰写和评审《系统需求规格书明书》。
业务需求
目标系统业务活动(可选)
功能名称
2.9假定和约束
说明:
列出进行本软件开发工作的假定和约束,例如:
开发语言、开发期限等。
格式限制说明:
本项将指定由现有的标准或规则派生的要求。
例如:
报表格式;数据命名;财务处理;审计追踪,等等。
硬件限制说明:
本项包括在各种硬件约束下运行的软件要求,例如,应该包括:
硬件配置的特点(接口数,指令系统等);内存储器和辅助存储器的容量。
2.9.1运行环境约束
说明:
硬件设备、支持软件、接口、控制等方面的约束
名称
详细要求
2.9.2设计约束
【可选】
说明:
开发过程中必须使用的软件语言、软件进程需求、主要开发工具、核心技术、第三方产品等。
2.9.3产品应当遵循的标准或规范
说明:
阐述本产品应当遵循什么标准、规范或业务规则,违反标准、规范或业务规则的产品通常不太可能被接受。
3具体需求
3.1功能需求
3.1.1具体功能
3.1.1.1内容
说明:
对于每一类功能或者有时对于每一个功能,需要具体描述其输入、加工和输出的需求。
3.2非功能需求
3.2.1外部接口
3.2.1.1用户接口
说明:
提供用户使用软件产品时的接口需求。
例如,如果系统的用户通过显示终端进行操作,就必须指定如下要求:
a对屏幕格式的要求
说明:
对界面上的各对象、类型、宽度、取值范围、数据来源、能否为空等属性进行描述。
b报表或菜单的页面打印格式和内容
c输入输出的需求
说明:
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。
对软件的数据输出及必须