软件管理制度

软件开发管理制度
为加强对公司软件研发部门工作管理,缩短开发周期,提高软件开发质量,降低开发成本,提高开发效率,特制定软件研发部管理制度。
第一章 总则
为保证日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可能实现软件研发部项目管理的正规化,工作过程的流程化,以便提高软件质量和开发效率,达到项目能按质按量按期交付的目标。
1、软件开发总体遵循项目管理和软件工程的基本原则。
2、项目管理涉及项目立项、项目计划和监控、配置管理。
3、软件工程涉及需求分析、系统设计、软件实现、系统测试、用户测试、试运行、系统验收、系统上线和数据迁移、产品维护。
第二章 阶段成果
根据软件工程的过程理论并结合公司目前的实际情况,制定以下工作流程,并规定了各个重要环节需要提交的交付物。
1、立项:市场需求分析(或者合同)、项目立项申请表、项目风险分析清单。
2、需求分析:软件需求报告或设计方案、需求规格说明书。
3、总体设计:概要设计说明书或功能模块描述。
4、详细设计:详细设计说明书,包括软件接口说明、单元测试计划。
5、软件实现:软件功能说明、源代码、源代码说明或者注释
6、产品测试:测试报告、测试用例
7、产品发布:产品说明书、使用手册
8、产品维护:问题反馈记录
9、项目总结:提交客户方的项目总结和公司项目汇报的PPT。
软件过程成果表:
阶段 形成文档 职责及文档成果描述 负责人 备注
需求阶段 项目立项报告(Word) 明确甲乙双方责任及义务,需双方签字确认 项目经理 大部分业务建模和需求,少部分分析设计
业务需求说明书(Word) 需求定义,阐述业务范围及内容,开发组负责制定最优技术设计方案 项目经理/需求分析工程师
项目开发计划(Project) 制定项目开发计划,方便所有项目干系人都能及时了解项目进度 项目经理
项目风险分析清单(xls) 针对项目会出现的风险进行分析并制定相应的措施 全体项目干系人
设计阶段 业务流程总体设计书、详细设计说明书(Word/Visio) 讨论项目的技术架构和可能存在的技术难点,梳理业务流程,统一开发规则和风格等 项目经理/架构师 大部分分析设计,部分实施编程及测试,开始考虑部署
数据库关系设计图、流程图(PowerDesigner) 项目所需要使用的数据库的结构图和流程图 架构师/高级软件工程师
任务分配文档(Word) 明确每个组员的开发任务及职责 项目经理
问题说明报告(Word) 让用户、领导及组员及时了解和发现问题 项目经理
业务变更文档(Word) 记录开发过程中用户提出的业务需求变更情况 需求分析工程师、销售
实现阶段 软件功能说明(Word) 记录软件开发过程中所有实现的软件功能 软件开发工程师 最终软件开发的成果物和说明
源代码 可以部署的成果物,以及生成成果物的源代码以及数据库备份文件 软件开发工程师
源代码说明(Word) 针对提交的源代码每一个模块进行说明 软件开发工程师
测试阶段 项目测试方案及报告(Word) 记录项目测试的方法,验证系统功能与性能的记录 测试工程师 反复测试直至系统稳定
用户使用手册(Word) 方便用户使用软件而提供的使用说明书 软件开发工程师
上线及运行 系统使用报告 系统部署后的操作记录 项目经理 部署及维护
用户培训报告 用户培训文档 项目经理
项目验收报告(Word) 记录甲乙双方签订项目验收报告 项目经理
项目总结性报告 项目组通过此项目总结经验及不足 项目经理
第三章 岗位设置
根据公司目前的开发过程主要分为分析、开发、测试三个阶段。分析阶段完成用户需求文档的编写,系统总体设计的编写;开发阶段完成设计文档的编写,代码的编写、代码的维护。测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,需求分析工程师,高级软件开发工程师,软件开发工程师,测试工程师的岗位设置。
岗位 工作内容 责任
项目经理 1、选定项目组成员,成立项目组,安排任务分工。
2、与客户进行沟通和协调(业务需求或非业务需求方面),以及需求调研工作。
3、制定项目开发计划,包括需求,设计,编码,测试这几个阶段的计划。
4、估计项目开发费用。
5、制定小组开发进度表, 对组内人员工作进度监控。
6、对文档的质量进行检查、把关。
7、对组内成员的工作进行指导。
8、定期召开项目会议,把控项目风险和进度。 1、对客户的沟通协调工作负责。
2、对软件的开发效率、质量、费用负责。
3、对系统总体设计、详细设计文档质量负责。
4、对整个项目的进度,质量,成本,风险等负责。
需求分析
工程师 1、  与客户进行沟通,负责需求调研工作,汇总需求分析文档,并编写系统总体设计方案。
2、  遇见需求变更时,分析需求变更内容,并于项目经理一起负责对需求变更进行评估。
3、  与高级软件开发工程师一起完成详细设计文档的编写。
  1、  对用户的需求分析的质量负责。
