毕业设计辅助管理系统_第1页
毕业设计辅助管理系统_第2页
毕业设计辅助管理系统_第3页
毕业设计辅助管理系统_第4页
毕业设计辅助管理系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计(论文)毕业设计辅助管理系统设计与实现学 院 计算机学院 专 业 网络工程 年级班别 2008级(3)班 学 号 3108007132 学生姓名 廖杰发 指导教师 黄益民 2012 年 5 月 18 日摘要毕业设计是高等学校人才培养过程中不可或缺的重要环节。通过毕业设计,能使学生综合应用所学的各种理论知识和技能,进行全面、系统、严格的技术及基本能力的练习。然而,目前,在我校毕业设计过程管理的各环节却存在着一些问题,如毕业设计过程缺乏清晰的流程控制、学生在选导师和论文题目的确定等方面缺乏较好的公开性、公平性等等。这些都是对毕业设计管理工作的忽视,在一定程度上影响了毕业设计工作的质量与效率

2、。并且,时值,同学已进入找工作或正在实习时其,更是没时间与导师有更好的交流。这一系列的问题很难保证毕业设计工作的有效进行。为了解决这些毕业设计管理方面的问题,提出毕业设计辅助管理系统这一信息管理系统以提高毕业设计工作的效率。本系统主要包含以下几个方面内容。该系统由几个主要的核心功能模块,包括导师选择,题目选择,附件管理和进度汇报等业务逻辑过程。是基于J2EE平台b/s模式的三层结构模型和Ajax异步传输的技术。使用myeclipse6.5开发工具与toad for MYSQL等数据库5管理工具。采用JAVA技术和MYSQL数据库系统实现。关键字:辅助教学系统,毕业设计管理,毕业设计辅助管理AB

3、STRACTThe graduation project is a very important personal training process for students in the university, but there are many problems in each step of the management of the graduation project process at present. The process of graduation project is lack of detailed processes controlling method. It i

4、s also lack of publicity and equality on the aspects of choosing tutor and selecting theme. The problems represent the ignorance of the graduation project management. This has embarrassed the quality and the effect of the graduation project. In order to solve the management problem of the graduation

5、 project, the thesis discusses the design and implementation of the process management system of the graduation project. The main works of the thesis discusses as follows: The thesis discusses the necessity of the process management system of the graduation project. Business processes for the inter-

6、choice between the teachers and students, the process management in the graduation project are decided. the thesis discusses three-layered model based on J2EE and B/S model. The implementation of the system employs JSP technology and MYSQL. Keywords: Auxiliary teaching system, Graduation design mana

7、gement目录1绪论11.1系统设计的意义11.2毕业设计管理发展现状21.3系统开发的目的21.4使用基于三层结构的J2EE技术的意义21.4.1为什么使用三层架构21.4.2使用J2EE有意义32需求分析52.1用例图52.2需求描述52.3功能需求62.4性能需求92.4.1易用性102.4.2精准性102.4.3可靠性102.4.4容错性103系统概要设计113.1系统选型研究113.1.1系统运行模式选择113.1.2分层结构选型113.2系统开发环境133.2.1JAVA语言与JSP技术133.2.2MYSQL数据库133.2.3WEB应用服务器TOMCAT143.3使用的框架及

8、技术143.3.1Struts2143.3.2Spring143.3.3Hiberate153.4开发工具的选择153.4.1MyEclipse开发工具153.4.2MYSQL管理工具Toad for MYSQL163.5系统总体设计结构164系统详细设计174.1功能设计174.2权限的处理194.3各模块结构的设计204.3.1登录模块的设计214.3.2导师选择模块的设计224.3.3题目选择模块的设计254.3.4进度汇报模块的设计264.3.5附件模块的设计274.3.6其它模块的设计274.4数据库设计274.4.1数据库结构设计274.4.2相关数据设计314.5界面的设计324

