【二食堂】Alpha - 项目展示

项目展示

1. 团队介绍

二食堂很难排队

姓名 介绍 职务
刘享 img 热爱游戏,尤其是RPG和metrovinia类的游戏。 会C/C++, python, java。 后端
左正 img 一个普通的大学生,Python、HTML、PHP、JavaScript、Ruby、Basic,这些都不会。会一点点C和Java,喜欢看动漫、打游戏,有丰富的赶ddl经验。 后端
李健 img 会C,Java,以及那么一丁点的C++和C#,总结:狭义上的菜。 前端
柴博 img 这里6系底层玩家,技术了解过很多,没有精通,主攻休闲游戏,喜欢各种。 前端
王政 img C C++ java 都会一点,不精通,开发工作更喜欢前端一点。美剧迷。 测试
刘阳 img 写过c++,java,熟练度一般,了解过ruby,没有熟练度。Debug苦手,守夜冠军。团队开发经验较少,但可以保证DDL。 PM

点击姓名跳转至成员个人博客

2. 工程相关的问题

团队项目的目标,预期的典型用户,预期的功能描述,预期的用户数量

  • 项目的目标

    实现一个互联网上面向特定领域的专业知识文本中知识的提取系统,对给定的专业书籍文本,对文本中的专有名词术语(实体)和不同术语指代对象之间关系进行标注,构建专业领域的知识图谱,支持多用户协同标注,能够记录每个标注数据的来源并同步更新;支持对标注的文本对应的实体进行链接,通过图形化的界面对标注结果进行展现,并支持双向的定位。

  • 预期的典型用户

    王亨利

    用户信息 用户情况
    姓名 王亨利
    用户身份 某高校本科学生
    知识层次/能力 就读于某理工科专业,专业能力较强。对本专业知识有一个较为全面的了解。
    生活/工作 日常学习十分认真,课前预习课后复习。烤漆不抱佛脚。
    用户动机 希望期末复习时能快速地构建某门课程的知识图谱,帮助加深记忆。
    用户困难 构建知识图谱时,手写工作量大;使用画图软件操作别扭,排版比较费时间。
    典型场景 期末复习,王亨利决定将专业知识“过一遍”。他将相关专业书籍导入应用,快速地浏览了一遍课本,将一些重要的概念标记出来并标注关系。标注完成,他可以快速地生成知识图谱。
    用户偏好 专业术语勾选便捷,实体之间的关系类型丰富,快速生成图谱。
    用户比例 30%

    李约翰

    用户信息 用户情况
    姓名 李约翰
    用户身份 某高校教师
    知识层次/能力 专家
    生活/工作 负责某一专业课程的授课
    用户动机 某一年课改,准备更新原有的讲义和PPT,要在其中插入专业知识图谱。
    用户困难 专业知识体系庞杂,构建知识图谱工作量巨大。
    典型场景 李约翰老师找来了几位同事/学生,大家同时在应用中标注实体,可以很快完成知识图谱的构建
    用户偏好 协同标注更新同步,操作简单快捷
    用户比例 20%

    乔保罗

    用户信息 用户情况
    姓名 乔保罗
    用户身份 某高校计算机专业研究生
    知识层次/能力 熟悉机器学习
    生活/工作 在实验室做研究,主攻机器学习。
    用户动机 希望把知识图谱作为训练数据来进行特征学习。
    用户困难 知识图谱构建困难。
    典型场景 保罗同学找来了相关地书籍,手动进行标注。最终将知识图谱以数据地格式导出,用于机器学习。
    用户偏好 导出地数据结构清晰明了。
    用户比例 10%
  • 预期的功能描述

    在Alpha阶段,我们计划实现的功能有:

    1. 登陆注册

    2. 用户个人中心

    3. 实体的添加和删除,实体之间关系的添加

    4. 知识图谱的渲染

    5. 导入文本,导出知识图谱,保存任务

      img

  • 预期的用户数量

    Alpha阶段发布后一周内,用户累计200人。

团队的产品如何满足了用户的需求?

发布博客
在Alpha阶段,我们只实现了第一类用户的需求:构建知识图谱。

  • 用户的登陆注册

  • 实体添加删除

  • 实体之间支持三种关系:从属、并列、解释

  • 知识图谱渲染

  • 用户个人中心:登出

事先定义的软件下载量达到了么?为什么没有达到?


截止5.5日晚(发布4天),项目总注册量为59人,实体数量37个。预计一周内不能达到200注册、150实体的预期目标,分析原因如下:

  1. 现阶段文本标注系统实用价值不高,不能有效吸引到用户。
  2. 当前阶段出于种种原因,用户的交互方面没有按照功能设计书的规划进行,当前这种交互方式不够便捷。
  3. 推广力度不够,截止目前,PM一共进行了四次推广,三次大班群,一次课程群,收效甚微。接下来的几天会试着像一二年级学生推广。
  4. PC端软件的便捷性大大不如移动端,竞争没有优势。

团队的成员如何分工协作的?有什么经验教训?

成员 分工
刘享 后端,负责用户部分接口的开发
左正 后端,负责实体以及图谱部分接口的开发
柴博 前端,进行了图谱渲染、个人中心页面、登录注册页面等工作
李健 前端,实体及关系添加页面、用户登陆注册页面等工作
王政 测试,对后端进行测试,对前后端代码进行对接,服务器布置
刘阳 PM,完成会议记录及博客,UI设计,前端测试

经验教训:前期学习需要花费大量时间,提前做准备。工作一定要合理安排,不要出现前后端搁置等待的状态。

团队是如何进行项目管理的?

