Alpha阶段项目展示

团队成员简介和个人博客地址

软件工程相关

  • 项目目标(alpha阶段)

    • 对数据库字段和页面样式进行重新设计。
    • 替换掉除了主页之外的所有页面。
    • 优化项目逻辑结构。
    • 为后续beta阶段开发留出接口。
  • 典型用户:北航学生

  • 预期功能(alpha阶段)

    • 导航栏注册登录
    • 个人信息修改及近期评论展示
    • 主页关键字搜索
    • 搜索结果展示及分页展示实现
    • 课程详情页及相关老师/课程展示
    • 优化评分展示手段
    • 提供评价以及评价的展示
    • 评价汇总展示
  • 预期用户数量:200人

    • 使用产品的评价
  • 发布说明

  • 服务器部署

  • 分工协作方式

    • 每周一集体会议+每日大运村宿舍会议+线上交流
    • PM王文珺进行任务的分配和进度规划
    • 陈致远,汪慕澜,戴荣主要负责前端开发,及新html页面的编写
    • 牛宇航,王文珺进行后端相关开发,包括接口编写,前后端对接
    • 申化文进行数据相关的工作,同时协助后端开发
    • 李青阳进行测试相关的工作,同时协助前端开发
  • 经验教训

    • 项目进度规划上不够科学,错误的估计了成员对任务的熟悉度和完成任务时间
    • 任务分解上同时安排了很多次需要顺序完成的任务,导致出现了等待的情况
  • 项目管理

    • 代码管理,通过github进行代码管理,开发的过程依据牛宇航(Chief Branch Officer)编写的分支管理文档进行开发,同时通过release版本号进行阶段性划分



- 任务管理,通过github issue进行任务分配及相关细节的交流


  • 时间/质量/资源的平衡
    • 时间:push push push
    • 质量:多人参与,交付后审核再修改
      • 以一个页面为例,前端人员依靠设计人员的页面进行组件编写和布局,为后端人员留出相应的借口,后端人员修改或重新编写方法完成相应数据的提供和返回,对接人员进行前端和后端对接,过程中再次对前端和后端进行优化,检查相应接口的完整性和正确性,最后实现预期效果。最终,,由测试人员进行相应的页面测试,倘若发现问题,根据bug所在位置进行返工。
    • 资源:多任务的并行开展和资源的提前准备(preparation milestone)


  • 测试相关

  • 代码规范

    • 小驼峰进行变量命名/函数命名/文件命名
    • 对于网页来说,主要是进行各资源的分离,.html/.js/.css/.py/.....
  • 文档

  • 项目质量提高

    • 对除了主页的页面进行了美化
    • 增加了新的页面
    • 对html页面进行了复用
    • 对原有混乱的js进行了重写和重新组织
    • 编写了必要的文档,指导后续开发
  • 需求分析

    • 由于本项目的目标用户是学生群体,一定程度上就是开发者自己,对于这类项目的需求,开发者十分熟悉也最有发言权,所以并没有进行问卷调查
  • 回馈分析(Github issue)






    • 收到反馈后,我们第一时间进行了部分功能的修正,包括评论的自动转义,注册登录的限制重写,数据库操作的优化等等,然而还存在很多问题。
    • 同时,提不起劲组的很多功能我们看到后认为十分有必要,包括安全性的验证等等,这些都为我们beta阶段制定了目标

项目实际进展

一定程度上讲,燃尽图十分真实的表述了我们的alpha阶段项目进程,一由于PM对团队成员的了解不够,导致项目初步起步较为顺利,但是对于任务量的错误估计导致随着项目的进行,开发岗位需要扩容,然而很多成员由于之前没有接触过导致上手较慢,项目无法正常推进,一定程度上延误了功能开发。从燃尽图也可以为下一阶段提供经验,对于人员安排和任务分配需要更加详细的思索。

  • 用户反馈

团队成员角色和具体贡献

