开发工具范文

2024-07-12

开发工具范文(精选12篇)

开发工具 第1篇

关键词:OPC,快速开发工具,客户端,数据通信

随着过程自动化的发展,自动化系统设备厂商希望能将不同厂商的不同硬件设备和软件产品集成起来,相互之间实现互操作,把工业现场的数据从车间级汇入到整个企业信息系统中,这就需要一种能够有效地进行数据存取和管理的开放式标准,可以在工业控制环境中的各个数据源之间进行灵活的通信。OPC就是在这种背景下产生的,为推动OPC技术在实际中的应用,开发相关OPC软件具有现实的必要性。

依据OPC的结构特点,对OPC应用程序的开发分为服务器程序部分和客户端程序部分,笔者要实现的是客户端程序的开发,主要有两种开发方式:根据OPC基金会提供的OPC规范直接开发和利用一些软件开发商提供的开发工具快速开发[1]。因前者需要开发人员对多种OPC规范进行全面的了解,开发过程相对复杂,所以笔者采用了一种OPC客户端快速开发工具KOCRDK来实现客户端应用程序的开发。

1 OPC技术*

OPC(OLE for Process Control)是用于过程控制的OLE(Object Linking and Embedding,对象链接与嵌入),是一套在基于Windows操作平台的工业应用程序之间提供高效的信息集成和交互功能的接口规范,其基础是COM/DCOM/COM+技术。OPC结构采用客户端/服务器(Client/Server)模式,服务器用于提供客户端所需要的数据,是数据的供应方;而客户端用于对服务器提供的数据进行处理,是数据的使用方。

在开发OPC客户端软件之前,必需先要了解OPC服务器的对象组成及其相互关系。OPC逻辑对象模型包括3类:服务器(Server)对象、组(Group)对象和项(Item)对象,每类对象都包括一系列接口。图1显示了3类对象的相互关系以及其与OPC客户端的关系。

OPC服务器对象用于指定OPC服务器的应用程序名,并作为组对象的包容器向OPC客户端提供创建和操作组对象的功能[2]。

OPC组对象提供了一种让客户端组织数据的方法,可将逻辑相关的一组数据作为OPC项添加到同一组中,客户端可创建多个组对象,并分别设置其属性。

OPC项对象表示了与OPC服务器中数据的连接[3],包括值(Value)、品质(Quality)和时间戳(Time Stamp)3个属性。通过定义数据项,OPC技术尽可能地隐藏了设备的特殊信息,使OPC服务器的通用性大大增强。

2 OPC客户端快速开发工具介绍

KOCRDK(Knight OPC Client Rapid Development Toolkits),是专门用于开发OPC数据存取(Data Access)客户端应用程序的快速开发工具。

2.1 KOCRDK特点

KOCRDK有如下特点:

a. 完整封装。所有功能都是通过一个标准的动态连接库(DLL)形式封装起来的,开发者无需了解OPC对象的实现细节。

b. 全面兼容。同时支持由OPC基金会制定的OPC DA规范1.0/2.0/3.0版本。

c. 使用简便。支持多种常用的软件开发工具,如Visual C++、Borland C++ builder、Visual Basic及Delphi等。

d. 高稳定性。基于多年的工程和技术经验的积累,强大的性能和高效率适用于多种场合的需求。

2.2 KOCRDK API函数说明

API(Application Programming Interface,应用程序编程接口)是一些预先定义好的函数,用户使用时可直接调用所需的API函数,而无需访问源码。

a. 系统初始化函数。

KOC_Init:初始化OPC客户端的运行环境,OPC客户端程序运行前必须调用此函数进行相关的初始化设置工作。

KOC_Uninit:关闭OPC客户端程序的最后操作。

b. 回调函数。用于实现OPC服务器程序与OPC客户程序之间双向交换数据的功能,回调函数的使用需要在用户程序中予以实现,但是并非必须实现,可以根据各函数定义和功能灵活使用。

KOC_SetDataChangeProc:当所连接的OPC服务器中对应OPC项的数据发生变化时,相关数据将通过此函数设定的回调返回,把结果通知客户端,客户端可以在回调函数中对数据进行处理。

KOC_SetShutdownProc:当OPC客户程序向所连接的OPC服务器发出关闭请求时,调用此函数作相应的处理,如释放资源及断开与OPC服务器的连接等。

c. 服务器相关函数。此类API函数用于浏览、连接及断开OPC服务器等操作。

KOC_GetServerCount:浏览指定计算机上已注册的OPC服务器的信息,相关服务器的信息存储在KOCRDK中的内部列表中,返回值为OPC服务器的数目。

KOC_GetServerName:获取KOCRDK中内部服务器列表指定的OPC服务器的名称,以便于进行浏览、连接及其他操作。

KOC_Connect:按指定的版本连接到指定的OPC服务器,返回值为对应连接的句柄,该句柄值将用于其他针对该OPC服务器的操作。

KOC_Disconnect:断开与指定OPC服务器的连接。

d. 组对象相关函数。此类API函数用于处理OPC组的相关操作,包括添加及删除组对象等。

KOC_AddGroup:向OPC服务器对象中添加一个OPC组对象,返回值为新增OPC组的句柄。

KOC_RemoveGroup:删除所添加的OPC组对象。

e. 项对象相关函数。此类API函数用于处理OPC项的相关操作,包括添加、删除及读取/写入数据等。

KOC_AddItem:向OPC组对象中添加一个或多个项对象,返回值为新增的OPC项的句柄。

KOC_RemoveItem:删除所添加的OPC项对象。

KOC_WriteItem:对组对象中的一个或多个项对象进行写值操作。

KOC_ReadItem:读取组对象中一个或多个项对象的值、品质和时间戳信息。

3 VC++6.0环境下OPC客户端的实现

3.1 开发环境设置

由于OPC技术获得了微软公司强有力的支撑,所以其软件开发也是建立在Windows系统之上的。下面介绍笔者开发OPC Client所用到的环境配置和具体操作步骤:

a. Microsoft Windows XP操作系统。

b. Microsoft Visual C++ 6.0开发环境。

c. 在OPC基金会官网上下载OPC代理/存根(Proxy/Stub)DLL文件和EXE文件,包括opccomn_ps.dll,opchda_ps.dll、opc_aeps.dll、opcproxy.dll、aprxdist.exe和opcenum.exe。

首先将下载的文件复制到Windows系统盘目录system32下;通过执行regsvr32命令对opccomn_ps.dll、opchda_ps.dll、opc_aeps.dll和opcproxy.dll4个COM组件进行注册;然后检查系统中是否已经存在actxprxy.dll,若不存在,运行aprxdist.exe生成actxprxy.dll;最后安装opcenum.exe[4]。

启动Visual C++ 6.0,在Projects目录下选择MFC AppWizard(exe)创建MFC应用程序框架,生成一个新的工程,将KOCRDK和OPC基金会提供的以下4个文件复制到所建的工程文件夹下:

KOCRDK.dll //KOCRDK的动态连接库文件

KOCRDK.lib //KOCRDK.dll的输出定义文件

KOCRDKapi.h //KOCRDK的头文件

opcda.h //OPC数据存取头文件

3.2 客户端应用程序的具体实现方法

a. 设置好客户端开发环境后,首先调用初始化函数KOC_Init进行COM库的初始化。

AfxEnableControlContainer();

if (!KOC_Init()) return FALSE;

b. 连接OPC服务器。如果不能确定要连接计算机上的OPC服务器的信息,需先调用KOC_GetServerCount和KOC_GetServerName函数获得已注册在计算机上的OPC服务器数量及指定索引对应的OPC服务器名称,然后通过KOC_Connect函数连接需要的OPC服务器;如果已知OPC服务器的相关信息,则直接调用KOC_Connect函数进行连接。主要代码为:

c. 创建OPC组对象。调用KOC_AddGroup函数完成创建组的操作,同时设定组名、组的激活状态、数据刷新率、时间偏移及死区等属性。

HANDLE hGroup = KOC_AddGroup(m_hConnect,dlg.m_strGroupName, &bActive,

&dlg.m_dwUpdateRate, &lTimeBias,&dlg.m_fDeadBand,&dwLcid);

d. 添加数据项。添加了组对象之后,即可在组对象中添加OPC项,调用KOC_AddItem函数完成添加数据项的操作。