9、.5.1登录界面324.5.2首页界面345系统测试376结论391 绪论1.1 系统设计的意义本科毕业设计是高等学校人才培养过程中的重要实践教学环节,其主要目的是培养学生综合运用所学基础知识和基本技能进行科学研究工作的初步训练,培养和提高学生分析问题和解决问题的能力,使学生受到一次提升其专业素质与实践能力的综合训练,使学生在思想作风、学习毅力和工作作风上受到一次良好的锻炼,同时也是实现教学、科学研究和生产实践相结合的重要途径,是对教学工作的一个总体检验。因此,加强本科毕业论文(设计)工作,对于深化教学改革,全面推进素质教育,提高人才质量具有十分重要的意义和作用。随着高校本科扩招工作的深入,每

10、年毕业生人数不断增加,再加上院校合并、扩建带来的异地教学、办公等情况,毕业设计质量管理的各环节上却存在着很多的问题:教学与教务上缺少统一管理,毕业设计工作流程混乱,论文内容、格式等标准无法贯彻始终;指导教师方面也存在着指导风格与指导水平的差异;学生在选导师、选论文题目等方面都缺乏较好的公开性、公平性;在成绩评定方面存在着片面性的问题;学生由于考研、实习、就业等各种主客观因素与指导教师的沟通不畅等等。这些都极大的影响了毕业设计各方面工作的质量与效率。因此,迫切需要一种快捷、高效、实用、充分满足学生对毕业设计个性化需求的管理方式。针对目前毕业论文管理工作的现状及不足,设计了这个B/S结构的毕业设计

11、辅助管理系统。这个系统各个模块几乎相互独立,从而可以大大提高客户服务质量、降低管理成本,提高工作人员的工作效率。本系统采用JAVA平台,基于三层体系结构构建了一个适合于高校使用的网上毕业设计辅助管理系统,从教师、学生、管理员的角度,可以通过BS方式定期向老师汇报工作情况,实现毕业设计导师的选择,题目选择,上传下载毕设成果等功能。对于教务管理人员而言,可以完成开启本年度的毕业设计任务,控制导师选择的进程,随时监控毕业设计进行的过程、统计分析的工作,不但提高了工作效率,而且提高了管理水平。总之,本文所建立的毕业设计辅助管理系统对于高校毕业设计工作是十分有价值的,它不仅解决了毕业设计管理中存在的问题

12、,规范了毕业设计管理流程,同时为学生、教师以及教务管理人员都带来了方便,大大降低了教务管理人员的工作强度,具有较高的理论和实际意义。1.2 毕业设计管理发展现状目前我校人数续年增多,规模不断扩大,如何合理利用教学资源,有效地加强教学管理工作,已成为我校十分关注的问题。如今,我校每年的毕业生近万人,毕业设计工作的进行与顺利实施是一个不容忽视的环节。然而,目前我校的毕业设计工作还是以手工管理为主,而手工管理模式必然存在工作量大,重复劳动量大,效率低的缺点,而且导师是按学校统一分配的。这样对学生指导的效率将会有一定限度的降低。因此,毕业设计的双向选择和毕业设计过程的动态跟踪与交流己成为毕业设计环节教

13、学改革的重要内容。1.3 系统开发的目的针对我校对大四即将毕业的学生的毕业设计进行手工管理模式的缺点,开发一个辅助毕业设计管理的在线系统,以解决手工管理模式工作量大,重复劳动量大,效率低的缺点。该系统充分利用学校现有的计算机设备与网络资源,对毕业设计中各个阶段的工作进行全面的管理,最终实现管理的规范化,网络化。进而减轻了学校,导师与学生的工作量,大大地提高毕业设计的效率。1.4 使用基于三层结构的J2EE技术的意义1.4.1 为什么使用三层架构所谓的三层开发就是将系统的整个业务应用划分为表示层业务逻辑层数据访问层,这样有利于系统的开发、维护、部署和扩展。从开发角度和应用角度来看,三层架构比双层

14、或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度2。2. 三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。三层架构的最大优点是它的安全性。用户端

15、只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。另外三层架构还可以支持如下功能:Remote Access(远程访问资料),例如可透过Internet存取远程数据库;High Performance(提升运算效率)解决集中式运算(Centralize)及主从式架构(Client-Server)中,数据库主机的运算负担,降低数据库主机的Connection Load,并可藉由增加App Server处理众多的数据处理要求,这一点跟前面讲到的分布式计算提高运算能力是一个道理;Client端发出Request(工作要求)后,便可离线,交由App Server和DataBase