任务 工作量 难度 完成度 贡献分 得分者 备注/描述
Scrum meeting博客 / / / 10 戴荣
Scrum meeting博客 / / / 10 陈致远
Scrum meeting博客 / / / 10 汪慕澜
Scrum meeting博客 x 7 / / / 70 王文珺
git_branch.md / / / 30 牛宇航 质量高,必要性高
Data2Database.md / / / 20 王文珺 质量低,必要性高
Django.md / / / 20 牛宇航 质量中,必要性中
Mysql.md / / / 25 牛宇航 质量中,必要性高
Readme.md / / / 15 牛宇航 质量低,必要性中
数据库设计 3 4 4 24 王文珺 合作,分数/2
数据库设计 3 4 4 24 牛宇航 合作,分数/2
url跳转设计 2 3 3 9 陈致远 合作,分数/2
url跳转设计 2 3 3 9 李青阳 合作,分数/2
前端页面设计 5 5 4 50 李青阳 合作,分数/2
前端页面设计 5 5 4 50 戴荣 合作,分数/2
课程数据爬取 4 4 4 32 汪慕澜 合作,分数/2
课程数据爬取 4 4 4 32 申化文 合作,分数/2
教师数据爬取 5 3 4 20 申化文 交付超时-40
数据处理及脚本入库 2 3 5 30 王文珺
主页接口 2 3 4 24 牛宇航 学校+课程
主页后端优化 2 5 4 40 牛宇航 搜索加速+order by
主页测试 2 2 4 16 李青阳
主页优化 4 4 2 6 戴荣 交付超时-10
个人信息页前端 3 3 3 13.5 陈致远 合作,分数/2
个人信息页前端 3 3 3 13.5 汪慕澜 合作,分数/2
个人信息页接口 2 3 4 24 牛宇航
个人信息页对接 2 3 4 24 王文珺
个人信息页功能补充 3 4 3 36 申化文 头像功能
个人信息页debug 3 2 4 12 王文珺 合作,分数/2
个人信息页debug 3 2 4 12 牛宇航 合作,分数/2
个人信息页测试 2 2 3 12 李青阳
个人信息页优化 4 4 2 6 戴荣 交付超时-10
导航栏复用 2 4 5 40 牛宇航 base.html
导航栏功能补充 1 2 5 20 王文珺 个人信息+rank
导航栏debug 2 4 4 32 陈致远 登录闪烁
导航栏补充测试 1 2 4 8 陈致远
导航栏测试 2 2 5 20 李青阳
课程搜索页前端 4 3 5 30 陈致远 合作,分数/2
课程搜索页前端 4 3 5 30 汪慕澜 合作,分数/2
课程搜索页接口 2 3 4 24 牛宇航
课程搜索页对接 2 3 4 24 王文珺
课程搜索页测试 2 2 3 12 李青阳
课程搜索页优化 4 4 2 6 戴荣 交付超时-10
课程详情页前端 4 3 3 18 陈致远 合作,分数/2
课程详情页前端 4 3 3 18 汪慕澜 合作,分数/2
课程详情页接口 2 3 4 24 牛宇航
课程详情页对接 2 3 4 24 王文珺
课程详情页测试 2 2 3 12 李青阳
课程详情页优化 4 4 2 6 戴荣 交付超时-10
课程详情页功能补充 2 3 4 24 申化文 姓名格式+部分无用信息隐藏
课程详情页功能补充 1 2 4 8 王文珺 相关老师+相关课程
课程详情页接口补充 1 2 4 8 牛宇航
评价页前端 3 3 4 18 陈致远 合作,分数/2
评价页前端 3 3 4 18 汪慕澜 合作,分数/2
评价页接口 2 2 4 16 牛宇航
评价页对接 2 2 4 16 王文珺
评价页测试 2 2 3 12 李青阳
评价页优化 3 3 2 6 戴荣 交付超时-10
课程总览页面前端 4 3 3 18 陈致远 合作,分数/2
课程总览页面前端 4 3 3 18 汪慕澜 合作,分数/2
课程总览页面接口 2 2 4 16 牛宇航
课程总览页面对接 1 2 4 8 王文珺
课程总览页面测试 2 2 3 12 李青阳
课程总览页面优化 4 4 2 6 戴荣 交付超时-10
主页修改 1 1 5 5 申化文 issue链接
数据库字段修改 2 1 5 10 牛宇航
访问量统计实现 3 4 2 24 申化文
服务器部署 3 4 3 36 汪慕澜
测试框架 4 4 2 32 李青阳

