大家好!我是来自14移动的林郑鑫同学,经过几年的大学生活,对Java编程也有着循序渐进的理解,未来想成为一名优秀的Java工程师。
其实,我早在大三之前,对于自己的职业规划还不是很清晰,虽然理论专业成绩还算可以,但是对于编程的运用并不是很熟练。可能也是因为对于未来的迷茫让我在大三的时候倍感焦急,于是捡起了Java语言。我是一个偏向安静、内向的人,我也知道静下心来学习编程是挺适合我的,不过起初的学习还是断断续续的,缺乏动力。随着时间的推移,以及偶然的了解到了“21天效应”,我选择了坚持下去。果不其然,渐渐地我开始喜欢上了Java编程,了解其面向对象思想,以及编程遇上bug努力去调试克服的过程,让我越来越有着成为一名Java工程师的实感。也许我的初衷学习Java,是仅仅为了未来毕业后的工作生活,但是通往成功路上的付出与努力,执着与热情,我是不会褪去的。
对于毕业设计,我的初步理解是需求分析后,对于各个模块功能的不断完善的过程。在过往的实训周中,更多的是学生团队间的分工,毕业设计对于我来说,应该是第一次需要独自完成的项目,确实有着一定的挑战性。因为自身接触的项目实践偏少的原因,再为了毕业设计不断储备知识的过程中,我觉得我现在面临的最大问题就是不知如何下手,可能是因为第一次自己面临项目设计,并不知道需要考虑哪些方面,以及我所要完成的项目需要具备哪些功能等等。在之后的过程中,我还需要完善起来才行。
以下是我对项目内容进行的初步分析:
1.研究目标:
随着人们生活水平的不断提高,越来越多父母一辈开始重视教育,各大高校也在不断的扩招大学生。对于各大高校来说,学生量的增加,也增加了高校对学生们信息资料、教学数据管理的难度,传统的教学数据记录方式已经很难满足学校们的需求。因此,教学数据分析系统可以为学校提供快速、科学的数据分析,即时、有效的数据发布,内容实用,是学校进行教学管理、质量监控与教学科学研究的得力助手。
2.研究内容:
本系统是基于B/S结构的系统,使用Apache Tomcat作为系统的应用服务器,使用mysql作为系统的数据库,使用JSP进行网页布局,使用SpringMVC框架进行开发
主要开发工具:Eclipse
系统模块:
(1)登录模块:分为学生和教师两种角色登录,未注册过的学生可以进行注册。
(2)成绩模块:若登录的为学生,可以进行成绩查询;若为教师,可以进行成绩的查询
、修改等操作。从此之外还能对成绩进行统计,计算平均值,了解班级不及格人数等等。
(3)师生交流模块:教师可以统计学生提交作业的情况
3.方案论证
(1)采用SpringMVC框架的优点:
1、清晰的角色划分:控制器(controller)、验证器(validator)、命令对象(command obect)、表单对象(form object)、模型对象(model object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。每一个角色都可以由一个专门的对象来实现。
2、强大而直接的配置方式:将框架类和应用程序累都能作为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器validator)的引用。
3、可适配、非侵入:可以根据不同的应用场景,选择何事的控制器子类(simple型、command型、from型、wizard型、multi-action型或者自定义),而不是一个单一控制器(比如Action/ActionForm)继承。
4、可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,而不需要去扩展某个特定框架的基类。
5、可定制的绑定(binding)和验证(validation):比如将类型不匹配作为应用级的验证错误,这可以保证错误的值。再比如本地化的日期和数字绑定等等。在其他某些框架中,你只能使用字符串表单对象,需要手动解析它并转换到业务对象。
6、可定制的handler mapping和view resolution:Spring提供从最简单的URL映射,到复杂的、专用的定制策略。与某些web MVC框架强制开发人员使用单一特定技术相比,Spring显得更加灵活。
7、灵活的model转换:在Springweb框架中,使用基于Map的键/值对来达到轻易的与各种视图技术集成。
8、可定制的本地化和主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。
9、简单而强大的JSP标签库(Spring Tag Library):支持包括诸如数据绑定和主题(theme)之类的许多功能。他提供在标记方面的最大灵活性。
10、JSP表单标签库:在Spring2.0中引入的表单标签库,使用在JSP编写表单更加容易。
11、Spring Bean的生命周期可以被限制在当前的Http Request或者Http Session。准确的说,这并非Spring MVC框架本身特性,而应归属于Spring MVC使用的WebApplicationContext容器。
(2)采用AJAX技术的优点:
1) 最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。
2) 使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
3) 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则 是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4) 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
(3)采用Eclipse开发平台的优点:
对于开源的项目,任何人都可以下载Eclipse的源代码,并且在此基础上开发自己的功能插件,例如,可以在现有的Java开发环境中加入Tomcat服务器插件。 要学习Java语言程序设计,就必须选择一个功能强大、使用简单、能够辅助程序设计的IDE集成开发工具。Eclipse有强大的代码辅助功能,能够帮助程序开发人员自动完成语法、补全文字、代码修正、API提示等编码工作,可以节省大量的开发时间。 既然是开放源代码的项目,那么下载并阅读其源代码,将是程序员提高编程水平的好机会。Eclipse提供多个平台的版本,如Windows、Linux、Solaris等,以满足各类用户的需求。
4.设计思想
基于SpringMVC的教学数据分析系统,主要设计思想如下:
(1)学生通过登录教学系统之后,可以进行一系列的数据查询操作,例如成绩、课表等等。
(2)教师通过登录教学系统之后,不仅可以对相应的教学数据进行查询,还可以进行修改、添加数据等操作。
(3)操作界面友好,直观,让师生快速上手
本系统基于JSP及B/S架构设计实现。采用Eclipse开发平台,MySQL数据库,JAVA语言,辅以JQuery,AJAX等开发技术。按照软件工程的基本思想设计与实现。
时间安排计划:
(1) 第一阶段(2017年11月):毕业设计选题,收集资料,查阅相关论文、期刊等文献。
(2) 第二阶段(2017年11月至2017年12月):准备毕业设计开题报告、任务书、文献综述和一篇外文文献的译文,提交。
(3) 第三阶段(2017年12月至2018年1月):查阅相关文档资料,搭建系统开发环境和基本架构,可行性分析、需求分析,完成系统的初步原型设计。
(4) 第四阶段(2017年12月至2018年1月):系统设计、数据库设计等
(5) 第五阶段(2017年12月至2018年2月):进行系统业务逻辑处理模块的设计与实现,模块调试以及测试
(6) 第六阶段(2018年3月):准备毕业设计期中检查,填写“毕业设计中期检查表”。
(7) 第七阶段(2018年3月至2018年4月):毕业论文撰写、修改。
(8) 第八阶段(2018年4月至2018年5月):论文定稿、查重。
(9) 第九阶段(2018年5 月):熟读论文,检查、润色和优化论文,制作答辩PPT,答辩,整理毕业设计资料。