16、 Server共同把工作完成,减少Client端的等待时间;这个功能我觉得应用场合不是很多,自己感受也不是很深刻,从理论上是成立的。1.4.2 使用J2EE有意义J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS,IBM Encina,、Inprise VisiBroker 以及N

17、etscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT

18、服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择鲁棒性更好的操作系统如Sun Solaris、IBM OS/390。鲁棒性最好的操作系统可达到99.999%的可用性或每年只需5

19、分钟停机时间。这是实时性很强商业系统理想的选择3。2 需求分析需求分析是系统开发的第一步,也是最重要的一步。利用软件工程的方法对系统进行详细的需求分析,彻底了解用户的需求,从而构造出一个从抽象到具体的逻辑模型系统7。2.1 用例图本系统的用例图如图2.1所示。图2.1系统用例图2.2 需求描述本科毕业设计管理是教学管理工作的重要环节,目前我校采用的手工管理模式具有管理工作难度大、重复劳动量大、效率低等缺点,难以适应本科毕业设计管理的要求。针对毕业设计管理过程中选题灵活性强、指导老师多、毕业设计地点分散、进度要求严格、工作量大等特点,系统要充分利用学校现有的计算机和网络资源,对整个毕业设计各个阶

20、段的工作实施全程管理,最终实现毕业设计管理的电子化、网络化、规范化、可监控化,从而提高毕业设计管理的效率。2.3 功能需求毕业设计管理工作主要需要解决导师选择,学生选题、进度汇报、附件管理等各个阶段工作的监控等问题。根据毕业设计工作的特点将毕业设计过程管理大致分为四个阶段:导师选择、题目的选定,进度的汇报,附件的上传等。针对导师、学生、管理员三种角色,各阶段应具有如下功能:(1)导师的选择学生能对个人资料和密码进行维护,能查看导师信息并根据本个意愿选择指导老师;导师能进行个人资料和密码的维护并给出参考选题和研究方向,能查看自己的学生信息,管理员可以进行用户信息的维护,能批量导入学生与老师的个人

21、信息,对还没有选择导师的学生进行自动匹配。(2)题目的选择导师可以在线录入一些参考选题以供学生选择,学生可根据导师提供的题目选择自己感兴趣的研究方向,也可以自定义题目,经导师审核研究通过后,成为自己毕业设计与论文研究的方向。(3)进度汇报学生必须定期报告毕业设计的进度情况以及在设计过程中遇到的困难。导师定期查看学生汇报的情况并给出相应的评语和意见。(4)附件管理学生必须定期将毕业设计的作品版本与论文情况上传到服务器。导师可以下载其作品与论文,检查其学生的完成情况。除了各个阶段三类用户的功能需求以外,系统管理的功能需求也是不能豁缺的,功能需求如下:(1)身份验证功能。用户在登录界面上J下确填写用

22、户名和密码才能进入系统,用户根据用户类型进入不同的用户操作界面使用不同的系统。(2)在权限分配上,要求权限分配灵活自由,管理方便。根据系统当前任务为用户所在的角色分配权限组。毕业设计辅助管理系统的主要过程毕业导师选择过程在以往的毕业设计导师、学生的分配工作中,我校采用的是按顺序给每个老师分配学生的方式,通过实际调研和以往毕业设计管理的经验,这种方式都存在着很大的缺陷。导师学生按顺序分配往往造成学生感兴趣的方向与导师严重偏差、或者师生存在着项目联系的又未分配在一起,随之带来的是导师指导不力、学生要求换导师等问题。,这严重影响到毕业设计的效果。基于以上分配方式的缺陷,本系统采用根据学意愿分配导师,

