资源描述
1 摘 要 3
2 绪论 5
2.1 背景及意义 5
2.2 现状 6
2.3 本文的主要工作 6
3 系统分析 6
3.1 需求分析 6
3.2 系统特点 8
3.3 计算机系统的配制 9
3.3.1 硬件配置 9
3.3.2 软件配置 9
3.4 系统的组成结构 10
3.5 系统的实现 10
3.5.1 数据库的设计 10
3.5.2 报修管理子系统设计 14
3.5.3 耗材管理子系统 15
3.5.4 涉及知识点讲述 15
4 详细设计 23
4.1 用户界面设计 23
4.2 报修管理模块设计 24
4.3 耗材管理模块设计 26
5 系统测试 31
5.1 测试计划 31
5.1.1 任务概述 31
5.1.2 计划 31
5.2 测试分析 32
5.2.1 测试计划执行情况 32
5.2.2 软件需求测试结论 33
6 结论 34
7 参考文献 35
8 致谢 35
1 绪论
1.1 背景及意义
传统的高校后勤管理信息系统为手工操作的,虽然它已存在了很长的一段时间,但它在许多方面存在着弊端。比如:传统的方式传播途径不便捷,经常带来查询信息的困难,而且有时维修部门由于记录的失误或其它非人为因素,损坏的东西得不到及时的维修或处理;另一方面,由于高校各系部之间没有统一共享的后勤信息资源,各部门对本部门所需的后勤信息有一定的数据源或储备,造成了大量的冗余,增加了管理上的混乱。而随着计算机网络技术的发展,网络已经延伸到社会各个角落,基于网络的数据库管理也早已投入应用,建设基于网络的高校后勤管理信息系统就成为了可能,在此形势下,学校后勤部门就必须提供相应网络维修系统,给予学生网上报修的方便。而我们六人小组开发的这个基于网络的高校后勤管理信息系统,就是为了解决高校管理部门所迫切希望解决的问题,将高校后勤管理部门与学生通过校园网甚至英特网紧密地联系在一起,以满足学校和社会迅速发展的信息化需求。其中我和赵海峰同学合作开发的高校后勤供应维修信息系统更是为了让同学们能够及时报修、后勤维修部门能够及时对报修进行处理,为大家提供方便。为此,我们尽可能降低系统对用户计算机技能的要求,让每个用户都可以方便实现包修、查询等操作。提高了用户(学生、修理工、数据库管理员)的工作效率,真正体现了开发基于网络的高校后勤供应维修信息系统的目的――提供方便。另外,我们也可直接将开发的高校后勤供应维修信息系统发布到实施远程教学的因特网站点上,实现更广范围的后勤管理。使高校后勤管理信息系统实现从手工操作和传统人工管理方式向现代化管理模式的重大转变。
1.2 现状
目前,单机型的高校后勤管理信息系统在某些高校已经投入试运行,但已受到后勤部门工作人员的欢迎。这种处理形式采用了单机的模式,并具有很强大的功能,大大减轻了工作人员的劳动强度并增强了报修及处理的及时性。可以想象,假以时日,我们研制开发的这个基于网络的高校后勤供应维修信息系统必将受到更为广泛的欢迎与支持。
1.3 本文的主要工作
本文主要目的是阐述本系统的功能要求、特点、系统设计及其实现的方法,并简单介绍基于网络的高校后勤供应维修信息系统在实现过程中用到的各种技术及特点。具体包含以下几个方面:
开发环境与工具
网络服务器的选取及网站的架设
ASP技术的运用
网络数据库的应用等等
2 系统分析
2.1 需求分析
高校后勤供应维修信息系统主要是为了解决高校学生报修难及查询、监督难的问题,其次便是为了实现维修耗材管理、维修工管理的数字化。学生东西坏了,就要报修,我们就必须设置一个报修功能;既然有报修,就有可能出错,那么我们就得允许学生将该记录撤消,但与此同时,我们就得考虑到系统的安全性――有可能会有人将别人的正确报修记录恶意删除,从而导致不必要的损失,所以我们就要设置相应的保护措施,我们最终采用了设置防伪码来验证撤消报修者的身份的方法;学生报修之后,后勤维修部门就要对报修记录进行处理,派出维修职工进行维修,当然,在此同时,我们还要进行提货,与此相关的,我们就要进行耗材的进货与入库处理。学生报修了之后,他就希望自己的报修请求能够得到及时的处理,但我们后勤部门毕竟人手有限,所以就要设置一个缓冲时间,我们设置了三天作为缓冲,学生的报修请求必须在三天内得到处理;有进货与提货、入库和报修,我们就要增加查询的功能;最后,还有一个需求,那就是学生可能会忘记自己的报修单编号,甚至防伪码。对于前者,我们可以提供三天内的报修记录进行查询(不给出防伪码);但对于后者,我们只能让他亲自到后勤部门来撤消了(防止别人骗取防伪码)。当然了,在实现以上功能的同时,我们还要照顾到系统的安全,所以我们在高校后勤供应维修信息系统中设置了三种权限,包括学生、维修职工、系统管理员。其中,在我所开发的报修管理模块,我只赋予学生报修、撤消报修及查询三天内的报修纪录(不可查询防伪码)的权限,当然了,为了充分体现安全性,正如前面我所分析的那样,我在学生报修的同时给出了一个随即产生的六-七位的防伪码,这样,当某个同学不小心将报修记录填写错误,要撤消该记录时便可以进行撤消操作,而其它人却不可删除他的报修记录;同时,维修人员却具有处理报修单、查询报修单及报修单历史表(可查询所有的纪录)的权限;只有系统管理员才拥有最大的权限(前二者的操作他都可以实现)。在耗材管理模块,为了体现民主监督的精神,我特意赋予学生查询耗材库及耗材进货历史表、耗材提取历史表的权限;至于维修职工,他们可以进行耗材的提取及前面学生所具有的权限;而相应的,系统管理员拥有最大的权限,除前二者的权限之外,他还可以进行耗材进货的操作。
2.2 系统特点
本系统最大的一个特点就是方便、准确、高效。这主要是因为我们采用了建立在浏览器/服务器(Brower/Server)模式基础上的多层体系结构。Web数据库属于标准的B/S结构,它与传统的客户/服务器(Client/Server)构相比,具有三条优点:
首先,减少了客户端的运行成本。由于大部分工作放在服务器端执行,而客户端只需要普通浏览器就可运行,从而减少了运行成本;
其次,软件更新方便。当功能变化时,只需更改服务器端的软件,而无须在客户端重新安装系统;
其三,操作简便。用户只要会使用浏览器就可操作Web数据库软件,无需专门学习。
B/S模式实际上采用的是三层的客户/服务器(C/S)体系结构,客户端(前段)为IE浏览器,中间层为Web服务器,后端为数据库服务器。有两个主要接口:
(1)客户机与Web服务器的连接:这一接口主要涉及硬件的配置问题,即客户机与Web服务器之间的网络互联。关于这一接口的软件设置,在客户机上,只需安装IE等浏览器软件,在Web服务器上,我们采用的是配置Windows 2000 professional+IIS4.0实现Web服务器功能。当然,对于较少的信息量,使用Windows 98+PWS即可。
(2)Web服务器与数据库服务器之间:此连接为中间接口,也是本系统需着重解决的问题,即基于Web的数据存取技术。
计算机的准确计算与快速执行节省了大量的人力、物力,减少了管理人员的工作量,使他们从繁忙的重复劳动中解脱出来。
本系统的另一个特点是安全性较高。由于报修单的提交、处理等过程都是基于计算机网络的,不可避免的,它就受到了各方面的限制,尤其是安全性问题比较突出,为此,我们多处设置了密码验证或安全性验证。另外,它完全不同于传统的后勤供应维修系统的工作模式与流程,一点不受时间、地点的限制,更加适应当前社会信息化的需求。
本系统的第三个特点是操作简单。简单明了的用户界面使用户不需要经过太多的考虑便可进行正确的操作,另外,我们还多处设置了功能说明。可以说,高校里的任何学生都可轻松使用我们所开发的后勤供应维修信息系统。同时,我们的软件具有友好、统一的操作界面。
2.3 计算机系统的配制
虽然我们开发的是基于网络的高校后勤供应维修信息系统,但由于条件的限制,我们小组只分到了一台机器,不过考虑到我们采用的是B/S结构,虽然说IIS/PWS是一个可以在局域网及因特网上运行的Web服务器,但我们可以不必一定要将IIS/PWS架设在网络上,所以我们在安装了Windows 2000 professional的基础上建立了单机运行平台。
2.3.1 硬件配置
客户端采用配置:PIII500处理芯片,64M内存,S39750显卡,RL1208网卡;
服务器采用配置:PIII500处理芯片,64M内存,S39750显卡,RL1208网卡;
2.3.2 软件配置
1.客户端操作系统:WINDOWS 98/2000
2.网络协议:TCP/IP协议
3.网络服务器:Window 2000 professional
4.数据库管理软件:Microsoft Access xp
5.程序编辑器:Microsoft Front Page xp、Visual InterDev 6.0、Macromedia Dreamweaver UltraDev
2.4 系统的组成结构
高校后勤供应维修信息系统主要有三个子系统和两个交流模块组成,它们是报修单管理子系统、耗材管理子系统、职工管理子系统及聊天室、留言簿模块。
而我所开发的主要是报修管理子系统和耗材管理子系统两个部分,此外还包括登陆的部分制作。(如图1)
数据库
h_sjk
报修管理子系统
耗材管理子系统
不同用户登陆
留言簿
聊天室
职工管理子系统
图1 系统结构示意图
2.5 系统的实现
2.5.1 数据库的设计
我们在Windows 2000 Professional上,用Microsoft Access xp作为工具开发数据库,建立数据库h_sjk,存放报修信息和耗材信息,其中包括报修单信息表、报修单历史表、报修处理表、耗材表、耗材历史表、进货历史表等六个表,详细设计如下图2所示:
报修单信息表y_bxd:
字段名
数据类型及长度
描述
Number
数值(long)
报修单编号
App_unit
文本(50)
申请单位
App_man
文本 (50)
申报人
Fix_site
文本 (50)
修理地点
App_date
日期/时间
申报日期
App_item
文本(50)
申报项目
Remark
备注
详细要求
Status
文本(50)
处理状态
Defense
数值(long)
防伪码
报修单历史表y_bxdls:
字段名
数据类型及长度
描述
Number
数值(long)
报修单编号
App_unit
文本(50)
申请单位
App_man
文本 (50)
申报人
Fix_site
文本 (50)
修理地点
App_date
日期/时间
申报日期
App_item
文本(50)
申报项目
Remark
备注
详细要求
Defense
数值(long)
防伪码
报修处理表y_bxcl:
字段名
数据类型及长度
描述
Number
数值(long)
报修单编号
App_unit
文本(50)
申请单位
App_man
文本 (50)
申报人
Fix_site
文本 (50)
修理地点
App_date
日期/时间
申报日期
Ycl_date
日期/时间
应处理日期
App_item
文本(50)
申报项目
Clman_no
数值(long)
处理人编号
耗材库y_hcku:
字段名
数据类型及长度
描述
Hc_no
数值(long)
耗材编号
Hc_name
文本(50)
耗材名称
Hc_type
文本(50)
耗材类别
Hc_val
数值(long)
耗材单价
Min_num
数值(long)
耗材最小限量
Hc_num
数值(long)
耗材数量
Hc_pay
数值(long)
单项耗材总价值
耗材历史表y_hcls:
字段名
数据类型及长度
描述
Number
数值(long)
报修单编号
Hc_no
数值(long)
耗材编号
Hc_name
文本(50)
耗材名称
Hc_type
文本(50)
耗材类别
Hc_num
数值(long)
耗材数量
Hc_val
数值(long)
耗材单价
Hc_pay
数值(long)
耗材合计
Js_man
文本(50)
经手人
Th_date
日期/时间
提货日期
进货日期y_jhls:
字段名
数据类型及长度
描述
Hc_no
数值(long)
耗材编号
Hc_name
文本(50)
耗材名称
Hc_type
文本(50)
耗材类别
Jh_num
数值(long)
耗材数量
Jh_val
数值(long)
耗材单价
Jh_date
日期/时间
进货日期
Hc_pay
数值(long)
进货合计
Jh_man
文本(50)
进货人
图2 数据库结构.
2.5.2 报修管理子系统设计
管理员身份登陆
学生身份登陆
维修工身份登陆
进行报修
报修单查询
报修单处理
撤消报修
删除该报修纪录
查询三日内记录
数据库
h_sjk
图3 报修模块管理
在登录模块中,我们设置了三种身份。其中,学生身份登陆可以进行报修、撤消报修及查询三天内的报修纪录(不可查询防伪码)。而维修职工身份登录却具有处理报修单、查询报修单及报修单历史表(可查询所有的纪录)的权限;只有系统管理员才拥有最大的权限(前二者的操作他都可以实现)。
维修工身份登陆
2.5.3 耗材管理子系统
管理员身份登陆
学生身份登陆
耗材提货
耗材进货
耗材查询
耗材查询
数据库
h_sjk
图4 耗材模块管理
在耗材管理模块,为了体现民主监督的精神,我特意赋予学生查询耗材库及耗材进货历史表、耗材提取历史表的权限;至于维修职工,他们可以进行耗材的提取及前面学生所具有的权限(查询的权力);而相应的,系统管理员拥有最大的权限,除前二者的权限之外,他还可以进行耗材进货的操作。
2.5.4 涉及知识点讲述
u Web数据库的访问方法(B/S模式)
² 首先当浏览器向Web服务器(指IIS/PWS)要求下载文件时,Web服务器会判断浏览器所下载的是否为.asp文件,如果不是,则直接下载文件。
² 如果浏览器所下载的文件是.asp文件,则Web服务器会判断.asp文件中是否会有Script程序(VB Script或Java Script),如果有,则加以解释执行,至于不是Script程序的部分,则直接传给浏览器 。
² 若执行中的Script程序使用了ADO对象,则Web服务器会根据ADO对象所设置的参数来启动对应的ODBC驱动程序,而启动ODBC驱动程序之后,程序可以直接利用ADO对象来访问数据库,或通过ADO对象来发送SQL指令,进而达到存取数据库的目的。
² 最后如果有数据必须显示在浏览器上,则Script程序会利用ASP所提供的输出对象送出数据,然后由Web服务器传送给浏览器。
² 由上述工作过程可以看出:ASP具有解释执行、面向对象、独立于浏览器(ASP脚本在服务器端执行,与客户浏览器无关)、源代码不会泄漏(传给客户端的是标准HTML代码,而不是ASP源代码)等特点。基于以上考虑,我们初步决定系统采用ASP技术开发。
² 在这个Web数据库的访问过程中,我们使用到了ASP、ADO、SQL、及ODBC技术。过程如图五所示:
浏览器
使用了ADO对象的.asp文件
Web服务器(IIS/PWS)
要求下载文件
HTTP协议
文件下载
数据库
h_sjk
ODBC驱动程序
图5 数据库访问方法
u 使用ASP编程的主要原因
² 我们用来构成“静态网页”的HTML并不是“程序”语言,HTML所定义的范围仅局限于如何表现文字、图片,以及如何建立文件之间的链接,而程序则是经过规划的一连串命令(即“语句”),而这样的命令可用来驱使操作系统或应用程序执行某些工作。而HTML不是程序语言,因此由HTML所构成的文件并不会因时因地的产生变化。为了让网页具备动态变化的能力,不管是浏览器或Web服务器制造厂商,都着手将程序加到纯HTML文件中,而发展出动态网页技术。
² 要产生动态网页,一定要编写程序,至于该选择哪一种程序语言,却比较困难。实现Web数据库的方案有多种,过去常采用通用网关接口CGI(Gommon Gateway Interface)或网络服务器应用程序接口ISAPI(Internet ServerApplication Programming Interface)与Web数据库沟通,但二者都存在CGI/ISAPI程序与超文本标记语言HTML必须在两种不同环境中分开编写、分开运行的弊端,导致开发周期长、维护和编写都相当困难,需要专门的程序员来进行开发。由于我们采用的是B/S模式,由客户端和服务器端两部分组成,程序的可执行端是浏览器(即客户端)及WEB服务器端,如果程序在浏览器上执行,则服务器必须把程序代码传下来,而浏览器也要可以执行服务器所传输下来的程序,如果程序在服务器端执行,则服务器只要把执行的结果传下来即可。
² ASP即Active Server Page.是微软公司推出的一种用以取代CGI的技术,也可以说是CGI 程序的改进版,和CGI程序一样,它是在Web服务器端执行的。不过它有更强大的功能:
ü CGI接口对象化:当我们在CGI程序中收集网络数据时,最麻烦的事情是解析浏览器上传来的数据(主要是为了解析特殊字符及中文码),若使用ASP来收集数据,则ASP会代为解析,并且转换成对象供Script语言(Vb Script或Java Script)读取。
ü 可以使用ActiveX对象:除了ASP本身所提供的对象外,凡是Windows环境下的ActiveX对象也都是ASP网页制作中可以引用的系统资源。而由于ASP程序可以使用Windows环境的ActiveX对象,因此也就能够引用ADO(ActiveX Data Objects)进而存取Web数据库。
ü ASP其实是一种服务器端脚本运行环境。通过ASP我们可以建立动态的、交互的、高效的WEB服务器应用程序。有了ASP您就不必担心客户的浏览器是否能运行您 所编写的代码,因为所有的程序都将在服务器端执行,包括所有的嵌在HTML文档中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客房浏览器,这样出就减轻了客户端的负担,大大提高了交互的速度。
u 为了搭建ASP开发环境,我们的服务器上安装了微软公司的Windows 2000 professional操作系统及IIS(Internet Information Server)4.0,由于ASP通过ODBC与数据库相连,因此后台数据库服务器可采用任何提供ODBC接口的数据库,我们选择的是Microsoft Access xp。
u 至于我们所采用的软件开发工具,主要是微软公司的Front Page xp和Visual InterDev6.0,其中, Front Page xp主要用于静态网页及动态网页界面的制作,Visual InterDev6.0用于ASP脚本程序的开发和调试,另外,我们还采用了Macromedia Dreamweaver UltraDev的一小部分控件,来实现数据查询,脚本语言采用VbScript。
u ADO数据库访问技术
ADO组件是由微软公司所开发的组件,也是微软公司的完整互联网络数据库存取解决方案。ADO是一项容易使用并且可扩展的将数据库访问添加到Web也技术。ADO组件除了软件安装仅占少量硬盘空间外,其最大的优点在于ADO组件非常容易使用且运行效率佳,且使用非常少的系统资源。除了这些优点外,ADO组件更允许用户使用数据库的各种资源。
把ADO与ASP结合起来访问WEB数据库是一种理想的WEB数据库访问的解决方案,是目前访问Web数据库的最佳选择。通过这项技术,我们可以建立提供数据库信息的Web页内容,在Web页面中执行SQL命令,对数据库进行查询、插入、更新、删除等操作。ADO可以连接多种支持ODBC的数据库。在ADO中,可以用VbScript、JavaScript语言来控制数据库的访问。而ASP恰恰是脚本语言的解释环境和查询结果的输出:与其它几种数据库访问技术相比,ADO是建立在应用程序编程接口OLEDB之上的,特别适用于Internet这种网络上使用。而且ADO的优点在于:它的语法简单,易于理解,其中只包含了几个不多的对象,而且这些对象功能强大,易于使用。
u ADO中提供的执行系统操作的方法。
² 连接到一个数据源;
² 指定一个命令来获得对数据源的存储,可以指定变量参数,也可对性能进行优化;
² 执行这个命令;
² 如果这个命令导致返回的数据是一个表格行的形式返回,那么就将这些表格行保存在缓存中,以便进行检查,操纵和修改;
² 如果合适的话,用缓存中的表格行来更新数据源;
² 提供一个通用的方法来检测由于连接数据源的操作不当而产生的错误和执行命令错误。
u 在ASP中,使用ADO组件访问后台数据库的主要步骤:
² 建立数据源 在Web服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定希望的数据库种类、名称、位置等。我在系统中定义“Microsoft Access Driver”,数据源为“sj”,数据库名称为“y_sjk”。
² 使用ADO组件打开Web数据库,调用Server.createobject方法取得“ADODB.connection”再使用open方法打开数据库,如:conn=server.CreateObject(“ADODB.Connection”)
conn.Open(“sj”)
² 指定要执行的SQL命令:连接数据库后,可对数据库进行操作,如查询、修改、删除等,这些都是通过SQL指令来完成的。
² 使用Recordset属性和方法显示结果是为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据.显示结果如下:
rs=Server.CreateObject(“ADODB.RecordSet”)
rs.Open(sqlstr,conn,1,A) ‘A=1读取
‘A=3新增、修改、删除
set rs=db.execute(“Select * from table”)
rs.movefirst
do until rs.eof
Response.Writers(“”)&””
rs.MoveNext
Loop(5)
² 关闭数据库:Conn.close()
u 数据库操作的另一种方法基本语法如下:
² 建立连接数据库的对象:SetConn==ServerCreateobject(“ADODB connection”)语句创建了ADO的Connection对象。
² 打开待访问的数据库Conn open“数据源名”,“用户名”,“口令”其中数据库的数据源名、用户名、密码已在设置ODBC参数时设定。
² 执行SQL命令,实现对数据库的访问:Set rs=Conn Execute(SQL语句)。SQL语句是用结构化查询语言(Structured Query Language)书写的SQL命令,根据SQL语句的不同,可实现对数据库的各种操作,包括:查询、插入、修改、删除等。该语句返回值rs为ADO的Recordset对象,用于保存库操作的结果。
² 关闭数据库并释放占用资源
Set rs=nothing
close conn
Set conn=Nothing
以上语句停止Conn对象与数据库的连接,并释放了Conn、Rs
对象占用的资源。
u ASP编程的关键在于灵活使用ASP提供的五个内置对象:Response、Request、Server、Application、Session和其它服务器组件,必要时也可自行开发组件(暂时能力有限,不能实现)。另外,可以用特殊符号指定某段脚本语句是在服务器上运行,还是在客户机器上运行,例如,放在<ScriptLanguage=”VBScript” Runat=”Server”>…</Script>或<%…%>区段内的语句在服务器端运行,而放在<ScriptLanguage=”VBscript”>…</Script>区段内的语句在客户端运行。
u ADO组件有三个重要的对象Connection对象,command 对象,recordset对象。(我们的系统用了其中的两个)
² 用Connection对象实现查询功能:在本系统的开发中,我们利用了Connection对象建立和管理应用程序和ODBC数据库之间的连接,从而实现了从页面直接访问数据库。用Connection对象的Execute方法可以通过结构化查询语言SQL查询数据库源并检索结果。SQL是用于与数据库通讯的工业化标准语言,它有许多命令可用来检索和更新数据库中的信息。在本系统中,我们利用Connection对象的Execute方法在SQLinsert命令的表格中发出查询要求,此外还使用了SQLupdate和SQLdelete命令来更改和删除数据库中的信息,修改数据库表中的各项的值。Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。要建立数据库连接,首先应先创建Connection对象的实例。例如,下面的脚本创建Connection对象,接着打开数据库连接:
set conn=server.CreateObject("adodb.connection")
conn.ConnectionString="dsn=sj"
conn.open
strsql="select * from y_bxd where number= "&Request.Form("number")&" and defense=" & Request.Form("defense")
set mrs=conn.Execute(strsql)
² 用Recordset对象处理查询结果:用connection对象查询有许多不足,主要是检索和显示数据库信息的Connection对象不能用于创建脚本,它必须先确切知道要对数据库做哪些修改,然后才能使用查询实现修改。而Recordset对象可以根据查询限制,检索并显示一组数据库记录。此外,Recordset对象保持查询返回的记录的位置,这便于一次一项处理查询结果通过对Recordset对象的指针类型属性的设置,可以滚动和更新数据库记录,还可在一组记录中定位到特定的项,可以检索和检查记录,然后在这些记录上执行各种操作。在程序中我们还利用Recordset的一些属性以精确控制指针的行为,提高检索更新结果的能力。 下面给出创建recorderset对象的方法:
set conn=server.CreateObject("adodb.connection")
set mrs=server.CreateObject("adodb.recordset")
conn.Open "sj"
strsql= "select * from y_bxd"
mrs.Open strsql,conn,1,3
mrs.movelast
…… ……
² Command对象具有改善查询的功能:通过ADOCommand对象,我们可以象用Connection对象和Recordset对象那样执行查询,唯一不同的是用Command对象可以在数据库源上准备、编译查询并反复使用一组不同的值来发出查询。用这种方式编译查询的优点是可以最大限度地减少向现有查询重复发出修改请求所需的时间。不过由于我们实现的功能有限,未用到Command 对象,所以在此略过,不详细介绍。
u SQL是操作数据库的一种标准方式,许多关系数据库都实现了SQL,并且实现形式也多种多样。虽然,通常SQL用于创建查询来从数据库中提取数据,但是其中有一个很大的SQL命令子集执行数据库上其他的功能,如创建表和字段。SQL命令可以分为两类:数据定义语言命令(用于创建数据库的结构,如表、字段和索引)和数据操作命令(用于从数据中检索记录),在该系统的设计过程中,我们只用了后者。
在创建数据库脚本之前,必须提供一条使ADO定位、标识和与数据库通信的途径。而数据库源名DSN(DataSourceName)正是连接数据库的桥梁,ODBC可以通过它寻找到要访问的数据库,要访问数据库信息,首先要创建数据库源名,访问时再与数据库建立连接。而DSN共有用户DSN、系统DSN和文件DSN三种,我们所采用的是系统DSN。在用户登录到特定的服务器上去访问数据库时,系统DSN会使用适当的安全身份证明限制数据库到特定用户的连接。
3 详细设计
3.1 用户界面设计
特点:
操作简易,提示信息使用户能够很快熟悉报修、撤销报修、查询等操作的过程和步骤;网页风格清淡,没有很强的颜色差,采用浅色图片作为背景、标题采用深浅一致的大小与颜色、全屏显示;使其风格保持一致,操作流程也更加简洁,使人一目了然。
标准:
1.界面要具有一致性。一致性原则在界面设计中最容易被违反,这也是指导老师经常向我们要求注意的地方,不过只要我们开发时注意点,还是可以避免违反的。比如,在进行不同的操作时,我们要注意相同的字段前的注释要一致,如在报修单表、报修单历史表、撤销报修表中我们要给字段“number”起同样的注释名“报修单编号”,另外,我们的提示、处理后结果显示页等也要具有相同的风格。
2.提供简单的错误处理。我们的系统要有简单的处理错误的功能。在一般情况下,如果出现错误,系统应该能检测出错误,并且提供简单的、便于理解的错误处理和提示。比如说,我在实现报修单撤销功能时,我就会判断到底用户输入的数据是否存在于数据库中,是二者都错,还是只错了其中之一,若是前者,我会提示“报修单中未发现此纪录”;是后者,我会提示“报修单编号或防伪码错误”,对于由于技术性问题而导致的无法避免的错误可能,我都在页面上以浅蓝色文字作出了指导性说明,从一定程度上防止和避免了错误的发生,并提供了一些建设性的建议。
3.提供一定的信息反馈和交流的途径。在我们的后勤供应维修系统中,我们为了方便使用者(特别是学生)能够及时了解后勤维修部门的一些新规定、拉近学生与后勤部门之间的距离,防止维修部门漏处理了某些学生的报修纪录,或是某些维修人员工作不力,对报修的处理不及时或不认真,造成了报修者的不便或损失,于是他们就要进行投诉。于是,我们在三个主要功能子系统之外又加上了两个简单的交流模块――聊天室和留言簿。这两个子模块虽然简单,但却为后勤部门的工作质量提供了保证和监督。
4.部分操作可逆。在系统设计之初,我们就考虑到:有些操作应该是可逆的。对于学生来讲,他们的报修信息可能会填写错误,这时候,我们就必须提供一种途径让报修者将刚才的保险记录删除掉,否则,若让报修者亲自到后勤部门撤销报修,就失去了我们设计这个网上维修系统为大家提供方便的目的;而系统管理员拥有修改数据库的权利,所以大可不必为他设置可逆操作;至于维修职工根本就没有撤销操作的理由。
3.2 报修管理模块设计
主要asp文件名 主要功能
bxd 报修单提交
cxbx 撤销报修
bxdcl 报修单处理
bxdcx1 报修单查询(按报修单编号或防伪码)
bxdcx 报修单查询(按其它字段)
程序流程图(以数据管理员身份登录)
撤销报修界面
登录界面
验证报修信息
忘记编号
报修界面
确 否
三日内信息显示
显示报修信息界面
定
报修记录选择
是
撤销报修
报修纪录处理
选择查询条件
分页显示
显示相应信息
显示处理信息
在报修管理模块,学生或代替学生登录的系统管理员登录后就可进行报修,报修单的编号是系统自动生成的,为了以后可能要进行的撤销报修操作的安全性,我又为每一条报修纪录设置了一个随机生成的六位或七位的防伪码。在提交时若某些文本框为空,则弹出对话框,提醒报修者填写完所有的信息框,信息提交后,弹出一页以表格形式显示刚刚提交的报修纪录,也是为了方便报修者能更好的记住我们所给出的报修单编号和防伪码。
在撤销报修纪录时,如果撤销者知道报修单编号和防伪码,则可直接删除(输入错误时系统会给出相应的提示),否则报修者也可查看三天以内的报修记录,只不过不可以看到相应的防伪码。
在处理报修记录时,首先系统会分页显示出报修单表中的所有未处理过的纪录并有超链接可进入处理报修单并派出维修工的页面,而维修工默认为登录该处理页面的用户(只有维修工和系统管理员才可进入该页面),当然,登录者也可将其进行修改。同样的,我们在此设置了一个显示所有字段值的页面。
在进行记录查询时,我们可以对条件进行选择,到底是报修单编号、防伪码等数值型字段,还是经手人、报修单位等文本型字段,对于查询结果,我实现了分页显示,并可随时转到第N页,为查询者(维修工和系统管理员)提供了方便。
3.3 耗材管理模块设计
主要asp文件名 主要功能
hcjh 耗材进货
hctq1 耗材提取
index 耗材进货历史查询
index1 耗材提货历史查询
hckcx 耗材库查询
程序流程图(以数据管理员身份登录)
耗材提取
登录界面
耗材进货
库中没有该种耗材
库中该种耗材不足
库中已有同类耗材
展开阅读全文