课设题目 校园时间管理工具
课设内容提要(技术相关):
1.采用Java的SpringBoot系列框架开发后端,使用RESTFUL风格定义后端接口,编写描述准确的后端文档,实现个人时间管理模块,团队时间管理模块,评论发布,团队管理等功能的接口。
2.使用前端框架Vue和前端UI框架Vuetify共同构建一个比较好看的前端界面,展示个人信息,时间安排,团队信息,以及提供必要的界面交互。
3.采用SQL数据库,对应实体类,管理各种所需要的信息,完成增删改查操作,采用Mybatis-plus完成数据库操作
4.采用面向对象方法对软件系统进行分析与设计,完成低耦合的时间管理系统。
5.采用前后端分离的技术,前端通过Axios这一个现代的网络请求库将前端的服务和后端的服务的分离,在页面载入时或者用户进行操作时通过Axios请求获取后端数据,通过Vue的数据绑定功能实时渲染前端页面。
课设目的和意义:
时间管理,这个词语在2020年多次被提上热搜,抛开始作俑者的时间管理的邪恶目的来说,时间管理,这是关乎人一生的大事,他很有意义,苹果公司在每一台出产的设备上提供了日历,提醒事项等APP,微软有名的管理工具TO-DO,还有类似番茄钟这样的时间管理,在团队协作之间比较有名的有Trello,使用这些工具能让我们享受到互联网时代下的新时间管理方案,这种方案带来的最大改变就是信息可同步,保存方便,管理更有序,在纸上通过每页来标记一日的事项,在完成的事项上用笔划去,还是选择在电子设备上,通过多个列表管理已完成、待完成、进行中的事项,并能对事情的轻重缓急进行排序,统计,其实两者并没有绝对的高低,只是提供了一种时间管理的新的解决方案,但是我认为对于学院的团队之间而言,这样一种软件是非常重要的,试想,你发送一个任务给你的团队,是在QQ群里大喊一声,伙伴们,咱们明天必须把第一个报告做出来,还是直接通过一个软件把这个任务加入到所有参与者的任务列表里,同时可以实时看见他们的状态(未开始、进行中、已完成、超时)。
那么我之前罗列了很多已有的成熟产品,我想在罗列一个特殊的产品,他是BugOut,也是一个事项管理工具,融入了Bug跟踪的功能,主要打的招牌就是对软件缺陷进行管理,预设模版就提供了对Bug的轻重缓急跟踪,融入了自动化测试工具,在修改完代码的同时他就可以自动对测试用例重新测试,通过可视化的方式呈现修改后的测试结果,那么在这里,我们也可以对上述的成熟工具进行类似衍生产品的开发,就像BugOut一样,加入更多适配学校的不分,学校中的事项管理工具难以实行,我们见到了大量的QQ群反反复复提醒各种时间节点,但仍然有学生忘记,其中不乏也有一些好学生,忘记体温上报,忘记作业截止日期,有时候这真的不是学生的锅,而是我们缺乏一种统一的管理工具,学习通的确是一个统一化的平台,但他其实并不是很适合发布有时间节点的信息,如果所有课程的截止日期能直接通过“任课老师”使用“团队发布”工具直接发送给每一个人,每一个人的日程表可能就像Trello一样自动添加上一个属于这个课程的卡片,学生可以通过一些管理方法标记事情是否完成,老师也可以将这个事项变为一个列表,比如上交XX作业,子项目,请确认姓名填写正确,请确认附上代码,请确认提交到了争取的地址,等等等等,这样如果学生还是漏交错交,那就是真的态度有问题了,如果以后能够扩展,也可能可以将这部分融合到上课的系统里,不过目前还是专注于主要功能,将时间管理做好,将不同的课程分类下的信息发布做好,将同学之间(如科创团队)之间的任务发布、反馈做好。
这些东西我认为非常符合现在大学生的需求和现状,同时也契合软件工程的课题,希望能通过这一次练习,不仅仅是学课本知识而已,还要用上最新最流行的框架和技术,体验一次完整的开发旅程,不仅仅是提高自我,也是对自己想法的一种检验。
已存在的类似软件和我认为的适配教学同学协作的学习点:
Trello,非常有名的一个卡片式的管理工具,可以考虑将卡片竖着叠放,根据时间进行排序,也可以横着根据课程来排放,主要可以对这些内容加上评价,标签,分配。
微软To-Do,也是我正在使用的一个软件,主要是用来和我的算法比赛队友进行任务分配使用,这个的优点在于更简洁,可能更适合一个学校使用的样子,但是他也很难在一个页面上显示出所有课类的任务。
而我想做的应用的“团队”更像一个互相发布任务的团队,如教学团队,学生团队,每个团队都可以有各自的信息、各自的一套标签,可以发布任务给所有人,可以查看所有人的任务状态,我认为这还是目前市面上比较缺乏的一种东西,虽说学习通这样的软件教师可以给同学们群发消息,但是并不能够看到学生完成的状态,也不能自动出现在学生的全部任务表里,还需要学生一个一个去点开课程里看,或者在消息列表中苦苦寻找什么时候老师发了一个什么消息,所以这样的一个软件是很契合市场的。
这个从OmniFocus官网截下来的软件截图,这个没有具体使用过,看这个宣传图就能看到他绝大部分的Features,可以看到这个管理软件更加的细致,可能不太适合我想要的效果,但是他的这个布局方式相比TO-DO而言更加注重层次结构,结构比较符合我的课设。
Bugout,截取了一点内容,看到这里的宣传,可以对bug进行预设标签的选择,就像是Trello的一个模版,更换了一些样式,但这样的预设更符合软件的定义,更加专业化,我的课设也希望如此,拿来就是为了学生之间的组织可以直接而用,不需要额外的配置太多的东西。
总结
综合上述已有软件,取其适合我们的,弃其不适合的,我们可以得出我们要做的是一个满足:
对于每门课程而言: 一个老师 对应 多名学生
对于事项列表而言: 一个列表 对应 多门课
对于学生团队而言: 每个学生 对应 其他学生
这样一种特殊对应关系的时间管理软件,更符合课设题目的定义,同时也有大量的“前辈软件”作为参考,相信这次的课设题目是可行且有意义的。