23、然后再由师生共同讨论拟订选题的方式进行,从而使毕业设计的师生双选工作更规范、更公平、更人性化。导师选择的业务流图如2.2所示。图2.2导师选择的业务流程毕业题目选择过程毕业题目选择过程如图2.3所示。图2.3题目选择的业务流程2.4 性能需求本系统是基于网络的,可以方便师生异地交流、异地提交相关文档,既能对学生的毕业设计监控,又能用网络的优势解决传统管理中不能实现的目标,为此,系统设计必须满足以下的要求:2.4.1 易用性本系统采用可视化界面,用户通过单击界面上相关按钮就可以完成各项操作。应能适应各种运行环境的变化,随着工作流程的变动而改进。系统的安装、配置、维护应该简单方便,具有良好的用户接

24、口。用户操作起来简单方便,易学易用。2.4.2 精准性查询时应保证查全,不出错。数据库表中有相应域包含查询关键字的记录都能查询到。查询时还应保证查准,查到的记录应与给定的查询条件完全匹配。2.4.3 可靠性服务质量的一个重要方面是能够在期望的响应时间内访问信息。由于涉及大量学生文档的提交,对于文件的上传更新时间也不能过长,太长的延迟时间也给学生带来焦虑情绪等不便,故时间特性要求如下:响应时间:15秒;更新处理时间:l10秒;数据的转换和传送时间:15秒;2.4.4 容错性在系统进行不当操作时,能进行相应的错误提示,给予警告,不能影响系统的正常运作。3 系统概要设计3.1 系统选型研究3.1.1

25、 系统运行模式选择针对前期的用户需求调研,毕业设计系统需要满足应用面广,易操作、易维护、支持异地办公、能够提供Internet支持、方便升级的特性。当前普遍采用的两种客户端及服务器模式CS模式及BS模式。CS模式具有交互性强、执行速度快、网络通信量低、安全性高等特点,但系统间交流困难、系统升级麻烦、开发和维护复杂。BS模式具有客户端安装简便、网络结构灵活、系统丌发和维护简单、适用于网上信息发布并易于扩展等特点,但安全性相对较低、网络通信量高等特点。BS模式与CS模式相比在毕业设计管理系统上是有很大优势的,由于BS模式不受地域的影响,随时随地可以通过Internet与服务器通信,代码都在服务器上

26、,使客户机和服务器不需要了解对方的具体工作,而实现无缝透明的连接。综合以上考虑,本文中系统采用BS模式。3.1.2 分层结构选型由于传统的二层数据处理结构系统拓展性低、维护成本高、数据安全性和应用间通讯功能存在障碍、管理业务逻辑、存储过程有很大的缺陷等原生性问题的存在,本系统采用BS(BrowserServer)三层体系结构进行设计,整体体系结构如图所示,它包括了表现层、业务逻辑层、数据访问层,如图3.1所示。图3.1分层结构图(1)表现层用来提供呈现给用户的页面,同时调用逻辑层的模块来为显示提供数据,用IE实现浏览功能,作为BS结构不需要为客户端编写程序,所有操作都通过IE实现。(2)业务逻

27、辑层是系统业务实现层,负责业务逻辑、功能实现。(3)数据访问层专门对数据信息进行有效的管理和访问,使业务逻辑层不必关心数据和信息的结构,同时保护了数据库。这三层结构在层与层之间相互独立,任何一层的改变不会影响其它层。三层开发体系结构具有以下优点。(1)能有效降低建设和维护成本,简化管理三层应用结构在各层次上的组件能单独更新、替换或增加、拆除。因此,系统维护更方便,代价相对低得多。而且,因各组件互相独立,更换组件就好比更换组合音响的一个部件,对系统其它部分并无影响,所以更新维护更加安全可靠。(2)可适应不断的变化和新的业务需求任何应用系统实施的重点不在于需求确定以后能否实现这些需求,而是在系统实

28、施后如何适应变化的需求。系统的开发和维护过程中,技术人员可以按照新的需求,通过在不同系统层次上调度更新的组件或新加入的组件来调整旧的系统,以适应新的与不断变化的要求。以往的系统只能靠专业维护人员或系统开发商的再次开发或修改原有系统,才能满足新的需求,代价往往很大,无法保证时间上的要求。(3)访问异构数据库三层开发架构的中间层即应用服务器能够提供广泛的异构数据库访问和复制能力。传统的客户机服务器结构则需要在客户端安装许多访问异构数据库的驱动程序,而三层结构只要在中间层有相应的驱动程序就可以访问异构数据源。(4)能有效提高系统并发处理能力(5)可扩展性好3.2 系统开发环境3.2.1 JAVA语言

