毕业设计(论文)PB公安标准检测系统

上传人:仙*** 文档编号:31651097 上传时间:2021-10-12 格式:DOC 页数:44 大小:1.58MB
收藏 版权申诉 举报 下载
毕业设计(论文)PB公安标准检测系统_第1页
第1页 / 共44页
毕业设计(论文)PB公安标准检测系统_第2页
第2页 / 共44页
毕业设计(论文)PB公安标准检测系统_第3页
第3页 / 共44页
资源描述:

《毕业设计(论文)PB公安标准检测系统》由会员分享,可在线阅读,更多相关《毕业设计(论文)PB公安标准检测系统(44页珍藏版)》请在装配图网上搜索。

1、河北省高等教育自学考试毕业论文公安标准检测系统专业:计算机信息管理(本)作者:准考证号:指导教师: 是否拟申请学位:否联系电话:完成日期:2009年10月8日 摘 要随着“金盾工程”一期建设的不断完善及二期项目不逐渐立项,公安行业内各个警种基本都建立起了相应的管理系统,建立了部、省、市、县(区)的多级互联。随着公安信息化建设的不断发展,数据交换与集中成了系统建设的重要方面,但数据格式不统一、数据质量不高等因素的严重的影响了公安软件系统的发展。本系统就是在这种现实情况下开发的。论文共分六部分,第一章为引言,简要介绍系统开发的背景和必要性;第二章为系统分析部分,从现状分析、需求分析、系统部署、组织

2、结构、业务流程几个方面对系统的整理结构进行了分析。第三章为系统设计部分,主要包括系统的技术方案和功能模块设计两部分。第四章为数据库设计,介绍了本系统的数据结构设计情况。第五章为系统实现部分,介绍了本系统的几个重点、难点以及相应的解决方法,并从重要功能方面的脚本代码进行了详细阐述。在第六章我对本系统的开发以及对整个自考学习过程一个总结。关键字:管理信息系统 PowerBuilder 公安标准目 录第1章引言1第2章系统分析22.1需求分析22.1.1标准库管理22.1.2灵活自动的标准检测22.1.3对检测结果进行有效处理32.1.4灵活的安装部署模式32.1.5软件及数据的安全达到要求32.1

3、.6灵活易用性32.1.7通过网络进行自动更新和动态监控32.2系统部署42.3组织结构42.4业务流程5第3章系统设计63.1技术方案63.2功能模块设计63.3数据库设计73.3.1数据库模型设计73.3.2数据字典10第4章系统实现184.1框架与界面设计184.2系统主要难点及其实现194.2.1连接多个数据库194.2.2枚举数据库中的数据结构234.3主窗体创建及程序搭建254.4菜单设计274.5数据窗口设计274.5.1列表数据窗口284.5.2Form数据窗口294.6标准检测功能实现304.7系统管理功能344.7.1用户管理344.7.2用户授权354.7.3注册信息35

4、第5章结束语38参考文献39致 谢40目录ii第1章 引言公安系统内的软件应用及数据使用情况可以用图1-1来展现: 图1-1 公安信息化应用示意图从图1-1可以看出,随着业务的持续优化,数据越来越走向整合与利用,未来的数据应该是模型化的多维数据。就目前的情况看,公安的数据还是以警种内集中为主,还未形成大规模的跨警种数据整合,甚至不同区域单位(如省与省之间)的数据标准不一致,造成数据交换共享困难。公安部在2009年提出建立大情报系统的整体规划时就明确提出,公安的标准建设是公安系统数据整合利用的基础,一定要切实落实并形成机制,系统化管理。标准检测系统是在公安部要加强公安网内应用软件标准执行情况管理

5、而推出的一套管理系统,它旨在通过对公安部标准库中的标准和应用软件采用的标准进行比对扫描,确定应用软件采用的标准是否符合部里要求,是否达到上线运行的合格条件。本系统作为规范标准管理,加强软件监管的一个有力手段,要和公安部颁发的相关管理规范配套使用才能取得应有的管理效果。本套系统完整提交应包括以下几部分:系统设计文档、软件标准提交规范、需求分析说明书、概要设计、详细设计、测试报告、程序安装工具包、用户操作手册、培训等。第2章 系统分析2.1 需求分析标准检测系统是在公安部科信局要加强公安网内应用软件标准采用规范化的要求下而提出的管理系统,具体的需求主要有以下几方面。2.1.1 标准库管理软件要能对

