毕业设计企业内部管理信息系统的分析与设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

毕业设计论文第1页共12页毕业设计设计题目:密云县农业信息管理决策系统系别计算机技术系专业年级计算机软件学生姓名学号33指导教师职称毕业设计论文第2页共12页企业内部管理信息系统的分析与设计一、目录和前言(一)系统概述1、系统功能与应用背景当前,网络的影响所覆盖的范围及领域日益扩大,最大的影响莫过于带我们进入信息化时代。随着信息交流节奏的加快,一个高性能的网络化的管理系统平台成为了包括企业、学校和行政部门等团体的一种急切需求。本系统作为一个中小型的管理信息平台,在一定程度上便是适应这样发展的需求。系统具备较完善的信息管理功能,通过使用本系统,企业内部员工用户和高层管理用户实现直达式交流,是沟通更具备实时性和准确性,能够有效地提高工作效率。在众多的网络开发语言中,我们选用JSP,是因为它具有高可靠性和方便的移植性,以及优秀的平台开发解决方案。本系统的开发环境如下:●系统开发操作系统:WindowsXP。●系统开发数据库系统:Oracle9i。●系统开发前台页面设计:DreamweaverMX20004。●JSP服务端引擎:WeblogicServer9.1.●系统后台设计开发环境:Eclipse.2、系统预览如图1-1所示为登录主界面,在这里可以选择登录的部门,根据登录的权限不同,进入的界面也是不同的。如图1-2所示是员工浏览信息的一个部分页面,从图1-2可以看出,员工可以浏览图1-1登录主界面毕业设计论文第3页共12页各该部门所发布的热点信息和最新信息。图1-2员工浏览界面如图1-3所示是某个部门的信息录入界面毕业设计论文第4页共12页图1-3部门信息录入界面根据其账号权限可以在左边导航栏选取所允许操作的功能模块。这种以功能模块来划分的编程思想,大大地增加了开发的独立性和可维护性,是现今系统开发的主流思想。3、系统特点●分层结构设计:本系统采用界面—中间件—数据库三层结构,将不同的复杂的数据库操作或是业务逻辑计算划分为独立的模块封装于Bean中,作为用户界面和数据库之间的中间件,所有的数据库操作由用户界面调用Bean来完成,提高了系统的安全性和可移植性。●分层信息管理:系统采用双层信息分类进行信息的组织管理,使信息的分类归属更为清晰明确,不仅提高了信息的利用效率,而且方便了用户的查看、搜索等。二、系统设计和功能说明(一)系统设计1、系统设计思想系统设计思想在一定程度上决定了一个系统设计的成败,也从某种角度反映了一个系统的生命力。下面来介绍本系统的设计思想。1.1功能的独立化、模块化JSP是嵌入了Java代码的HTML,两种标记混杂在一定程度上使开发更为方便,但也存在问题,比如复杂的代码易出错,且出错时不方便使用开发工具来设置断点排查。使用JavaBean专注开发逻辑层,JSP页面专注于开发表达层,最大限度地提高了开发效率。同时,系统将涉及复杂操作的不同功能独立出来,最为一个模块化来设计,在需要用到特定功能的程序中,仅仅作出调用即可。这样做不仅避免了程序代码中一些不必要的重复,更重要的是使整个系统层次结构更为清晰,大大方便了以后系统功能的增加,在一定程度上也缩减了开发成本。1.2三层结构设计思想系统主体架构采用界面—中间件—数据库这样的三层结构,使系统业务逻辑和数据库基础操作与用户界面分开,能够使业务逻辑程序员更专注于Java程序的开发,而界面设计者专注于用户界面的开发,在一定程度上明确了系统开发的分工,如图2-1所示数据2、系统功能模块和结构设计在本系统中,主要有两种角色的用户,即普通员工用户和管理员用户,管理员又可以分为总管理员和中心管理员。系统中普通员工用户仅具有信息浏览、检索全县。功能模块化分如图2-2所示浏览器Web服务器中间件数据库服务器浏览器毕业设计论文第5页共12页图:2-2普通员工角色功能模块图系统中管理员具有记录管理、信息类别管理、管理员工管理和上传附件管理等功能,具体功能模块化分如图2-3所示密码验证?具有权限?JavaBeans数据库普通员工Web服务器模糊检索信息按浏览热点排行普通员工浏览主页面按类别察看信息浏览信息内容登录请求密码验证模块拒绝登录、返回登录框登录信息保存于Session中操作权限验证Web服务器记录管理类别管理管理员管理上传附件管理拒绝操作,给出错误提示,返回清除Session退出管理,或操作超时JavaBeans数据库毕业设计论文第6页共12页(二)数据库设计1、数据库需求分析作为一个具有一定应用价值的管理信息系统,从本质上说其操作的对象为数据库中存储的具体记录。因此不仅要求所有的数据库系统具有比较高的稳定性、安全性及高负载下保持足够响应能力,还要求设计者清楚需求,做出科学的数据库逻辑结构设计,以提高数据库的利用率和减少数据冗余。以这种思想作为设计策略,分析出系统的以下几项需求●系统用户主要包括员工用户和管理员用户●系统的信息需要由两级分类●附件上传及管理功能●不同权限管理员的权限认证2、数据库实体关系设计通过以上简单的需求分析,我们可以设计出数据库的逻辑结构—E-R图,即实体-关系图,从而建立数据库的物理结构即表结构。所谓实体,反映到数据库中即为数据表,它存储着具体的记录信息;所谓关系,即表与表的联系,这种联系大多是通过外键(FK:ForeignKey)实现的。在本例中,因为信息和所属类别之间存在逻辑关系,news表中的classid列与class表中的id主键相对应。也即news表中的classid列是到class表的外键,其取值范围为class表中的id值的集合。根据需求,我们设计四个数据库表,管理员用户表(admin),类别表(class),信息表(news)和管理员权限表(adminclass),其结构及关系如图2-1所示。AdminclassnewsadminclassIdAdminuserAdminpassAuthorityIasttimeIastipIdparentidparentclassclassIdAdminid(FK)Classid(fk)adminuserIdClassid(FK)TitleNewsParentclassClassAuthorFile1File2File3Hitd毕业设计论文第7页共12页3、系统数据字典确定了数据库的逻辑关系和数据结构之后,接下来就是将这些概念性的、逻辑性的东西转换为数据库中能够存放信息的数据表。数据库系统的选用是根据系统的需求而定,本系统以Oracle9i作为系统使用的数据库系统平台。(在此本人因避免重复写作,省去数据字典的描写,另附实例数据字典。)依照以上的分析和拒此建立的数据库字典,我们可建立系统的数据库。若是使用Erwin设计E-R图,我们可以通过它生成建立数据库的SQL脚本。(具体在Oracle9i中创建数据库的过程比较简单,客户端工具需要安装,操作起来不是很顺手,在这推荐一款SQLDevelopment的绿色版Oracle客户端工具,很容易上手,操作起来就像SQLserver。我会把本系统的mytest数据库生成sql脚本,这样可以把脚本导入到数据库直接运行)(三)中间件的编写本系统的组件开发使用的开发工具为Eclipse,它是一个开放源代码的软件开发项目,最初由OTI和IBM两家公司的IDE产品开发组建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase。(介绍下工具)1、数据库连接与操作Bean的编写数据库操作类在本系统中具有举足轻重的作用,所有与数据库相关的操作都需要调用其方法来完成。以executeQuery方法为例,其输入参数为SQL语句,返回值为一个ResultSet对象,这样做增强了安全性,因为Bean类文件是.class的二进制文件,即使泄露,数据库连接密码这样的敏感数据也可受到保护,不至于造成不必要的损失。具体代码请参见实例,为节省篇幅,所有代码不予列出,在此仅做介绍。2、字符串格式化Bean的编写当把文本信息从数据库中读出来至HTML页面中时,就要涉及文本格式转换问题。假如我们的文本中有“”和“”这些超文本语言控制符号,那么当直接输出至客户端时,客户端浏览器将无法分辨这是文本内容信息还是HTML控制字符,将会输出我们不希望的结果。用此方法将所要输出的数据处理之后再输出就能避免出现此种问题。我们需要完成的字符串格式化的Bean主要实现三个方法。●字符串自定义替换。即输入一个字符串source,用指定的新字符串newString替换source中的旧字符串oldString.●将字符串格式转换成HTML代码并在表单中输出。即如上文所说,将一些特殊字符转换为可在HTML中输出的字符。●将字符串格式转换成HTML代码并在页面中输出。这要求不仅仅对特殊字符处理,还要对空格、制表符和换行进行转换,以格式化输出至浏览器。3、用户登录验证Bean的编写系统的各级管理员用户需要登录系统以完成管理操作,因此系统需要具有处理验证用户登录的功能。用户登录验证Bean接收到页面登录框中传递的值,与数据库中存储的用户账户和密码核对,若能成功匹配,则验证其为合法用户,否则视为非法用户,可拒绝其进入系统。4、字符编码转换Bean的编写JSP以Java为基础,自然也继承了Java所遇到的中文乱码问题。/*Tochangethetemplateforthisgeneratedfilegoto毕业设计论文第8页共12页window>preferences>jaca>codegeneration>codeandcomments*/Packageutil;Importjava.io.*;PublicclasssTransFormat{PublicstaticStringunicode2GB(StringstrIn)Byteb[];StringstrOut=null;If(srtIn==null||((strIn.trim()).equals(“”))ReturnstrIn;Try{b=strIn.getBytes(“GBK”);strOut=newString(b,”ISO8859-1”)}Catch(UnsupportedEncodingExceptione){}ReturnstrOut;}PublicstaticStringGB2unicode(StringstrIn){StringstrOut=null;If(strIn==null||((strIn.trim()).equals(“”)))returnsrtIn;Try{Byteb[]=strIn.getBytes(“ISO8859-1”);strOut=newString(b,”GBK”);}catch(exceptione){}ReturnstrOut;}}5、分页功能模块Bean的编写作为管理信息系统,必然会涉及大量数据在前台页面上的列表显示,这就要求系统具有分页显示数据信息的功能。在这介绍两种完成分页功能的方法,即在Bean中实现分页功能和在JSP页面中实现分页功能。其实现原理都是在数据库中检索出要显示的记录,根据所设定的每页记录数算出总页数,在页面上时,根据传回的页码值决定当前要显示的页的记录。另一种分页的思路是将查询结果缓存在HttpSession或有状态Bean中,翻页的时候从缓存中取出一页数据来显示,这种方法有两个主要的缺点:一是用户可能看到的是过期数据;二是如果数据量非常大,则第一次查询便历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降。还有一种思路是每次翻页的时候只从数据库里检索页面大小的块区的数据。这样虽然每次翻页都需要查询数据库,但查询出的记录数很少,网络传输数据量不大。在Oracle中,这个思路用一句SQL语句可以大致表示

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功