摘  要


本次课程设计主要是针对于学校教研信息的登记管理归档根据实际工作流程做出适合实际工作的,能够减少工作流程的工作量,有效的提高工作效率的网站系统。

本次设计在开始的前台界面设计时主要是使用DIV+CSS布局样式,设计时能灵活准确的定位每一个模块的位置,在程序语言上使用的是javascript,数据库使用的是mysql数据库,开发工具是myeclipse8.5.0,调试程序是tomcat,服务器系统的话没有限制,linux和windows都可以调试使用。

这次系统设计主要实现的功能是对全校的在职教师进行所有科研信息等登记,然后进行管理和归档,之后有管理用户,根据需要统计的信息使用系统进行复核用户要求的查询,然后导出打等等服务,同时考虑到一些现实特殊情况,在系统中我也加入了添加和编辑用户的功能模块。

这个系统设计中还涉及到了一个角色,就是部门助理,他起到了管理人员和老师之间的连接作用,主要负责用户的审核和管理,以及学院的公告通知的发布。而且他还能够根据学院的要求查询相应的论文和科研已经用户信息进行管理和使用。

这次的系统设计类似于一个OA系统的开发了,因为是按照OA系统的开发思想和流程去设计的,只是因为涉及到的工作流程比较的少,所以只能算是伪OA。

关键词:超文本表示语言、客户端脚本语言、协同办公、网页层与样式布局


ABSTRACT


This course is designed for the administration of the registration of the school teaching information according to the actual working process file made for practical work, which can reduce the working process of the workloadand effectively improve the work efficiency.

The design at the begin of the front desk interface design is mainly use DIV CSS layout style, design + flexible accurate positioning when each module in the position, in program language use javascript, database is using mysql database, development tools is myeclipse8.5.0, debugging is tomcat, server system there is no limit to the word, Linux and Windows can use debugging.

The main function of the realization of the system design is to the entire school teachers all the work of the scientific research information management, and then the registration and filing and, later, user management, according to the need of information system used statistical review by the user's query, then play, etc., are also considering some special cases, the reality in the system I joined the users to add and edit the function module.

The system design also refer to a role, is department assistant, he played a management personnel and the connection between the teacher role, mainly responsible for the user review and management, and the institute of the release of the public notice. And he also can according to the requirements of the college papers and scientific research of the corresponding inquires has the user information management and use.

The system design is similar to a OA system development, because according to the development of the OA system is thought and process to design, just because involves the working process of the comparison of the little, it can only be regarded as false OA.

Keywords:Hyper Text Markup Language (HTML)、(OA)、DIVISION +CASCADING STYLE SHEETS (DIV+CSS) 



目    录


1办公系统简述

1.1 概述和设计背景

1.2 设计思想

1.3 设计规划

2 系统设计中的相关技术

2.1 XML技术

2.2 系统设计中的相关JSP技术

2.3 系统中使用的DIV+CSS技术

2.4 数据库规划与选择概述

3 系统需求分析

3.1 系统需求获取

3.2 系统需求建模

3.3 系统需求描述

4 系统设计分析

4.1 系统模块用例分析与设计

4.1.1 用户模块分析与设计

4.1.2 公告模块分析与设计

4.1.3 科研信息登记模块

4.1.4 建议反馈模块设计

4.1.5 查询与导出模块分析设计

4.2 系统类图分析与设计

5 数据库分析与设计

5.1 数据库需求简介

5.2 数据库详细设计

5.2.1 管理系统的E-R图分析

5.2.2 管理系统的数据表设计

6 系统详细设计

6.1 时序图和协作图

6.1.1 用户登录和注册的时序图

6.1.2 用户查询和管理的时序图

6.2 状态图

6.3 用户登录活动图

7 系统实现

7.1 系统的主界面与管理

7.2 用户注册模块实现

7.3 用户管理模块实现

7.4 公告管理模块实现

7.5 用户信息录入模块实现

7.6 用户查询模块实现

7.7 论文查询模块实现

7.8 用户反馈模块实现

8 系统测试与修改

8.1 系统测试概述

8.2 系统测试

结论

参考文献:

翻译部分

英文原文

中文原文

致谢


1办公系统简述

1.1 概述和设计背景

针对于现今社会智能办公的推广,越来越多的OA系统应市场需求而迅速广受追捧,而高校中很多工作的效率都受到了人手和程序的限制而得不到有效的提高和便利,为此有效的根据日常办公流程进行抽象从而开发能提高工作效率的OA体统就得到了迫切的需要。

为此我将课题定位协同办公系统,并且实地调研,分析需求,用实际工作中的需求来做自己的毕业设计。本次课题以日常科研办公流程为课题对象,根据实地考察调研,抽象出可以定制的工作流,通过编程实现工作流程的办工智能化,并实现多角色的协同办公。

在日常工作中,我们很多时候从事的工作具有重复性,可多次调用,重复登记,实时性要求较高,文档保存性要求高,分类整理,可查性高等等特点,为此,人力很难从根本上提高效率,减少工作量,

所以我们需要通过对他们的工作流程进行分析,抽象,并减去其中的缀余,最终实现工作的最实时性和简便性。

目前国际上,随着经济全球化的发展,我国更多的企业将走上国际化发展道路。其分支机构、合作伙伴遍布全球,与不同国家、不同地区之间的大量业务往来,形成异地办公的诉求;人员流动增多,形成移动办公的诉求;公司为精简机构,提高工作效率,降低办公成本,越来越多的企业让员工在家上班办公,形成家庭办公的诉求……因此对这些企业而然,其OA平台将是以GPRS网络为承载,全面支持各种主流办公系统,支持手机、PDA、PC等终端设备对企业内部办公系统的实时访问,将信息沟通和数据传递到国内外任何一个有手机信号的地方,用户使用该平台如同在一个移动办公室里工作。

OA系统不仅仅是企业办公的一种工具,更应该是一种有思想、有模式的懂管理的软件,目前市场上主流的协同OA系统就为现代企业发展注入了强劲的动力,协同OA系统是在研究现代组织实践案例和管理理论发展方向的基础上,结合神经网络的研究成果而设计的协同管理系统。它以动态组织为行为主体,以工作流为传导模型,以任务为处理模型,将组织行为的复杂性通过三者的结合充分表现出来,从而帮助实际组织解决管理过程中的复杂课题。

本次课题中以科研信息管理为实现对象,从这个工作的参与者,工作流程,工作分工等等角度去分析,实现部门领导(管理员),技术支持者(超级管理员),部门助理,和普通用户。从分别的工作特色和工作范围来制定权限,根据业务流程来制定整个系统的数据流。并且根据用户的需求实现批量导出EXCEL文件的功能,使得后期使用和随时随地的打印所需的资料成文了现实。并且由于重复性的工作和缀余的工作在这套系统中被合理的改善,所以可以从根本上大大的提高工作效率。由于这个套系统是多用户多角色等系统办公,所以人力中很难实现的同步办公本次课题设计中也将能够得到实现,由于是自己设计的第一个系统,所以本系统比较的简单,功能也比较的少,但是能完全根据实际应用来开发,从而达到减轻实际上的工作量,提高实践中的工作效率。

