需求再分析

在Alpha阶段,我们的产品得到了用户的广泛好评,但是还是存在一些问题。

  • 登录不稳定,登录速度慢等问题:这是北航VPN本身的不稳定和服务器带宽性能的限制导致。
  • 功能太少,没有核心功能:我们规划的核心功能“课程评价”在Alpha阶段没有上线,因为我们是完全从头开始开发的软件,需要一些时间对软件进行“打地基”,牺牲了课程评价的时间去开发了版本更新等功能。
  • 界面不够美观:设计层面上存在一些不美观的地方,用模拟器展示的效果也不太好,画面比较模糊。

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

功能增减

Beta阶段,我们不会删除原有的功能,而是会新增一些功能,新增功能如下:

类别 功能 说明
面向用户 DDL截止推送 当用户课程中心DDL即将截止而作业还未提交时,软件会在用户的手机上进行消息提醒,从而提醒用户提交作业。具体的提醒时间可以设置。
校历功能 显示北航校历,显示教学周和自然周的对应关系,显示节假日日期,与DDL功能有机结合
课程评价 对于数据库里的所有课程,用户可以对课程进行评价,打分,发表评论,分享意见,且意见可以得到其他人的赞或者踩。大家的评论全部匿名。
意见栏 在软件中设置意见反馈,如果用户对软件有改进建议可以实时反馈。
iOS适配 将软件移植到iOS端,并尝试上架App Store。
界面美化 听取用户建议,将界面打磨的更好看
面向开发者 爬虫重构 使用requests来取代如今的selenium来重构爬虫,加快响应速度,减少请求量,减少内存占用
爬虫状态监控 爬虫无论正常运行还是出现异常,均将信息返回给后端,让开发者知晓爬虫状态

管理改进

上一阶段,我们的项目管理有许多不足的地方,也有许多制定了但没有完全执行的规则。这次借着新人的加入,对之前的项目管理进行一定的反思和修改,再次重申管理制度。

  • 代码风格

    • 前端

      基于Android Studio进行开发,而AS又使用了IDEA的框架,有Checkstyle插件,但是没有Dart语言的现成的配置,所以前端在编程时自觉遵循OO课程中Checkstyle的相关规则。

    • 后端&爬虫

      基于Python进行开发,引入pylint和pylint-django进行代码风格检查。pylint的代码风格审查非常严格,对文件、类、方法的注释也有要求,请尽力修改代码,成为拥有良好代码风格的程序。

  • 目录管理

    • 完善.gitignore和README.md,保证代码中不存在无用文件(如缓存文件、数据库迁移文件等)。
    • 文档放在GitHub Wiki中,并建立Wiki目录,设置好对应的跳转链接。
    • 文档包括但不限于:编译运行指导文档、接口规格文档、错误信息文档、更新日志文档(前端Release时更新)
    • README.md中存放的内容:Introduction,How to Start,Wiki Link,这些信息需要能帮助项目无关者在一无所有的环境下配置成功。后端提供的信息需要能够满足持续部署/集成的条件。
  • 代码签入

    • 无论前端后端,master分支都是不能直接进行push,PM在GitHub上也进行了对应的设置,任何成员都无权直接修改master分支。
    • 所有代码签入全部使用Pull Request进行。每个Pull Request由修改代码的开发者亲自开启,经过郭骏或单彦博的代码复审后签入。根据Alpha阶段助教的意见,我们需要在Pull Request中体现出有Review,可能是多次commit,亦或是一些comment。
    • 如果PR是在仓库中进行,每次合并后会删除原有分支。
  • 任务管理

    • 所有的任务以Issue形式发布。每个Issue至少带有两个标签:bug/enhancement,以及size,分别标记Issue的类别和工作量。非计划阶段,而是后期加入的Issue也需要设置size。
    • 如果Issue的任务精确到人,请设置Assignee。
    • 如果Issue的任务需要通过签入代码来完成,请将PR与Issue进行绑定。
  • 错误处理

    • 前端、后端、爬虫务必同一错误处理格式。
    • 错误处理信息有必要写入Wiki文档,注释中仅建议提及。因为错误信息是给不同部门的开发者看的,其他开发者不会看源代码的具体实现。
    • 对于认为“不可能”发生的错误也需要处理,例如http参数错误。调试bug的阶段,任何bug都有可能出现,需要将错误信息局部化、最小化,且有明确的信息提示。磨刀不误砍柴工。