6、公安行业内现行的标准进行动态管理,在多级部署的情况下,要能够完成分级更新的功能。标准库的每一次更改要记录日志。标准库的修改可以支持版本升级。2.1.2 灵活自动的标准检测标准检测是本系统最主要的功能需求,要求可以采用入库扫描和样本扫描两种检测方式。入库扫描是指系统通过扫描应用软件的数据库中相应的标准代码数据表与正确的部颁标准进行检测的扫描方式。这种方式要求系统支持各种应用软件的数据库接口,通过指定数据库连接参数连接到应用软件的数据库,再通过指定的数据表及字段参数来定位标准数据。入库扫描可以最大限度的检测应用软件的标准采用情况。样本扫描是指在入库扫描不方便实施或应用软件无法提供数据库接口的情况下

7、,采用应用软件提供标准样本进行扫描的一种检测方式。样本扫描要求应用软件提供商按照部里要求的格式规范提供标准样本,并保证此样本与应用软件实际采用的标准一致,此项一致性要求主要通过部里颁发的管理要求和规章制度来完成。标准检测时可以根据标准的级别和合格比例计算检测结果。标准检测要记录操作人员的相关信息。2.1.3 对检测结果进行有效处理标准检测的结果作为应用软件可否在公安网内上线运行的证明,具有重要的意义。检测结果要对概要和明细进行全部管理,并可统计查询、打印报表。2.1.4 灵活的安装部署模式系统要支持公安部、省、市等多级部署,支持在线升级和标准检测数据和结果的上传下载。要对客户端的安装部署进行注

8、册跟踪,可以查看客户端的运行情况。中心服务采用B/S方式,采用WEB进行综合管理和统计查询。2.1.5 软件及数据的安全达到要求因为一些标准的内容有涉密的要求,软件的网络交换数据和数据存储要达到相应的安全性要求,要求加密传输,加密保存。2.1.6 灵活易用性系统充分考虑使用者的计算机应用水平,具有良好的人机界面,简洁明快,易于接受,易管理,易维护,并提供远程自动升级功能,尽可能减少系统的维护量。2.1.7 通过网络进行自动更新和动态监控C/S客户端要可以通过网络和更新服务器自动完成在线升级,不需要用户进行干涉。管理中心可以对客户端的运行情况进行动态监控、状态跟踪和版本管理。部里要对全国的应用系

9、统检测结果进行集中管理,下级单位要将检测结果通过网络自动上传到部里的综合管理系统,综合管理系统可以对检测结果进行多种查询统计。管理中心子系统采用基于J2EE的多层系统架构,数据库采用Oracle,管理中心子系统主要包含如下功能:2.2 系统部署图2-2 系统部署示意图如图2-2所示,整个系统分人管理中心和客户端两部分,管理中心部署在公安部,客户端安装在各级公安机关。2.3 组织结构图2-3 组织结构图客户端由管理中心进行管理,管理中心用户分为部级用户和省级用户两级,部级用户管理部级和省级客户端,省级用户管理市级客户端。2.4 业务流程本系统最基本的一个业务流程就是标准检测的程序,以下是其基本流

10、程图。上传标准使用情况报表标准检测统计分析员管理中心信息库检测结果标准库数据被检系统数据图2-4 基本业务流程图第3章 系统设计3.1 技术方案根据整个系统的功能需求和公安网内应用软件的现状,系统采用C/S架构和B/S架构相结合的方式。C/S架构程序负责具体的检测工作,安装在部、省、市各个信息节点,受管理中心监控,并通过网络与管理中心时行数据交换。开发工具采用Power Buider。Power Buider是优秀的桌面程序开发工具,资源众多,性能先进,安装部署方便,是开发基于WINDOWS应用的首选开发环境。数据库可以采用多种通用的数据库平台,为了使系统部署更容易灵活,系统使用Access

11、2003数据库,易用方便。B/S架构程序负责标准库管理、对全国各个客户端节点的管理监控以及对检测结果的综合管理,包括查询、统计、分析、归档等。B/S采用J2EE进行构建,使用Struts、Hibernate、JSTL等成熟的技术架构进行开发。数据库采用Oracle,可以采用9i,也可以采用10g。应用服务器采用免费的apache和Tomcat,部署试运行后根据性能要求和数据量大小,可以部署到其它商用应用服务器上。多级部署和在线升级采用基于Web Service的接口服务方式进行,公安部设立全国的系统中心,统一对全国各级系统提供支持和管理,在公安部设立的全国系统服务接口,各省市部署点通过接口进行