HANDLE hTag = KOC_AddItem(m_hConnect,m_hGroup,strItemName);

e. 添加完所需数据项后,就可以对Item里的数据进行读写访问了。一般情况下,对数据的访问方式有两种:同步访问方式和异步访问方式,当客户端与服务器之间的通信数据量比较庞大且要求较高访问效率时应选择异步访问方式。需要注意的是,进行异步访问操作时,异步程序是通过回调由服务器通知客户端数据的变化,因此客户端程序必须有支持CallBack出接口的接收器对象,所以必须首先设置相关的回调函数,然后再调用KOC_ReadItem和KOC_WriteItem函数进行读写操作。主要代码为:

f. 通信结束,停止运行程序之前,必须依次调用KOC_RemoveItem、KOC_RemoveGroup函数删除KOCRDK.dll中已创建的Item对象、Group对象;调用KOC_SetShutdownProc函数断开与服务器的连接;调用KOC_Uninit函数卸载COM库,释放资源。主要代码为:

4 连接测试

连接测试结果如图2所示。结果表明:所设计的OPC Client成功地读取了计算机上已注册的OPC Server里的相关数据。

5 结束语

实践表明,基于快速开发工具实现的OPC客户端程序的设计具有很大的优势,它全面提高了开发的速度和质量,同时实现了高速的数据传送性能,减少工程师的维护量,节约投资成本。软件开发者在使用快速开发工具开发OPC客户端程序之前,必须熟悉开发工具中的各个开发文档,才能熟练使用,做到真正的快速开发。

参考文献

[1]陆会明,朱耀春.控制装置标准化通信-OPC服务器开发设计与应用[M].北京:机械工业出版社,2010:9~12.

[2]孙庆文,李小军,孙永利.使用C++完成OPC客户端与DCS数据交换的研究与应用[J].中国仪器仪表,2012,(5):52~58.

[3]苏磊,李茜,汤伟.OPC数据访问客户端的研究与实现[J].计算机工程,2010,36(11):80~82.

怎么选择智力开发工具 第2篇

区分清楚了宝宝的学习类型后,父母在挑选产品的时候就可以做到心中有数了,对于视觉型宝宝,要选择一些色彩鲜艳,插图比较多的幼儿书籍,这样可以使宝宝从色彩中获取信息,丰富宝宝的生活视野。对于听觉型宝宝,可以通过讲故事、学儿歌等方式来刺激宝宝听觉,让宝宝更敏捷掌握知识。但随着社会的发展,一个优秀的人才不仅要有一技之长,更重要的还是要全面发展,所以在开发宝宝的智力时,并不是说宝宝光用视觉、听觉单一途径进行学习,而是要充分发挥他们的长处。在发挥他们长处的同时,我们还要取长补短,让孩子永不落后,全面发展。其实市场上有很多这样的产品,比如各种有声图书、点读笔都是家长

不二的选择。而在这些产品中,天线宝宝点读笔和学之源智慧宝系列产品是其中佼佼者,它正是从宝宝的视觉和听觉特点出发,完美把两者结合起来,不管是视觉型宝宝还是听觉型的宝宝,都可以在发挥宝宝的优势时,还能开发宝宝的潜在素质,取长补短,让宝宝智力全面发展!

开发工具 第3篇

关键词:机械设计;专家系统;开发工具

中图分类号:TP277 文献标识码:A 文章编号:1674-098X(2015)06(b)-0000-00

机械设计领域中专家系统的应用在近几年发展越来越快,逐渐成为机械设计不可缺少的一部分。机械设计专家系统开发工具是研究开发专家系统的基础,对其关键技术进行研究开发对专家系统的完善与创新具有重要意义。

1.当前机械设计专家系统的研究现状

机械设计专家系统是应用于机械领域的智能系统,近年来在机械设计专家系统的研究中已经取得了阶段性的成果,并且获得了一定的经济效益。机械专家系统在机械设计领域中应用非常重要,在专家系统研究过程中存在许多复杂而困难的问题,又因为机械设计领域存在较多综合性和多变性的因素,所以,机械设计领域的专家系统研究是一项困难而艰巨的任务。为了减少专家系统软件开发的时间,目前,研究人员主要针对一下四个方面进行研究探索:首先,增加专家系统的功能。为了适应机械设计领域的发展,专家系统需要具备处理各类知识的功能,而当前的专家系统一般是以产生式规则作为知识的表达形式,而这种表达难以满足复杂多样的知识类型,所以要为专家系统融入更多的知识,使其表达形式融为一体,增加其表达能力。其次,提高专家系统获取知识的能力。专家系统通过获取知识来将机械设计程序输出到工具系统中,减少知识工程师的工作量,提高工作效率。再次,制定推理模型。专家系统的强大分析功能离不开推理模型的应用,所以灵活的推理模型对专家系统来说非常重要。推理模型具有动态性,能够对研究领域未来发展进行推理。目前我国研究的是非单调逻辑、时态逻辑、约束逻辑、默认逻辑等都具有以上特点。最后,建立良好的图形化人机接口。现在的大部分专家系统产品采用的是字符界面方式,缺少图形、图像、声音等界面的支持,因此,在专家系统的升级研究中要融入多媒体功能,美化系统界面,使其更加直观、方便。

2.MDEST分析与研究

MDEST是一个基于Windows操作系统的机械设计专家系统开发工具,其开发环境是VC++程序设计语言,是一种新型的,能够体现项目管理特点的程序设计语言。该专家系统工具的构造风格一致,界面简洁,由对话框进行基本构造驱动,不需要任何的代码就可以建立一个小型的专家系统。下面对其特点及适用范围进行简单介绍。

2.1 MDEST的特点

MDEST的特点有一下几个方面:第一,适用于机械设计领域的专家系统构造工具,适用于通用知识来进行语言构造表达,具有该种语言的其他优点。推理模型包括正向、反向推理以及不精确推理,推理机制简单,效率较高,而且具有推理解释的功能。第二,为过程设计语言提供程序接口,在专家系统构造过程中不需要代码程序就可进行编辑,能够直接进行编译,并形成可以执行的文件,运行速率较高。第三,VC++程序语言编程,具有较好的扩充性,界面风格简单明了,操作简便,方便学习和使用,还具有音频在线帮助的功能,应用较为广泛。

2.2 MDEST适用范围

MDEST专家系统工具适用于事实规则和产生式规则进行知识结构描述的专家系统,例如:机械设计中的概念设计、技术设计、结构设计等。在机械设计中会遇到一定的难题,利用该系统工具能够帮助解决机械设计中的部分难题。

3. ESDK分析与研究

ESDK专家系统开发工具适用于设计型专家系统的构造,其程序设计采用C++语言,是一个开放的系统设计工具,能够满足用户对ESDK的扩展,为专家系统与大型的数据库提供信息交互的数据接口,进而将专家系统的推理结果转化为设计结果,实现专家系统的完善。

3.1 ESDK结构

ESDK专家系统工具结构包括用户界面、知识编译器、推理机、解释器等部分。用户通过界面与推理机进行通信连接,进而完成各项任务。知识编译器是专家系统的工作区,通过知识编译器能够对知识库中的知识进行整理,而且它还具有知识查找、管理及知识向导的功能,更好的为知识管理进行服务。知识编译器还负责对知识的编译,将其文本格式转化为二进制格式进行保存,保护专家系统的知识产权。知识编译器能够对编译的语言进行检查,提示错误文本知识信息,保证知识表达的准确性。解释器的作用是帮助用户了解解决对策,其采用路径跟着与预制文本共同分析的方法,对用户提出的疑惑变量值进行解释,对上下文数据库进行查询,提出变量值对应的解释部分,帮助用户理解。

3.2 ESDK功能

ESDK专家系统工具具有完善的知识库储存,其组织结构适用于开发设计型专家系统,能够帮助专家系统完善知识表达系统。ESDK专家系统开发工具推理模式主要有框架推理、方法推理、规则推理等,该系统工具主要通过推理机来实现其功能,在推理过程中不断的为数据库融入新的推理事实,为后续推理工作提供依据,没有新的事实产生时,结束推理过程。ESDK支持多种推理控制策略,并且通过元推理机来进行统一协调配置,将各个推理机的工作进行调度和调整,完成数据的保存。ESDK专家系统开发工具采用面向对象的知识表达方法来描述设

