秘制牛肉Alpha阶段项目展示
1.团队成员和个人博客
· 左顺:“我是左顺,秘制牛肉队开发人员”。
· 王尖兵:“C,java,html5都会一点的菜鸡,没做过团队项目,但会在团队中尽力”。
· 袁勤:“团队实力担当”。
· 顾展鹏:“我喜欢编程,很高兴能和大家一起做这个项目,希望我们能圆满完成任务”。
· 谢俊林:“喜欢打台球,闲暇时喜欢搓炉石。几种编程语言中,我最熟悉的是Java”。开发人员。
· 彭一夫:“我喜欢用Java,把事情规划好了再开始做,希望能与队友一起做好这个项目,提升个人能力”。
2.项目展示
预期:
-
利用该网站,辅助进行大学基础物理实验和大学物理课程相关内容的学习。
-
在大学基础物理实验方面,因本项目在前项目的基础上进行开发,保留原项目物理实验相关部分。
-
项目目标:为做物理实验的同学提供实验数据处理的平台,生成物理实验报告,辅助同学们完成物理实验相关学业课程
-
预期典型用户:大学物理系同学以及其他需要选修物理实验的同学以及物理实验教师
-
功能描述:用户通过界面选择相应的物理实验,并录入自己的物理实验数据,平台根据标准模板生成一份针对输入数据的物理实验报告,辅助同学进行数据处理,同时规范了数据报告,便于老师批阅
-
预期用户数量:优先考虑本校物理实验选课人数,为50人左右
产品:
- 如何满足用户需求:
- 1.提供了每个物理实验的报告模板,解决了同学们物理实验报告排版不规范,排版紊乱的困扰
- 2.提供了在线数据处理,同学们只需要录入实验数据,相应的计算过程由平台控制,免除了同学们数据处理过程的计算错误
- 3.统一了报告模板,便于教师批阅。
下载量:
- 下载量是否达到及原因:
- 本项目为web项目,暂时以注册量代替,由于本校本学期未开设物理实验课程,所以暂未达到50人注册量。仅仅为周围同学有过简单的尝试使用。
团队协作及经验教训。
- 如何分工协作:
- 一个PM;两个人协调前后端的匹配,两天人写前端,三个人写后端。
- 经验教训:
- 1.前后端需要协调,写前端的同学不能只学习前端知识,对后端架构也要有相应的了解,否则很难协调好后端。
- 2,因为接手已有项目,原有的后端逻辑已经比较丰富了,所以其实没有必要分配很多人写后端(后来及时进行调整)。
- 3,在开发过程中提前量设置得不够,导致了最后差点为能够及时完成。
- 4,因为网站开发相关经验不足,导致前端方面进行了两次相应的重构。
团队如何进行项目管理
- 项目管理方式:
- 利用github进行项目管理,在github中发布相应的issue,解决了issue的同学将issue进行close
团队如何平衡 时间/质量/资源 争取如期完成任务的?
- 平衡 时间/质量/资源:
- 由于我们组成员的能力都不一样,有些同学之前没接触过相关内容,有些同学之前已经接触过了相关内容,所以时间主要考虑之前未开发过相关项目开发本项目所需的知识储备,这要求其前期大量学习相关知识。
- 有经验的成员传授经验使其迅速入门。质量的把控就需要依赖有经验的组成员,包括但不限于选择良好的开发架构,动态发现并改进组成员开发过程中的错误。资源由大家一起寻找分享。
- 总体来说分工明确,争取完成任务。
对于项目的目标用户是一般学生的项目, 你们如何找到学生做需求分析?他们给你什么样的反馈?
- 如何找到学生做需求分析:
- 1.利用微信群,qq群等社交平台发布相应需求问卷
- 2.通过在校园里随机采访
- 通过在相关课程的课堂课间进行需求问答
- 他们给我们的反馈:
- 反馈良好,对一个项目而言,获取到尽可能多的准确的用户需求是一个双赢,项目开发人员希望能很好的满足用户需求,用户也希望自己的需求能被很好的满足。所以项目开发人员和用户之间需要充分的沟通,针对需求进行开发。
测试用例数目,代码覆盖率数目
- 本项目为相应的web项目,在测试时,采用的大部分测试方法为登上相应网站,模拟真实用户的行为进行相应的测试
齐全的文档在哪里?
- 因为经常开站会,所以很多接口,数据,数据库sql内容存取等相关内容都是在会上进行讨论确定,并没有文档存留。
在产品之外,团队代码的软件工程质量如何?如何用数据来证明?
- alpha阶段我们组主要争取提高软件的质量和可维护性以及扩展性。
- 后端:后端采用了springboot进行开发,遵循web开发过程中mvc的设计模式,后端与数据库的交互采用了orm框架mybatis来完成。
- 前端:前端刚开始采用模版,导致前端项目异常臃肿,之后决定对前端再次进行重构,重构之后显著使得前端在更好的展示效果下,却用了更少的代码量。
代码规范在哪里?
- 每个人编码风格不同,代码规范主要体现在命名和编码文件相应包的内容上。
- 变量命名采用驼峰命名法,文件名命名尽量具备可解释性。
团队的软件工程项目质量相比于原版有什么样的提高?例如,代码覆盖率从原来的x增长到y?
- 将前端页面进行了拆分,可读性更高和可维护性方面更高。
- 增加了构建的自动化脚本,方便了代码的重新部署。因为测试环境与发布环境为同一台服务器,构建了push之后自动编译检测的脚本。
版本继承问题
- 我们项目的原版虽然有注释,文档,代码也规范,但我们没有继承原版的开发架构,我们重构了原版。另外我们主要是通过体验原版的网站来获取其实现的功能,在此基础上进行开发。
- 同时我们的项目一直在github上进行更新,保证github上的代码保持最新。
- 如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?:
- 我们组重构之后,采用maven进行依赖包管理,如果要编译并运行项目,直接在源码上运行mvn install命令生成jar包之后,调用相应的命令即可。
所有的项目都会收集到用户的数据,请问你们对这类数据做了什么样的分析,这些分析如何验证或推翻了原来的假设?这些数据如何帮助项目改进软件工程的质量?
- 用户数据收集这块alpha阶段所做内容不够,需要在beta阶段进行重视。
3.团队项目的实际进展
4.团队成员在Alpha阶段的角色和具体贡献
- 袁勤,开发,协助开发了前后端相关模块
- 顾展鹏,pm,编写团队博客,协助开发代码
- 左顺,后端开发,开发相关后端模块
- 彭一夫,前端开发,开发相关前端页面
- 谢俊林,后端开发,开发相关后端模块
- 王尖兵,前端开发,开发前端相关模块
- 团队从用户那里得到了什么反馈,有什么样的bug?这是预料之中的还是没想到的?:
- 存在的bug:前端展示存在中文乱码问题;重复注册会崩溃等(相关bug已经进行修复)。