系统设计与数据库设计_第1页
系统设计与数据库设计_第2页
系统设计与数据库设计_第3页
系统设计与数据库设计_第4页
系统设计与数据库设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章系统设计

3.1系统需求分析

鉴于高校设备管理的现状以及设备管理信息化的要求,开展计算机辅助设备

管理,并在此基础上为上级部门进行决策分析提供帮助,极大地提高了设备管理

的工作水平和信息化水平。

系统分析阶段开展的主要工作包括:收集和分析系统需求、提供系统说明书

等。系统需求分析就是通过系统调查,了解用户实际需求,进行系统分析,提炼

出系统需求。

业务流程是系统设计的关键,要开发一个系统,必须确定系统的功能需求,

这就必须先了解实际的业务流程,从业务流程中分析系统的需求。

设备信息是系统进行管理的主线,它描述了设备的基本情况,主要包括:设

备名称、设备编号、分类号、型号、规格等;编码设计应完全符合国家信息标准。

系统工作流程主要是用户进行设备信息的入库以及维护处理;对设备信息的

查询统计、打印报表,检核设备信息、上传设备信息,以及采集信息等。不同权

限的用户进行不同的工作操作,具有不同的工作流程。

通常信息管理系统按照对信息的操作,将系统划分为:数据采集、数据处理、

数据传输以及系统维护等功能组成部分。所以,通过综合分析,本系统主要需求

有:

1.设备基本信息的收集与处理;

2.设备基本信息的存储与维护;

3.能方便、快捷地上报设备信息;

4.能进行查询统计并形成各种有价值的信息;

5.具有一定的报表处理功能;

6.将共享的设备信息对外发布,实现浏览查询;

7.有辅助系统进行系统的管理与维护。

3.2系统设计

3.2.1系统设计的目标与内容

高校设备管理系统的开发,其目的是要将先进的管理技术运用到高校设备的

管理中来。设备管理系统不但能完成高校设备的日常管理工作,还可以及时向各

级领导、上级主管部门提供报表、数据信息,为领导的决策提供一定的参考。通

过该系统的实施,逐步把高校设备信息统一规化,使之能更好地为教育事业服务。

具体包括:

1.上级主管部门可以对所采集的设备进行汇总、统计、查询等,并形成各种

有价值的信息,实现高校设备信息宏观和微观的动态管理;

2.高校能方便、快捷地上报设备信息,以便上级主管部门可及时了解、汇总

各高校设备信息的情况。

3.共享的设备信息可通过web对外发布,实现浏览查询。

4.系统应该具有一定伸缩性,能有效地集成其他系统;而且系统后台可采用

不同操作系统和多种数据库系统。

5.系统数据安全,具有良好的权限管理机制。

6.应该具有一定的通用性、灵活性、实用性和可靠性,以满足高校对设备信

息管理的要求。

3.2.2系统总体设计

系统的总体设计包括运行网络结构、功能模块设计等。运行网络结构,确

定软件运行的软硬件环境;功能模块设计,确定系统的功能模块,将整个系统划

分为多个相对独立的模块,确定每个模块的功能。

系统运行网络结构

由于网站采用的是B/S结构服务体系即客户端一一应用服务器一一数据库

服务器三层体系结构。在这种结构中,Web浏览器作为客户层,提供图形用户界

面,负责与用户进行交互。它通过HTTP协议从应用层的HTTP月及务器下载超文

本页面,同时下载并执行内嵌在页面中的客户端程序或中间代码(如JAVA字节

码)o这些客户端程序能通过内部通信机制向应用服务器中有关服务对象发出请

求。服务对象封装了相关的业务逻辑,它们之间可通过内部协议彼此通信,并能

访问数据层的数据库对象或其它的应用程序,以协同完成客户请求。

设备管理系统采用的网络运行结构如图2.1所示:

HTTP诂求

HTTP响应

图3.1网络运行结构

系统的功能设计

在充分分析设备管理需求的基础上,结合信息系统所要达到的目标,以设备

日常管理、数据采集与上报需求为重点,确定了系统的总体功能结构。系统主

要由设备信息管理、数据采集与上报、信息发布、系统管理等四个子系统组成。

每个子系统又由多个模块构成,各模块之间相对独立实现不同的处理功能,但相

互之间又能很好地联系起来。下面简单介绍各子系统功能设计。