12、升级更新操作。3.2 功能模块设计本系统分为两个子系统进行开发部署,检测客户端主要功能是进行标准检测及结果上传,管理中心的主要功能是标准库管理、检测结果的统计分析。在线更新和数据交换功能存在于两个子系统中,需要两个子系统的配合来完成。标准检测系统检测客户端管理中心检测管理标准浏览系统维护在线升级标准管理用户管理客户端管理公安领导检测结果统计分析系统管理图3-1 总体功能结构图3.3 数据库设计3.3.1 数据库模型设计数据库模型设计是在需求分析的基础上分析系统中的各种实体,并找出各种实体间的关系。在本系统中主要的实体有两个,一个是标准信息,一个是检测结果信息。下面是本系统主要的E-R图。标准信

13、息标准编号标准名称标准类型图4-1 标准信息实体E-R图标准小类信息标准编号标准小类编号标准小类名称图4-2 标准小类信息实体E-R图标准代码明细信息标准小类编号编号代码名称图4-3 标准代码明细信息实体E-R图标准数据项明细信息标准小类编号编号数据项名称数据项类型图4-4 标准数据项明细信息实体E-R图检测结果信息系统名称开发商检测日期图4-5检测结果信息实体E-R图检测结果标准信息标准小类编号记录数通过数图4-6检测结果标准信息实体E-R图检测结果代码明细信息是否符合代码名称图4-7检测结果代码明细信息实体E-R图检测结果数据项明细信息是否符合代码名称图4-8检测结果数据项明细信息实体E-

14、R图标准信息标准小类信息标准代码明细信息检测结果信息检测结果标准信息标准检测明细信息包含包含包含包含引用引用图4-9实体间关系E-R图3.3.2 数据字典进行完数据库的实体设计以后,就要进行数据库的结构设计,确定建立什么事,什么字段,什么数据类型以及长度等,把这些信息整理在一起,形成一个数据字典,做为后期系统开发的一个参考。表4.1数据表名称设计规范序号数据表名称备 注1BZ_XXB标准信息表2BZ_XLB标准小类表3BZ_DMMXB标准代码明细表4BZ_SJMXB标准数据项明细表5BD_JGXXB比对结果信息表6BD_TABLES比对结果表信息表7BD_FIELDS比对结果字段表8BD_JG

15、BZB比对结果标准表9BD_DMMXB比对结果代码明细表10BD_SJMXB比对结果数据项明细表11XT_SZB系统设置表12XT_USER用户信息表13XT_POPEDOM用户权限模块表14XT_YWLX业务类型表表4.2标准信息表(BZ_XXB)序号列名数据类型宽度能否为空注释备注1BZBHchar100N标准编号主键2BZLXchar30Y标准类型3ZWMCChar500N标准名称4ICSChar30YICS号5SSRQChar12Y实施日期Yyyy-mm-dd6MJChar1Y密级7TCDWChar100Y提出单位8BZChar500Y备注9SFTYChar1N是否停用1为停用,0为有

16、效10BBNUMBER22Y版本,用于自动升级11BZFLChar30Y标准分类表4.3标准小类表(BZ_XLB)序号列名数据类型宽度能否为空注释备注1BZXLBHchar50N小类编号,在标准编号的后面加上.序号,没有小类的加上.0 主键2BZBHchar100N标准编号3XLChar250Y小类名称,标记为第几部分4DMSJChar1N代码数据 1为代码,2为数据5BBNUMBER22Y实施日期表4.4标准代码明细表(BZ_DMMXB)序号列名数据类型宽度能否为空注释备注1BZMXBHchar100N标准明细编号主键2BZBHchar100Y标准编号3BZXLBHChar50N小类编号4D

17、MChar50Y代码5MCChar100Y名称6SMChar500Y说明7MJChar1Y密级8BZChar500Y备注9SFTYChar1Y是否停用 1为停用,0为有效10BBNUMBERY版本,用于自动升级表4.5标准数据项明细表(BZ_SJMXB)序号列名数据类型宽度能否为空注释备注1BZMXBHchar100N标准明细编号,主键主键2BZBHchar100N标准编号3BZXLBHChar50Y小类编号4XHChar50N序号5SJXMCChar100N数据项名称6SJXLXChar30N数据项类型7SJXCDChar22Y数据项长度8SMChar500Y说明9MJChar1Y密级10B

