系统设计与数据库设计.docx
- 文档编号:12182001
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:44
- 大小:27.27KB
系统设计与数据库设计.docx
《系统设计与数据库设计.docx》由会员分享,可在线阅读,更多相关《系统设计与数据库设计.docx(44页珍藏版)》请在冰豆网上搜索。
系统设计与数据库设计
第三章系统设计
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字节
码)。
这些客户端程序能经过内部通讯体制向应用服务器中有关服务对象发出请
求。
服务对象封装了有关的业务逻辑,它们之间可经过内部协议相互通讯,并能接见数据层的数据库对象或其余的应用程序,以共同达成客户恳求。
设施管理系统采纳的网络运转构造如图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{
public
Connection
conn;
public
Statement
stmt
;
public
ResultSet
rs=null
;
public
String
sqlStr
=""
;
public
this
DataBase(){
.connect();
}
public
booleantry{
connect(){
//sql2000数据库
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstan
ce();
DriverManager.registerDriver(new
com.microsoft.jdbc.sqlserver.SQLServerDriver());
String
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;
}
public
ConnectiongetConn(){
try{
DriverManager.registerDriver(new
com.microsoft.jdbc.sqlserver.SQLServerDriver());
String
url="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=sbgl"
Connectionconn=DriverManager.getConnection
//stmt=conn.createStatement();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
(url,
;
"sa"
""
);
}
returnconn;
}
//用于履行查问数据库的操作
//返回查问结果集
publicResultSetexecQuery(Stringsql){
//sql2000数据库
String
url=
"jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=sbgl"
;
ResultSetrs=null;
try{
//sqlserver数据库
conn=DriverManager.getConnection(url,
"sa"
"");
Statementstmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLExceptionex){
System.err.println(
"DataBase.execQuery():
"
+ex.getMessage());
}
return
rs;
}
//sql
public
url=
履行
voidexecute(Stringsql){
//sql2000数据库
String
"jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=sbgl"
try{
;
conn=DriverManager.
getConnection(url,
"sa"
"");
Statementstmt=
conn.createStatement();
stmt.execute(sql);
}catch(SQLExceptione){e.printStackTrace();
}
}
public
try
void
{
closeStmt(){
stmt.close();
}catch(SQLExceptione){e.printStackTrace();
}
}
public
try
void
{
closeConn(){
conn.close();
}catch(SQLExceptione){e.printStackTrace();
}
}
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();
try{
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();
returnfalse;
}
rs.close();
db.closeConn();
db.closeStmt();
returntrue;
}
catch(SQLExceptione)
{
returnfalse;
}
}
5.2一般用户界面
一般用户经过考证后进入此页面:
图5.2一般用户界面
一般用户进入页面,系统在右上角显示角色的有关信息。
一般用户界面有些功能是受限查问的,如台账管理功能,当一般用户点击台账管理时系统会显示:
图5.3权限显示
5.3一般用户功能的实现
进入设施查问页面:
图5.4设施查问页面
点击“详尽”就看到所选设施的额有关信息,如点击“电脑-详尽”,系统显示为:
图5.5设施详情
在查问页面,用户可按编号、名称等查问设施,如按编号查问,显示为:
图
查问设施信息
查问功能的代码为:
public
boolean
getOnesb(
int
newid)
throws
Exception{
DataBasedb=
newDataBase();
db.connect();
stmt
=db.
conn.createStatement();
try
{
sqlStr
="select*fromsbwhereId="+newid;
rs=stmt.executeQuery(sqlStr);
if(rs.next())
{sblist=newVector
(1);
sbsb=newsb();
sb.setId(rs.getLong("id"));
sb.setsbbh(rs.getString("sbbh"));
sb.setsbmc(rs.getString("sbmc"));
sb.setsblb(
rs
.getString(
"sblb"
));
sb.setsbxh(
rs.getString(
"sbxh"
));
sb.setsbgg(
rs.getString(
"sbgg"
));
sb.setscdw(
rs
.getString(
"scdw"
));
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 设计 数据库
![提示](https://static.bdocx.com/images/bang_tan.gif)