1.设备信息管理子系统

信息管理子系统主要包括信息录入、信息修改、信息查询、信息统计、打印

报表等模块。

数据录入模块:主要包括设备数据的录入,采取灵活、简捷、快速的输入方

式来减轻用户繁重的输入数据的工作。如对具有相同属性的多条记录可通过成批

录入方式一次录入完成;对一些数据项可进行实时校验。

数据修改模块:对所有录入的数据均可进行修改,其主要特色如下:只有拥

有相应权限的用户才能修改数据,从而保证了重要数据的安全性;为了保持数据

的一致性,对于一些关键参数不能直接修改,系统应自动保持其正确性。

数据查询模块:根据用户权限查询所需数据,主要包括固定查询和自定义查

询两部分。

固定查询:用户通过选择设备信息的某一个字段,并输入相关关键字内容即

可查询出结果。大概有:1.名称.2分类号.3型号4.规格5.编号等。

自定义查询:用户可以把以上几个查询的条件结合起来,提供一定灵活性的

组合查询。

此外,可以对查询结果进行范围限制,也可以对查询结果按照某个字段值行

排序。在查询的过程中,系统还可根据用户的要求,在验证用户的身份后,为其

提供部分修改功能。

数据统计模块:信息统计是按各字段值进行统计并自动生成报表;以数据库

中存储的数据为基础,进行设备信息的查询、统计;进行数据的职能分析,生成

直观的柱图、饼图、折线图,为各级设备管理与经营决策提供数据依据。

打印报表模块:主要是打印设备信息以及各种统计报表。该模块具有生成和

打印报表的功能,可打印多种报表,包括:系统基础数据、设备、人员、上报报

表等报表,操作简单、使用方便。

2.数据采集与上报子系统

上报数据按教育部统一规定的上报格式提供的基础数据,并可实现集中式管

理。按上级部门的要求形成标准的上报数据,在形成上报数据时,应具有数据查

错功能,并能提供方便、快捷的数据传送功能。

3.信息发布子系统

主要包括信息浏览和信息查询;主要是对共享信息进行网络提交,对外发布,

实现共享。以数据库中存储的数据为基础,进行人员信息、设备信息等方面的信

息发布,以Web页面的形式进行。被授权访问的有关人员可从办公室或任何地方

通过Internet访问,浏览或查询各种相关信息。

4.系统管理子系统

系统管理子系统主要负责系统的管理和维护工作,包括单位管理、用户管理、

日志管理、数据备份与恢复等。

用户管理:管理系统的用户,提供对系统角色和用户的管理。具体完成用户

的管理、用户的权限设置;通过该模块,可以有效屏蔽非授权用户的各种操作;

日志管理:主要完成记录用户对系统的重要操作(如删除、修改等)及其结

果的记录、查询和统计,以确保系统操作的可追述性;

数据备份与恢复:提供数据备份恢复功能,根据设置,备份系统中的数据库。

严格定期备份,保证己有数据的安全性,在数据库崩溃和硬件系统瘫痪时不会造

成大的损失。为了保证系统的安全性,只有系统管理员才能使用该模块。

系统的功能图如下所示:

设备管理系统

登陆/注销

JDK+TOMCAT运行平台

图3.2系统功能图

系统的用例图如下所示:

图3.3普通用户用例图

系统流程图如下所示:

图3.5系统流程图

第四章数据库设计

数据库是信息系统的核心组成部分。数据库系统将数据信息以某种数据模型

组织起来进行存储,通过数据库管理系统能够方便有效地完成数据信息的插入、

删除、修改、查询等操作,并保持数据信息的完整性、一致性和安全性。一个数

据库由若干张表组成,一张表是若干相关数据信息的集合。表的一行就是一条数

据信息记录,而一列就是一个字段(也就是一条数据信息内容的一项),每一个字

段都有相应的数据类型和数据宽度。在本系统中使用的是SQLServer2000数据

库系统,在数据库中各表的创建如下所述。

4.1总体表的设计

系统共创建了4个数据表,依次为:

(1)yh表:用户信息,含数据项有用户名、真姓名、密码、部门、角色等。

(2)1b表:类别信息,含数据项有编号、名称。

(3)sb表:设备信息,含数据项有编号、名称、购置日期、型号、购置价

格、备注等。