计对象的概念及设计知识,这种表达形式符合人类专家的思维模式。知识库表达能力较强,能够快速完成知识搜索,具有一定的实用性。

4.OMEST系统的结构

OMEST是区别与MDES的一种专家系统工具,OMEST专家系统开发工具针对机械设计的整个过程进行专家系统的建立,满足机械设计的要求。OMEST的知识获取系统较为复杂,能够帮助用户对知识库进行建立、补充和维护,其推理模式主要是复合推理和不精确推理模式,能够减少机械设计中的不确定因素。OMEST具有评价系统,能够对设计进行可接受性判断,按照一定的约束条件进行决策,不满足约束条件的设计会被判断为失效,由失效处理模块进行处理,实现重新设计。OMEST的解释系统能够对推理机显示的内容进行解释并得出相应的结论,由绘图接口进行工程图的设计,并显示在人机界面上。OMEST的数据库能够对专家系统处理的假设和结论进行记录和保存,以供用户使用。此外,OMEST系统采用规则、框架、过程等混合的知识表达方式,按照规则为主体,框架和过程为辅的连接方式处理各类信息。OMEST是面向对象的机械设计专家系统工具,能够将多种知识融入到知识对象中,能够保证系统的适应性和通用性,为用户开发机械设计专家系统提供良好的平台。

结语:

综上所述,机械设计专家系统在机械领域应用较广泛,对于复杂多样、综合性强、不确定性因素较多的机械设计来所,专家系统的应用非常重要。专家系统开发工具是构造专家系统的基础,决定了专家系统的功能特点,应加强对专家系统工具的认识与研究。

参考文献:

