




已阅读5页,还剩97页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第一章概述11JAVARMI技术在分布式应用开发中,JAVA提供了RMI(REMOTEMETHODINVOCATION远程方法调用)机制来实现远程对象的通信。RMI是一种分布式系统技术,它允许一台JAVA虚拟机(JVM)调用运行在位于网络中另一处地方的JVM中的远程对象方法(OBJECTMETHOD),如图1所示。这样的通信不必一定得是单向的过程远程对象不仅可以接受数据作为其参数,而且可以返回数据。这样RMI可以利用已存在的本地或远程对象,提供无缝的集成,实现分布式计算。12RMI回调技术通常意义下,在RMI机制中把提供远程对象方法的、运行在远程JVM上的应用程序称为服务器,而把调用远程对象方法的应用程序客户机。但在实际应用中,有时也存在服务器调用运行在客户端JVM上的对象方法的需求,也就是回调1。在基于RMI的分布式并行计算应用中使用回调技术的基本思想是提供实现分布式并行计算资源的工作站不需要周期性地主动(调用服务器上运行的远程方法)检查服务器是否有新的计算任务下达,相反地,当服务器需要完成客户请求完成的高计算量任务时,按该类任务的并行算法分解成可并行执行的子任务,然后服务器将远程调用(回调)各工作站上远程对象所提供的、具有完成子任务能力的方法,将各个子任务分配到各工作站并发执行。当然,各个提供计算资源的工作站事先必须在服务器注册表中注册。13RMI与分布式并行计算JAVARMI机制的引入给分布式并行计算的实现带来了新的特点JAVA作为面向网络的跨平台语言,在移植性、网络应用和安全问题方面具有独到的优势,对于分布式计算问题,JAVAJAVA虚拟机对象MAINSTRINGARGSJAVA虚拟机远程对象METHOD1METHOD2方法响应方法请求图1调用在远程机器上执行的远程对象方法2RMI在语义上提供了更为简洁清晰的描述,用JAVA来构造分布式计算系统,在实现上更符合网络计算的特点。根据JAVA所起的作用可以分成两类一类是基于JAVA的分布式并行计算环境,利用JAVA和WEB的特点为网络上的并行计算的组织提供良好的用户界面和丰富、通用的开发工具;另一类是JAVA的并行程序设计,希望利用JAVA的跨平台特征,构造可以在网络中的异构机器上自由迁移和协同工作的程序。这两类存在密切的联系,二者还可以结合起来,构成完整的分布式并行解决方案。运用JAVA的RMI机制,结合JAVA的多线程技术,可将一个具有并行计算特征的计算任务分解成多个可同时计算的子任务,每个提供计算资源的工作站承担一个或多个子任务,每个子任务由一个独立的子线程控制。由JAVA线程并发性,多个工作站可并发执行多个子线程。而服务器上的主线程负责控制、协调这些子线程,从而控制逐个并发计算过程,使之正确运行。3客户程序服务程序骨架和存根远程引用层骨架和存根远程引用层传输层RMI体系图3JAVARMI体系结构第二章JAVARMI体系结构设计RMI体系的目的是建立一个JAVA分布式对象模型,很自然地,该模型与JAVA程序语言和面向对象模型结合。RMI体系已经成功地创建这样一个系统,并将JAVA体系的安全性和健壮性延伸至分布式计算机体系。21接口RMI的核心RMI体系是基于一个重要的原则行为的定义和实现是两个不同的概念。RMI是允许行为定义的代码和行为实现的代码分开存放,并在不同的JVM上运行。这样很好地适应了分布式系统客户关注服务的定义,服务器注重提供服务。具体地说,用JAVA的一个接口编写远程服务的定义。这个JAVA的接口不包括行为实现的代码,而运行在服务器上的类是真正实现行为。运行在客户端的类作为一个远程服务的代理。远程方法的调用过程简单的叙述如下客户程序在代理对象中调用方法,RMI发送请求给远程JVM,接着远程JVM实现方法。由远程JVM实现的返回值送回到代理,然后代理将返回值给客户程序。22RMI体系的层次RMI的实现本质上建立在三个抽象层上(如图3)。第一层是存根和骨架层(STUB/SKELETONLAYER也称代理层)它屏蔽了远程引用层和传输层的细节,提供了JAVA应用程序调用远程对象透明接口。存根也就是上面提到的代理。第二层是远程引用层解释和控制客户对远程服务对象的引用。第三层是传输层传输层连接基于TCP/IP协议网络中的机器。它提供基本的连接、管理,远程对象的追踪,还有一些防火墙功能。2RMI代理层提供了JAVA应用程序与RMI系统的接口,STUB是一个远程对象在客户端的代理,当客户调用远程对象方法时,STUB负责把调用的远程对象方法的方法名机器参数编组打包,并将该包向下由远程引用层、传输层转发给远程对象所在的服务器。通过RMI系统的RMI注册表实现的简单服务器名字服务(23中具体说明),可定位远程对象所在的服务器。该包到达服务图2接口定义行为,类则实现行为的分离图客户程序接口服务程序接口RMI系统接口服务4器后,向上经由远程引用层,被远程对象的SKELETON接收。此SKELETON解析客户包中的方法名及编组的参数后,在服务器端执行客户要调用的远程对象方法,然后将该方法的返回值(或产生的异常)打包后通过相反的路线返回给客户端,客户端的STUB将这些返回的结果解析后传递给客户程序。远程引用层定义并提供RMI连接请求的语义。该层提供一个REMOTEREF的对象表示与远层服务实现对象的连接。存根对象使用REMOTEREF中的INVOKE()方法来传送方法的调用。REMOTEREF对象明白对远程服务的请求协议。运输层是在JVM之间建立连接。所有的基于流的网络连接使用TCP/IP。如果两个JVM在配置相同的机器上运行,它们通过它们主机的TCP/IP网络协议栈建立连接。在现行的RMI中,TCP/IP的连接是所有机器间连接的基础。如果运输层需要使用多条TCP/IP连接,而一些网络结构只允许客户和服务之间只有一条TCP/IP连接;运输层采用多种形式增多虚拟的连接,但实质上只有一条TCP/IP连接。23命名远程对象在RMI体系中,有这样一个问题“客户如何使用RMI远程服务”。答案是客户通过一个命名或一个查找服务找到远程服务。不过这好像是一个循环的矛盾。客户如何通过一个服务找到另一个服务事实上是这样的。在默认的主机的端口运行着一个命名或一个查找服务。RMI能使用多种不同的服务,包括JAVA的命名和查找接口(JAVANAMINGANDDIRECTORYINTERFACEJNDI)。RMI自带一个简单的服务,叫作RMI注册处RMIREGISTRY3。RMI注册处,通过默认端口1099,运行在每台计算机上主机提供远程服务,接收服务的询问。启动注册处的命令是STARTRMIREGISTRY。在一台主机上,服务程序首先新建一个实现服务的本地对象,通过这样的办法建立远程服务。然后,将对象输出给RMI。当对象输出,RMI建立一个监听服务,等待客户的连接和请求服务。输出后,服务在RMI注册处注册该对象,使用一个公共名字。在客户端,使用一个静态类NAMING到达RMI注册处。它提供LOOKUP()方法,客户用来询问注册。LOOKUP()方法接收一个URL,该URL说明服务主机和需要服务的名字。该方法返回的是一个远程服务对象引用。URL的格式如下RMI/其中HOSTNAME是指局域网中的可识别的名字或因特网上的一个域名。如果不希指定的服务望在默认端口1099运行,则可以指定NAME_SERVICE参数。24利用RMI实现回调在RMI系统中,当服务器接到任务时(这与工作站不间断地轮询(POLLING),以看看是否有任务派发的方式相对),主动通知工作站并派给任务分的方式,就需要使用回调技术。回调技术通常能实现一种效率较高的系统,因为工作站不需要周期性地检查服务器是否有任务下达相反地,当服务器需要工作站完成任务时,工作站将得到通知。可以向同一个服务器注册(图4)。当任务分配给工作站时,服务器将通知每个已注册的工作站。这意味着服务器维护一个有效的工作站列表,然后把需完成一个子任务的通知并派发它们,还可以有选择地给出某些参数(图5)。5那么如何实现服务器向工作站发出通知某些系统被设计成发送并接收消息,但一个对象怎样把消息发送给另一个对象(从而通知对象事件已经发生)其实对象通过调用方法,时时刻刻在做着这个事情。在面向对象的系统中,通过向对象传递一个指向服务器的对象引用(工作站)实现回调。然后,在适合的事件,服务器将调用工作站的某个方法通知它来完成工作,并允许它将工作结果返回。工作站工作站工作站服务器注册为工作站图4可以向同一个服务器注册为工作站工作站工作站工作站服务器图5为每个已注册的工作站完成子任务的回调通知发出通知读取列表工作站N工作站2工作站16第三章RMI系统的实现技术及运行31创建并运行RMI系统的过程一个能正常工作的RMI系统包括以下几个部分远程服务的定义接口远程服务接口的具体实现存根(STUB)和骨架SKELETON的类文件远程服务的服务主机RMI的命名服务使客户能找到远程服务一个类文件供应器(HTTP或FTP服务器)一个需到这个远程服务的客程序建立一个RMI系统具体步骤如下首先在机器里建立一个新的文件夹,以便放置创建的文件。在调试过程中,STUB和SKELETON的类文件也许要被多次编译,如果将文件事先分在不同的文件夹,可能要多次更新STUB和SKELETON的类文件。所以为了调试简单起见,一开始可以只使用一个文件夹存放客户端和服务端代码,并且在同一个目录下运行服务端和客户端。当然可以在整个系统运行正常后,将文件按客户端、服务器端存放在不同的文件夹。下面是生成系统的步骤1编写和编译接口的JAVA代码2编写和编译接口实现的JAVA代码3从接口实现类中产生存根和骨架类文件4编写远程服务器的主运行程序的JAVA程序代码5开发RMI的客户端程序6安装并运行RMI系统具体步骤和代码如下1定义接口第一步,编写并编译服务接口的JAVA代码。接口PRIMESERVER_INTER定义服务所提供的所有远程的功能。下面是源代码IMPORTJAVAMATHPUBLICINTERFACEPRIMESERVER_INTEREXTENDSJAVARMIREMOTEPUBLICBOOLEANISPRIMALITYINTETHROWSJAVARMIREMOTEEXCEPTION注意,这个接口继承自REMOTE,每一个定义的方法都必须抛出一个REMOTEEXCEPTION异常对象。建立这个文件,把它存放在刚才的目录下,并且编译。2接口的具体实现编写远程服务的实现。这是PRIMESERVER_INTERIMPL类PUBLICCLASSPRIMESERVE_INTERIMPLEXTENDSUNICASTREMOTEOBJECTIMPLEMENTSPRIMESERVER_INTERPUBLICPRIMESERVE_INTERIMPLTHROWSJAVARMIREMOTEEXCEPTION7SUPERPUBLICSYNCHRONIZEDBOOLEANISPRIMALITYINTETHROWSJAVARMIREMOTEEXCEPTION/判断2E1是否是素数的远程方法的具体代码同样的,把这个文件保存在刚才建立的目录里然后编译。这个实现类使用了UNICASTREMOTEOBJECT去联接RMI系统。在例子中,是直接的从UNICASTREMOTEOBJECT这个类上继承的,事实上并不一定要这样做,如果一个类不是从UNICASTRMEOTEOBJECT上继承,那必须使用它的EXPORTOBJECT方法去联接到RMI。如果一个类继承自UNICASTREMOTEOBJECT,那么它必须提供一个构造函数并且声明抛出一个REMOTEEXCEPTION对象。当这个构造函数调用了SUPER,它就激活UNICASTREMOTEOBJECT中的代码完成RMI的连接和远程对象的初始化。3产生存根(STUBS)和骨架SKELETONS使用RMI编译器RMIC4,产生存根STUB和骨架SKELETON文件。这个编译运行在远程服务实现类文件上。使用命令RMICPRIMESERVER_INTERIMPL在运行RMIC后,在目录下,应该可以找到两个文件PRIMESERVER_INTERIMPL_STUBCLASS,PRIMESERVER_INTERIMPL_SKELCLASS。4定义RMI服务器必须有一个服务器进程提供远程RMI服务。PRIMESERVER是一个简单的服务,仅仅提供本质的服务。IMPORTJAVARMINAMINGPUBLICCLASSPRIMESERVERPUBLICSTATICVOIDMAINSTRINGARGSTRYPRIMESERVER_INTERIMPLSNEWPRIMESERVER_INTERIMPLSTRINGREGISTRY“LOCALHOST“IFARGSLENGTH1REGISTRYARGS0STRINGURL“RMI/“REGISTRY“/WORKSTATION_INTER“/形成URLNAMINGREBINDURL,S/注册远程对象SCATCHREMOTEEXCEPTIONRECATCHEXCEPTIONEX5实现RMI客户IMPORTJAVARMIREMOTEEXCEPTIONIMPORTJAVANETMALFORMEDURLEXCEPTIONIMPORTJAVARMINOTBOUNDEXCEPTIONPUBLICCLASSCLIENTSTATICPRIMESERVER_INTERPSERVERPUBLICCLIENTPUBLICSTATICVOIDMAINSTRINGARGSINTE44238TRYSTRINGREGISTRY“LOCALHOST“IFARGSLENGTH1REGISTRYARGS0STRINGURL“RMI/“REGISTRY“/PRIMESERVER“PSERVERPRIMESERVER_INTERNAMINGLOOKUPURL/通过远程接口实例PSERVER调用远程对象方法IFPSERVERISPRIMALITYESYSTEMOUTPRINTLN“2“E“1ISAPROBABLYPRIME“ELSESYSTEMOUTPRINTLN“2“E“1ISNOTAPRIME“CATCHNOTBOUNDEXCEPTIONNBECATCHREMOTEEXCEPTIONRECATCHEXCEPTIONEX6运行RMI系统需要开启三个控制台窗口客户,服务器,RMI注册处。先开始启动注册处。必须在包含刚写的类的那么目录下运行这个注册程序。输入命令STARTRMIREGISTRY在第二个控制台里,启动服务器CALCULATORSERVICEJAVAPRIMESERVER这个服务器就开始工作了,把接口的实现加载到内存等待客户端的联接。最后的操作是启动客户程序JAVACLIENT即使运行在同一个计算机上,RMI还是使用了网络堆栈和TCP/IP去进行通讯,并且是运行在三个不同的JAVA虚拟机上。这已经是一个完整的RMI系统。32RMI回调的实现技术在理论上,RMI回调技术听起来很复杂,但是实践起来却相当简单,只需要一点点额外的代码。下面的例子是在31代码的基础上利用RMI实现了回调具体接口的实现详见第四章。1)定义服务器的接口服务器必须为未注册的工作站提供注册的功能,为已注册的工作站从注册表中删除的功能。无论是注册还是删除的操作,工作站都可以根据自己的具体状态(是否是工作状态),主动将自己从注册表中注册或删除。当然,服务器也可以将不能正常工作的工作站从注册表中删除。在这里有两个队列,第一个队列表示已注册的工作站但未被分配工作;第二个队列表示工作站正在工作,这个队列告诉服务器现在无法分配工作给该队列中的工作站。当一个工作站注册成功后,就加入第一个队列中;当有任务被分配时,工作站就从第一个队列中删除,加入到第二个队列中;完成任务后,如果该工作站还能继续工作就再次加入第一个队列,等待下一个子任务。这两个队列都提供工作站加入和删除的方法。当然服务器也要向客户机提供一个完成大工作量任务的远程方法。PUBLICINTERFACEPRIMESERVER_INTEREXTENDSJAVARMIREMOTE9/服务器向工作站提供的远程方法/PUBLICBOOLEANADDWORKSTATIONWORKSTATION_INTERWORKSTATIONTHROWSJAVARMIREMOTEEXCEPTION/由工作站调用ADDWORKSTATION()方法。当一个工作站自愿加入第一个队列,就主动调用该方法将自己加入。/PUBLICVOIDREMOVEWORKSTATIONWORKSTATION_INTERWORKSTATIONTHROWSJAVARMIREMOTEEXCEPTION/当某个工作站有任务时,就由服务器将这个工作站从第一个队列中移走,接着用下一个方法ADDTOBUSYLIST加入第二个队列。/PUBLICVOIDADDTOBUSYLISTWORKSTATION_INTERWORKSTATIONTHROWSJAVARMIREMOTEEXCEPTIONPUBLICVOIDREMOVEFROMBUSYTESTERLISTWORKSTATION_INTERWORKSTATIONTHROWSJAVARMIREMOTEEXCEPTION/当某个工作站完成任务时,就由自己主动将从第二个队列中移走,接着用方法ADDWORKSTATION()再次加入第一个队列。/服务器向客户机提供的远程方法。/2)定义工作站的接口工作站只要向服务器提供的远程方法,而且工作站的接口只定义一个方法。PUBLICINTERFACEWORKSTATION_INTEREXTENDSJAVARMIREMOTEPUBLICINTRABIN_MILLERINTETHROWSJAVARMIREMOTEEXCEPTION服务器调用该方法,将子任务分配给工作站,从而实现回调。当工作站执行该方法,表示对服务器派发的一个子任务(也可以认为时子线程,而主线程在服务器中执行)的执行,并将执行的结果返回给服务器。10第四章基于RMI的分布式计算应用实例大数的素性检测41设计思想411大数的素性检测的算法公开密钥算法需要素数,任何合理规模的网络也需要这样的素数。比如数字签名能够实现数据的公开、公正、不可伪造和不可抵赖等特性,是数据在公开信道中传输的安全保障。DSA(DIGITALSIGNATUREALGORITHM,数字签名算法,用作数字签名标准的一部分),它是一种公开密钥算法。DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一。DSA签名算法中用到了一个参数P。P是L位长的素数,其中L从512到1024且是64的倍。因此如何快速地对一个“大数”的素性检测是一个值得探讨的问题。快速地对一个“大数”的素性检测首先要选择适合的算法。对于计算机来说,问题“N是素数吗”比复杂点的问题“N的因子是什么”更容易计算。所以,假如有一个随机数,如果试着分解它从而找到素数,这种方法十分复杂又费时间;但如果计算机使用基于概率测试来确定是否是素数,比如经典的测试算法有SOLOVAGSTRASSEN,LEHMANN,RABIN_MILLER算法,那么要比分解因子的方法大大减少计算时间。一般使用可信度来测试一个数是否是素数。假如该“可信度”有足够大,那么这类测试就很可靠。假定一个测试的失败概率设置为250分之一,这意味着有1015分之一的几率可能是合数从而错误地判定为素数(该测试永远不会将素数错判为合数)。如果为了某些原因,需要更多的可信度来确认一个数是素数,那么可以将错判的概率设定的更低。下面是有关素数测试的RABIN_MILLER算法5和分析首先一个待测的随机数P,计算B,B是2整除P1的次数(即,2B是能整除P1的2的最大幂数)。然后计算M,使得N12BM。1选择一个小于P随机数A。2设J0且ZAMMODP。3如果Z1或ZP1,那么P通过测试,可能是素数4如果J0且Z1,那么P不是素数。5设JJ1。如果J0,说明WN个子线程没有有效返回值,还需再次计算/WHILEIFISPRIMERETURNFALSEELSERETURNTRUE3工作站。工作站接口的实现就是RABIN_MILLER算法的实现,而主函数只要在服务器上注册成功即可。15第五章分析总结与展望在WINDOWS2000下安装JDK131_09的、硬件配置相同的(PENTIUMIV24G,250MB)PC机组成的局域网上进行测试的结果如表1所示,每次测试产生30个子线程。单机计算指所有工作站使用相同的IP地址的情形。表1测试结果(单位毫秒)分布式计算测试的大数大数的位数判断结果单机计算3台工作站5台工作站10台工作站25211156位是素数45317212594222031663位是素数151875031301615312442311331位是素数11589138297232191162521121313375位是素数1747313581438349516174735222021662位不是素数51651651651621121213375位不是素数58609582345828158000从测试结果分析,随着工作站数量增加,整个测试的时间按比例减少。但由于网络通讯也需要占用时间,特别是当测试的数不是很大时,网络通讯所用的时间占整个测试的比例就比较大,时间并没有按希望地成比例减少。比如25211的计算,10台工作站的测试时间并没有单机计算时间的十分之一;但2112131,10台工作站的测试时间就大约时单机计算时间的十分之一。所以,测试的数越大,分布式计算的效果越明显。进一步工作可以研究工作站的工作效率问题。比如有些工作站在工作时,明显要比一般工作时间要长,现象是有的工作站已经完成二三个子线程而有的却还没有结果。这种现象有很多原因工作站本身硬件配置,运行的应用软件甚至死循环,死机等等。这样情况,如果在服务器中增加每个工作站的日志,通过对日志的分析在下一次分配任务的时候,平时工作状态好的工作站享有优先分配权。常常需要使用工作站群进行大工作量的科学计算,而这个群体是志愿者模式中可采用这种方案。当然,在分布式计算中,还有工作站的数量,状态、计算能力是动态地变换的问题,如何解决这些问题都需要进一步研究、探讨。16参考文献1DAVIDREILLY,MICHAELREILLY著,沈凤等译,JAVA网络编程与分布式计算,北京机械工业出版社,20032682702SUNCORPORATIONJAVAREMOTEMETHODINVOCATIONRMI,HTTP/WWWJAVASOFTCOM/PRODUCTS/JDK/RMI3SUNCORPORATIONRMIREGISTRYTHEJAVAREMOTEOBJECTREGISTRY,HTTP/JAVASUNCOM/J2SE/14/DOCS/TOOLDOCS/WINDOWS/RMIREGISTRYHTML4SUNCORPORATIONRMICTHEJAVARMICOMPILER,HTTP/JAVASUNCOM/J2SE/14/DOCS/TOOLDOCS/WINDOWS/RMICHTML5BRUCESCHEIER著,吴世忠等译,应用密码学。机械工业出版社,2000181183641STKNOWNMERSENNEPRIMEFOUNDHTTP/WWWMERSENNEORG/PRIMEHTM7TAKAGIH,MATSUOKS,NAKADAHNINFLETAMIGRATABLEPARALLELOBJECTSFRAMEWORKUSINGJAVAM8徐建波等,一种面向应用的分布式计算新方法J,计算机工程与应用,2002年第38卷第4期。9陶永祥等,基于JAVA的多层分布式应用结构J,计算机工程与应用,2001年第37卷第19期。17本科毕业设计(论文)管理暂行规定毕业设计(论文)是本科人才培养的重要实践性教学环节,也是学士学位评定的重要依据。为了切实做好我校的毕业设计(论文)工作,规范毕业设计(论文)工作的管理,提高毕业设计(论文)的质量,特制定本规定。一、毕业设计(论文)的主要目的(一)培养学生运用所学知识独立地分析和解决本专业范围内一般问题的能力,培养学生的创新意识和实践能力,使学生从事学术研究的能力得到初步的训练;(二)培养学生理论联系实际的工作作风和严谨认真的科学态度;(三)培养学生分析设计能力、研究实验能力、工程实践能力、经济分析能力、外文阅读能力和计算机的运用能力,以及社会调查、文献资料查阅和论文写作能力。二、毕业设计(论文)的基本要求(一)按照各专业“毕业设计(论文)教学大纲”的要求进行;(二)要具有学术性,要对自然科学或社会科学内某一领域进行专门、系统的研究,并表达其研究成果;(三)要具有创见性,要对学术或工程的某个问题有新的发现、新的构想或新的发展和完善;(四)要具有科学性,要求论述系统而完整,首尾一贯而不前后矛盾,实事求是而不主观臆造;(五)要具应用性,要能解决生产实际问题,在技术改造、生产管理等通过方面有所创造;(六)应做到观点正确、论据充分、推理严密、计算准确,层次分明、条理清楚、语言精炼,有必要的图表和相关资料等;(七)应参阅一定数量的外文资料,并要求在毕业设计(论文)中反映出来。三、毕业设计(论文)的工作程序毕业设计(论文)工作程序分为选题、开题、撰写论文或设计、中期检查、答辩、归档等环节。四、毕业设计(论文)的时间安排毕业设计(论文)工作时间为812周,时间安排应按18本科生毕业设计(论文)工作流程执行,集中用于毕业设计(论文)的时间不得少于专业培养计划规定的周数。五、毕业设计(论文)的领导与管理全校毕业设计(论文)在分管教学副校长领导下进行,分级管理,层层负责。(一)教务处毕业设计(论文)管理工作职责1、汇总各院(部)毕业设计(论文)题目和指导教师安排,协调有关问题;2、做好毕业设计(论文)前期、中期、后期检查工作,对未达到各阶段进度、质量要求或违反有关规定的院(部)提出整改要求;3、开展学校毕业设计(论文)工作评估和研究工作。(二)院(部)毕业设计(论文)管理工作职责各院(部)成立毕业设计(论文)工作领导小组,确定毕业设计(论文)指导教师,布置毕业设计(论文)工作任务,检查本院(部)毕业设计(论文)工作落实情况。院(部)毕业设计(论文)管理工作职责为1、审查毕业设计(论文)选题、下达任务书,安排指导教师,布置毕业设计(论文)有关工作;2、定期检查毕业设计(论文)工作进展情况,协调处理毕业设计(论文)中的有关问题,督促检查指导教师的工作;3、对学生毕业设计(论文)按规范化要求进行形式审查,组织毕业设计(论文)答辩和成绩评定工作。对答辩小组提出的优秀的毕业设计(论文)及评阅答辩中有争议的毕业设计(论文),组织答辩委员会进行复议,最终确定成绩;4、按学校有关要求,保存与毕业设计(论文)有关的电子和纸质文档;5、做好本院(部)学生毕业设计(论文)总结与评估工作。(三)毕业设计(论文)指导教师职责1、指导学生选题,拟定任务书,安排学生做开题报告,编写指导方案,制定计划和工作程序;2、对学生提出具体要求,指定主要参考资料和社会调查内容,规定学生应完成的查阅中外文资料、文献综述、开19题报告、各项实验数据、计算工作(包括上机)、设计(论文)等;3、采取多种方式检查学生的工作进度和工作质量,及时解答和处理学生提出的有关问题,并认真填写毕业设计(论文)指导记录表;4、做好学生外文翻译的评阅工作,指导学生按规范要求正确撰写毕业设计(论文);5、在学生答辩前对毕业设计(论文)(包括设计说明书、计算资料、实验报告、图纸或论文等)进行审查,认真填写毕业设计(论文)评语,指导学生参加答辩;6、根据院(部)安排参加答辩工作。(四)学生在毕业设计(论文)过程中必须做到1、重视毕业设计(论文)过程,明确各环节目的、意义和要求,虚心接受指导教师和实验技术人员的指导,保质保量地完成毕业设计(论文);2、独立完成规定的工作任务,不弄虚作假,不抄袭、剽窃他人成果;3、认真填写本科毕业设计(论文)研究过程记录表;4、毕业设计(论文)成果、资料应于答辩结束后及时交指导教师收存,凡涉及到国家机密、知识产权、技术专利、商业利益的成果未经院(部)许可,学生不得擅自带离学校。六、毕业设计(论文)的选题与开题(一)选题原则1、原则上一生一题,当一个课题比较大时,可以分成几个小课题,每个学生完成一个小课题时必须保证其主要部分为独立进行的工作,使每个学生都受到较全面的训练;2、选题应体现本专业的培养目标,达到毕业设计(论文)大纲的教学要求;3、选题应特别注意有利于学生综合应用所学知识,有利于学生能力的培养,并能保证各专业所应当具有的基本技能的训练;4、选题应与社会、生产、教学、科研等实际相结合。理工科毕业设计(论文)的选题应注重在具有实际应用前景、具有创新构思的课题中选取,鼓励理工科学生进行毕业设20计,其中,工科毕业设计所占比例应不少于80;文科及经管类的选题需注重分析解决当前经济改革、社会现实生活和理论研究中的热点、难点、焦点问题;。毕业设计论文在实验、实习、工程实践和社会调查等社会实践中完成的比例要在50以上。5、选题难度和工作量要适当,使学生能在规定的时间内完成任务;6、选题要有一定层次区分,有利于各类学生提高水平,鼓励学生有所创新;7、各专业的选题数须多于本专业当届的毕业生数。每学年选题应适当更新,不同届选题重复率须控制在20以内;8、各专业选题须经院(部)严格审查并报教务处备案。(二)选题、开题程序1、指导教师提出的毕业设计(论文)课题须经院(部)审查后向学生公布,通过师生双向选择或经协商分配,确定学生毕业设计(论文)题目及指导教师。选题和指导教师一经确定,不得随意更改;2、各院(部)应不迟于第七学期第十四周结束前完成选题工作,毕业设计(论文)任务书不迟于第七学期第十五周前下达给学生,院(部)应将毕业设计(论文)选题汇总表于第七学期第十六周结束前报教务处;3、毕业设计(论文)开题工作应在第七学期结束前完成,包括文献调研、文献综述、开题报告等,院(部)应根据本院(部)毕业设计(论文)工作的具体计划,安排学生在指导小组范围内作开题报告;七、毕业设计(论文)任务书(一)毕业设计(论文)任务书是学生进行毕业设计(论文)的指导性文件,每个学生都必须有自己的任务书;(二)任务书的内容包括设计(论文)研究的背景和依据、任务和基本要求、进程安排等;(三)任务书由指导教师填写,交教研室审查,经院(部)批准后方可实施;(四)毕业设计(论文)结束后,任务书要与毕业设计(论文)一起送交院(部)保存。八、毕业设计(论文)指导教师配备21(一)毕业设计(论文)指导教师应由具有中职及以上专业技术职务的教师或工程技术人员担任,助教等初级职称人员不能单独指导毕业设计(论文),但可根据需要安排协助指导教师的工作。指导教师名单由院(部)毕业设计(论文)工作领导小组审定后,报教务处备案;(二)指导毕业设计(论文)期间,指导教师必须坚守岗位,各院(部)要严格控制指导教师出差。确因工作需要出差的,须经院(部)分管教学副院长批准,并委派水平相当的教师代理指导;(三)对于在校外进行毕业设计(论文)的学生,院(部)可聘请相当于中级专业技术职务及以上的工程技术人员或研究人员担任指导教师,但院(部)必须指定专人进行检查,掌握进度,保证质量,协调解决有关问题;(四)每位指导教师指导的学生数原则上不超过8人,科研、教研能力突出的高级职称教师或具有博士学位人员可适当增加指导人数(最高不超过10人)。指导教师对每个学生的指导每个环节不得少于1次,总计不得少于3次。九、设计(论文)的撰写1、毕业设计(论文)的撰写按“本科毕业设计(论文)撰写规范”执行;2、设计(论文)正文字数文科(除外语类)10000字以上,理工科及外语、艺术类6000字以上;3、所有设计(论文)应按规定格式打印1份,学生所在院(部)留存。另外应将电子版报送教务处。十、毕业设计(论文)答辩及成绩评定(一)毕业设计(论文)完成后必须进行答辩。对通过毕业设计(论文)答辩并达到毕业基本要求的学生方可发给毕业证书。各专业成立答辩小组,具体负责本专业毕业设计(论文)答辩和成绩评定。各院(部)成立答辩委员会,对答辩小组提出的优秀的毕业设计(论文)及评阅答辩中有争议的毕业设计(论文)进行审查、复议,最终确定成绩。答辩工作原则上不聘请校外专家参加,如确因课题需要,必须聘请校外人员参加时,须经院(部)批准;(二)毕业设计(论文)答辩按“本科毕业设计(论文)答辩程序和实施办法”规定程序进行;22(三)毕业设计(论文)的成绩评定,采用五级记分制,即优、良、中、及格和不及格,具体评分标准按照“本科毕业设计(论文)量化评分参考标准”执行。要求优秀与良好比例之和控制在70以内,优秀率在15左右(最多不超过20)。其中优秀、不及格等级须写出具体理由,其余等级须写出简要评语;(四)凡毕业设计(论文)成绩不及格者,按结业处理。十一、毕业设计(论文)工作所需的经费(含开题费、实验费、答辩费、指导教师课时津贴等)由学校按各院(部)毕业生每人350元,统一发放至各院(部),由各院(部)制订分配细则。十二、本规定自公布之日起执行,由教务处负责解释。附件1本科毕业设计(论文)撰写规范附件2本科毕业设计(论文)量化评分参考标准附件3本科毕业设计(论文)答辩程序和实施办法附件4本科毕业设计(论文)工作评估办法二七年十一月十三日23附件1本科生毕业论文撰写规范为进一步规范本科生毕业论文的撰写工作,提高论文撰写质量,加强论文的管理工作,特制定本规范。1论文结构及写作要求论文(设计说明书)应包括封面,目录,中文题目、中文摘要与关键词、英文题目、英文摘要与关键词,正文,注释,参考文献,致谢,附录(可选)等部分。11目录目录独立成页,包括论文中全部章、节的标题及页码。12题目题目应该简短、明确、有概括性。论文题目一般中文字数不超过25个字,外文题目不超过15个实词,不使用标点符号,中外文题名应一致。标题中尽量不用英文缩写词,必须采用时,应使用本行业通用缩写词。13摘要与关键词131摘要摘要是对论文(设计说明书)内容不加注释和评论的简短陈述,要求扼要说明研究工作的目的、主要材料和方法、研究结果、结论、科学意义或应用价值等,是一篇具有独立性和完整性的短文。摘要中不宜使用公式、图表以及非公知公用的符号和术语,不标注引用文献编号。中文摘要一般为200字左右。132关键词关键词是供检索用的主题词条,应采用能覆盖论文主要内容的通用技术词条(参照相应的技术术语标准),一般列38个,按词条的外延层次从大到小排列。中英文关键词应一一对应。14论文正文论文正文部分包括绪论(或前言、序言)、论文主体及结论。绪论是说明论文工作的选题目的和意义,国内外文献24综述以及论文所要研究的内容。论文主体是论文的主要组成部分。要求层次清楚,文字简练,通顺,重点突出。结论是整个论文的总结,应做到重点突出,言简意赅。正文字数原则上文科(除外语)不少于10000字,理工科及外语、艺术类不少于6000字。15注释论文中有名词或情况需要解释,或者引用他人的观点及原话、主要数据等必须加注说明,注明出处。16参考文献参考文献反映论文的取材来源、材料的广博程度。列出的只限于那些作者亲自阅读过的,最重要的且发表在公开出版物上的文献或网上下载的资料。参考文献不少于10篇,其中外文文献不少于2篇。17附录如有不宜放在正文中但有重要参考价值的内容(如公式的推导、程序流程图、图纸、数据表格等)可编入论文的附录中。18致谢向给予指导、合作、支持及协助完成研究工作的单位、组织或个人致谢,内容应简洁明了、实事求是,避免俗套。2书写及打印要求21论文书写论文(设计说明书)要求统一使用MICROSOFTWORD软件进行文字处理,统一采用A4页面(210297)复印纸打印,版芯尺寸页边距为上28CM,下25CM,左25CM,右25CM;字间距为标准,单倍行距。页眉宋体、五号,居中排列;页眉内容为本科毕业论文;页码在页下居中放置,用五号字体。论文封面和目录不编页码,页码从目录后开始编排。页码用阿拉伯数字(1、2)编排。论文文字错漏率不能大于万分之五。22目录目录应包括论文中全部章节的标题及页码,含摘要与25关键词(中、外文)、正文章、节题目(可视论文需要进行,编写到23级标题)、参考文献、附录、致谢等。目录题头用四号黑体字居中排写,隔行书写目录内容。目录中各章节题序及标题用五号宋体。23摘要与关键词中、外文摘要与关键词单独成页置于目录后,编排上中文在前,外文在后。摘要、关键词题头均用小四号黑体字排写,内容文字用五号宋体字,英文用TIMESNEWROMAN。关键词各词条间用分号“;”隔开。24论文正文241章节及各章标题章节标题应突出重点、简明扼要,字数一般在15字以内,不使用标点符号。标题中尽量不采用英文缩写词,对必须采用者,应使用本行业的通用缩写词。正文除章节条款的标题外均用五号宋体。242层次层次根据实际需要选择,以少为宜。各层次标题不得置于页面的最后一行(孤行)。层次代号格式要求参照表21和表22。表21自然科学类论文层次代号及说明章1顶格,小三号黑体节11顶格,四号黑体条111顶格,小四号黑体(1)顶格,五号黑体款首行空两格,五号宋体项顶格,五号宋体26首行空两格,五号宋体表22社会科学类论文层次代号及说明章一、顶格,小三号黑体节(一)顶格,四号黑体1顶格,小四号黑体条空两格,五号宋体(正文)(1)顶格,五号黑体款空两格,五号宋体(正文)顶格,五号宋体项首行空两格,五号宋体(正文)25注释与参考文献注释一律采用尾注。正文中应按顺序在需要注释处的文字右上角用标明,中序号应与“注释”中序号一致,具体标注格式如下著作图书类文献序号作者书名版次出版地出版者,出版年引用部分起止页27翻译图书类文献序号作者书名译者版次出版地出版者,出版年引用部分起止页学术刊物类文献序号作者文章名学术刊物名,年,卷(期)引用部分起止页学术会议类文献序号作者题名见编者,文集名,会议名称,会议地址,年份出版地出版者,出版年引用部分起止页学位论文类文献序号学生姓名学位论文题目学校及学位论文级别答辩年份引用部分起止页报纸文献序号作者文章名报纸名,出版日期(版次)在线文献序号作者文章名电子文献的出处或可获得地址,发表或更新日期/引用日期(任选)正文之后一般应刊出主要参考文献。列出的只限于那些作者亲自阅读过的,最重要的且发表在公开出版物上的文献或网上下载的资料。以下为社会科学类论文参考文献的标注格式著作图书类文献序号作者书名版次出版地出版者,出版年翻译图书类文献序号作者书名译者版次出版地出版者,出版年学术刊物类文献序号作者文章名学术刊物名,年,卷(期)学术会议类文献序号作者题名见编者,文集名,会议名称,会议地址,年份出版地出版者,出版年学位论文类文献序号学生姓名学位论文题目学校及学位论文级别答辩年份报纸文献序号作者文章名报纸名,出版日期(版次)在线文献序号作者文章名电子文献的出处或可获得地址,发表或更新日期/引用日期(任选)自然科学类论文可不要注释,参考文献标注格式与社会科学类论文注释格式相同。26公式原则上居中书写。若公式前有文字(如“解”、“假定”等),文字顶格书写,公式仍居中写。公式末不加标点。28公式序号按章编排,并在公式后靠页面右边线标注,如第1章第一个公式序号为“(11)”,附录2中的第一个公式为“(1)”等。文中引用公式时,一般用“见式(11)”或“由公式(11)”。公式较长时在等号“”或运算符号“、”处转行,转行时运算符号书写于转行式前,不重复书写。公式中应注意分数线的长短(主、副分线严格区分),长分线与等号对齐。27插表表格一般采取三线制,不加左、右边线,上、下底为粗实线(1磅),中间为细实线(075磅)。比较复杂的表格,可适当增加横线和竖线。表序按章编排,如第1章第一个插表序号为“表11”等。表序与表名之间空一格,表名不允许使用标点符号。表序与表名置于表上,居中排写,采用楷体小五号字。表头设计应简单明了,尽量不用斜线。表头中可采用化学符号或物理量符号。全表如用同一单位,将单位符号移到表头右上角,加圆括号。表中数据应正确无误,书写清楚。数字空缺的格内加“”字线(占2个数字宽度)。表内文字和数字上、下或左、右相同时,不允许用“”、“同上”之类的写法,可采用通栏处理方式。社会科学类论文插表在表下一般根据需要可增列补充材料、注解、资料来源、某些指标的计算方法等。补充材料中中文文字用楷体小五号字,外文及数字用TIMESNEWROMAN体小五号字。28插图插图应符合国家标准及专业标准,与文字紧密配合,文图相符,技术内容正确。281图题及图中说明图题由图号和图名组成。图号按章编排,如第1章第一图图号为“图11”等。图题置于图下,图注或其他说明时应置于图与图题之间。图名在图号之后空一格排写,图题用黑体小五号字。引用图应说明出处,在图题右上角加引用文献编号。图中若有分图时,分图号用A、B标识并置于分图之下。图中各部分说明应采用中文(引用的外文图除外)或数字项号,各项文字说明置于图题之上(有分29图题者,置于分图题之上),采用楷体小五号字。282插图编排插图与其图题为一个整体,不得拆开排写于两页。插图应编排在正文提及之后,插图处的该页空白不够时,则可将其后文字部分提前排写,将图移到次页最前面。29附录附录序号采用“附录1”、“附录2”或“附录一”、“附录二”等,用四号黑体字左起顶格排写,其后不加标点符号,空一行书写附录内容。附录内容文字字体字号参照正文要求。3毕业论文装订顺序(1)封面(2)目录(3)中文题目、中文摘要及关键词、英文题目、英文摘要及关键词(4)正文(5)注释(6)参考文献(7)附录(可选)(8)致谢(9)封底自然科学类论文可不要注释,参考文献标注方式与社会科学类论文注释格式相同。4毕业论文资料存档要求各院(部)须对本单位毕业论文资料统一用专门档案盒(袋)存档,论文资料为毕业论文材料册一份及装订好的论文正本一份。材料册的装订顺序为(1)任务书(2)开题报告(3)指导教师评阅表(4)专家评阅书(5)答辩情况记载表(6)成绩评定表(7)研究过程记录表(8)指导记录表注院部可根据本规范化,结合学科专业特点制定细则并报教务处备案30本科毕业生毕业设计撰写规范为进一步规范本科生毕业设计的撰写工作,提高设计撰写质量,加强设计的管理工作,特制定本规范。毕业设计的内容一份完整的毕业设计应包括以下几个方面11标题标题应简短、明确,具有概括性。标题字数要适当,不宜超过25个字。如确因表达需要而字数过多又无法删减的,可以分成主标题和副标题。12目录目录按三级标题编写(即1、11、111),要求标题层次清晰。目录中的标题应与正文中的标题一致。13摘要摘要应以浓缩的形式概括研究课题的内容,中文摘要应在300字左右,外文摘要为中文摘要翻译件。14设计总说明设计总说明主要介绍设计任务来源、设计标准、设计原则及主要技术资料,中文字数应控制在1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南开封市杞县消防救援大队政府专职消防员招聘10人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025汾西矿业井下岗位高校毕业生招聘350人(山西)模拟试卷附答案详解(突破训练)
- 2025年度哈尔滨“丁香人才周”(春季)延寿县事业单位引才招聘模拟试卷及答案详解(典优)
- 2025茶叶种植采购的合同
- 2025广东佛山市顺德区乐从第一实验学校临聘教师招聘考前自测高频考点模拟试题带答案详解
- 2025年江西中医药大学高层次人才招聘116人考前自测高频考点模拟试题含答案详解
- 2025湖南雪峰山高铁索道有限责任公司招聘模拟试卷及答案详解(名校卷)
- 2025河北保定幼儿师范高等专科学校选聘教师模拟试卷及参考答案详解
- 历史化学考试题库及答案
- 25秋新人教版英语七年级上册 Unit 6 A Day in the Life Section B 同步练习(含答案)
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- 烘焙与甜点制作
- T-CRHA 028-2023 成人住院患者静脉血栓栓塞症风险评估技术
- 线路光缆施工方案
- 弹塑性力学讲稿课件
- 心怀国防梦争做好少年中小学生国防教育日主题班会课件
- 《运动的快慢》速度、平均速度与瞬时速度课件
- 地基事故案例分析
- 2023淘宝村研究报告
- 国家开放大学《财政与金融(农)》形考任务1-4参考答案
- 隧道钻爆法掘进施工安全操作规程
评论
0/150
提交评论