双基、改性双基数据库应用系统设计

2013-11-21 00:53武俊生
湖南师范大学自然科学学报 2013年2期
关键词:系统管理员功能模块数据库

武俊生

(山西大学工程学院计算机工程系,中国 太原 030013)

在固体推进剂产品实际测试操作中由于要得到不同产品的不同实验系数,在一次测试中记录有多个数据.本文是针对在推进剂的研制过程中,对积累的资料(如:性能测试及工艺研究数据)进行统一、集中管理,而设计的数据库管理系统.利用计算机进行统计、积累和系统化,以减少重复工作,提高工作效率,并扩充工厂的数据库系统(数据库采用 SQL Server 2005)[1-3].

通过需求分析,设计者逐步解决用户所需要的不同功能模块,使得该软件更好地实现人机交互,搭建一个易于企业数据管理的数据库软件系统.

1 系统总体设计方案

1.1 系统需求分析

需求分析是软件开发的首要任务,是整个开发过程的引导,也是开发中最为困难的部分,一旦出错,可能导致所开发的系统用时短、不易进行修改等,会给系统开发带来极大的损失[4-5].

(1)系统需要对不同的用户给出不同的权限,比如,系统管理员有对用户的管理权限(可以增、删、改用户),也就是拥有系统的全部权限.而一般用户只有查询和打印报表的功能.所有用户都可以修改自己的用户密码.

(2)系统在工厂中仪器测试完一种产品后,系统管理员应该可以添加测试产品的代号、名称及其它的测试数据.当过一段时间后,产品的测试信息已经没有保留的必要时,系统管理员要删除这些数据.

(3)当需要查询某一产品的测试数据时,系统管理员和一般用户可以测试产品代号,测试产品名称,测试日期和测试人员用条件查询需要的数据.

(4)系统运行在 Windows平台上,要求有一个较好的图形用户界面,操作要求简单.

(5)系统应该有很好的可扩展性,以便企业根据实际情况添加新的功能.

1.2 系统总体架构

本项目系统采用比较常见的 C/S架构设计.服务器端架设在 0801工房,在服务器上建立试验资料数据库,运行数据库软件以及数据入库程序.服务器端操作系统采用 Windows Server 2003,数据库采用 SQL Server 2005.客户端安装双基、改性双基数据库应用系统,可运行在 0801、0802工房专网内.客户端软件主要针对 Windows XP操作系统而设计,需要 Microsoft.NET Framework v2.0及以上版本的环境支持,部分功能需要 Office 2003的软件支持[6-8].

1.3 系统设计目标

系统的目标是将传统的测试数据管理转化为数字信息化管理,实现测试产品数据信息管理的自动化、规范化和系统化.本系统的双基、改性双基数据库软件需要完成的功能有用户管理、输入数据、数据管理、数据报表以及系统管理 5个功能模块.

1)用户管理:该功能用于管理使用该系统的用户,以及按模块进行权限的分配,从而为系统提供一定的安全性.使用这个系统的用户主要包括 2种:一是系统管理员,有对用户管理的管理权限,它可以增、删、改用户,以及具有输入数据、查询数据、数据报表和系统管理的功能,也就是系统管理员拥有该软件的全部功能;

2)输入数据:手动输入或自动导入产品的测试数据及处理结果信息;数据管理:查询和删除已测试的产品数据信息;

3)数据报表:生成已测试的产品数据信息报表,可以打印出来;

4)系统管理:退出系统.

对上述各项功能进行集中、分块、结构化,得到如图1所示的系统功能模块图.

图1 系统功能模块图Fig.1 The system function module diagram

1.4 系统程序设计

本系统采用模块化设计原理设计各功能模块.主要采用 Visual Basic 2005语言进行设计,结合 Transact-SQL语言对 SQL数据库进行操作[2,9].

1.4.1 设计系统主界面 经过以上需求分析、系统设计和数据库设计,完成了系统的工作目标.图2所示为系统主界面.

图2 系统主界面Fig.2 The main interface of system

设计好的子菜单的树状结构如图3所示.

图3 系统菜单设计Fig.3 The system menu

1.4.2 数据编辑模块设计 在项目中添加一个类,命名为 EditData.下面介绍 EditData类的实现方法.

EditData类中封装了对数据的编辑操作,这是通过函数或者子过程来实现的.此外,它还需要调用者给它传递必要的参数.站在类的角度考虑问题,要完成这些操作,这个类应该如何设计,哪些参数是必不可少的.

EditData类需要 4个函数或子过程(增删改查)来完成对数据的操作.对数据进行查询时,需要返回查询结果,这个操作需要使用函数来实现.虽然对数据进行增、删、改时可以不需要返回值,但为了表示有多少行受了影响,仍然使用函数返回受影响的行数[10-12].其次.要考虑是否需要在类 EditData中添加字段和属性.因为这个类的功能只是执行 SQL操作,各个成员之间相互没有影响,所以不需要添加.既然如此,可以创建共享类,这样不用创建类的实例就可以直接调用类的方法.为了便于引用 ADO.NET中的类,可使用 Import导入命名空间,代码如下:

Imports System.Data.OleDb

对于添加数据的函数Insert,SQL语句是必不可少的,否则该类就不知道执行什么操作了.其次,执行SQL操作时,需要先和数据库建立连接,连接数据库的信息也是必须的.由此,该函数需要两个参数由其调用者提供:保存SQL语句的字符串和保存数据库连接信息的字符串.在这里使用ConnStrl和strSQL变量来传递这个类需要的信息,定义如下.

