今天完成的事情:
仔细看wiki上做项目要做的事情,了解流程
看书对之前任务的知识点进行查漏补缺
明天计划的事情:
制作完成复盘申请ppt
遇到的问题:
无
收获:
①:敏捷开发流程(面向java)
一、story讲解
1.1 制作竞品分析PPT,UE全组参与。(用时:根据产品复杂度,0.5-2小时之内)
1.2 制作产品原型,交由客户看,客户没有异议之后拆story
1.3 产品在禅道拆分好story,并且定义出优先级,关联需求,后续开发根据优先级进行开发
1.4 由产品讲解story,前端和后端都参与。(用时:根据产品的复杂度,1-3小时之内)
听pm讲流程
二、人员划分
2.1 新建wiki项目主页,把PPT和产品原型(HTML文件)上传到wiki
2.2 根据产品原型,按照模块划分相关负责人,前端和后端都是,并放到wiki。(由项目负责人新建)
命名:xxx项目人员分工(前(后)端)
若是负责人,则创建xxx项目的人员分工
三、做方案设计、定义接口文档(2-3天)
3.1 前端后端相关人员一起,对照原型,根据模块及页面大概定义出接口
3.1.1 一个页面中有几个接口,每个接口入参与出参是什么
3.2 后端每个模块的负责人,根据开会讨论的结果,在wiki上生成标准的接口文档
3.3 将后端做好的接口文档发给前端模块负责人过目,有问题继续修改;没问题开始后续的步骤 。
前后端沟通对接口,负责人开会讨论出结果后,在wiki上生成标准接口文档,然后传给前端负责人,有问题继续改,没问题就开始后续步骤
四、方案设计(1小时-1天左右,根据模块大小定义时间)
4.1 后端开发人员,根据原型以及定义的接口,做好方案设计
4.1.1 对有难度或者有疑点的接口,做出方案,尽量给出多个合理方案
4.1.2 每个方案写清楚优点缺点
根据原型及定义接口,做方案设计,对有难度或疑点的接口,尽量给出多个合理方案,且写明每个方案的优缺点
五、方案评审(2-3小时)
5.1 对做出的方案设计,做方案评审,建议全体人员参与(无论做不做该项目)
进行方案评审
六、禅道拆分(1-2小时)
6.1 相关负责人按照优先级顺序,在禅道拆分自己的任务,单个任务最多不要超过4小时,即拆分要详细
在禅道拆分自己的任务,单个任务时间不要超过4小时,要拆分得详细
七、开发
7.1 搭建开发服务器
7.2 开发人员根据禅道上的任务,按时完成自己的开发工作,具体体现到日报上
7.3 每天上午开10分钟左右进度会议,如果有延迟现象出现,拿出解决方案,保证项目按照禅道上的时间点完成
7.4 数据库索引:
两种索引:1.经常查询的,数据散列度比较高的,做一般索引,不需要建联合索引。2.数据必须保持唯一的,建唯一索引。
1、要有文档,文档表明哪些字段要建索引。发邮件。
搭服务器,根据禅道上的任务,按时完成自己的开发工作,具体做了什么写在日报上.每天10点开一次进度会议,如果有延迟现象,拿出解决方案.保证按禅道上的时间点完成.
数据库索引方面,经常查询的,数据散列度比较高的,做一般索引,不要建联合索引.数据必须保持唯一的,建唯一索引.
八、阶段测试
与开发并行
8.1 每天至少发布一次代码到开发环境,并且保证发布完之后程序没问题
每天至少发布一次代码到开发环境,并保证发布后程序没问题
九、性能测试和coderevivew(1天)
9.1 对每个接口做好性能测试
9.1.1 每个接口的响应时间不超过200ms,如果有超过的,做优化,尽量缩小到200ms内
9.2 完成codereview,根据codereview结论完成修改
对每个接口做好性能测试,响应时间超过200ms的,做优化,尽量缩小到200ms内
十、压力测试
十一、 Demo
1、发demo申请邮件,收件人包括产品、测试同学、前后端相关开发人员
主题:XX项目demo通知
内容:时间 地点 参会人员
2、开demo会议:主讲人:某个开发人员
会议途中产品和测试提出问题
3、发demo结果通知邮件(由产品同学发)
内容包括:1、demo结果 2、如果不通过,有哪些问题
4、如果不通过,召集第二次Demo会议,知道通过为止。第二次会议只需演示之前不通过的部分
发demo邮件,收件人包括产品,测试,前后端相关开发人员,主题为XX项目demo通知.内容为时间地点参会人员.
主讲人为某个开发人员,回答会议途中产品和测试提出的问题.
11.2 测试
1、demo通过之后,1:开发人员对代码打tag,参考文档 如何打tag 2.开发人员部署测试环境,部署完成之后发邮件,写明域名;3:交给测试人员进行测试,测试人员发送全体测试周期邮件
2、测试期间,开发人员要常去禅道看自己的BUG ,及时确认BUG,及时修改
3、修改BUG之后,开发环境前端代码由前端同学自己部署,后端代码由后端同学自己部署
测试环境每天的下午6点由后端同学统一部署前后端代码
4、测试完成之后,测试或产品发送上线通知
具体参看:测试Bug划分及处理流程
测试和线上环境发布流程:测试及线上环境发布流程
打tag包,部署测试环境,部署后发邮件,写明域名后交给测试人员.
测试期间要常去禅道看自己的bug,及时确认及修改,修改后每天下午六点统一部署前后端代码
十二、 发布测试环境、集成测试(2-3天)
12.1 禅道上建立bug,测试出bug,指派给相关人员修改
十三、发布线上环境,同时停止开发环境和测试环境
发布线上环境并停止开发环境和测试环境
十四、线上监控
错误报告
②:什么是敏捷开发?
敏捷开发是以用户的需求进化为核心,采用迭代,循序渐进的方法进行软件开发.
在敏捷开发中,软件项目在构件初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视,可集成和可运行使用的特征.
换言之,就是把一个大项目分为多个互相联系,但也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态
③敏捷开发原则
1:快速迭代:就是小版本更新发布,更符合如今的需求
2:需求评审:定义有效需求,将需求分组,定义优先级.
3:编写story/验收标准,story是根据用户场景编写的文档
4:多沟通,减少文档
5:做好产品原型:通过图形的方式向用户阐明一个操作界面
6:及早考虑测试:
④禅道
什么是禅道?
禅道是一款项目管理软件,其主要管理思想基于敏捷项目管理方式
禅道的定位不是简单的任务管理软件,而是专业的协同管理软件.研发类的项目管理本身具有其复杂性,所以禅道提供的都是必备的功能.
怎么分解任务?
需求确定后,项目中的几个关键因素都有了:即周期确定,资源确定,需求确定
流程为:
1:在项目的需求列表页面,可以很方便地对某一个需求进行任务分解
2:同时可以查看这个需求已经分解的任务数
3:这时候创建任务的时候,就可以选择需求了
4:同时提供了需求查看的链接
任务分解注意事项
1:需要将所有的任务都分解出来.,包括设计,开发,美工,部署环境等等
2:任务分解粒度越小越好,比如几个小时就可以完成
3:如果一个任务需要多个人负责,继续考虑将其拆分
4:事务型的事务可以批量指派,比如需要让团队里每一个人都写个项目总结,可以选择类型为事务,然后批量指派给团队里的所有人员
5:任务的类型要仔细设置,这个会涉及到需求研发阶段的自动计算
燃尽图:禅道系统会根据项目所有任务预计剩余时间累起来,绘制成燃尽图
例子:

此图横轴为日期,纵轴为工时数,工时数为项目中所有任务剩余工时的综合,每天计算一下,形成坐标,然后把线连接起来,形成此燃尽图
⑤项目中打日志相关
1:入参要打印出来
2:如果是实体类可以打印整个实体(但是不建议)测试的时候可以打印整个实体,但是发布线上后建议只打印id,集合和数组绝对不允许打印出来,打印size或者length就可以了
3:查看日志命令tail,一般使用tail -200f,查询目前日志的200行
4:通过命令cat -n test.log |tail -n +92|head -n 20(查看92行日志的前20行日志)
⑥log4j2与log4j
log4j已不再更新,产生新的log4j2版本
区别:
1:配置文件类型不同
log4j是通过.properties的文件作为主配置文件,而log4j2则采用.xml,.json,.jsn这种方式来做,原因是properties文件可阅读性差
2:核心jar包
log4j只需要引入一个jar包即可,即

而log4j 2则需要两个核心

log4j和log4j 2的包路径不同,也就是说,甚至可以在一个项目中使用两个版本的日志输出,不过一般不会这么做
3:文件渲染
log4j想要生效就必须要在web.xml中进行配置

这段配置目的在于告诉工程去哪加载log4j的配置文件和定义一个扫描器,可以随心所欲的放置log4j配置文件.
log4j2就不同,只需要把log4j2.xml放到resource目录下即可,注意的是log4j2.xml文件名不能打错
4:log调用


5:配置文件方式
最关键的最大的不同,就是配置文件的区别
log4j2配置文件例子如下:


6:log4j的日志级别,
规定的几个默认级别为:
trace<debug<info<warn<error<fatal
级别之间是包含关系.
log4j的默认优先级为error或warn
具体介绍:

评论