18、ZChar500Y备注11BBNUMBER22Y版本,用于自动升级表4.6比对结果信息表(BD_JGXXB)序号列名数据类型宽度能否为空注释备注1BDIDNUMBERN比对结果ID 主键,自动加一2XTMCCHAR100N系统名称3BBHCHAR50Y版本号4KFSCHAR100N开发商5YWLXCHAR100N业务类型6ZRDWCHAR100N责任单位7BZSNUMBERN标准数8TGSNUMBERN通过数9BDRYCHAR30N比对人员10BZCHAR500Y备注11BDRQCHAR10Y比对日期 yyyy-mm-dd表4.7比对结果表信息表(BD_TABLES)序号列名数据类型宽度能否为

19、空注释备注1BDTABLEIDNUMBERNID 主键,自动加一2BDIDCHAR100N比对结果ID3BZCHAR50Y备注4TABLENAMECHAR100N表名5TABLECOMMETCHAR100N表注释表4.8比对结果字段信息表(BD_FIELDS)序号列名数据类型宽度能否为空注释备注1BDFIELDIDNUMBERNID 主键,自动加一2BDTABLEIDNUMBERNBDTABLEID3BDIDNUMBERN比对结果ID4BZCHAR150Y备注5FIELDNAMECHAR50N字段名6FIELDCOMMETCHAR100N字段注释7FIELDTYPECHAR50字段类型8FIE

20、LDNULLCHAR1是否可以为空9FIELDLENGTHNUMBER字段长度10FIELDDOTNUMBER小数位数FIELDPKCHAR1是否是主键FIELDDEFAULTCHAR50默认值表4.9比对结果标准表(BD_JGBZB)序号列名数据类型宽度能否为空注释备注1BDBZIDNUMBERN主键主键,自动加一2BDIDNUMBER100N外键,结果表主键3BZXLBHVARCHAR50Y标准小类编号,外键,标准小类表主键4JLSNUMBER100N记录数5FHSNUMBER100N符合数6BFHSNUMBERN不符合数7FHBLNUMBERN符合比例8BDFSCHARY比对方式为文件比

21、对为入库比对9BDJGCHARY比对结果成功0失败10BZVARCHARY备注表4.10比对结果代码明细表(BD_DMMXB)序号列名数据类型宽度能否为空注释备注1BDMXIDNUMBERN主键主键,自动加一2BDBZIDNUMBER100N结果标准ID,结果标准表主键3BZMXBHVARCHAR50Y标准明细编号4DMVARCHAR50N被检测代码5MCVARCHAR100N被检测名称6SFFHCHAR1Y是否符合表4.11比对结果数据项明细表(BD_SJMXB)序号列名数据类型宽度能否为空注释备注1BDMXIDNUMBERN主键主键,自动加一2BDBZIDNUMBERN结果标准ID,结果标

22、准表主键3BZMXBHVARCHAR50Y标准明细编号4TABLENAMEVARCHAR50N表名5FIELDNAMEVARCHAR50N字段名6SFFHVARCHAR1Y是否符合表4.12系统设置表(XT_SZB)序号列名数据类型宽度能否为空注释备注1KHDIDNUMBERN客户端ID,用于注册2XZQHVARCHAR6N行政区划3IPVARCHAR50YIP地址4FWDIPVARCHAR100N服务中心IP5LASTLOGINVARCHAR20N最后登陆时间6BBHNUMBERN客户端版本号7BZBBNUMBERN标准版本8DWMCVARCHARY单位名称9FZRXMVARCHARY负责人

23、姓名10FZRDHVARCHAR20Y负责人电话表4.13用户信息表(XT_USER)序号列名数据类型宽度能否为空注释备注1u_idVARCHAR10N用户ID2u_nameVARCHAR100N姓名3U_passwordVARCHAR20N密码4u_noteVARCHAR100Y描述5u_gmsfhmVARCHAR18Y身份证号6u_telVARCHAR20U电话表4.14用户模块权限表(XT_POPEDOM)序号列名数据类型宽度能否为空注释备注1u_idVARCHAR10N用户ID2menu_nameVARCHAR100N菜单名3item_textVARCHAR50Y模块文字4item_n

24、ameVARCHAR100N模块名5abledVARCHAR100N是否可用表4.15业务类型表(XT_YWLX)序号列名数据类型宽度能否为空注释备注1IDNUMBERN主键主键,自动加一2YWLXCHAR100N业务类型第4章 系统实现4.1 框架与界面设计一个设计良好、操作人性化的界面会给用户赏心悦目的感觉,也有利于用户快速上手,提高工作效率。PB自带的按钮以及工具栏等做为基本的标准控件,外形过于普通,按钮和文字也过小,不方便使用。因此有必要选择一套改良过的界面控件进行开发。本系统的主程序如图4-1所示。图4-1 主程序设计图主程序采用Windows多文档结构(MDI),程序界面的上部为主

