持续集成系统业务需求说明书doc.docx
《持续集成系统业务需求说明书doc.docx》由会员分享,可在线阅读,更多相关《持续集成系统业务需求说明书doc.docx(12页珍藏版)》请在冰豆网上搜索。
持续集成系统业务需求说明书doc
持续集成系统
业务需求说明书
文件状态:
[]草稿
[√]正式发布
[]正在修改
文件标识:
当前版本:
V1.1
作者:
聂日强、孙建业、廖虎
完成日期:
2018.7.5
机构公开信息
版本历史
版本/状态
作者
参与者
完成日期
备注
V1.0
孙建业
聂日强
2018.5.23
V1.1
廖虎
聂日强
2018.07.05
1.概述
1.1项目背景
随着数字化转型浪潮席卷而来,银行的信息化平台建设正在经历新的考验。
IT各部门之间的隔阂导致的信息传递失真、过多重复工作导致的生产过程中的隐性成本不断增长、软件研发过程的数据割裂等原因使得银行的数字化转型面临极大的阻碍。
我行将借助持续集成平台打造一套适合九江银行IT系统的生产线,从需求->开发->测试->发布->运维->运营”端到端支持的协同工作流程,使项目经理、开发工程师、测试工程师、运维工程师等都可以基于这个平台协同办公,共享项目需求、进度状态,将线下不透明的IT生产过程转变为线上高度自动化、可视化的IT生产线,提升产品研发效率,快速响应业务需求,并不断进行度量分析、趋势预判、优化提升,持续提升IT运营效率。
1.2项目目标
1.打造一条高度自动化、可视化的软件开发流水线。
2.针对代码提交、代码检查、代码分支管理、编译打包、测试、部署等各个环节形成统一的规范,提高发布版本的质量。
3.针对项目进度、需求到任务、任务到应用系统、代码到版本、版本到缺陷等可以可视化跟踪和统计分析,从效率、进度和质量等多个维度展现,支持IT研发精细化管理。
4.前期先将信贷系统的研发迁移到持续集成平台统一管理。
1.3项目范围
1.项目管理系统提供项目需求、规划等数据
2.OA系统做工作流程提醒
3.邮箱系统做代码检查、编译、测试结果推送
1.4业务可行性分析
详见《持续集成系统可行性分析报告》。
1.5术语与缩写解释
无。
4.产品需求
4.1功能性需求清单
功能编号
功能名称
功能点
详细功能
1
需求管理
项目管理
添加项目
项目设置
任务管理
创建任务
创建子任务
关联任务
关联代码
计划跟踪
产品规划
报表分析
2
代码管理
代码库管理
新建代码库
克隆代码库
创建分支
分支对比
分支合并
查看代码提交历史
关联任务
代码库权限设置
代码评审
评审规则设置
评审意见显示
用户组管理
3
持续集成
流水线设置
拉取待测代码
下载编译产出
查看编译结果、编译包
4
介质及组件管理
软件介质存储管理
介质的版本控制
5
测试管理
创建脚本
第三方测试平台调用
6
自动部署
配置文件管理
部署环境管理
环境使用状态查看
部署脚本编写
7
统计报表
项目进度
需求列表
代码统计
单次测试结果及汇总
构建情况度量
部署相关统计
版本质量
4.2其他项目需求说明
1.本项目应尽可能复用现有IT资产,包括但不限于:
i.已提供的可复用的IT资产。
ii.各类应用系统提供的业务与技术构件。
iii.各类基础技术平台提供的系统集成、流程管理、内容管理等方面功能。
2.要求乙方根据对工作任务书的理解,添加交付物信息。
本项目需求部门为九江银行科技部,在项目实施过程中,允许工作量在以上表述工作内容30%范围内发生变更,双方协商解决变更问题。
4.3需求管理模块
4.3.1基本业务描述
主要功能点有:
项目管理、任务管理、计划跟踪、产品规划、报表分析等。
4.3.2处理功能
项目管理
1、可创建/删除项目,并且可关联研发任务
2、可对项目配置不同的开发、测试人员,关联任务,设置项目的代码版本库地址,配置项目的研发工作流
3、可查看项目下不同任务的进度,并针对研发效率/质量可定制不同的统计报表
任务管理
1、可创建/删除研发任务
2、可针对任务配置开发周期、测试周期,负责人等
3、可关联代码提交
计划跟踪
展示项目下不同任务的进度,状态,及对应的风险点
产品规划
针对不同项目、应用系统做统一规划,支持业务需求拆分成各个项目下的任务
报表分析
图像化展示需求列表、研发任务列表,对开发进度及完成情况,代码提交等进行统计度量分析
4.3.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做额必要的调整,并能对接行内现有的项目管理系统,邮件系统,OA系统。
4.4代码管理模块
4.4.1基本业务描述
主要实现面对研发工程师和配置管理员使用的代码管理功能,主要内容有:
代码库管理、代码库权限设置、代码评审、代码用户组管理(评审人员、提交人员、merge入代码库人员),分支管理,代码检查规则设置等代码入库的一些精细化管理。
4.4.2处理功能
代码库管理
1、需支持新创建代码库;
2、需支持克隆代码库;
3、需支持代码分支管理,包含创建/删除分支,分支对比,分支合并
4、需支持查看代码提交历史记录
5、代码提交后,可关联对应的研发任务,Bug缺陷单
代码库权限设置
针对用户设置可读可写、仅可读等不同权限,针对代码文件设置是否支持删除、修改、添加等权限
代码评审
1、评审规则设置,代码检查流程配置
2、评审意见显示、邮件通知
代码用户组管理
针对代码评审,设置不同人员角色(评审组人员、代码模块负责人)等,分配merge、分支合并、分支删除等特权,功能包括可不限于以上内容。
4.4.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做必要的调整。
4.5持续集成模块
4.5.1基本业务描述
此模块是系统的核心功能,主要功能有:
流水线设置,拉取待测代码做测试版本,
下载任务产出,查看单次编译结果。
4.5.2处理功能
流水线设置
1、支持同一项目分阶段设置流水线任务,需包含但不限于开发流水线设置、测试流水线设置、部署流水线设置。
2、流水线任务需支持代码库打测试基线
3、需包含常用的公共流水线任务,包括但不限于诸如代码下载、代码编译、自定义任务、代码风格检查、执行单元测试、单元测试覆盖率检查等
4、同一项目同一阶段可设置多个流水线任务,支持选择调整
5、流水线任务失败,支持人工介入,人工控制,可查看流水线的执行日志
6、流水线可将不同任务组合编排
拉取待测代码
可手动/自动拉取指定版本号的待测代码做单独编译打包,用于Bug定位分析和测试重放。
下载任务产出
支持流水线任务节点产出下载,包括但不限于编译包、测试报告等
查看单次编译结果
查看关键流程的编译结果,用于流水线问题的定位分析。
4.5.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做必要的调整。
4.6介质及组件管理
4.6.1基本业务描述
针对流水线的编译产出(包括但不限于jar、war、二进制程序文件等)做统一的介质管理,建立软件介质和组件版本库,用于管理软件研发流程中的组件库、第三方组件、jar包等软件版本库。
介质及组件版本库,需在开发、测试、生产环境各部署一套。
4.6.2处理功能
软件介质存储管理
支持增加、查询、更新、删除各种介质,比如二进制资源、部署包、jar包等,统一管理
介质的版本控制
1、研发所需第三方库版本控制,比如jar包等的版本控制
2、针对项目集成过程做好研发中间产物版本控制,包括但不限于编译包、部署包、二进制文件等
4.6.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做必要的调整。
4.7测试管理模块
4.7.1基本业务描述
主要包括不同项目的测试脚本管理(创建/删除),测试任务配置等。
4.7.2处理功能
测试脚本管理
1、支持各种语言,groovy、python、shell、ruby、js等语言测试脚本的编写
2、支持第三方的测试平台调用
测试任务配置
支持测试任务分装成公共的流水线任务,关联项目任务
4.7.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做必要的调整。
4.8自动部署模块
4.8.1基本业务描述
主要包括配置文件管理、部署环境管理、环境使用状态查看、部署脚本管理等几部分。
自动部署包括开发、测试、生产。
4.8.2处理功能
配置文件管理
1、支持针对部署抽离统一的配置文件模板、中间件、系统或者容器镜像模板
2、支持自动下发配置到环境上
3、支持查看、修改、删除配置模板等统一管理
部署环境管理
1、支持部署环境记录登记管理
2、支持远程调用虚机/云主机管理软件(比如:
vmware等)创建分配、销毁主机环境等,接口需预留
环境使用状态查看
1、支持远程ssh登陆查看部署环境
2、支持环境状态监控(未占用、正在运行编译、正在运行单测、正在集成测试、关机/重启等)
部署脚本管理
1、支持部署脚本创建/修改/删除
2、支持部署脚本封装成公共流水线库
3、支持脚本关联项目任务
4、可对接开源部署工具,如ansible等
4.8.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做必要的调整。
4.9统计报表
4.9.1基本业务描述
本模块统计报表,包括但不限于多维度的版本质量看板、清晰的需求变更、完成、验收情况和缺陷统计数据、代码提交信息统计、构建相关度量数据、部署情况统计等。
所展示报表不限形式,原则上需直观,好看,可视化强。
4.9.2处理功能
项目进度
统计分析包括但不限于各个项目的任务进度偏差、任务完成数、任务平均完成时间、新增缺陷数、缺陷平均修复时长、缺陷关闭时长等
需求列表
统计分析包括但不限于新增需求列表、已完成列表、每个需求当前状态详情等
代码统计
统计分析包括但不限于每人的代码提交量,代码评审数,项目代码的单元测试覆盖率,代码提交次数等
构建情况度量
统计分析包括但不限于每个项目的编译构建任务总数,构建频率,构建时长,构建成功率等
部署相关统计
统计分析包括但不限于部署时长,部署频率,部署成功率,部署环境硬盘、内存、CPU状态等
单次测试结果及汇总
统计分析包括但不限于测试时长、测试结果、测试通过率,测试发现bug数等
版本质量
统计分析包括但不限于版本的发布数、发布频率,版本的缺陷情况等
4.9.3业务规则及基本操作流程
在厂商提供的成熟产品基础上做必要的调整。
5.其它需求
5.1用户界面总体需求
界面log均符合九江银行系统建设规范。
5.2软硬件环境需求
软件方面:
需使用行内现有的资源,包括但不限于:
系统/工具类别
系统工具名称及版本
采购策略(已有,不需采购;需要采购)
备注(其他事项说明)
操作系统
Linux-RHEL6X64
已有,不需采购
中间件
Was8.5.5
已有,不需采购
数据库
Oracle11G
已有,不需采购
其他工具
GTP
已有,不需采购
5.3性能需求
1、高可用:
任何单点故障,不影响系统使用。
2、高并发:
支持1W以上CI/CD任务的并发,支持1000人以上用户同时在线办公。
5.4业务连续性指标
1、系统实现7×24小时服务、故障恢复时间小于6小时。
2、任何单台故障,不影响系统使用。
3、数据库主备,可不中断任务进行平台升级。
5.5安全性指标
符合监管所有安全条例和九江银行自有所有的安全条例。
5.n其他需求
无。