研究背景及意义:
随着计算机网络的快速发展,传统的程序设计类课程教学方式已经无法满足学生的学习需要,网络教学辅助系统在各高校程序设计类课程教学中得到了广泛应用。
程序在线评测系统(OJ)被广泛应用于计算机辅助教学和各类程序设计大赛中,它代替人工判题、完成源代码编译与执行以及结果评测,能极大地减轻老师的劳动强度和判题过程中出错的可能性。程序在线评测系统对于程序的正确性评判极为严格,从逻辑到数据的格式均严格查对,这对于培养学生严谨周密的程序设计风格是极为有效的。系统要求学生必须认真考虑程序设计中的每一个细节和特殊边界条件,而不是大体上的正确性。
为此,笔者设计了一个基于微服务的程序在线评测系统。用户可登录本系统提交评测源码,系统评测服务自动编译源码并运行,将运行结果比对测试用例,给出评判结果。教师可登录本系统布置教学作业,学生完成教学评测,这可以有效地降低教师劳动强度和评判过程中出现问题的概率,并提高学生分析和解决问题的能力。
|
研究内容:
1、了解本系统的思想及工作原理,学习掌握微服务架构和Vue的使用技巧。
2、熟悉MySQL 的操作和使用,进行系统分析和查询优化,实现数据库的高效访问,并能灵活运用到实际的模块设计中。
3、灵活运用软件工程的知识,根据实际,完成系统的需求分析,功能设计及模块划分。
4、提供完备的程序在线评测系统的设计,包括用户服务、题库服务、竞赛服务、教学服务、程序在线评测服务、博客服务和后台管理服务。大大方便管理人员进行动态信息查询和数据的日常维护。
5、系统的前台与后台数据库相结合,前台的信息完全由后台数据库所控制。
|
参考文献:
[1]李文新, 郭炜. 北京大学程序在线评测系统及其应用[J]. 吉林大学学报(信息科学版), 2005, 8:170-175.
[2]陈亮. 集群负载均衡关键技术研究[D]. 长沙: 中南大学, 2009.
[3]王磊. 微服务架构与实践[M]. 北京: 电子工业出版社, 2015, 236(13).
[4]林丽丽. 使用高性能 Web 服务器 Nginx 实现开源负载均衡[J]. 大众科技, 2010, 7:37-38.
[5]骆宗阳, 王澄, 杨宇航. 具有高可用性的负载均衡技术的研究与实现[J]. 计算机工程与应用, 2003(27).
[6]宋国顺. 软件工程中UML建模的技术与分析[J]. 软件导刊, 2010, 8.
[7]Roger S.Pressman. 软件工程: 实践者的研究方法(第6版)[M]. 机械工业出版社, 2006, 12.
[8]周爱民. 大道至简: 软件工程实践者的思想[M]. 电子工业出版社, 2007, 3.
|
论文撰写进度安排:
第一阶段:阅读书籍、查看资料(2020年12月1日-2020年12月15日)
第二阶段:工程设计、论文初稿(2020年12月16日-2021年3月1日)
第三阶段:中期检查(2021年3月2日-2021年3月25日)
第四阶段:完成项目开发、论文修改(2021年3月26日-2021年4月20日)
第五阶段:规范审查、论文定稿(2021年4月21日-2021年4月27日)
第六阶段:论文答辩(2021年4月28日)
|