29、与JSP技术在确定系统的架构为BS模式之后,选择什么样的平台开发,也就成为一个系统选型的重要问题。综合系统的架构特征,本系统采用JAVA/JSP开发。使用JSP的优势在于:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.NET的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的JAR文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,JAVA显示了一个巨大

30、的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,JAVA已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 (5)支持服务器端组件。WEB应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供WEB页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能2。3.2.2 MYSQL数据库MYSQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MYSQL能很容易充分利用CPU。 MYSQL可

31、运行在不同的操作系统下。简单地说,MYSQL可以支持Windows95/98/NT/2000以及UNIX、LINUX和SUN OS等多种操作系统平台。这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统。MYSQL有一个非常灵活而且安全的权限和口令系统。当客户与MYSQL服务器连接时,他们之间所有的口令传送被加密,而且MYSQL支持主机认证。 MYSQL支持ODBC for Windows。MYSQL支持所有的ODBC 2.5函数和其他许多函数,这样就可以用Access连接MYSQL服务器,从而使得MYSQL的应用被大大扩展6。3.2.3 WEB应用服务器TOMCATTOMCAT

32、 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 TOMCAT 是一个轻量级应用服务器, 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上TOMCAT部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行TOMCAT 时,它实际上作为一个与Apache 独立的进程单独运行的8。3.3

33、 使用的框架及技术3.3.1 Struts2Struts 2是Struts的下一代产品,是在 Struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化9。9. 3.3.2 SpringSp

34、ring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何JAVA应用都可以从Spring中受益。本系统主要用到的是Spring的控制反转技术。Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的Bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,S

35、pring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。3.3.3 HiberateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在Servlet/JSP的WEB应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。3.4 开发工具的选择3.4.1 MyEclipse开发工具MyEclipse企业级工作平台

