




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆理工大学毕业论文 毕业论文管理系统的设计与实现 编号 毕业设计(论文)题目 毕业论文管理系统的设计与实现 全套设计加扣3012250582 二级学院 计算机科学与工程学院 专 业 网络工程 班 级 学生姓名 学号 指导教师 职称 讲师 时 间 2014.6 重庆理工大学毕业论文 毕业论文管理系统的设计与实现目录摘 要IAbstractII第一章 绪论11.1 背景知识11.2 选题目的及意义11.3 本课题研究内容11.4 本章小结2第二章 关键技术及开发环境32.1 数据库连接(jdbc)32.1.1 连接数据库(Connection)32.1.2 发送数据库事务32.1.3 处理结果42.2 jsp动态网页技术,完成所有web页面52.2.1 jsp动态页面介绍52.2.2 jsp动态页面优缺点52.3 SSH框架62.3.1 Struts框架62.3.2 Spring框架72.3.3 Hibernate框架72.4系统开发环境72.5 本章小结7第三章 需求分析与可行性分析93.1 需求分析93.2 可行性分析93.2.1 技术可行性分析93.2.2 操作可行性分析103.3 本章小结10第四章 系统总体设计114.1 系统架构设计114.2 B/S架构设计114.2.1 后台数据访问对象接口DAO114.2.2 后台对象实体类PO124.2.3 后台业务逻辑层Service124.2.4 Action类124.3 模块设计124.3.1 毕业生模块124.3.2 导师模块144.3.3 管理员模块154.4 本章小结15第五章 系统详细设计175.1 模块功能设计175.2 用户登录流程详细设计175.3 毕业论文选题流程详细设计185.3.1 选题毕业生模块设计195.3.2 选题导师模块设计205.4 提问答疑流程详细设计215.4.1 提问毕业生模块设计215.4.2 答疑导师模块设计225.5 毕业论文评阅流程详细设计225.5.1 评阅毕业生模块设计235.5.2 评阅导师模块设计235.6 毕业论文归档流程详细设计245.6.1 归档毕业生模块设计245.6.2 归档导师模块设计245.7 本章小结25第六章 数据库的设计266.1 物理数据模型PDM266.2 数据库各表的设计266.3 本章小结31第七章 系统实现327.1 用户登录的实现327.2 毕业生用户模块的实现337.3 导师用户模块的实现397.4 管理员用户模块的实现427.5 本章小结43第八章 系统测试448.1 测试的意义448.2 测试用例448.2.1 用户登录测试448.2.2 毕业生选题流程测试458.2.3 提问答疑功能测试488.2.4 毕业论文评阅功能测试508.3 测试总结528.4 本章小结52第九章 结束语53致谢54参考文献55文献综述摘 要随着数字化校园的发展,各项教学内容都要求在网络上开展,本课题旨在通过软件系统的设计,实现毕业论文流程管理的网络化。该系统从毕业论文的选题、审核、调剂、指导、评阅、归档等毕业论文的基本流程进行了管理,为毕业生和老师提供了一个通过网络完成毕业设计撰写的网络平台。本毕业论文在线系统采用Java语言应用MyEclipse开发软件设计实现,应用MySql数据库实现数据库的构建和数据的存储。本系统是管理信息系统,开发主要包括后台数据库的建立和维护以及页面功能项的开发实现两个方面。本系统分为三个用户模块:毕业生用户模块、导师用户模块、管理员用户模块。从毕业论文的选题、审核、调剂、指导、评阅、归档环节进行管理,实现毕业论文基本流程的管理,使学生的整个毕业论文将在网上实现。关键词:毕业论文,流程管理,管理信息系统IAbstractWith the development of digital campus, are required to carry out the teaching content on the Internet, this study aims to software systems design, implementation thesis process management network. The system from a thesis topic, audit, transfers, guide, review, archive and other basic management processes thesis conducted for students and teachers by providing a network to complete the graduation writing network platform. The thesis online application system using Java language MyEclipse development software design and implementation, application and data MySql database implementation to build a database storage. This system is a management information system, including the establishment and maintenance of major developed and developing back-end database entry page features to achieve both. The system is divided into three user modules: Student user module, instructors user module, the administrator user module. From the thesis topic, audit, transfers, guide, review, archive, link management, process management to achieve the basic thesis, so that students realize the whole thesis will be available online.Keywords:: The graduation thesis, process management, management information system1第1章 绪论1.1 背景知识毕业论文是每个大学生都要完成的一次结业测试,这是毕业生一次总结性的独立作业,是一次实践锻炼的过程,也是毕业生在学校学习期间的学习结果的综合性概括。撰写毕业论文能培养大学生初步的科学研究能力,提高综合运用所学知识分析问题、解决问题能力,有着重要的意义,是整个教学活动中不可缺少的环节。数字化校园是以数字化信息和网络为基础,基于计算机和网络技术建立起来的对教学、管理、科研、技术服务、生活服务等校园信息的收集、处理、整合、存储、传输和应用,数字资源得到充分利用的一种虚拟教育环境。国务院批转的教育部“2003-2007教育振兴行动计划”提出实施“教育信息化建设工程”,国家中长期教育发展规划将教育信息化作为教育事业发展的战略保障之一。1.2 选题目的及意义现在随着数字化校园的发展,各项教学内容都要求在网络上发展,对于大多都在实习的大四毕业生来说,可以通过在数字化校园上完成的教学内容会为其带来很大的便利。不用再不定时请假返校完成教学内容,更不用担心返校的旅途花费了,所以毕业论文这个每个毕业生都必须完成的教学内容能够实现网络化,那将会成为每个毕业生的福音。本课题旨在通过软件系统的设计,实现毕业论文流程管理的网络化,毕业论文的选题、审核、指导、评阅、归档都能通过在线管理系统完成,毕业生只需要按时返校进行答辩即可。1.3 本课题研究内容本文主要阐述了基于jsp的毕业论文在线管理系统的设计、开发及实现,分别对系统的系统的需求分析、网站设计、网站实现和网站测试等几个方面进行阐述,具体内容如下:本网站主要分为毕业生、导师、管理员用户三个登录角色,毕业生登录功能模块、导师登录功能模块、管理员登录功能模块三个功能模块。毕业生用户登录能够查看修改自己的个人信息,申请选择毕业论文导师、查看申请列表、并能申请导师自主命题。毕业生用户在确定论文课题和导师后,可查看自己的毕业论文、和导师交流寻求指导、接收导师下发论文任务书、按期上传毕业论文文档、查看导师对毕业论文的评阅。导师用户分为2个级别,一个是普通导师,一个导师管理员,在登录后有不同的功能模块。导师用户登录后都能查看修改自己的个人信息,审批相应的毕业论文课题申请。普通导师用户登录后还具有申报毕业论文课题、查询指导学生名单、下载学生上传文档的功能,并能对每个学生进行交流和指导、下发任务书、评阅学生论文。普通导师用户审批的毕业论文课题申请只能是学生对他的申请。导师管理员用户登录后只具有查看修改个人信息和审批导师提交的毕业论文课题申请。管理员用户主要是对系统进行维护,对各个登录角色进行查询、添加、删除的操作。1.4 本章小结本章主要介绍了毕业论文在线管理系统的相关背景知识,本课题的目的及意义,在最后简单的描述了毕业论文在线管理系统的主要功能模块。第2章 关键技术及开发环境2.1 数据库连接(jdbc)Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了例如查询和更新数据库中数据的方法。jdbc是面向关系数据库的。主要用途:与数据库建立连接,发送数据库事务,处理结果。2.1.1 连接数据库(Connection)Connection 对象代表与数据库的连接。通过执行 SQL 语句和在这个连接上返回的结果来实现连接的过程。一个应用程序可以和一个数据库有一个或多个连接,或者可以和多个数据库连接。与数据库建立连接的标准方法是调用DriverManager.getConnection方法。该方法接受含有某个URL的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。Driver的方法connect使用这个URL来建立实际的连接。用户可绕过JDBC管理层直接调用Driver方法。这在以下特殊情况下将很有用:当两个驱动器可同时连接到数据库中,而用户需要明确地选用其中特定的驱动器。但一般情况下,让DriverManager类处理打开连接这种事将更为简单。2.1.2 发送数据库事务完成数据库的连接后,就可以向连接的数据库发送数据库事务。JDBC对可以被发送的sql语句类型不加任何限制。这就提供了很大的灵活性,即允许使用特定的数据库语句或甚至于非SQL语句。然而,它要求用户自己负责确保所涉及的数据库可以处理所发送的SQL语句,否则将自食其果。例如,如果某个应用程序试图向不支持储存程序的DBMS发送储存程序调用,就会失败并将抛出异常。JDBC要求驱动程序应至少能提供ANSI SQL-2 Entry Level功能才可算是符合JDBC标准TM的。这意味着用户至少可信赖这一标准级别的功能。JDBC提供了三个类,用于向数据库发送SQL语句。Connection接口中的三个方法可用于创建这些类的实例。下面列出这些类及其创建方法:Statement:由方法createStatement所创建。Statement对象用于发送简单的SQL语句。PreparedStatement:由方法prepareStatement所创建。PreparedStatement对象用于发送带有一个或多个输入参数(IN参数)的SQL语句。PreparedStatement拥有一组方法,用于设置IN参数的值。执行语句时,这些IN参数将被送到数据库中。PreparedStatement的实例扩展了Statement,因此它们都包括了Statement的方法。PreparedStatement对象有可能比Statement对象的效率更高,因为它已被预编译过并存放在那以供将来使用。CallableStatement:由方法prepareCall所创建。CallableStatement对象用于执行SQL储存程序一组可通过名称来调用(就象函数的调用那样)的SQL语句。CallableStatement对象从PreparedStatement中继承了用于处理IN参数的方法,而且还增加了用于处理OUT参数和INOUT参数的方法。不过通常来说createStatement方法用于简单的SQL语句(不带参数)、prepareStatement方法用于带一个或多个IN参数的SQL语句或经常被执行的简单SQL语句,而prepareCall方法用于调用已储存过程。2.1.3 处理结果ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供了对这些行中数据的访问。ResultSet.next方法用于移动到ResultSet中的下一行,使下一行成为当前行。2.2 jsp动态网页技术,完成所有web页面2.2.1 jsp动态页面介绍JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.2.2 jsp动态页面优缺点优点:一次编写,到处运行。除了系统之外,代码不用做任何更改。 系统的多平台支持。强大的可伸缩性。多样化和功能强大的开发工具支持。支持服务器端组件。缺点: 与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。2.3 SSH框架SSH为 struts+spring+hibernate的一个集成框架,是目前比较流行的一种WEB应用程序开源框架。集成SSH框架的系统按职责分,分为了四层:表示层、业务逻辑层、数据持久层和域模块层。Struts被作为系统的整体基础架构,负责MVC的分离,Struts主要控制业务的跳转,利用hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法为:使用面向对象的开发思维根据需求构建一些实体模型,这些模型实现为基本的JAVA对象,也就是前面提到的实体类,然后编写对应的DAO接口,给出hibernate的DAO实现,采用hibernate框架实现的DAO类来实现JAVA类与数据库之间的操作,最后通过spring来管理struts和hibernate。系统的基本业务流程为:在表示层中通过JSP页面进行页面交互,接受请求(request)并传送相应(response),然后Struts根据配置文件将ActionServlet接受到的request委派给前面提到的Action类处理。在业务层中管理服务组件的spring ioc容器负责向Action类提供业务模型(实体类PO)组件和组件的相关写作对象数据处理(业务逻辑层Service)组件来完成业务逻辑。在持久层中,依赖于hibernate的对象化映射和数据库交互,处理DAO的请求的数据,并返回处理结果。采用SSH开发模型,不仅实现了MVC模型、视图及控制器的彻底分离,并且还实现了业务逻辑层与持久层的分离,这样不论前台如何变化,后台只需要进行很少的改动,数据库的变化也不会对前台带去影响,大大提高了系统的可复用性。这样开发系统各层之间的耦合性小,适合团队并行开发完成,又大大提高了开发效率。2.3.1 Struts框架Struts作为系统的整体基础架构。在课题开发文件中导入jar后,还需在源代码目录中导入struts.xml文件,并在web安全目录web-inf的web.xml文件中配置struts2核心过滤器,之后创建的Action类都需要在struts.xml文件中进行配置,通过Action类的String返回值来判定跳转的操作。2.3.2 Spring框架Spring作为管理struts和hibernate的框架。在课题开发文件中导入jar后,然后在web安全目录web-inf的web.xml文件中配置加载spring的配置文件,建立applicationContext-common.xml文件对系统进行配置。接着对DAO,Service,Action配置映射文件applicationContext-dao.xml、applicationContext-service.xml、applicationContext-action.xml。2.3.3 Hibernate框架hibernate框架是一个开放源代码的对象映射框架,对JDBC进行了非常轻量级的对象封装。java开发程序员能够随意的使用对象编程的思维来操作数据库。通过配置hbm.xml数据库各表的映射文件创建表,实现数据的存储以及数据的操作。在课题开发文件中导入jar后,然后在web安全目录web-inf的web.xml文件中配置防止懒加载异常。在系统源代码目录下的hibernate.cfg.xml中配置用于生成hibernate中的session的factory,并配置将要使用的映射文件。2.4系统开发环境开发环境CPU:Inter(R)Core(TM)Duo CPU T6600 2.20GHz内存:1G以上软件环境操作系统Windows7简体中文;Java开发软件MyEclipse;数据库平台MySQL Server5.0简体中文;应用平台Tomcat6.0简体中文;客户端软件Google浏览器简体中文2.5 本章小结本章主要简要概述了系统将要用到的关键技术及系统的整体框架的构建和框架的配置。系统采用SSH框架设计模式,实现DAO层,Service层,利用Action类实现jsp页面的跳转和业务的操作。通过对系统框架的精心配置,更有利于后期的开发井井有序的进行。第3章 需求分析与可行性分析3.1 需求分析随着数字化校园的发展,各项教学内容都要求在网络上发展,毕业论文的网络化也应加以开展。网站需要严格及时的完成毕业论文的各项流程,面向的用户是每一位毕业生和指导毕业论文的论文导师。毕业生登录网站应该能够顺利的查询可供选择的论文导师和论文课题并申请课题,导师登录网站则应该能够顺利的查询向他提出指导论文申请的毕业生并加以审批,以此完成毕业论文的选题审批步骤。网站还需要为毕业生和论文导师提供一个交流的平台,以便毕业生向导师提问及导师为毕业生指导。毕业生能够上传文档到网站服务器,导师从服务器上下载毕业生下载的文档并进行评阅。网站必须能够直观清晰的显示出毕业论文流程的各项详细信息,为用户们提供完善便利的服务,提供一个通过网络完成毕业论文撰写的网络平台。3.2 可行性分析可行性分析是在全面调查的基础上,将整个新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下两个方面进行研究:技术可行性和操作可行性。3.2.1 技术可行性分析因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为学校网站的服务器对于学校来说并不是问题。3.2.2 操作可行性分析如今,计算机与网络已经非常地普及。特别是在信息化高需求与快速发展的时代,计算机应用已经成为每个人必备的技能。由于这个课题是以PC机作为服务器的网站,学校可以自己对网站进行操作和管理。3.3 本章小结本章简单介绍了毕业论文管理系统的存在意义,以及实现的可行性,并对功能需求进行了分析,列举了大楷要完成什么功能,实现什么目的。给后期的开发起了很大的帮助。我会按照需求分析不断的完成功能,实现毕业论文管理系统的运作。第四章 系统总体设计4.1 系统架构设计图4-1为系统总体架构图,主要对系统的大致功能进行了演示。系统主要功能包括选择毕业论文课题、申报毕业论文课题、审批毕业论文课题、评阅毕业论文等,分成毕业生、导师、管理员三大模块。详情如图4-1所示。图4-1 系统总体架构图4.2 B/S架构设计4.2.1 后台数据访问对接口DAODAO就是Database Access Objects,数据访问对象的英文缩写,是一种面向对象的界面接口,一种应用程序编程接口(API)。在核心J2EE模式中,应该将所有对数据源的访问操作抽象封装在一个公共的API中,相当于建立一个接口,在接口中定义这个应用程序中将会用到的所有事务方法。当应用程序需要和数据源进行交互时则可以使用这个接口,并编写一个单独的类来实现这个接口。4.2.2 后台对象实体类PO对象实体类是用来对必须存储的信息和相关行为建模的类。实体对象代表了开发中的系统的核心概念。本次系统中每一个实体类对应一张数据库表,类中各项属性分别代表相应的数据库表中的字段,实现存储和管理系统内部的信息。4.2.3 后台业务逻辑层ServiceService业务逻辑层,具体实现系统功能的层次。调用DAO中基础的数据库操作方法来实现各种业务上的操作。4.2.4 Action类Action类是用户请求和业务逻辑层之间的桥梁,每个Action充当客户的一项业务代理。在RequestProcessor类预处理请求是,建立了Action实例后,就将调用自身的processActionPerform()方法,该方法再调用Action类的execute()方法。execute()方法的返回值为String类型,完成用户要求后,根据返回的String值进行页面的调转。Action的execute()方法调用业务逻辑层的Service,完成用户请求,然后根据执行结果把请求转发给相应的web组件。4.3 模块设计4.3.1 毕业生模块毕业生模块的设计:该模块的主要功能是修改自己的信息,选择课题,提交相关的文档和设计,查看最后的分数。模块架构图如图4-2所示。图4-2 毕业生模块架构图查看个人信息:毕业生登录系统后,可查看自己的信息,并根据实际情况修改自己的登录密码、姓名、联系电话、电子邮箱。选择毕业论文课题:毕业生通过系统实现选题这一毕业论文流程中无比重要的一步,系统从毕业生的登录时记录下毕业生当前的所有信息,根据毕业生是否选择毕业论文导师和毕业论文来引导毕业生进行相应的操作。没有选择导师和毕业论文的毕业生,可以获取所有可以带毕业论文的导师,再选择导师后获取选择导师所带的毕业论文课题并进行选择,选择完后系统自动提交选择的申请,等待导师审批。毕业生还可以在申请时选择了导师再向该导师申请自己命名的课题。如果毕业生已经选择了导师而未选择毕业论文,系统则将会直接跳转到该毕业生导师所带毕业论文课题的列表供毕业生选择。当毕业生导师和毕业论文都已经选择了系统就自动跳转到查询毕业论文页面,让毕业生直观的看到自己所选课题和导师。查询申请列表:在毕业生选择毕业论文课题后,系统将自动跳转到查询申请列表的界面,直观反映毕业生的各项申请和申请被审批的状态,让毕业生更好的了解自己选题是否通过。留言板:系统为毕业生和导师提供的一个交流的平台。当毕业生遇到课题上不能解决的问题时,能够通过这里向导师寻求指导。可以查询和导师的所有留言记录,以便毕业生更好的完成毕业论文的撰写。查询毕业论文:此处为查看已经确定导师和毕业论文课题的毕业生查询自己毕业论文的页面,毕业生可以在这个页面看到自己的论文课题和所选导师的所有信息,上传论文文档到服务器。下载专栏:毕业生在此页面可以进行下载操作,下载自己上传的各个文档和导师上传的相关文档。查阅导师评阅:已经确定导师和毕业论文课题的毕业生在这里查看导师对毕业生的论文评阅信息。查询毕业论文分数:已经确定导师和毕业论文课题的毕业生在这里查询毕业论文的分数。4.3.2 导师模块导师模块的设计:该模块的主要功能是申报题目,下发任务书,查看学生的提交的论文进行批阅,最后汇总答辩后的信息进行给分。模块架构图如图4-3所示。图4-3 导师模块架构图查看个人信息:导师登录系统后,可查看自己的信息,并根据实际情况修改自己的登录密码、姓名、联系电话、电子邮箱。审批毕业论文课题:导师根据导师等级分为了普通导师和导师管理员两个级别,普通导师登录只能审批毕业生提交的论文申请表,导师管理员则只能审批普通导师提交的论文申请表。只有普通导师才能指导毕业生完成毕业论文,导师管理员只负责审批确定毕业论文的课题。每个普通导师通过一个毕业生论文申请,该导师所带的毕业生数量就加一,当数量满了时,毕业生将不能再选择这个导师,申请表中的所有申请也将直接处理为未通过;同时毕业生的毕业论文和导师也随之确定,至此算是正式完成了毕业论文的选题审批流程。申报毕业论文课题:普通导师向导师管理员提交毕业论文课题申请,在毕业生开始选题前给出导师给出的毕业论文课题。查看指导学生名单:普通导师查看指导毕业生的名单,了解所指导毕业生的各项信息,并根据毕业生学号向毕业生下发任务书、留言进行指导、评阅毕业论文。下载专栏:普通导师下载毕业生上传文档和自己上传文文档的页面。4.3.3 管理员模块管理员模块的设计:该模块的主要功能是添加用户,对系统进行维护,维护所有用户的基本信息。模块架构图如图4-4所示。图4-4 管理员模块架构图查询各类用户信息:管理员登录可以查询所有毕业生、导师、管理员用户的基本信息。管理各类用户信息:对毕业生、导师、管理员用户的基本信息进行管理,主要可以对所有用户进行删除功能,改变导师等级的操作。添加各类用户信息:可以添加毕业生、导师、管理员用户。4.4 本章小结本章主要简要概述了系统的整体模块和系统的结构。通过对系统功能的细心分析,更有利于后期的开发井井有序的进行。第5章 系统详细设计5.1 模块功能设计系统主要被分为毕业生、导师、管理员三大模块。管理员模块不参与任何业务上的操作,只能对系统进行维护,和对用户进行管理;毕业生和导师用户共同完成业务上的操作,实现毕业论文管理系统的网络化。根据毕业论文的流程,系统主要的功能设计为毕业论文选题流程的实现、毕业论文毕业生与导师提问答疑流程的实现、毕业论文评阅的实现、毕业论文归档的实现。另外,系统任何的操作都必须在登录之后才能进行,由于系统的用户是面向在校毕业生和毕业论文导师,所以系统不提供注册的操作,所有用户全部由系统管理员添加。5.2 用户登录流程详细设计由于系统分为毕业生、导师、管理员三大模块,在数据库设计中分别由毕业生信息表、导师信息表、管理员表存储数据进行管理。登录时,登录页面会提供一个列表供用户选择登录的身份,只有选择正确的身份输入正确的帐号密码才能登录成功。用户登录数据流程图如图5-1所示。图5-1 用户登录数据流程图用户登录在LoginAction.java类中实现。通过获取页面选择的登录身份,进行相应的数据库查询,页面上登录身份的列表定义毕业生登录的标识为“0”,导师登录的标识为“1”,管理员登录的标识为“2”。5.3 毕业论文选题流程详细设计毕业论文选题流程大致为毕业生提交选题申请,经申请导师审批来确定选题是否通过。在导师审批毕业生选题申请时,系统还会根据导师和毕业生的信息进行一些后台自主的智能操作,避免一些问题的出现。选题流程需要分别在毕业生模块提供添加毕业论文选题申请的方法和在导师模块提供审批毕业论文选题审批的操作。5.3.1 选题毕业生模块设计毕业生首先查询可以指导毕业论文的导师的相关信息,然后选择申请一个导师,系统会列出该导师所指导的毕业论文课题供毕业生选题。毕业生点击申请后,系统向毕业论文申请表中添加一条状态为申请待导师审批的申请单,等待申请导师的审批。毕业生选题数据流程图如图5-2所示。图5-2 毕业生选题数据流程图在QueryAllTeacherAction.java类中方法获取的标识为“1”的选择项中实现,运行方法时,系统会查询该毕业生的所有信息,如果毕业生的没有毕业论文导师则按照正常选题步骤进行,如果有则再判断毕业生是否选择了毕业论文,让每个毕业生只能选择一个课题和一个导师。5.3.2 选题导师模块设计导师负责审批毕业生选题的申请,每个导师拥有一个指导带领的毕业生数量都有限,每次审批都会有很多的并行操作。一个导师发布的毕业论文被多个毕业生申请,当这个导师通过了一个申请后,其余申请会自动判定为申请失败。每一个申请代表一个学生,当导师审批通过的申请达到了所能指导带领的毕业生数量上限时,其余申请也会自动被判定为申请失败。导师审批毕业生选题申请的数据流程图如图5-3所示。图5-3 选题导师模块数据流程图首先通过QueryApplyAction.java类获取导师能够审批的所有毕业生申请表单。然后在ApproveGraduationAction.java类中实现审批的功能,该类中给出审批通过的标识为“1”,审批不通过的标识为“2”。审批通过后,首先修改毕业生申请表单的申请状态为通过审批课题确定,然后向毕业生表为毕业论文申请的毕业生添加毕业论文课题和导师、向导师表中添加带领学生的信息和带领毕业生数量加一、向毕业论文表为毕业论文申请的论文添加申请毕业论文的毕业生信息。5.4 提问答疑流程详细设计毕业生在完成毕业论文的过程中,难免会遇到自己无法独立解决的问题。导师也会定期的对毕业生进行毕业论文进展的程度。所以系统为毕业生和导师提供了一个交流的平台。毕业生和导师通过留言的方式进行非即时的交流。毕业生和导师能相互进行留言,再在查阅后回复。5.4.1 提问毕业生模块设计毕业生在选定毕业论文课题和导师之后才可能进行这个模块的操作。进入留言页面首先是显示所有的聊天记录,然后毕业生可以在留言板上进行留言,实现提问的功能。毕业生提问的数据流程图如图5-4所示。图5-4 毕业生提问数据流程图毕业生提问流程的实现首先通过QueryMessageAction.java类中标识queryWay=“1”的方法中进行查询毕业生和导师的所有留言信息,将查询到的信息显示在stu_message.jsp页面上,显示留言人、留言内容和留言时间。然后通过form表单提交数据到后台,在AddMessageAction.java类中标识addLevel=“1”的方法中实现毕业生对导师留言的添加。5.4.2 答疑导师模块设计导师可以在通过留言板给毕业生发送通知,还可以对毕业生提问进行答疑,和毕业生提问模块的设计有点类似。系统首先查询出导师带领的所有毕业生,获取毕业生的stuId后,导师通过stuId查询和该毕业生之间的所有留言信息,并对该生进行留言答疑和通知。导师答疑的数据流程图如图5-5所示。图5-5 导师答疑数据流程图导师答疑的流程从QueryStuByTeaAction.java类中查询带领毕业生信息开始,在查询出毕业生信息后,获取stuId并将其和queryWay=“2”标识传递给QueryMessageAction.java类,查询出导师和这个毕业生的所有留言信息。通过form表单提交数据到后台,在AddMessageAction.java类中标识addLevel=“2”的方法中实现导师对毕业生留言的添加。5.5 毕业论文评阅流程详细设计毕业生进行毕业论文的撰写往往不能一蹴而就,导师必须定期对毕业生毕业论文进行评阅。毕业生需要按照导师安排上传毕业论文文档,方便导师下载查看后进行评阅。毕业生只具有查看导师评阅的权限。5.5.1 评阅毕业生模块设计毕业论文评阅毕业生端数据流程图如图5-6所示。图5-6 毕业论文评阅毕业生端数据流程图毕业论文评阅毕业生端通过QueryReadAppraiseAction.java类queryWay=“1”的方法查询导师评阅信息供毕业生查看,以便毕业生更好的完成毕业论文的撰写。5.5.2 评阅导师模块设计导师还是先查看所有带领学生的信息,再通过获取的stuId对相应的毕业生的毕业论文进行评阅。毕业论文评阅导师端数据流程图如图5-7所示。图5-7 毕业论文评阅导师端数据流程图导师评阅模块使用QueryStuByTeaAction.java类查询出导师带领所有毕业生,再根据查询到的毕业生信息在标识queryWay=“2”的QueryReadAppraiseAction.java类中的方法查询评阅记录,使用AppraiseAction.java类实现评阅信息的添加。5.6 毕业论文归档流程详细设计毕业论文的最终归档标志毕业生毕业论文最终完成,并且通过了审核。5.6.1 归档毕业生模块设计毕业生在归档时,上传毕业论文的最终电子文档到系统服务器。毕业生归档在UpLoadStuAction.java类中实现,主要完成上传文档到服务器的操作。5.6.2 归档导师模块设计导师端的归档是在毕业生完成毕业论文的所有流程后,对毕业生的毕业论文进行评分。5.7 本章小结本章对整个课题进行了详细的设计,主要从毕业论文的各个流程的功能进行了分析。对整个系统的功能进行了详细的分析,确定了课题的开发方向。为整个系统的完成奠定了扎实的基础。第6章 数据库的设计6.1 物理数据模型PDM本系统数据库采用MySQL Server 5.0数据库,物理数据模型图名称为GraduationProject,共包含10张表。实体关系如图6-1所示。图6-1 数据库pdm物理数据模型图学生表和导师表是整个系统的核心。管理员表则是一个独立的表,只是用来管理学生表和导师表信息。导师与学生是一对多的关系,学生表中将导师表的主键作为外键。学生与毕业论文申请表、学生与文件信息、学生与留言信息、学生与评阅都是一对多的关系,毕业论文申请表、文件信息表、留言表、评阅表中将学生表的主键作为外键。学生与毕业论文是一对一关系,毕业论文中将学生表的主键作为外键。6.2 数据库各表的设计表的设计是这次设计的一个核心内容。根据前面对网站各功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:毕业生信息、导师信息、管理员信息、毕业论文信息、毕业论文申请表单信息等。下面是为数据库设计的表:毕业生信息表毕业生信息表用来表示毕业生用户的信息,描述毕业生的姓名、学号、登录密码等。详情见表6-1 毕业生信息表。表6-1毕业生信息表字段名数据类型长度是否主键描述stu_idint(50)50y毕业生学号stu_namevarchar(50)50毕业生姓名stu_passwordvarchar(100)100毕业生密码stu_phoneint(50)50毕业生电话stu_emailvarchar(100)100毕业生邮箱tea_idint(50)50毕业生导师工号导师信息表导师信息表用来表示导师用户的信息,描述导师的姓名、工号、登录密码等。详情见表6-2 导师信息表。表6-2毕业生信息表字段名数据类型长度是否主键描述tea_idint(50)50y导师工号tea_namevarchar(50)50导师姓名tea_passwordvarchar(100)100导师密码tea_phoneint(50)50导师电话tea_emailvarchar(100)100导师邮箱stu_numint(50)50导师可带毕业生数量level_idint(50)50导师等级编号管理员信息表管理员信息表用来表示管理员用户的信息,描述管理员的姓名、编号、登录密码等。详情见表6-3 管理员信息表。表6-3管理员信息表字段名数据类型长度是否主键描述admin_idint(50)50y管理员编号admin_namevarchar(50)50管理员姓名admin_passwordvarchar(100)100管理员密码毕业论文信息表毕业论文信息表用来表示毕业论文的信息,描述毕业论文的名称、编号、分数等。详情见表6-4 毕业论文信息表。表6-4毕业论文信息表字段名数据类型长度是否主键描述gra_idint(50)50y毕业论文编号gra_namevarchar(50)50毕业论文名称gra_scorevarchar(100)100毕业论文分数tea_idint(50)50毕业论文导师工号stu_idint(50)50毕业生学号导师等级信息表导师等级信息表用来表示导师等级的信息,描述导师等级的名称、编号。详情见表6-5 导师等级信息表。表6-5导师等级信息表字段名数据类型长度是否主键描述level_idint(50)50y导师等级编号level_namevarchar(50)50导师等级名称毕业论文申请信息表毕业论文申请信息表用来表示毕业论文申请的信息,描述申请毕业论文的名称、编号、所选毕业生、所选导师、所选毕业论文等。详情见表6-6 毕业论文申请信息表。表6-6毕业论文申请信息表字段名数据类型长度是否主键描述applygra_idint(50)50y申请毕业论文编号applygra_namevarchar(50)50申请毕业论文名称stu_idint(50)50毕业生学号tea_idint(50)50导师工号gra_idint(50)50毕业论文编号apply_idint(50)50申请状态编号申请毕业论文状态信息表申请毕业论文状态信息表用来表示申请毕业论文状态的信息,描述申请毕业论文状态的名称、编号。详情见表6-7 申请毕业论文状态信息表。表6-7申请毕业论文状态信息表字段名数据类型长度是否主键描述level_idint(50)50y申请状态编号level_namevarchar(50)50申请状态名称留言信息表留言信息表用来表示留言的信息,描述留言的内容、编号、留言时间、留言毕业生、留言导师等。详情见表6-8 留言信息表。表6-8留言信息表字段名数据类型长度是否主键描述mess_idint(50)50y留言编号messagevarchar(500)500留言内容mess_timevarchar(100)100留言时间stu_idint(50)50
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年八纲辨证题库及答案
- 2025年专业数学题目及答案
- 2025年各类几何题库答案及
- steam钢笔字课件教学课件
- 广东省佛山市顺德区均安镇文田初级中学2024-2025学年七年级上学期语文第一次月考试卷(含答案)
- R-Markdown-课件教学课件
- 满级押韵考试题及答案
- 人体结构试题及答案
- 电压击穿试验题目及答案
- PS通道应用课程课件
- 民建支部管理办法
- 2025年院感知识理论考试题库及答案
- 2024注册安全工程师《历年计算题型》
- 科技伦理审查管理办法
- 少儿口才培训教案 课件
- 中学教学常规管理汇报
- 胸部损伤外科诊疗体系
- 土石方工程计量计价课件
- 第27课 中国特色社会主义的开创与发展 课件 中外历史纲要(上)
- 护士职业行为规范课件
- 市(县)级温室气体排放源、排放清单报告模板
评论
0/150
提交评论