




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2015届毕业设计说明书目录1 绪论11.1 提出和现状11.2 产生和环境12 可行性分析22.1 项目意义22.2 项目需求22.2.1 业务问题22.2.2 问题分析22.2.3 问题解决32.2.4 角色用例32.2 主要功能33 项目规划43.1 项目总体周期43.2 项目组织结构43.3 项目管理44 需求分析54.1 外围接口54.2 业务模型64.3 整体要求64.4 概要设计74.4.1 课题管理模型范围74.5 用例图95 系统设计115.1 开发技术115.1.1 开发环境115.1.2 j2ee开发框架简介11第 i 页 共 ii 页5.1.3 jsp,myeclipse简介115.1.4 sql sever简介125.1.5 tomcat服务器简介125.2 数据库设计125.3 系统框架设计146 编码实现166.1 前台设计166.2 数据库连接186.3 数据处理197 总结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 开发环境数据库系统:oracle 11g开发语言:java开发工具:myeclipse服务器:tomcat5.1.2 j2ee开发框架简介j2ee是一个标准,而不是一个现成的产品。各个平台开发商按照j2ee规范分别开发了不同的j2ee应用服务器,j2ee应用服务器是j2ee企业级应用的部署平台。由于它们都遵循了j2ee规范,因此,使用j2ee技术开发的企业级应用可以部署在各种j2ee应用服务器上。为了推广并规范化使用j2ee架构企业级应用的体系架构,sun同时给出了一个建议性的j2ee应用设计模型:j2ee blueprints。j2ee blueprints提供了实施j2ee企业级应用的体系架构、设计模式和相关的代码,通过应用j2ee blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。j2ee blueprints是开发人员设计和优化j2ee组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源3。5.1.3 jsp,myeclipse简介jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能4。 myeclipse企业级工作平台(myeclipse enterprise workbench ,简称myeclipse)是对eclipseide的扩展,利用它我们可以在数据库和javaee的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的javaee集成开发环境,包括了完备的编码、调试、测试和发布功能5。5.1.4 sql sever简介sql server由microsoft开发和推广的关系数据库管理系统(dbms),其主要目的是尽可能快地存储、管理和检索大量数据。它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,可跨越多种平台使用。sql server的可伸缩性既可以适应很小的个人数据库,也可以适应大型的企业级的数据管理。而且故障切换和恢复这两种技术内置到了sql server系统中,使得sql server具有了高度的可用性6。5.1.5 tomcat服务器简介tomcat 服务器是一个免费的开放源代码的web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好apache 服务器,可利用它响应html页面的访问请求。实际上tomcat 部分是apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与apache 独立的进程单独运行的7。5.2 数据库设计根据需求分析,选取oracle 11g作为数据库。本系统数据库中各个数据表的字段定义和说明如下。userinfo表,用于存放学生、老师、负责人及管理员的基本信息,如图5.1所示。图5.1 userinfo图work表,用于存放学生作业的基本信息,如图5.2所示。图5.2 work图task表,用于存放课设任务的基本信息,如图5.3所示。图5.3 task图curriculum表,用于存放实训课设的基本信息,如图5.4所示。图5.4 curriculum图cs_project_info表,用于存放学生选题项目的基本信息,如图5.5所示。图5.5 cs_project_info图project表,用于存放课设项目的基本信息,如图5.6所示。图5.6 project图5.3 系统框架设计本系统框架开发使用ssh的开发模型,struts2框架主要是对ui和control之间页面取值和页面跳转,hibernate框架是对数据库的jdbc的操作,spring框架整合hibe rnate和struts2的配置文件、sessionfactory、事务处理、日志处理及注解的配置。项目的开发模式是mvc,主要java类存放的文件分配方式为action、service、dao、model、util、tool.静态类constant放在zb.innovate.util中,分页的page和过滤器sessionfilter类放在zb.innovate.tool中。spring 的配置文件为applicationcontex t.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的配置文件中,建立数据源,连接数据库,配置数据模型,代码如下所示。 (此段bean主要是连接数据库)true org.hibernate.dialect.oracle9idialect(设置hibernate的数据源。)(设置数据源模型。)zb/innovate/model/ptuserinfo.hbm.xmlzb/innovate/model/curriculum.hbm.xmlzb/innovate/model/ptproject.hbm.xmlzb/innovate/model/csprojectinfo.hbm.xmlzb/innovate/model/cstask.hbm.xmlzb/innovate/model/stwork.hbm.xml在java代码中,如何获取数据库连接,以及多数据的操作代码如下:autowired protected sessionfactory factory;(通过注解获取hibernate的session)protected session getsessions() return factory.getcurrentse ssion(); (定义一个获取session的方法,以便后面方法使用。)query query = this.getsessions().createquery(from curriculum where tid = ? order by starttime desc);query.setinteger(0, id);page.settotalsize(query.list().size();(获取分页的总数据数。)query.setfirstresult(page.getnowpage()-1)*page.getpagenum();query.setmaxresults(page.getpagenum();arraylist curriculumlist= (arraylist) query.list();(最后这点代码主要是如何获取数据,并且设置分页管理。)6.3 数据处理 项目的逻辑代码主要是在action中,通过spring的依赖注入和注解的方式获取service,通过调用service层的方法处理业务逻辑。autowired private curriculumservice curriculumservice;此代码是获取curriculumservice的对象实例通过注解的方式。autowired private projectservice projectservice;此代码是获取projectservice 的对象实例通过注解的方式。public string liststaticcurriculum() ptuserinfo ptuserinfo = (ptuserinfo)this.getsession().get(user);if (ptuserinfo = null) return success;page.setpagenum(14);curriculums = curriculumservice.selectcho- -osedcurriculuminfo(ptuserinfo.getid(), page);return success;这段方法代码主要是获取课程设计统计信息。public string deletecsprojectinfo() curriculumservic- -e.deletecsprojectinfo(cspid);return success;这段方法代码是删除课设信息。public string listgetcsprojectdetailbycurriculum() if(null = csprojectinfo) csprojectinfo = new csprojectinfo();csprojectinfo.setstudent(new student();csprojectinfo.setptproject(new ptproject();object=new hashmap();object.put(sname, csprojectinfo.getstudent().getsname();object.put(sclass, csprojectinfo.getstudent().getclass_();object.put(ptitle, csprojectinfo.getptproject- -().gettitle();object.put(groupname, csprojectinfo.getgroupname();csprojectinfos = curriculumservice.selectcsprojectdetailbycurriculumid(object, id, page);projects = projectservice.selectprojectbycid(id);groups = (arraylist)curriculumservice.getgroupsbycid(id);curriculumid = id;return success;此段方法代码主要获取学生选题信息,并且可以支持分页和不同条件的查询。 登陆功能的是分为4个角色登陆,分别处理不同角色的登陆和用户信息存储。方法主要调用service层的checkloginfan方法,反回布尔值,并且也对数据进行了验证处理。登陆逻辑方法代码如下。public string login() throws exception if (userservice.checklogin(ptuserinfo.getloname(), ptuserinfo.getlopassword(), ptuserinfo.gettype() ptuserinfo userinfo = userservice.selectuser(ptuserinfo.getloname(), ptuserinfo.gettype();string arraytime = userinfo.getlotime().split(/);userinfo.setlotime(arraytime0 + 年 + arraytime1 + 月+ arraytime2 + 日 + arraytime3 + : + arraytime4);super.getsession().put(user, userinfo);int type = integer.parseint(userinfo.gettype();switch (type) case 0:return stusuccess;case 1:return teasuccess;case 2:return mansuccess;case 3:return leadersuccess;case 4:return success; message = 您输入的帐号或者密码不正确,请重新输入。;return error;7 总结实训跟踪系统的开发,是为了满足学校学生老师等角色的工作学习的需要,而进行开发的项目。项目主要是为方便学生选题,教师管理学生课设。项目的开始阶段,了解业务,完成项目的实际需求。项目的主要分为项目的需求、项目文档的编写、编码、界面设计,最后进行统一测试。目前项目基本功能已经全部实现,在完成工作的任务的过程中,我定期讨论,研究项目开发中发现的问题。我们项目开发使用敏捷研发管理scrum,每2周一个周期迭代,每日遇到的问题,我会自己记录下来和其他同学讨论,然后再去问自己明天需要完成什么任务,每两周都要有可以演示的系统产出物展示并找模拟用户收集反馈。本系统采
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省沧州市盐山中学2025-2026学年九年级上学期第一次月考物理试题(含解析)
- 湖北省谷城县2026届九上化学期中经典试题含解析
- 浙江省仙居县2026届九上化学期中学业水平测试模拟试题含解析
- 2026届河南省周口沈丘县联考英语九年级第一学期期末调研试题含解析
- 2026届安徽省滁州地区化学九上期末检测试题含解析
- 2026届广东省湛江市名校九年级英语第一学期期末质量跟踪监视试题含解析
- 离婚后子女抚养权争议调解及教育支持服务合同
- 夫妻离婚前财产分割与债权债务协议范本
- 专科英语考试题及答案
- 生态修复工程树木种植与生态监测承包合同
- GB/T 21063.4-2007政务信息资源目录体系第4部分:政务信息资源分类
- 机修车间岗位廉洁风险点及防范措施表
- 全新版尹定邦设计学概论1课件
- 牙及牙槽外科
- 文物建筑保护修缮专项方案
- 万用表 钳形表 摇表的使用课件
- 63T折弯机使用说明书
- 170位真实有效投资人邮箱
- 工程力学ppt课件(完整版)
- 《区域经济学》讲义(1)课件
- 船模制作教程(课堂PPT)课件(PPT 85页)
评论
0/150
提交评论