基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc

上传人:wj 文档编号:4886101 上传时间:2023-05-07 格式:DOC 页数:25 大小:1.19MB
下载 相关 举报
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第1页
第1页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第2页
第2页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第3页
第3页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第4页
第4页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第5页
第5页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第6页
第6页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第7页
第7页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第8页
第8页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第9页
第9页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第10页
第10页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第11页
第11页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第12页
第12页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第13页
第13页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第14页
第14页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第15页
第15页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第16页
第16页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第17页
第17页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第18页
第18页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第19页
第19页 / 共25页
基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc

《基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc》由会员分享,可在线阅读,更多相关《基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc(25页珍藏版)》请在冰点文库上搜索。

基于javaEE技术的课程设计管理系统设计与实现-毕业设计(含源文件).doc

2015届毕业设计说明书

目录

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

第I页共II页

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

第II页共II页

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"/>

(此段bean主要是连接数据库)

-lSessionFactoryBean">

true

org.hibernate.dialect.Oracle9iDialect (设置hibernate的数据源。

(设置数据源模型。

zb/innovate/model/PtUserinfo.hbm.xml

zb/innovate/model/Curriculum.hbm.xml

zb/innovate/model/PtProject.hbm.xml

zb/innovate/model/CsProjectInfo.hbm.xml

zb/innovate/model/CsTask.hbm.xml

zb/innovate/model/StWork.hbm.xml

在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());

ArrayListcurriculumList=(ArrayList)query.list();(最后这点代码主要是如何获取数据,并且设置分页管理。

6.3数据处理

项目的逻辑代码主要是在Action中,通过Spring的依赖注入和注解的方式获取Service,通过调用Service层的方法处理业务逻辑。

@AutowiredprivateCurric

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2