免费预览已结束,剩余44页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要江西师范大学软件学院毕业论文姓 名:学 号:学 院:软 件 学 院专 业:软 件 工 程结束时间:2010年03月 指导老师:题 目:基于mvc模式的毕业设计双向选题系统学生、管理员模块的设计与实现topic: the graduation design of two-way selection system based on mvc pattern the design and implementation of students and administrator module摘要摘 要在当前高校毕业设计中,选题是设计工作的龙头,也是是毕业设计质量的起点。选题一般经历了由学校分派、教师单向选择学生到师生双向选择的过程。双向选题要求充分尊重学生的个人选题意见和老师的意见 ,尽量满足合理的科学的选题要求 ,体现了科学性和人性化的理念。毕业设计双向选题系统就是为了实现学生教师双向选题而开发的,可以将繁琐的毕业设计命题选择的过程简化。毕业设计双向选题系统采用mvc模式开发,开发过程中使用了jsp、ajax等网页开发技术,结合javascript、css脚本语言,采用struts2开发框架,在myecilpse平台上开发,测试服务器为tomcat,数据库系统为sql server2000 。该系统主要实现了教师出题、领导审题、学生选题、教师再选学生、管理员发布最终选题结果的双向选题功能。本文围绕毕业设计双向选题系统的项目实施,详细地阐述了该系统所涉及的领域知识。从系统的设计模式、建模工具、开发工具、开发技术等方面对系统的相关技术信息进行了描述,并将系统与同类开发产品进行了比较。本文还从总体需求、业务分析等方面对系统进行了详细的分析,在系统体系结构、数据库介绍、uml类图、数据库表设计等方面对系统进行了详尽的设计。对系统模块实现进行了细致的描述,包括javabean设计、页面设计思想、运行效果等。最后总结了项目开发的体会。关键字:毕业设计双向选题系统、模型视图控制器、统一建模语言、ajaxivabstractabstractin current college graduation design, the selection of topics is the bibcock of design work and also is the quality of graduation design.it generally experienced by the school assignment, the teachers one-way choice and the teachers and students two-way choice. two-way selection of topics demands the respect of students and teachers views.it tries to meet the science selection demands of topics and embodies scientific and humanistic ideas. the graduation design of two-way selection system is used to realize two-way selection of students and teachers.it could choose trival graduation design process simplification. the graduation design of two-way selection system is designed by mvc pattern development.the development process used the jsp, ajax of web development technologies,it combined with javascript and css, used struts2 development framework.it was designed in myecilpse platform and tested in tomcat, server2000. this system mainly realizes the creating of topics by the teachers,the audit of topics by the leaders,the choosing of topics by the students, the choosing of students by the teachers and the releasing of final results by the administrators of the two-way selection function.this paper is based on the project of graduation design system, and it expounds the system of domain knowledge.it describes the relevant technical information of the graduation design system from design patterns, modeling tools, development tools and developing technologies,it also compares the system with the similar product. this paper analyzed the system from aspects of overall demand and business analysis.it also analyzed the system in the aspects of system structure, database, uml class diagram and the database table design. it realizes the system module, including javabean meticulous design, web design ideas, operation results, etc.finally, it summarizes the experience of project development key words: graduation design of two-way selection system, model-view-controller, unified modeling language, ajax目 录目 录第一章 绪论11.1 毕业设计双向选题系统简介11.2 毕业设计双向选题系统的背景11.3 本人所做的主要工作11.4 本文的组织结构2第二章 系统相关技术介绍32.1 设计模式简介32.2 建模工具简介32.2.1 microsoft viso介绍32.2.2 uml介绍32.3 开发工具简介42.3.1 myeclipse介绍42.3.2 tomcat介绍42.3.3 dreamweaver介绍52.3.4 sql server概述52.4 开发技术简介62.4.1 java介绍62.4.2 struts2介绍72.4.3 javascript介绍72.4.4 ajax介绍72.4.5 jfreechart介绍82.4.6 jxl介绍82.4.7 jsp介绍82.5 与同类开发技术的比较9第三章 系统分析113.1 系统总体需求113.1.1 功能分析113.1.2 用例分析123.2 系统业务分析13第四章 系统设计164.1 系统体系结构164.2 系统数据库164.3 系统uml类图164.4 系统数据库表设计17第五章 系统模块实现255.1 数据库连接javabean255.1.1 javabean介绍255.1.2 javabean应用255.2 公用代码275.3 学生模块页面代码实现275.3.1 选题查询代码275.3.2 学生选题代码285.4 管理员模块页面代码实现305.4.1 添加用户代码305.4.2 信息提示页面代码345.4.3 用户统计代码355.4.4 批量导入用户数据代码37第六章 结束语406.1 个人总结406.2 系统总结40参考文献42致 谢43第一章 绪论第一章 绪论1.1 毕业设计双向选题系统简介毕业设计是专业人才培养计划中的一个重要组成部分 ,是培养学生综合运用所学的基础知识、基础理论和基本技能 ,分析解决工程实际问题和初步科学研究能力的一个重要环节,是大学生走向社会前的一次练兵 ,也是在校期间一次系统全面的训练。努力提高高等学校毕业设计的质量是一项重要任务。选题是毕业设计工作的龙头 ,选题质量是毕业设计质量的起点。科学的选题方式本身也极为重要 ,它直接关系到毕业设计的质量 。一般高校 ,毕业设计选题方式 ,经历了由管理人员任意指定、老师单向选择到师生双向选择的发展过程。管理人员任意指定课题 ,体现的是一种以管理者为主导的意识 ;教师单向选择则体现的是以教师为主导的意识 ;而教师学生双向选题 ,则体现了“以教师为本 ,以学生为中心”的新理念。很显然 ,双向选题更符合现代教育观念 ,更能发挥学生和教师的主观能动性。双向选题要求充分尊重学生的个人选题意见 ,尽量满足合理的科学的选题要求 ,体现了科学性和人性化的理念。事实上 ,毕业设计选题应该是教师和学生共同完成的一项重要工作。1.2 毕业设计双向选题系统的背景随着学分制的推行 ,双向选题显得更为重要。现在 ,同一个专业的学生学过的课程可以有较大差别 ,将来从事的工作性质可能大相径庭 ,个性更是不同。如何既能结合课题特点 ,又能结合学生的兴趣爱好、他们即将从事的工作以及所学的专业知识等确定一个最佳的搭配 ,是相当复杂繁琐的过程。以往双向选择的操作方法 ,主要根据一些简单信息如软件、硬件、理论、实践等课题性质 ,完全由人工来确定。但是当人数达到一定规模 ,并增加了有关课题、教师、学生等各方面的信息时 ,这样的复杂工作就很难完全由人工来完成。目前计算机选课系统、计算机信息管理系统正在普及 ,然而针对毕业设计双向选题的软件笔者至今尚未见报道。显然 ,开发一套双向选题程序 ,迫在眉睫。设计基于网络的选题系统 ,通过 web进行双向选题 ,更是顺应了时代的发展。1.3 本人所做的主要工作在整个项目设计过程中,本人主要负责前期的项目调研,然后进行需求分析的编写以及数据库设计,并负责整个系统页面框架的美化工作。本系统主要分成四个用户模块:学生、教师、学院领导、系统管理员,本人负责其中的学生、系统管理员用户模块的设计及编写。1.4 本文的组织结构第一章是绪论,主要介绍了系统的内容、背景、本人所做工作、本文的组织结构等。第二章介绍了系统相关技术,包括系统设计模式、建模工具、开发工具、开发技术、与同类开发技术的比较等。第三章主要从系统总体需求、系统业务分析等方面对系统进行了详细地分析。第四章是系统设计,从系统体系结构、系统数据库、系统uml类图、系统数据库表几个方面描述了整个系统的设计结构。第五章介绍系统的实现过程,主要从数据库连接javabean、公用代码、页面代码等方面阐述了系统的一些功能模块的设计实现过程。第六章是结束语,主要介绍了作者的开发感言。43第二章 系统相关技术介绍第二章 系统相关技术介绍2.1 设计模式简介mvc(model view controller)模型视图控制器。mvc本来是存在于desktop程序中的,m是指数据模型,v是指用户界面,c则是控制器。使用mvc的目的是将m和v的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。c存在的目的则是确保m和v的同步,一旦m改变,v应该同步更新。 模型视图控制器(mvc)是xerox parc在八十年代为编程语言smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为sun公司j2ee平台的设计模式,并且受到越来越多的使用 coldfusion 和 php 的开发者的欢迎。2.2 建模工具简介2.2.1 microsoft viso介绍microsoft visio是windows操作系统下运行的流程图和矢量绘图软件,它是microsoft office软件的一个部分。2000年微软公司收购同名公司后,visio成为微软公司的产品。它的竞争者是adobe illustrator、macromedia freehand和coreldraw。2.2.2 uml介绍uml(unified modeling language的缩写)统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。uml为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。统一建模语言 (uml)是非专利的第三代建模和规约语言。 uml是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。uml展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。uml可以贯穿软件开发周期中的每一个阶段。被omg采纳作为业界的标准。uml最适于数据建模,业务建模,对象建模,组件建模。uml作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被uml工具转化成指定的程序语言代码。2.3 开发工具简介2.3.1 myeclipse介绍myeclipse企业级工作平台(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. myeclipse整合帮助对于以上每一种功能上的类别,在eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。myeclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,myeclipse是eclipse的插件,也是一款功能强大的j2ee集成开发环境,支持代码编写、配置、测试以及除错。2.3.2 tomcat介绍tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。可以这样认为,当在一台机器上配置好apache 服务器,可利用它响应对html 页面的访问请求。实际上tomcat 部分是apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与apache 独立的进程单独运行的。当配置正确时,apache 为html页面服务,而tomcat 实际上运行jsp 页面和servlet。另外,tomcat和iis、apache等web服务器一样,具有处理html页面的功能,另外它还是一个servlet和jsp容器,独立的servlet容器是tomcat的默认模式。不过,tomcat处理静态html的能力不如apache服务器。2.3.3 dreamweaver介绍dreamweaver是美国macromedia公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。1最佳的制作效率dreamweaver可以用最快速的方式将fireworks,freehand,或photoshop等档案移至网页上。使用检色吸管工具选择荧幕上的颜色可设定最接近的网页安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。dremweaver能与您喜爱的设计工具,如playback flash,shockwave和外挂模组等搭配,不需离开dreamweaver便可完成,整体运用流程自然顺畅。除此之外,只要单击便可使dreamweaver自动开启firework或photoshop来进行编辑与设定图档的最佳化。 2网站管理 使用网站地图可以快速制作网站雏形、设计、更新和重组网页。改变网页位置或档案名称,dreamweaver 会自动更新所有连结。使用支援文字、html码、html属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅速又简单。 3无可比拟的控制能力 dreamweaver是唯一提供roundtrip html、视觉化编辑与原始码编辑同步的设计工具。它包含homesite和bbedit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,dreamweaver 支援精准定位,利用可轻易转换成表格的图层,以拖拉置放的方式进行版面配置。所见即所得 dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给third-party厂商,包含asp, apache,broadvision, cold fusion,icat, tango与自行发展的应用软体。当您正使用dreamweaver在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。梦幻样版和xml dreamweaver将内容与设计分开,应用于快速网页更新和团队合作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。您也可以使用样版正确地输入或输出xml内容。 dreamweaver还集成了程序开发语言,对asp、.net、php、js的基本语言和连接操作数据库,都是完全支持的。2.3.4 sql server概述sql server是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图像、声音等。sql server数据库以文件形式保存,文件的扩展名是.mdb。 sql server可以实现建立数据库、报表,以及对数据库、报表的修改、查询等功能。12.4 开发技术简介2.4.1 java介绍java是由sun microsystems公司于1995年5月推出的java程序设计语言(以下简称java语言)和java平台的总称。用java实现的hotjava浏览器(支持java applet)显示了java的魅力:跨平台、动态的、internet计算。从此,java被广泛接受并推动了web的迅速发展,常用的浏览器现在均支持java applet。另一方面,java技术也不断更新。java平台由java虚拟机(java virtual machine)和java 应用编程接口(application programming interface、简称api)构成。java 应用编程接口为java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个java平台之后,java应用程序就可运行。现在java平台已经嵌入了几乎所有的操作系统。这样java程序可以只编译一次,就可以在各种系统中运行。java分为三个体系javase(java2 platform standard edition,java平台标准版),javaee(java 2 platform,enterprise edition,java平台企业版),javame(java 2 platform micro edition,java平台微型版)。java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响: (1)软件4a目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。(2)基于构建开发方法的崛起,引出了corba国际标准软件体系结构和多层应用体系框架。在此基础上形成了java.2平台和.net平台两大派系,推动了整个it业的发展。(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,b2b的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质67。总之,目前以看到了java对信息时代的重要性,未来还会不断发展,java在应用方面将会有更广阔的前景。2.4.2 struts2介绍apache struts2是一个优雅的,可扩展的java ee web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。apache struts 2即是之前大家所熟知的webwork 2。在经历了几年的各自发展后,webwork和struts社区决定合二为一,也即是struts 2。struts 2 与struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:webwork基础上发展起来的。从某种程度上来讲,struts2没有继承struts 1的血统,而是继承webwork的血统。或者说,webwork衍生出了struts2,而不是struts 1衍生了struts2。因为struts2是webwork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了struts 1和webwork两者的优势,因此,是一个非常值得期待的框架78。2.4.3 javascript介绍javascript 是根据 ecmascript标准制定的网页脚本语言。这个标准由 ecma 组织发展和维护。ecma-262 是正式的 javascript 标准。这个标准基于 javascript (netscape) 和 jscript (microsoft)。netscape (navigator 2.0) 的 brendan eich 发明了这门语言,从 1996 年开始,已经出现在所有的 netscape 和 microsoft浏览器中。ecma-262 的开发始于 1996 年,在 1997 年 7 月,ecma 会员大会采纳了它的首个版本。在 1998 年,该标准成为了国际 iso 标准 (iso/iec 16262)。这个标准仍然处于发展之中。在 2005年12月,ecma发布ecma-357标准(iso/iec 22537)出台,主要增加对扩展标记语言xml的有效支持。目前javascript 的最新版本为1.8。2.4.4 ajax介绍ajax即“asynchronous javascript and xml”(异步javascript和xml),ajax并非缩写词,而是由jesse james gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术。ajax开发与传统的cs开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于ajax依赖浏览器的javascript和xml,浏览器的兼容性和支持的标准也变得和javascript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。综合各种变化的技术和强耦合的客户服务端环境,ajax提出了一种新的开发方式。ajax开发人员必须理解传统的mvc架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑cs环境的外部和使用ajax技术来重定型mvc边界。最重要的是,ajax开发人员必须禁止以页面集合的方式来考虑web应用而需要将其认为是单个页面。一旦ui设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。2.4.5 jfreechart介绍jfreechart是java平台上的一个开放的图表绘制类库。它完全使用java语言编写,是为applications, applets, servlets 以及jsp等使用所设计。jfreechart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(gantt charts)等等多种图表,并且可以产生png和jpeg格式的输出,还可以与pdf和excel关联。2.4.6 jxl介绍jxl.jar:通过java操作excel表格的工具类库,支持excel 95-2000的所有版本,生成excel 2000标准格式,支持字体、数字、日期操作,能够修饰单元格属性,支持图像和图表。应该说以上功能已经能够大致满足我们的需要。最关键的是这套api是纯java的,并不依赖windows系统,即使运行在linux下,它同样能够正确的处理excel文件。另外需要说明的是,这套api对图形和图表的支持很有限,而且仅仅识别png格式。2.4.7 jsp介绍jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp与java servlet一样,是在服务器端执行的,通常返回该客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。 jsp的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是jsp1.2规范,jsp2.0规范的征求意见稿也已出台。jsp页面由html代码和嵌入其中的java代码所组成。服务器在页面被客户端请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。java servlet 是jsp的技术基础,而且大型的web应用程序的开发需要java servlet和jsp配合才能完成。jsp具备了java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自jsp推出后,众多大公司都支持jsp技术的服务器,如ibm、oracle、bea公司等,所以jsp迅速成为商业应用的服务器端语言。672.5 与同类开发技术的比较 php3可在windows,unix,linux的web服务器上正常执行,还支持iis,apache等一般的web服务器,用户更换平台时,无需变换php3代码,可即拿即用。 jsp同php3类似,几乎可以执行于所有平台。如win nt,linux,unix。在nt下iis通过一个外加服务器,例如jrun或者servletexec,就能支持jsp。知名的web服务器apache已经能够支持jsp。由于apache广泛应用在nt、unix和linux上,因此jsp有更广泛的执行平台。虽然现在nt操作系统占了很大的市场份额,但是在服务器方面unix的优势仍然很大,而新崛起的linux更是来势不小。从一个平台移植到另外一个平台,jsp和javabean甚至不用重新编译,因为java字节码都是标准的与平台无关的。 asp是microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,iis(internet information server) (windows nt)和pws(personal web server)(windows 98)上。unix下也有chilisoft的组件来支持asp,但是asp本身的功能有限,必须通过aspcom的群组合来扩充,unix下的com实现起来非常困难。l 性能比较 有人做过试验,对这三种语言分别做回圈性能测试及存取oracle数据库测试。 在循环性能测试中,jsp只用了令人吃惊的四秒钟就结束了2000020000的回圈。而asp、php测试的是20002000循环(少一个数量级),却分别用了63秒和84秒。(参考phplib)。 数据库测试中,三者分别对 oracle 8 进行 1000 次 insert,update,select和delete: jsp 需要 13 秒,php 需要 69 秒,asp则 需要 73 秒。 l 前景分析 目前在国内php与asp应用最为广泛。而jsp由于是一种较新的技术,国内采用的较少。但在国外,jsp已经是比较流行的一种技术,尤其是电子商务类的网站,多采用jsp。 采用php的网站如新浪网(sina)、中国人(chinaren)等,但由于php本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,php缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而php则缺乏这种支持。还有上面提到过的一点,php提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。 asp和jsp则没有以上缺陷,asp可以通过microsoft windowsd的com/dcom获得activex规模支持,通过dcom和transcation server获得结构支持;jsp可以通过sun java的java class和ejb获得规模支持,通过ejb/corba以及众多厂商的application server获得结构支持。 三者中,jsp应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用jsp/servlet。比较出名的如ibm的ebusiness,它的核心是采用jsp/servlet的web sphere。它们都是通过cgi来提供支持的。但去年10月后它推出了enfinity,一个采用jsp/servlet的电子商务application server,而且声言不再开发传统软件。 第三章 系统分析第三章 系统分析3.1 系统总体需求3.1.1 功能分析本系统共有4类用户,分别是学生、教师、院领导、系统管理员。学生具有选题功能;教师具有创建课题的与选择学生的功能;院领导具有审核课题的功能;系统管理员具有对各类用户、课题等进行管理的功能。系统各类模块共有16个。本人所负责的是学生和系统管理员。下面介绍本人负责的模块:学生: 学生用户分成三个模块,分别是个人中心、课题检索、课题选择。l 个人中心模块提供了个人资料的查看与修改、个人密码的修改等功能。l 课题检索模块提供了供选择的课题信息的查看、课题资料的查看(包括该课题的选题情况)、导师资料的查看(包括该导师的所有课题信息)等功能。l 课题选择模块提供了课题选择、查看已选课题等功能。系统管理员:管理员用户分成七个模块,分别是院系职称管理、用户管理、课题管理、选题管理、统计管理、系统设置、数据管理等。l 院系职称管理模块提供了学院专业、年级、班级、教师职称、院领导职称的添加、删除、修改功能。l 用户管理模块提供了学生、教师、院领导、系统管理员等各类用户的添加、删除、修改功能。l 课题管理模块提供了课题类别、课题信息的添加、删除、修改功能。l 选题管理模块提供了学生选择课题的信息和教师选择学生的信息的查看、修改功能。l 统计管理模块提供了用户、课题、选题等信息的统计功能。l 系统设置模块提供了导师的命题时间、最大命题数量、每个课题的最大选题人数、课题的类别、学院领导的审题时间、学生的选题时间、选题志愿数量的查看、修改功能。l 数据管理模块提供了各类用户数据的批量导入、导出,选题结果的导出功能。3.1.2 用例分析 本系统分4类用户,分别是学生、教师、院领导、系统管理员。本人所负责的是学生和系统管理员。下面就介绍下本人的模块学生和系统管理员。学生用户用例图如图3.1所示:图3.1 学生用例图系统管理员用户用例图如图3.2所示:图3.2 管理员用例图3.2 系统业务分析本系统整个业务流程如下:导师创建新的命题,并将命题提交给院领导审核,院领导完毕后交由学生进行选题,学生选题完毕后,该命题的导师根据学生的选题情况进行学生的选择,最后,由系统进行撮合,完成整个选题过程。后台管理员通过登录验证获得后台管理权限,可以修改选题的各个功能,完成选题结果的发布。系统的活动图,如图3.3所示。图3.3 系统活动图系统的时序图,如图3.4所示。图3.4 系统时序图第四章 系统设计第四章 系统设计4.1 系统体系结构本系统设计采用典型的三层结构模式:第一层jsp页面主要实现对管理界面的显示和解释、中间层javabean组件实现对数据库的操作和前台页面的生成工作,第三层数据库服务器主要对系统提高数据服务。中间层的javabean组件主要封装了对数据库的查询、修改、删除工作。系统结构图,如图4.1所示。serversql server 2000 javabeanweb browserclient图4.1 系统结构图4.2 系统数据库系统采用microsoft公司的sql server2000数据库表名及字段名在sql server2000数据库中都用英文表示,比较复杂的字段名用英文词组表示。第一位都以大字字母表示。一个结构设计优良的数据库是实现信息网强大管理功能的坚实基础。4.3 系统uml类图本系统的实体类包括有用户实体类,其中学生、教师、院领导、系统管理员是继承同一个用户类。教师信息表和课题类别表通过发布形成课题信息表,课题信息表和学院领导信息表通过审核形成课题审核表,课题审核表和学生信息表通过选题形成最初选题表。uml类图,如图4.2所示。图4.2 系统uml类图4.4 系统数据库表设计本系统共有19张表,如表4.3至表4.21所示:表4.3 userbasicuserbasic:用户基本表,主要描述用户的基本信息。列名数据类型(精度范围)空/非空约束条件描述user_idnvarchar(20)非空主用户名passwordnvarchar(20)非空密码powernvarchar(10)非空权限namenvarchar(20)空姓名sexnvarchar(2)空男,女性别photographnvarchar(100)空照片emailnvarchar(20)空邮箱cellphonenvarchar(20)空手机号码补充说明权限默认为”0”,表示不具有该权限。为”1”表示具有该权限。分别对应学生、教师、学院领导、系统管理员。例如:“1,0,1,0”表示该用户同时具有学生权限、学院领导权限。每一种权限都对应相关信息表中的用户。例如:一个具有学生、教师权限的用户,他的用户名一定存在学生信息表和教师信息表中表4.4 studentinfostudentinfo:学生信息表,主要描述学生用户的信息。列名数据类型(精度范围)空/非空约束条件描述user_idnvarchar(20)非空主、外(userbasic)用户名(使用学号)academynvarchar(20)空学院gradenvarchar(20)空年级majornvarchar(20)空专业classesnvarchar(20)空班级introductionnvarchar(500)空个人简介补充说明该表保存具有学生权限的用户的信息表4.5 teacherinfoteacherinfo:教师信息表,主要描述教师用户的信息。列名数据类型(精度范围)空/非空约束条件描述user_idnvarchar(20)非空主、外(userbasic)用户名(使用教师号)academynvarchar(20)空学院postnvarchar(20)空职称introductionnvarchar(500)空个人简介补充说明该表保存具有教师权限的用户的信息表4.6 leaderinfoleaderinfo:学院领导信息表,主要描述学院领导用户的信息。列名数据类型(精度范围)空/非空约束条件描述user_idnvarchar(20)非空主、外(userbasic)用户名(使用学院领导号)academynvarchar(20)空学院postnvarchar(20)空职称introductionnvarchar(500)空个人简介补充说明该表保存具有学院领导权限的用户的信息表4.7 admininfoadmininfo:系统管理员信息表,主要描述系统管理员用户的信息。列名数据类型(精度范围)空/非空约束条件描述user_idnvarchar(20)非空主、外(userbasic)用户名(使用系统管理员号)补充说明该表保存具有系统管理员权限的用户的信息表4.8 gradegrade:年级表,主要描述年级的信息。列名数据类型(精度范围)空/非空约束条件描述gradenvarchar(20)非空主年级补充说明该表保存年级的信息,如:06级表4.9 classesclasses:班级表,主要描述班级的信息。列名数据类型(精度范围)空/非空约束条件描述classesnvarchar(20)非空主班级信息补充说明该表保存班级的信息,如:4班表4.10 academyacademy:学院表,主要描述学院的信息。列名数据类型(精度范围)空/非空约束条件描述academynvarchar(20)非空主学院信息补充说明该表保存学院的信息,如:软件学院表4.11 majormajor:专业表,主要描述专业的信息。列名数据类型(精度范围)空/非空约束条件描述academynvarchar(20)非空外(academy),2属性唯一学院信息majornvarchar(20)非空主专业信息补充说明该表保存学院的信息,如:软件学院表4.12 postteacherpostteacher:教师职称表,主要描述教师职
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年阿克苏职业技术学院单招职业适应性测试必刷测试卷及答案1套
- 2026年长春早期教育职业学院单招职业倾向性考试题库附答案
- 2026年淮北职业技术学院单招职业倾向性考试题库新版
- 2026年沧州医学高等专科学校单招职业适应性考试题库必考题
- 2026年江西机电职业技术学院单招职业倾向性考试题库及答案1套
- 2026年安徽国防科技职业学院单招职业适应性测试必刷测试卷及答案1套
- 2026年贵州电子商务职业技术学院单招综合素质考试题库附答案
- 2026年铜仁幼儿师范高等专科学校单招职业技能测试题库必考题
- 2026年辽宁石化职业技术学院单招职业倾向性测试题库及答案1套
- 2026年贵州工程职业学院单招职业技能考试题库及答案1套
- 安全生产管理机构设置和人员配备制度
- 郭店竹简《老子》考释札记
- 导电高分子与其复合材料
- (34)-妇人病证治特点解读《金匮要略》
- 攻略:炎龙骑士团2
- 市北资优六年级分册 第10章 10.6 探索用平面截正方体所得截面形状 郑斌
- 高二物理竞赛力学课件
- GA 423-2015警用防弹盾牌
- 材料作文“空白罚单”作文导写
- 农业机械安全操作规程手册课件
- 医院招聘护士考试题库(附答案)
评论
0/150
提交评论