当前位置:文档之家› JSP_工作室_管理系统论文

JSP_工作室_管理系统论文

基于Java技术的软件学院工作室管理系统指导老师:

姓名:

学号:

学院:软件学院

专业:软件工程

摘要

21世纪的发展已经很大程度的依赖于计算机网络的发展,随着计算机网络的快速发展而带来的一系列的基于网络的事物的飞速增长和世界信息化步伐的加快,于是越来越多的企事业单位包括各类院校都需要一个自己的信息发布和资源共享的平台。为了满足这个需求,我们开发此工作室管理系统,用于软件学院教学和师生日常交流。

系统基于B/S的开发模式,前台使用JSP技术开发实现,后台使用MySQL5.0数据库软件管理,并采用Hibernate框架进行数据库连接。系统主要分为信息展示、工作室日常管理、系统管理、互动交流四大模块。

本文介绍了在Struts下应用MVC分层思想:模型层、视图层、控制层,在基于JSP页面、MySQL数据库及Resin服务器端的基础上开发的软件学院工作室管理系统。系统地阐述该管理系统开发的分析及设计过程,包括数据流图,功能分析设计,数据库设计等;详细描述了本人负责模块的实现过程,并对本人在系统模块中所使用关键技术的实现进行了全面的介绍。

【关键字】工作室管理系统、分层思想、日常交流

【Abstract】

The development of the 21st century has a large extent dependent on the development of computer networks.With the rapid development of computer network, a number of network-based things grow rapidly and the pace of world's informanization is accelerating,so there are more and more enterprise units including various institutions need its own information and resource sharing platform. To meet this demand, we have developed this system for regular conmunication between teachers and students of the college of software.

The front of the system based on B/S pattern uses JSP to achieve while the background uses MySQL5.0 database software to manage, and Hibernate framework is used for database connection. The System consists four main modules of infomation publishing,regular management of the studio、system management and conmunication between each other.

This paper introduces MVC delamination thoughts under the Struts: model layer, view layer, control layer,and the Studio Management System Of College Of Software System Based On J2EE Technology using the technology of JSP ,MySQL database and Resin server,also it systematic describes the development of the Studio Management System and the process of design ,which includes the data flow diagram ,functional analysis and design ,and the database design and so on.It detailedly describes the realization of the modules i am responsible for,and it has a comprehensive introduction of the key technology used in the system.

[Keywords]the studio management system,delamination thoughts, conmunication between each other

目录

第一章绪论 (1)

1.1引言 (1)

1.2 文本的组织 (1)

1.3 本人做的主要工作 (2)

第二章系统开发相关技术概述 (3)

2.1B/S开发模式 (3)

2.2JSP技术概述 (3)

2.2.1 什么是JSP技术 (3)

2.2.2 JSP技术的优点 (4)

2.3struts技术 (4)

2.3.1 struts与MVC (4)

2.3.2 struts的工作原理 (5)

2.3数据库连接池技术 (6)

2.4 MySQL简介 (7)

2.5 Hibernate简介 (7)

2.6 Lucene简介 (8)

2.7 自定义标签简介 (9)

2.4.1 自定义标签的基本概念 (9)

2.4.2 自定义标签的格式 (10)

第三章系统的分析与设计 (11)

3.1系统的实现目标 (11)

3.2系统分析 (11)

3.2.1 系统功能分析 (11)

3.2.2 系统流程分析 (13)

3.2.3 系统数据流分析 (14)

3.3系统数据库设计 (14)

3.3.1 系统E-R图 (14)

3.3.2 数据库表设计 (15)

第四章模块的实现 (27)

4.1MVC分层结构 (27)

4.2信息展示模块 (32)

4.3日常管理模块 (36)

4.4系统管理模块 (42)

4.5互动交流模块 (45)

4.6系统模块中关键技术的实现 (46)

4.6.1 Struts框架的使用(多模块、多配置文件) (46)

4.6.2 Hibernate的使用 (47)

4.6.3 Struts[Tiles]模板 (48)

4.6.4 Struts[Validator]验证 (49)

4.6.5 Tags 自定义标签 (50)

4.6.6 DisplayTag标签库 (52)

4.6.7 JSTL标签库 (53)

4.6.8 AJAX异步获取数据 (54)

4.6.9 FreeMarker模板 (55)

4.6.10 Lucene全文索引 (56)

4.6.11 庖丁解牛中文分词包 (56)

4.6.12 数据缓存技术 (57)

4.6.13 Proxool数据库连接池技术 (57)

4.6.14 分页技术 (58)

4.6.15 网址重写技术(Apache Mod Rewrite) (59)

4.6.16 特殊Filter的使用 (60)

4.6.17 关于系统安全的技术 (60)

第五章总结 (62)

5.1系统总结 (62)

5.2个人总结 (62)

5.3下一步工作 (63)

参考文献 (64)

致谢 (65)

第一章绪论

1.1 引言

