软件开发技术平台的设计

(整期优先)网络出版时间:2021-04-08
/ 2

软件开发技术平台的设计

戴文顺 吴晓冬 付智洋

武汉东湖学院 湖北省武汉市 430000

摘要:软件开发技术平台,提供了覆盖瀑布开发、敏捷开发以及 DevOps 全流程、全场景的软件项目管理服务,通过制定长期项目计划和短期迭代规划,跟踪研发进度和质量, 帮助团队高效高质量地交付软件产品。平台将建立起一个集成需求管理、项目管理、缺陷管理、组织管理、代码管理和流水线管理 的自动化平台,完全覆盖研发类项目的核心流程。从软件项目的立项、需求确认、成立 团队、开发、测试、到上线及版本控制进行 全方位的管理与监测,让软件开发的流程不 仅可以进行量化、也可以为项目的管理者与 参与者提供多个维度的分析,让项目开发流 程清晰可控,有效避免重复开发,有效掌握 开发人员的能力和代码质量。减少系统开发风险,提高业务精细化管理水平、提高管理和运行效率。

关键词:软件开发;平台;系统;

一、系统设计

(一)系统部署

软件开发技术平台服务采用 Docker 容器化部署,直接将服务环境进行打包,包含 数据库和应用等,系统维护更加快捷,实际部署耗时较短,部署在 Linux 操作系统中。服务部署成功后,用户直接通过 PC 浏览器网址访问,浏览器包括 Chrome,Firefox 等主流浏览器,同时支持移动端的任务快速处理。

(二)系统实现

本系统采用 MySQL 数据库,使用 go 语言和 React 前端开发工具,为数据的存储和系统的开发提供了基础条件。基于 B/ S 架构,即通过浏览器(Browser)和 服务器(Server)架构,为系统的稳定运行提供了支持。软件开发技术平台为单独运行的系统,团队成员可直接根据的自己的职能权限开展工作,同时本系统支持对接第三方工具,包括企业微信、钉钉等,实现统一组织架构的登录和通知功能。本系统可与研发相关平台、工具对接,包括与代码仓代码关联,绑定Jenkins 平台,将整个DevOps 流程在平台完成一站式可视化管理,将软件研发的全流程实现完整的闭环管理。

二、功能及流程

1.需求管理

根据具体的软件开发项目,对项目需求进行规划和管理,包括创建需求、设置需求优先级、将需求关联到迭代、拆分到工作项、关联测试和测试结果、关联其他工作项、需求工作流转、需求视图管理等。需求管理主要是用来将整理的需求与用户的反馈相关联,便于回溯来源,了解更为完整真实的用户场景。

2.项目迭代

项目迭代针对敏捷开发模式,在该种模式下常以迭代开发的方式进行开发,这种方式可以帮助团队及时的改进项目和把控项目进度, 一次迭代可能发布某个或者某几个功能,一次迭代过程包含这些新功能所包含的所有开发工作项,可以阶段性的交付产品或服务。

3.任务管理

通常在确定了项目方向即需求范围后,规划迭代,在迭代中进行各种工作的拆分。通 过拆分需求和自定义任务类型来建立任务, 并将任务指派给项目成员,项目成员在完成 对应的工作后,通过改变任务状态等来表示 项目的进度和下一阶段负责人。

4.缺陷管理

在项目进行或运营阶段,所交付的产品或服务可能会产生多种缺陷,包括内部测试缺陷,用户缺陷反馈等。对项目中所有缺陷进行记录、追踪、修复和管理。

5.反馈管理

项目完成交付后,运营人员通过收集用户反馈整理成相应的优点和问题,为项目的迭代和规划做准备,同样为以后的项目规划和开展提供经验及规划参考。

6.组件管理

项目组件化管理,将需求、缺陷、文档、报表等项目中涉及的工作项添加到项目流程中,自定义设计不同的流程,满足项目的需求。

7.团队管理

团队成员的信息维护,组织架构管理, 根据团队职能差异分配不同权限,根据权限 处理项目事务。

(二)项目集管理

组织级项目管理,主要是全面汇总项目信息,创建项目集,在项目集中添加或删除项目,对项目集进行编辑。还可以新建甘特图,更方便的展示项目的进展情况。

(三)项目开发

代码仓库是一个代码管理工具,用来存放代码,使开发人员可以协同工作。建立项目,关联项目和代码仓库中的代码,配置不同的权限,设置代码提交合并的权限,代码查看的权限等。

(四)测试管理

研发编码完成后,需要根据需求进行功能的手工测试,从迭代规划开始,测试人员即可以根据迭代内的需求范围进行用例库创建,用例编写和测试计划创建。执行测试计划时,可以选择开始、进行中、已完成三种状态进行状态的更改。执行用例时,在具体的测试计划中,点击用例可进行详细的用例步骤执行、一键提交 BUG 至项目或迭代中、查看信息及编辑用例。

(五)知识库管理

在整个项目生命周期中,会产生不同种类的文档,通过知识库管理,将项目中需要记录的信息和知识分享进行记录。创建页面并填写内容,可以将不同的页面组合,将文档关联到项目,支持文档协作,将自己的经验分享给大家,形成团队的知识库。

参考文献:

[1]系统软件开发过程中的软件工程技术[J].智库时代,2019(3):188 + 192..