这个作业属于哪个课程 | <2020春S班(福州大学)> |
---|---|
这个作业要求在哪里 | <作业要求的链接> |
团队名称 | 烤盐屋 |
这个作业的目标 | |
作业正文 | <如下文> |
其他参考文献 | 无 |
一.项目预期计划
我们组计划利用五一假期的时间,在alpha冲刺阶段将项目的基本的内容以及交互逻辑完成,包括前端的五个模块:注册/登录页面,首页模块,资讯模块,社区模块,个人模块。后端系统数据库的搭建 MySQL+爬虫和系统服务器的部署 ALiYun还有
后台用户注册登陆功能完成,登陆前后对评论,发帖的权限,管理员与普通用户的权限管理,论坛基本框架的完成,学院信息的管理,前后台权限的设置。安卓端则完成View层开发,Model层预留接口(包括页面结构、页面元素的制定、页面跳转逻辑),完成MC层开发(数据制定、接入后端接口、编写网络回调事件),先完成部分板块的测试和开发,用剩下的一到两天时间对项目进行测试,修补漏洞,bug。
二.项目现实进展及项目展示
现实进度:
后台完成进度:
- 完成后端系统数据库的搭建 MySQL+爬虫和系统服务器的部署 ALiYun
- 完成后台用户注册登陆功能
- 完成登陆前后对评论,发帖的权限
- 完成管理员与普通用户的权限管理
前台完成进度:
- 完成注册/登录页面
- 完成首页模块:首页页面
- 基本完成资讯模块:资讯首页,院校资讯页(接口未接入)
- 基本完成社区模块(接口未接入)
- 基本完成个人模块
安卓完成进度:
- 基本完成View层开发
- 基本完成Model层预留接口(包括页面结构、页面元素的制定、页面跳转逻辑)
- 基本完成MC层开发(数据制定、接入后端接口、编写网络回调事件)
开发过程:
这也是第一次小组共同开发这么大型的项目,团队合作是团队项目最重要的一环,就我的感受而言,最重要的是分工和交流。同样的任务,单人和团队完成哪个更快呢?一个缺乏合理分工的团队可能比一个强力程序员更慢,一个很可能的情况是每个成员在分工不清的情况下,都不认为某项任务是自己的事情,对款男的任务互相推诿,造成进度的停止。另一方面,分工的结果是由不同人完成的各部分工作,要合成整个项目,必须要团队成员之间进行流畅的交流,消除可能的误解,理解各部分模块实现的思路,达成成功的对接。不仅仅是前后端的对接,同是后端或者前端,也需要对互相的工作有比较清楚的了解,达成对项目整体的把握,明白自己要实现什么,要注意些什么。积极处理。往往,当一个设计愈是趋于完成,人们愈是倾向于局部调整,而不是做重新设计。当一个需求因为众所周知的原因不得不调整的时候,作为改变的需要做的第一件事便是积极面对问题,积极处理。保持沟通。“说话容易,沟通很难。很多事除非对方自己想明白,劝是没有用的。所以,很多时候,沟通是个自己挣扎的过程”这话没错。日本有一个礼仪原则是“不要给别人添麻烦”,但是在项目中,这不可避免。不要怕出错,不怕遇到错误,有错误就有挑战,这样才可以进步,但不要让同一个石头绊倒两次。
开发过程部分讨论截图:
部分板块展示:
后台部分主要板块展示:
-
用户管理
-
帖子管理
前台部分主要板块展示:
-
主页
-
咨询首页
-
社区界面
-
个人界面
安卓部分主要板块展示:
-
个人界面:
-
专注界面:
-
社区界面:
三.小组成员过程体会
陈朝帏
这是第一次去负责和参与一个比较大的团队项目,收获还是有很多的,我学习了前端vue框架,学会了组件化开发,相比之前的只会html,css等基础语法,取得了不小的进步。除此之外,在协调组员工作时,我学会了鞭策与鼓励同步进行,让项目在冲刺的时候取得了进展。当然,相比于其他组的强大的组长,我还是有许多不足,我的技术不够强,能够负责开发的部分不多,进展也相对缓慢,在遇到挫折的时候,我经常会冒出放弃的想法,这些都是相当不成熟的表现。身为组长,我深深地感受到自己的不足,在接下来的开发过程中,我将好好调整自己的心态,努力奋斗,争取早日完成项目。|
郭子成
本次软工实践中,我学习了新的前端框架:VUE。这让我能够相对轻松地进行规模较大的前端项目的开发,同时VUE的使用也让我学会以组件化的思想来思考项目的构成。在这次项目中,我还懂得了文档的重要性,如果前端能够及时给出页面所需接口的文档,那么项目开发的进度将大大加快。总之,在这次软工实践中,我学习了新技术、懂得了软件项目开发的流程和注意事项,这些宝贵的经验必可活用于下一次!
黄一舟
本次软工实践中,我学习了新的前段框架vue。感觉还有很多自己应该学习的地方。vue框架比我想象中的更加方便,只要在html等前端语言的基础上再加以学习就可以了。但是为了完成项目,接下来还有很多知识需要学习,比如说如何整合接口还有与后端的沟通交流和测试安排。希望接下来能提高效率,早日完成工作。
王霆锴
本次项目实践中,为了完成我分配到的任务,临时学习了Python语言的使用,完全自主的去摸索一个新语言的过程没有我想象中的那么艰难,虽然是花费了不少时间,但是没有出现太大的问题,反而是因为基础的薄弱,导致在与后端的交接沟通以及共同讨论数据库改动时遇到了不少障碍,在数据库管理时也遇到了不少问题并因此浪费了不少时间,但是这样一次多人项目开发的经验也让我及时补足了短板,并且掌握了一定沟通上的技巧方法,同时也让我学会了Python这种时下最热门语言之一的基本语法结构,可谓是受益良多
张岑
本次实践项目中,遇到的最大问题在于服务器部署运维(后端啥都要干系列),从最开始的尝试本地部署,把tomcat玩炸了一次又一次,再到后来的打jar包部署服务器,其中用supervisor设置linux守护进程进行长时间的后端运行,应该是本次实践的最大收获了。其次,在本次编写后端代码的过程中,对springboot框架的各种细节,有了更好的理解,对一些注解之间的搭配有了更深刻的认识,更清楚地理解了get和post的一些细节。多人项目还提升了我与他人之间沟通的能力,体验了一把模仿企业开发的过程。
任智明
本次开发“烤盐屋”项目是迄今为止的首次多人合作共同开发项目,付出与收获都蛮大的,包括更加熟练的使用墨刀以及Vue框架的使用。在开发过程中,我更加全面的了解到开发一个项目所需要得步骤以及开发过程中所需要注意的诸多细节。软件开发并不是只需编码,每个周期每个阶段都十分的重要。开发一个项目时,更多的精力不是放在编码上,而是项目的整体结构上,编码只是很小的一个模块。开发由于合作开发项目经验的匮乏以及软件使用的不熟练,导致我个人在开发过程遇上了各类问题,当然最后在强力队友以及网络资源的帮助下解决了难题。这次的实践有助于下次项目开发。
留晓滨
本次开发项目的过程中,遇到最大的问题是在于前后端分离之后,业务上的沟通合作问题。首先是多端api接口抽象公用的问题,两端对同种数据的接口可能是不一样的(后端辛苦了)。其次是在前后端分离之后,对于开发的流程,我们并没有制订一套比较快速交流沟通的方式。在这几天开发之后,我们目前按照前端api需求文档->安卓api需求校验并添加、修改接口参数等->后端完成开发->后端测试->前端、安卓端接入api测试->接口bug等问题反馈->功能完成的流程来完成开发,刚开始几天的开发很糟心,因为大家不知道从什么地方入手,导致进度较慢。最大的收获是完善了我以前写的UI、Net框架,让它们更容易完成业务逻辑开发了。
郑志成
后端需要学习的部分还有很多,很多莫名其妙的bug往往来自个人的小小疏忽,却造成个人和团队时间的浪费。我对此感到十分苦恼。不断提升自我,为了团队也是为了自己,为了职业的生涯。这次项目暴露了很多自己的缺点,这些都是自己要改进的地方,我会继续加油努力的。
代铭杰
通过这次开发,我有以下体会首先开发之前没有认真地进行项目可行性和工作量的估计。往往由于项目较小,便很草率地制定一个开发日程表,没有认真地估计项目难度,结果实际完成时间与估计完成时间往往有较大差别。没有真正的设计过程,开发人员少,意味着不同人员的程序之间交互、接口相对少一些。开发周期短意味着往往是同样的几个人从头到尾负责一个项目。这两者都让人容易犯些错误。往往是几个人碰一下头,讨论一下最基本的数据结构、函数接口便分头去做自己的工作了,没有一份较正式的文档。这种做法潜在的危险之一是有的人可能会对讨论出的接口、结构理解有偏差(应该承认人是会犯错误的)。一个误解可能造成以后的返工。另一个潜在的危险是由于讨论时忽略了某些情况,等大家都按当时的分工完成属于自己的工作后,才发现各个模块组合起来却形不成一个完整的系统。其根源在于没有一个负责协调的人员不断监控整个开发过程。
四.组员分工及Alpha阶段的工作量比例
小组成员 | 分工安排 | 工作量比 |
---|---|---|
陈朝帏 | 前端登陆注册,首页模块,资讯模块 | 10 |
郭子成 | 后台界面 | 11 |
王霆锴 | 爬虫资讯爬取 | 10 |
黄一舟 | 前端社区和个人板块 | 10 |
张岑 | 服务器部署和数据库搭建 | 14 |
任智明 | ui设计,素材汇总 | 10 |
留晓滨 | 安卓端开发 | 13 |
代铭杰 | 博客文档编写 | 12 |
郑志成 | 后端开发 | 10 |
五.下阶段展望
继续剩余板块的完善,接口连接,还有剩余部分界面的美化,继续学习爬虫相关知识还有相关架构,整合接口还有与后端的沟通交流和测试安排,安卓端继续按照按照前端api需求文档->安卓api需求校验并添加、修改接口参数等->后端完成开发->后端测试->前端、安卓端接入api测试->接口bug等问题反馈->功能完成的流程来完成开发。
六.附件材料
- <每日任务统计>