本次课题定位科研信息管理系统是因为科研信息工作的重复性高,信息查找,导出,打印,多角色等比较显著,比较容易入手,所以我选择用这个作为我OA系统开发的第一次尝试。

1.2 设计思想

这次课题为协同办公系统,我通过实地调研,分析需求,用实际工作中的需求来做自己的毕业设计。本次课题以日常科研办公流程为课题对象,根据实地考察调研,抽象出可以定制的工作流,通过编程实现工作流程的办工智能化,并实现多角色的协同办公。

在这次系统设计中,我根据现在计算机行业比较热门的设计思想--- UCD思想来进行实现这套系统的设计。   UCD(User-Centered Design以用户为中心的设计)起源与上世纪八十年代后期,在九十年代后期传入我国,并在本世纪初在我国真正投入实践。  目前,在国外随着UCD思想的成熟和UCD理论体系的形成,UCD开发方法得到了广泛的使用。在国内,联想、华为等国际化步伐较快的公司相继引入UCD思想,设立UCD设计部,使UCD想得到了广泛的关注与应用,国内掀起了研究UCD思想的热潮。

以UCD思想为核心的OA系统开发的基本流程:

UCD方法开发过程,是一个反复螺旋式上升逐渐满足用户要求的过程,是一个在每一阶段注重创新性思维的过程。  进行UCD开发的首要任务是分析系统开发的工作分类,每一个类别的工作对应于一个专业的领域知识。并且要和实际用户实时沟通交流。

分工完成之后就进入了开发环节:

1. 背景研究。本阶段应该确定科研信息管理系统中所涉及到的用户的背景,了解其进行开发的目的和开发产品所用于具体的环境;     2. 深度研究。更加深入的对用户进行了解,采取深度面试、问答、用户角色与场景了解,最后达到确定用户目标的目的,同时确定开发时可用的可用性目标。     3. 概念定义。根据以上了解条件建立概念模型,再次明确使用场景。之后建立用户可以测试的简易原型,用户对原型进行可用性测试,最后由测试者对原型作出评价。然后对原型改进,直至满意。     4. 界面设计。根据满意的简易原型建立产品结构示意图,确定初步程序流程,建立具体的产品框架,建立与用户沟通的交互原型。在以上工作基础上,进行卡片分类排序 ——就是把关键流程用卡片形式定义下来,然后不断组织,了解和挖掘最佳的排序模式。     5. 程序实现。根据以上的调研和反复的以用户为中心的改进,将系统进行编程实现。     6. 执行测试。用户对建立初步系统进行可用性测试,组织专家进行专家评估和易用性评估,并在这些工作的基础上进一步改进产品系统。     7. 发布。在专家与用户测试都通过后就可以进入到产品的发布阶段,在此阶段应该注意市场对产品的反馈,以便积累经验,对产品进一步改进。  最后是产品的维护阶段。在此阶段,开发者要主动和用户沟通,找出存在的问题并及时的进行修改。这一阶段是非常重要的,决定软件客户满意度的关键往往在这一阶段。

1.3 设计规划

第一阶段:用户背景研究阶段。

这个阶段主要是现场的用户工作背景调研分析 ,根据观察了解该部门该项工作中设计到的相关人员的实际工作情况,和工作流程,并根据实际工作情况抽象出能够逻辑化的数据流程,并根据参与到整个工作流程中的各个角色进行面向对象的设计分析,这项工作主要针对学校所有教师的科研信息进行管理的一套工作流程,主要涉及到该工作流程的用户有部门领导,各学院助理,所有的老师,所参与的工作是登记所有教师的所有科研信息和个人信息等等,然后统一交给部门助理,部门助理讲其按照规定进行整理并按照领导要求进行筛选登记和管理以及归档。领导在需要用到某个数据的时候让部门助理进行相关的整理和查询,再根据需求整理出新的材料给领导,也可以领导自己查阅相关的信息资料。

第二阶段:深度研究。

根据实际工作中的工作流程,我们可以抽象出三个角色,即:管理员,部门助理,用户,和超级管理员。按照实际中的抽象,分别授予管理员授权部门助理,查询信息,反馈回复等高级操作;部门管理员发布公告,查询登记,管理用户等操作;超级管理员系统参数设置,程序管理和运行状态查看等程序级权限;用户登记自己所有科研信息,论文信息,提出意见和查看回复。工作流程为从管理员创建部门助理角色,并通过部门助理还下发各类公告和用户管理,用户从注册信息,然后助理审核,通过后进入,修改个人信息,并登记各类科研信息。管理人员可以根据论文的各类属性进行查询,并用来导出EXCEL,将导出的excel自动保存在本地磁盘中。也可以根据用户的各类属性进行用户的信息查询和导出,且可自动统计论文数等等。

管理员在这个系统中其实并不是很标准的称呼,但是因为这次课程设计,该角色是最高权限者,他通过授权任命出部门管理者,这个部门管理者在现实中的学院管理者也可以是一个辅助领导的专职人员,而用户则为涉及到相关工作的教授等等人员。跟现实中的实际工作比较的相似。

所有的人员都在他的信息表里面加一个权限属性,用0,1,2这类的独一的标志来标识各个角色的权限并作出判断,每个角色自动转入他所属工作的单独界面,里面只有与他相关的各个操作功能模块。













图1.1工作流程图

上附这次研究整理后得出的工作流程的抽象图形表示。(图1.1)

一共为三个角色参与到整个工作流程中,其中部门助理算是管理者和科研教师的中间媒体,所有的通知和管理工作都可以通过部门助理想教研老师来传达,而教师需要将自己所有的信息按表格登记,整理好交由部门助理,助理整理好归档,然后根据领导的要求重新整理好,按照领导需求整理出所需要的文档。并且分好类,编好号存档。

第三阶段:概念定义。

这次系统设计中,将三个角色分别定义为:部门领导---超级管理员,学院助理---部门助理,老师----普通用户;将通知定义为公告,将职责定义为授权,各类科研信息定义为数据库的表,并用各个内容为其属性标识。

第四阶段:界面设计。

这次系统设计主要设计到得模块有登陆模块,公告模块,注册模块,信息登记模块,科研信息输入模块,用户管理模块,意见反馈模块。。。。。根据这些需求前期做出这次     系统的界面设计,如图1.2,图1.3


图1.2  首页界面


图1.3  管理员用户界面

2 系统设计中的相关技术

2.1 XML技术