(4)出表:动态信息,含数据项有编号、名称、日期、备注。

4.2数据库概念结构设计

得到上面的数据项和数据结构后,就可以设计出满足用户需求的各种实体,

以及它们之间的关系,为后面的逻辑结构设计打下基础。

根据上面的描述,本系统的实体有:类别信息实体、用户信息实体、设备信

息实体、动态信息实体。

用户信息实体的E-R图如图4.1所示

密码姓名

图4.1用户信息实体E-R图

类别信息实体的E-R图如图4.2所示

设备信息实体的E-R图如图4.3所示

动态信息实体的E-R图如图4.4所示

图4.4动态信息实体的E-R图

4.3数据库的链接

在系统中,用户通过WEB方式来使用系统,完成相关的操作,而系统涉及到

的大量数据都是存储在数据库中,系统在使用过程中需要频繁地访问数据库。

数据库连接池是数据访问中的重要技术,在某些情况下对访问数据库的性能

有巨大的提高。它的核心思想是连接复用,通过建立一个数据库连接池以及一套

连接使用、分配、管理策略,使得一个数据库连接可以得到高效、安全的复用,

避免了数据库连接频繁建立、关闭的系统开销。连接池对JDBC中的原始连接进

行了封装,从而方便了数据库应用对于连接的使用,提高了开发效率。数据库的

连接与关闭,并不是真正意义上的数据库连接与建立,当数据库连接的时候,它

是从连接池中取得的一个连接,而关闭的时候,实际上是将连接返回到连接池中,

连接池是与数据库保持常连接的。也正是因为这个封装层的存在,隔离了应用本

身的处理逻辑和具体数据库访问逻辑,使应用本身的复用成为可能。

本系统使用Tomcat应用服务器中自带的DBCP(DataBaseConnectionpool)

来建立数据库连接池。利用DBCP,我们无须再进行复杂的相关代码开发,而且

安全性和效率等性能更有保证。其中主要是进行了一些配置工作和编写连接池类

(ConnPoolclass)o分别是,^E$CATALINA_HOME/conf/server.xml里设置数据

库连接池,在系统应用程序目录下的WEB-INF文件夹中的web.xml里设置被引用

的资源,其中要合理地设置相关参数,以便保证连接池的性能,比如最小和最大

数据库连接数,removeAbandoned参数(用于回收被遗弃的数据库连接到连接池

中)等;在ConnPool类中,我们使用了Singleton单例模式来保证返回唯一的连

接池管理器实例,避免了每次实例化时重复创建。

链接数据库的代码为:

packagesbgl.util;

importjava.sql.*;