[1]韩志武,刘才,陆卫平.机械设计专家系统中优化编程技术的实现[Jl.东北重型机械学院学报,2011.

开发工具 第4篇

使用这种新工具, 音频工程师能够在类似原理图的布局中组合熟悉的音频处理模块, 同时由编译器生成DSP就绪代码和“控制界面”, 用于在生产系统上直接实时设置和调整所有参数。Sigma Studio for SHARC工具提供足够强大的功能, 既能满足经验丰富的DSP工程师的需求, 也能让DSP代码编写经验不足甚至没有经验的开发人员能够在设计中轻松实施SHARC音频处理器。

Sigma Studio for SHARC工具作为免费软件下载, 需要Windows PC、Cross Core Embedded Studio IDE、可支持的SHARC EZ-Kit以及USB适配器电缆。

ADI公司处理器和DSP产品部门软件和工具工程设计总监David Lannigan表示:“Sigma Studio for SHARC仅在新的Cross Core�Embedded Studio IDE下运行, 直接为音频设计人员提供丰富的优化编程工具。它使音频工程师能够非常轻松地进行编程, 不仅包括基本音频功能, 还可集成第三方插件和复杂的自定义算法。使用Sigma Studio for SHARC的设计人员现在能够灵活地同时尝试多个解决方案, 所需时间不超过以前为单个功能编程的时间。”

开发工具 第5篇

public static String spliteEmail(String email) {/**传入邮箱地址*/ String newEmail = email.split(“@”)[0];/**获取到邮箱@前面部分*/ String[] mails = new String[newEmail.length]; StringBuffer sb = new StringBuffer(); if (mails.length > 0) {if (mails.length < 3) {/**如果邮箱@前面字条小于3个,则显示全部完整邮箱地址*/ return email;}else {/**邮箱地址字符处理*/ for (int i = 0; i < mails.length; i++) {if (i >= 1 && i < mails.length - 1) { sb.append(“*”);}else { sb.append(newEmail.charAt(i));} } return sb.toString() + “@” + email.split(“@”)[1];} } else {return “”; }}

2,手机号码处理(只显示手机号的前3及后3数字,中间用*代替):

public static String splitePhone(String phone) { String[] tel = new String[phone.length()]; StringBuffer sb = new StringBuffer(); if (tel.length > 0) { for (int i = 0; i < tel.length; i++) { if (i > 2 && i < 7) { sb.append(“*”); } else { sb.append(phone.charAt(i)); } } } return sb.toString(); }另外几个常用的正则表达示:

软件开发工具上云端 第6篇

对于Embarcadero,很多人不一定熟悉,但要提到Borland公司,相信只要有过几年IT从业经历的人都不陌生,其Dephi、JBuilder等开发工具都曾是程序员的首选。Embarcadero的这个工具云产品就主要来自其并购的CodeGear公司,CodeGear公司的前身就是Borland公司的开发工具部门。因此,Embarcadero的工具云保留了原来Borland的开发工具产品的诸多特点,特别是跨平台的特点。

Embarcadero亚太区高级总监Malcolm Groves告诉记者,Embarcadero的工具云是一种轻量型的服务器端软件,它可以集中管理和交付Embarcadero的各种软件开发和数据库管理的工具,通过集中化、虚拟化和标准化的交付来简化企业对软件工具的许可证管理,帮助企业减少成本和控制软件工具的访问。企业可以把工具云部署在某个服务器上(可以是企业内的服务器也可以是外部的服务器),用户登录到服务器下载到本地上安装执行,或者不安装直接执行。据了解,前一种方式主要面向那些开发强度很高的人员,侧重利用工具云来管理软件许可,无需持续在线; 而后一种方式则主要面向不经常使用开发工具的人员,除了管理软件许可外,还可实现开发工具的完全集中管理,此时,开发工具基于Embarcadero的一种名为InstantOn的应用虚拟化技术,点击后直接运行,需要在线。

Malcolm Groves说,工具云的一个非常重要的用途是用于管理开发工具的授权许可。据悉,开发工具的许可证管理是软件开发过程中的一个很棘手的问题。由于应用环境的不同,不同的项目也需要不同的开发工具,因此,在稍稍具有一定规模的软件开发部门,往往有多个项目组同时使用多种软件开发工具。而大部分软件开发工具是需要授权许可、支付许可费的,如何对这些开发工具进行管理,以避免购买不必要的许可是以软件开发为主要业务形式的公司非常关注的问题。

Embarcadero大中华区总经理琚伟介绍说,传统的许可证管理是人工管理方式,这种方式公司无法了解到到底哪种开发工具有哪些人在用、使用频度如何,无法据此制定出更为合理的许可证购买计划,以求避免不必要的浪费。另外一个不足是,当项目之间发生人员调配的时候,开发环境的部署费时费力,而工具云可以帮助程序员快速部署、很快就位。

开发工具 第7篇

开发工具包发布后, Glass将由精巧的玩具成为一款平台, 可供开发者开发应用。当前影响Glass发展的瓶颈是有限的发货量, 目前, Glass用户不足5万人。

Google向Android应用开发者发出的信息很简单:把Android应用移植到Glass上, 然后对界面进行优化。Google希望Glass正式上市销售时会拥有丰富的应用。

Google今天还展示了利用Glass开发工具包开发的多款Glass应用, 其中包括以下几款应用:食谱应用Allthecooks、游戏Spellista、Golf Sight、计步应用Strava和翻译应用Wordlens。

信息系统开发工具的设计与研究 第8篇

信息系统开发的主要方法简而言之:利用系统的思想、科学的数学计算方法以及计算机综合管理技术, 来实现整个系统的管理或者辅助决策。系统的思想既是将整个研究的对象, 单独从整体的运行环境中分离出来作为单独一个循环系统, 在充分考虑系统的特性和研究对象的数据流、信息流的基础上分析系统的内容。数学的方法主要是指, 对研究的对象进行数据方法的研究, 通过定量技术、概率事件技术等方法来研究整个系统, 通过数据建模、模型处理以及模型结果进行总体分析。计算机综合管理技术主要包含计算机技术、计算机辅助设备等相互结合而成的工具, 在计算机实现整个系统的模拟和重建, 并通过数学模型的建立, 实现整个系统的最优化。

1 结构化方法的开发方法

结构化系统开发方法, 亦称为SSA&D法 (Structured System Analysis and Design) , 或SADT (Structured Analysis and Design Technology) , 其是一种自上而下的结构化开发方法, 主要是通过工程化和产品生命周期化开发方法相互结合而形成的开发方法, 由于其能够快速开发而且能够实现整个开发软件和闭合性, 因此从其提出到实现之后, 发展得非常广泛和成熟。

结构化系统的开发方法最基本的思想是:通过结构化的思维和系统工程的方法, 将整个要开发的信息管理系统划分为一个或者几个大模块进行开发, 整个开发模块自上而下, 通过模块化结构设计和分解, 并以用户体验为最佳检测模块的标准。在划分完毕之后, 通过自底而上按照系统结构进行各个模块的组合和实现。最终实现整个系统开发的过程。

2 原型法的开发方法分析

结构化开发方法由于比较实用, 而且实现简单的优点, 但是由于结构化开发方法开发时间较长, 而且一旦模块分解不合理, 很容易导致整个系统开发出现混乱。人们在数据库系统发展到关系数据库之后, 纷纷提出了一种新的管理信息系统快速开发的方法, 这种方法本质上是可以尽快开发出可用的原型系统, 因此也把此方法称为快速原型法简称原型法。从开发的本质上, 其并不注重对真个管理信息系统进行分析和调查, 而是基于一个新系统的原型, 通过对用户信息的了解和分析, 借助整个系统的软件环境支持, 构建起一个新的系统原型, 然后再通过用户的要求对系统进行延伸和修改, 最终完成新系统的开发。

快速的原型化开发方法主要的特点是能够迅速的创建出信息管理系统的测试和使用版本, 该版本不但可以通过演示而且还能让用户进行初步体验, 用户可以借助测试版本直接提出自己的常用操作和习惯, 系统开发人员也可以利用这种版本进一步提升用户的需求, 并对此基础上进行修改。

3 面向对象的开发方法

结构化的开发方法和原型化开发方法出现之后, 人们在开发过程中出现了许多问题:开发生产效率过低、软件重用度低、软件维护困难、协作开发困难等, 软件开发由于受到前方模块的影响, 无法扩展开发出新的模块等等, 无法真正满足用户的需求。而为了解决此类问题, 人们又提出面向对象开发方法 (Object Oriented Method, OOM) , 它是利用开发过程中所见即所得的概念而发展起来的。通过各种面向对象的设计、类和对象继承、消息传递互通等概念进一步完善程序的开发方法。面向对象的开发方法和传统的面向数据开发思想完全不同, 其主要是通过使用建模语言 (United Modeling Language, UML) 建立起整个系统的模块。

4 计算机辅助软件工程开发方法

计算机辅助软件工程 (Computer Aided Software Engineering, CASE) , 原先是指用来支持管理信息系统开发的、辅助管理和控制工具的大型综合型软件开发环境。但是由于各类的开发工具在不断的更新和完善, 单一的开发工具已经转换成为一种相对独立的开发工具。

CASE系统开发过程的主要是和其具体的工具系统相关, 其主要的方法有:

SADT法 (结构化系统开发方法) 中的业务流程分析----数据流程分析-----功能模块设计----程序实现, 业务功能一览表----数据分析、指标体系----数据l过程分析----数据分布和数据库设计----数据库系统等;

OOM (面向对象的开发方法) 中的问题抽象---属性、结构和方法定义--对象分类---确定范式---程序实现等。

信息系统开发工具分析

当前发展交流流行的信息管理系统都是在数据库管理的技术上建立起来的, 而数据库大都为MySQL、MSSQL、Oracle数据库, 这些数据库对于数据库的基本操作可以分为:数据的输入输出、查询、汇总、存储、索引、统计分析、复制、安全等, 这些都是数据库辅助的基本功能。

而MIS则是针对此内容进一步深化而开发的主要工具。当前MIS开发工具非常多, Delphi、VB 6.0、VB.net、VC++.net、VC等, 本文就VB 6.0开发一个MIS的基本过程。将整个VB开发的整体过程以及MIS所具备的功能列举。下文将详细阐述各个部分的功能。

1工具

(1) 数据库输入输出以及自动化生成工具

可以进行任意输入数据库结构和记录, 无需人员操作, 并且在需要时可进行全屏幕的编辑和扩展。在人员手工确认后, 可以自动按照数据库的标准格式记录前一个数据项的要求生成数据库表格。

(2) 数据字典库输入及分析处理工具

对于每个需要开发MIS, 系统都需要建立起一个或者多个数据字典库, 以便在生成数据库表格、扩展数据库结构等内容中获得数据支持, 因此我们应当能够建立起响应的结构库的数据项, 只要用户输入人员的类型和名称, 就可以进入全屏幕编辑, 同时运用了数据字典的功能, 让用户大大减少汉字、字符的输入, 提升整个数据库建立的准确性, 也提升了自动化的建模标准。为下一步生成条件表达式自动化生成器提供了进一步的便利。

(3) 菜单的输入工具

当前流行的MIS使用的菜单输入方式都采用了结构化的菜单, 因此当前的MIS开发应当也可以自动生成系统菜单, 只要输入任意的MIS菜单项, 即菜单的级别、内容以及调用的整个程序参数, 就可以进行调试程序。

(4) 全屏幕编辑工具

以上阐述的几个工具都是在本工具当中实现的。

全屏幕编辑工具是对任意数据库数据进行添加、修改、删除的基础上完成的, 它不但包含着系统开发的初始值、数据项建立、显示、而且对于数据的输入方式、输入内容、修改方式和内容都有简单易懂的处理过程。一般而言, 使用通用性的MIS只需要对单个记录输入的通用模块稍加修改就可以实现整个MIS的开发。

(5) 综合查询分析工具

综合查询分析工具是将整个数据查询和分析都有机的结合和整理在一起, 并且可以实现数据的大于、等于、小于等简单操作, 而且多数据项组合查询、模糊查询等, 并且在数据分析当中, 对于数据进行组合分析、年度分析等, 各个功能都应当能够提供出相应的数据接口。

(6) 数学表达式计算工具

可自动计算任意的数学表达式的值, 对于不正确的表达式可自动报错。

2生成器

(1) 条件查询自动生成器

条件查询在MIS应用过程中使用非常多, 例如对数据的排序、查询、定位、统计等等, 这些都是MIS应用的基础, 因此开发者应当能够让用户在系统提示下生成各种不同的条件查询语句, 该生成器能够支持处需要生成的条件运算符和逻辑运算符, 以便在查询过程中, 能够自动提供出可用的数据项提供给用户进行选择和使用。

(2) 输入输出格式转化器

对于数据库的开发, 数据的输入输出格式都会有明显的差异, 因此根据当前数据的需求, 自动转化数据的格式, 就能够保证整个数据项的开发。

(3) 菜单生成器

自动生成下拉菜单, 通过设定的各级菜单树的结构, 菜单深度可以达到多层结构, 根据菜单的级别, 各项菜单的内容和个数都会进行屏幕定位、自动调用等功能。

(4) 报表生成器

可根据数据库及对应的库结构自动生成报表打印程序。其报表表头及表体格式可自动生成, 并可对表头进行全屏幕编辑。

结论

VB6.0可以开发基于数据库的MIS系统, 而且VB6.0简单易懂、面向对象, 很容易让最终用户获得肯定。使用VB6.0开发信息系统, 可以进一步提升整个MIS的管理实用性和整体信息开发的效率性, 并且对于所开发内容及时控制和更正。

在当前的流行的信息管理系统当中企业进销存、人事管理、信息管理等MIS系统当中, 不少信息管理系统都有着良好的用户界面、用户交互系统, 数据管理技术等, 这些功能在一定程度上可以摆脱使用人员繁琐复杂的工作内容、提升工作效率, 并且使用VB 6.0面向对象的开发方法让开发周期、开发速度都得到了明显的缩短。

开发工具 第9篇

Linux操作系统在服务器端的应用近几年发展速度很快,已成为一个非常流行的操作系统。Linux作为一种类Unix的操作系统,对它的操作一般需通过Shell命令进行。目前在Linux平台上运行的具有图形用户界面GUI(Graphic User Interface)的应用程序量远少于Windows,因此改善Linux应用程序界面操作的易用性,采用GUI操作界面是一个发展方向。

本文主要研究和介绍Linux环境中比较流行的GUI开发库Gtk+(GIMP Toolkit,GIMP工具包)的使用方法。Gtk+采用C语言编写,具有很好的面向对象的特性,能够使用称为“构件”的对象来构造丰富的用户界面。

本文通过一个简单的实例程序介绍利用GUI生成器Glade和libglade库快速开发GUI应用程序的步骤和方法,并对三种信号回调方法的选择作了介绍和比较。

1 Linux GUI开发技术概述

Linux有一套简便易学的GUI,用户使用鼠标就可以完成大多数工作。在Linux中,GUI由窗口系统、窗口管理器、工具包和风格等几个部分组成。窗口系统用于组织显示屏上的图形输出,窗口管理器用于对窗口的操作,如最小化等,工具包是用于编程界面的库,风格则是应用程序的用户界面。

1.1 Linux桌面环境

目前,Linux的桌面环境主要包括KDE(K Desktop Environment)和Gnome两种。 KDE是一个提供开放源代码的图形用户接口和开发环境。 KDE一度成为许多Linux发布版本的首选桌面环境。但是KDE基于Qt库,Qt最初并不遵从GPL(General Public License)协议。所以,后来的Linux发行版本中加入了Gnome(GNU Network Object Model Environment)桌面环境。Gnome的发展很快,已成为一个强劲的GUI应用程序开发框架,可以在任何一种UNIX系统下运行。

Gnome使用的图形库是基于LGPL(GNU Lesser General Public License)协议的Gtk+构件库。Gnome的界面与KDE的界面类似,熟悉KDE的用户无需学习就能够使用Gnome。所以,Gnome现在已经成为大多数Linux发布版本的首选桌面环境。

Gnome是一个集成桌面环境,也是应用程序的一个开发框架,由很多函数库组成。即使用户不运行Gnome桌面环境,用Gnome编写的应用程序也可运行,这些应用程序可以很好地和Gnome桌面环境集成。Gnome的开发结构使我们可以开发一致和易用的应用程序[1]。

1.2 开发GUI应用程序使用的库

Gtk+最初用于开发GIMP,是一个用于创造GUI的图形库。Gtk+基于LGPL授权,因此可以用Gtk+开发开放源码软件的自由软件或商业的非自由软件。

Gtk+是在Gdk(GIMP Drawing Kit)的基础上创建的,Gdk是对Xlib函数的包装。Gtk+图形库使用一些称为“构件”的对象来创建GUI应用程序。它提供了窗口、按钮、框架、列表框、组合框、树、状态条等许多构件,可以构造丰富的用户界面[2]。

Gtk+是高层的库函数,它基本不使用Xlib库函数,而是使用函数库Gdk和Glib。这种结构使得Gtk+可以更方便地移植到其它系统上,或使用与X Windows系统无关的图形库。Gtk+库函数的结构如图1所示。

在Gtk+图形库构件基础上,又开发了一些新构件,这些构件都是Gtk+构件库的补充,它们提供了许多Gtk+构件没有的功能。一般把这些构件称为Gnome构件。使用Gnome构件可以使开发界面一致的应用程序变得更加容易。

1.3 Gtk+编程的“信号回调”机制

· 信号

Gtk+是一个事件驱动的工具包,意味着它会等在gtk_main()那里(详见2.3实例的程序代码),直到下一个事件发生,才把控制权传给适当的函数。控制权的传递是使用“信号”的办法完成。当一个事件发生时,如按一下鼠标键,所按的构件会“发出”适当的信号。这就是Gtk+的工作机制。要使一个按钮执行一个动作,需设置信号和信号处理函数之间的连接。使用函数设置连接的句法如下:

gulong g_signal_connect ( gpointer *object, const gchar *name, Gcallback func, gpointer func_data ) ;

其中,第一个参数是要发出信号的构件;第二个参数是要连接的信号的名称;第三个参数是信号被捕获时所要调用的函数;第四个参数是想传递给调用函数的数据。

第三个参数指定的函数叫作回调函数,一般句法如下:

void callback_func ( GtkWidget *widget, gpointer callback_data ) ;

其中,第一个参数是一个指向发出信号的构件的指针;第二个参数是一个指向数据的指针,就是上面 g_signal_connect() 函数的最后一个参数传递的数据。

上面回调函数的声明只是一般的形式,有些构件的特殊信号会用到不同的调用参数:

gulong g_signal_connect_swapped ( gpointer *object, const gchar *name, Gcallback func, gpointer *slot_object );

g_signal_connect_swapped() 和 g_signal_connect() 相同,只是回调函数只用一个参数,一个指向Gtk+对象的指针。回调函数的句法如下:

void callback_func( GtkObject *object ) ;

这个对象通常是一个构件,一般不用函数 g_signal_connect_swapped() 设置回调。

拥有两个函数来设置信号连接的目的是为了允许回调函数有不同数目的参数。Gtk+库中许多函数仅接受一个单独的构件指针作为其参数,对于这些函数要用g_signal_connect_swapped()。对程序员自己定义的函数,可能需要附加的数据提供给回调函数,就需要使用g_signal_connect()了。

· 事件

除前面描述的信号机制外,还有一套events反映 X 事件机制。回调函数可以与这些事件连接,例如:button_press_event,button_release_event,delete_event等。

同样可以使用函数g_signal_connect()将回调函数连接到事件上,只需将事件名之一作为name参数。事件的回调函数与信号的回调函数有点不同,如下:

gint callback_func ( GtkWidget *widget, GdkEvent *event, gpointer callback_data );

所以,连接一个回调函数到这些事件之一,一般句法如下:

g_signal_connect ( G_OBJECT(button), "button_press_event", G_CALLBACK(button_press_callback), NULL);

这里假定 button 是一个按钮构件。现在,当鼠标位于按钮上并按一下鼠标时,函数 button_press_callback() 会被调用。这个函数应该声明为:

static gint button_press_callback ( GtkWidget *widget, GdkEventButton *event, gpointer data );

可以把第二个参数类型声明为 GdkEventButton,因为知道哪个类型的事件会发生。

g_signal_connect()函数的返回值gulong,还有诸如gint、gchar等,是Gtk+对ANSIC数据类型的包装,使得Gtk+的移植性更好。gulong表示g_signal_connect()返回一个信号ID,用来代表事件信号,可以利用该ID去掉控件的事件,去掉信号连接的函数原型如下:

void g_signal_handler_disconnect ( gpointer object, gulong id);

第一个参数是信号所连接的控件,第二个参数是信号ID。

在Gtk+的API里面还有许多事件和信号处理函数,进一步的了解可以参阅文献[3]。

2 应用GUI生成器Glade 和libglade

Glade是Linux环境中的一个RAD(Rapid application development)工具,发布在GNU GPL授权下,它使得基于Gtk+工具箱和GNOME桌面环境可以简单快速地开发用户界面。

2.1 Glade

在利用Glade-2设计界面保存后,按一下主窗口的 build 按钮,界面代码被自动生成并保存到一个.glade文件中。打开代码目录,callbacks.c有自动创建事件响应的空函数,只需填入处理,然后configure make即可。应用程序调用.glade文件,就可生成用户界面。

但是,这样的开发方式存在下述问题:

1) 自动生成的代码非常复杂,很多时候还不得不读它,处理和界面混在一起,理解它们变得困难,修改界面变得非常难;

