中谷粮仓管理系统 毕业设计.doc_第1页
中谷粮仓管理系统 毕业设计.doc_第2页
中谷粮仓管理系统 毕业设计.doc_第3页
中谷粮仓管理系统 毕业设计.doc_第4页
中谷粮仓管理系统 毕业设计.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

廊 坊 师 范 学 院 本科毕业论文 题 目:中谷粮仓管理系统 学生姓名: 导师姓名: 院 别:数学与信息科学学院 系 别:信息与计算科学系 专 业:信息与计算科学 年 级:2010 级本科 1 班 学 号:10040341025 完 成 日 期 2014 年 04 月 25 日 i 廊坊师范学院本科生毕业论文(设计) 论文题目: 中谷粮仓管理系统 论文摘要: 粮情测控开放式软件平台是利用现代电子技术来实现粮食储藏过程中对影响 粮情变化因素的实时检测、对实时检测数据进行分析与判断、对安全储粮提出处 理建议并予以控制的系统.本系统利用现代工控组态思想和中间件技术,组建一 个统一可扩充、可重构、可相容的并具有柔性和适应性的粮情测控系统软件平台, 在这个软件平台上,可以动态的选择不同的硬件厂家设备,系统平台向各种不同 的粮情测控硬件系统发送检测指令,并从这些系统中提取已检测的粮情数据信息, 根据信息向硬件系统发出相应的控制信号.从而向上屏蔽各种系统的差异,达到 互通互联. 系统应用软件以.net 程序设计语言为基础,采用.net 语言的程序设计与数据 库相结合的手段进行开发,结构紧凑、运行速度快、操作简单,更因为拥有自己 的源代码,所以保证了软件具有高度的保密、安全性. 关键词:粮情检测;.net;数据库;安全性 ii title:grain storehouse management sysem platform abstract:grain storehouse management sysem platform is the use of modern electronic technology to achieve real-time detection of food during storage factors affecting grain situation changes, for real-time detection data analysis and judgment, made recommendations for safe grain storage and handling systems to be controlled. the system uses a modern industrial control configuration ideas and middleware technology, the formation of a unified scalable, reconfigurable, and compatible with a flexible and adaptable grain monitoring system software platform, in this software platform can dynamically choose a different hardware device manufacturers, system platform sends commands to detect a variety of grain monitoring hardware system, and extract the data has been detected in the grain situation information from these systems, issue the appropriate control signals to the hardware system based on the information.thereby shielding up differences between the various systems, to achieve interconnection. system application software .net programming language based on the use. means .net programming languages and database development that combines compact, fast, easy to operate, but because they have their own source code, to ensure that the software a high degree of privacy, security. key words: grain detection; .net; database; security 目 录 iii 1. 绪论 .5 1.1 研究背景 5 1.2 设计目 标 5 2. 系统开发环境与技术 .6 2.1 系统开发环境 6 2.1.1 .net 介绍 6 2.1.2 sql server 介绍 7 2.2 系统开发技术 .7 2.2.1 gdi+编程技术 .7 2.2.2 抽象工厂模式 .8 2.2.3 .net 反射 .10 2.2.4 经典三层 11 3. 系统需求分析 12 3.1 需求分 析 12 3.1.1 系统用例图 13 3.1.2 系统功能详细说明 15 表 3-1 粮情检测设置 15 表 3-2 粮情检测部分 16 表 3-3 通风控制部分 17 4. 系统详细设计与功能实现 19 4.1 系统设计 .19 4.1.1 系统架构图 19 4.1.2 系统类图 20 4.1.2 数据库设计 22 4.2 功能实现 .22 4.2.1 数据分析曲线时序图 22 4.2.2 系统用户管理时序图 25 4.2.3 系统温度检测时序图 28 5. 用户操作手册 30 5.1 软件的安装和卸载 .30 5.1.1 硬件环境 30 iv 5.1.2 软件环境 30 5.1.3 软件安装注意事项 30 5.1.4 安装步骤 30 5.1.5 软件的卸载 30 5.2 注册 .30 5.3 登录系统 .31 5.4 系统主页 .32 5.5 定时检测设置 .33 5.6 粮情检测 .33 5.6.1 实时检测功能模块 34 5.6.2 定时检测查看功能模块 34 5.7 粮情数据分析 .35 5.7.1 粮情查询功能 35 5.7.2 粮情分析功能模块 36 5.7.3 报表功能模块 38 5.7.4 温度曲线 40 5.8 数据库操作 .43 6. 总结与展望 44 6.1 课题 总结 .44 6.2 进一步开发的展望 .44 参考文献 .45 致谢 .46 附录 .47 5 1. 绪论 1.1 研究背景 近年来,国务院决定在全国各地分期分批地建成千亿斤储备粮库.这是分析 了目前国内和国际形势、从本国国情出发提出的一项具有战略意义的举措,是 关系国计民生的大事,是直接关系到13亿人口吃饭的大事,具有增强国力、抵 御自然灾害的现实意义.随着电子信息技术不断向各行业渗透,传统行业如粮食 系统也逐步走向信息化管理轨道.新建中央储备库均采用粮情测控系统等“四新” 技术,也建立了电脑网络和一些应用管理软件,信息化程度较高.进入新世纪, 世界已处在网络化、信息化时代,特别是我国加入wto后,粮食交易的国际化也 提到日程上,这势必对粮库管理乃至粮情测控系统提出更高更多的要求,不仅 在本地,还要在异地(上级粮管部门)也能及时地了解各地粮库的粮情.具体地 说,要能看到各地粮库的粮仓内有无粮食,在多少粮食,储粮是否安全(包括 粮温、仓内湿度、通风等是否正常)等一系列粮情.所有这些都对新世纪的粮情 测控系统提出了具体的要求. 1 中谷仓库管理系统应用软件以.net程序设计语言为基础,采用.net语言的 程序设计与数据库相结合的手段进行开发,结构紧凑、运行速度快、操作简单, 更因为拥有自己的源代码,所以保证了软件具有高度的保密、安全性. 2 1.2 设计目标 中谷粮仓项目主要是对粮仓的温度和湿度进行检测和控制.通过对粮仓的布 局、缆线的布局、物理设备的对应关系、物理设备在运行中存在的问题,我们 进行合理的规划,并得出切实可行的方案.在此基础上确定了系统性能要求,系 统运行支持环境要求,数据项的名称,数据规格,以上的工作是为了下一步的 开发奠定了良好的基础. 6 2. 系统开发环境与技术 2.1 系统开发环境 中谷粮仓管理系统以.net 为开发平台,使用 gdi+编程技术、串口通信、 事件监听等技术,并由将检测数据存储到 sql server 中. 2.1.1 .net 介绍 .net 就是微软用来实现 xml,web services,soa(面向服务的体系结构 service-oriented architecture)和敏捷性的技术net 是微软的新一代技术平台, 为敏捷商务构建互联互通的应用系统,这些系统是基于标准的、联通的、适应 变化的、稳定的和高性能的.从技术的角度,一个.net 应用是一个运行于.net framework 之上的应用程序 .(更精确的说,一个.net 应用是一个使用.net framework 类库来编写,并运行于公共语言运行时 common language runtime 之上的应用程序.)如果一个应用程序跟.net framework 无关,它就不能叫做. net 程序.比如,仅仅使用了 xml 并不就是.net 应用,仅仅使用 soap sdk 调用一个 web service 也不是.net 应用net 是基于 windows 操作系统运行的 操作平台,应用于互联网的分布式 3. web services 是.net 的核心技术.正如 web 是新一代的用户与应用交互的 途径,xml 是新一代的程序之间通讯的途径一样, web services 是新一代的计 算机与计算机之间一种通用的数据传输格式,可让不同运算系统更容易进行数 据交换.web services 有以下几点特性:web services 允许应用之间共享数据; web services 分散了代码单元;基于 xml 这种 internet 数据交换的通用语言, 实现了跨平台、跨操作系统、跨语言.那微软的 asp 和 web services 究竟有什么 不同呢,asp 仍然是一个集中式计算模型的产物,只不过是披着一层互联网的 外衣.但 web services 却是一个迥然不同的精灵,它秉承 “软件就是服务”的真 言,同时顺应分布式计算模式的潮流.而它的存在形式又与以往软件不同.这种组 件模式,小巧、单一,对于开发人员来讲,开发成本较低. 4 简单点讲.net 是微软开发的集成 ide,它集成了.net runtime 包含了所有 微软的编程特性,封装了微软的所有开发语言,通过.net 平台能够开发基于微 软的任何系统. 7 2.1.2 sql server 介绍 sql 是英文 structured query language 的缩写,意思为结构化查询语言. sql 语言的主要功能就是同各种数据库建立联系,进行沟通.按照 ansi(美国国 家标准协会)的规定,sql 被作为关系型数据库管理系统的标准语言 .sql 语句 可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数 据等.目前,绝大多数流行的关系型数据库管理系统,如 oracle, sybase, microsoft sql server, access 等都采用了 sql 语言标准 .5 sql server 是一个关系数据库管理系统. 6它最初是由 microsoft、sybase 和 ashton-tate 三家公司共同开发的,于 1988 年推出了第一个 os/2 版本.在 windows nt 推出后,microsoft 与 sybase 在 sql server 的开发上就分道扬镳 了,microsoft 将 sql server 移植到 windows nt 系统上,专注于开发推广 sql server 的 windows nt 版本.sybase 则较专注于 sql server 在 un操作 系统上的应用. 2.2 系统开发技术 中谷粮仓管理系统采用的是.net 来进行开发,系统设计架构采用了抽象工 厂+ 反射 +三层,主要的编程语言采用的是 c#,另外使用了 gdi+、串口通信、 事件监听、业务回滚等技术. 2.2.1 gdi+编程技术 图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处 理所有 windows 程序的图形输出. gdi 是 graphics device interface 的缩写,含义是图形设备接口,它的主要 任务是负责系统与绘图程序之间的信息交换,处理所有 windows 程序的图形输 出. 在 windows 操作系统下,绝大多数具备图形界面的应用程序都离不开 gdi,我们利用 gdi 所提供的众多函数就可以方便的在屏幕、打印机及其它输 出设备上输出图形,文本等操作.gdi 的出现使程序员无需要关心硬件设备及设 备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发 者与硬件设备的隔离,大大方便了开发工作. gdi+是 windows xp 中的一个子系统,它主要负责在显示屏幕和打印设备 8 输出有关信息,它是一组通过 c+类实现的应用程序编程接口.顾名思义, gdi+是以前版本 gdi 的继承者,出于兼容性考虑,windows xp 仍然支持以前 版本的 gdi,但是在开发新应用程序的时候,开发人员为了满足图形输出需要 应该使用 gdi+,因为 gdi+对以前的 windows 版本中 gdi 进行了优化,并添 加了许多新的功能. 7 作为图形设备接口的 gdi+使得应用程序开发人员在输出屏幕和打印机信息 的时候无需考虑具体显示设备的细节,他们只需调用 gdi+库输出的类的一些方 法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完 成,gdi+使得图形硬件和应用程序相互隔离 .从而使开发人员编写设备无关的应 用程序变得非常容易. 2.2.2 抽象工厂模式 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互 依赖的对象 8.他与工厂方法模式的区别就在于,工厂方法模式针对的是一个产 品等级结构;而抽象工厂模式则是针对的多个产品等级结构.在编程中,通常一 个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所 有产品都是衍生自同一个接口或抽象类,而抽象工厂模式所提供的产品则是衍 生自不同的接口或抽象类. 9 在抽象工厂模式中,有一个产品族的概念:所谓的产品族,是指位于不同 产品等级结构中功能相关联的产品组成的家族.抽象工厂模式所提供的一系列产 品就组成一个产品族;而工厂方法提供的一系列产品称为一个等级结构.我们依 然拿生产汽车的例子来说明他们之间的区别. 9 图2- 1 抽象工厂类图 抽象工厂代码: interface iproduct1 public void show(); interface iproduct2 public void show(); class product1 implements iproduct1 public void show() system.out.println(“这是 1 型产品“); class product2 implements iproduct2 public void show() system.out.println(“这是 2 型产品“); 10 interface ifactory public iproduct1 createproduct1(); public iproduct2 createproduct2(); class factory implements ifactory public iproduct1 createproduct1() return new product1(); public iproduct2 createproduct2() return new product2(); public class client public static void main(string args) ifactory factory = new factory(); factory.createproduct1().show(); factory.createproduct2().show(); 2.2.3 .net 反射 简单点说反射是使用另外一种方法来调用获取应用程序或者程序组件的一 些信息,这个应用程序可以是我们正在运行的也可以是还没有运行的,只要是 能够被.net 调用的文件都可以使用反射来获取文件的信息,如我们众所周知的. dll、 .exe、com 组件等都可以使用反射来获取文件的信息,同时也可以使用反 射来调用这些组件或者程序. 我们可以使用反射动态地创建类型的实例,将类型绑定到现有对象或从现 有对象中获取类型,然后调用类型的方法或访问其字段和属性.反射通常具有以 下用途: (1) 使用 assembly 定义和加载程序集,加载在程序集清单中列出模块,以 及从此程序集中查找类型并创建该类型的实例. 11 (2) 使用 module 了解包含模块的程序集以及模块中的类等,还可以获取在 模块上定义的所有全局方法或其他特定的非全局方法. (3) 使用 constructorinfo 了解构造函数的名称、参数、访问修饰符(如 pulic 或 private)和实现详细信息(如 abstract 或 virtual)等.使用 type 的 getconstructors 或 getconstructor 方法来调用特定的构造函数. (4) 使用 methodinfo 了解方法的名称、返回类型、参数、访问修饰符(如 pulic 或 private)和实现详细信息(如 abstract 或 virtual)等.使用 type 的 getmethods 或 getmethod 方法来调用特定的方法. (5) 使用 fiedinfo 了解字段的名称、访问修饰符(如 public 或 private)和 实现详细信息(如 static)等,并获取或设置字段值. (6) 使用 eventinfo 了解事件的名称、事件处理程序数据类型、自定义属性、 声明类型和反射类型等,添加或移除事件处理程序. (7) 使用 propertyinfo 了解属性的名称、数据类型、声明类型、反射类型和 只读或可写状态等,获取或设置属性值. (8) 使用 parameterinfo 了解参数的名称、数据类型、是输入参数还是输出 参数,以及参数在方法签名中的位置等. 2.2.4 经典三层 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划 分为:表现层(ui) 、业务逻辑层(bll) 、数据访问层(dal ).区分层次的目 的即为了“高内聚,低耦合”的思想. (1) 数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的 形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数 据库,具体为业务逻辑层或表示层提供数据服务 (2) 业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层 的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积 木的搭建. (3) 表示层:主要表示 web 方式,也可以表示成 winform 方式,web 方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义 和更改,逻辑层都能完善地提供服务. 12 经典三层系统的分层式结构图如下. 图2-2 三层结构图 3. 系统需求分析 3.1 需求分析 该平台是一个自开发体系结构,实现了系统功能的构件化,用户可以定制 所需要的模块.软件平台在屏蔽底层硬件设备相异性的同时,向上层提供了统一 标准接口,实现无缝连接.统一的数据格式,统一的界面,统一的传输协议,可 以实现信息共享,给管理工作带来很大的方便. 该平台系统支持局域网和广域网功能,能够极大地方便粮库各级领导的查 询和统计工作. 在粮库局域网中,该系统主要由测控主机和数据查询客户端组成.测控主机 负责检测和控制粮情测控设备,一般由一台计算机负责.数据查询客户端可部署 于粮库局域网的多台计算机上,由相关领导和工作人员进行粮情数据的查看、 统计及报表绘制等. 本系统还可以工作在总公司粮食专网的广域网环境中,粮库通过配置一台 iis 服务的 web 服务器,就可以向异地提供粮情查询. 13 3.1.1 系统用例图 uc use case model user operator administrator 图3-1 系统角色分配用例图 pkg dataanalysis curveshow realtimecheck reportbyday singlehistorycheck singlehousedatecomparetemandhumicompare user (from use case model) operator (from use case model) administrator(from use case model) 图3-2 系统数据分析用例图 pkg detect realtimedetection setdetectiondate administrator (from use case model) operator (from use case model) user (from use case model) 图3-3 系统粮情检测用例图 14 pkg managesystem getcommoninfo managedatabase setequipmentfactorysetphysical userset operator (from use case model) administrator (from use case model) user (from use case model) 图3-4 系统管理用例图 pkg setsystem setgrainhouse cableset houselayoutset portset setdatacard settemhumi showstoragecable administrator (from use case model) operator (from use case model) user (from use case model) 图3-5 系统参数设置用例图 15 pkg windcontrol airbyhand airauto airreport airworklog cornwaterset curveanalysis postanalysis setair administrator (from use case model) operator (from use case model) user (from use case model) 图3-6 系统通风控制用例图 3.1.2 系统功能详细说明 表 3-1 粮情检测设置 功能名称 输入 处理 输出 登录系统 输入正确的卡号 和密码 进行是否注册, 是否登录,级别 的判断 符合条件,登录成功,不符 合条件给出提示! 退出系统 无须输入 单击退出按钮, 进行退出系统, 作好记录操作. 弹出成功注销 串口设置 此窗体直接数据 库中已存在的设 置加载进去,并 且可以进行修改 单击修改将此时 控件中的信息写 入到数据库; 单击退出按钮退 出此系统 单击修改后弹出修改成功和 失败;单击退出直接退出系 统 气温汽湿设置 此窗体直接数据 库中已存在的设 置加载进去,并 且可以进行修改 单击修改将此时 控件中的信息写 入到数据库; 单击退出按钮退 出此系统 单击修改后弹出修改成功和 失败;单击退出直接退出系 统 仓房设备设置 1、 输入仓房的相 关信息(组件、 仓房号、仓房 类型、起始缆 号、终止缆号、 分机号、前置 机号、命令) ; 2、 点击删除,删 除选中仓房 1、 添加仓房 2、 删除仓房 3、 缆线布局 1、 添加用户成功或失败 2、 删除用户成功或失败 3、 若此仓房未设置则直接 进行设置;否则弹出 “此仓房已设置好布局” 16 3、 点击缆线布局: 对缆线进行设 置 粮仓布局设置 无须输入 选择仓号进行显 示 立体显示该仓房信息 数据卡片 数据粮仓和粮食 的信息 保存和删除 弹出保存成功与失败; 弹出删除成功与失败; 曲线坐标设置 输入曲线起始时 间和时间段 保存 弹出保存成功与失败 温度读取期间设置 输入上限和下限 保存 弹出保存成功与失败 用户管理 无须输入 显示 相应级别下的信息 添加用户 用户号、密码 保存 弹出保存成功与失败 修改用户 用户级别、密码 修改 弹出修改成功与失败 添加常用地址 实际常用地址 保存 查询 删除 1、点击保存:弹出保存成 功与失败 2、点击删除:弹出删除成 功与失败 添加物理地址 分机号、前置机 地址、圆仓圈数、 本组温点值、添 加的地址总数 保存 1、点击保存:弹出保存成 功与失败 修改物理地址 温点详细地址 添加的地址总数 修改 弹出修改成功与失败 备份数据库 无须输入 备份 弹出成功备份数据库 还原数据库 无须输入 还原 弹出成功还原数据库 设备厂家设置 厂家名称、通讯 组件、厂家地址、 通讯方式、服务 器地址 保存 点击保存:弹出保存成功与 失败 粮库名称 数据库名称 保存 弹出保存成功与失败 使用期限设置 使用天数 保存 弹出保存成功与失败 表 3-2 粮情检测部分 功能名称 输入 处理 输出 实时检测 仓库号 检测、保存数据 1、 单击检测,弹出对话框 显示是否有数据. 2、 数据将会以图表形式显 示到 panel 控件上 定时检测 检测活动、检测 仓库号、日期、 时间 保存、删除、修 改数据 数据将会显示到表格控件上 实时查询 仓库号、起始日 期、结束日期 温度数据将会以 行列层的格式变 数据将会以分页形式显示到 表格控件上 17 换 单仓历史查询 仓库号、查询日 期、查询时间 数据以行列层立 体显示,数据打 印到报表中 1、 点击查询,数据显示到 表格上 2、 立体显示,数据按照行 列层格式变换,生成立 体图 3、 打印,数据将会写入到 报表中 温湿度对比 对比的两个仓库 号 数据将会以行列 层形式变化,并 以立体格式显示 到控件上 单击控件上的按钮数据将会 按照按钮显示情况来显示数 据 单仓日期对比 一个仓库号 查询数据、变换 数据格式 数据将会以立体形式显示到 控件上,用户通过选择或单 击按钮来查看数据 曲线显示 仓库信息、起始 日期、结束日期 查询、显示、打 印信息 显示图表曲线,设置打印图 表 日报表 仓库号、检测日 期 查询、变换、写 入报表、导出 excel 1、 预览报表,预览报表中 的数据 2、 打印报表 3、 信息设置,设置需要打 印的信息 4、 页面设置,设置打印纸 张的页面大小 5、 导出 excel 表 3-3 通风控制部分 功能名称 输入 处理 输出 降温通风 仓情设置 通风设备信息 增删改查、打印 1、点击保存:弹出保存成 功与失败 2、点击删除:弹出删除成 功与失败 3、点击打印:弹出打印预 览 风网设置 风网信息 增删改查、打印 1、点击保存:弹出保存成 功与失败 2、点击删除:弹出删除成 功与失败 3、点击打印:弹出打印预 览 分仓设备信息 选择粮仓名称 查询 显示查询该仓内的通风设备 及风网信息 18 粮食水分录入 粮堆水分梯度、 上下层水分差、 仓粮平衡水分、 大气相对湿度 保存 弹出保存成功与否提示 手工通风 选择粮仓(单选) ; 点击查看粮情; 点击开启(停止) 查询仓内通风设 备信息; 查询粮情; 开始或停止通风 显示通风设备信息; 显示仓温仓湿外温外湿; 显示正在通风信息 智能通风 选择粮仓(多选) ; 输入通风类型和 模式,点击开始 通风; 查询仓情; 启动风机 显示仓温仓湿外温外湿拱温; 点击查看粮情,即可弹出粮 情对话框 工作记录 选择粮仓 查询 显示通风前后仓内温湿度信 息 柱状分析 选择粮仓和日期 查询 显示温度变化柱状图 曲线分析 选择粮仓和日期 查询 显示温度变化曲线图 通风报表 选择粮仓和日期 查询 显示该仓内粮食信息、通风 设备信息、风网信息、通风 记录等. 19 4. 系统详细设计与功能实现 4.1 系统设计 4.1.1 系统架构图 图4-1 系统架构图 该粮情测控平台采用典型的三层设计架构设计模式:ui(界面层) , bll(业务逻辑层) ,dal(数据访问层) ;还有 entity(实体层) ;使用了一个 接口 idal(数据接口层)在 b 层和 d 层,彻底将数据库与程序解耦,数据库 的选择和程序的衔接都变得灵活.同时在 idal 中使用了抽象工厂 +反射来创建 了接口,减少了 ifelse 或者 switchcase 等判断语句的使用,遵循面向 对象“单一”原则,方法职责单一.大大降低 bll 层和 dal 层的耦合度. bll:逻辑层,对 ui 层的请求提供进行判断处理 dal:数据库操作层, 主要功能是实现 idal 接口层 entity:实体层,表示类的的属性. sqlhelper:把 d 层的方法抽象出来,写成公共的方法,封装在 sqlhelper 类 中,方便调用. 20 4.1.2 系统类图 b 层 d 层 class bll communfunctionbll userbll setstoragebll setbasicinfobll manufacturesbll exchangeportdatabll detectionbll databasebll checkbll basicdatabll addphysicaladdressbll class model:windcontrolbll storagemanagerbll portsetbll class dal sqlserverequipmentdal sqlserverportsetdal idal.itempandhumisqlservertempandhumidal sqlserverventilationdal sqlserverwatercapacitydal sqlserverwindworklogdal sqlserverconnection sqlserverairtemandairhumisetdal sqlserveranalysistempdal idal.icreatestoragehumisqlservercreatestoragehumidal sqlservercreatestoragetempraturedal idal.idatabasesqlserverdatabasedal sqlserverexchangeportdatadal sqlservergraininfodal idal.imanagementstoragesqlservermanagementstoragedal sqlservermanufacturersdal sqlservernetcoordinatedal sqlserverphysicaladdressdal idal.ipointinfosqlserverpointinfodal sqlserverportbasicdatainfodal idal.isavedectdatasqlserversavedectdatadal sqlserversetserialportdal sqlserversetstoragealarmdal sqlserversettimecheckdal sqlserverstoragebasicdatainfodal sqlserverstoragedevicedal sqlservertempintervaldal idal.iusersqlserveruserdal idal.iuserworksqlserveruserworkdal hashtablenosorthashtable sqlserveraffairsdal 21 接口层 工厂层 dbfactory class dal sqlserverequipmentdal sqlserverportsetdal idal.itempandhumisqlservertempandhumidal sqlserverventilationdal sqlserverwatercapacitydal sqlserverwindworklogdal sqlserverconnection sqlserverairtemandairhumisetdal sqlserveranalysistempdal idal.icreatestoragehumi sqlservercreatestoragehumidal sqlservercreatestoragetempraturedal idal.idatabase sqlserverdatabasedal sqlserverexchangeportdatadal sqlservergraininfodal idal.imanagementstoragesqlservermanagementstoragedal sqlservermanufacturersdal sqlservernetcoordinatedal sqlserverphysicaladdressdal idal.ipointinfosqlserverpointinfodal sqlserverportbasicdatainfodal idal.isavedectdatasqlserversavedectdatadal sqlserversetserialportdal sqlserversetstoragealarmdal sqlserversettimecheckdal sqlserverstoragebasicdatainfodal sqlserverstoragedevicedal sqlservertempintervaldal idal.iusersqlserveruserdal idal.iuserworksqlserveruserworkdal hashtablenosorthashtable sqlserveraffairsdal 22 描述:利用抽象工厂+反射访问数据. 4.1.2 数据库设计 数据库就是存放数据的仓库,即数据按照一定的规律存放在计算机中,是 信息系统的核心和基础,是信息系统开发和建设的重要组成部分,把信息系统 中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使 信息系统可以方便、及时、准确地从数据库中获得所需的信息.数据库设计是信 息资源管理最有效的手段,数据库设计就是根据具体的应用环境,构造合理数 据库模式,建立数据库逻辑结构,有效存储数据,满足用户实际需求和系统应 用处理要求. 4.2 功能实现 4.2.1 数据分析曲线时序图 窗体加载时序图 如图 4-2 所示,该图为窗体加载时序图. class 厂厂 dbfactory - assemblyname: string = “dal“- db: string = system.configur. + createaffairsdal() : iaffairsdal+ createairtemandairhumset() : iairtemandairhumiset + createanalysistemp() : ianalysistemp+ createdatabase() : idatabase + createequipment() : iequipment+ createexchangeportdata() : iexchangeportdata + creategraininfo() : igraininfo+ createmanagementstorage() : imanagementstorage + createmanufacturers() : imanufacturers+ createnetcoordinate() : inetcoordinate + createphysicaladdress() : iphysicaladdress+ createpointinfo() : ipointinfo + createportbasicdatainfo() : iportbasicdatainfo+ createsavedectdata() : isavedectdata + createserialportset() : isetserialport+ createsettimecheck() : isettimecheck + createstoragebasicdatainfo() : istoragebasicdatainfo+ createstoragedevice() : istoragedevice + createstoragehumi() : icreatestoragehumi+ createstoragetempalarm() : isetstoragealarm + createstoragetemperature() : icreatestoragetemprature+ createtempandhumi() : itempandhumi + createtempinterval() : itempinterval+ createuser() : iuser + createuseronwork() : iuserwork+ createwatercapacity() : iwatercapacity + createwinding() : iwinding+ createwindworklog() : iwindworklog + creatventilation() : iventilation 23 this : frmcurveshow blldetect : detectionbll blldetect.dbfactory : dbfactory managementstorage : imanagementstorage frmcurves 创 创 detectionbll new bll.detectionbll 创 创 dbfactory new dbfactory() getstoragenmube r blldetect.getstoragenmuber() createmanagementstorag e dbfactory.createmanagementstorage( ) selectstoragenumbe r imanagestorage.selectstoragenumber( ) thro w throw ne. thro w throw ne. addlisttotre e me.addlisttotree(enpointinfo ) if if table is nothing then if if table.rows.count = 0 then loop for each dr 图4-2 窗体加载时序图 具体步骤如下: (1) 加载窗体 (2) 查询数据库中的仓库号,并将仓库号添加到 treeview 控件上,在每个 节点中添加子节点. (3) 创建曲线显示控件,将控件添加到 panel 控件上. 仓库粮食温度检测时序图 如图 4-3 所示,该图为仓库温度检测曲线显示时序图. 24 sd interaction :operator :frmcurveshow :detectionbll interface:icreatestoragetemprature getstoragetemp(entity.pointinfoenity, string, string) :datatable selectstoragetemp(entity.pointinfoenity, string) :datatable 据据据据() 图 4-3 仓库温度检测曲线显示时序图 具体步骤如下: (1) 用户单击曲线分析界面的右侧节点,信息将会通过窗体将需要检测的内 容和信息传给 b 层. (2) 信息传给 b 层后,调用 b 层的 getstoragetemp()方法,将会向接口层传 递需要检测的参数信息. (3) 信息传递给接口层后,接口层通过反射将参数传递给 d 层,b 层调用 d 层的方法 selectstoragetemp()方法从数据库中检测需要的温度表信息. (4) 通过 d 层调用的温度值将会返回信息表传递给 u 层,u 层对信息进行 统计分析传递给数据分析控件. (5) 数据分析控件对数据进行分析以曲线图形式显示到界面上. 仓库粮食湿度曲线显示时序图 如图 4-4 所示,该图为粮食湿度曲线显示时序图. 25 sd interaction :operator :detectionbll:frmcurveshow interface:icreatestoragehumi getstoragehumi(pointinfoenity) :datatable selecthumibystoragenum(pointinfoenity) :datatable 图 4-4 粮食湿度曲线显示时序图 具体步骤如下: (1) 用户单击曲线分析界面的右侧节点,信息将会通过窗体将需要检测的内 容和信息传给 b 层. (2) 信息传给 b 层后,调用 b 层的 getstoragehumi()方法,将会向接口层传 递需要检测的参数信息. (3) 信息传递给接口层后,接口层通过反射将参数传递给 d 层,b 层调用 d 层的方法 selecthumibystoragenum()方法从数据库中检测需要的温度 表信息. (4) 通过 d 层调用的温度值将会返回信息表传递给 u 层,u 层对信息进行 统计分析传递给数据分析控件. (5) 数据分析控件对数据进行分析以曲线图形式显示到界面上. 4.2.2 系统用户管理时序图 添加用户时序图 如图 4-5 所示,该图为添加用户时序图. 26 sd interaction :administrator :userbll interface :iuser :frmadduser adduserinfo

温馨提示

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

评论

0/150

提交评论