36、(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境, 包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. J2EE模型2. WEB开发工3. EJB开发工具4. 应用程序服务器的连接器5. J2EE项目部署服务6. 数据库服务7. MyEcli

37、pse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错10。3.4.2 MYSQL管理工具Toad for MYSQL在应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。Quest Software为此提供了高效的应用开发工具-T

38、oad。在Toad的新版本中,还加入了DBA模块,可以帮助DBA完成许多日常管理工作。它最大的特点就是简单易用,访问速度快。使用Toad,我们可以通过一个图形化的用户界面快速访问数据库,完成复杂的SQL和PL/SQL代码编辑和 测试工作。Toad由Oracle开发专家专门为开发人员而设计,是一个功能强大、结构紧凑的专业化PL/SQL开发环境。3.5 系统总体设计结构系统总体结构设计是要根据系统分析的要求和实际情况对系统的总体结构形式和可利用的阻援进行大致的设计,是宏观上的规划。系统总体结构如图3.2所示。图3.2总体数据流图4 系统详细设计4.1 功能设计毕业设计辅助管理系统的主界面主要完成登

39、录功能,用户根据不同的身份登录后,进入不同的用户平台进行操作与使用。这里主要有学生、导师、管理员三类用户。下面分别以学生、导师、管理员三类用户对系统的功能设计加以说明。系统根据不同的用户权限,提供不同的功能。学生工作平台主要提供选择导师,题目选择、每周任务汇报、附件和论文等相关文档的提交等功能。系统根据不同的用户权限,提供不同的功能。学生工作平台主要提供选择师。题目选择,进度汇报、附件上传等功能。具体如图4.1所示。图4.1学生功能模块图通过教师工作平台,指导教师可以查看自己所要指导的学生信息,导师还可以在线提供一些参考题目,查看学生的选题并对学生题目进行审核。查看学生的进度汇报并提出相应的意

40、见。功能表如下图4.2所示。图4.2导师功能模块图管理员工作台提供学生和老师个人信息的录入、查看学生的导师选择情况、对未进行导师选择的学生进行自动选择、附件管理等功能,如下图4.3所示。图4.3管理员功能模块图4.2 权限的处理本系统涉及三个角色,包括学生,导师和管理员如果设计其三者的权限是一个首要解决的问题。在这里,三个角色分别设置三个不用的路径,当输入的验证信息在系统中验证通过时,根据其角色动态地跳到不同路径的页面中。首先,根据页面传回来的信息确定其角色,如下代码:/验证密码obj=loginService.validIdentify(number,password,role);if(ob

41、j!=null)/权限设置if(role=1)sess.setAttribute("per", (Department)obj);sess.setAttribute("role", "1");else if(role=2)sess.setAttribute("per", (Teacher)obj);sess.setAttribute("role","2");else if(role=3)sess.setAttribute("per", (Student)o

42、bj);sess.setAttribute("role", "3");flag=1;else/验证错误flag=0;在确定密码无误后,便设置其权限,如上面代码,分别将三个角色用1,2,3标记,将其放在session中。在JSP页面,在脚代码中将其转换成三个角色的相对路径。如下代码:if("1".equals(role) identity="department"else if("2".equals(role) identity="teacher"else if("3

43、".equals(role) identity="student"else if("-1".equals(role) identity="ad"else identity=null;动态设置路径:<frame name="left" src="/<%=identity%>/left.jsp" frameborder="0" scrolling="no"/><frame name="right" s

44、rc="/<%=identity%>/personInfo.jsp"frameborder="0"/>4.3 各模块结构的设计模块可按照功能、顺序、数据、过程、时间和环境进行划分。根据本系统的实际情况,本系统按照功能划分模块。按照功能可将此系统划分为以下:登录模块,导师选择模块,题目选择模块,进度汇报模块,附件管理模块等等。反馈信息信息管理用户验证 登录成功登录界面导师选择 登 录题目选择 失进度汇报 败 附件管理图4.4管理模块图4.3.1 登录模块的设计登录模块是每位用户必须进行的模块,用户必须输入三项信息。用户编号、口令和用户身份

45、,提交后,系统后台首先会判断用户身份,再在相应的数据库表中查找相应的用户信息,然后再判断用户的口令是否与数据库的匹配,再进行进一步的操作。流程图如图4.4所示。图4.4登录模块流程图4.3.2 导师选择模块的设计用户成功登录系统后,首先是进行导师选择,进入该模块后,系统会自动初始化导师信息列表以供学生作参考。通过系统的查询功能,学生可以查到相关的导师信息,打开要选择的导师,查看其详细信息,点击选择后,会将数据返回数据库,修改相关数据。流程图如下图4.5所示。图4.5导师选择模块流程图以上是学生选择导师的流程。导师登录系统后,可以查看选择了自己的学生,并确定是否接受该学生。出于某些原因,可能有部

46、分学生由于种种原因忘了进行导师选择。这种,管理员可以进行自动对其进行选择。自动进行导师选择的算法如下:for(int i=0;i<stdid.size();i+)/遍历未进行导师选择的学生String stdmap=(String)(Map)stdid.get(i).get("id");List teacherlist=DBExtendService.queryMapList(sql2);/查询没有被学生选择的导师/判断是否存在没胡被学生选择的导师,如果有,则将当前的学生分配给这些导师中的其中一个if(teacherlist!=null&&teache

47、rlist.size()>0&&is) StringBuffer updsql=new StringBuffer("update student set iteachid="+(Map)teacherlist.get(0).get("id")+",steacher='"+(Map)teacherlist.get(0).get("sname")+"',steachnumber='"+(Map)teacherlist.get(0).get("s

48、number")+"' where id="+stdmap);System.out.println(updsql.toString();DBExtendService.execSQL(updsql.toString();else /如果所有的导师都有被学生选is=false;/查询被最少学生选中的导师,List teacherhas= DBExtendService.queryMapList(sql3); if(teacherhas!=null&&teacherhas.size()>0)/将该导师分配给该学生StringBuffer

49、updsql2=new StringBuffer("update student set iteachid="+(Map)teacherlist.get(0).get("iteachid")+",steacher='"+(Map)teacherlist.get(0).get("steacher")+"',steachnumber='"+(Map)teacherlist.get(0).get("steachnumber")+"' whe

50、re id="+stdmap);System.out.println(updsql2.toString();DBExtendService.execSQL(updsql2.toString();flag=1;如以上代码所述先用SQL语句查询还没选择导师的学生,用数组储存。然后对数组中的学生续个遍历,进行分配。查询是否有未被学生选择的导师,如果有,将遍历的当前学生分配给该导师。如果没有被查询到未被学生选择的导师,则查询被学生选择得最少的导师,将该导师分配给当前遍历到的学生。4.3.3 题目选择模块的设计学生的指导老师确定后,便进入题目选择环节。学生可以根据自己的兴趣,选择相应的题目。通

51、过查看老师提供的题目来选择,也可以自己定义题目。请求老师审核通过。老师可以通过学生的选题,肯定是否通过,并给出相应评语,具体流程如图4.6所示。图4.6题目选择模块流程图4.3.4 进度汇报模块的设计以前环节完成后,学生并投入到毕业设计的实际工作中去,这是一个耗时最长的过程,学生必须定时回报工作情况,回报完成的进度。导师刚定期查看汇报情况并给出相应的意见。具体流程如图4.7图4.7进度汇报流程图4.3.5 附件模块的设计学生必须定期将毕业设计的作品版本与论文情况上传到服务器。导师可以下载其作品与论文,检查其学生的完成情况。4.3.6 其它模块的设计除了各个阶段三类用户的功能需求以外,系统管理的

52、功能需求也是不能豁缺的,功能需求如下:(1)身份验证功能。用户在登录界面上J下确填写用户名和密码才能进入系统,用户根据用户类型进入不同的用户操作界面使用不同的系统。(2)在权限分配上,要求权限分配灵活自由,管理方便。根据系统当前任务为用户所在的角色分配权限组。4.4 数据库设计本系统需要对大量的数据完成搜集、整理、存储、交换等工作,这就需要设计一个强大的数据库来对这些数据进行管理。该毕业设计过程管理系统的使用主体是教师和学生。因此,系统要处理的信息都围绕这两个主体展开的。根据系统设计所要实现的功能,把系统将要涉及到的信息设计分别归类为教师数据两大类。考虑到方便查找,减小查询复杂度的原因。数据库

53、表有一定程度的冗余。4.4.1 数据库结构设计学生表(student):学生电子邮件导师联系电话入学日期班级专业学院性别密码姓名学号图4.8学生ER图表4.1学生表字段名代码类型约束IdidInt主键学号snumberVarcharNot null姓名snamevarcharNot null密码spasswordvarchar性别isexint学院idideptidInt外键专业idimajorInt外键班级sclassVarchar入学日期dentrydatedate联系电话sphoneVarchar导师iditeachidint外键电子邮件E_mailvarchar题目idSubidint

54、外键qntiddrdte导师表:(teacher)导师性别地址简介部门联系电话密码姓名工号电子邮件图4.9导师ER图表4.2导师表字段名代码类型约束IdidInt主键工号snumberVarcharNot null姓名snamevarcharNot null密码spasswordvarchar性别isexint联系电话sphonevarchar电子邮件E_mailvarchar地址saddressvarchar简介sremarkText部门idideptidint外键部门表(department):部门名字简介图4.10部门ER图表4.3部门表字段名代码类型约束IdidInt主键姓名sname

55、varcharNot null简介sremarktext附件表(access):表4.4附件表字段名代码类型约束IdidInt主键学生idistdidint外键导师iditeachidint外键唯一标识uuidvarchar进度周报表(report):表4.5进度汇报表字段名代码类型约束IdidInt主键已完成的功能sfunctiontext汇报日期dcreatedatedate汇报内容scontentText遇到的问题sproblemtext学生idistdidint外键导师iditeachidInt外键导师是否已阅读isreadInt导师评语freebacktext专业表(major):表4.6专业表字段名代码类型约束IdidInt主键专业名字snameVarchar学院名字ideptartidint外键简介sremarktext题目表(subject):表4.7题目表字段名代码类型约束IdidInt主键老师iditeachidint外键学生idistdidint外键题目stitlevarchar要完成的功能sfunctiontext涉及的技术technologytext是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论