25、菜单和常用工具栏,左侧为功能导航,这是一个按子系统划分的类似于outlook风格的导航面板,点击相应的按钮可以打开相应的功能模块。左侧的导航可以通过点击“隐藏导航栏”、“显示导航栏”来显示和隐藏,当导航栏隐藏时,可以为用户提供更多的窗体工作空间。点击工具栏右侧的图像标志可以显示本系统的说明对话框。4.2 系统主要难点及其实现由于自己的水平有限,对PB的使用经验较少,在系统的设计开发中难免会遇到很多困难,以下几个问题是本系统中比较典型并相对复杂的功能。 4.2.1 连接多个数据库进行标准检测,需要让用系统内正确的标准信息与用户提供的样本信息进行比对,得出比对结果。被检测系统提供的检测样本基本上都

26、是以数据库的形式提供的,一般是在用户搭建的测试环境或试运行环境中直接连接被检系统的数据库进行检测。 我们一般的系统都是连接自身的数据库,而本系统是在连接本地数据库基础上还要由用户在操作界面上指定连接参数,连接到被检系统的数据库。PB连接连数据库是通过PB的事务对象来进行的,SQLCA是PB为每个系统自动生成的一个全局数据库连接对象。如果要连接多个数据库,就需要手工声明多个事务对象。不同的数据库系统需要提供不同的连接参数,本系统不能保证可以连接到所有的数据库系统,根据各个数据库系统在公安行业内的应用情况,可以完成以下三种方式连接即可:Oracle、SQL Server、ODBC。4.2.1.1

27、Oracle连接Oracle数据库需要提供的参数有:服务名、用户名、密码,图4-2是连接Oracle数据库的窗体设计图。图4-2 Oracle数据库连接对话框点击确定的代码如下:/声明事务对象Transaction ora/创建事务对象ora = CREATE transaction ora.DBMS = O90 Oracle9i (9.0.1)ora.ServerName = sle_1.textora.LogId = sle_2.textora.LogPass = sle_3.textora.AutoCommit = Falseora.DBParm = PBCatalogOwner= +

28、sle_2.text + connect using ora; if ora.sqlcode0 thenmessagebox(警告,连接失败!,stopsign!)returnelsemessagebox(提示,连接成功!)end if4.2.1.2 SQL Server连接SQL Server数据库需要提供的参数有:服务器名、数据库名、用户名、密码,图4-3是连接SQL Server数据库的窗体设计图:图4-3 SQL Server数据库连接对话框点击确定的代码如下:/声明事务对象Transaction sql/创建事务对象sql = CREATE transaction sql.DBMS

29、= MSS Microsoft SQL Serversql.ServerName = sle_1.textsql.Database = sle_2.textsql.LogId = sle_3.textsql.logpass = sle_4.textsql.AutoCommit = Falsesql.DBParm = connect using sql; if sql.sqlcode0 thenmessagebox(警告,连接失败!,stopsign!)returnelsemessagebox(提示,连接成功!)end if4.2.1.3 ODBC对于Oracle、SQL Server以外的数据

30、库,可以采用ODBC的连接方式。连接ODBC数据源需要提供的参数有:数据源名称、用户名、密码,图4-4是连接ODBC数据源的窗体设计图。图4-4 ODBC数据源连接对话框点击确定的代码如下:/声明事务对象Transaction odbc/创建事务对象odbc = CREATE transaction odbc.DBMS = ODBCodbc.AutoCommit = Falseodbc.DBParm = ConnectString=DSN= + sle_1.text + ;UID= + sle_2.text + ;PWD= + sle_3.text + connect using odbc;

31、if odbc.sqlcode0 thenmessagebox(警告,连接失败!,stopsign!)returnelsemessagebox(提示,连接成功!)end if4.2.2 枚举数据库中的数据结构进行标准检测,除了在检测时需要数据结构的信息外,得到数据结构也是对应用软件的设计开发进行的一项重要作用。获得数据库中的表以及字段等信息,可以采用不同数据库系统的系统表来进行。4.2.2.1 OrcleOracle的表信息保存在all_tables表中,查询所有表信息的语句为:select * from all_tables where owner=用户名字段信息保存在all_tab_col