2) 生成的配置文件冗长。

目前,Glade的新版本Glade-3是一个完全重写过的版本,最大的特点就是去掉了代码生成的功能。这也完全符合Glade的初衷:界面与代码的分离。好处是在后期修改程序界面非常容易,只需要使用Glade来调整界面即可(实际是仅仅修改了.glade 文件,无需对源程序作改动)。另外,使用.glade 文件来生成程序界面并不会影响到程序的效率,因为只需要一次装入所有界面,然后在需要时直接使用。

原来的代码生成功能实际上误导了一部分人,使得他们认为使用Glade来构件界面十分困难。Glade-3 还支持多个工程,撤销/重作,更加清晰的界面。XML格式没有变化,所以可以使用Glade-2 和 Glade-3 来编辑同一个.glade文件。

因此,正确使用Glade的方法是:采用Glade来生成程序界面的.glade文件,然后在源码中使用libglade提供的接口函数来生成界面或界面中的一部分。

2.2 libglade

Libglade是一个用于Gtk+/Gnome程序中从 .glade 文件自动生成程序界面或界面中一部分的库。它对一个用XML描述的界面(.glade文件)进行解析,然后生成合适的窗口。

使用Libglade非常简单,基本包括两个步骤:首先调用解析界面和创建窗口的函数,然后将信号(如点击按钮的事件)连接到合适的回调函数。图2说明了它们之间的关系。

2.3 实 例