可扩展置标语言(英语:eXtensible Markup Language,简称:XML),又称可扩展标记语言,是一种置标语言。置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用置标语言(SGML)中简化修改出来的。它主要用到的有可扩展置标语言、可扩展样式语言(XSL)、XBRL和XPath等。

XML是从1995年开始有其雏形,并向W3C(万维网联盟)提案,而在1998二月发布为W3C的标准(XML1.0)。XML的前身是SGML(The Standard Generalized Markup Language),是自IBM从1960年代就开始发展的GML(Generalized Markup Language)标准化后的名称。

GML的重要概念:

文件中能够明确的将标示与内容分开

所有文件的标示使用方法均一致

1978年,ANSI将GML加以整理规范,发布成为SGML,1986年起为ISO所采用(ISO 8879),并且被广泛地运用在各种大型的文件计划中,但是SGML是一种非常严谨的文件描述法,导致过于庞大复杂(标准手册就有500多页),难以理解和学习,进而影响其推广与应用。

同时W3C也发现到HTML的问题:

不能解决所有解释数据的问题 - 像是影音档或化学公式、音乐符号等其他形态的内容。

性能问题 - 需要下载整份文件,才能开始对文件做搜索。

扩充性、弹性、易读性均不佳。

为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述数据语言:XML。 XML是在一个这样的背景下诞生的——为了有一个更中立的方式,让消费端自行决定要如何消化、体现从服务端所提供的信息。

XML被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段(XSLT,CSS等)可以完成最终的形式表达(生成对应的HTML,PDF或者其他的文件格式)。

用途XML设计用来传送及携带数据信息,不用来表现或展示数据,HTML语言则用来表现数据,所以XML用途的焦点是它说明数据是什么,以及携带数据信息。

丰富文件(Rich Documents)- 自定文件描述并使其更丰富

属于文件为主的XML技术应用

标记是用来定义一份资料应该如何呈现

元数据(Metadata)- 描述其它文件或网络资讯

属于资料为主的XML技术应用

标记是用来说明一份资料的意义

设置档案(Configuration Files)- 描述软件设置的参数

例XML定义结构、存储信息、传送信息。下例为张旭发送给陈贞伶的便条,存储为XML。

<小纸条>

<收件人>陳貞伶</收件人>

<发件人>張旭</发件人>

<主题>問候</主题>

<具体内容>最近可好?</具体内容>

</小纸条>

这XML文档仅是纯粹的信息标签,这些标签意义的展开依赖于应用它的程序。

