目录
- 项目相关
- 相关文档
- 源码
- 技术路线
- 个人工作总结
- 需求分析阶段
- 设计阶段
- 原型设计阶段
- 后续完善阶段
- 前端制作流程
- web端模块划分
- 主要完成的工作
- 项目进行的感悟
- 对课程的建议
项目相关
相关文档
需求分析报告
设计图
原型报告
会议纪要
源码
yonginggg/StudentClubManagementSoftware
技术路线
我们这次的开发使用了前后端分离的技术, 毕竟这也是现在非常流行的形式了
前端: vue.js elementui axios vuex
vue.js: 现在非常流行组件式的前端框架, vue的流行程度也越来越高, 所以选用vue来搭建
elementui: 这个ui对vue的支持非常的好, 同时可以节约很多的时间
axios: 跨域传输的技术有很多, 但是axiois式vue官方推荐的
vuex: 用来存储读取装填信息, 是用vue开发的必选
后端: springboot
sprintboot可以简化环境的配置, 同时内置了tomcat, 减少了配置的时间, 同时使用maven来进行包的管理很方便
个人工作总结
这里我按照项目进行的阶段进行总结
需求分析阶段
在这一阶段我主要参与了需求的分析并负责了文档的撰写工作
设计阶段
这一阶段, 我主要负责了文档撰写和利用powerdesigner制作了类图
原型设计阶段
这一阶段, 我和吴祖峰负责了前端的原型设计, 因为这些技术都是以前未掌握的, 有一定的学习成本, 所以我们的进度不是很快, 只完成了登录注册, 创建社团, 修改密码, 管理员后端对公告活动的管理界面, 而实际上能与后端进行链接的也只有登录和注册的功能, 这里主要使用了axios去进行跨域的数据通信
后续完善阶段
前端制作流程
- 划分模块和对应的界面
- 制作原型界面
- 前后端连接实现
- 测试系统
web端模块划分
主要有以下模块:
- 登录注册模块
- 个人信息模块
- 活动管理模块
- 公告管理模块
- 社团管理模块
- 招新管理模块
- 人员管理模块
主要完成的工作
技术点的学习和分享
- 使用axios进行跨域传输, 使用post将前端数据传回后端, 并获取后端传回来的数据, 使用get直接获取后端传回来的数据
- 将从后端得到的数据动态地加载到表格, 侧边栏中
- 使用vuex存储和读取状态, 如用户id, 社团id,社团name, 部门id等
界面的制作
使用vue.js和ElementUi去进行了界面的绘制, 主要包括登录注册界面, 侧边栏的制作, 创建社团界面, 全校活动界面, 已经报名活动界面, 全校公告界面, 管理员查看所有用户和重置密码界面, 管理员查看活动和审核活动界面等
数据交互功能
负责了绝大部分前后端交互功能, 包括获取后端数据进行表格, 侧边栏的动态加载, 以及点击事件的实现
数据的整合
由于经常性的合并出错, 我们组最后都是将代码发给我, 让我来进行整合, 这耗费了大量的精力和事件
项目进行的感悟
- 前期的分析和设计非常的重要, 一旦前期设计没有设计好, 后续的工作就很难顺利的进行下去, 这一点我深有体会, 像我们组后面就陷入了改数据库-->改配置文件,改代码-->报错->修改这样子令人头疼的境地
- 一致性很重要, 当时老师上课也强调过这一点, 但是一开始我不是很能领会, 后来前后端对应的接口没有定义的很详细, 以及命名的随意和注释比较少, 导致修改起来很困难,
- 定期的全队交流是必须的, 每一次的团队交流都能发现设计开发过程中的问题, 即使的去修改
- 需要指定每一个阶段的目标和完成时间, 并在规定时间前尽快完成, 由于一开始对于时间的把握不是很明确, 导致从原型设计阶段开始就发现进度已经被拉下了, 后续就很累, 每天要熬夜去写代码
- 数据库设计的时候, 其实很多表都是可以用一份表, 通过状态等来区分的, 这样也会好做很多
- 身体是革命的本钱啊, 后面天天熬夜真的受不了, 脑子也昏昏的, 所以身体好对写好代码帮助也很大
对课程的建议
- 可以强调一下课程的重点然后每2周可以进行一下小的测试, 毕竟这门课还是要考试的嘛, 一直在进行项目的完成工作导致对课本的知识掌握的不是很好
- 希望老师可以提供一下前几届优秀作品的博客+代码供我们参考, 因为毕竟是第一次做项目, 对项目的把握不是很好, 中间犯了很多的错误, 如果有前人的经验的话会好很多
- 软工一开始的地铁线路规划我觉得只要有需求分析和设计就行了, 代码阶段可以不做, 毕竟基本也在考算法, 和后面的大作业关系不大, 如果地铁线路规划的代码部分不做的话, 可以流出很多时间来做大作业, 这样也不会这么急