beta设计和计划

项目 内容
课程:北航-2020-春-软件工程 博客园班级博客
要求 Beta设计和计划
我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目
这个作业在哪个具体方面帮助我们实现目标 (eta)将要做的任务进行拆解和分工

一、需求再分析

根据用户反馈,是否发现之前的需求分析有偏差?为什么会出现这种偏差?beta阶段你们是否能真的分析清楚用户需求?如何做到?

根据用户反馈&bug,我们整理了Beta阶段的需求。

  • 资源请求较多,网页加载较慢
  • 核心功能未上线:由于alpha阶段的开发人手不足,产品的核心功能并未上线。
  • 对新手还不够友好,模型可视化不够友好,没有模型的inference,实时查看代码效果等功能。

Beta阶段我们会针对以上三个问题进行改进,继续完善。

二、功能增减

本阶段要新增什么功能?是否需要新的原型设计?是否有新增典型用户?新增的功能有什么验收标准?

根据已有的反馈,结合以往的功能设计,有了更为具体的设计和拆解:visualpytorch功能设计

其中作为核心功能的封装、模型市场、推理将作为核心的新功能首先进行开发。分成三个小组进行专一地攻克。

三、技术改进

技术上相对前一阶段需要作何改进?比如:增加对代码规范的要求、针对新的功能点所需要掌握的新技术、对代码流程管理上的一些规范。

  • 代码签入

    • (alpha)阶段直接进行push融合分支,在(eta)阶段我们会禁止这一种行为。

    • 实际上因此出现过没有及时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同学组成一组,开发此项核心功能。

原文地址:https://www.cnblogs.com/NAG2020/p/12885466.html