本实例主要实现对称加密算法的教学实验课件,GUI由三个文本框和三个按钮组成,分别是:明文、密码、密文、加密、解密和清除。 为了实验不同的对称加密算法,如DES、3DES或AES等,增加一个下拉窗口用来选择加密算法。实际的算法实现可以用纯C写的文本界面程序完成,在Windows下做个界面前端就可完成和移植。实现过程如下:

· 设计界面

运行Xwindow,调出图形化界面后,可以在虚拟控制台上输入glade-2或glade-3或从Applications选单上找到Programming子选单下的Glade Interface Designer项,点击即可。

调出Glade,一般能看到三个窗口(如图3所示):the main window,the palette和the property editor。the main window主要负责管理所设计的图形界面;the palette是由Glade提供的常用Gtk+构件的图形化集;the property editor主要负责设置构件属性和信号处理等。这三个窗口构成一个GUI的开发环境。在the main window下的View菜单中,通过“Show Widget Tree”项可以浏览整个项目构件树。当新建一个项目时,Glade会问创建Gtk+项目还是Gnome项目,Gnome有更多的窗口构件供构造界面。本例创建Gnome项目。为便于动态改变构件大小,必须首先在窗口内放置容器构件(如横向盒或纵向盒),然后把构件放到容器内,容器中还可以放容器。根据需求,需要的窗体元素是 GtkLabel,GtkEntry, GtkComboBoxEntry, GtkButton。设计如图3所示的界面。

设置好界面后,保存项目。如果是glade-2,不要使用“build”选项。只需关注你的.glade文件名和项目存放路径即可(如图4所示)。

· 用libglade调用界面构件并设置信号处理

本例与界面相关的函数只有以下几个:

gtk_entry_get_text(),用于获取文本框输入;

gtk_entry_set_text(),用于在文本框中显示结果。

通过下述步骤获得相应的对象指针作参数:

1) 使用 GladeXML* glade_xml_new ( const char *fname, const char *root, const char *domain ) 来加载界面;

2) 使用 GtkWidget* glade_xml_get_widget ( GladeXML *self, const char *name) 来取得控件;

3) 通过g_signal_connect () 来实现信号连接。

· 程序主要代码

在process()函数中,实现窗口中三个按钮的“clicked”信号连接。在按钮“clicked”信号的回调函数中实现具体的操作过程,即加密,解密和清除输入框的内容。

下面是加密按钮回调函数的代码:

· 信号回调方法

忽视信号回调方法的选择,可能会导致许多意想不到的错误。有三种信号回调方法[4]:

1) 用标准的glib函数手动连接

使用g_signal_connect()、g_signal_connect_after()和g_signal_connect_swapped(),后两种方法用得比较少。它们不需要在.glade文件中指定信号和句柄的名字,可以和autoconnection()方法同时使用。

2) Libglade 自动连接

使用libglade的autoconnection会导致错误的代码组织方式。如使用了autoconnection,有用的user_data就不能传递给句柄。同时,autoconnection的候选句柄需要有全局范围。对于大型程序,这两个问题比较头疼。当然,对于小程序问题不很严重,这种方法可以采用。

autoconnection的工作机制是,每个信号的句柄(函数名)在.glade文件中需被指定,然后程序中调用glade_xml_signal_autoconnect()。唯一能作为参数传送给回调函数的user_data是.glade文件中的另一个构件名。

3) Libglade手动连接

使用glade_xml_signal_connect()和glade_xml_signal_connect_data()函数是错误的方法。这些方法基本类似于g_signal_connect_* (),它们仅仅是这些函数的简单包装。使用这些函数意味着这两个函数中的一个必须被每个将要连接的信号调用。这些函数同样需要所有信号和句柄的名称在 .glade文件中被指定,这样将会和autoconnection冲突。

在该程序中的所有信号回调都是使用标准glib函数的手动连接,了解其它的方法,是为了便于读懂和优化其它程序。

· gcc编译[5]和Makefile文件的编写[1]

程序完成后,剩下的就是写Makefile文件来编译。

gcc(GNU Compiler Collection)是支持多语言、多平台的开源编译器。

本例程序的编译很简单,因为它只有一个encrypt.c文件,输入下述命令和参数:

gcc encrypt.c -o encrypt`pkg-config --cflags --libs libglade-2.0

其中-o是指定目标名称,缺省的时候,gcc 编译出来的文件是a.out。

Gtk+ 的链接参数生成程序是pkg-config,执行pkg-config --libs就能得到编译一个Gtk+程序所需的gtk链接参数,--cflags用来生成头文件包含目录,即-I参数。在参数后面写上所需要的库,注意`不是单引号,而是1键左边那个键。这样就可免去写一堆编译参数了″。

也可以写Makefile文件完成编译,下面是上述gcc编译命令的Makefile文件的内容:

#It is a makefile for my program

encrypt:encrypt.c

gcc encrypt.c -o encrypt `pkg-config --cflags --libs libglade-2.0`

字符 #为注释行,第二行指定encrypt所依赖的.c文件,第三行描述如何从encrypt所依赖的文件建立可执行文件。

在大型的开发项目中,有效利用make和makefile工具可以大大提高项目开发的效率。

3 结 语

随着Linux操作系统的不断普及,在Linux下开发GUI应用程序不但是一种时尚,更是一种需求。本文研究和介绍了Gtk+ 的基本概念和用法,并通过一个简单的实例程序介绍了一种快速开发GUI应用程序的步骤和方法,对Linux下开发GUI程序具有一定的借鉴意义。基于Gtk+,用Glade+libglade开发Linux平台的图形用户界面应用程序易学习和理解,开发成本低、效率高,而且具有良好的移植性。

参考文献

[1]于明俭,陈向阳,方汉.Linux程序设计权威指南.机械工业出版社,2001,4:7-16,323-418.

[2]GTK+Reference Manual.http://developer.gnome.org/doc/API/2.0/gtk/index.html.

[3]GTK+2.0 Tutorial.http://www.gtk.org/tutorial/.

[4]Developing with Gnome.http://www.gnome.org/~newren/tutorials/developing-with-gnome/html/.

开发工具 第10篇

1 系统的技术体系结构

1.1 技术体系结构的比较

MIS管理信息系统的运行模式先后经历了单层体系结构、两层体系结构、三层体系结构几个阶段,但在我国的发展历史并不长。

1.1.1 单层体系结构

单层体系结构的主要特点是主机执行所有的处理任务,终端只担任画面显示和输入功能,不能进行实际的信息处理。

1)单层体系结构的优点。计算机各种硬件、软件资源集中统一管理,保密性强,安全性强;处理能力强,系统易于实现;数据的一致性和完整性易于保证。

2)单层体系结构的缺点。随着应用系统规模的增大,用户较多时,对系统资源争用严重;所有的逻辑都在一个程序中实现,系统功能几乎不能重用;全机一旦发生故障,整个系统就会瘫痪。

1.1.2 两层体系结构

两层体系结构的特点是数据库放置在服务器端,服务器接受客户机提出访问数据库的请求后,对客户的访问权限进行审查并对数据库进行保护,然后由服务器响应这些请求,对后台数据库进行操作,按需求把查询结果返回给客户端。

1)两层体系结构的优点。以数据库为中心,多个用户可以访问同一数据源;交互性强,降低了系统的通信开销;两层模式体系结构界面统一,使用简单;客户端只须安装统一的浏览器,就可以实现和数据库服务器的交互。

2)两层体系结构的缺点。一是用户界面风格不一、开发成本较高、移植困难、使用繁杂、维护复杂、升级麻烦、客户端与后台数据库服务器数据交换频繁且数据量大,当大量用户访问时易造成网络瓶颈、新技术不能轻易应用。二是根据软件任务的不同,客户端需要完成大量操作,由于浏览器暂时不具备所需的能力,所以第一次登陆服务器时会自动下载并安装“组件”。如有的B/S结构的软件第一次运行时间会比较长;另外,B/S建立在广域网之上,面向不可知的用户群,对安全的控制能力相对较弱。

1.1.3 三层体系结构

两层体系结构自然发展为三层体系结构,两层体系结构中的“胖客户端”进一步分层,即将表示层和中间层分开,服务器被分为中间服务器和数据服务器,从而形成客户机/中间服务器/数据服务器的分布式三层体系结构,提高了系统的可重用性。三层体系结构具有以下优点:一是表示层和业务逻辑的分层,使得可以单独优化各层,提高伸缩性和系统性能,具有良好的二次开发性;二是提高了系统的安全性和灵活性;三是系统的分层以及功能的划分,使得开发过程可以在一定程度上共同进行,提高开发速度。