publicclassDataBase{

publicConnectionconn;

publicStatementstmt;

publicResultSetrs=null;

publicStringsqlStr="H;

publicDataBase(){

this.connect();

publicbooleanconnect(){

try{

//sql2000数据库

//Class.forName("com.micros。ft.jdbc.sqlserver.SQLServerDriver").newlnstan

ce();

DriverManager.registerDriver(new

com.microsoft.jdbc.sqlserver.SQLServerDriver());

String

url=Hjdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sbgl";

conn=DriverManager.getConnection(urlz"sa","");

stmt=conn.createStatement();

}catch(Exceptionee){

System.out.printin("connectdberror:"+ee.getMessage());

returnfalse;

)

returntrue;

}

publicConnectiongetConn(){

try(

DriverManager.registerDriver(new

com.microsoft.jdbc.sqlserver.SQLServerDriver());

String

url=njdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sbgl";

Connectionconn=DriverManager.getConnection(url,nsan,

//stmt=conn.createStatement();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

)

returnconn;

}

//用于执行查询数据库的操作

〃返回查询结果集

publicResultSetexecQuery(Stringsql){

//sql2000数据库

String

url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sbgl";

ResultSetrs=null;

try(

//sqlserver数据库

n

conn=DriverManager.getConnection(urlz"sa",");

Statementstmt=conn.createStatement();

rs=stmt.executeQuery(sql);

}catch(SQLExceptionex){

System.err.printin("DataBase.execQuery():"+ex.getMessage());

}

returnrs;

)

//sql执行

publicvoidexecute(Stringsql){

//sql2000数据库

String

url=njdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sbgl";

try{

conn=DriverManager.getConnection(url,"sa","n);

Statementstmt=conn.createStatement();

stmt.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

publicvoidcloseStmt(){

try(

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

publicvoidcloseConn(){

try(

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

)

publicstaticvoidmain(String[]args){

DataBasedb=newDataBase();

System.out.printIn(db.getConn());

)

}

第五章系统的实现

5.1共用模块设计的实现

为了提高代码的重用性,把共用部分做成独立的文件保存,保存在inc目

录里。这些文件都是纯HTML代码。

调用方式:

<%@includefile=:"../inc/gs.inc"%>页面格式

<%@includefile="../inc/session.inc"%>变量文件

5.2主登陆界面

系统设置了两个不同的权限,登陆时首先对权限进行判断,然后对所属权

限范围内的用户进行用户名和密码验证,验证成功才进入相应的功能界面。

主登陆界面图如下:

鲍理酗DS图我1国由仓削©^10

用户:

密码:

角色:一般人员V

登录取包

图5.1主登陆界面

当输入用户名和密码时,系统对用户角色及密码进行判断和验证,无误时方

能进图相应的界面。

登陆的代码为:

publicbooleangetOneyh(intnewid)throwsException{

DataBasedb=newDataBase();

db.connect();

stmt=db.conn.createStatement();

try(

sqlStr=nselect*fromyhwhereId=n+newid;

rs=stmt.executeQuery(sqlStr);

if(rs.next())

{yhlist=newVector(1);

yhyh=newyh();

yh.setld(rs.getLong("id"));

yh.setdlm(rs.getString("dim”));

yh.setyhbh(rs.getString("yhbh"));

yh.setname(rs.getString("name"));

yh.setdh(rs.getString("dh”));

yh.setyj(rs.getString(nyjn));

yh.setmima(rs.getString(;

yh.setacl(rs.getString("acl"));

yhlist.addElem-nt(yh);

}else{

rs.close();

returnfalse;

rs.close();

db.closeConn();

db.closeStmt();

returntrue;

}

catch(SQLExceptione)

(

returnfalse;

5.2普通用户界面

普通用户经过验证后进入此页面:

图5.2普通用户界面

普通用户进入页面,系统在右上角显示角色的相关信息。普通用户界面有些

功能是受限查询的,如台账管理功能,当普通用户点击台账管理时系统会显示:

图5.3权限显不

5.3普通用户功能的实现

进入设备查询页面:

EquipmentManagementSystem[用户]:user2[姓名]:王[角色]:一锻人员【注销】

白帖笆理1设备遗询1动态信息|设备报表1系统帮助1

201呼05月15日星期六03:07:57

::设若查询::设备编号:厂设备名称:|设备类别:[维,生产单位:重旬

编号设备名称设备类型设备型W设备数量设备规格设备厂商

r1吸尘器LD-110100LD-001海尔详细

家说电子设备联想

r2H200123H2001

r3台电MP3电子设备TL-X1610jl00-009台电科技详细

r4诺基亚E70电子设备E7010jl00-009福日电子详细

rs电前电子设备E3100V21jl00-009联想详假

r6电焊机电子设备ZD00110jl00-009海尔详细

r717•彩色电视机电子设备DSJ00210jlOO-009福日电子详细

r8电机(交流)电气EV11010JI00-009福日电子详细

提示:共8条记录共1页当前页第1页首页上一页下一页

图5.4设备查询页面

点击“详细”就看到所选设备的额相关信息,如点击“电脑-详细”,系统显

示为:

印配盟禁般gementSystem__________________[用?]:user21姓名]:王[角色]:f人员【注销】

送衣宠牍®台帐苦理I设备查询|动态信息I设备报表I系统超助|

201诈05月15日星期六12:30:28

■3http://localhost:8080/sbgl/sbdetail.jsp?id=6-MicrosoftIn...□E®B

::设备查询::i查刈

编号设备名称设备详细信息关闭窗口

吸尘署设备编号0004设备名称电脑详细

家悦设备类别|vl设备型号E3100V详细

r2

白电MP3设备规格:jl00-009生产单位联想详细

r3

出厂日期2009年1vg1,日设备价格3900[元]

r4诺基3EE70详细

设备数量使用状况0K

r砒详细

5使用部门机房1购置日期2009年1▼月;2▼日

r6电焊机详细

注销日期2009年1▼月'1•*11日的件名称

r717“彩色电视机详细

附件件数|1—附件金额1㈤

rs电机(交流)月折旧率|3%使用年限|5国详细

备注

提示:共8条记录i1页上一页下一

图5.5设备详情

在查询页面,用户可按编号、名称等查询设备,如按编号查询,显示为:

EquipmentManagementSystem[用弧例2[姓名]:王触卜默员【郦】

台崛1凝a郴剧出翻剧系统帮助1

2010年05月15日星瞅03:21:08

唯备查询::解媪号:0004凝类耻也复上眇/前

端号段备名称诞类型翻型号段翻量强翻格凝「商

r1电脑电子凝E3100V21)100-009期御

麻共像记录共顶当颉第项骸上一页下一页

图5.6查询设备信息

查询功能的代码为:

publicbooleangetOnesb(intnewid)throwsException{

DataBasedb=newDataBase();

db.connect();

stmt=db.conn.createStatement();

try(

sqlStr=nselect*fromsbwhereId="+newid;

rs=stmt.executeQuery(sqlStr);

if(rs.next())

{sblist=newVector(1);

sbsb=newsb();

sb.setld(rs.getLong("id"));

sb.setsbbh(rs.getString(Hsbbhu));

sb.setsbmc(rs.getString("sbmc"));

sb.setsblb(rs.getString("sblbn));

sb.setsbxh(rs.getString("sbxhn));

sb.setsbgg(rs.getString(”sbgg”));

sb.setscdw(rs.getString("scdwn));

sb.setccrq_n(rs.getString("ccrq_nM;

sb.setccrq_y(rs.getString(nccrq_y,*));

sb.setccrq_r(rs.getString("ccrq_rn));

sb.setsbjg(rs.getString("sbjgn));

sb.setsbsl(rs.getString("sbsl"));

sb.setsyzh(rs.getString("syzhn));

sb.setsybm(rs.getString("sybmn));

sb.setgzrq_n(rs.getString(ngzrq_nu));

sb.setgzrq_y(rs.getString("gzrq_yn));

sb.setgzrq_r(rs.getString("gzrq_rn));

sb.setzxrq_n(rs.getString(Hzxrq_nn));

sb.setzxrq_y(rs.getString("zxrq_yH));

sb.setzxrq_r(rs.getString("zxrq_rn));

sb.setfjmc(rs.getString(nfjmcn));

sb.setfjjs(rs.getString(nfjjsn));

sb.setfjje(rs.getString(Hfjje"));

sb.setyzj1(rs.getString("yzj1"));

sb.setsynx(rs.getString("synx"));

sb.setbz(rs.getString("bz"));

sblist・addElement(sb);

}else{

rs.close();

db.closeConn();

db.closeStmt();

returnfalse;

}

rs,close();

returntrue;

}

catch(SQLExceptione)

returnfalse;

)

进入帮助页面:

图5.7系统帮助界面

用户进入此界面查看相关的系统描述。

5.4管理员界面功能的实现

管理员通过身份验证后进入此界面:

nii'P^entyanogementSystem______________[用尸]:system[姓名]:管理员[角色]:哲理员【注销】

|用户省理|类别首理I台帐首理|设备查询|动委信息I设备报一|系统和

2010年05月15日星期六12:52:47

图5.8管理员模块界面

进入用户管理界面:

EquipmentManagementSystem[用户]system[姓名]:省理员[角色]:官理员【注销】

1用尸管理1类款清理1台帐管理1设备查询1动态信息1设备旅表1系统帮用

2010年05月15日星期六12:57:00

::用户哲理::添加全选「册除操作说明

编号用户编号用尸名称真实姓名联系电话电子邮件角色1,点击(添加],出现新增用尸输入格,确定提交信息

厂1427U5er2ihao@126.com一族人员倒辑2.点击[编辑],出现修改用尸输入框,确定提交信息

「24588userlhengqian@163.com-*般人员煽程3选择要删除的记录,点.击[删除],记录被删除.

厂32301system管理员-111111hello@163.com管理员编转

___________________信息查询_________________

提示:共舔记录共1页当前页第1页苜页上一页下一页未页编号:[魏名称:直

图5.9用户管理页面

管理员可以对用户信息进行添加、修改和删除操作,删除功能的代码为:

publicbooleandelete(intaid)throwsException{

sqlStr="deletefromyhwhereid="+aid;

try

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论