软件学院工作室管理中心是以方便同学及导师为宗旨设计的,让管理员、导师通过网络,方便的了解工作室同学的状况。对于即将进入工作室学习的同学,可以通过工作事管理中心,进行工作室学习方向的确定,这就避免了同学选择方向时,因工作室已满而不得不转方向。对于已经在工作室学习的同学,导师可以通过本签到系统,方便的了解同学的出勤状况,历史缺到次数。简单的新闻系统,使同学们能够及时了解工作室最新动向。通过站内短信,同工作室,不同工作室之间都可以进行短信交流,也可以进行短信群发。工作室管理中心提供了一个讨论区,同学可以就最新的帖子进行评论,也可以和导师交流最新技术。个人日志功能免除了同学手写日志的苦恼,日志直接提交至导师,导师也可以及时了解同学当天的学习进展。网站链接功能则是由导师或同学添加一些认为好的学习网站,这样能更好的进行知识交流。

在实际使用中,本系统可以发挥互联网的优势、在网络上建立一个工作室管理中心,使得工作室管理更合理。让导师更清楚的掌握学生的出勤状况及学习进度。工作室选向更人性化,让学院更好、更早的进行安排。

1.2 文本的组织

论文主要介绍了工作室管理系统开发的分析过程、设计思想和功能实现,并详细阐述了系统中关键技术的实现。

第一章简述了系统的开发背景、特点以及本人的主要工作。

第二章简述了系统开发的相关技术。

第三章阐述了系统开发的分析和设计过程,包括系统的数据流分析、数据库设计等。

第四章详细描述了软件学院工作室管理系统的过程中所使用的关键技术和系统部分功能的实现。

1.3 本人做的主要工作

在软件学院工作室管理系统的开发过程中,我参与并完成了从需求分析、概要设计、数据库设计到系统功能划分、最终实现的一系列工作。

本人在系统中主完成全部模块,包括新闻公告、工作室管理、论坛、问答系统、考勤管理、荣誉管理、选方向管理、资源管理等。

第二章系统开发相关技术概述

2.1 B/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.2 JSP技术概述

2.2.1 什么是JSP技术

JSP(JA V A SERVER PAGES)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它由HTML代码和嵌入其中的JA V A代码所组成。服务器在页面被客户端请求以后对这些JA V A代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP具备了JA V A技术的简单易用、完全面向对象、具有平台无关性且安全可靠,其在动态网页的建设中有其强大而特别的功能,下文将简单介绍其优点[2] [3] [4] [5]。

2.2.2 JSP技术的优点

第一、将内容的生成和显示进行分离。

使用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.3 struts技术

2.3.1 struts与MVC

JSP 标记只解决了部分问题,还得处理验证、流程控制和更新应用程序的状态等问题。MVC(模型-视图-控制器)通过将问题分为三个类别来帮助解决单一模块方法所遇到的某些问题:[6] [7]

Model(模型)

模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包

含的唯一功能就是状态。它对视图或控制器一无所知。

?View(视图)

视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方

法,但不能访问写方法。此外,它对控制器一无所知。当更改模型时,

视图应得到通知。

?Controller(控制器)

控制器对用户的输入作出反应。它创建并设置模型。

2.3.2 struts的工作原理

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.4 MySQL简介

MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。

SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。

MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL 服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过40 个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。

MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。

2.5 Hibernate简介

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.6 Lucene简介

Lucene是apache软件基金会[4] jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了Lucene作为其内部全文检索子系统的核心。apache软件基金会的网站使用了Lucene作为全文检索的引擎,IBM的开源软件eclipse[9]的2.1版本中也采用了Lucene作为帮助子系统的全文索引引擎,相应的IBM的商业软件Web Sphere[10]中也采用了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 Search[11])、分组查询等等。

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. <% @ taglib prefix=”someprefix”uri=”/sometaglib”%>

为了使到JSP容器能够使用标签库中的自定义行为,必须满足以下两个条件:

1)从一个指定的标签库中识别出代表这种自定义行为的标签

2)找到实现这些自定义行为的具体类

第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的前缀(Taglib Directive's 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属性值的标签库指令来和具体的标签库匹配。

第三章系统的分析与设计

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 图

在软件学院工作室管理系统中,整个系统都是围绕管理员、导师、学生三种用户来的,主要是师生间的日常教学工作及交流,因此可以将这点做为E -R 图的分析重点,围绕它们进行其它数据的E-R 图分析。通过管理员、导师、学生这些实体,我们可以得出还有工作日志、短消息、公告、新闻、教学资源等实体。

根据系统数据流图的描述,我们可以得出系统E-R 图如下图所示。

出勤情况

论坛讨论

日志

图3.4系统E-R图

3.3.2 数据库表设计

(1) 管理员详情表(WR_AdminInfo),其中主键为UID,具体字段信息如表

3.1所示。

表3.1管理员详情表

(2) 问答答案表(WR_AskAnswer),其中主键为AnswerId,具体字段信息如

表3.2所示。

相关主题
文本预览
相关文档 最新文档