1.2 技术体系结构的选择

ERP系统是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。企业原始信息的收集到决策信息的发布乃至决策的执行,本身就是企业发展和运作的主要体系。面向中小企业的网络管理信息系统是企业ERP系统的一个小系统,通过Intranet/Internet在企业内部、企业之间、企业与客户之间架起一道不受时空限制的桥梁,所以该系统以B/S三层体系结构作为最终选择。

2 系统开发工具

面向中小企业网络管理信息系统是基于Access数据库进行开发的,在网络环境运行中,应用程序开发语言能够访问分布式的信息资源并能进行升级和扩展。

2.1 Web开发工具及其特点

在Web应用开发中,选择合适的开发工具十分关键。Web应用开发技术种类繁多,最常用的开发语言有ASP(Active Server Pages),JSP(Java Server Pages),PHP(Hypertext Preprocessor)等。

1)ASP(Active Server Pages)是一个Web服务器端脚本编写环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。

ASP一般运行在微软的服务器产品IIS(Internet Information Server网际网络信息服务)(Windows NT)和PWS(Personal Web Serverge个人网站服务器)(Windows95/98)上。在Unix下也有Chili Soft的组件来支持ASP,但ASP必须通过ASP+COM的群组合来扩充,但Unix下的COM实现起来比较困难。

2)PHP是一种在服务器端执行的嵌入式脚本语言,它大量借用C,Java和Perl语言的语法,并耦合PHP自己的特性。用PHP做出的动态页面与其他的编程语言相比,执行效率要高许多,它支持目前绝大多数数据库。

PHP提供的数据库接口支持彼此不统一,如对Oracle,MYSQL,Sybase的接口,相互都不一样。另外,PHP也缺乏规模支持和多层结构支持,这也是PHP的弱点。

3)JSP是Sun公司推出的新一代网站开发语言,它是一个特别的Java语言。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP为了实现跨平台的功能及极度的伸缩能力,所以极大地增加了产品的复杂性。还有,因为Java的运行速度是用class常驻内存来完成的,所以JSP在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

在国内,PHP与ASP应用比较广泛,JSP则较少。由于PHP本身存在的数据库接口以及规模支持、多层支持等方面的缺点,使得它不适合大型电子商务站点,而更适合一些小型的商业站点。ASP和JSP则没有PHP的缺陷,技术上也比较成熟。但JSP在国外的应用较多,国内则较少,对国内开发人员可借鉴的资源也较少。因此,在我国ASP技术得到了广泛的应用。

2.2 Access数据库

数据库技术是随着人们对数据管理的需求变化以及计算机技术的发展而产生与发展的。数据库系统能使数据在同一控制下提供尽可能多的应用服务,实现数据的共享,同时使应用程序和数据尽可能相互独立,即当数据修改时不要求应用程序做较大的修改,而当应用程序修改时,也不要求数据结构做较大的改变。Access数据库相对来说比较典型,它具有3个基本功能:建立数据库、数据库操作、数据通信。Access是关系型数据库的一种,因此具有表的特性,在Access数据库中有表、查询、窗口、报表、页、宏和模块7个对象,这些对象用于收集、存储和操作各种不同的信息,每个对象都是数据库的一个组成部分,其中表是数据库的基础,它记录着数据库的全部数据内容,其他对象是Access提供的工具,用于对数据库进行维护和管理。

2.3 Dreamweaver 8开发工具

Dreamweaver用于对Web站点、Web页和Web应用程序进行设计、编码和开发,是一种专业的HTML编辑器。在Dreamweaver中,可以在可视化编辑环境中工作,也可以直接编写HTML代码。综合考虑到企业较强的技术能力,建议企业采用ASP语言、Dreamweaver开发工具和Access数据库技术对系统进行设计。这是一种主流的开发技术,可以快速开发出强大、可靠的应用程序,而且可保护企业的投资在很长一段时间内不因框架结构改变或平台的变迁而被浪费,并能不断地扩充、升级,使系统长期稳定运行。

摘要:对不同的信息开发工具和技术体系结构的优点和存在的问题进行比较分析,确定了开发中小企业网络管理信息系统所需的技术体系和开发工具,为中小企业网络管理信息系统的开发提供参考和借鉴。

关键词:技术体系,开发工具,信息系统

参考文献

[1]李军怀.基于Web模式的销售管理系统[J].计算机工程与应用,2001(4):99-102.

[2]姜旭平.信息系统分析[M].长沙:湖南科学技术出版社,1992:5.

[3]萨成华.管理信息系统[M].北京:清华大学出版社,1993:6.

[4]甘初初.信息系统开发[M].北京:经济科学出版社,1996:4.

在开发中保护,在保护中开发 第11篇

【关键词】土地开发;整理;保护;可持续发展

土地开发整理是建立在以工业促进农业发展,将城市发展作为带动农村发展的长效计划中的重要板块,是优化农村土地资源配置的主要表现,是在基础设施建设方面给予农村对应性支持的关键策略。它是迎合国家城市支持农村宏观政策的体现。我国是人多地少国家的代表,人均占有土地面积十分有限,因而针对耕地的保护长期以来均是社会各界所研究与讨论的重要话题。最近几年来,随着我国各项耕地保护政策的陆续落实,我国耕地面积减少的速度也在缓慢降低。但相对而言,针对耕地的开发保护问题也日益凸显。基于此,本文遵循“在开发中保护与在保护中开发”的原则,探讨了基于可持续发展观念的土地整治方案。

一、我国土地整治与规划现状概述

自2007年后,我国的土地整治政策出现了较大范围的调整与变动,尤其表现在土地项目管理以及土地整治资金的分配方面,土地整治的重点产生了较大的变化。新的政策背景为土地整治带来了一定的机遇与挑战,指明了土地整治的具体方向,明确了整治的重点内容,在一定程度上推动了土地开发方向朝农村及其他粮产区的倾斜。自首次土地整治规划以来,我国的土地与保护取得了一定的成就,但同時也凸显了一系列的问题。主要表现在以下两个方面:

(一)新的土地形势与传统的土地整治计划并不适应

在原始土地整治与规划过程中,尚未制定明确的编制标准,在对土地资源进行潜力分析与目标确定时并无统一的指导方法,纳入考虑的因素并不全面。同时伴随着社会经济的迅猛发展与国家宏观政策的变更,土地建设工程与建设区域也发生了较大的改变。但在土地整治方面依然遵循以补充耕地数量为重点的原则,在保持占补平衡时,重视耕地数量,而忽视了对质量的把握,在开发过程中,缺乏必要的环境保护意识,在规划建设重点时仅仅偏向于资源选择。此外,由于部分农民并未转变传统的土地保护意识,同时给土地整治带来了一些主观困扰,加大了农村基地的整治难度。另外,国民经济的迅猛发展同事给土地资源保护增加了外向的压力,土地整治资金的缩减,治理成本的增加,同样给提高土地整治的有效性带来了一定的阻碍。

(二)原始计划并未得到进一步落实

当前,大部分省市地区所提高的土地规划计划并未得到上级的审批、准许。致使原始计划并未得到进一步的落实,不能完全发挥其法律效应。进而导致土地开发与保护项目仅仅流于形式,项目位置规划相对较为分散,治理重点并不明确,导致整治效率低下,降低了土地治理的综合效益。

二、以可持续发展观念作为指导的土地整治策略

要实现改善生态环境的目的,达到人与自然的相对和谐,必须以科学发展观、可持续发展观作为指导,在自然资源的开发过程中,注重对生态环境的保护,转变传统土地整治中重视数量而忽视质量的指导方法,确立新型的生态观念,提高土地资源的利用率,提升土地整治的综合效应。

(一)制定科学、合理的土地整治计划

针对土地资源的开发、保护与整治是一项较为长期的复杂工作,它所涉及到的技术领域同样也十分广泛,包括法律、经济、管理、行政等各方各面。制定科学、合理的土地整治计划是保障其最大社会效益发挥的重要基础,同样也是提升其生态性能的关键。在进行土地整治时,必须以项目开发实际作为指导,正确处理好土地开发与利用之间的关系,确立科学的土地规划方案,构建专业化的项目整治计划。首先,在土地利用总规程的理论指导下,编制完善的土地开发计划。其次,综合考虑社会因素、生态价值、土地整治等因素,最大限度地优化土地资源配置,达到三者效益的最优化。严密分析整治与开发的各项联系要素,制定良好的后备计划,为土地整治提供良好的理论指导。