总结

  • 团队总结

    • alpha阶段,虽然大家对于这个项目不太熟悉,但是也慢慢摸到了门道,首次发布之后也遇到了很多问题,发现了自己没有考虑到的很多情况,其中经历了很多坎坷,问题接踵而至。
    • 我们团队中虽然没有大佬级别的任务,很多beta阶段的目标看似遥不可及,不过我们有信心通过学习在beta阶段更好地安排任务,完成一个更加出色的网站。
    • 作为pm,我把很多事情想得太过简单,问题到来的前夕才感到慌乱,这也是我个人的收获和教训。
  • 批评建议

    • 以下为团队成员对于课程的收获和建议:
    • 作为项目的后端人员和分支管理人员,我学到了系统的git flow分支管理,温习了后端知识。但我觉得课程的收获并没有我想象中的大,并坚定了我对软件工程是必修的质疑。因为一定有人(包括我)在大三下学期因为各种原因,无法给校内课程足够的时间,大家都对以后有了规划,对哪一项工作对自己帮助最大有了自己的判断。但在一定程度上加重组内其他人的工作量。
    • 学到了团队开发经验,这是我第一次参与一个多人团队来开发项目。熟悉了深恶痛绝的html和bootstrap前端知识,坚定了以后不从事前端开发的目标。熟练地在云服务器上使用uwgi和uginx部署网站。建议重新划为选修课。
    • 总算是知道有些人会把你的客气当成勇气,一副居高临下傲慢无礼的样子。和这种人说多了,还是和团队相关的话,人家都会背地里用脏话骂你,挂在社交网站上供别人取乐;说少了呢,又不清楚要求,最后没完成任务还是自己的罪过。虽然我不能因此练就火眼金睛,一下看出这个人是不是不配和我工作,起码我知道了要为自己争取。我认为结组这种事不应该反对大家和熟悉的人一起,毕竟总有不熟悉的人一点也不友好,连起码的尊重都没有,没有办法展开工作的。另外我认为应该加强对每一组任务分配和时间限制的检查,并且要让每个组评估一下项目进行过程是否如计划那样,因为工作过程中很可能有资源浪费,导致部分工作效率低下,大家心情都不好。从零开始使用画图软件绘制页面(还因此和新媒体的小姐姐关系更好了),同样从零开始学习了一下css以及html语言,体会到了百度的精髓,被毫无缩进换行的css文件治好了部分畏难情绪,算是我在极限时间里的一个心理突破。我认为应该加强对每一组任务分配和时间限制的检查,并且要让每个组评估一下项目进行过程是否如计划那样,因为工作过程中很可能有资源浪费,导致部分工作效率低下,大家心情都不好。
    • 从代码角度上说我学习了一些前端的知识,并且近乎于零基础实战前端。从课程角度说,了解到了软件开发的整体流程,这在以后的工作应该很有帮助。关于建议,一是希望课上教授内容更加丰富,二是希望例会不需要每天开,只要保持进度即可。
    • 在aplha阶段,我学到了很多东西,一是编程的技术的提升,学习了爬虫,网站编写的相关内容;二是对于软件工程的理解加深,了解了团队分工,协作的相关内容,也深刻体会到了团队开发中开发人员之间可能存在的不一致。希望软件工程这门课能够越来越好。
    • 作为pm,深深感到了这份工作的重要性,感觉和人打交道比和代码打交道难多了。关于课程建议,希望能够减少Scrum meeting的频率,毕竟大家大三了都有了自己的打算,很难每天都凑到一起开会,一定程度上形式大于内容了。
  • Beta阶段计划

    • 登录注册验证,例如邮箱验证,验证码等等
    • 后端对于post数据的合法性验证
    • 页面的多机型多平台适配
    • 其余功能的完善,例如教师页面,词云,回复评论,点赞点踩等
    • 部分页面优化,例如搜索栏的人性化保留,很多信息提示的完整性,信息分段返回的实现等等
    • 页面美化
    • 项目结构的删减和重新组织
    • 文档的编写
    • 注释的完善
posted @ 2019-04-24 18:51  笨拙软件工程  阅读(610)  评论(2编辑  收藏  举报