我们使用了github进行项目的记录和管理。点击访问

  1. PM在任务拆解阶段定下了大体的任务安排,给每一项任务都分配的相应的时间节点,记录在git的issue中

  2. 在每日会议上进行讨论,根据组员的实际情况确定出接下来一天之中的任务,由PM进行记录(参见Scrum Meeting

  3. 每晚20:00PM会与组员沟通目前的进度以及遇到的困难,23:30每人上传当日代码,由测试员进行代码的检查

团队如何平衡 时间/质量/资源 争取如期完成任务的?

主要的平衡方法:

  • 在进行任务拆解时,PM考虑了软件功能的优先级以及难易程度,对功能进行了取舍
  • 每日会议时,PM会根据前后端的进度,结合组员估算的任务完成时间,对任务做出调整,迫于技术上的压力,我们对一些功能也进行了简化。

在产品之外,团队代码的软件工程质量如何?

后端进行了单元测试,基本保证了后端代码的正确性。

前端代码做了大量的注释,可读性强。

测试用例数目,代码覆盖率数目。

img

测试用例数量:11

视频录像

代码规范以及文档

文档已上传git中,包括:

API接口 用户部分

API接口 图谱部分

后台数据架构(暂定)

明年的同学继续开发这个项目,会不会出现代码混乱的抱怨?如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?

  • Alpha阶段,后端代码接口文档完备,可读性高,不会有很大怨气;前端无参考文档,但注释丰富,可能会有点怨气。
  • 新学生可以顺利运行,安装pyhton环境即可。目前暂无文档指导学生。

你们如何找到学生做需求分析?他们给你什么样的反馈?

由于现阶段功能实现的比较简单,目前PM与一些用户进行了线上交流,用户的主要反馈有:

  1. 登陆注册页面简陋
  2. 实体-关系的添加不方便,达不到“流畅”的效果
  3. 知识图谱渲染色彩丰富,清晰美观
  4. 网站整体完成度不高,期待功能完备的网站
  5. 注册功能对输入没有校验,比如邮箱后缀、长度和特殊符号,有引发SQL注入的风险。

3. 团队项目的实际进展,说明在项目管理中,scrum的燃尽图是如何真实反映项目的状态的?或者燃尽图美化了状态?

发布博客

我们实现了一个简单的文本标注生成知识图谱的网站,在Alpha阶段,我们实现的功能有:

  1. 登陆注册
  2. 退出登录
  3. 添加/删除实体
  4. 添加实体之间的关系
  5. 知识图谱的渲染生成

真实之处:项目整体进度没能按照时间来;前后端对接上出现了许多bug,当bug解决时就会有就会有任务批量完成

美化之处:前期长时间的学习进度没有反映燃尽图中

4. 团队成员在Alpha阶段的角色和具体贡献

名字 角色 团队贡献分 具体的贡献
李健 前端 52 1. 主页面的搭建
2. 文本区域页面的搭建
3. 登陆注册页面(与柴博合作)
代码总量1000行
柴博 前端 53 1. 知识图谱的渲染
2. 用户中心页面的搭建
3. 实体下拉删除功能
代码总量900行
左正 后端 55 1. 实体-关系部分接口的实现
2. 维护接口文档
刘享 后端 48 1. 用户登录注册部分接口的实现
2. 数据库的结构设计
王政 测试 47 1. 后端测试
2. 服务器布置
刘阳 PM 44 1. 设计前端原型图
2. 会议记录11篇,博客作业9篇
3. 参与了一些前端代码,并对前端进行了测试

5. 所做软件最有特色的功能是什么,请着重介绍一下。

最具有特色的功能:生成的知识图谱。
1. 结点的大小、颜色根据在知识图谱中的位置动态地调整
2. 同一结点下相同类型的关系会使用同一种颜色进行标注
3. 鼠标悬停显示关系的类型
4. 知识图谱可以放大缩小,进行拖动

6. 团队从用户那里得到了什么反馈,有什么样的bug?这是预料之中的还是没想到的?

  • 在旧版edge浏览器中,使用”登出“功能有一定几率会使服务器宕机

  • IE浏览器使用IE内核模式的qq浏览器360安全浏览器使用IE内核的360极速浏览器中,未登录无法重定向到登录页面。

  • 侧边栏图标错位

  • 点击添加会将用户粘贴进来的文本刷新掉,目前没有实现这方面的后端接口

  • 注册界面中,确认密码栏及时输入错误的密码也会显示登陆成功。(在版本更迭中覆盖掉了前端的代码)

7. 总结,整个团队在Alpha阶段学到了什么,对软件工程的教育,对这个具体的课程有什么批评建议?Beta阶段有什么大体计划?

  • 团队在Alpha学到了什么
    • 大家都是第一次接触WEB开发,学习了很多新知识。后端学习了Django框架,前端第一次接触JS和Echart。
    • 团队之间互相磨合,在前后端对接上都积累了一定的经验。
    • “好记性不如烂笔头”,团队交流的结果都要以文档、代码的形式呈现出来
    • PM的工作十分重要,团队需要PM进行合理的任务分配,PM也要想办法调动大家的积极性。
  • 对软件工程教育以及课程的批评建议
    • PM:任务量偏重,开发的学习成本非常高(尤其是前端),其他课程任务也非常重,组员的表现都不是很积极。
  • Beta阶段的大体计划
    • 完成Alpha阶段剩余的功能
      • 导入导出
      • 任务保存等
    • 好友系统,多用户协同操作
    • 增加关系的种类
    • 页面的美化,实体和关系添加的交互要进行改进
posted @ 2020-05-06 01:14  二食堂很难排队  阅读(185)  评论(0编辑  收藏  举报