美文网首页
谐云课堂 | 敏捷开发流程及项目实战分享

谐云课堂 | 敏捷开发流程及项目实战分享

作者: 谐云 | 来源:发表于2022-07-15 15:00 被阅读0次

01 敏捷开发整体流程

1. 需求确认,产品输出用户故事,产品测试产品就需求部分达成一致

2. 开发进行接口开发,前后端按照用户故事进行接口约定,测试进行案例设计

3. 进行案例评审和接口评审,开发测试围绕业务逻辑,用户故事的数据流向达成一致

4. 后端开发进行接口开发,前端根据mock数据同时进行,测试进行接口案例设计

5. 开发接口设计完成后,部署到测试环境上,点击接口案例调用测试环境进行接口测试,接口测试通过才可以提交给测试

6. 测试全量跑所有的接口案例,以及过去的自动化测试案例,全通过后,在前端进行全量测试

7. 进行全量自动化测试

8. 上线

02 实践实例

需求阶段

引入用户故事,将用户故事可视化地表现出来。

1. 用户服务->新增用户

2. 初始化数据新增admin数据->admin登录->新增用户->查询用户记录->用户登录->能看到基础的菜单

3. Who->What->Why

4. admin ->新增用户->让其他用户可以使用系统

此阶段最重要的是,确保产品和开发测试的认知同步,避免出现开发与产品向背驰,同时产品也要避免开发过程中/后修改需求。

设计阶段

1、需求拆分成任务:

2、测试案例设计:

此阶段最重要的是,确保开发测试的认知同步。开发会较注重细节,测试则较考虑整体逻辑性,在开发前就应让双方互相确认,避免开发完成提测后有重要的分支开发没考虑到导致返工。

开发阶段

1、目标

密码长时间不修改提示/强制用户修改

2、迭代安排

软件功能点清单:

存储设计

数据库设计:在用户表sys_user中添加字段:update_password_time, 存放最近一次客户密码修改的时间:

alter table sys_user add column update_password_time datetime not null default NOW() COMMENT '最后更新密码时间'

3. 功能需求分析

3.1 密码到期提醒改密逻辑

功能点描述:

1. 默认每间隔180天需要强制改密

2. ≥180天,没有改密的,将⽆法登录平台,需要联系对应的有权限的⼈员重置密码 

3. 180天前,第170天开始,每次登录后,展示弹窗下图

4. 现在就改,点击直接切换为改密的⻚⾯ 

5. 下次再说,等价于关闭弹窗(只展示⼀次) 

执行者:当前用户

业务规则:

1. 用户登录时,输入了账号密码,点击【登录】按钮

2. 如果距离上次改密不满170天,不作提示

3. 如果距离上次改密满170天但是不满180天,提示倒计时窗口

4. 用户点击【现在就改】,跳转到【修改密码】界面

5. 用户点击【下次再说】,弹窗消失

6. 如果已经满180天,提示:无法登录,密码已过期,请联系管理员重置密码

3.2 修改系统默认密码到期时间

功能点描述:

对系统默认密码到期时间进行配置

业务规则:

配置文件application-xxx.yaml中, amp.passwordExpireTime字段,默认为 180天

4. 功能技术设计

4.1 接口路径

受影响的接口路径:

用户登录 /provider/users/guanyuntai/login

用户修改密码 /provider/users/password

重置密码 /user/resetPSW/{id}

4.2 密码到期提醒改密逻辑

前置任务:登录

后置任务:无

详细设计:

用户登录时:

路径  /provider/users/guanyuntai/login

在验证【账号存在】、【非第三方账号】、【用户未锁定】、【用户名密码正确】后:

(以下是新加逻辑)

取LocalDateTime.getNow(), 与数据库此用户的update_password_time字段做运算,获得差值checkExpirePassword,if(checkExpirePassword 大于系统配置的amp.passwordExpireTime值,默认为180天){返回给前端字段UserLoginRespDto.passwordExpired =3,表示密码过期不允许登录;    前端提示相应错误信息,提示“请联系管理员修改”;}elseif(checkExpirePassword 大于等于170天小于180天){返回给前端字段UserLoginRespDto.passwordExpired =2,表示可以登录但是要提示信息;    并返回日期差值,作为显示的倒计时天数;    前端提示相应信息;}else{小于170天,返回给前端字段UserLoginRespDto.passwordExpired=1,表示允许登录,不需要提示信息;}

用户修改密码时:

路径:/provider/users/password

在修改密码成功后,取当前时间修改sys_user表此用户update_password_time字段;

重置用户密码时:

路径:/user/resetPSW/{id}

重置密码成功后,取当前时间修改sys_user表对应用户update_password_time字段;

相关文章

  • 谐云课堂 | 敏捷开发流程及项目实战分享

    01 敏捷开发整体流程 1. 需求确认,产品输出用户故事,产品测试产品就需求部分达成一致 2. 开发进行接口开发,...

  • 使用Jenkins对以太坊Dapp应用持续集成

    在项目实战开发中,持续集成是一种有效的敏捷开发手段,由自动化流程管控程序从递交代码到最终发布之间的一系列流程,实现...

  • 阶段03#大四·上

    A 书籍 Pro Git Maven实战 大型网站系统与Java中间件开发实践 B 实习 开发流程、敏捷开发 ID...

  • (一)测试流程与理论

    1.软件开发流程与项目管理 软件开发流程的演变 传统瀑布模型->敏捷开发模型->DevOps开发模型 瀑布模型 瀑...

  • DevOps团队敏捷开发流程

    近期根据我们DevOps开发团队敏捷开发项目的实践经验,将完整流程整理如下,这份规程也不完全算是敏捷专属的项目管理...

  • 项目开发流程

    项目开发流程图: 项目开发流程:完成一个项目的流程,及人员 项目立项:负责项目 需求确认:业务逻辑及各项功能 交互...

  • go学习计划 2018-07-13

    go语言入门及实战 go web开发 go源码及项目阅读

  • 项目敏捷流程

    项目现在敏捷开发流程图: 由于我们项目是维护开发型的项目,我们的最终客户没有指派具体的Produce Owner,...

  • 构建之法-6-敏捷流程

    好像现在开发软件都流行敏捷模式,项目经理要是不懂得敏捷开发流程感觉就像是过时了一样。但是敏捷优劣并存,用不好的话就...

  • 谐云课堂 | 边缘计算KubeEdge基础框架与实践

    KubeEdge在边缘计算中是个非常实用的利器。 ——谐云研发工程师林健 第一期谐云课堂内容分享终于和大家见面啦!...

网友评论

      本文标题:谐云课堂 | 敏捷开发流程及项目实战分享

      本文链接:https://www.haomeiwen.com/subject/entcirtx.html