任务分解

任务分配依然延续之前的分配规则,以下是GitHub上的Issue分配图。

人员管理

本阶段不尝试新的分工。新加入的同学直接接手离开同学的前端开发工作。

由于前端开发本身由3个人进行,所以即使少了一个人,也没有什么不可或缺的技术被带走。新人入会培训有两位老开发者进行指导培训,入门上难度相对较低。

新人入会的学习,主要是重复Alpha阶段前端开发者的学习经历,学习Flutter框架和Dart语言的使用,配置Android Studio环境进行开发,遇到困难点由前端开发者进行指导。

[软工顶级理解组] 团队规划和任务拆解(Beta)的更多相关文章

  1. [软工顶级理解组] 团队任务拆解(Alpha)

    一.任务概述 在alpha阶段,我们需要完成功能规格说明书中所提到的所有功能,在一个阶段的开发周期内,交付最小可行的可用版本. 二.任务分配及时长 分组&成员 具体任务 预计时长(小时) 前端 ...

  2. [软工顶级理解组] Alpha阶段测试报告

    [软工顶级理解组] Alpha阶段测试报告 在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原 ...

  3. [软工顶级理解组] Beta阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  4. [软工顶级理解组] Beta阶段项目展示

    目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...

  5. [软工顶级理解组] Alpha阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  6. [软工顶级理解组] Alpha阶段项目展示

    目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...

  7. [软工顶级理解组] Beta阶段团队贡献分评分

    贡献分评分依据 下述表格适用于前端.后端.爬虫开发者的评分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延后完成,迟交 ...

  8. [软工顶级理解组] Alpha阶段团队贡献分评分

    评分总表 下述表格适用于前端.后端.爬虫开发者的评分,基础分数为50分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延 ...

  9. [软工顶级理解组] Beta阶段测试报告

    在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原课程号不同,则GPA计算会出现误差.但我们无 ...

随机推荐

  1. Gitlab(1)- 简单介绍

    什么是 Gitlab 一个开源分布式版本控制系统 开发语言:Ruby 功能:管理项目源代码.版本控制.代码复用与查找.权限管控 Git 家族成员 Git:是一种版本控制系统,是一个命令,是一种工具 G ...

  2. JS007. 深入探讨带浮点数运算丢失精度问题(二进制的浮点数存储方式)

    复现与概述 当JS在进行浮点数运算时可能产生丢失精度的情况: 从肉眼可见的程度上观察,发生精度丢失的浮点数是没有规律的,但该浮点数丢失精度的问题会100%复现.经查阅,这个问题要追溯至浮点数的二进制存 ...

  3. java版gRPC实战之二:服务发布和调用

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. 硕盟SM-T54|type-c转接头HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞接口功能说明

    硕盟SM-T54是一款 TYPE C转HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞,支持四口同时使用,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显 ...

  5. 3gcms导航,实现当前栏目高亮的办法

    <volist name="menu" id="vo" offset="0" length='8' key='k'> <l ...

  6. php-抽象工厂

    目标:创建有依赖关系的实例;(套餐) <?php //抽象类 食物 interface IAllayFood { function Allay(); } interface IDrinkFood ...

  7. maven项目环境变量配置及创建(一)

    Maven是基于JAVA平台的一款编译.测试.打包部署及运行的构建工具 1:首先需要下载安装JDK 2:安装Eclipse 3:下载maven包(https://maven.apache.org/do ...

  8. vivo全球商城-营销价格监控方案的探索

    一.背景 现在日常官网商城的运营中有一定概率出现以下两个问题: 1)优惠信息未对齐 官网商城促销优惠的类型越来越多,能影响最终用户实付价的优惠就有抢购.满减.优惠券.代金券等.实际业务操作中存在不同促 ...

  9. P4233-射命丸文的笔记【NTT,多项式求逆】

    正题 题目链接:https://www.luogu.com.cn/problem/P4233 题目大意 随机选择一条有哈密顿回路的\(n\)个点的竞赛图,求选出图的哈密顿回路的期望个数. 对于每个\( ...

  10. P4491-[HAOI2018]染色【多项式,二项式反演】

    正题 题目链接:https://www.luogu.com.cn/problem/P4491 题目大意 给\(n\)个物品染上\(m\)种颜色,若恰好有\(k\)个颜色的物品个数为\(S\)那么就会产 ...