32、umns表中,查询所有字段的语句为:select * from all_tab_columns where owner=用户名在Oracle中,表和字段的注释并没有和表信息与字段信息保存在一起,而是单独保存在不同的表中,以下是查询表注释的语句select * from user_tab_comments where comments is not null and table_name=表名;以下是查询字段注释的语句:select * from user_col_comments where comments is not null and table_name=表名 and col_name

33、=字段名;4.2.2.2 SQL ServerSQL Server中的表信息存在sysobjects表中,字段信息存在sysobjects中,下面是一个相关的查询语句:查表名 select name as tablename, as TABLECOMMET from sysobjects where xtype=U and namedtproperties; 查字段 SELECT tablenam= d.name , fieldname=a.name, PK=case when exists(SELECT 1 FROM sysobjects where xtype=PK and parent_

34、obj=a.id and name in ( SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid ) then 1 else end, fieldtype=b.name, fieldlength=COLUMNPROPERTY(a.id,a.name,PRECISION), fieldnull=case when a.isnullable=1 then 1else 0 end, fielddefault=isnull(e.text,

35、), fieldcommet=isnull(g.value,) FROM syscolumns a left join systypes b on a.xusertype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype=U and d.namedtproperties left join syscomments e on a.cdefault=e.id left join sysproperties g on a.id=g.id and a.colid=g.smallid where d.name=UserInfo or

36、der by a.id,a.colorder4.3 主窗体创建及程序搭建创建应用程序后,在app的open事件中写程序的启动代码:/ Profile databaseSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=driver=Microsoft Access Driver (*.mdb);DBQ=hfwl.mdbconnect using SQLCA;If SQLCA.SQLCode 0 ThenMessageBox (警告, 连接数据库出错!rn + SQLCA.SQLErrText ,stopsi

37、gn!)haltEnd If /全局结构变量赋值str_sys.systemname=公安标准检测系统str_sys.ver=1.0str_sys.dbver=20090928str_sys.userid=wzfstr_sys.username=超级用户str_sys.usercorp= /使用单位open(w_logo)以上语句首选连接数据库,再定义一个全局变量,最后打开用户登陆窗口。图4-5 系统登陆对话框输入用户名和密码后,点击“确定”按钮,如果正确,则进入主窗体,如果错误则提示密码错误。以下是确定按钮的click事件代码: SELECT xt_user.u_password,xt_us

38、er.u_name,xt_user.u_id INTO :ls_pass,:str_sys.username,:str_sys.userid FROM xt_user WHERE xt_user.u_id = :sle_1.text ;if ls_passsle_2.text or sqlca.sqlcode=100 thenmessagebox(警告,用户名或密码错误!,stopsign!)sle_1.setfocus()returnend ifopen(w_main)close(parent)4.4 菜单设计主菜单是应用程序的功能框架,主菜单命名为m_main,图4-6是菜单结构。图4-6

39、 菜单设计示意图各菜单项的click事件代码就是打开各个功能对应的窗口。如“用户管理”菜单项的代码为:opensheet(w_rybm,parentwindow,-1,Original!)其它菜单项的功能和写法跟这个基本相似,不再一一列出。4.5 数据窗口设计Power Builder的数据窗口是其一大特色,用PB开发数据库应用程序就离不开数据窗口的设计。在本系统中,用到了两类数据窗口,一类是Form式的,如被检系统信息的录入编辑,一类是列表式的,如被检系统列表等。图4-7是本系统内设计的一部分数据窗口:图4-7 数据窗口设计示意图4.5.1 列表数据窗口对于列表式的数据窗口,根据可否进行编辑

40、分为两种:只读式和编辑式。对于只读式的数据窗口,用户不能进行在线编辑,只用来显示,如图4-8是一个操作人员的数据窗口设计图:图4-8 操作人员数据窗口设计图为了使在每一行点击鼠标时改变当前行的颜色,需要修改数据窗口的属性,从源文件中可以看出:datawindow(units=0 timer_interval=0 color=16777215 processing=1 HTMLDW=no print.printername= print.documentname= print.orientation = 0 print.margin.left = 110 print.margin.right =

41、 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no grid.lines=0 grid.columnmove=no selec

42、ted.mouse=no )4.5.2 Form数据窗口Form式的数据窗口一般是对应一条记录,所以为了显示该条记录,一般要传入一个参数,在数据窗口的设计时就需要定义一个参数。比如以下下面的SQL语句做为数据源:SELECT * FROM bd_jgxxb WHERE ( bdid = :bdid ) :bdid就是定义的一个参数,这个数据窗口在加载数据时需要传入此参数:dw_xtxx.settransobject(sqlca)dw_xtxx.retrieve(bdid)上面代码中的bdid窗体中定义的一个Long型变量。4.6 标准检测功能实现标准检测是系统的主要功能,也是核心功能。标准检测

43、模块由两个窗口组成,一个是检测结果列表窗口,一个标准检测编辑窗口。检测结果列表窗口的界面如图4-9所示。图4-9 检测结果列表界面图上部是一个按钮区,有“新建被系统”、“修改被检测系统”、“删除被检系统”、“退出”四个按钮。下是一个一数据窗口:dw_xtxx。为了使数据窗口可以充满整个窗体,在窗口的risize事件中写入如下代码:dw_1.width=this.workspacewidth() - dw_1.x - 4dw_1.height=this.workspaceheight() - dw_1.y 4这样可以保证在窗体显示和调整大小时,数据窗口都在显示在整个窗口面板上。在窗口的open事

44、件中写入以下代码使数据窗口获取数据:dw_1.settransobject(sqlca)dw_1.retrieve()双击数据窗口,会打开标准检测检测编辑窗口,这里要往编辑窗口中传递一个参数:BDID。这个值是检测结果信息表的主键,以下是相关代码:long bdidbdid = dw_1.object.bdid.primarydw_1.getrow()OpenSheetWithParm(w_bzjcedit, bdid, w_bzjclist, 2, Original!)OpenSheetWithParm函数的功能是打开一个有参数窗口,其中第二个参数是要传递给要打开窗口的参数,这个参数可以是S

45、tring、Numeric、PowerObject三种。 传递给窗口的参数,PowerBuilder会把它保存在一个系统对象Message中,新窗口通过Message对象就可以取得相应的参数。对应于三种不同类型的参数,接受参数的方法也不一样,以下是对应方法:表4.1 PB参数读取方法参数类型读取参数说明NumericMessage.DoubleParm数值型参数StringMessage.StringParm字符型参数PowerObjectMessage.PowerObjectParm对象型参数标准检测编辑窗口是一个信息项比较多的窗口,所以我把它用Tab控件分成了三个TabPage,程序界面如

46、下:图4-10 系统检测界面示意图在被检测系统信息页面,放置的是一个dw_xtxx的数据窗口,在本数据窗口中,有一个“业务类型”的下拉框,本下拉框对应着另外一个数据窗口dw_ywlx。它作为一个数据窗口的“子窗口”,在显示时需要通过主窗口设置进行填充数据。以下是窗口open的代码:/打开业务类型下拉框列表DataWindowChild state_childtab_1.tabpage_xtxx.dw_xtxx.GetChild(ywlx, state_child)state_child.SetTransObject(SQLCA)state_child.Retrieve()bdid = mess

47、age.doubleparm;if bdid = -1 then tab_1.tabpage_xtxx.dw_xtxx.reset() tab_1.tabpage_xtxx.dw_xtxx.insertrow(0)else tab_1.tabpage_xtxx.dw_xtxx.settransobject(sqlca) tab_1.tabpage_xtxx.dw_xtxx.retrieve(bdid) tab_1.tabpage_bzxx.dw_bzxx.settransobject(sqlca) tab_1.tabpage_bzxx.dw_bzxx.retrieve(bdid)end if标

48、准信息列表是指当前的被检系统对应的标准信息,一般一个应该系统都会采用多个标准。点击标准列表下的“添加标准”按钮,会打开选择标准对话框,在选择标准对话框里选择相应标准后,再把选择的标准添加到该被检系统的标准列表中来。这里就又涉及到一个传递参数的问题:弹出窗口如何把参数返回给调用它的父窗口。PB没有像ShowModal这样的弹出模式对话框的语句,它是通过把弹出窗口的WindowType设置成Response!,这样通过Open()函数打开的窗口就是一个模式窗口,父窗口会等待这个窗口关闭以后再执行下面的语句。弹出窗口要想把参数传递给父窗口,需要使用CloseWithReturn函数,这个函数的第一个

49、参数是要关闭的窗口名称,第二个参数是要传递给父窗口的数据。选择标准窗口确定按钮的代码为:string bzxlbhbzxlbh = dw_1.object.bzxlbh.primarydw_1.getrow()CloseWithReturn(parent, bzxlbh)这里把从列表中取得的bzxlbh作为参数传递给调用窗口。标准检测编辑窗口调用的语句为:open(w_bzxx)insert into bd_jgbzb (bdid,bzxlbh) values (:bdid,:Message.Stringparm);if sqlca.sqlcode0 thenmessagebox(警告,出现错

50、误!,stopsign!)returnelsemessagebox(提示,标准已添加!)end iftab_1.tabpage_bzxx.dw_bzxx.retrieve(bdid)在这里Open完窗口后,通过Message.Stringparm来接收传递过来的参数,同时这又是一条insert语句的一个变量。点击标准列表下面的“检测标准”会打开标准比对的对话框,其原理在前面都做过介绍,就不一一在此列出代码了。4.7 系统管理功能系统管理部分主要是以下几个方面的内容:用户管理、用户授权、注册信息、修改密码等。4.7.1 用户管理用户管理是指维护管理本系统的用户信息,用信息因为字段比较简单,所以采

51、用列表编辑的方式,程序界面如图4-11所示。图4-11 用户管理界面示意图上部是几个功能按钮,下面是一个数据窗口:dw_rybm。可以在数据窗口中直接修改用户信息,修改完成后按保存,将数据保存至数据库中。添加完新的用户后,要到用户授权中分配权限才可以全用本系统。4.7.2 用户授权用户授权模块的操作界如图4-12所示:图4-12 用户授权界面示意图模块的左侧是一个用户信息列表,点面其中某一用户时,右侧的功能树会相应的显示该用户可以使用的功能模块。用户列表处是一个dw_czz的数据窗口,右侧的功能树是一个从treeview继承来的自定义对象,它扩展了treeview类的功能,可以从主菜单中读取信

52、息构造自己的树节点。4.7.3 注册信息注册信息是指本软件在管理中心的注册信息,如客户端ID、行政区划、单位名称等。根据完整的系统功能设置,此注册信息要通过管理中心的服务接口上传到管理中心,此处只保存在本地数据库中。本模块的界面如图4-13.图4-13 系统注册信息界面示意图在窗口的open事件中默认从本地表中取出原有注册信息,只需要通过下面一句查询语句就可以实现:select khdid,xzqh,dwmc,fzrxm,fzrdh into :sle_1.text, :sle_2.text,:sle_3.text, :sle_4.text,:sle_5.textfrom xt_szb;点击保

53、存时,保存到系统设置表中:Long kk = Long(sle_1.text)UPDATE XT_SZB SET khdid = :k, xzqh = :sle_2.text, dwmc = :sle_3.text, fzrxm = :sle_4.text, fzrdh = :sle_5.text;if sqlca.sqlcode0 thenmessagebox(警告,出现错误,请重试!,stopsign!)returnelsemessagebox(提示,修改成功!)end if第5章 结束语标准检测系统是在公安部要加强公安网内应用软件标准执行情况管理而推出的,它的实施使公安网内的软件开发商和

54、软件监管机构有了一个有力的工具,对促进标准统一、提高数据质量起到了一定的促进作用。但一个软件系统的成功实施并发挥效益,光靠良好设计和完善的功能是不够的,软件行业内一句流行的话是“三分软件,七分实施”说的就是这个道理。一个信息系统只有主管的领导积极主导推进,各级相关人员密切配合,再辅以相应的规章制度做为保障,这样才能为系统的成功实施创造良好的外部条件,达到预期的目标。标准检测系统经过公安部的电视电话会议在全国进行了培训,我也为培训老师提供了相应的PPT资料。从目前的使用情况来看,效果还是很显著的,各地都发现了很多应用系统中的不兼容数据和标准信息。虽然自己多年从事计算机软件方面的工作,但因为没有系统的学习过相关的理论知识,所以在平时的工作中总感觉到缺乏一些应有的底蕴和内含。参加自学考试给了我一个系统的、全面的学习机会,使我把信息系统开发这一领域的知识贯穿起来,形成一个系统的网络。在学习中我不但巩固了基本理论知识、系统开发的正确思路和科学方法,还学习到了相关的管理知识和宏观意识,提高了自己的认识水平和思想水平。本次毕业设计既是对自己所学知识的一个总结,也是一个学习和实践的过程。这个系统中有很多有我自己也认为需要改进的地方,我会在以后的学习和工作中不断的去完善。参考文献1 杨成. 计算机信息管理实践环节指导. 清华大学出版社, 2001.2

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!