① ConnStrl:字符串变量,存储连接数据库的信息.

② strSQL:字符串变量,存储用于执行添加数据命令的SQL语句.

③ Insert 函数实现过程比较简单,但由于插入时可能出现异常(比如被添加记录的主键值和已有记录中的相同),在这个函数中需要进行异常处理.该函数代码如下:

Shared Function Insert(ByVal ConnStr As String, ByVal strSQL As String) As Integer

′创建SqlConnection实例

Dim conn As OleDbConnection = New OleDbConnection(ConnStr)

′创建SqlCommand实例

Dim myCommand As OleDbCommand = New OleDbCommand(strSQL, conn)

′count表示受影响的行数,初始化为

Dim count As Integer = 0

Try

′连接数据库

conn.Open()

′执行SQL命令

count=myCommand.ExecuteNonQuery()

Catch ex As OleDbException

MsgBox(ex.ToString())

Catch ex As Exception

MsgBox(ex.ToString())

Finally

conn.Close()

End Try

图4 系统流程图Fig.4 System flow chart

Return count

End Function

2 数据库的设计

2.1 数据库需求分析

用户的需求具体体现在各种信息的提供、保存、查询和更新,这就要求数据库结构能充分满足各种信息的输入和输出.收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础.在调查和讨论具体用户对双基、改性双基数据库软件的需求后,进过仔细分析,得到如图4的系统业务流程图[10].

2.2 数据质量控制

数据质量控制体现在数据的完备性、完整性和安全性3个方面.在信息系统中,数据首先应该是充分的、不能缺失的,其次是数据应该是实体完整的、参照完整的和保持域完整的,最后数据应该是安全的、可审计的、防止被篡改、窃取、重置以及未经授权的访问、存取等.

1)完整性、准确性

为确保数据库资料的完整性和准确性,我们采用试验报表资料重新对数据库中相应的数据表进行覆盖,通过读取试验报表文件,对数据表进行数据追加或覆盖.每月的报表编制校对完成后,即可对数据库中上一个月的日、旬、月资料进行更新.由于报表文件的存储目录不固定,因此,我们采取手动选择更新的方式.

2)安全性

为保障大监站数据库的安全性,首先我们在数据库服务器操作系统的软件防火墙中对 SQL Server数据库默认的 TCP 1433端口的访问作了限定,只有指定网段范围内的客户端计算机才能访问该端口;其次,客户端访问 SQL Server数据库全部使用只读权限的账户进行访问.

3 结束语

双基、改性双基推进剂数据库软件的开发过程遵循软件工程的原理.系统采用C/S结构,使用ADO.NET数据库技术,选择了SQL Server2005作为后台数据库,选择Visual Basic 2005作为开发工具.

本文设计并建立了完整的固体推进剂数据库,实现了对数据库的多种操作,在实现方法上增强了数据库的健壮性,避免了数据库无意中被更改,同时也加强了对数据操作可能发生的错误处理;在管理系统中扩展了数据库的功能,除基本的更新和删除操作外,还可实现多种查询及打印功能,并提供友好的界面方便用户操作,为固体推进剂配方研究及设计提供了强有力的工具,起到了积极的作用.

参考文献:

[1] 钟军.Visual Basic数据库高级实例导航[M].北京:科学出版社, 2004.

[2] 许志清,赵 博.精通 SQL Server 2005数据库系统管理[M].北京:人民邮电出版社, 2007.

[3] 赵喜来,崔 程,夏素广.SQL Server 2005中文版从入门到精通[M].北京:电子工业出版社, 2007.

[4] HE L J, YIL, LIU L C. Loosely cupled and reu-sable MVC modle web paging desigm[J]. Comput Eng Appl, 2007,43(15):95-97.

[5] 薛 辉,邓 军,叶柏龙,等.分布式数据交换平台在电子政务中设计与实现[J].湖南师范大学自然科学学报, 2012,35(6):44-47.

[6] HE Q, LING T W. An ontology based approach to the integration of entitg-relation ship schemas[J].Data Knowledge Eng, 2006,58(3):299-326.

[7] CANDES E J, DEMANET L, DONOHO D L. Fast discrete curvelet transforms[R]. Applied and Computational Mathematics. California Institute of Technology, 2005:1-43.

[8] TEMPLEMAN J, MUELLER J. COM programming with Microsoft. NET.[M].US, Redmond: Microsoft Press, 2003.

[9] PLATT D S. Introducing Microsoft.NET[M].2nd ed. US, Redmond: Microsoft Press, 2002.

[10] 刘志成,薛志良.Oracle数据库管理与应用实例教程[M].北京:人民邮电出版社, 2010.

[11] Sencha ExtJS overview[EB/OL]. [2012-10-16].http://www.sencha.com/products/extjs/.

[12] Crazgcat Ibatis Transaction[EB/OL]. [2012-03-03].http://www.itege.com/wilei/550491.

猜你喜欢
系统管理员功能模块数据库
计算机文件安全管理系统研究与设计
数据库
基于ASP.NET标准的采购管理系统研究
数据库
输电线路附着物测算系统测算功能模块的研究
数据库
M市石油装备公服平台网站主要功能模块设计与实现
数据库
功能模块的设计与应用研究
浅议会计电算化工作中的系统管理员