2、  对项目组所有成员正确理解项目需求负责。
高级软件
开发工程师 1、负责系统的模块设计,详细设计文档。
2、绘制界面原型demo等,设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等,完成大部分的前端设计,小部分的后端设计。
3、负责技术难度大的模块的代码或者公用模块代码的编写、维护。
4、对自己负责模块的详细设计、代码编写。
5、对小组内人员进行技术指导。 1、对组内人员的开发效率负责。
2、对产品整体风格负责。
3、对项目整体设计流程负责。
4、对自己模块的开发效率和质量负责。
软件开发工程师 1、与项目经理沟通和确认某个模块的需求和实现方法。
2、负责某个模块的代码编写、维护。
3、对其他模块的代码的维护。
4、负责与测试人员的交互,处理测试人员的问题。 1、对自己模块的开发效率和质量负责。
测试工程师 1、根据用户需求分析和系统总体设计,编写测试文档和测试用例。
2、对系统的功能、性能、异常进行测试。
3、编写测试文档。 1、对测试的质量负责。
2、对测试文档的质量负责。
第四章 项目立项
1、需求分析工程师进行应用调查与分析,确认软件的应用需求。
2、成立项目评审会,部门经理、开发工程师和指定人员必须参加。对项目进行可行性研究,编写项目建议书,评估项目的难度和工作量,形成可行性研究报告。
3、根据项目配置的优劣成立项目开发组,制定软件开发计划,确定项目经理,由部门和项目经理共同来确定具体项目配置,知识技能要求,团队成员及团队的角色。
第五章 项目计划与监控
1、以项目为单位,项目经理负责整个项目的计划、组织和控制。
2、在整个项目过程中,项目经理定期检查项目进度和完成情况,调整人员分工和安排。
3、项目计划需要变更时,需要明确变更内容并及时汇报。项目经理需要说明客户变更原因并将变更说明提交公司领导审核,以便根据变更内容及时调整计划。。
第六章 需求分析
1、对用户提出的需求进行分析汇总,梳理用户的业务流程和详细的功能定义。
2、做出简单的界面原型,与客户进行有效的沟通, 编写需求详细说明书。
3、根据现有条件进行估计,制定项目进度,制定详细的软件开发计划。
第七章 总体设计
1、在该阶段确定总体结构和软件开发架构,文件命名规范,编码规范。可按软件需求划分成子系统,也可直接定义目标系统的功能模块及各个功能模块的关系。
3、确定软件模块结构,给出每个功能模块的功能描述、数据接口描述,并完成系统概要设计说明书。
4、完成数据库的设计,并编写数据库设计说明书。
5、完成的文档需提交公司进行归档管理。
第八章 详细设计
1、调整前一步设计的不足,确认各模块之间的详细接口信息。
2、设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等。
3、确定模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。
4、汇总并提交所有相关文档,审核确认质量和进度。
第九章 软件实现
1、项目组根据概要设计说明书、详细设计说明书制定系统实现计划
2、有条件的情况下保证开发、测试和生产环境独立。选择软件工具,明确项目成员的职责分工,按照编码规范和详细设计实现软件功能。
3、代码应满足结构良好,清晰易读,且与设计一致,符合编码规范。
4、开发人员需要软件实现过程中编写软件功能说明,源代码说明。软件功能说明文档应说明项目名称、编号、软件名称和版本号,软件功能、主要功能实现过程。源代码说明应说明项目编号、源代码类名称、编写人员、编写日期、变更履历、功能、全局变量、数据库字典、函数功能、接口。该文档包含在源代码文件中,以注释形式存在。
5、项目组进行单元测试和集成测试。开发人员处理测试人员反馈的测试问题,并以书面形式反馈主要问题及解决办法,直至系统运行稳定。
6、汇总并提交所有相关文档,提交公司备案,形成项目知识库。
第十章 软件测试
1、根据单据测试和集成测试两个过程,制定测试计划。按阶段设计测试实例,并将测试结果记录,未通过的的反馈给开发人员调整。
2、完成测试文档、操作手册、安装维护手册的编写。
第十一章 用户培训
1、准备用户培训计划、培训手册
2、确定培训时间、培训地点,向用户进行系统使用培训、操作指导及提供软件操作手册。
3、保留培训签到表,用户意见等存档。
第十二章 系统试运行上线
一、确定部署资源
Linux Centos7.x
二、部署环境
1、MySQL、Redis、FastDFS、Elasticsearch、应用
2、自动化部署。使用Jenkins完成部署工作。
3、制定上线计划,确定上线工作时间表,部署的环境。
三、上线
1、《操作手册》以及问题处理步骤;
2、项目组根据系统运行请款对系统进行优化,记录系统的运行情况、系统问题和处理后的版本。
第十三章 系统验收
1、准备验收确认表。
2、试运行验收报告。
3、验收签字盖章。
第十四章 产品维护
1、记录客户问题内容、反馈时间、报送软件部时间、问题解决时间、回复客户时间等相关时间节点文件。
2、问题汇总到运维日志中,有效分工。
3、遇到无法决定问题上报领导,并与商务协商处理。
4、运维项目内容分类管理,将基础运维步骤细分以文档方式保存,如有变更及时处理,以防造成数据丢失或信息更新异常。
5、记录问题出现原因及后续可能引发后果,便于后续解决相同问题或可追溯前因。
第十五章 源码和文档
一、源码存储
GitLab是类似Github、Gitee的一款代码托管平台。后续可以于公司服务器搭建GitLab服务,将源码存储于GitLab中。
目前可以存储于软开云的。
二、源码权限
1.前提
单体应用:项目是基于Maven多模块构建。
微服务:每个项目是独立的Maven工程项目。
私服:内网环境必须有私服环境,用于存储项目所打成的jar包。
2.思路概述
(项目)源码系统分为“基础模块”、“开发模块”(“开发模块”即项目对应的功能模块)。理论上任何一个项目的源码都是分成这“基础模块”、“开发模块”两个部分。如果项目源码满足“前提”中的要求。则可以进行项目源码的拆分。即“基础模块”与“开发模块”拆分开,将基础模块打成jar包,并将此jar包用于支撑“开发模块”的运行。若如此则负责开发的工程师只要有“开发模块”的源码、“基础模块”的jar包就可以进行项目的运行及开发工作。
3.实现
(1)满足前提中所述要求
(2)项目拆分成“基础模块”、“开发模块”
项目最大权限者负责维护“基础模块”代码,并以合理的版本进行进行管理;将“基础模块”代码打成jar包之后上传于本地私服中供开发工程师使用。
(3)工程项目
工程项目及项目的业务功能模块,此项目中有开发工程师所写代码及引入的“基础模块”的jar包。开发工程师有此项目的权限。
(4)版本
基于此种模式实现之后,jar包的版本管理会更加的规范。
(5)代码提交规范
注释规范:必须包含的信息项包括:所属模块或功能(必须与项目实施进度计划一致)、性质(正常开发、修改BUG、扩展功能)、状态(编码中(x%)、调试通过、独测通过、联测通过)、更新说明(本次提交所涉及修改部分的简要说明)。
三、文档
1.业务简述文档
应将需求文档、设计文档、设计变更文档、软件开发需求变更文档、测试文档、操作手册、验收文档、运维文档等
2.个人总结文档
项目开发过程中解决BUG的总结,以便以后遇到相同问题快速处理。
3.总结文档
项目结束后整理项目心得,将本次项目存在的困惑、收获、个人改进意见整理成册,可进行组内、部门内、公司内部分享。
第十六章 质量检查
一、业务需求
每个功能业务的描述是后续检验的准则。
二、数据结构
三、代码实现
是否与业务逻辑一致、是否方便后续维护、
四、代码质量
命名是否按照表的命名、逻辑、是否需要批量插入数据库、注释是否都有加
第十七章 文档规范
一、基本要求
1.页面布局
上:2cm;下:1.5cm;左:1.5cm;右边:1.5cm。
2.一级标题
宋体 小四 加粗
文本之前:0字符;
文本之后:0字符;
特殊格式:无,度量值:“空字符”;
短前:“空”行;
段后:“空”自动;
行距:1.5倍行距;
设置值:1.5倍。
3.二级标题:
文本之前:0字符;
文本之后:0字符;
首行缩进:0.71cm;
段前:“空”行;
段后:“空”自动;
行距:1.5倍行距;
设置值:1.5倍
4.正文部分
全部都是:宋体、小四。
二、内容要求
1、罗列出项目开发期间遇到的难点的处理方式。
2、不能有模糊不清的表述。
3、项目其他的总结。
第十八章 软件变更
为规范软件变更与维护管理,特制定本制度。本制度适用于应用系统开发完毕并正式上线,移交给客户方之后的运行支持及系统变更工作。
1、系统变更工作可分为功能完善维护、系统缺陷修改、统计报表生成。
2、需求部门提出系统变更需求,项目经理同开发人员一起根据重要性和紧迫性做判断,确定其优先级和影响程度,并进行相应处理,同时将变更需求整理成系统变更申请表。
3、系统变更实现过程按照软件开发过程规定进行,遵循软件开发过程统一的编码标准和版本控制,并经过测试通过才能完成部署和上线。
4、在系统变更完成后,开发人员需将系统变更表的执行结果提交给项目经理,测试人员确认执行结果后,项目经理与需求提出方确认签字后,提交至公司进行归档管理。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值