beta设计和计划
项目 | 内容 |
---|---|
课程:北航-2020-春-软件工程 | 博客园班级博客 |
要求 | Beta设计和计划 |
我们在这个课程的目标是 | 提升团队管理及合作能力,开发一项满意的工程项目 |
这个作业在哪个具体方面帮助我们实现目标 | 对\(\beta\)将要做的任务进行拆解和分工 |
一、需求再分析
根据用户反馈,是否发现之前的需求分析有偏差?为什么会出现这种偏差?beta阶段你们是否能真的分析清楚用户需求?如何做到?
根据用户反馈&bug,我们整理了Beta阶段的需求。
- 资源请求较多,网页加载较慢
- 核心功能未上线:由于alpha阶段的开发人手不足,产品的核心功能并未上线。
- 对新手还不够友好,模型可视化不够友好,没有模型的inference,实时查看代码效果等功能。
Beta阶段我们会针对以上三个问题进行改进,继续完善。
二、功能增减
本阶段要新增什么功能?是否需要新的原型设计?是否有新增典型用户?新增的功能有什么验收标准?
根据已有的反馈,结合以往的功能设计,有了更为具体的设计和拆解:visualpytorch功能设计
其中作为核心功能的封装、模型市场、推理将作为核心的新功能首先进行开发。分成三个小组进行专一地攻克。
三、技术改进
技术上相对前一阶段需要作何改进?比如:增加对代码规范的要求、针对新的功能点所需要掌握的新技术、对代码流程管理上的一些规范。
-
代码签入
-
\(\alpha\)阶段直接进行push融合分支,在\(\beta\)阶段我们会禁止这一种行为。
-
实际上因此出现过没有及时pull就合并的情况,不得不回滚,而所做的一切都白费了。
-
要求所有代码签入全部使用PR进行。每个PR由修改代码的开发者亲自开启,经过PM的代码复审后签入。
-
需要在Pull Request中体现出有Review,可能是多次commit,亦或是一些comment。
-
所有要求代码的issue的关闭必须通过PR的形式。
-
-
任务管理
- 所有的任务以Issue形式发布。每个Issue至少带有两个标签:priority(重要性),size(大小)。后期所有加入的Issue也需要设置priority和size。
- Issue的任务需要精确到人,使用assign分配。
四、任务分解
上面这些要做的事情,如何具体分配到个人?请注意计划的粒度。
前后端部分分别增加了不少新功能,详见任务分解文档。在github-issues上进行了开题。
任务概述 | 描述 | 优先级 | size | |
---|---|---|---|---|
前端 | 邮箱验证 | 对注册邮箱进行验证 | 1 | 2 |
帮助文档导航栏 | 略微修改导航栏 | 1 | 2 | |
封装 | 核心功能,优先完成 | 5 | 5 | |
前端可视化优化 | 模型搭建界面优化 | 3 | 2 | |
问题反馈支持图片 | 略 | 1 | 2 | |
静态资源的整合 | 删除不必要的静态资源 | 1 | 2 | |
模型市场 | 模型交流共享平台 | 5 | 5 | |
模型参数分析与可视化 | echats绘图 | 4 | 5 | |
后端 | 经典模型 | 收集经典模型对应架构。并写对应帮助文档 | 2 | 4 |
模型推理 | 收集大量针对某一具体问题的模型pkl文件,写模型json转换成inference代码。并写对应帮助文档 | 5 | 5 | |
数据增强 | 设计数据增强的json文件,在train过程中转换成代码。并写对应帮助文档 | 3 | 3 | |
模型参数分析与可视化 | 较为简易,传入json文件,通过Summary完成,转化成字符串 | 1 | 2 | |
模型市场 | 模型交流共享平台。与前端合作完成 | 5 | 5 | |
tensorboard | 输入模型json文件,通过tensorboard生成对应的events文件,在服务器某端口上展示 | 3 | 4 |
五、人员管理
本阶段是否会尝试新的分工?新人入会如何进行培训?
本阶段大体上分工不变,alpha阶段的5人工作基本不变。
新加入的同学归于后端组,由于其本身对django比较熟悉,因此入门难度较低,仅需对Restful api进行一定了解即可。给新人分配的功能为模型市场,是一个相对独立的功能,与前端的shx同学组成一组,开发此项核心功能。