• 【对软件项目的一些理解】多维团队分工合作模式


    前言

    我们都知道一个软件开发项目需要多个团队分工协作,总体来说就是产品,开发,测试,运维这四个重要团队

    • 产品:负责和客户对接,确认需求,明确需求,将需求正确地讲述给开发、测试、运维,及时向大家更新需求变更等
    • 开发:一般分为前端开发和后端开发,因为系统级开发一般基于springboot等,做好了前后端分离的准备;以前ASP的开发模式前后端混在一起很难维护,所以现在的前后端分离既容易维护拓展,也使得coder更加单一职责;前端开发一般是设计页面组件等,如何把后端的数据按照需求显示出来,以及如何接受数据通过表单等形式传送给后端;后端一般是对数据做逻辑处理,包括数据持久化等,对用户的一个数据操作,后端要通过DAO(数据访问), DTO(数据传输), VO(视图),也就是web开发的MVC模式做好一个处理
    • 测试:在开发阶段过后,前后端要进行联调;这里可能会用到测试团队提供的测试用例进行自测;等开发结束后,要提测,会分一轮测试二轮测试以及冒烟测试(主功能跑通),性能测试等,对测出来的系统可能存在的缺陷要及时向开发汇报,从而让开发及时修复
    • 运维:涉及各个环境的购买、维护、部署等;一般而言,环境包括开发环境、测试环境、演示环境和正式环境;每套环境都要部署系统相关的版本,而每个环境的版本在迭代中可能会存在版本号差,但逐渐会趋于一致;运维一般需要进行巡检,这里可以考虑用shell脚本或python进行一些自动化巡检项的定时器设计等

    产品

    产品需要提供需求规格说明书

    输入规范: 包括不同功能模块的划分,每个功能模块涉及导的字段名臣,字段类型,是否必填,是否唯一,是否有认为限制,是否又占位符(默认值),是否有人为校验项,以及提供未通过响应的文案,这里是方便后端做逻辑校验,以及方便前端显示错误提醒

    需求规格说明书:

    • 概述:包括编写目的,背景,术语说明,法律法规参考资料
    • 产品说明:包括产品目标、产品用户、约定说明(需求优先级,页面设计,全局异常等),给出需求范围
    • 功能需求:包括配置管理、内容管理、用户管理、版权方管理、版权品管理以及具体功能管理
    • 关于管理模块:一般支持列表query,批量导入导出
    • 功能模块:根据需求划分
    • 非功能需求:兼容性、安全性、速度、并发量等

    开发

    • 开发包括终端(app,ios),前端,后端
    • 一般而言进行迭代初期要进行任务分配,包括系统(后台管理系统、h5系统、公共模块等)的模块功能划分,以及具体的功能细化分工
    • 一般来说后端就是提供接口,入参是什么,出参是什么,需要和前端统一好对应的数据格式等
    • 这里来说后端一般还涉及到数据库的设计,怎么分库分表,什么字段之类才能满足业务需求之类的,有没有并发需求,哪些需要建立索引优化查询等。。。
    • 如果需要和其他公司进行一个接口的对接联调,还需要进行后端的相关沟通
    • 前端的话一般涉及到公共模块、公共组件、公共样式,增强复用程度

    测试

    • 功能测试:冒烟测试
    • 提供测试样例,让开发自测
    • 非功能测试:安全性、并发量等
    • 主要的就是功能测试,主流程要跑通

    运维

    负责维护接口文档swagger,方便前后端查看
    各个中间件的信息例如mysql-rds数据库,mq消息队列,oss文件存储,redis缓存等信息

    总结

    一个好的项目需要各个团队紧密地分工合作
    产品 - 开发 - 测试 - 运维 是密不可分的

  • 相关阅读:
    《Oralce系列》Oracle 常用语句汇总
    代码随想录刷题| 多重背包理论基础、背包问题的总结
    查看tensorflow是否支持GPU,以及测试程序
    GBase 8s数据库DB-Access全屏菜单界面介绍(3)
    LabImg安装与使用
    mybatis多个拦截器执行顺序以及获取sql出现java.lang.NoSuchFieldException: boundSql异常问题解决方案
    第37讲:MySQL索引结构之B-Tree和B+Tree数据结构的概念
    第一个 Shell 脚本
    迅为龙芯开发板虚拟机ubuntu更换下载源
    JVM问题排查
  • 原文地址:https://blog.csdn.net/weixin_40986490/article/details/126948866