




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
需要本论文完整程序源代码,答辩PPT或者更多毕业论文,联系文库上传者QQ即可基于Java技术的软件学院工作室管理系统毕业论文目 录第一章 绪论21.1引言21.2文本的组织21.3本人做的主要工作2第二章 系统开发相关技术概述22.1B/S开发模式22.2JSP技术概述22.2.1什么是JSP技术22.2.2JSP技术的优点22.3struts技术22.3.1struts与MVC22.3.2struts的工作原理22.3数据库连接池技术22.4MySQL简介22.5Hibernate简介22.6Lucene简介22.7自定义标签简介22.4.1自定义标签的基本概念22.4.2自定义标签的格式2第三章 系统的分析与设计23.1系统的实现目标23.2系统分析23.2.1系统功能分析23.2.2系统流程分析23.2.3系统数据流分析23.3系统数据库设计23.3.1系统E-R图23.3.2数据库表设计2第四章 模块的实现24.1MVC分层结构24.2信息展示模块24.3日常管理模块24.4系统管理模块24.5互动交流模块24.6系统模块中关键技术的实现24.6.1Struts框架的使用(多模块、多配置文件)24.6.2Hibernate的使用24.6.3StrutsTiles模板24.6.4StrutsValidator验证24.6.5Tags 自定义标签24.6.6DisplayTag标签库24.6.7JSTL标签库24.6.8AJAX异步获取数据24.6.9FreeMarker模板24.6.10Lucene全文索引24.6.11庖丁解牛中文分词包24.6.12数据缓存技术24.6.13Proxool数据库连接池技术24.6.14分页技术24.6.15网址重写技术(Apache Mod Rewrite)24.6.16特殊Filter的使用24.6.17关于系统安全的技术2第五章 总结25.1系统总结25.2个人总结25.3下一步工作2参考文献2致谢2需要本论文完整程序源代码,答辩PPT或者更多毕业论文,联系文库上传者QQ即可第一章 绪论1.1引言 软件学院工作室管理中心是以方便同学及导师为宗旨设计的,让管理员、导师通过网络,方便的了解工作室同学的状况。对于即将进入工作室学习的同学,可以通过工作事管理中心,进行工作室学习方向的确定,这就避免了同学选择方向时,因工作室已满而不得不转方向。对于已经在工作室学习的同学,导师可以通过本签到系统,方便的了解同学的出勤状况,历史缺到次数。简单的新闻系统,使同学们能够及时了解工作室最新动向。通过站内短信,同工作室,不同工作室之间都可以进行短信交流,也可以进行短信群发。工作室管理中心提供了一个讨论区,同学可以就最新的帖子进行评论,也可以和导师交流最新技术。个人日志功能免除了同学手写日志的苦恼,日志直接提交至导师,导师也可以及时了解同学当天的学习进展。网站链接功能则是由导师或同学添加一些认为好的学习网站,这样能更好的进行知识交流。在实际使用中,本系统可以发挥互联网的优势、在网络上建立一个工作室管理中心,使得工作室管理更合理。让导师更清楚的掌握学生的出勤状况及学习进度。工作室选向更人性化,让学院更好、更早的进行安排。1.2文本的组织论文主要介绍了工作室管理系统开发的分析过程、设计思想和功能实现,并详细阐述了系统中关键技术的实现。第一章简述了系统的开发背景、特点以及本人的主要工作。第二章简述了系统开发的相关技术。第三章阐述了系统开发的分析和设计过程,包括系统的数据流分析、数据库设计等。第四章详细描述了软件学院工作室管理系统的过程中所使用的关键技术和系统部分功能的实现。1.3本人做的主要工作在软件学院工作室管理系统的开发过程中,我参与并完成了从需求分析、概要设计、数据库设计到系统功能划分、最终实现的一系列工作。本人在系统中主完成全部模块,包括新闻公告、工作室管理、论坛、问答系统、考勤管理、荣誉管理、选方向管理、资源管理等。需要本论文完整程序源代码,答辩PPT或者更多毕业论文,联系文库上传者QQ即可第二章 系统开发相关技术概述2.1B/S开发模式 目前较流行的网络开发模式分别是Client/Server模式与Browser/Client模式。 C/S模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。而B/S模式通过Internet进行通信,可以不受地域的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,速度较慢。从目前的开发技术来看,Browser端作为信息收集源,特别是大量的数据录入工作还不能完全取代Client端的用户界面。在这方面,Client端的各种开发工具的功能更加强大也更加灵活,而Browser端却由其功能结构的限定过于“瘦小”。基于B/S与C/S两种模式的比较下,该系统采用的系统体系结构为B/S结构,克服了C/S体系结构的缺点,使系统跨平台,跨语言,高度移植性充分体现出来了。同时,使用该体系结构开发本系统具有以下两个优点1:1、较低的应用开发及管理成本。基于B/S技术开发的应用系统,安装、配置和升级主要在服务器上进行,在用户计算机上通常只需要安装通用的浏览器软件即可,可以支持客户端跨操作系统平台的使用。由于浏览器软件常常是客户机操作系统的默认安装内容,不需要管理员为每个不同的应用维护客户端系统。2、应用推广成本低。一旦用户掌握了浏览器的使用,就基本掌握了各种不同应用系统的使用。2.2JSP技术概述2.2.1什么是JSP技术JSP(JAVA SERVER PAGES)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它由HTML代码和嵌入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些JAVA代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP具备了JAVA技术的简单易用、完全面向对象、具有平台无关性且安全可靠,其在动态网页的建设中有其强大而特别的功能,下文将简单介绍其优点2 3 4 5。2.2.2JSP技术的优点第一、将内容的生成和显示进行分离。 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如查询指定学院的专业或者某一位学生参加的文艺活动)。Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 第二、生成可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。第三、采用标识简化页面开发。 Web页面开发人员不会都是熟悉脚本语言的编程人员。但JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库,JSP技术是可以扩展的。以上这些使得Web页面开发人员能够使用熟悉的工具来执行特定功能。 第四、提供所有Servlets的功能。 与SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println书写和修改HTML更方便。此外,可以更明确的进行分工,WEB页面设计人员编写HTML,只需要留出地方让SERVLETS程序员插入动态部分即可。 2.3struts技术 2.3.1struts与MVCJSP 标记只解决了部分问题,还得处理验证、流程控制和更新应用程序的状态等问题。MVC(模型-视图-控制器)通过将问题分为三个类别来帮助解决单一模块方法所遇到的某些问题:6 7 Model(模型)模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。 View(视图)视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,视图应得到通知。 Controller(控制器)控制器对用户的输入作出反应。它创建并设置模型。 2.3.2struts的工作原理MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。 Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。控制:主要有一个XML文件Struts-config.xml,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。 视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库: Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。 模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。 流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。 核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。2.3数据库连接池技术 数据库连接的建立及关闭对系统而言是耗费系统资源的操作,在多层结构的应用环境中,这种耗费资源的动作对系统的性能影响尤为明显。在传统的数据库连接方式 (指通过DriverManager)中,一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。 数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并讲这些连接组成一个连接池(简单说:在一个“池”里放了好多半成品的数据库联接对象),由应用程序动态地对池中的连接进行申请、使用和释放。对于 多于连接池中连接数的并发请求,应该在请求队列中排队等待。并且应用程序可以根据池中连接的使用率,动态增加或减少池中的连接数。 连接池技术尽可能多地重用了消耗内存地资源,大大节省了内存,提高了服务器地服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被 使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超 过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素8 9:1) 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费.2) 最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作.3) 如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。2.4MySQL简介 MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。2.5Hibernate简介 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.6Lucene简介 Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了Lucene作为其内部全文检索子系统的核心。apache软件基金会的网站使用了Lucene作为全文检索的引擎,IBM的开源软件eclipse9的2.1版本中也采用了Lucene作为帮助子系统的全文索引引擎,相应的IBM的商业软件Web Sphere10中也采用了Lucene。Lucene以其开放源代码的特性、优异的索引结构、良好的系统架构获得了越来越多的应用。Lucene是一个高性能、可伸缩的信息搜索(IR)库。它使你可以为你的应用程序添加索引和搜索能力。Lucene是用java实现的成熟的、免费的开源项目,是著名的Apache Jakarta大家庭的一员,并且基于在Apache软件许可 ASF, License。同样,Lucene是当前与近几年内非常流行的免费的Java信息搜索(IR)库。Lucene作为一个全文检索引擎,其具有如下突出的优点:(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。(4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。(5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询(Fuzzy Search11)、分组查询等等。2.7自定义标签简介 一般我们说自定义标签是指JSP自定义标签。自定义标签在功能上逻辑上与javaBean 类似,都封装Java 代码。自定义标签是可重用的组件代码,并且允许开发人员为复杂的操作提供逻辑名称。JSP开发人员使用标签库创建标签.标签库是按照功能或实现进行分组的自定义标签的集合。 2.4.1自定义标签的基本概念1.标签(Tag):标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的2.标签库(Tag library):由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。3.标签库描述文件(Tag Library Descriptor):标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系。它是一个配置文件,和web.xml是类似的。4.标签处理类(Tag Handle Class):标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能2.4.2自定义标签的格式1. 为了使到JSP容器能够使用标签库中的自定义行为,必须满足以下两个条件:1)从一个指定的标签库中识别出代表这种自定义行为的标签2)找到实现这些自定义行为的具体类第一个必需条件找出一个自定义行为属于那个标签库是由标签指令的前缀(Taglib Directives Prefix)属性完成,所以在同一个页面中使用相同前缀的元素都属于这个标签库。每个标签库都定义了一个默认的前缀,用在标签库的文档中或者页面中插入自定义标签。所以,你可以使用除了诸如jsp,jspx,java,servlet,sun,sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀。 uri属性满足了以上的第二个要求。为每个自定义行为找到对应的类。这个uri包含了一个字符串,容器用它来定位TLD文件。在TLD文件中可以找到标签库中所有标签处理类的名称2. 当web应用程序启动时,容器从WEB-INF文件夹的目录结构的META-INF搜索所有以.tld结尾的文件。也就是说它们会定位所有的TLD文件。对于每个TLD文件,容器会先获取标签库的URI,然后为每个TLD文件和对应的URI创建映射关系。在JSP页面中,我们仅需通过使用带有URI属性值的标签库指令来和具体的标签库匹配。需要本论文完整程序源代码,答辩PPT或者更多毕业论文,联系文库上传者QQ即可第三章 系统的分析与设计3.1系统的实现目标软件学院工作室管理系统致力于开发集成荣誉展示、新闻公告、信息公开、考勤管理、选方向管理、项目管理、日志管理、问答交流、讨论区、站内短信为一体的综合性管理系统。不管是学院级信息,学校级信息,还是个方面的社会信息,软件学院工作室管理通过管理员的简单的操作从而实现信息的大众化、专业化于一体。1、完善的管理功能:作为综合性管理系统,该系统要具备强大后台管理功能。除了新闻公告、信息公开外有完善的后台管理外,考勤管理、选方向管理、日志管理、问答交流、讨论区等等都需要完善的管理功能。2、方便的用户操作:系统除了有良好完善的功能外,还应该给用户提供友好的操作方式,方便用户使用系统完成工作。在实现的各个细节上都考虑了尽量简化用户操作,用最简单的操作实现强大的功能。3、多方面的系统安全措施:网络发展给信息系统的开发带来方便的同时,也给它还带了许多麻烦。用户的增多和资源共享程度的提高,给系统的安全性带来越来越多的安全隐患,所以系统通过对用户信息的加密、数据备份、数据还原、文件模板的创建、触发器等手段保证了数据安全性的提高。同时使用对称加密技术让数据传送更安全可靠。3.2系统分析3.2.1系统功能分析通过对系统的分析和研究,系统在应该分为信息展示、日常管理、系统管理、互动交流四大模块。系统操作层次可以分为管理员、导师、学生。其中管理员主要负责后台全部管理,导师主要管理本工作室学生的日志、信息等,学生可以选方向、工作日志、考勤查询等操作。所有用户均可参与互动交流,可查询公共信息如学生导师记录、考勤记录等,可查看前台内容。系统功能结构如图3.1所示。图3.1工作室管理系统功能结构图系统功能详细描述如下:1. 信息展示:主要为前台展示型模块,包含荣誉展示、新闻公告、信息公开(1) 荣誉展示:主要展示优秀个人及优秀作品(2) 新闻公告:在前台显示工作室最新的新闻及公告信息,提供最新动态(3) 信息公开:主要用于日常公开和工作室展示,方便其他人了解工作室2. 日常管理:主要为后台型模块,三种用户均在各自独立的后台操作。包含考勤管理、选方向管理、项目管理、日志管理(1) 考勤管理:前台提供学生考勤信息查询,后台由管理员管理(2) 选方向管理:提供未进工作室学生选方向的功能,管理员可以进行汇总(3) 项目管理:提供工作室项目日常管理,如项目分组、进度等(4) 日志管理:学生写工作日志,导师进行评价打分3. 系统管理:主要为后台管理设置型模块(1) 系统设置:设置系统基本信息(2) 用户管理:管理员管理管理员、导师、学生三级用户(3) 数据维护:提供数据库维护功能,如数据库备份、恢复等4. 互动交流:(1) 你问我答:提供学生提问,学生或导师回答的一个平台(2) 讨论区:提供师生在线交流的平台(3) 站内短信:提供师生私人交流的平台 3.2.2系统流程分析软件学院工作室管理中心在运行过程中页面的基本流程如图3.2所示。登陆系统工作室签到查看签到情况填写工作日志查看个人信息填写个人日志收发短消息退出系统查看新闻、公告新闻、公告管理导师查看日志进入论坛讨论区图3.2系统流程图3.2.3系统数据流分析在整个工作室管理系统中,学生是主体,一切围绕学生为主体进行。学生登陆后由系统记录登陆信息,导师可以查看。同时师生均可进行互动交流。学生需要按时填写工作日志,具体数据流如图3.3所示。签到情况学生详情表学生登 陆登陆签到退出系统学生出席情况表导师查询出勤情况进入论坛个人信息新闻公告发布公告论坛讨论工作日志日志导师登陆图3.3系统数据流图3.3系统数据库设计3.3.1系统E-R图在软件学院工作室管理系统中,整个系统都是围绕管理员、导师、学生三种用户来的,主要是师生间的日常教学工作及交流,因此可以将这点做为ER图的分析重点,围绕它们进行其它数据的E-R图分析。通过管理员、导师、学生这些实体,我们可以得出还有工作日志、短消息、公告、新闻、教学资源等实体。根据系统数据流图的描述,我们可以得出系统E-R图如下图所示。学生管理员员导师工作日志教学资源公告工作室发布公告、新闻管理发布发布分配查看教学资源分类所属n1n11nnn111n1工作日志发表n班级从属于n1发送发送发送短消息图3.4系统E-R图3.3.2数据库表设计 (1) 管理员详情表(WR_AdminInfo),其中主键为UID,具体字段信息如表3.1所示。表3.1管理员详情表名称类型空默认值属性备注(C)UIDvarchar(20)SummarymediumtextNULLNULL管理员简介Mobilevarchar(20)NULL手机号(可填写多个)Telvarchar(20)NULL电话号码(可填写多个)QQvarchar(10)NULLQQ号(可不填)MSNvarchar(40)NULLMSN帐号(可不填) (2) 问答答案表(WR_AskAnswer),其中主键为AnswerId,具体字段信息如表3.2所示。表3.2问答答案表名称类型空默认值属性备注(C)AnswerIdint(11)NULLNULLauto_incrementContentmediumtextNULLNULL回答内容AddDateint(11)0Uidvarchar(20) (3) 问答类别表(WR_AskClass),其中主键为ClassID,具体字段信息如表3.3所示。表3.3问答类别表名称类型空默认值属性备注(C)ClassIDint(11)NULLNULLauto_incrementClassNamevarchar(50)NULL分类名Seqint(11)NULL1000排序,顺序RemarksmediumtextNULLNULL备注 (4) 问题内容表(WR_AskContent),其中主键为QuestionId,具体字段信息如表3.4所示。表3.4问题内容表名称类型空默认值属性备注(C)QuestionIdint(11)0ContentmediumtextNULLNULL问题内容 (5) 问题表(WR_AskQuestion),其中主键为QuestionId,具体字段信息如表3.5所示。表3.5问题表名称类型空默认值属性备注(C)QuestionIdint(11)NULLNULLauto_incrementClassIdint(11)0问题分类Uidvarchar(20)用户名(学号或教号)Topicvarchar(250)问题标题Stateint(11)NULL11表未解决,2表已解决Scoreint(11)NULL0问题分数AnswerNumint(11)NULL0回答数量ClickNumint(11)NULL0点击数StartTimeint(11)NULL0提问日期EndTimeint(11)NULL0结束日期IsRecommendint(11)NULL0是否推荐(1是0否)BestAnswerIdint(11)0最佳答案 (6) 问答用户表(WR_AskUser),其中主键为Uid,具体字段信息如表3.6所示。表3.6问答用户表名称类型空默认值属性备注(C)Uidint(11)NULLNULLauto_incrementScoreint(11)100积分Adeptsvarchar(10)擅长领域(最多三个,显示ID)Attentionsvarchar(30)关注领域Experienceint(11)0经验 (7) 考勤检查表(WR_Check),其中主键为CheckId,具体字段信息如表3.7所示。表3.7考勤检查表名称类型空默认值属性备注(C)CheckIdint(11)NULLNULLauto_incrementCheckDateint(11)0检查日期CheckMastervarchar(50)NULL检查组长CheckMembermediumtextNULL检查小组成员Gradevarchar(4)NULL年级LeaveNumint(11)NULL0请假人数TruantNumint(11)NULL0旷课人数WjNumint(11)NULL0严重违纪人数LateNumint(11)NULL0迟到人数 (8) 考勤检查详情表(WR_CheckItem),其中主键为ItemId,具体字段信息如表3.8所示。表3.8考勤检查详情表名称类型空默认值属性备注(C)ItemIdint(11)NULLNULLauto_incrementCheckIdint(11)NULL0检查IDUidvarchar(20)NULL学生学号Statusint(11)NULL00表示正常,1表明请假,2表时迟到,3表时旷课(因本表只记录旷课和请假,故暂时只有1和3有用)Remarksvarchar(20)NULL说明(20字以内) (9) 选方向记录表(WR_Choose) ,具体字段信息如表3.9所示。表3.9选方向记录表名称类型空默认值属性备注(C)ChooseIDint(11)NULLNULLauto_incrementUIDvarchar(20)Gradevarchar(4)年级,如2006,2007DirectionIDint(11)0方向IDAddDateint(11)NULL0选方向日期DropDateint(11)NULL0退选日期Statustinyint(1)NULL1当前状态(1表示选中,0表示退选,每个年级每个学号只能有一个选中状态)ChooseTypeint(11)NULL21为预选,2为正选 (10) 班级表(WR_Class),其中主键为ClassID,具体字段信息如表3.10所示。表3.10班级表名称类型空默认值属性备注(C)ClassIDint(11)NULLNULLauto_incrementClassNamevarchar(40)Gradevarchar(4) (11) 系统设置表(WR_Config),其中主键为ConfigID,具体字段信息如表3.11所示。表3.11系统设置表名称类型空默认值属性备注(C)ConfigIDint(11)1SiteNamevarchar(50)ChooseGradevarchar(4)NULL当前正在选方向的年级,如2006,2007CurrentGradevarchar(4)NULL当前正在工作室的年级ChooseStatusint(3)0选方向开关(2为正选,1为预选,0为关)ChooseMaxNumint(11)3选方向最大次数MessageMaxSendOnceint(11)NULL100一次最多群发多少条短消息AskTimeLimitint(11)NULL3600问题有效期时长(秒)IndexSlideGradevarchar(4)NULL (12) 选课方向表(WR_Direction),其中主键为DirectionID,具体字段信息如表3.12所示。表3.12选课方向表名称类型空默认值属性备注(C)DirectionIDint(11)NULLNULLauto_incrementGradevarchar(4)NULL年级,如2006,2007DirectionNamevarchar(40)NULL选课方向名IntroducemediumtextNULLNULL选课方向介绍(详细)FullNumint(11)NULL0可选总人数RemainNumint(11)NULL0剩余选课人数(当前还有多少人可选本方向) (13) 优秀作品表(WR_FineSoft),其中主键为SoftId,具体字段信息如表3.13所示。表3.13优秀作品表名称类型空默认值属性备注(C)SoftIdint(11)NULLNULLauto_incrementSoftNamevarchar(100)NULL作品名称Directionvarchar(20)NULL作品方向,如.NET,JAVA,VC等Gradevarchar(4)NULL年级SrcUrlvarchar(100)NULL源码下载地址DemoUrlvarchar(100)NULL运行地址AddDateint(11)NULL0添加日期Uidsvarchar(200)NULLRemarksmediumtextNULLNULL详细说明Summaryvarchar(250)NULL摘要PicUrlvarchar(30)NULL图片地址 (14) 优秀个人表(WR_FineStudent),其中主键为Uid,具体字段信息如表3.14所示。表3.14优秀个人表名称类型空默认值属性备注(C)Uidvarchar(20)NULLNULLDirectionvarchar(20)NULL主攻方向,如.NET,JAVA,VC等Gradevarchar(4)NULL年级AddDateint(11)NULL0添加日期RemarksmediumtextNULLNULL详细说明Summaryvarchar(250)NULL摘要PicUrlvarchar(30)NULL图片地址 (15) 年级表(WR_Grade),其中主键为GradeName,具体字段信息如表3.15所示。表3.15年级表名称类型空默认值属性备注(C)GradeNamevarchar(4)年级(如2005或2006)IsLocktinyint(1)NULL0是否锁定(1是0否,锁定后该年级学生不可以登陆)PreStartDateint(11)NULL0上学期开始日期(第一周的星期一)NextStartDateint(11)NULL0上学期开始日期(下学期的星期一) (16) 友情链接表(WR_Link),其中主键为LinkID,具体字段信息如表3.16所示。表3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内网安全培训思路课件
- 内经选读病之形能课件
- 内科中西医结合课件
- 单例模式与自适应算法的结合研究-洞察及研究
- 统编版一年级上册语文园地五 公开课一等奖创新教学设计
- 2025年秋部编版语文四上口语交际 讲历史人物故事(公开课一等奖创新教案+)
- 七下第四单元作业设计(表格式)
- 创业青年培训安全协议课件
- 文库发布:化合价课件
- 创业基础理论课件
- 《无人机飞行控制技术》全套教学课件
- 环境反应工程导论课件
- 超声诊断在肱骨外上髁炎(网球肘)中的应用
- 舆论导向培训课件
- 腮腺脓肿护理查房
- 保管员技师考试题及答案
- 消防自动灭火系统课件
- (2025.06.12)领导干部任前应知应会党内法规和法律知识考试题库(2025年度)
- 关于数据安全管理制度
- 2025年安徽省农业职业技能大赛(水生物病害防治员)备赛试题库(含答案)
- 华中师范大学第─附属中学2025届高三下五月高考模拟英语试卷
评论
0/150
提交评论