基于javaEE技术的课程设计管理系统设计与实现毕业设计.docx
- 文档编号:24225211
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:25
- 大小:1.10MB
基于javaEE技术的课程设计管理系统设计与实现毕业设计.docx
《基于javaEE技术的课程设计管理系统设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《基于javaEE技术的课程设计管理系统设计与实现毕业设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于javaEE技术的课程设计管理系统设计与实现毕业设计
目录
1绪论1
1.1提出和现状1
1.2产生和环境1
2可行性分析2
2.1项目意义2
2.2项目需求2
2.2.1业务问题2
2.2.2问题分析2
2.2.3问题解决3
2.2.4角色用例3
2.2主要功能3
3项目规划4
3.1项目总体周期4
3.2项目组织结构4
3.3项目管理4
4需求分析5
4.1外围接口5
4.2业务模型6
4.3整体要求6
4.4概要设计7
4.4.1课题管理模型范围7
4.5用例图9
5系统设计11
5.1开发技术11
5.1.1开发环境11
5.1.2J2EE开发框架简介11
5.1.3JSP,Myeclipse简介11
5.1.4SQLSever简介12
5.1.5Tomcat服务器简介12
5.2数据库设计12
5.3系统框架设计14
6编码实现16
6.1前台设计16
6.2数据库连接18
6.3数据处理19
7总结21
参考文献22
致谢23
1绪论
1.1提出和现状
在我国高校实践教学改革的形势下,课程实践教学前景广阔。
在国外,有些高校已经具有了根据本校实际教学情况而自己开发的实训教学平台,或者购买专业商家开发的相类似软件。
而国内高校针对软件教学,实训教学平台建设相对起步较晚,一些相关教学软件并不完善,而且需要花大价钱购买,因此,开发适合本校、本专业自己的实训教学平台是非常有必要的[1]。
该项目是中北大学软件学院根据发展的长远战略,并围绕软件学院实训基地建设的要求,体现“面向未来”的设计思想,建设一个行业示范、大方合理、有现代感、功能完备、安全可靠、可持续发展、设施先进、绿色环保、投资合理的现代化实训示范基地,以培养规范化的、适合工程化项目的、具备专业技术技能的实用型人才为目标,实现测评、人才培养、企业扶植等功能。
切实为中北大学软件学院发展提供一个高品质的运行环境,为学生实习提供方便、快捷、舒适的学习环境,并为管理人员提供安全、高效的管理手段。
1.2产生和环境
课程设计跟踪管理系统的产生是因为目前高校扩招后,在校学生日益增多。
如果仍然通过传统的纸上操作方式来实现,既浪费大量人力物力,又浪费时间。
同时在人为的手工统计中会不可避免的出现失误,因此,需要通过借助计算机系统,让课程设计的学生只要在计算机中输入自己的个人基本信息,然后选择课设题目来替换手工操作成为高效管理的必然趋势。
该系统能够为学生提供方便的业务选择,也能够提高高校对学生和教学管理的效率。
本系统软件主要包括实训课题管理子模块、课题跟踪子模块、及实训设计审核子系统。
《中北大学软件课程设计过程系统》是《中北大学软件实训基地暨软件开发技术支撑平台建设项目》中很重要的一部分内容。
此项目是中北大学软件学院根据的长远战略,伴随无纸化办公的快速实现,信息的自动处理、分析以及网络式的信息交互越来越被人们认知和使用。
使用计算机来管理学生的基本信息是现在各个高校都在认真进行的工作,也是高校教学管理工作和任务的重要内容。
通过计算机管理相比传统手工方式更加节约资源,并且,随着课设学生业务管理自主权的增加,使教学更加透明和公平。
2可行性分析
2.1项目意义
中北大学软件学院在校学生3000多人,不管是院领导还是老师,对于学生的管理比较艰难。
在每学期的课程设计,学生要选择自己的课题,还要及时上交周期性任务和课题进展状况,最后还要实训结题。
在这么多的年级、班级,一个老师要有可能负责多个班级学生的实训课题,对于学生的学习指导、综合管理和实训课设结题评分很难公平公正实现。
在这个实训课程设计过程中,老师、班长、学生,相互信息反馈比较费时间,最后对于学生课题统计和实训文档材料的管理也需要人工手处理。
如果使用了实训跟踪系统,对于以上所描述的课程设计缺点将有所改善,实现了公平、公正、高效率,因此需要开发实训跟踪管理系统。
该系统适应了学生自主选题、自主安排时间的迫切需要,使学生有了更大的选择空间;同时,方便了老师的统一管理,简化了实训选题的流程,打破了以前死板的固定选择模式,也方便了教师对实训学生管理、成绩统计,更进一步使教学的重点向高质量、高目标的方向转移。
2.2项目需求
2.2.1业务问题
(1)在实训过程中,学生不能按流程来做方案,以至于不能按时结束。
(2)学生的文档及成果不是很理想,没有规范化。
(3)选题、上机实验、作业等费时来实施和管理。
(4)现阶段发布课题的步骤比较繁琐时效性不强。
(5)学生选题后在操作过程中,和老师的交流不便,老师对学生进行的过程不得而知。
(6)学生上机实训过程中,实现阶段化管理比较困难,学生容易偷懒。
(7)文档不规范,学生的电子版文件在上交和存储时过程繁琐,给老师带来很多不便。
2.2.2问题分析
(1)学生自己控制能力比较低,对待实训事件没有兴趣,缺乏动力。
(2)学生对于实训内容不是很清楚,以至于不知道做些什么或者怎么去做,且他们的实践能力比较差。
(3)教师工作多,比较繁忙,不能及时通知和管理学生。
2.2.3问题解决
通过网上管理,学生和老师都能及时网上登陆发布进展和作业.实训系统方便学生的管理,给计算机爱好者提供了实践的编程机会,提高了学生的动手思考能力,加快社会的信息化发展水平。
2.2.4角色用例
此产品的用户包括用户管理员、实训教师、实训学生、实训负责人,每个角色都有权限控制。
学生需要管理员后天统一添加之后才能登陆,需要提供自己的学号,每人只有一个账号;老师同样也是,提供教师编号,方可访问和操作此系统;对于实训负责人需要权限控制,一些基本数据不可以随便更改,主要是审核和查看最后实训结果的统计汇总。
管理员是对用户的角色权限管理和添加。
如图2.1所示。
图2.1用户角色用例图
2.2主要功能
实训跟踪系统主要包括老师编制实训信息、实训课题内容、审核学生课题申请、编制实训任务、批改学生实训任务作业,学生可以申请课题、选择课题、查看任务、提交作业、负责人可以查看实训报表、审核实训信息,管理员数据管理、权限管理,实现对学生实训的跟踪管理和教育。
3项目规划
3.1项目总体周期
项目的总体任务是需求和编码,测试阶段找专业同学测试,其中项目可行性分析3天,项目需求分析3天,项目设计3天,编码30天,测试(周国媚)10天,部署1天,共计50天。
我担任全部开发和项目管理工作。
在开发的后期几段,邀请四名个同学作为用户,分别代表老师与系统管理员,学生,项目负责人这三个角色。
开发过程中每个角色在不同位置进行演示,讨论不足。
3.2项目组织结构
此系统的结构主要分为登陆管理模块、实训过程管理模块、师生交流管理模块,其中交流模块是可选做的。
如图3.1所示。
图3.1系统结构图
3.3项目管理
本系统开发采用敏捷研发管理Scrum,每2周一个周期迭代,每日遇到的问题,我会自己记录下来和其他同学讨论,然后再去问自己明天需要完成什么任务,每两周都要有可以演示的系统产出物展示并找模拟用户收集反馈。
过程中还用到用户体验驱动的方式完善需求,Git作配置管理,每日及时上传项目文件,实施自动化部署和测试等。
Scrum是一个用于开发和维持复杂产品的框架,是一个增量的、迭代的开发过程。
在这个框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint,每个Sprint的建议长度是2到4周[2]。
4需求分析
4.1外围接口
此系统是《中北大学软件实训基地暨软件开发技术支撑平台建设项目》的一个子项目,因此需要实现很多外围接口,以便系统之间相互访问,查询数据。
经过小组研究讨论,发现有些技术和设计比较复杂,考虑我们总体研发时间,就做简单的设计。
本项目外围接口有知识库管理系统、实验室预约系统、学生考勤系统、在线考试系统、查询服务系统等。
知识库管理系统可以为实训跟踪管理系统提供实训过程中文件存储及管理,实训跟踪系统可以显示知识库管理系统提供查询的信息;实验室管理系统可以提供查询和预定为实训跟踪管理系统,实训跟踪系统可以通过实验室管理系统显示成功预约的信息;实训跟踪管理系统的考勤信息上传到学生考勤系统,学生考勤信息可以反馈到实训过程跟踪管理系统显示,学生考勤系统也可以支持查询等管理的接口;在线考试系统把考试时间和结果的等信息反馈给实训跟踪系统来显示,实训跟踪管理系统可以查询考试信息等详情在在线考试系统;实训跟踪管理系统可以把提交的考试作业信息上传到考试系统,在线考试系统可以提供在线审批接口。
如图4.1所示。
图4.1外围接口图
4.2业务模型
本系统是由实训课题管理模块,实训课题跟踪模块,实训设计审核模块,实训课题选题模块,其模块之间的关系如图4.2所示。
图4.2内部接口图
课题管理模块给实训审核模块提供任课老师的实训课题和学生自己申报的课题项目(选作),课题跟踪模块需要实训审核模块的实训信息,实训课题选题模块需要实训审核模块的实训课题信息。
而实训审核需要课题选题的选题信息。
对于实训的交流模块可以选作。
4.3整体要求
本系统为B/S结构,系统页面以业务操作的方便性来构建,各个子系统都采用统一的用户权限管理,所有的查询页面需要分页显示(除非特别提出),所有的信息都需要经用户登录以后才能查询(除非特别提出)。
系统需要提供简介的用户验证提示,对于所有删除要求再一次确定提示,并且删除返回到原来界面,用户查询需要保留原来的查询字段。
界面的整体风格如图4.3所示。
图4.3界面设计图
4.4概要设计
实训过程跟踪系统,主要事件包括任课老师创建课设,任课老婆是修好课设,学生修改选题信息,任课老师从新发布课设,任课老师修改任务,对于的业务流程如图4.4所示。
图4.4业务流程图
实训的基本流程描述如下:
1)任课老师提交实训课题及相关要求。
2)实训负责人查看提交的实训课题信息,审核是否通过。
3)学生根据任课老师的要求从系统选择实训审核通过的课题。
4)任课老师定义学习过程和相关任务。
5)学生根据学习过程的要求提交作业。
6)任课老师审批学生提交的作业。
7)如果课程设计已经完成,学生提交测试报告。
8)老师进行课程设计验收并提交验收报告。
4.4.1课题管理模型范围
(1).实训老师创建实训
1).业务流程
任课老师创建实训的业务流程如图4.5所示。
图4.5创建课题流程图
2).业务描述
实训老师:
创建实训课设包括实训基本信息、课题信息、课题项目信息、实训阶段时间设置。
实训学生:
上报课题申报时,须填写组长和组员信息;提交以后可以在审核前修改信息;其选择课题需由每个本人选择,组长需创建自己的小组(小组名必填)。
学生选题原则:
要求课题尽量平均班级每个小组,学生选题确认后不能修改,如有特殊情况,实训老师可以删除学生已选课题,学生可以重新选择。
项目可选做部分:
对于学生申请自己的项目功能,系统动态通知功能。
(2).实训老师修改实训信息
实训信息修改主要包括:
实训基本信息、课题信息、实训阶段信息,提交信息管理员审核后修改无需再审核。
其修改的信息为确认信息,系统默认执行。
老师修改实训信息时间为在实训开始和实训结题之间的阶段。
其他时间不与处理。
(3).实训学生修改已选课题
学生修改课题必须是实训老师删除学生已选课题,学生才可再次选题。
修改时间必须为实训任务发布前。
4.4.2跟踪管理模型范围
(1).实训老师创建任务
1.业务流程
任课老师创建任务事件的产生的业务流程如图4.5所示。
图4.5任务发布流程图
2.业务描述
实训老师:
根据实际课设来创建任务,设定学生规定完成时间。
实训学生:
每个小组的每个学生必须都要及时提交作业。
作业暂时是以内容提交方式保存。
4.5用例图
实训课程课题管理模块如图4.6所示。
图4.6课题管理用例图
实训跟踪管理模块如图4.7课题跟踪用例图所示。
图4.7课题跟踪用例图
实训用户管理模块如图4.8所示。
图4.8用户管理用例图
5系统设计
5.1开发技术
5.1.1开发环境
数据库系统:
Oracle11g
开发语言:
JAVA
开发工具:
MyEclipse
服务器:
Tomcat
5.1.2J2EE开发框架简介
J2EE是一个标准,而不是一个现成的产品。
各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。
由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:
J2EEBlueprints。
J2EEBlueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EEBlueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。
J2EEBlueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源[3]。
5.1.3JSP,Myeclipse简介
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能[4]。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能[5]。
5.1.4SQLSever简介
SQLServer由Microsoft开发和推广的关系数据库管理系统(DBMS),其主要目的是尽可能快地存储、管理和检索大量数据。
它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越多种平台使用。
SQLServer的可伸缩性既可以适应很小的个人数据库,也可以适应大型的企业级的数据管理。
而且故障切换和恢复这两种技术内置到了SQLServer系统中,使得SQLServer具有了高度的可用性[6]。
5.1.5Tomcat服务器简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的[7]。
5.2数据库设计
根据需求分析,选取oracle11g作为数据库。
本系统数据库中各个数据表的字段定义和说明如下。
UserInfo表,用于存放学生、老师、负责人及管理员的基本信息,如图5.1所示。
图5.1UserInfo图
Work表,用于存放学生作业的基本信息,如图5.2所示。
图5.2Work图
Task表,用于存放课设任务的基本信息,如图5.3所示。
图5.3Task图
Curriculum表,用于存放实训课设的基本信息,如图5.4所示。
图5.4Curriculum图
Cs_Project_Info表,用于存放学生选题项目的基本信息,如图5.5所示。
图5.5Cs_Project_Info图
Project表,用于存放课设项目的基本信息,如图5.6所示。
图5.6Project图
5.3系统框架设计
本系统框架开发使用SSH的开发模型,struts2框架主要是对UI和Control之间页面取值和页面跳转,Hibernate框架是对数据库的JDBC的操作,Spring框架整合Hibernate和Struts2的配置文件、SessionFactory、事务处理、日志处理及注解的配置。
项目的开发模式是MVC,主要Java类存放的文件分配方式为action、service、dao、model、util、tool.静态类Constant放在zb.innovate.util中,分页的Page和过滤器SessionFilter类放在zb.innovate.tool中。
Spring的配置文件为applicationContext.xml,Struts2的配置文件放在struts.xml文件中。
项目开发动态文件如图5.7所示。
图5.7项目开发结构图
在开发过程中,需要对jsp文件、css、js、images进合理存放,问了防止jsp文件的安全访问,除了login.jsp文件放在Webroot文件下,其他文件放在WEB-INF文件下。
静态资源文件存放位置。
如图5.8所示。
图5.8项目静态结构文件图
6编码实现
6.1前台设计
本项目的登陆界面所有用户公用一个,只是登陆的角色不一样,且有用户的验证失败提示。
登陆界面的代码中表单为testLogin.action,这是一个检查验证码的方法。
如图6.1登陆界面图所示。
图6.1登陆界面图所示
管理员可以管理用户并且赋权。
对于数据的前台列表主要通过struts2的iterator标签来便利数据,数据源为userList,如图6.2用户管理图所示。
图6.2用户管理图
教师创建课设,修改课设、删除课设和条件搜索课设。
对于课程设计的修改界面,使用了html的iframe内置框架,把数据库的数据获取到返回到表单中.如图6.3课题管理界面图所示。
图6.3课题管理界面图
学生选题可以查看实训信息,选择实训课题。
如图6.4学生选题界面图所示。
图6.4学生选题界面图
6.2数据库连接
在spring的配置文件中,建立数据源,连接数据库,配置数据模型,代码如下所示。
oracle: thin: @localhost: 1521: orcl"/> -lSessionFactoryBean"> ) ) 在JAVA代码中,如何获取数据库连接,以及多数据的操作代码如下: @Autowired protectedSessionFactoryfactory;(通过注解获取hibernate的session) protectedSessiongetSessions(){returnfactory.getCurrentSession();}(定义一个获取session的方法,以便后面方法使用。 ) Queryquery=this.getSessions().createQuery("fromCurriculumwheretid=? orderbystartTimedesc"); query.setInteger(0,id); page.setTotalSize(query.list().size());(获取分页的总数据数。 ) query.setFirstResult((page.getNowPage()-1)*page.getPageNum()); query.setMaxResults(page.getPageNum()); ArrayList ) 6.3数据处理 项目的逻辑代码主要是在Action中,通过Spring的依赖注入和注解的方式获取Service,通过调用Service层的方法处理业务逻辑。 @AutowiredprivateCurriculumServicecurriculumService;此代码是获取CurriculumService的对象实例通过注解的方式。 @AutowiredprivateProjectServiceprojectService;此代码是获取ProjectService的对象实例通过注解的方式。 publicStringlistStaticCurriculum(){ PtUserinfoptUserinfo=(PtUserinfo)this.getSession().get("user"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 javaEE 技术 课程设计 管理 系统 设计 实现 毕业设计