结构每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言,<?xml version="1.0"?>。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码,<books>,则是文档元素(document element),它是文件中最外面的标签(我们认为元素(element)是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。

范例文件中的第三行代码是注释,你会发现它与HTML中使用的注释风格是一样的。这是XML从SGML中继承的语法元素之一。

页面再往下的一些地方,可以发现<desc>标签里有一些特殊的语法。<![CDATA[ ]]>代码用于表示无需进行解析的文本,允许诸如大于号和小于号之类的特殊字符包含在文本中,而无需担心破坏XML的语法。文本必须出现在<![CDATA[和]]>之间才能合适地避免被解析。这样的文本称为Character Data Section,简称CData Section。

下面的一行就是在第二本书的定义之前的:

<?page render multiple authors ?>

虽然它看上去很像XML序言,但实际上是一种称为处理指令(processing instruction)的不同类型的语法。处理指令(以下简称PI)的目的是为了给处理页面的程序(例如XML解析器)提供额外的信息。PI通常情况下是没有固定格式的,唯一的要求是紧随第一个问号必须至少有一个字母。在此之后,PI可以包含除了小于号和大于号之外的任何字符串串行。

最常见的PI是用来指定XML文件的样式表:

这个PI一般会直接放在XML序言之后,通常由Web浏览器使用,来将XML数据以特殊的样式显示出来。

XML的结构有一个缺陷,那就是不支持分帧(framing)。当多条XML消息在TCP上传输的时候,无法基于XML协议来确定一条XML消息是否已经结束。

2.2 系统设计中的相关JSP技术

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP事实上就是Java,只是它是一种特别的Java语言,加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了<jsp:*、<%@等一系列的特别语法,使用这些语法来进行一些特定的操作,如引用文件、URL转向、JavaBean引用等这样的操作,这些都是由引擎自动帮你完成初始化的工作。 我们可以将这个引擎看作一个Jsp到Java Servlet的生成器或是翻译器,让用户不用再面对复杂的Servlet中的还没开始工作就要写的几十行代码。这就是JSP--一个Java Servlet生成器。JSP->Java Servlet Code(.java文件)->Java Runtime Bin Code(.class文件),这就是为什么我们第一次运行JSP时CPU运行能达到很高的原因,它实际上是调用了jsp引擎来生成java文件,再用javac来编译它到class文件,这才能去执行它。同时也说明了在第一次运行以后,速度为什么哪么快的原因,只要这个jsp文件不改变哪么这个操作就不再会进行了(除非你删除了class文件)。java有什么jsp就有什么样的功能,与asp一样,jsp的真正力量是我们永远看不到头的。

2.3 系统中使用的DIV+CSS技术

DIV+CSS是网站标准(或称“WEB标准”)中常用术语之一,div+css 是一种网页的布局方法,这一种网页布局方法有别于传统的HTML网页设计语言中的表格(table)定位方式,真正地达到了w3c内容与表现相分离。HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化、专用化。XHTML语言是一种可以将HTML语言标准化,用XHTML语言重写后的HTML页面可以应用许多XML应用技术。使得网页更加容易扩展,适合自动数据交换,并且更加规整。在XHTML网站设计标准中,不再使用表格定位技术,而是采用DIV+CSS的方式实现各种定位。

HTML语言自HTML4.01以来,不再发布新版本,原因就在于HTML语言正变得越来越复杂化、专用化。即标记越来越多,甚至各个浏览器生产商也开发出只适合于其特定浏览器的HTML标记,这显然有碍于HTML网页的兼容性。于是W3C组织进而重新从SGML中获取营养,随后,发布了XML,XML是一种比HTML更加严格的标记语言,全称是可扩展标记语言(EXtensible Markup Language)。但是XML过于复杂,且当前的大部分浏览器都不完全支持XML。于是XHTML这种语言就派上了用场,XHTML语言就是一种可以将HTML语言标准化,用XHTML语言重写后的HTML页面可以应用许多XML应用技术。使得网页更加容易扩展,适合自动数据交换,并且更加规整。说了这么多,现在该说正题了——CSS。而CSS关键就在于其与脚本语言(如Javascript)及XML技术的融合,即CSS+Javascript+XML(实际上有一种更好的融合:XML+XSL+Javascript)——但XSL,即可扩展样式表语言相较于CSS过于复杂,不太容易上手。自从CSS出现之后,HTML终于摆脱了杂乱无章的恶梦,开始将页面内容与样式分离。

布局优点:

一、使页面载入得更快

由于将大部分页面代码写在了CSS当中,使得页面体积容量变得更小。相对于表格嵌套的方式,DIV+CSS将页面独立成更多的区域,在打开页面的时候,逐层加载。而不像表格嵌套那样将整个页面圈在一个大表格里,使得加载速度很慢。

二、降低流量费用

页面体积变小,浏览速度变快,这就使得对于某些控制主机流量的网站来说是最大的优势了。

三、修改设计时更有效率

由于使用了DIV+CSS制作方法,在修改页面的时候更加容易省时。根据区域内容标记,到CSS里找到相应的ID,使得修改页面的时候更加方便,也不会破坏页面其他部分的布局样式。

四、保持视觉的一致性

DIV+CSS最重要的优势之一:保持视觉的一致性;以往表格嵌套的制作方法,会使得页面与页面,或者区域与区域之间的显示效果会有偏差。而使用DIV+CSS的制作方法,将所有页面,或所有区域统一用CSS文件控制,就避免了不同区域或不同页面体现出的效果偏差。

五、更好地被搜索引擎收录 

由于将大部分的HTML代码和内容样式写入了CSS文件中,这就使得网页中正文部分更为突出明显,便于被搜索引擎采集收录。

六、对浏览者和浏览器更具亲和力

我们都知道网站做出来是给浏览者使用的,对浏览者和浏览器更具亲和力,DIV+CSS在这方面更具优势。由于CSS富含丰富的样式,使页面更加灵活性,它可以根据不同的浏览器,而达到显示效果的统一和不变形。

2.4 数据库规划与选择概述

数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:

(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。

(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。

常用数据库:

麦杰的openPlant实时数据库

openPlant实时数据库系统采用当今先进的技术和架构,可安全、稳定地实现与现场各控制系统的接口,并能对采集来的数据进行高效的数据压缩和长期的历史存储,同时提供方便易用的客户端应用和通用的数据接口(API/DDE/ODBC/JDBC/OPC等),使企业的管理和决策人员能及时、全面的了解当前的生产情况,也可回顾过去的生产情况,及时发现生产中所存在的问题,提高设备利用率,降低生产成本,增强企业的核心竞争力。

IBM 的DB2

DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。

Oracle

Oracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。

SQL Server

1987 年,微软和IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。

mySQL

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。对于Mysql的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

Access数据库

美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。

本次课题设计中由于数据量属于中等大小,所以对于小型的快捷数据库ACCESS肯定不可以使用,而ORALE的设计成本比较大,于是就选择了在多平台下都可以使用的MYSQL作为本次课题设计的数据库。











3 系统需求分析

3.1 系统需求获取

本次系统设计的原型是教学科研管理工作,主要涉及到的信息有:

教师基本信息表格,主要包括:姓名,性别,出生年月日,办公室电话,手机号码,单位 办公室地址,职务,任职时间,学历,教育时间,教育地点,包括在读,选填);教师个人获奖情况表,成果情况表;教师论文发表情况表:论文类型,第几作者……;教师承担课题情况表:课题名称,课题性质,本人角色……(可以为多条信息);教师开课情况表:本年度开设情况,下年度开设情况……;

教师参与培训表:培训时间,培训内容……(可以为多条信息);教师其他成果表:成果名称,报送单位,报送时间,本人承担部分……;教师讲座情况表:讲座名称,讲座人数,讲座时间,讲座性质……;教师读书情况表:所读书名,书刊作者,出版单位,出版时间,读书备注。

涉及到的人员有,党委宣传部领导,学院的科研助理,学校所有在职教师,所从事的工作流程是:所有的教师按照表格要求登记所有的科研信息和个人信息等等,然后统一交给部门助理,部门助理讲其按照规定进行整理并按照领导要求进行筛选登记和管理以及归档。领导在需要用到某个数据的时候让部门助理进行相关的整理和查询,再根据需求整理出新的材料给领导,也可以领导自己查阅相关的信息资料。

这个工作流程中设计的数据量实在太大,重复性大,查询登记,和针对某个特定资料的统计整理等等很麻烦,效率低工作量大,而如果能够用一个数据库来存储这些数据,然后用sql语句根据用户需求登记和查询相对应属性的数据,并导出要单独的excel中,从而快捷的提高整个工作的工作效率,而从根本上减轻用户的工作量,而且能够长久的保证所有数据的存储。

管理员和用户之间的交互主要有管理员和用户之间的意见反馈的交互,用户管理的交互。部门助理和用户之间的交互主要有部门助理对用户的审核,部门助理的公告发布。部门助理和管理员的交互有管理员任命部门助理,还有部门助理根据管理员要求发布信息公告。

整个系统所对应的工作中,登记和整理是使用频率最多的工作,所以在系统设计时,要把这两个功能模块做细,要能够根据用户的要求完全模拟出现实中的工作流程。用户管理也比较的重要,使用的也很频繁,所以这个功能模块的安全性和稳定性要求比较高。

3.2 系统需求建模

(1)用户模块的需求分析和用例图的建立:

根据需求分析得到用户分三级用户权限,每个用户角色都有特定的操作权限。

超级管理员。权限如下:所有,增、删、改、查所有人的教学科研情况信息,分配、修改、删除、查询每个人的信息(含自己的),可以回复系统用户反馈的问题和建议;

一般管理员。权限有:查看所有人,修改自己的信息资料,不含教学科研情况信息,可以发布系统公告,角色为管理员助理;

一般用户。这类用户占数据用户类型的大多数,权限是:特例,增、删、改、查自己的教学科研情况信息,修改、查询自己的个人信息,查询其他人科研情况信息,已经提出建议和问题。



如图2.1用户模块用例图

基于Java部门办公网站系统的设计与开发的计算机毕设_XML

图3.1用户模块用例图

公告模块分析与设计模块:

系统中公告是由管理员传达给部门助理,由部门助理通知相关的老师,在这里我们选用公告模式,且公告发布可以让用户在未登录的情况下也可以查看到相关公告。如图2.2

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_02

图3.2公告模块用例图

科研信息登记模块分析与设计:

普通用户登录进系统后,先填写个人的详细资料,然后再再科研项目模块里面根据自身实际情况进行相对应的各个教研信息的填写,填写内容可以为多个也可以为单个。如图2.3

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_03

图3.3科研信息登记模块用例图

建议反馈模块设计:

用户在登录进系统后根据自己发现的问题等在系统中向管理员提出反馈信息,系统自动保存在系统数据库中,在管理员登录进系统后展现在反馈回复模块中,子啊查看反馈后对其进行回复。如图2.3


基于Java部门办公网站系统的设计与开发的计算机毕设_XML_04

图3.4 建议反馈模块用例图

查询与导出模块分析设计:

管理员和部门助理在登录进系统后可以对用户和论文进行查询,通过读取数据库中已有的信息,查询到符合相关条件的各类信息并进行筛选,并从系统导出为EXCEL,并保存。如图2.5

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_05

图3.5查询模块用例图

3.3 系统需求描述

目的

这次需求分析主要是根据现实的工作流程来建好一个系统设计的模型,然后让潜在的使用对象来了解这个系统将要实现的功能,并提出相应的修改意见。 本次系统需求设计所针对的对象为,科研信息管理的领导,学院助理,全校所有的老师。所以要针对这三种角色分别详细的叙述出他们各自所要做的事已经能给他们实现的功能和带来的便利。

产品描述

这次系统设计为协同办公系统,我通过实地调研,分析需求,用实际工作中的需求来做自己的毕业设计。本次课题以日常科研办公流程为课题对象,根据实地考察调研,抽象出可以定制的工作流,通过编程实现工作流程的办工智能化,并实现多角色的协同办公。

根据实际工作中的工作流程,我们可以抽象出三个角色,即:管理员,部门助理,用户,和超级管理员。按照实际中的抽象,分别授予管理员授权部门助理,查询信息,反馈回复等高级操作;部门管理员发布公告,查询登记,管理用户等操作;超级管理员系统参数设置,程序管理和运行状态查看等程序级权限;用户登记自己所有科研信息,论文信息,提出意见和查看回复。工作流程为从管理员创建部门助理角色,并通过部门助理还下发各类公告和用户管理,用户从注册信息,然后助理审核,通过后进入,修改个人信息,并登记各类科研信息。管理人员可以根据论文的各类属性进行查询,并用来导出EXCEL,将导出的excel自动保存在本地磁盘中。也可以根据用户的各类属性进行用户的信息查询和导出,且可自动统计论文数等等。

产品功能

这个系统主要能实现以下功能,用户登录,用户验证,用户注册,科研信息登记,公告发布,用户管理,意见反馈,用户查询,论文查询等等功能模块,主要实现三种用户从教师的科研信息录入,论文上传,到领导角色的用户管理到用户查询筛选,论文查询与统计,以及部门助理的通告通知和用户审核。下面是各个用户和各个功能模块之间的对应关系的用例图,如图2.7 

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_06

图3.7 各用户与功能模块对应的用例图

用户特点

三个用户中,其中教师用户是经常性的增加,所以除了提供管理员的用户管理外还开放了注册功能模块,以方便每年的教师更新,而部门助理用户是经常性变动的,所以我们在管理员用户里面添加了用户添加的功能模块,以方便部门助理的流动性这一特点,而管理员一般是不会变动的,当然也会出现调职,升职等等特殊情况,所以我这边也提供了管理员的增加和修改功能。

三个用户角色中管理员并不是最高 权限什么都能做,而是相互制约的,即用户的所有信息和科研成果只能由用户进行填写,而管理员只能查询和查看,而用户的审核则是由部门助理来完成,管理员没有相应权限,用户建议反馈则只有管路员才能查看和回复。

系统设计期望功能

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_07

图3.6 用户期望实现功能表









4 系统设计分析

4.1 系统模块用例分析与设计

4.1.1 用户模块分析与设计

用户分三级用户权限,每个用户角色都有特定的操作权限。

超级管理员。权限如下:所有,增、删、改、查所有人的教学科研情况信息,分配、修改、删除、查询每个人的信息(含自己的),可以回复系统用户反馈的问题和建议;

一般管理员。权限有:查看所有人,修改自己的信息资料,不含教学科研情况信息,可以发布系统公告,角色为管理员助理;

一般用户。这类用户占数据用户类型的大多数,权限是:特例,增、删、改、查自己的教学科研情况信息,修改、查询自己的个人信息,查询其他人科研情况信息,已经提出建议和问题。

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_08

图 4.1 用户模块用例图

4.1.2公告模块分析与设计

系统中公告是由管理员传达给部门助理,由部门助理通知相关的老师,在这里我们选用公告模式,且公告发布可以让用户在未登录的情况下也可以查看到相关公告。

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_09

图4.2 登录功能用例图

4.1.3 科研信息登记模块

普通用户登录进系统后,先填写个人的详细资料,然后再再科研项目模块里面根据自身实际情况进行相对应的各个教研信息的填写,填写内容可以为多个也可以为单个。

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_10

图4.3 科研登记模块用例图

4.1.4 建议反馈模块设计

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_11

图4.4 建议反馈模板用例图

用户在登录进系统后根据自己发现的问题等在系统中向管理员提出反馈信息,系统自动保存在系统数据库中,在管理员登录进系统后展现在反馈回复模块中,子啊查看反馈后对其进行回复。

4.1.5 查询与导出模块分析设计

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_12

图4.5 查询与导出模块用例图

管理员和部门助理在登录进系统后可以对用户和论文进行查询,通过读取数据库中已有的信息,查询到符合相关条件的各类信息并进行筛选,并从系统导出为EXCEL,并保存。

4.2 系统类图分析与设计

对于这次课题设计的系统,我们可以大致抽象出一下的几个对象类;

管理员类,普通用户类,部门助理类,反馈类,公告类,信息类,权限类,状态类

用户类可以分为管理员,普通用户,部门助理三个类,如图:3.6 3.7 3.8

图4.6 管理员类 图4.7用户类 图4.8 部门助理类

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_13

其中的一些工作中的抽象类为公告类,信息类,权限类,状态类如下:

公告类:公告类主要是用于部门助理根据管理员要求发布公共性的通知公告,主要涉及到发布人员,发布内容,发布日期,是否过时这几个属性,所以它的类可以抽象如下:图3.9

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_14

图4.9 公告类

个人信息类包括了用的所有个人信息,用户名,昵称,电话,地址,用户职位,用户角色等等一系列的信息,可以抽象如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_15

图4.10 个人信息类

用户状态类主要是列出了三个用户角色的当前状态(是否通过审核),当前权限等等一些重要的系统信息,可以抽象如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_16

图4.11 用户状态类






5 数据库分析与设计

5.1 数据库需求简介

根据需求分析,我决定使用MYSQL数据库来设计本次系统,而对于目前对整个系统的分析,我大体的整理出本次系统设计中将要用的表,大体表有如下的:

登录信息:用户名、密码,角色,审核状态。。。

录入

基本信息:

姓名,性别,出生年月日,办公室电话,手机号码,单位,办公室地址,职务,任职时间,学历,教育时间,教育地点,包括在读(选填),前两栏信息属于一对一,后者信息属于一对多

下面信息注意各字段格式、长度是否有限制

用户权限表 :

用户名,用户权限,用户部门类别……

获奖情况:

个人获奖情况,成果获奖情况……

论文发表情况:

论文类型,第几作者......

承担课题情况:

课题名称,课题性质,本人角色……(可以为多条信息),开课情况,本年度开设情况,下年度开设情况……

培训:

培训时间,培训内容……(可以为多条信息)

其他成果:

成果名称,报送单位,报送时间,本人承担部分……

讲座情况:

讲座名称,讲座人数,讲座时间,讲座性质……

读书情况:

所读书名,书刊作者,出版单位,出版时间 ,读书备注

5.2 数据库详细设计

5.2.1 管理系统的E-R图分析

用户模块的实体属性图

部分典型E-R图







基于Java部门办公网站系统的设计与开发的计算机毕设_数据_17








基于Java部门办公网站系统的设计与开发的计算机毕设_XML_18


图5.2 建议模块实体图










基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_19


图5.3 培训模块实体图










基于Java部门办公网站系统的设计与开发的计算机毕设_XML_20

图5.4 论文模块实体图











基于Java部门办公网站系统的设计与开发的计算机毕设_XML_21

图5.5 课题模块实体图









基于Java部门办公网站系统的设计与开发的计算机毕设_数据_22

5.6图 成果模块实体图








基于Java部门办公网站系统的设计与开发的计算机毕设_数据_23

图5.7 讲座模块实体图









基于Java部门办公网站系统的设计与开发的计算机毕设_XML_24

图5.8 个人信息模块实体图

















基于Java部门办公网站系统的设计与开发的计算机毕设_数据_25

图5.9 用户实体与其他实体的关系












基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_26

图5.10 用户实体关系


5.2.2 管理系统的数据表设计

表5.1 用户信息表 (user_information)

列名

数据类型

是否为空

说明

备注

ID

Int

No

次键


USERID

Int

No

主键

用户的登录ID

NICK

Varchar

No


昵称

NAME

Varchar

no


用户真实姓名

SEX

char



用户性别

BIRTHDAY

Datetime



用户生日

PHONE

char



用户电话

MOBILE

char



用户手机

DEPARTMENT

varchar



用户工作部门

ADDRESS

varchar



工作地址

STATE

int

no


审核状态

PROFILE

varchar



用户个人简介

用户信息表主要是所有的用户进入系统后对自己的信息进行登记,第一次注册时只需要输入基本的用户名,真实姓名等基本信息。其余的在进入系统后再修改,可以留空不填。

表5.2 用户权限表(user_enroll)

列名

类型

是否为空

说明

备注

Id

Int

No

次键


nick

Varchar

No

主键

用户唯一名称

password

Varchar

No


登录密码

authentication

Int

no


用户的权限

用户权限表主要是用户名,用户昵称,用户密码,和用户权限,用户权限为0,1,2三个数字代替,其中0为管理员,1为部门助理,2为普通用户。在进行操作时系统自动读取authentication这个字段的值并且进行判断是什么角色。





表5.3 公告表(notice)

列名

类型

是否为空

说明

备注

ID

INT

NO

次键


USEID

VARCHAR

NO

主键

发布公告的用户ID

TITTLE

VARCHAR

NO


公告的标题

DATE

DATETIME

NO


公告发布的日期

CONTENT

VARCHAR

NO


公告的内容

公告表主要包含发布公告的用户的ID,还有公告内容和标题,公告日期几个字段。

表5.4 建议反馈表(suggestion)

列名

类型

是否为空

说明

备注

ID

INT

NO

主键


USERID

VARCHAR

NO


管理员ID

TITTLE

VARCHAR

NO


建议标题

ADVISOR

VARCHAR

NO


提出建议的用户

DATE

DATETIME

NO


提出建议的时间

建议反馈表是两个角色的用户共同调用的表,其中普通用户向管理员提出建议,而管理员登录进系统后可以查看到用户提出的反馈建议,然后对其进行回复

表5.5个人成果表(achievement)

列名

类型

是否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO

主键

昵称

TITTLE

VARCHAR

NO


成果名称

DEPARTMENT

VARCHAR

NO


成果报送部门

TIME

DATETIME

NO


报送时间

DOING

VARCHAR

NO


本人承担部分

表5.6 用户注册情况表

列名

类型

能否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO

主键

昵称

PASSWORD

VARCHAR

NO


密码

AUTHENTICATION

INT

NO


权限

表5.7 用户教育经历表

列名

类型

能否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO


昵称

START

DATETIME

NO


起始时间

END

DATETIME

NO


结束时间

SCHOOL

VARCHAR

NO


所在学校

MAJORITY

VARCHAR

NO


所读专业


表5.8 用户开课情况表(user_course)

列名

类型

能否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO

主键

昵称

TITTLE

Varchar

No


开课名称

PEOPLE

INT

NO


课程人数

Site

VARCHAR

NO


开课地点

longTime

Int

No


课程时间

TIME

DATETIME

NO


开课时间

Class

Varchar

No


课程性质

OTHER

VARCHAR



课程描述

表5.9 用户讲座情况表 (user_lecture)

列名

类型

能否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO

主键

昵称

TITTLE

Varchar

No


讲座名称

PEOPLE

INT

NO


讲座人数

Site

VARCHAR

NO


讲座地点

TIME

DATETIME

NO


讲座时间

Class

Varchar

No


讲座性质

OTHER

VARCHAR



讲座描述

表5.10 用户读书情况表(user_booking)

列名

类型

是否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO

主键

用户昵称

TLTTLE

VARCHAR

NO


书名

AUTHOR

VARCHAR

NO


作者名

PUBLISHER

VARCHAR

NO


出版社名称

TIME

DATETIME

NO


出版时间

OTHER

VARCHAR



读者简介

表5.11 用户职务表

列名

类型

能否为空

说明

备注

ID

INT

NO



NICK

VARCHAR

NO

主键

昵称

START

TATETIME

NO


起始时间

END

DATETIME

NO


结束时间

DEPARTMENT

VARCHAR

NO


所属部门

HEADSHIP

VARCHAR

NO


职务


6 系统详细设计

6.1 时序图和协作图

6.1.1 用户登录和注册的时序图

用户注册模块时序图

用户注册模块中的实际流程为,各学院老师打开系统,在系统界面中打开注册模块输入基本信息,提交注册信息,然后由部门助理登录后对其注册信息进行审核,如果同意则予以其通过,如果不同意则直接删除其注册信息。

这个模块主要涉及到2个角色的用户,即普通用户和部门助理

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_27

图 6.1 用户注册模块时序图

用户登录模块中主要涉及到三个角色两种对象的交互,各用户在打开系统后,输入用户名和密码,然后选择你工作角色,系统根据输入信息进行查询验证操作,在返回操作结果。

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_28

图6.2 用户登录模块时序图

6.1.2 用户查询和管理的时序图

管理员登录进入系统后,打开用户查询功能模块后,出现用户查询条件选项,管理员根据自己想要查询的条件,勾选所需要的用户条件后点击查询,系统根据用户的查询条件筛选出符合条件的用户的信息,然后管理员根据自己需求可以选择将信息导出为EXCEL。如图3.7

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_29

图6.3查询模块时序图

当管理员需要对用户进行管理时,打开用户管理模块,这时候系统从数据库获取所有的用户信息在当前界面窗口中显示出来,并且管理员对所有用户拥有添加删除等操作。

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_30

图6.4 用户管理时序图

6.2 状态图

6.2.1登录的状态图

进入系统默认打开的是主界面,这时候需要用户输入用户账号和密码已经工作角色来登录系统,默认是退出状态,而用户如果在一段时间内始终没有任何操作,系统将自动退出到初始界面,如图5.5

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_31

图6.5 用户登录状态图

图中,如果用户自己点击退出或者用户超时未进行任何操作都将退出,回到登录界面,要求重新登录。

5.2.2用户注册状态图

在这个系统中新用户登录系统后,点击注册按钮,输入基本信息后点击申请注册,这时候数据库里多出一条用户数据,只是这个数据的状态为为审核状态,这时候系统对这个用户的申请进行审核,如果通过则用户可以通过账号进行登录,若未通过,则还需进行重新注册。如图5.6

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_32

图6.6 用户申请状态图

5.2.3用户管理状态图

用户进入管理模块后,系统将自动列出所有的用户的信息列表,用户可以通过管理功能模块进行用户的增加,删除等操作,同时系统设置定时器,如果用户超时为进行任何操作的话系统将自动退出操作界面。如图5.7

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_33

图6.7 用户管理状态图

6.3 用户登录活动图

用户登录系统时,输入用户名和密码,然后选择工作权限,在系统设计中,对于用户输入优先验证去权限性,然后再在相应的权限前提下验证用户的信息正确与否,如果存在则打开相应权限角色的登录后功能界面,如果不正确则直接退回到登录主界面,并提示错误,要求其从新输入,而登录后的用户在选择退出功能后自动退出到系统主界面,如果需要进入工作界面还需要重新输入角色信息和个人用户名和密码。如图 5.8

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_34

图6.8  用户登录活动图













7 系统实现

7.1 系统的主界面与管理

在打开系统时出现的是系统的主界面,主要在该页面实现公告显示和用户登录以及用户注册功能,如下图7.1:

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_35

图7.1系统主界面图

主界面主要有用户登录模块,系统公告模块,用户登录模块只要有用户名和密码输入已经角色选择,已经登录和注册的借口,而公告则是自动自下而上的滚动显示所有信息。

主界面设计中主要用到得技术是DIV+CSS.分三层DIV,并且给给个DIV根据其ID单独定义其内部所有内容的CSS样式,整个蓝色背景为一个总DIV,中间的窗口图为二层DIV,而登录和公告怎分别为三层DIV,嵌套在二层DIV内。其中注册为单独调用的register.jsp已经登录调用的login.jsp。

登录界面的程序流程图如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_36

图7.2 系统用户登录流程图

7.2 用户注册模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_37

图7.3系统用户注册界面实现

注册页面是在系统首页主界面的前提下直接调用register.jsp文件在当前窗口显示,主要填写数据库设计时不能为空的那些字段的信息。填写完成后点击注册,则自动调用registerAction.jsp来进行注册信息的操作。

7.3 用户管理模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_38

图7.4 用户管理模块实现

在管理员登录进系统后左边用单独的用户管理模块的入口,点击后进入用户管理模块,右边直接读取所有用户的信息在user_list.jsp中展示出来,并给出管理用户的各类操作接口。流程图如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_39

图7.5 用户管理模块流程图

7.4 公告管理模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_40

图7.6 公告管理模块实现

如图6.4,这是公告管理的界面,公告管理是部门助理角色的功能模块,登录进入部门助理界面后将出现公告管理功能的接口,这里面我们提供公告显示,公告删除,和公告增加的功能

公告管理流程图如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_41

图7.7 公告管理流程

7.5 用户信息录入模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_42

图7.8 用户基本信息录入模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_43

图7.9 用户科研信息录入模块实现

7.6 用户查询模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_44

图7.10 用户查询模块实现

下面是用户查询模块的流程图

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_45

图7.11 用户查询流程图

7.7 论文查询模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_46

图7.12 论文查询模块实现

与上面的用户查询模块相似,所以就不再单独列出来了

7.8 用户反馈模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_47

图7.13 用户提出反馈模块实现

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_48

图7.14 管理员查看回复用户反馈模块实现


8 系统测试与修改

8.1 系统测试概述

面向对象的测试有很多种,面向对象分析测试,面向对象编程测试,面向对象测试等等,这里面我们是根据面向对象的测试方法来测试本次的开发系统。

面向对象测试主要是通过单元测试和集成测试,能保证软件开发的功能得以实现,但不能确认在实际运行时,它是否满足用户的需要,是否大量存在实际使用条件下会被诱发产生错误的隐患。为此,对完成开发的软件必须经过规范的系统测试。换个角度说,开发完成的软件仅仅是实际投入使用系统的一个组成部分,需要测试它与系统其他部分配套运行的表现,以保证在系统各部分协调工作的环境下也能正常工作。系统测试应该尽量搭建与用户实际使用环境相同的测试平台,应该保证被测系统的完整性,对临时没有的系统设备部件,也应有相应的模拟手段。系统测试时,应该参考OOA分析的结果,对应描述的对象、属性和各种服务,检测软件是否能够完全"再现"问题空间。系统测试不仅是检测软件的整体行为表现,从另一个侧面看,也是对软件开发设计的再确认。   这里说的系统测试是对测试步骤的抽象描述。它体现的具体测试内容包括:  · 功能测试:测试是否满足开发要求,是否能够提供设计所描述的功能,是否用户 的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。  · 强度测试:测试系统的能力最高实际限度,即软件在一些超负荷的情况,功能实 现情况。如要求软件某一行为的大量重复、输入大量的数据或大数值数据、对数据库大量复杂的查询等。  · 性能测试:测试软件的运行性能。这种测试常常与强度测试结合进行,需要事先 对被测软件提出性能指标,如传输连接的最长时限、传输的错误率、计算的精度、记录的精度、响应的时限和恢复时限等。  · 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各  种非常的干扰。安全测试时需要设计一些测试用例试图突破系统的安全保密措施,检验系统是否有安全保密的漏洞。  · 恢复测试:采用人工的干扰使软件出错,中断使用,检测系统的恢复能力,特别 是通讯系统。恢复测试时,应该参考性能测试的相关测试指标。  · 可用性测试:测试用户是否能够满意使用。具体体现为操作是否方便,用户界面 是否友好等。

8.2系统测试

本次系统测试属于白色测试,因为在知道源代码的情况下,我们可以很容易以的分析其从来设计出最能表现系统性能的测试数据。

针对系统各单元测试我设计出如下几套测试数据

(1)用户登录测试:测试数据包括正确数据,正确的用户权限错误的用户名测试数据,错误的用户权限错误的用户名测试数据,错误的用户权限正确的用户名测试数据,正确的用户权限错误的用户密码测试数据。。。。。。。。。。

设计出的测试数据如下,标识(*)的则为错误数据

用户权限角色

用户名

密码

期望结果

实际结果

管理员

Admin

Admin

正确

正确

管理员

System  *

System        *

报错

报错

普通用户         *

Admin

Admin

报错

报错

普通用户         *

Admin

123445        *

报错

报错

管理员

System   *

Admin

报错

报错

管理员

123456   *

123456        *

报错

报错

实际结果界面如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_49

图8.1 正确数据界面



基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_50

图8.2 错误数据界面

(2)用户注册数据测试

用户注册界面的数据在数据库设计时我们已经说明了,都不能为空,所以在这里我们设计一些含空的注册信息,还有如果系统里面已经有了相应的用户名,那么注册时也需要能够有相应的提示

测试界面如下:

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_51

图8.3 密码为空测试界面

基于Java部门办公网站系统的设计与开发的计算机毕设_工作流程_52

图8.4 已有信息测试数据界面

(3)公告系统非空测试

基于Java部门办公网站系统的设计与开发的计算机毕设_XML_53

图8.5 公告时间为空测试界面

(4)论文查询模块测试

基于Java部门办公网站系统的设计与开发的计算机毕设_数据_54

图8.6 正确查询条件界面

(5)用户查询测试


基于Java部门办公网站系统的设计与开发的计算机毕设_数据_55

图8.7 正确的用户查询和下载界面

























结论


这次系统设计中本来由于对用户的需求分析做的不到位导致了前期做了很多的无用功,包括对用户注册模块还有论文查询和用户查询模块的了解认知,前期都出现了很大的偏差,导致了系统进行的大量的修改,本来设计的是固定管理员和助理用户,其余用户可以直接注册进入,不需要审核,这和实际工作有很大偏差还有查询功能,由于对永不查询条件和导出信息的不明确,致使开始的设计跟现实工作差别太大,根本没给实际工作带来便利,后来经过长时间的沟通和实践工作环境查看,逐步的将这个系统完善,现在已经完全能够在实际工作中提高工作效率和减少工作量了。

这次完善后的系统我觉得有以下几个优点,第一、他是根据实际工作抽象设计出来的,能够最大程度的满足实际工作中的需要,第二、该系统定义抽象出了实际工作中的角色,能够很明确的给他们的职责做好划分,而且还能避免了以往OA设计中存在的一权独大的现象,个用户之间只是工作上的流程配合,没有谁的权限大于谁的情况出现,只是针对不同的角色给予他们不同的工作权限;第三、这套系统的用户注册和管理功能十分的灵活,无论是审核还是对于用户的查询和管理非常的实用。避免了一般设计的形象工作,而真正把实际工作落实到了实处,完全仿真出现实工作的流程。

但系统也有不够完善的地方,这也是以后需要增加的功能,因为比较复杂,所以没能加入到该系统中,主要包括对于用户科研信息自定义的统计整理和输出,站内邮件系统,还有短信通知模块,这个会是我接下来要完善的地方。对于这几个功能我已经想好了设计思路,对于信息自定义的统计,给用户提供数量统计和详细统计两种选择,来实现最后的统计输出,站内邮件系统完全可以根据现有的意见反馈模块来设计,而短信通知则从读取用户信息表里面的手机信息通过连接在服务器端的短信猫,来实现对用户的短信通知功能。当然,这几个也只是其中的一部分,我想既然成为OA,那么他将应该拥有很多给用户提供便利的功能,而且能够实现这些功能模块的普遍化,能够适用于多种场合。

总体来说对这次设计还算满意,因为自己对于jsp程序设计也算是入门了,而且配合自己比较擅长的DIV+CSS技术,觉得以后工作中也可以往这个方面发展。

这次的JSP程序设计算是我第一次做jsp的设计,所以里面肯定很多不足的地方,还望以后能够有机会多向老师请教!也希望老师到时候能多给我点指点。


参考文献:

[1] 周洁,曾海平.Dreamweaver8网站设计与开发.电子工业出版社,2007.6

[2] 启明工作室.Access数据库应用实例完全解析.人民邮电出版社,2006.4

[3] 蒋彗等.标准建模语言UML教程.北京希望电脑公司,2001.1

[4] Mike O’Dochery著,俞志翔.面向对象分析与设计(UML2.0版).清华大学出版社,2006.4

[5] 奚江华.圣殿祭司的ASP.NET2.0开发详解-使用C#.电子工业出版社,2006.11

[6] 飞思科技产品研发中心编著.精通.NET核心技术-高级特性.电子工业出版社,2002.8

[7] 程不功,龙跃进,卓琳主编.ASP.NET 2.0动态网站开发教程.清华大学出版社,2006.4

[8] (美)Bill Evjen,Scott Hanselman,Farhan Muhammad等著,李海波译.ASP.NET高级编程(第4版).清华大学出版社,2006.11

[9] 孙印杰,杨滔,吕书琴等编著.ASP.NET+SQL Server动态网站设计实例精解.电子工业出版社,2005.10

[10] Russ Basiura,Mike Batongbacal等著,康博译.ASP.NET Web服务高级编程.清华大学出版社,2002.6

[11] Kevin Hoffman,Jeff Gabriel等著,汪钟鸣,战晓书译.NET Framework高级编程.清华大学出版社,2002.5

[12] Ryan Asleson,Nathaniel T.Schutta著,金灵等译.Ajax基础教程.人民邮电出版社,2006.2

[13] Stven Douglas Olson.Ajax on Java. O’Reilly,2007.2

[14] Nicholas C.Zakas,Jeremy McPeak,How fawcett.Ajax高级程序设计.人民邮电出版社,2006.6

[15] (美)Thiru Thangarathinam著,肖弈,曹俊译.ASP.NET 2.0 XML高级编程(第3版).清华大学出版社,2006.9

[16] 王鲜芳,李波,范爱晶等.Server 2003组网教程.电子工业出版社,2005.6

[17] 吴怡编著.计算机网络配置管理与应用-Windows Server 2003.高等教育出版社,2005.12

[18] Bill Hamilton.SQL Server 2005 Reporting Essentials.O’Reilly,2006.11

[19] Don Box,Chris Sells..NET本质论第1卷:公共语言运行库.中国电力出版社,2004.1

[20] 克瓦林纳,艾布拉姆斯 著.NET设计规范:.NET约定、惯用法与模式.人民邮电出版社,2006.7

[21] 袁鹏飞.SQL Server 7.0 数据库管理与应用开发.人民邮电出版社,1999.5

[22] David E. Carter. The Little Book of Layouts: Good Designs and Why They Work. Collins Design,2004.5

[23] Bruce Tate. Bitter Java. Manning Publications,2002.4

[24] Joshua Bloch. Effective Java Programming Language Guide. Addison-Wesley Professional,2001.5