《BS结构MES查询和计划模块设计与实现(35页).doc》由会员分享,可在线阅读,更多相关《BS结构MES查询和计划模块设计与实现(35页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-BS结构MES查询和计划模块设计与实现-第 34 页B/S结构MES查询和计划模块设计与实现摘 要电子枪生产执行系统根据企业实际需要开发,其中查询模块是为工厂管理决策层及相关人员提供生产分析及实时报告,计划模块是为管理人员提供一个以日历形式制定生产计划的在线平台。项目开发采用了微软解决方案框架、MSVS2005开发平台、SQLSERVER数据库以及AJAX、JavaScript、ADO.NET2.0、ASP.NET2.0等新技术,在限定的期限和费用条件下较好地完成了设计和实现任务,使得用户可以通过公司内部局域网中的任何一台电脑进行数据查询和生产计划安排。关键词:企业信息化,MES,MSF,B
2、/S结构ABSTRACTThe electron gun production execution system is developed according to the enterprise actual demand. The query module in the system provides the production analysis and the real-time report for the plant management decision-making strata and the correlation personnel, and the plan module
3、 provides one for the administrative personnel by the calendar form formulation productive plan online platform. The project is developed by using several newest technologies such as the Microsoft Solution Frame, Visual Studio.Net 2005, the SQLSERVER database, AJAX, JavaScript, ADO.NET2.0, ASP.NET2.
4、0 and so on. During the development,the developers are requested to complete the design and the realization duty well in under the definition deadline and the expense condition, caused the user to be possible to carry on the data inquiry and the productive plan arrangement through company interior l
5、ocal area network in any computer.Keywords:enterprise informationization, MES, MSF, B/S structure目 录1 绪论1.1 电子枪厂MES系统开发的目的及意义本次电子枪生产执行系统(Manufacturing Execution System,MES)是为彩虹集团电子枪厂定做的。可以为公司管理层精确、时实的反应电子枪生产状况的实际情况 (各类生产线的成品率,不良品率,出库入库数,各类数据报表)以作为管理层制定生产决策时的重要参考并且提供智能的产品生产日计划录入(以日历的形式)以使管理层制定生产计划能够精
6、确到每日。本人负责该系统中生产查询和计划模块的设计与实现:电子枪MES查询模块是为工厂管理层及决策层及相关管理人员提供实时报表查询了解最新的生产状况的数据查询实时系统。在生产管理过程中,管理人员通过选择相应的菜单选项组合来查询其想要获得的数据报表。使生产线的实际生产信息实时的反应给管理层或其他部门,以便公司管理层及时对生产情况进行调整。电子枪MES计划录入模块是为工厂管理层及决策层及相关管理人员提供制定生产计划的智能系统,以日计划为最小单位和后台数据库存储过程相结合聚合统计为每周,每月,每年计划数以各类报表的形式体现在数据查询中。1.2 MES在生产管理工作中的必要性随着市场的全球化和客户需求
7、的多样化,企业的竞争已发展成为时间的竞争、服务的竞争。谁能对多变的市场需求做出迅速的反应,谁就能赢得市场竞争。对于任何一个企业而言,单一的生产方式已经不复存在,代之的是多种生产方式(面向库存的生产、面向订单的生产、面向订单的装配、定制产品等)或混合生产模式。车间作为企业的物化中心,其目的就是要及时地以最低成本生产出满足客户需求且质量合格的产品。这就要求现代的车间管理和控制系统能够面向产品的制造过程将计划流、控制流、质量流和工艺信息流全面集成的同时,还必须具有开放、自组织、自适应和可重构的能力,能够在企业的集成中起到承上启下的桥梁作用。许多企业通过实施MRPII/ERP来加强管理,然而上层生产计
8、划管理受市场影响越来越大,明显感到计划跟不上变化。面对客户对交货期的苛刻要求,面对更多产品的改型,订单的不断调整,企业决策者认识到,计划的制订要依赖于市场和实际的作业执行状态,而不能完全以物料和库存回报来控制生产。同时MRP II /ERP软件主要是针对资源计划,这些系统通常能处理昨天以前发生的事情(作历史分析),亦可预计并处理明天将要发生的事件,但对今天正在发生的事件却往往留下了不规范的缺口。传统生产现场管理只是一黑箱作业,这己无法满足今天复杂多变的竞争需要。而且,企业的主要活动就是生产,生产管理是企业管理中最主要的功能,生产管理的大部分工作都要落实到车间。因此,必须加强对车间生产的管理和控
9、制。而由美国先进制造研究机构AMR(Advanced Manufacturing Research, AMR)提出的生产执行系统MES,正是面向车间生产的管理和控制系统。MES即为制造执行系统,它是由各种功能模块组成的系统,位于企业的计划层与底层控制层之间,不同模块完成生产车间不同的生产管理与控制功能,可以说,MES是一种管理车间生产的方式,或者说,它本身就是一种生产管理与控制系统。本文以彩虹集团电子枪厂的课题为背景,探讨了如何把MES这种先进的理念应用于彩管行业的生产流水线,研究了彩管企业的基于MES的生产管控系统。1.3 MES系统设计要点 MES系统设计框架 不同的制造企业其内部的信息系
10、统各不相同,但其基本架构一般由以下几部分系统组成 1) ERP系统。主要提供企业运作的物料需求方面的信息。 2) LOGISTICS系统。跟踪产品的SHIP数据。 3) MES系统。产品制造执行信息系统的核心。 4) WEB应用程序服务器。提供基于WEB的各种查询。5)安全设计。提供数据访问的安全性。 制造业的类别可谓是五花八门,不同的产品类别有不同的生产方法。尽管如此,其生产作业方式一般有两种类型: (1)以工艺对象为主的加工中心作业方式 这种实施布置是与工艺对象专业化的生产组织方式相对应的。当产品品种较多,每一种产品的生产量都不是很大,只能断续生产时,通常采用工艺对象专业化的生产组织方式。
11、在这种布置下,设备是按照其所具有的功能来布置的。 (2)以产品对象为主的流水线作业方式。在这种布置下,设备是按照某一种或几种产品的加工路线或加工顺序顺次排列的,所以常称为生产线,但生产线并不一定是一条直线。在产品对象专业化布置中,设备或工作地(活动单元)之间的相对位置几乎没有其它选择,均按产品的加工顺序或装配顺序排列,产品顺次从一个工作地流向下一个,直至生产线的最后一个,即被完成。电子加工制造服务企业一般的采用的都是流水线作业方式,即产品按照工艺顺序从一个工位流向下一个工位,直至成为成品。 MES人机界面设计原则1)以查询和计划功能作为界面设计的核心2)界面必须始终一致3)界面必须使用户随时掌
12、握任务的进展情况4)界面设计必须尽可能简洁5)界面友好,操作人性化6)输入画面尽可能接近实际7)具有较好的纠错功能2 技术路线的选择与开发创新2.1 MES定位模型MES作为面向制造的系统必然要与企业其它生产管理系统有密切关系,MES在其中起到了信息集线器(Information Hub)的作用,它相当于一个通讯工具为其它应用系统提供生产现场的实时数据。MES的定位模型(如图 2-1)反映了MES与其他企业管理系统之间的关系。图2-1 MES定位模型一方面,ERP系统需要MES提供的成本、制造周期和预计产出时间等实时的生产数据;供应链管理系统从MES中获取当前的订单状态、当前的生产能力以及企业
13、中生产换班的相互约束关系;客户关系管理的成功报价与准时交货则取决于MES所提供的有关生产实时数据;产品数据管理中的产品设计信息是基于MES的产品产出和生产质量数据进行优化的;自动化模块则需要时刻从MES中获取生产配方和操作技术资料来指导人员和设备进行正确地生产。另一方面,MES也要从其它系统中获取相关的数据以保证MES在工厂中的正常运行。例如,MES中进行生产调度的数据来自ERP的计划数据;供应链的主计划和调度控制着MES中生产活动的时间安排;PDM为MES提供实际生产的工艺文件和各种配方及操作参数;从自动化模块反馈的实时生产状态数据被MES用于实际生产性能评估和操作条件的判断。从图2-1中可
14、看出MES与其它分系统之间有功能重叠的关系,例如MES, CRM, ERP中都有人力资源管理,MES和PDM两者都具有文档控制功能,MES和SCM中也同样有调度管理等等,但各自的侧重点是不同的。各系统重叠范围的大小与工厂的实际执行情况有关,而且每个系统的价值又是唯一的。2.2 B/S开发架构由于本系统的基本设计思想是实时、简便、友好故放弃了传统的C/S架构而采用现在流行的B/S架构,这样管理人员可不分地域的实时掌控管理当前产品生产情况,并及时作出决策调整。B/S(browser/server)结构即浏览器和服务器结构。它是随着internet技术的兴起,对C/S结构的一种变化或者改进的结构。在
15、这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过internet/intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如Lan,Wan,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数
16、据库也很安全。特别是在Java和VS.NET这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。2.3 微软MSF组队模型电子枪MES系统为小组集体项目,其需要3位开发人员及1位测试人员共同努力工作才能完成,本人负责的生产查询及计划模块为整个电子枪生产管理系统中的两个模块。此次本小组将以标准化的微软解决方案框架(MSF)作为指导,在MSF软件工程流程下进行协同合作开发。微软解决方案框架结构是一组建立、开发和实现分布式企业系统应用的工作模型、开发准则和应用指南。它帮助企业融合商业和技术的目标,降低采用新技术后系统整体的费用,以及成功的应用微软技术整合商业过程的方法。MSF揭示出为成
17、功设计、构建和管理技术基础结构或商业解决方案,所需了解的重要风险、重要的设计基础假设和关键的依赖关系。它包括明确的知识库、应用指南和实践经验。MSF 组队模型经过数年时间的发展,弥补了传统项目小组自上而下的层次结构的一些不足。按照 MSF 组队模型组织建立的小组是小型、跨学科的小组,在这样的小组中成员们共同承担各项职责,权衡彼此间能力差异,以便将主要精力集中到手头上的工作中。他们拥有共同的项目前景,以部署项目为中心,坚持高标准的质量和沟通,保持乐意学习的心态。 MSF 组队模型能保证项目很大程度上的成功。除了小组结构之外,有着更多因素决定着一个项目的成功与失败。不过小组结构仍然是很重要的。 在
18、快速开发中,微软著名开发人员Steve McConnell 举例说明了这一点: “即使您拥有了有技术、有动力、辛勤工作的员工,错误的小组结构也能够消弱他们的努力,而不是飞速的前往成功。一个不良的小组结构会增加开发时间、降低质量、使士气低靡、增大周转期间,最终导致项目取消。” MSF 组队模型正好是来处理这个问题的。恰当的组队结构是成功的基石,贯彻这个模型并且运用它的优先原则能够帮助小组,使之更加有效,因而取得成功。2.4 .NET 2005开发平台本开发团队经过多方面考录,由于本系统基于WEB发布,故最终选择最新的微软VS.NET 2005开发平台中C#语言作为开发语言。C#语言集成了C+和V
19、B开发语言的优点,是微软目前重点推广且技术成熟的面向对象语言,其各项特征非常适合作为本系统的开发语言。 .NET 2005概述. NET 2005是微软公司在2005年推出的集成开发环境,其集成了目前最新的.netframework2.0框架。. NET 2.0首先是一个环境。这是一个理想化的未来互联网环境,微软的构想是一个“不再关注单个网站、单个设备与因特网相连的互联网环境,而是要让所有的计算机群、相关设备和服务商协同工作的网络计算环境。简而言之,互联网提供的服务,要能够完成更高程度的自动化处理。未来的互联网,应该以一个整体服务的形式展现在最终用户面前,用户只需要知道自己想要什么,而不需要一
20、步步地在网上搜索、操作来达到自己的目的。这是一种理想,但的的确确是互联网的发展趋势所在。. NET 2.0谋求的是一种理想的互联网环境。而要搭建这样一种互联网环境,首先需要解决的问题是针对现有因特网的缺陷,来设计和创造一种下一代Internet结构。这种结构不是物理网络层次上的拓扑结构,而是面向软件和应用层次的一种有别于浏览器只能静态浏览的可编程Internet软件结构。因此.NET把自己定位为可以作为平台支持下一代Internet的可编程结构。. NET 2.0的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问他们所需要的信息、文件和程序。而用户不需要知道这些东西存在什么地方
21、,甚至连如何获得等具体细节都不知道。他们只需发出请求,然后只管接收就是了,而所有后台的复杂性是完全屏蔽起来的。所以对于企业的IT人员来说,他们也不需要管理复杂的平台以及各种分布应用之间的工作是如何协调的。. NET Framework 2.0包括通用语言运行环境、Framework类库和Active Server Pages. 有了理想目标和相应可编程Internet软件结构,. NET这样的一个协同计算环境的具体实现还必然需要一系列的软件产品支撑,因此微软的.NET还包括一个产品的集合。这个集合包含以下组成部分:. NET 2005平台。这一平台建立在XML和因特网标准协议的基础上,包含了.
22、NET的基础结构和基础工具,为开发新型的互动协作软件提供了一个先进的体系结构模型。. NET系列产品和服务.如MSN. NET, OFFICE. NET, Visual Studio. NET, bCentral. NET等。第三方厂商的.NET服务。建立在.NET平台和产品上的面向不同应用领域的具体服务。从上面对.NET的简单分析可以看出,在对新技术和IT产业的推动上,无论如何,微软还是功不可没的。但与此同时,也可以推测出,如果.NET一旦成为事实,那么对于其它非应用软件厂商而言,可能会产生巨大的竞争压力。 .NET 2005技术特征 . NET 2005包括4个重要特点,一是软件变服务,二
23、是基于XML的共同语言,三是融合多种设备和平台,四是新一代的人机界面。这四个特点基本上覆盖了.NET的技术特征。 (1)软件变服务 史蒂夫鲍尔默在谈到软件服务时说道,“今天的软件产品仅仅是一张光盘,用户购买软件,亲自安装、管理和维护。但是软件服务是来自因特网的服务,它替用户安装、更新和跟踪这些软件,并让它们和用户一同在不同的机器间漫游。它为用户存储自己的信息和参考资料。这些就是软件和软件服务各自不同的风格。” Orchestration可视化编程工具产生基于XML的RANG代码,它和BizTalk服务器、.NET Framework,以及Visual Studio. NET都曾是Windows
24、 DNA 2000战略的重要部分。 伴随着ASP产业的兴起,软件正逐渐从产品形式向服务形式转化,这是整个IT行业的大势所趋。在.NET中,最终的软件应用是以Web服务的形式出现并在Internet发布的。Web服务是一种包装后的可以在Web上发布的组件,. NET通过WSDL协议来描述和发布这种Web服务信息,通过DISCO协议来查找相关的服务,通过SOAP协议进行相关的简单对象传递和调用。微软的.VET战略意味着:微软公司以及在微软平台上的开发者将会制造服务,而不是制造软件.在未来儿年之内,微软将陆续发布有关.NET的平台和工具,用于在因特网上开发Web服务。那时,工作在.NET上的用户、开
25、发人员和IT工作人员都不再购买软件、安装软件和维护软件。取而代之的是,他们将定制服务,软件会自动安装,所有的维护和升级也会通过互联网进行。 (2)基于XML的共同语言XML是从SGML语言演化而来的一种标记语言。作为元语言,它可以定义不同种类应用的数据交换语言。在。NET体系结构中,XML作为一种应用间无缝接合的手段,用于多种应用之间的数据采集与合并,用于不同应用之间的互操作和协同工作。具体而言,. NET通过XML语言定义了简单对象访问协议(SOAP), Web服务描述语言(WSDL),Web服务发现协议(DISCO). SOAP协议提供了在无中心分布环境中使用XML交换结构化有类型数据的简
26、单轻量的机制。WSDL协议定义了服务描述文档的结构,如类型、消息、端口类型、端口和服务本身。DISCO协议定义了如何从资源或者资源集合中提取服务描述文档、相关服务发现算法等。 (3)融合多种设备和平台 随着Internet逐渐成为一个信息和数据的中心,各种设备和服务已经或正在接入和融入Internet,成为其中的一部分。. NET谋求与各种internet接入设备和平台的一体化,主要关注在无线设备和家庭网络设备及相关软件、平台方面。 (4)新一代的人机界面新一代人机界面主要体现在“智能与互动”两个方面。. NET包括通过自然语音、视觉、手写等多种模式的输入和表现方法;基于XML的可编辑复合信息
27、架构个性化的信息代理服务:使机器能够更好地进行自动处理的智能标记等技术。2.5 AJAX 技术2.5.1 AJAX概念术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。
28、Ajax由几种蓬勃发展的技术以新的强大方式组合而成。其中包含:基于XHTML和CSS标准的表示; 使用Document Object Model进行动态显示和交互; 使用XMLHttpRequest与服务器进行异步通信; 使用JavaScript绑定一切。 术语Ajax是由Jesse James Garrett创造的,他说它是“Asynchronous JavaScript + XML的简写”。2.5.2 AJAX工作原理Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlH
29、ttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。下面是使用Ajax可以完成的功能:动态更新购物车的物品总数,无需用户单击Update并等待服务器重新发送整个页面。 提升站点的性能,这是通过减少从服务器下载的数据量而实现的。例如,在Amazon的购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载32K的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。 消除了每次用户输入时的页面刷新。例如,在Ajax中,如果用户在分
30、页列表上单击Next,则服务器数据只刷新列表而不是整个页面。 直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。2.6 JavaScript脚本语言JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。从而可以开发客户端的
31、应用程序等。它是通过嵌入或调入在标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,具有以下几个基本特点:(1)是一种脚本编写语言JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C+、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。(2)基于对象的语言JavaScript是一种基于对象的语言,同时可以看作是一种面向对象的。
32、这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。简单性JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。安全性JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。动态性的JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户
33、的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。综合所述JavaScript
34、 是一种新的描述语言。它可以被箝入HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件。ADO.net将成为构建数据感知 .net应用程序的基础。不同于ADO 的是,ADO.net更具有通用性,不是那么专门针对数据库而进行的设计。 ADO.net聚集了所有可以进行数据处理的类。这些类呈现了具有典型数据库功能的data container objects,比如:索引,排序,浏览。尽管ADO.net是作为重要的.net数据库应用程序的解决方案,它更多的显示了涵盖全面的设计,而不仅是作为和ADO模型一样的以数据库为中心。ADO .net与ADO有很大的不同。它是一个全新的访问编程
35、模型。当你开始使用ADO.net时,你会发现你所掌握的任何关于ADO的技能在搭建有效的程序以及解决难题方面对你都会有很大帮助,能够帮你在解决问题上朝更灵活更稳妥的方向发展.(1).net中的数据访问访问ADO.net中的数据源是由托管提供程序所控制。虽然托管提供程序与OLE DB有两处重大的不同,但是二者是极为类似的。首先, 托管提供程序在.net环境下运行,通过 DataReader 和DataTable .net类来检索和展示数据.第二,它们的体系结构都比较简单,是因为为了适应.net而进行了优化。此时,ADO.net分成两种不同类型的托管提供程序:一种用于SQL Server 7.0 或
36、更高版本,另一种适用于所有你可能已经安装的OLE DB 提供程序.虽然运用在两种托管提供程序中的类是不同的,但它们却都遵循相类似的命名方式.除开前缀之外,其它名称都是相同的。前一种情况前缀为SQL, 后一种则是ADO。需要利用SQL类来访问SQL Server 表,因为SQL类会跳过由OLE DB 提供程序呈现的中间层, 而直接进入数据库服务器内部API. ADO类是位于OLE DB 提供程序顶端的.net接口,利用COM Interop 桥来进行工作。(2)读取数据 ADO.net应用程序要从数据源里读取数据,首先得创建一个连接对象。这个连接对象可以是SQLConnection 或是 ADO
37、Connection,这取决于所采用的目标提供程序。可以利用ADO .net 类来连接到SQL Server数据库。这种方法唯一不足是,代码需要通过一个不必要的额外代码层。 首先它会调入ADO的托管提供程序, 然后ADO的托管提供程序再调用SQL Server OLE DB 提供程序。如同OLE DB 提供程序做的一样,SQL Server 托管提供程序会直接操作数据,关于ADO 和ADO.net在连接对象上最大的差别在于ADO.net连接不支持CursorLocation属性,ADO.net没有游标的显示实现。ADO.net能够使DataSet 和 DataReader 将数据从数据源中抽取
38、出来。前者是记录在内存中的缓存,你可以从任意方向访问并随意作出修改。后者是高度优化的对象,在只读纪录集中以仅向前方式向前移动。注: DataSet 看起来象是静态游标,但实际上,在.net中,与ADO只读游标相对应的是DataReader 对象。(3)DataSet, DataTable,Recordset,and DataReaderRecordset是一个相当大的对象,具备ADO的大多数功能,但在某些方面仍有欠缺。 Recordset在一些方面性能优良,如:它具可创造性,它可以离线操作,功能众多,但在一些方面仍需改进,如:基于其固有的COM特性, Recordset很难在网络上连载; Re
39、cordset是一个二进制的对象,因此不同平台之间的模块很难共享它;还有就是不能够穿过防火墙。另外,它表现的是记录的单个表。如果该table作为一个或几个JOIN的结果,那么它很难更新原始代码源.当你试图将脱线的Recordset与原始代码源统一起来时,数据源必须能够识别SQL.不管如何,你的Recordset可以由非SQL 提供程序创建。在ADO.net中,ADO Recordset的所有功能被分拆成几块更简单的对象:其中一个便是DataReader。DataReader模拟了快速,只读,仅向前的只读游标的操作。ConnectionSQL command(select)SQL command
40、(insert)SQL command(update)SQL command(delete)SqlDataAdapterSQL ServerDataSet图2-2 .NET中连接SQLServer的工作原理示意图DataTable,表现了数据源,是个简单的对象. 你可以手动构造一个DataTable,或者也可使用DataSet命令自动生成。DataSet对于它所包含的数据知之不多。通过它可以在内存中处理数据,或者是其它比如排序,编辑,筛选,创建浏览等工作。DataSet对象是一个数据容器类,是实现ADO.net数据抽取的关键对象。 DataSet集合了一个或几个DataTable 对象. Da
41、taTable 通过如行,列这样的通用集合,公开自身的内容。当你尝试从数据表读取数据时,你也许正穿过了两个不同的层面: DataTableMapping 和 DataView。DataReader是ADO.NET提供的另外一种记录访问结果俄方法。可以适用于运行完一条命令仅需要返回一个简单的只读记录集的情况下。2.8 开发创新点 模块设计亮点查询模块的设计致力于让用户以尽量少的操作实现对各类生产报表的查询和数据分析。计划模块的将设计将传统机械死板的录入界面改进为比较人性化的日历录入界面,这样更加符合用户制定计划的习惯,页面也显得更加友好。 页面验证特色模块操作页面中所有由用户录入的数据都将作安全
42、性验证,传统的网页验证方法即刷新页面后向服务器端提交请求,所有的数据验证将在后端服务器上进行。本系统在验证技术上将采用先进的Ajax技术和Javascript脚本语言相结合的多重验证方式,这样本系统验证将不刷新页面所有的数据验证将在客户端上进行,大大的减轻了服务器的负担。 系统代码结构在代码开发结构上,本系统将使用中的三层结构开发方式,本小组用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级,系统结构按照:表示层(USL),业务逻辑层(BLL),数据访问层(DAL)划分。3 系统分析与概要设计3.1 需求分析本人负责开发两个模块的总体任务是实现电子枪厂MES查询、计划的智能化
43、和规范化。本模块是基于WEB的,面向管理人员的生产执行系统。要求本模块为管理人员提供一个人性化、简洁的操作环境,实现管理人员对工厂生产情况的实时掌控和管理。要管理的内容有:各类部门生产的各类产品信息,对生产情况发表的评论信息,产品的生产计划信息。需要通过两模块实现的功能有:1)对各类部门生产产品的各类数据报表提供生成及查询2)对各类数据报表提供分析评论及评论查询3)对各类产品提供生产计划管理其中对产品进行数据报表查询管理的模块都要具备对各类报表选择功能、各类部门选择功能、各类产品选择功能、任意时间段的查询功能、浏览选中的报表结果。在对各类分析评论的管理中要实现浏览各类评论信息、添加评论、对用户
44、是否有分析评论的权限要由系统自行做出判断、对不同用户针对同一查询报表要做出分类标记。其中对列出的评论结果又分为单一评论和集合评论。在对各类产品计划的管理模块里要实现制定细化到“日”的计划功能,且由日历的界面形式录入、其中系统又将自行的把用户录入的日计划聚合为每周的周计划和每月的月计划。系统设计的文信息如下:1)彩虹集团电子枪产的生产管理办法2)彩虹集团简介3)电子枪厂产品介绍4)MES系统设计方案5)电子枪厂MES系统功能设计书6)近两年各类产品的生产记录3.2 系统概要设计 系统功能设计系统实现多种功能,以下详细介绍系统可实现的各个功能1)验证用户身份与权限功能:用户登入系统需要输入用户名及
45、密码系统将自动进行两段验证,首先判断用户的身份合法性,再判断当前用户是否有权限对模块进行操作。2)选择报表类型功能,选择报表类型:日报、周报、月报、季报、半年报、年报及任意(由用户任意输入想要查询的时间段)。3)选择查询日期功能,用户对想要查询的报表选择相应的日期与时间段。4)选择查询部门功能,用户对想要查询的报表选择相应的部门。 5)选择查询产品功能,用户对想要查询的报表选择相应的产品。 6)发表分析评论功能,用户可以对任意的报表显示结果发表自己的分析评论且评论信息又分为单一评论和聚合评论。7)提交分析评论功能,将用户发表的评论提交到数据库。8)制定计划日期功能,用户可以自由定义为哪一年的哪
46、一个月制定生产计划。9)制定生产计划功能,用户可以为任意的一个部门产品制定生产计划,且计划的制定界面以友好的日历形式录入,生产计划精确到日并且由日聚合为周计划及月计划。使管理人员对某一产品生产情况的掌控做到一目了然。10)修改生产计划功能:用户可以对其选中的任意一个产品生产计划进行修改。11)删除生产计划功能:用户可以对其选中的任意一个产品生产计划进行删除。12)提交生产计划功能:将用户制定的生产计划提交到数据库。 系统模块设计模块划分如图3-1所示,将系统分为两级,每个终节点都代表一个模块。首先将系统分为产品生产数据管理,产品生产计划管理,产品信息录入管理三个部分,然后进行进一步的划分,由于
47、本次本人负责产品查询和计划两个模块的设计,现将这两个模块的划分做分析。产品生产计划管理中只包括生产计划的制定和聚合,因此也无须再划分。而产品生产数据管理模块要划分为数据报表查询管理和数据分析评论管理这两个子模块。其中每一个模块都要具备基本的报表选择、部门和产品的选择、时间段的选择以及结果查询的功能。管理员可进入所要管理的模块进行各种操作。下面详细介绍一下各个模块的功能:数据报表查询管理模块,首先用户将在本模块的登录界面输入用户名与密码,系统将自动进行两段验证,首先判断用户名及密码是否正确,如不正确则系统决绝用户的登录操作。如正确系统则将判断当前用户是否有权限对其请求登录的模块进行操作,如没有权
48、限则同样拒绝用户的登录请求(用户的身份和权限信息都存放在用户表中,系统在用户登录时将从数据表中读取记录验证)。登录本模块后,管理人员可以查询所想要获知的各类产品报表,用户可以从一个下拉菜单中选择日报、周报、月报、季报、半年报、年报及任意(由用户任意输入想要查询的时间段)登录查询界面时默认为日报。根据用户选择不同的报表类型,用户可选择的日期类型也会自动发生相应的变化,反应在另一个下拉菜单日期菜单中的数据文本。具体变化如下:当用户选择的报表类型为年报时,年份日期在界面初始化时从数据库中读取后装载到下拉菜单里(最多装载10年),默认为有数据记录最近的一个年份然后依次按年份倒排序装载。日报精确到确切的日期号数(用户选择日报时,日期下拉菜单默认为用户选择年份中有数据记录且日期最晚的那一天,最多装载31天)、周报精确到用户所选择的这一年份