MucMuc项目个人总结
1.相关链接
2.项目个人分工
- 项目总体的部分设计
- 后端项目总体构建, 代码实现, 以及测试
- 阿里云后端服务器的配置和项目部署
3.开发过程
- 开始
在项目最初的阶段, 整个组对于要做怎样的工作并没有清晰的想法. 不知道如何开始工作, 从何做起, 开发工具为何, 是面临的最大难题. 因为没有任何有对于web开发有经验的成员. 从前后端开发工具的选择上, 到前后端通信的具体流程, 都没有一个较好的认知. 这也直接导致了较长时间的前期准备. - 正式开始
在正式开始的时我的主要工作就是后端构建, 因为本组也没有后端熟手, 从零学起.
第一步是寻找开发工具, 在搜寻了一定的资料后, 发现目前主流的后端开发语言(开发工具)是java, php, 和 .net asp. 其中最熟的莫过java, 选择php或者asp都会增加学习成本, 因此本项目的后端基于java开发. - 开发框架与底层数据库选择
SpringBoot是一个轻量级的, 易用的后端框架, 免去了Spring框架的复杂文件配置或者非轻量级SSM框架的整合过程.
数据库方面, 本项目采用MySQL, 通过java的JDBC与数据库交互, 进行开发. - 后端设计过程
在最初的过程中, 后端开发较为顺利. 在写好了一个实体的各层实现后(最初的项目)就上传到了github上, 转为和组员马佳坚共同开发.
在这之后可以说是问题涌现, 从DAO层到service层到接口层, 从接口多参数传递到fastjson的调用问题. 项目末期图片的传输也成了一大问题. - 接口测试以及修改完善
最后阶段, 接口的测试. 在开发的过程中除了最初的模板实体的实现接口外, 其他的接口都未经测试. 测试体现出的问题也很大, 各个层都发现了很多错误, 也暴露了不少设计问题.
4.遇到的问题
- github使用
由于各组员, 在本次软工项目之前, 对github了解不多, 鲜有使用, 在项目进行的过程中发生了一些同步以及冲突的问题. - 实体属性名
在开发的过程中发现fastjson的字段映射存在大小写问题, 导致前后端无法通信. - 合作开发的交流沟通问题
由于每个人的想法不同, 导致在实现相同功能上的具体实现上也存在差异. 就拿后端开发来讲, 我们二人在service层实现上的风格差异较大, 这也带来后面代码阅读与测试时的一定困难. - 其他...
5.反思与收获
- 沟通
事实上团队合作最重要的就是沟通, 事情讲明白或问明白比闷着头做效果好很多. 如果我事先沟通好代码实现具体细节, 后端项目在风格统一上会做得更好, 错误也会更少. - 设计阶段
在后端开发中, 大部分的问题都是在实际开发过程中遇到的, 有时候不得不更改不少已经做好的东西. 如果能在设计阶段完善目标, 则可以减少重复改动的成本. 大多数此类问题都是经验不足导致. - 时间观念
本次项目作业中, 由于前期耽误的时间过长(主要是学习过程), 导致后期时间紧迫, 赶不上进度, 最终导致作业完成度不高, 效果不达预期.
6.课程建议
- 总体来讲, 不管最终项目完成得如何, 这次合作开发于我而言收获不菲. 但作为一个参与此课程的学生来讲, 我个人认为课程中存在的某些问题也不可忽视.
- 分组问题
我认为分组问题是本课程中的最大问题, 熟话说"闻道有先后, 术业有专攻", 可以说在本次项目开发中, 这一点更凸显出来.
有的同学可能是web开发熟手, 有的则可能专研过桌面开发, 有的人又善于写网页, 总的来讲, 对于合作开发而言, 分组是一大难题. 就我们组来讲, 都是大数据方向的, 没有接触过安卓开发的, 也没有接触过H5&JS开发网页的, 完成一个web项目, 难度不小. - 课程安排问题
在最初的几周中, 本课程基本上没有什么实质性的内容, 大多数同学上课也是挂机, 基本上不会听课. 如果能将课程安排往前提个一到两周, 可能更加合适. - 课程内容问题
课程中可以多增加一些软工项目成功案例的深度剖析, 适当减少一些完全概念性的内容, 增强同学对软工更好的理解, 趣味性也好一点.
原文地址:https://www.cnblogs.com/Sirius-Z/p/12046491.html
时间: 2024-10-08 03:00:24