(二)深化环境保护理念,树立生态观点

第一,需要明确土地开发并不是建立在破坏生态系统的前提下,必须树立环境保护的理念,建立生态保护观念。严格贯彻在保护中开发与在开发中保护的原则。第二,以我国基本国情作为方略制定的参照,为进一步保障粮食生产的稳定性与安全性,保持有效的耕地面积,需扩宽其开发视野,打破后备资源开垦的限制,将眼光放置于中低产田的技术改造中。一方面,能够有效减少开发成本;另一方面,可以提升土地整治的整体效益。因此,在解决我国耕地不足的问题方面,需要将现有耕地作为依托,减少荒地的开发,强化生态保护,并将治理重点放置于现有耕地的改造中,提高现有耕地的生产力与质量水平。

(三)正确处理耕地“量”与“质”两者之间的关系

为进一步贯彻落实可持续发展观念,提高土地资源的综合利用率,在耕地开发时,需要注重量与质两者关系的处理,将提高开发质量,稳定耕地数量作为指导理念,在保护现有耕地生产力的基础上,不断更新土地开发与整理的质量准则,同时在考量占补平衡的指标中加入耕地的质量因素。此外,在综合整治过程中,需将生态改善作为整治的重要内容,在保障保护环境的前提下,进行土地资源的开发,同时严格控制后备土地资源的开发速度,明确土地利用现状,确立正确的开发方向。

结束语

综上所述,在当前土地后备资源相对紧缺、生态环境破坏严重的背景下,要做好土地资源的开发与整治工作,必须深入贯彻可持续发展观念,并以此作为指导,构建新一轮的土地整编规划。首先,必须制定科学、合理的土地整治计划,其次,深化环境保护观念,权衡环境开发与生态保护之间的关系,再者,正确处理耕地数量与质量之间的关系,尽最大可能提高土地的利用率,提升土地整治的综合效益。

参考文献:

[1]李永红,高照良,徐佳,等.土地开发整理的概况、内涵及实践[J].科技和产业,2010,03:108-122.

[2]徐云,曹凤中,曹葵.“在发展中保护,在保护中发展”是指导我国可持续发展的战略思想[J].中国环境管理,2012,05:62-65.

小学数学测评工具的开发 第12篇

一、测评的目的要明确

《课程标准》指出“评价的主要目的是全面了解学生数学学习的过程和结果, 激励学生学习和改进教师教学。”那么, 评价就要发挥其诊断功能, 也就是通过试卷完成的情况来了解每一个学生的学习情况和参评学生的整体情况。因此, 测评试题的设计可以借助《双向细目表》, 把所要考查的知识点标记出来, 与教学目标进行对比, 并反思能否通过试题的考查诊断出学生对某些教学内容存在哪些困惑, 掌握哪些知识与技能。

二、测评的内容要全面

小学生的学业测评的内容应该包含整本教材里所有的知识点。为了方便整理, 可以借助《教材内容分析表》把本册教材的所有知识点罗列出来, 并根据教材的编排主次确定分值的大小, 一般可以参考知识点的内容、课时多少来确定。有些动手操作的内容不能用笔试来考查的, 要设计数学活动, 通过数学活动完成情况评价学生的动手操作能力。

三、试题的难度要适中

小学生数学学业测评的目的并不是要遴选、拔尖, 而是要检测学生的学习过程和结果。所以试卷编制的难度不宜太大, 难度系数为0.85 左右。“易、中、难”程度应为6 :3 :1 或7 :2 :1, 让更多的学生在检测的过程中体验到数学学习的乐趣, 加深对数学学习的兴趣, 而不是感受到数学的深奥难懂。

编制试题时仿照课本的习题本无可非议, 但教材中的每一道题的编排都有不同的意图, 如果没有加以思辨随手拈来, 可能就会适得其反。如二年级下册《长方形与正方形》这一课中, 认识了长方形和正方形的特征, 并进行了图形的辨认。在教材“练一练”中出现数图形的练习 (如上图) 。

本道题是拓展题, 鼓励学有余力的学生在数图形的过程中, 巩固对图形特征的认识。同时, 题目中还隐含了规律, 希望学生能够发现其变化规律:从第二幅图开始, 每增加2个小正方形, 就与它左边的2个小正方形组成1个大正方形, 因此, 正方形的个数增加3个。如果在试卷上没有前面几小题的“脚手架”, 只出现这幅图, 直接要求学生数出有几个正方形, 应该说属于超纲, 毕竟拓展题并不要求全体学生都掌握, 更何况比拓展题更难的题目。这就要求在编制试题时应读透教学目标, 才不会盲目加深题目的难度, 才能做到立足教材基于课标而不超标。

四、试题的开发要科学

1. 以思维含量取代计算含量。课改之后, 教材对偏难繁的计算有所删减。随着《课标》 (2011 版) 的修订, 除了要求学生获得基本知识和基本技能外, 更加重视学生数学思考的过程, 注重后两基的培养。正如苏霍姆林斯基说过:“懂得还不等于已知, 理解还不等于知识。为了取得牢固的知识, 还必须进行思考。”《课标》第二学段目标中对数学思考方面提出:“进一步认识到数据中蕴涵着信息, 发展数据分析观念。”测评工具的开发就应体现这样的理念。

如:《包装的学问》一课, 包装的方法多样, 虽然可以让学生进行发散思维, 但是计算步骤繁多, 学生很厌烦, 常常不细想就套用公式, 学生解决问题的过程成了机械的计算过程, 也经常出现由于计算出错而失分的现象, 对学生的学习情感产生负面影响。不妨打破常规不考查表面积的计算, 而是对包装外观的整体感知, 既能考查学生的理解, 又能充分调动思维, 而且减轻计算的负担。

2.以问题解决取代解决问题。《课标》要求:“初步学会从数学的角度发现问题和提出问题, 综合运用数学知识解决简单的实际问题, 增强应用意识, 提高实践能力。”数学应用意识就是一种用数学的眼光、从数学的角度观察、分析周围生活中问题的积极心理倾向和思维反应。因此可以提供多个数学信息, 让同学们自己提出问题、分析问题、解决问题。如下图:

“请你选择2 个数学信息, 提出一道可以用加法解决的问题, 并解答。”由于情境是开放的, 提出的问题也是开放的, 只要能抓住数量之间的关系, 正确理解“加法”的意义及在生活中的运用就行。

3. 以生活问题取代数学问题。许多同学对于典型的数学问题, 会调用数学知识加以解决, 而面对生活中的问题时, 却无从下手。《课标》强调:“尝试从日常生活中发现并提出简单的数学问题, 并运用一些知识加以解释。”同样是计算经过的时间, 多数同学都懂得用结束的时刻减去开始的时刻, 但当出现以下题目时, 他们都“蒙”了。

生活中, 时钟就是这样运转的, 只要借助画图, 把时针走了几大格, 分钟走了几小格画出来, 就可以计算出经过的时间。 (如下图) 以生活问题取代数学问题, 将有助于学生的“数学运用”和“数学化”能力的提高。

4. 以解释说明取代死记硬背。苏霍姆林斯基在《给教师的建议》中提到:“死记硬背一贯是有害的, 而在少年时期和青年时期则尤其不可容忍。数学教学注重学生的理解与运用, 如果死记硬背, 只知其然不知其所以然, 那么学生只会解决模式化的题目, 不会灵活运用所学知识, 是死读书, 读死书。”《课标》明确要求:“在观察、实验、猜想、验证等活动中, 发展合情推理能力, 能进行有条理的思考, 能比较清楚地表达自己的思考过程与结果。”借助试题让同学展示其理解、建构知识的过程, 将是对学生的表达与分析能力的挑战。如:“1 平方分米有多大?你能画图表示吗? 1 平方分米=10 平方厘米, 1 平方分米=100 平方厘米, 哪个正确?结合作图或算式, 说一说你的观点。”在这道题中, 可能引起混淆的是长度单位与面积单位表示的不同意义、不同进率, 学生如果是死记硬背, 将无法“自圆其说”, 如果有测量操作的经验, 则易如反掌。

上一篇:心肌缺血损伤下一篇:文化顺应