系统设计与数据库设计Word下载.docx
《系统设计与数据库设计Word下载.docx》由会员分享,可在线阅读,更多相关《系统设计与数据库设计Word下载.docx(44页珍藏版)》请在冰点文库上搜索。
定软件运转的软硬件环境;
功能模块设计,确立系统的功能模块,将整个系统划
分为多个相对独立的模块,确立每个模块的功能。
系统运转网络构造
因为网站采纳的是B/S构造服务系统即客户端——应用服务器——数据库
服务器三层系统构造。
在这类构造中,Web阅读器作为客户层,供给图形用户界
面,负责与用户进行交互。
它经过HTTP协议从应用层的HTTP月及务器下载超文
本页面,同时下载并履行内嵌在页面中的客户端程序或中间代码(如JAVA字节
码)。
这些客户端程序能经过内部通讯体制向应用服务器中有关服务对象发出请
求。
服务对象封装了有关的业务逻辑,它们之间可经过内部协议相互通讯,并能接见数据层的数据库对象或其余的应用程序,以共同达成客户恳求。
设施管理系统采纳的网络运转构造如图2.l所示:
图3.1网络运转构造
系统的功能设计
在充足剖析设施管理需求的基础上,联合信息系统所要达到的目标,以设施
平时管理、数据采集与上报需求为要点,确立了系统的整体功能构造。
系统主
要由设施信息管理、数据采集与上报、信息公布、系统管理等四个子系统构成。
每个子系统又由多个模块构成,各模块之间相对独立实现不一样的办理功能,但相
互之间又能很好地联系起来。
下边简单介绍各子系统功能设计。
1.设施信息管理子系统
信息管理子系统主要包含信息录入、信息改正、信息查问、信息统计、打印
报表等模块。
数据录入模块:
主要包含设施数据的录入,采纳灵巧、简捷、迅速的输入方式来减少用户沉重的输入数据的工作。
如对拥有同样属性的多条记录可经过成批录入方式一次录入达成;
对一些数据项可进行及时校验。
数据改正模块:
对全部录入的数据均可进行改正,其主要特点以下:
只有拥
有相应权限的用户才能改正数据,进而保证了重要数据的安全性;
为了保持数据的一致性,关于一些要点参数不可以直接改正,系统应自动保持其正确性。
数据查问模块:
依据用户权限查问所需数据,主要包含固定查问和自定义查问两部分。
固定查问:
用户经过选择设施信息的某一个字段,并输入有关要点字内容即可查问出结果。
大体有:
1.名称.2分类号.3型号4.规格5.编号等。
自定义查问:
用户能够把以上几个查问的条件联合起来,供给必定灵巧性的
组合查问。
别的,能够对查问结果进行范围限制,也能够对查问结果依照某个字段值行
排序。
在查问的过程中,系统还可依据用户的要求,在考证用户的身份后,为其
供给部分改正功能。
数据统计模块:
信息统计是按各字段值进行统计并自动生成报表;
以数据库
中储存的数据为基础,进行设施信息的查问、统计;
进行数据的职能剖析,生成
直观的柱图、饼图、折线图,为各级设施管理与经营决议供给数据依照。
打印报表模块:
主假如打印设施信息以及各样统计报表。
该模块拥有生成和
打印报表的功能,可打印多种报表,包含:
系统基础数据、设施、人员、上报报
表等报表,操作简单、使用方便。
2.数据采集与上报子系统
上报数据按教育部一致规定的上报格式供给的基础数据,并可实现集中式管
理。
按上司部门的要求形成标准的上报数据,在形成上报数据时,应拥有数据查
错功能,并能供给方便、快捷的数据传递功能。
3.信息公布子系统
主要包含信息阅读和信息查问;
主假如对共享信息进行网络提交,对外公布,实现共享。
以数据库中储存的数据为基础,进行人员信息、设施信息等方面的信息公布,以Web页面的形式进行。
被受权接见的有关人员可从办公室或任何地方经过Internet接见,阅读或查问各样有关信息。
4.系统管理子系统
系统管理子系统主要负责系统的管理和保护工作,包含单位管理、用户管理、
日记管理、数据备份与恢复等。
用户管理:
管理系统的用户,供给对系统角色和用户的管理。
详细达成用户
的管理、用户的权限设置;
经过该模块,能够有效障蔽非受权用户的各样操作;
日记管理:
主要达成记录取户对系统的重要操作(如删除、改正等)及其结
果的记录、查问和统计,以保证系统操作的可追述性;
数据备份与恢复:
供给数据备份恢复功能,依据设置,备份系统中的数据库。
严格按期备份,保证己有数据的安全性,在数据库崩溃和硬件系统瘫痪时不会造
成大的损失。
为了保证系统的安全性,只有系统管理员才能使用该模块。
系统的功能图以下所示:
设施管理系统
登岸/注销
用
类
设
台
动
系
户
别
备
账
态
统
管
报
信
维
理
表
息
护
JDK+TOMCAT运转平台
数据库
图3.2系统功能图
系统的用例图以下所示:
登岸系统
动向信息查问
设施信息查问
系统帮助查问
报表查问
退出系统
图3.3一般用户用例图
登录系统查问设施信息
查察用户信息
改正用户信息
改正设施信息
查问动向信息
查察报表信息
修变动向信息
改正报表信息
帮助栏目管理
图3.4管理员用例图
系统流程图以下所示:
一般用户模块
设施查问
动向信息
设施报表
系统帮助
开始
选定登岸模块
是否
登入一般
用户模块
否
是
登入管理
员模块?
管理员界面
用户管理
台账管理
退出
图3.5系统流程图
第四章数据库设计
数据库是信息系统的中心构成部分。
数据库系统将数据信息以某种数据模型
组织起来进行储存,经过数据库管理系统能够方便有效地达成数据信息的插入、
删除、改正、查问等操作,并保持数据信息的完好性、一致性和安全性。
一个数
据库由若干张表构成,一张表是若干有关数据信息的会合。
表的一行就是一条数
据信息记录,而一列就是一个字段(也就是一条数据信息内容的一项),每一个字
段都有相应的数据种类和数据宽度。
在本系统中使用的是SQLServer2000数据
库系统,在数据库中各表的创立以下所述。
4.1整体表的设计
系统共创立了4个数据表,挨次为:
(1)yh表:
用户信息,含数据项实用户名、真姓名、密码、部门、角色等。
(2)lb表:
类型信息,含数据项有编号、名称。
(3)sb表:
设施信息,含数据项有编号、名称、购买日期、型号、购买价
格、备注等。
(4)dt表:
动向信息,含数据项有编号、名称、日期、备注。
数据库观点构造设计
获得上边的数据项和数据构造后,就能够设计出知足用户需求的各样实体,
以及它们之间的关系,为后边的逻辑构造设计打下基础。
依据上边的描绘,本系统的实体有:
类型信息实体、用户信息实体、设施信
息实体、动向信息实体。
用户信息实体的E-R图如图4.1所示
用户
用户名角色
密码姓名
图4.1用户信息实体E-R图
类型信息实体的E-R图如图4.2所示
类型
编号名称
图4.2类型信息实体E-R图
设施信息实体的E-R图如图4.3所示
设施信息
编号备注
名称购买日期
型号
图4.3设施信息实体E-R图
动向信息实体的E-R图如图4.4所示
内容
编号
标题类型
图4.4动向信息实体的E-R图
4.3数据库的链接
在系统中,用户经过WEB方式来使用系统,达成有关的操作,而系统波及到的大批数据都是储存在数据库中,系统在使用过程中需要屡次地接见数据库。
数据库连结池是数据接见中的重要技术,在某些状况下对接见数据库的性能有巨大的提升。
它的中心思想是连结复用,经过成立一个数据库连结池以及一套连结使用、分派、管理策略,使得一个数据库连结能够获得高效、安全的复用,
防止了数据库连结屡次成立、封闭的系统开支。
连结池对JDBC中的原始连结进行了封装,进而方便了数据库应用关于连结的使用,提升了开发效率。
数据库的连结与封闭,其实不是真实意义上的数据库连结与成立,当数据库连结的时候,它是从连结池中获得的一个连结,而封闭的时候,其实是将连结返回到连结池中,连结池是与数据库保持常连结的。
也正是因为这个封装层的存在,隔绝了应用自己的办理逻辑和详细数据库接见逻辑,使应用自己的复用成为可能。
本系统使用Tomcat应用服务器中自带的DBCP(DataBaseConnectionpool)来成立数据库连结池。
利用DBCP,我们不必再进行复杂的有关代码开发,并且安全性和效率等性能更有保证。
此中主假如进行了一些配置工作和编写连结池类(ConnPoolclass)。
分别是,在$CATALINA_HOME/conf/server.xml里设置数据
库连结池,在系统应用程序目录下的WEB-INF文件夹中的web.xml里设置被引用
的资源,此中要合理地设置有关参数,以便保证连结池的性能,比方最小和最大
数据库连结数,removeAbandoned参数(用于回收被遗弃的数据库连结到连结池
中)等;
在ConnPool类中,我们使用了Singleton单例模式来保证返回独一的连结池管理器实例,防止了每次实例化时重复创立。
链接数据库的代码为:
package
sbgl.util;
import
java.sql.*;
public
classDataBase{
Connection
conn;
Statement
stmt
;
ResultSet
rs=null
String
sqlStr
="
"
this
DataBase(){
.connect();
}
booleantry{
connect(){
//sql2000数据库
//Class.forName("
com.microsoft.jdbc.sqlserver.SQLServerDriver"
).newInstan
ce();
DriverManager.registerDriver(new
com.microsoft.jdbc.sqlserver.SQLServerDriver());
url="
jdbc:
microsoft:
sqlserver:
//localhost:
1433;
DatabaseName=sbgl"
conn=DriverManager.getConnection(url,"
sa"
"
);
stmt=conn.createStatement();
}catch(Exceptionee){
System.out.println("
connectdberror:
+ee.getMessage());
returnfalse;
return
true;
ConnectiongetConn(){
try{
Connectionconn=DriverManager.getConnection
//stmt=conn.createStatement();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
(url,
"
);
returnconn;
//用于履行查问数据库的操作
//返回查问结果集
publicResultSetexecQuery(Stringsql){
//sql2000数据库
url=
ResultSetrs=null;
//sqlserver数据库
conn=DriverManager.getConnection(url,
"
Statementstmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLExceptionex){
System.err.println(
DataBase.execQuery():
"
+ex.getMessage());
rs;
//sql
履行
voidexecute(Stringsql){
conn=DriverManager.
getConnection(url,
Statementstmt=
conn.createStatement();
stmt.execute(sql);
}catch(SQLExceptione){e.printStackTrace();
try
void
{
closeStmt(){
stmt.close();
closeConn(){
conn.close();
publicstaticvoidmain(String[]args){
DataBasedb=newDataBase();
System.out.println(db.getConn());
第五章系统的实现
5.1共用模块设计的实现
为了提升代码的重用性,把共用部分做成独立的文件保留,保留在inc目
录里。
这些文件都是纯HTML代码。
调用方式:
<
%@includefile="
../inc/gs.inc"
%>
页面格式
%@includefile="
../inc/session.inc"
变量文件
5.2主登岸界面
系统设置了两个不一样的权限,登岸时第一对权限进行判断,而后对所属权
限范围内的用户进行用户名和密码考证,考证成功才进入相应的功能界面。
主登岸界面图以下:
图5.1主登岸界面
当输入用户名和密码时,系统对用户角色及密码进行判断和考证,无误时方能进图相应的界面。
登岸的代码为:
publicbooleangetOneyh(intnewid)throwsException{
DataBasedb=newDataBase();
db.connect();
stmt=db.conn.createStatement();
sqlStr="
select*fromyhwhereId="
+newid;
rs=stmt.executeQuery(sqlStr);
if(rs.next())
{yhlist=newVector
(1);
yhyh=newyh();
yh.setId(rs.getLong("
id"
));
yh.setdlm(rs.getString("
dlm"
yh.setyhbh(rs.getString("
yhbh"
yh.setname(rs.getString("
name"
yh.setdh(rs.getString("
dh"
yh.setyj(rs.getString("
yj"
yh.setmima(rs.getString("
mima"
yh.setacl(rs.getString("
acl"
yhlist.addElement(yh);
else
rs.close();
db.closeConn();
db.closeStmt();
returntrue;
catch(SQLExceptione)
5.2一般用户界面
一般用户经过考证后进入此页面:
图5.2一般用户界面
一般用户进入页面,系统在右上角显示角色的有关信息。
一般用户界面有些功能是受限查问的,如台账管理功能,当一般用户点击台账管理时系统会显示:
图5.3权限显示
5.3一般用户功能的实现
进入设施查问页面:
图5.4设施查问页面
点击“详尽”就看到所选设施的额有关信息,如点击“电脑-详尽”,系统显示为:
图5.5设施详情
在查问页面,用户可按编号、名称等查问设施,如按编号查问,显示为:
图
查问设施信息
查问功能的代码为:
boolean
getOnesb(
int
newid)
throws
Exception{
DataBasedb=
newDataBase();
=db.
conn.createStatement();
select*fromsbwhereId="
{sblist=newVector
(1);
sbsb=newsb();
sb.setId(rs.getLong("
sb.setsbbh(rs.getString("
sbbh"
sb.setsbmc(rs.getString("
sbmc"
sb.setsblb(
rs
.getString(
sblb"
));
sb.setsbxh(
rs.getString(
sbxh"
sb.setsbgg(
sbgg"
sb.setscdw(
scdw"