绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇软件设计与开发范文,希望它们能为您的写作提供参考和启发。
中图分类号:TP316 文献标识码:A 文章编号:1007-9416(2012)02-0132-02
无锡尚沃生物科技有限公司开发了应用于呼吸系统检测仪器“纳库仑一氧化氮分析仪”,产品在投入市场后,发现儿童在使用仪器时与成人有很大的不同,存在不配合性、数据采集时间不同等情况。企业急需一套能够被医疗兼容,又能够让不同年龄段的儿童适用的软件。根据企业提出的相关业务需求,并且为配合医疗仪器的使用,开发制作的侧重点在于开发出一些适合于儿童,并带有简单游戏性质的故事情节的游戏软件。为此,我们选择了Visual Studio 2010下的WPF(Windows Presentation Foundation)技术。本文对WPF以及WPF在项目中的实际运用进行了介绍。
1、WPF体系架构及特点
WPF的全称是Windows Presentation Foundation,是未来十年里Windows平台GUI开发的最主要的技术之一。它是微软开发的一款基于.NET(目前最新版本为.NET Framework 4.0)平台的最新的软件界面显示系统。为用户界面、文档和多媒体等等,提供了统一的描述和操作方法。而相对于以往的通用编程方式GDI(Graphics Device Interface),这个已经应用于十多年的技术在.NET框架中已经被微软进行了多次的扩充,但是对它的种种扩充已经不能很好的满足当前软件开发中对越来越复杂、越来越趋向于完美的软件界面的需求,为了在完成相同界面时能够达到更好的效果,同时也为了能够满足下一代操作系统的兼容。为此,了这一新的程序界面开发技术。
1.1 WPF体系架构
WPF主要是由Presentation Framework、Presentation Core和mil core三层组件构成,它们是WPF的子系统。其中Presentation Framework、Presentation Core这两者是托管组件,而mil core却是非托管组件。而托管组件Presentation Core提供了像事件处理、布局等一系列的功能。在组件Presentation Core提供的基本功能上,组件Presentation Framework实现了WPF的各种外观,例如图像效果的实现、按钮控件的实现等.而非托管的mil core是以非托管代码来编写的,其目的是实现与DirectX的交互,从而来提高效率。体系架构中的User32、DirectX和Kernel是Windows子系统。如WPF应用程序运行过程图1所示。
1.2 XAML语言
XAML是eXtensible Application Markup Language缩写,名为可扩展应用程序标记语言。从名称可以看出它是一种标记语言,也就意味着它具有其他标记语言所具有的诸多特点。 XAML是微软创建的一款新的描述性语言用来构建应用程序用户界面,即用来编写WPF(Windows Presentation Foundation) 的应用程序。XAML引入了XML中的名字空间、属性等多个元素,即XAML是基于XML的。并且它和XML的使用方式很接近,所以对XAML来说它本身就是一个很好的XML文档。
在以往的程序编写中,我们常常为使内部数据与界面很好的联系在一起而大伤脑筋,而WPF提供了数据绑定这一有效的方法,从而很好的解决了这一难题。在XAML中使用数据绑定,而使用数据绑定的关键就是去创建System.Windows.Data.Binding这样一个实例对象。当然,该对象也可以在C#中被创建。数据绑定其实是使界面显示的数据值与内部数据值保持相同,而数据绑定这一功能的使用,使得我们项目组的开发人员在很大程度上提高项目开发工作的效率。
1.3 Microsoft Expression Blend
Microsoft Expression Blend是一个全新的、全功能的专业设计工具,用于创造基于Microsoft Windows平台的易于使用且丰富的应用界面。使用它的首要和最终目的是作为一种可应用于WPF的设计界面工具。Microsoft Visual Studio 可以与Microsoft Expression Blend 完美的相结合在一起使用.Expression Blend 自动生成 WPF应用程序,也就是说,所显示的界面设计都可以由XAML代码来表示。当然,也可以将可扩展应用程序标记语言(XAML)导入到Expression Blend设计界面中。
2、WPF应用程序在实际开发项目中的运用
基于WPF的特点以及相关技术,本文创建了医疗辅助系统软件项目。下面介绍利用Microsoft Expression Blend创建医疗辅助系统应用程序的基本过程。
(1)打开Microsoft Expression Blend,并新建名为Balloon的项目。
(2)我们进入了Microsoft Expression Blend的工作区,打开工具箱,添加背景(backimage)图片、气球(balloonimage)图片、滑动轴(silder)控件、提示使用者检测失败的文本(txbfailed)控件和成功的文本(txtSucessed)控件、移动路径([path])、设置下拉菜单(MenuItem)、设置下拉菜单下的起始无效时间(Startinvalid)控件和成功时间(Succeedtimer)控件、开始按钮(btnStart)控件等。初始状态下令文本txbfailed控件可见,设计应用程序界面。
(3)Microsoft Expression Blend将自动生成 Windows Presentation Foundation (WPF)应用程序,是由 XAML代码来表示的。在成功的添加诸多控件的基础上,并在代码窗口里实现事件响应代码的编写。
(4)应用程序运行效果。开始检测时,进入游戏系统界面,点击设置下拉菜单(MenuItem),设定下拉菜单下的起始无效时间(Startinvalid)和成功时间(Succeedtimer)的有效值,例如,起始无效时间为2秒,成功时间为5秒。点击开始按钮(btnStart),根据吹气时的气量大小,滑动轴(silder)左右移动。当气量小时,滑动轴(silder)向左移动,同时气球降落;当气量大时,滑动轴(silder)向右移动,气球上升。成功时间达到已设定的有效值时,提示使用者检测成功的文本(txtSucessed);相反,当成功时间未达到已设定的有效值时,提示使用者检测失败的文本(txbfailed),当儿童完成游戏的同时,完成了检测。利用Microsoft Expression Blend技术可以使得WPF应用程序更加方便、更加出色的完成。
3、结语
WPF给Windows应用程序的开发带来一次划时代的革命,它提供了一种全新的、全功能的开发模式。为企业的医疗仪器提供这一相配套的儿童检测软件,可以使得不同年龄段的儿童克服不安定心理,更好的配合医疗检测,从而提高治疗的效果,并增加了企业仪器的新服务人群,开拓了新的医疗市场。
参考文献
[1]张晗雨.WPF全视角分析[M].北京:机械工业出版社,2008.
[2]technet.省略/zh-cn/office/ms750441(v=VS.95)
(甲方)
研究开发人:___________________________
(乙方)
签订地点:____省 (市)____市、县(区)
签订日期:_____________________________
有效期限:_________________至__________
填表说明
一、技术开发合同是指当事人之间就国家队信息化平台的研究开发所订立的合同。
二、标的技术的内容、范围及要求
包括开发项目应达到的开发目的、使用范围、技术经济指标及效益情况。
三、研究开发计划
包括当事人各方实施开发项目的阶段进度、各个阶段要解决的技术问题、达到的目标和完成的期限等。
四、本合同书的履行方式(包括成果提交方式及数量)
1.产品设计、图纸、论文、报告等技术文件;
2.磁盘、光盘、磁带、计算机软件;
3.样品、样机;
4.成套技术设备。
五、技术情报和资料的保密
包括当事人各方情报和资料保密义务的内容、期限和泄漏技术秘密应承担的责任。
六、本合同书中,凡是当事人约定认为无需填写的条款,在该条款填写的空白处划(/)表示。
依据《中华人民共和国合同法》的规定,合同双方就国家队信息化平台建设项目的技术服务,经协商一致,签订本合同。
一、标的技术的内容,范围及要求
二、应达到的技术指标和参数
三、研究开发计划
四、研究开发经费、报酬及其支付或结算方式
(一)研究开发经费是指完成项目研究开发工作所需的成本,报酬是指本项目开发成果的使用费和研究开发人员的科研补贴。
本项目研究开发经费和报酬(大写) 元,
(二)支付方式
①一次总付元,时间:
②分期支付元,时间:
元,时间:
③其它方式:
五、利用研究开发经费购置的设备、器材、资料的财产权属
六、履行的期限、地点和方式
本合同自年月日至 年月 日在 履行。
本合同的履行方式:
七、技术情报和资料的保密
八、技术协作和技术指导的内容
九、技术成果的归属和分享
(一)专利申请权:
(二)技术秘密的使用权、转让权:
十、验收的标准和方式
研究开发所完成的技术成果,达到了本合同第二条所列技术指标,按 标准,采用 方式验收,由出具技术项目验收证明。
十一、风险责任的承担
在履行本合同的过程中,确因在现有水平和条件下难以克服的技术困难,导致研究开发部分或全部失败所造成的损失,风险责任由甲方承担 %,乙方承担%。
本项目风险责任确认的方式:
十二、违约金或者损失赔偿额的计算
违反本合同约定,违约方应按照《中华人民共和国合同法》有关条款的规定承担违约责任。
(一)违反本合同第 条约定,方应承担以下违约责任:
(二)违反本合同第 条约定,方应承担以下违约责任:
十三、解决合同纠纷的方式
在履行本合同的过程中发生争议,双方当事人和解或调解不成,可采取仲裁或按司法程序解决(一)双方同意由 仲裁委员会仲裁。
(二)双方约定向(被告住所地、合同履行地、合同签订地、原告住所地、标的物所在地)人民法院起诉。
十四、名词和术语的解释
十五、其它
委托人(甲方)
名称(或姓名)
单位公章
年 月 日
法定代表人
委托人
联系(经办)人
通讯地址
邮政编码
电话
传真
开户银行
帐号
研究开发人员(乙方)
名称(或姓名)
单位公章
年 月 日
法定代表人
委托人
联系(经办)人
通讯地址
邮政编码
电话
传真
开户银行
帐号
数据库应用协议书
国家队信息化平台数据库软件设计与开发合同
一、引言
JavaEE(JavaEnterprise Edition)是由Sun公司在1999年提出的一个面向对象软件开发标准。JavaEE能够为用户提供一个与平台无关的、可移植的、支持并发访问的中间件标准[1]。JavaEE包含了大量的组件,这些组件覆盖了用户信息录入、逻辑业务加工、数据库操作等多个方面,覆盖了应用程序开发的各个架构层次,并且采用先进的国际标准,提高软件的兼容性,解决传统的软件开发不向后兼容、造成系统之间的通信中断等问题[2]。
二、 计算机软件设计架构技术
JavaEE采用中间件理念定义了一组先进的组件,在软件开发过程中采用先进的多层架构,可以将软件划分为四层,分别是客户端、显示逻辑、业务逻辑和数据库[3]。客户端主要包括浏览器Applet、Java桌面应用等组件;显示逻辑可以利用JSP组件实现表格单页排版、数据显示整合等功能;JavaBean组件可以实现数据库连接、插入、修改、删除和查询操作;数据库可以实现数据的保存、处理等功能。
2.1客户端和显示逻辑
客户端和显示逻辑位于JavaEE框架的最上层,其可以与用户进行直接接触,能够实现系统的逻辑业务输入和处理结果输出。浏览器Applet或Java桌面应用程序可以实现系统界面登录,利用页面上的表单接收信息,将信息发送至Tomcat服务器。Tomcat反馈的用户请求结果可以使用Web Format进行计算和处理,使表单更加完美和整洁,然后通过JSP组件调用关键的系统内容,为用户提供强大的支撑操作,这样系统的描述结果就会更加完美,帮助用户直接地、友好地查看系统处理结果。
2.2业务逻辑
业务逻辑可以使用Servlet组件实现用户请求信息解析计算,将其划分为两个组成内容,分别是逻辑业务内容和数据业务内容。数据业务处理需要利用JavaBean组件。业务逻辑处理完毕之后,可以使用Servlet组件实现处理结果整合、封装,将处理的结果反馈给客户端和显示逻辑。
2.3数据库
数据库可以有效接收系统的相关逻辑业务处理任务,并且可以实现Web服务器的业务解析管理功能以及SQL语句操作管理、关系代数语句操作管理功能,并且可以根据这些功能实现数据的插入、删除、修改、查询操作,能够将数据库的加工和处理信息反馈给业务逻辑,以便业务逻辑能够进行信息整合和处理。
三、计算机软件开发技术
3.1 Servlet技术
Servlet是Java服务器端的最小应用程序。程序员利用Java语言编写动态的JSP页面,利用Servlet实现页面和服务器之间的逻辑业务解析、封装,Servlet包含多个接口,这些接口包括数据交换接口、用户信息接口、逻辑业务加工接口。以用户登录软件执行过程为例描述Servlet处理过程:用户输入用户名和密码到表单之后,表单触发数据交换接口,把用户名称和密码发送到Web服务器,Web服务器实现逻辑业务加工和处理,将访问去掉的数据反馈给中间件平台,实现用户信息认证和管理,确保信息的加工和反馈成功。
3.2 JavaBean技术
为了提高应用软件数据操作的准确度和系统的可移植性,JavaEE采用Java程序设计语言开发了数据库访问组件JavaBean。JavaBean组件拥有强大的数据库连接和操作处理功能,其可以将所有的数据库关联操作封装到一个接口中,这个接口对于软件工程开发人员来讲是透明的,其不需要关注内部程序实现逻辑,因此这样就可以提高应用系统代码的准确性,并且便于系统的组件移植,明确展示系统数据库接口操作的参数资源,这样就可以解决重复性的简单劳动,将软件工程师的精力集中到应用系统架构设计、先进技术开发过程中,更好地提高应用系统的处理速度和性能。
四、结束语
随着面向对象软件开发技术的普及和发展,JavaEE可以为应用软件开发提供强大的框架和组件,利用JSP技术实现动态网页开发,采取JavaBean数据库访问技术增强数据操作功能,并且可以实现组件的重用性,进一步压缩软件开发周期,提高软件开发质量。
参 考 文 献
中图分类号:TP18文献标识码:A文章编号:1009-3044(2011)04-0753-04
The Development and Design of the Modeling Software for Soft Sensor
HOU Yan-song, XIE Gang, ZHANG Min, LIU Ya-ru
(Automation Research Institute of Lanzhou Petrochemical Company Petrochina, Lanzhou 730060, China)
Abstract: This paper designs a soft-sensing modeling software for chemical production process, Considering the complexity in the practical industry process, the software applies the linear regression modeling approach and the nonlinear neural network modeling approach to design the measurement software. Practice have been carried on the production process of Ethyl benzene and Starch content prediction, and the results show that the software can fulfill the function of trend prediction.
Key words: soft-sensor; neural network; software development
在工业实际中,产品质量控制是所有工业过程控制的核心。要对产品质量进行实时有效的控制,就必须及时准确的了解产品的质量参数,从而及时调整工艺参数和控制参数,以期获得良好的产品质量监测和控制。然而实际中,过程的质量参数通常是无法直接测量的,即使能够利用分析仪表测量,也存在较大的分析滞后[1],无法完全满足过程控制的需要。总的来说,我国石油化工行业现有的仪表设备很难实时的提供过程控制所需的质量参数信息。基于这种现实,更高一层的先进控制技术,过程优化技术,产品质量的监测管理等上层应用就受到了测量信息不足这一瓶颈问题的极大限制。在这种背景下,工业过程对过程检测的内容和时效性均提出了新的要求。一方面,仅获取流量、温度、压力、液位等常规过程参数的测量信息已不能满足工艺操作指导和质量控制的要求,迫切需要获取诸如成分、物性等与过程工艺操作和质量控制密切相关的检测参数的测量信息。另一方面,测量从静态或稳态向动态测量发展,在许多应用场合还需要综合运用所获得的各种过程测量信息,才能实现有效的过程控制、对生产过程或测量系统进行故障诊断、状态监测。近年来,作为以计算机技术为基础的软测量技术成为了解决上述工业控制瓶颈问题的有效途径之一,越来越受到关注[2-5]。
就苯乙烯、丙烯腈、乙烯及丁二烯抽提等化工装置而言,产品质量数据主要是产品的纯度。针对这一特点,本软件采用基于数据驱动的建模方法,并考虑到实际的工业过程对象复杂多变,软件采用了线性回归建模和非线性神经网络建模两种方法来设计软测量软件。最后,根据工艺机理,我们通过建立苯乙烯装置乙苯塔塔顶乙苯含量软测量数学模型,完成了对塔顶乙苯含量的准确预测。
1 乙苯含量软测量模型的建立
1.1 软测量
软测量的工作原理(见图1),就是在常规检测的基础上,利用辅助变量与主导变量的关系,通过软件计算 ,得到主导变量的测量值。软测量技术的核心是建立用来预测主导变量的可靠的软测量模型。初始软测量模型是对过程变量的历史数据进行辨识而来的。在应用过程中,软测量模型的参数和结构并不是一成不变的,随时间迁移工况和操作点可能发生改变,需要对它进行在线或离线修正,以得到更适合当前状况的软测量模型,提高模型的适合范围。因此,软测量结构可分为历史数据处理、离线建模、在线运行(包括校正)三大模块。
1.2 辅助变量的选择
通过对苯乙烯装置乙苯塔工艺机理研究,我们选择通过DCS收集的1000组过程参数作为建模样本集,300组过程数据作为校验样本集,运用统计学方法将样本数据中隐含的对象信息进行浓缩和提取,通过工程师的经验以及多元回归分析方法,寻找最优变量来建模,从而建立主导变量和辅助变量之间的数学模型,见表1。
2 软测量建模软件的实现
2.1 软件框架
选用微软VC++6.0开发环境[6],软件的整体设计采用面向对象的程序设计方法,考虑到软测量仪表本身侧重于数值计算和参数的频繁传递,因此选用基于对话框的应用程序框架。该软件框架结构简单,易于人机参数传递。从程序的角度来说,软件总共分四个主要模块:主对话框模块、算法模块、矩阵运算模块、图形编辑模块。如图2所示。
1)主对话框模块:即人机界面UI,提供基本的人机交流界面,以及数据文件操作。
2)算法模块:是整个软件的核心,包括了软件中所有的算法程序,并且留有扩充借口,可随时根据软件的升级增加新的算法。软件在调用算法时需要用户传递的参数和算法结果的返回利用子对话框来传递。该模块分为三个子模块:① 数据归一化模块:主要功能是对原始样本数据进行归一化处理;② 样本数据分析模块:主要功能是对辅助变量进行相关性分析和主元分析;③ 建模算法模块:偏最小二乘法建模、神经网络建模。
3)矩阵运算模块:主要功能是为算法模块提供必需的矩阵运算支持。软件中数据归一化、样本分析、建模的大多数算法在数学上表现为大量的矩阵运算,微软MFC基础类库并没有提供可以直接使用的矩阵运算类。为了使得建模算法代码更为简洁,易于修改。矩阵运算模块将常用的矩阵运算操作写成一个类――矩阵类,供算法程序调用。
4)图形编辑模块:主要功能是按照需要对工作空间中的数据进行曲线图形显示。作用是当离线建模完成后,需要对所建立的模型进行拟合试验,将试验结果以曲线的形式表现出来,软件允许用户自己设定坐标范围和图形标题。
2.2 偏最小二乘回归法
偏最小二乘回归是建立在主元分析原理上的化学计量学方法。它通过多元投影变换的方法,分析两个不同矩阵间的相互关系。在主元分析中,提取主元的过程只是强调了主元对辅助变量信息的最大综合能力,并没有考虑主导变量。偏最小二乘法不仅利用对系统中的数据进行分析和筛选的方式辨识系统中的信息和噪声,从而克服变量的多重线性相关性对建模的影响,而且在提取主元时还考虑主元和因变量的相关性,即主元对主导变量的解释作用。因此,偏最小二乘回归可以集多元线性回归,主元分析,典型相关分析的基本功能为一体。
该算法原理如下:
假设有两个数据矩阵X和Y,其中X∈Rn×m,Y∈Rn×1,X和Y之间的关系表示如下:
Y=Xβ+e (1)
式中:e表示残差;β表示自适应因子。
自适应因子β的估计值可以用最小二乘法得到,即:
(2)
如果数据矩阵X具有较强的相关性,则式(2)中存在病态矩阵的求逆,结果误差较大,而部分最小二乘法可以避免对病态矩阵求逆。其基本原理是将式(1)中的X和Y的关系分解为两个内部关系和一个外部关系:式(3)、(4)和(5)。
(3)
(4)
其中,矩阵T=[t1 t2 … tα],U=[u1 u2 …uα];分别称为X和Y的得分矩阵,而th和uh分别称为矩阵X和Y的第h主元。P=[p1 p2 … pα]和Q=[Q1 Q2 … Qα]称为荷载矩阵,U和T之间的关系表示如下:
(5)
式中:E、F、R为残差矩阵。
该算法将高维空间信息投影到由几个隐含变量组成的低维信息空间中,隐含变量包含了原始数据的重要信息,且隐含变量间是互相独立的。
2.3 神经网络法
基于人工神经网络(Artificial Neural Network,ANN)的软测量建模方法是近年来研究最多、发展很快和应用范围很广泛的一种软测量建模方法[7-8]。能适用于高度非线性和严重不确定性系统,因此它为解决复杂系统过程参数的软测量问题提供了一条有效途径。
化工装置产品含量预测建模通常处理的是非线性建模问题,而多层前向网络已被证明具有以任意精确度进行复杂非线性函数的拟合能力[7],因此选择前向网络结构。网络层数方面,除了网络必须包含的输入输出层外,对于化工装置产品含量预测这类软测量建模,问题的复杂程度一般要求隐层数目为1。因此,软件中采用包含一个隐含层的三层结构前馈网络。
确定好网络结构后,神经网络用于软测量建模实际上就是利用产品的历史数据经过一定的算法来确定网络的连接权值和阈值。BP算法是应用较早的学习算法,它充分利用了前向网络的结构优势,在正反传播过程中的每一层计算都是并行的。但BP算法存在两个缺点,即训练时间长和容易陷入局部最小。针对此缺陷,本软件在设计时采用了带动量因子的改进方法来加快网络训练速度。改进的BP神经网络的网络设置和参数设置如图3所示。
神经网络建模算法采用BP算法,算法不再是简单的矩阵操作。根据前馈神经网络的结构将神经网络用两个类来描述,即神经网络类和神经网络层类。经过处理后,主程序算法简洁,可读性强。如果要改进BP算法,代码的修改只需在类的方法中修改即可,不必修改主程序。神经网络类的设计和神经网络层类的设计主要代码如下:
神经网络类
属性:
输入层:CNeuralNetworkLayerInputLayer;
隐层: CNeuralNetworkLayerHiddenLayer;
输出层:CNeuralNetworkLayer OutputLayer;
方法:
void Initialize(int nNodesInput, int nNodesHidden, int nNodesOutput); // 初始化函数确定了三层网络的层次关系,有点类似构造函数
void SetInput(int i, double value); // 网络输入函数
double GetOutput(int i); // 网络输出函数
void SetDesiredOutput(int i, double value); // 设置网络期望输出函数
void LoadWeight(const CMatrix& I_H, const CMatrix& H_O, const CMatrix& H, const CMatrix& O); // 给网络加载权值和阈值
void FeedForward(void); // 前向计算函数
void BackPropagate(void);// 反向权值调整函数(标准的最速梯度下降法)
void Levenberg_Marquardt(void);// 反向权值调整函数(Levenberg_Marquardt法)
double CalculateError(void); // 计算网络全局误差函数
void SetLearningRate(double rate1,double rate2); // 设置学习效率
void SetLinearOutput(bool useLinear); // 是否线性输出
void SetMomentum(bool useMomentum, double factor); // 设置动量因素
神经网络层类
属性:
int NumberOfNodes; // 层中神经元数目
int NumberOfChildNodes; // 子层神经元数目
int NumberOfParentNodes; // 父层神经元数目
double**Weights; // 网络权值数组
double**WeightChanges; // 权值改变数组
double* NeuronValues; // 神经元值
double* DesiredValues; // 导师信号
double* Errors; // 局部误差
double* BiasWeights; // 偏差权值
double* BiasValues; // 偏差值
doubleLearningRate; // 学习效率
boolLinearOutput; // 是否线性输出
boolUseMomentum; // 是否有动量因素
doubleMomentumFactor; // 动力因素大小值
CNeuralNetworkLayer* ParentLayer; // 父层
CNeuralNetworkLayer* ChildLayer; // 子层
方法:
void Initialize(int NumberOfNodes, CNeuralNetworkLayer* parent, CNeuralNetworkLayer* child); // 初始化(分配存储空间)
void RandomizeWeights(void); // 权值初始化函数
void OrderWeights(const CMatrix& WeightsMatrix,const CMatrix& BiasWeightsMatrix); // 权值给定函数
void CalculateErrors(void); // 计算局部误差函数
void AdjustWeights(void); // 调整权值函数
void CalculateNeuronValues(void); // 计算神经元值函数
void CleanUp(void); // 清除网络层(有析构函数的作用)
2.4 软测量模型的在线校正
由于软测量对象的时变性、非线性及模型的不完整性等因素,必须经过模型的在线校正才能适应新工况。根据被估计变量的离线测量值与软测量估计值的误差,对软测量模型进行在线修正,使软测量仪表能跟踪系统特性的缓慢变化,提高静态自适应能力。一般采用在线校正算法为常数项修正法,即通过化验值或分析值计算新的偏差,并把新的偏差写入软测量仪表,修正偏差。即:
新偏差=(采样时刻计算值-化验值)×偏差权重+旧偏差×(1-偏差权重)
3 工业应用
乙苯含量是乙苯精馏塔塔釜采出产品中一个十分重要的质量控制指标[9],通过辅助变量塔顶压力、塔顶温度、塔灵敏板温度、回流量及塔釜温度来预测乙苯含量变化趋势。通过本软件进行仿真,乙苯含量软测量偏最小二乘建模数据拟合图如图4所示。其中,红线为实际值,绿线为拟合值。误差平方和:0.765762856683714,均方误差:0.0033294037247118。
针对某装置淀粉含量预测问题选择神经网络方法进行仿真研究,均方误差:9.14971253690028e-009;拟合曲线:红线为化验值,绿线为拟合值。淀粉含量软测量神经网络建模数据拟合图如图5所示。
4 结束语
本文采用了微软基础类库(MFC)提供的基于对话框的应用程序框架实现了软测量建模软件的开发。软件主要是从数学的角度分别研究了线性和非线性软测量建模算法,重点强调了建模算法对给定历史数据的拟合和泛化能力。在具体的应用中,根据工艺知识对软测量问题进行初步数学抽象,然后以本软件作为一种工具建模,辅以必要的工艺机理分析检验模型的合理性。通过对实际中两个化工过程进行的仿真表明,该软件基本具备了软测量建模预测产品含量变化趋势的能力,可以得到较好的效果。
参考文献:
[1] 王树青.先进控制技术及应用[M].北京:化学工业出版社,2005.
[2] Morris A J,Montague G A,Tham M T.Soft-sensors in industrial process control[C].London,UK:Applied developments in process control,1989.
[3] 王跃宣.先进控制策略与软件实现及应用研究[D].杭州:浙江大学,2003.
[4] 俞金寿.软测量技术及其在石油化工中的应用[M].北京:化学工业出版社,2000.
[5] 马勇,黄德先,金以慧.动态软测量建模方法初探[J].化工学报,2005,56(8):1516-1519.
[6] 侯俊杰.深入浅出MFC[M].2版.武汉:华中科技大学出版社,2001.
【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2009)07―0049―03
当前国内的论著和教材中提出的教学软件设计与开发模式大体可以归为两类。一类是对教学系统设计模式修改而来的,如对ADDE模式的修改;另一类是在软件工程的线性开发模型中插入教学设计环节的,例如“项目定义教学设计系统设计脚本编写素材准备软件编辑试用评价产品出版”。这两类模式都忽略了教学设计与软件工程的内在联系,不能很好地指导教学软件开发。
教学软件既是一种教学材料,又是一类应用软件。作为教学材料,属于教学系统设计的对象,作为应用软件,是软件工程的产品。 因此教学软件开发过程中有两条并行交叉的过程。本文在分析开发过程的基础上,提出两者结合的开发模式。
一 教学软件开发过程分析
1 教学材料的系统设计
在教学系统设计中,教学材料的开发是放在整个系统中考虑的,是一系列的相关分析和决策的结果。
教学系统设计有多种模式。图1所示的是美国学者迪克(Walter Dick)和凯里(Lou Carey,James O. Carey)提出的模式,这个模式有广泛的应用。
对于整个设计过程,可以分为两个阶段,即分析阶段和决策阶段。分析阶段的结果是编写出绩效目标。以绩效目标为依据,设计者开始做出的决策,形成如下的设计文件:
评价学习的试题和量表;
教学内容和活动的顺序与组织方案;
教学材料和教师手册的初稿;
对教学和教学材料的形成性评价方案;
对教学和教学材料的总结性评价方案。
2 教学软件产品的开发
教学软件产品的开发要遵循软件工程的规律。软件工程是“采用工程化的原理与方法对软件进行计划、开发和维护。” 目的是提高软件开发的效率和可靠性。软件开发的基本模型如图2。
这样的线性过程不适合于教学软件开发。首先这种模型是以编写程序代码为中心的,而教学软件除了程序代码,还有大量的媒体元素,如图像、动画、音频、视频等。这些元素的制作是与程序编写并行或交叉进行的,该模型反映不出媒体制作的工作过程。其次是在教学软件设计的初期,由于教学本身的复杂性,设计者不可能完全确定设计的细节,不可能在分析阶段解决所有的分析问题,经常需要在开发过程中修改他们的设计,该模型没有考虑到开发过程中的不确定性。
在对软件开发模型改进的过程中,人们提出了快速原形法、增量模型、螺旋模型等,这些模型的共同特点是把软件开发看作多次循环改进的过程,在多个循环过程中有多次的评估和修改,或是从软件的核心逐步丰富。图3示意了原型法与螺旋模型结合。无论是哪种模型,都有软件开发的基本步骤:分析、设计、开发、测试。
3 教学系统设计与软件开发模型的结合
教学软件与管理软件、工具软件等功能性商用软件最显著的不同,是不能用“功能”来衡量。例如一个文字处理软件,如果测试者能够用软件录入文字,实现任何格式的排版就表明该软件的功能实现了,而教学软件无论运行多么流畅,严格地讲都不能说它具有了功能,因为教学软件的作用效果,不是自身表现出来的,这是具有不确定性的。因此对教学软件,开发是否成功要看教学性,而不是“功能”,而教学性要靠教学系统设计来保证。
无论是从教学系统设计的角度,还是从软件工程的角度,教学软件开发过程都可以分为两个阶段,一个是设计阶段,一个是开发阶段。两个阶段之间有反复调整修改的环节。教学系统设计的理论和方法,主要应用在设计阶段,以实现软件的教学性,为开发提供蓝图。软件工程的思想和方法,贯穿整个设计和开发过程,但重点是开发阶段的组织与管理,以实现软件的技术性能。一个好的教学软件开发模式,应该以教学系统设计为基础,结合软件工程的思想和方法。对这种结合可以用图4示意。该图的内圈表示教学设计过程,外圈表示软件开发过程,两个过程是同时启动同步进行的,交织成一个软件开发循环周期,但是在各个阶段两者的重要程度和工作任务的分量不同。
二 教学软件开发模式描述
1 模式的构成
该模式是借鉴美国学者Stephen M. Alessi和Stanley R. Trollip提出的模式,结合国内实际情况和我们的工作经验提出来的,见图5。
这个模式在整体上是软件开发的螺旋模型中的一个周期,也可以看作增量模型的一个构件的实现过程,这取决与软件开发的任务和条件。这个模式具有一定的普遍性,适合教学软件专业开发,也可供学校的教育技术人员和各科教师制作课件参考。
设计与开发模式有三个要素和三个阶段。三个要素是标准、评价和管理,三个阶段是计划、设计与开发。三个要素始终与三个阶段相互作用,是指在制作的全过程中都要注意,是全过程的活动原则,保证项目的成功。计划和设计两个阶段用环形表示阶段内部有反复的修改,开发阶段用竖的框架表示多项工作可能会并行或交叉开展。
这个模式涉及到开发者和用户两个方面,开发者包括教学设计人员、教学与培训专业人员、媒体素材制作人员和美工人员、程序编写和测试人员、项目管理人员等。在专业开发中,用户是指接收产品的客户,如学校、培训机构或出版商。在学校或培训机构内部开发时,用户是指使用软件的教学者,通常是教师。
2 模式的特点
(1) 基于标准的过程
从项目一开始,开发者与用户等共同明确软件最终产品所有方面的一致的标准,每个开发人员都知道应该怎么做,始终坚持确定了的标准。
(2) 实证的方式
全过程是初步设想、评价、修改的反复循环,直到最后完善。在计划和设计阶段需要完成两个原型,体现了原型法的思想。软件开发虽然有理论指导,但是最保险的还是不断地试验修改,直到合适为止。在全过程中坚持按标准评价,既不拔高也不降低。
(3) 全过程管理
软件开发中有一种现象是偏离原定方案,到了最后又耗费时间、人力和财物进行修改。好的项目管理能保证方案实施,坚持既定标准。
(4) 重视决策阶段
该模式中把计划与设计分为两个阶段,在全过程中花费较多的时间,意图是制作人员多花一些时间讨论,提出初步设想,做出正确决策,然后进行技术实现。这样不仅能少走弯路,提高工作效率,更重要的是能开发出体现教学设计魅力的软件,而不是炫耀技术水平和艺术效果的展品。
(5)倡导集体协作
全过程贯穿了集体协作的工作方式。首先是因为设计与开发所需要的技能与知识不是一个人能全部具备的,决策需要集思广益,需要有各方面专长的人合作;其次是协作方式能够在参与者共同监督下,保证原定的标准与方案。
3 模式的要素
(1) 标准
标准是一个好的项目的起点和基础,规定了开发人员持续努力所要达到的质量。在典型的情况下,一套标准来自两个方面。第一,是由开发人员提出来的,开发人员都应知道质量标准,并且在全过程中遵守;第二,是由客户或教学人员提出来的,往往比较具体,例如规定了总体印象、内容详细的程度、字体、颜色等等。来自两方面的标准一般是不会冲突的,能够协调为一套标准。
(2) 评价
标准只有在软件开发中坚持才有用,这就要求对所做的每一件事进行评价,每个人员也必须执行标准,以标准来衡量自己所做的工作。如果等到项目接近完成时,才来看是否应用了标准,既不现实,也没有用处。
进行全程评价关系着项目的质量,通过设计与开发过程中反复的设想、试验、评价、修改,使每一步工作都符合质量,则最终的产品才能具有高质量。
(3) 管理
成功与不成功的项目的差别很大程度上在于管理。对整个软件开发项目的资源、经费、时间等要从始到终严格控制,进行的良好管理,否则项目容易偏离预定计划和标准。加强项目管理,首先是要制定好计划,其次是要做好监控工作,最后是要保持项目组成员之间以及与用户之间的交流和沟通。
4 模式的阶段
(1) 计划阶段
计划阶段奠定多媒体教学软件开发项目的基础,形成总体设想,以保证项目各方面顺利进行。
计划阶段应确定项目的目的,也就是学习者完成软件学习后应掌握的知识、技能及应形成的能力、态度等。目的的确定涉及到教学内容范围,学习者的起点知识技能,以及一般特点。明确工作的限制条件也是必要的,例如运行软件的计算机环境,用户对信息呈现的特殊要求、软件内容的指定范围等。
计划还包括收集资料,明确所需要的资料是否都能得到,能否改编或自制,如果有些资料不可能解决,决定是否需要改变软件的内容。计划阶段应开展头脑风暴活动,项目组成员共同讨论,形成对软件的内容、结构、外观、风格等方面的初步设想,用原型或文字描述出来。在这一阶段需要频繁地与用户沟通,应编制一些文件,包括项目说明、计划书、项目标准等,使项目管理有章可循,并得到用户认可。
(2) 设计阶段
设计阶段进行软件的教学内容的组织,明确软件的教学目标,形成对软件的具体描述,为技术实现提供指南。
设计是软件开发的核心阶段,时间用得最多。在这一阶段,要综合应用教学理论,使用控制与交互的各种方法,体现信息呈现的要求。在设计过程中,制作人员之间,以及制作人员与用户之间,要继续交流,对软件最终的样式达成共识,完成原型和设计文件。
(3) 开发阶段
开发阶段使设计的结果最终转化为实际的产品。
这一阶段要运用各种技术手段,包括硬件设备和工具软件,利用和改编现有资料,制作文本、图像等多媒体素材,用编程或创作软件集成软件,经过多种不同水平的测试和试用后,最终完成软件。并且安排软件的总结性评价。
在开发阶段,素材制作、软件编程、手册编写等多项工作往往是并行或交叉开展的,素材创作和程序编写人员是工作的主体,但设计人员和用户仍以不同的角色参与制作过程,同时又在动用所有的技术资源,因此组织管理和质量控制十分重要。
参考文献
中图分类号:TP311.52 文献标识码:A
0引言
当今这个科学技术高度进步的时期,计算机是发展和使用是实现现代化的一种重要方式和手段。计算机的功能实现通过的是一种抽象的语言,基于数学的逻辑,计算机的软件实现平台组织逻辑的语言,通过开发设计者的设计,根据要实现的某种特定的功能来采用有差异的逻辑思路。现阶段,常用的计算机语言主要包括:C语言和面向对象语言。两者是目前阶段,在软件的设计和使用过程中比较普遍的两种计算机语言,两者在逻辑上有一定的互通性,但又不完全相同,还存在一定的差异。计算机软件的开放设计,实际上是将逻辑开放,较之原来的逻辑有更广泛的适用性,可以更加灵活的适用于不同的行业之中,这样也加强了计算机软件的使用。计算机的技术的实现依托的是计算机语言的逻辑编码和软件的跨平台的应用,对计算机语言的逻辑的开放和软件的开放设计,可以设计出更多的适用性强的软件,满足计算机的多领域的使用需求。综上,计算机语言的逻辑开发和软件的开放设计不仅对于计算机的发展来说起到很大的作用,就是在整个技术领域,都是一个重要的发展里程碑,是值得努力做好的事件。
1逻辑语言的特点
逻辑语言本来是一种数学中的语言,是为了解决数学的问题而存在的。计算机语言也是一种逻辑的语言,并且逻辑语言在计算机中的使用也促进了逻辑语言的发展,可以说,逻辑语言与计算机的关系是相互依赖的,而且二者在相互依赖中相互促进、共同发展。逻辑语言由于发展与数学这样一门非常严谨的学科之上,所以逻辑语言有着非常强的严谨性,逻辑语言可以有效地把信息转化为数学上可以理解的语言,以及计算机可以识别的指令,是一种非常灵活而且在执行过程中非常准确严谨的语言。逻辑语言具有普遍性,可以对所有的问题,进行逻辑语言的描述,在计算机的使用和运行过程中,起到最大作用的就是逻辑语言,根据实际情况来看,计算机在执行每一个具体的程序时,都可以将之转化为数学的模型,最终可以使用逻辑的语言对程序进行详细的描述,最终得以实现计算机语言执行操作程序目的。
2计算机语言的逻辑开发
计算机语言目前较为常见的两种是C语言和面向对象语言。C语言是一种在高级语言的基础之上发展起来的一种,兼顾了汇编语言和高级语言两种语言程序,是一种面向过程的语言;面向对象语言程序是目前应用比较普遍的一种新的技术手段,事实证明,使用的效果与以往的相比还是有一定的优势的,这也是得以发展的重要原因之一,面向对象语言程序是目前计算机领域关注的重点,也是软件开发的主流应用元素。而且面向对象的技术应用超过程序的设计和软件的本身,在技术的领域是有一定的竞争力和重大作用的。下文就简单的介绍这两种语言的逻辑开发。
2.1计算机面向程序语言的逻辑开发
面向程序语言主要包括三部分:数据、函数和方法,这三个因素缺一不可,是一种相辅相成的关系,都是在程序的开发过程中必需的。其中数据,被认为是面向程序语言的基本组成单位,整个程序的开发过程中会涉及多个数据单位;而函数,被认为是这个程序设计的核心,函数本来就是觉得数据之间的关系的一种元素,那么在程序的设计中也是这样的,函数是整个数据连串起来的中心,是程序设计的核心,有了函数,数据才有存在的依托。而方法则是函数与数据之间的关系,如何在数据和函数之间建立必要的关系,就是程序的方法,方法是联系其他两个要素的链接纽带。在程序的设计过程中,必要的基础单位数据时必不可少的,是构成程序的元件,函数是核心的物件,只有有函数才知道数据与数据之间的关系是怎么样发挥作用的,而方法又是函数与数据之间的关系连接,是决定在数据之间采用什么样的函数关系来完成程序的设计的开发。由此可见,面向对象程序的设计过程中的三种元素是相辅相成,不可或缺的。
2.2计算机面向对象程序语言的逻辑开发
这一语言,主要的特点就是面向对象,首先创建类,然后在类之下,创建类的具体对象。利用封装的形式,把有关数据和方法进行封装处理,然后定义对象,最终达到只要对对象就行处理就可以调用的模式。通过创建基类,把原始数据和数据方法进行封装,基础类包括面向对象语言的继承性描述了对象之间的关系,对象之间的差异和相同性都可以表现出来。程序的多态性是为同一种技术方法提供多个不同的展现版本。封装性和继承性是面向对象程序设计的主要特点,正是因为有这样的特点,保证了面向对象的技术可以应用于大规模程序的编写。
2.3面向过程程序和面向对象程序的对比分析
面向ο蟪绦蛴镅陨杓频谋喑毯兔嫦蚬程语言的编程有相同之处,而且面向对象程序语言设计的编程在一定程度上兼顾了面向过程语言的一些功能和特点,并在此基础上有了一定的发展。面向对象程序语言可以理解为一种高级的汇编语言,它的很多特性都成为了计算机程序涉及语言中具有特色的编程模式的借鉴。面向对象语言通过最基础的对类的定义和对对象的分裂,更加明确了基础单位的定义,在内容方面更加明确具体,在资源的使用方面,更加的有效,这些角度来考虑,面向对象语言都优于面向过程的语言。所以,面向对象程序设计语言,优于其对资源的利用和对单位的定义,更适合用于大程序大规模的代码的设计。这也只是一个大致的参考的一句,具体在实践的过程汇总,设计软件时,还应该按照具体问题具体分析的原则,根据实际的需要来分析二者之间的差异,进行必要的选择。
3软件开放设计应用的研究
计算机语言在整个发展阶段,经历了很多种语言的形式,既然在发展的过程汇总,有了很大的变化,那么就说明曾经的方法在适应时代的过程汇总存在一定的缺陷,有一些不尽如人意的地方,在后期的发展变化中出现了新的可以替代的语言形式。软件开放设计是建立在完整设计好使用软件的基础之上的,那么在软件的设计过程中,有很多需要探讨的问题,下文就计算机语言的差异、设计软件时计算机语言的选择等方面做以简单的介绍。
3.1应用计算机语言的差别
计算机功能的实现是以计算机语言的的识别为基础的,计算机语言的识别的操作实现了计算机对程序的运行和操作,不同的语言实现了不同的功能,逻辑实现计算机语言就是计算机系统的有效运行基础和保证。比如,编辑游戏软件可以使用Java语言,专门用于游戏软件的设计和运行;面向对象语言主要是应用于大规模的应用软件的设计,将基础的对象元素按照类进行分别,将不同的对象进行封装,类与类之间通过继承的关系联系在一起,最终实现大规模软件的技术应用。针对于设计类型不同、功能有差异的软件,使用的计算机语言是有一定的差别的,不仅仅是稳重的例子,其实在具体的操作过程中,还是有很多具体的影响因素,虽然说软件的差别只是一个因素,但是也是非常重要的一个因素。
3.2计算机软件的开放设计
计算机软件的开放设计,实际上就是把原本应用于不同领域的应用设计的程序和计算机语言,对之进行需求的分析设计,从而对新的软件编程有一定的思路,进而涉及编写软件程序的流程图,最终按照事先设计好的流程图对软件进行具体的设计操作,得到可以满足目的的软件设计。软件设计流程图,是可以明确的分析出软件设计的不同阶段的,同时还可以体现出系统不同阶段的需求,根据这一流程图设计软件,可以在很大程度上提高软件的适用性。目前,PHP是主流的开放式语言,主要是用于现阶段网页的设计,主要应用于此。一般的网页,比如论坛的网页,都是开放性行对比较高的,而且代码也已经开放,从而可以实现源代码流。有一些可以理解的使用者,也可以根据开放的代码,和自己的储备知识,对源代码进行逻辑的分析,可以修改部门的逻辑功能,进而实现高效率的转译和使用。开源代码的出现,在很大程度上让更多的应用软件实现了高效率的编译,提高了使用和代码编译的效率。
3.3计算机语言的选择
在涉及件的过程中,涉及到一个比较重要的环节,那就是计算机语言的选择,选择什么样的计算机语言涉及软件,是整个程序设计的重要环节之一。有很多种计算机的语言,那么如何根据所要设计的软件的需求,科学合理的选择计算机语言的应用种类,就是一个可以在很大程度上影响后期工作质量和工作效率的问题。在当今这个科学技术比较发达的时期,可以说大部分软件的开发,很多高端软件的开发都会选择面向对象语言程序进行设计和开发,与此同时,相对低端的软件就会选择领单片机。至于单片机,他的内部程序相对而言是比较简单的,简单的通过基本的逻辑结构进行指令的设定。计算机软件开发的开放设计,需要把计算机的语言作为基础条件来进行,然后根据软件在不同领域的具体应用,有针对性的进行设计和开发。
4总结
综上所述,通过对两种主流的计算机语言的对比研究,分析发现了二者的多方面的区别,以及在设计开发软件的过程中的差异,了解了计算机语言的逻辑开发主要是要经过计算机的基础平台设计,从而根据平台的差异实现了代码的逻辑差异和区别。上文中,软件的开放式设计研究,首先需要经过对软件需要实现的功能的差异性进行分析,对软件的具体应用领域进行针对性的需求分析,从而按照要求制定科学合理的设计流程图,在做到尽量全面的了解软件的功能和用途的基础之上,实现应用开放软件的高效率的开发设计。
参考文献
[1] 张丽.逻辑语言在计算机软件开发中的应用[J].无线互联科技,2016,(18):51-52.
[2] 刘飒.语言逻辑下的计算机软件开放设计探讨[J].电子测试,2016,(05):90+44.
[3] 耿丽娟.基于语言逻辑的计算机软件开放设计[J].电子技术与软件工程,2016(08):66.
[4] 董毅.逻辑语言在计算机软件开发中的应用探讨[J].信息通信,2016(03):177-178.
1 多媒体教学软件的设计思路
1.1 对教学目标进行准确分析
在进行多媒体教学软件开发之前首先要做的工作就是要对教学目标进行准确的分析,编写出高质量的脚本以适合计算机运行,还需要调动学生的学习积极性。需要指出的是在进行教学目标分析时,应该把计算机科学知识和文化知识作为主体来传授给学生,不仅丰富了课堂教学内容,而且也能将教学方式和教学内容合理的联系在一起。
1.2 多媒体教学软件的内容要精挑细选
由于多媒体软件教学是一种开放式的教学方式,教材内容可以说是五花八门。但是作为教学软件其本身具有一定的系统性,内容要精挑细选,教学内容的编排是否合理都会对教学成果有非常大的影响。在传统教学模式中可以发现,老师作为教学的主体,学生被动的接受教学内容。无论什么课程,一本好的教学参考书不仅能够减轻老师的负担,更重要的是让学生的学习效果有所提升。然而对多媒体教学来说就更是如此了,优质的教学内容能够激发学生的学习兴趣,对整体教学质量都有很大的帮助。
1.3 多媒体软件教学内容的提炼和升华
从计算机软件设计和开发的角度来看,教学软件的设计和开发与其他软件的设计和开发区别不大,但是重要的一点就是教学软件的开发目标是利用多媒体技术去实现预期的教学目标,提高教学质量。多媒体软件教学的内容主要由任务性内容和概念性内容组成,任务性内容一般是把几个相关的概念联系在一起,注重的是对概念的理解;概念性内容主要是对概念进行深刻阐述。无论对于哪种教学内容,老师都需要对教学内容进行提炼,不能像传统教学模式中单一的向学生灌输文本、图形等教学信息,而是结合计算机将提炼的教学内容生动形象的传授给学生。一个善于提炼教学内容的老师将直接影响到教学成效。
1.4 教学模式的合理选择
对教学目标进行合理分析,然后结合多媒体教学内容选择相应的课堂教学模式,对不同学科可以采用不同的教学模式。大体上可以分为游戏型、问题解答型、探索型与演讲型,合理的选择教学模式将会对教学效果产生直接的影响。
1.5 课件的设计和编写
完成教学目标分析和教学内容挑选后,最重要的一步就是课件的设计和编写。要实现教学目标首先要完成的就是课件的设计,但是课件的设计又离不开教学内容、教学模式等因素。对于这些课件的编写要由资深专业的老师去完成。他们需要将教学内容进行合理的划分,把划分后每个单元中的知识内容合理组织起来,然后试图决定采用什么样的教学模式进行教学,用逻辑屏幕将每个单元中的知识点进行统计,详细编写出每个知识点在屏幕中所表达的内容,再将原始的图形进行编辑制作。
对于课件的设计和编写要遵循一定的原则,首先要能够吸引老师和学生,激发学生学习的兴趣;要能简洁明了的阐释教学内容和教学目标,在教学过程中逐一的突出重点和难点;能够充分发挥学生的能动性,主动提问,及时向老师反馈学习过程中遇到的困难;教学软件的界面操作要简单话,能够给人一种亲切感,学生随时可以从中搜索到想学习的内容;最后要充分利用屏幕的空间对教学信息进行合理的布局,突出重点。
2 多媒体教学软件设计和开发过程中存在的一些问题分析
2.1 教学软件的内容选取非常草率
对市场大量的教学软件进行调查后发现,很多教学软件内容过于肤浅,彼此之间相互抄袭,内容选取也非常的草率,甚至偏离了教学的目标。尽管多媒体教学软件能够将教学内容生动形象的展示给学生,老师和学生也表示非常愿意接受这种新的教学方式,但是对于教学软件内容的选取也是考核一个老师是否专心研究教学内容。多媒体教学软件相比较传统教学来说是一个新事物,很多人盲目的去开发一些多媒体课件,几乎不考虑所选内容适不适合多媒体,造成了市场上有大量的互相抄袭的重复多媒体课件。
课件的好坏一种最重要的决定因素就是选题了,选择合适的题材内容且适合多媒体形式来展示教学内容是制作高质量的课件的前提,在选题的时候要充分利用多媒体的优势,去解决在传统教学模式课堂上难以解决的一些问题。在制作课件之前一定要对教学目标进行分析,草率的选取教学内容将会极大影响教学质量,所以,要把选题教学软件设计开发的首要任务。
2.2 教学设计没有受到重视,脚本编写易出现一些问题
教学设计是整个设计开发过程中的核心,是连接理论教学和实践教学的中间桥梁。教学设计的最终目的是为了合理的规划教学活动、给学生们提供最后的学习氛围并让他们获得最佳的学习效果。教学设计主要体现在课件的框架结构上,所以教学设计是制作出高质量教学软件的重要步骤。然而在实际设计开发过程中,这个中间桥梁没有受到高度重视,可能是专业人员的疏忽,最终无法得到最佳的设计方案。
在实际编写脚本的过程中需要注意一些问题:首先是把模块设计和结构设计分工做好,为后期的工作做好准备,提高开发效率,减少不必要的重复性工作;其次是把局部设计和总体设计相统一,学习者能够借助多媒体进行自我学习;最后需要注意的是要创建一个良好的用户界面,这就好比一闪美丽的窗户,是学习者能不能获得最佳视觉效果和视听效果的关键因素。
2.3 多媒体教学软件的评价体系不完善
4结语
随着交互式多媒体软件应用的日益广泛,交互式多媒体软件的界面将更加追求个性化设计,如信息呈现方式的多样化、人机交互的艺术化。与此同时,交互式多媒体软件的设计理念和交互理论的运用也将更为成熟,创作和开发工具也将呈现多样化的趋势。总之,随着交互式多媒体技术的日益成熟,交互式多媒体软件必将更为完善,更能满足用户的个性化需求。
参考文献:
[1]邓永坚.MAYA光与材质的视觉艺术[M].北京:人民邮电出版社,2008.
Key words: energy consumption data; communication protocols; data service center
1概述
伴随着计算机的广泛应用和各种新型智能仪表的出现,作为连接计算机与外围各种数据源进行数据交换的纽带的数据采集上位机软件的作用更加的明显和重要。本文所设计与实现的数据采集软件主要应用于企业能耗领域,企业能耗采集需要涉及各种不同类型的企业,每一个企业的用能可能涉及水、煤、气(汽)、电、油、热等不同能源[1],每一种能源的计量仪表也是各式各样,不同仪表厂家的仪表通信协议也是多种多样,因此,要采集这些不同企业的耗能数据需要设计开发一套能够同时接入多种不同能耗计量仪表的数据采集上位机软件。
2系统方案设计与原理
整个数据采集系统由数据源模块,数据传输模块,数据采集模块,数据存储模块组成。其中,数据源模块指各企业安装配备的各种能耗计量仪表;数据传输模块指连接数据源与数据采集模块进行数据交换的各种设备;数据采集模块指数据采集上位机软件,这也是本文介绍的重点内容;数据存储模块指存储各种配置参数,采集得到的各种能耗数据的数据库。
2.1数据传输网络
企业能耗数据的采集涉及多个企业,每个企业之间分布都比较的分散,有的地处繁华都市,有的则地处偏远的矿山。因此,要想实现能耗数据的采集就必须有一套可靠的数据传输方式。
在设计数据传输结构的时候,根据数据采集点网络环境多样化的特点,数据传输的方式也必须是多样化的。在具备条件使用有线网络的地方优先使用有线方式;不具备走有线网络,但是具有移动、联通等移动网络信号的地方使用GPRS或者CDMA无线DTU作为数据传输设备;在没有网络的地方则考虑使用电台或者Zigbee无线通信模块作为数传设备。不论采用上述任何一种数据传输方式,最终都将数据传输到数据中心的指定端口,然后上位机软件再接收处理。
2.2数据采集上位机软件设计
通过企业能耗数据采集上位机软件实时接收企业能耗数据,解析后存储并定时转发至能耗数据处理平台中。在上位机软件中要求可以对企业的基本信息(包括:企业编号、企业名称、企业验证码等)和企业设备的基本信息(包括:设备代码、设备名称、能源类型、数据类型(累计值或瞬时值)、驱动名称、地址、卡号等)进行增、删、改、查的维护;可以实时查看数据接收情况;可以对未转发和已转发的数据进行查询(按单位、设备和时间过滤);对软件使用用户信息(包括:用户名、姓名、密码等)进行新增、修改删除和查询;对所有的关键操作、运行报错进行日志记录(每天一个日志文件),并定期清理日志文件。要求一般情况下软件最小化至任务栏右下角;登录验证成功才能启动,确认后才可退出。由此可知,整个上位机系统主要包含以下功能模块:登录模块、指令解析模块、数据查询模块、参数设置模块、用户管理模块、日志文件管理模块、系统最小化模块、系统退出模块。
由于在本软件中无线数传DTU设备作为主要的数据采集传输装置,直接TCP/IP或者电台连接进行数据传输都是作为DTU传输模式的补充,因此,现以DTU为例简要说明上位机软件的各个功能模块及工作流程。
2.3数据采集上位机软件实现
企业能耗数据采集上位机软件作为一个数据采集服务中心(Data Service Center,以下简称能耗数据采集DSC)主要是用于接收终端仪表设备数据和向终端仪表发送取数指令数据的服务软件,包括服务的启动、监听指定的服务端口、数据发送、数据接收、指令数据解析、关闭服务等。
2.3.1启动和停止服务
1)启动服务
成功启动数据服务后,DSC开始侦听在指定端口,准备接受来自于DTU设备的数据包,并根据情况判断是DTU上线数据包还是终端仪表上传数据包,若是DTU上线数据包则跟新DTU用户列表,若是终端仪表上传数据包则根据注册的数据解析驱动对数据包进行解析。以下为启动服务的关键代码:
根据接收到的数据包判断其是设备上线包还是正常数据包,若是上线包则进行用户列表维护,若是数据包,则根据设备注册时的数据解析驱动进行数据解析,然后将解析结果存入数据库中。以下是数据解析部分的关键代码:
2.3参数设置
随着我国科技的迅猛发展,C语言、C++语言、JAVA语言等成为当下主流的编 程语言,而在这些主流语言中,C++语言由于其具有较高的编程速度,从而使用频率和次数比较多。然而C++语言在具体的编程过程还存在一些缺陷,对开发某些跨平台软件造成困难,因此,C++语言下的跨平台软件开发设计研究成为当下软件开发行业的热点。本文研究基于C++语言下的跨平台软件开发设计具有较大的现实意义及经济价值。
一、跨平台开发
1.1 跨平台概念
跨平台对操作系统及硬件环境均无依赖性。如果一个在特定的操作系统中开发和设计的应用程序,把它放在另一个操作系统中也能保持正常性的运行,即为跨平台需求[1-2]。
1.2 跨平台软件开发环境
开发环境的组成部分分别为程序编译器、软件编辑器及程序调试器,Sandbox软件能够实现代码编译及调试,在Sandbox软件的内部针对不同的平台有着与之相对应的依赖库及代码库,并且存在开发程序中的各种源代码[3]。
二、C++语言的跨平台软件开发设计
由于语言具有可移植性,而操作系统接口不同及不同平台下语言特性差异,使得C++语言跨平台软件设计时需要关注更多问题,本文对相关问题进行详细阐述,如下:
2.1 实现动态处理
软件开发过程中,需要编写出在不同环境中均能够达到运行效果的可移植代码库,并对实际项目开发中所遇到的具体问题进行避免及处理,进而实现动态处理[4]。
2.2使用脚本文件进行管理
在++语言跨平台软件开发过程中,需对脚本文件进行管理,使软件结构的设计更为合理,则在开发时要注意在编译之前使用脚本文件将跟平台相关的数据库和文件分隔开。在运行应用程序的过程中,调出配置文件中程序读取时使用的相关配置选项,从而读取里面的程序。因此,要充分确保分离与平台相关联的文件。
2.3 使用安全的数据串行化
现如今,最常见的C++语言的跨平台设计核心问题之一是如何使用有效、安全的方式去加载和存储,保证跨平台数据存储可靠性及安全性。C++语言下的跨平台软件在综合性处理目标平台和单个编译器时,可以借助软件的fwrite()/ fread()指令[5]。但是,实际跨平台环境中,不同平台之间存在差异,因此在实际处理过程中导致结果多样性的特征。
三、C++语言跨平台开发中的编译和测试
在进行基于C++语言下的跨平台开发设计编译和测试过程中,对编译和测试注重科学化。实际进行跨平台软件开发时,将涉及到许多修改和编写的代码,这些相关联的代码在使用过程中也许在相当长的一段时间内不能在其他不同的平台进行检测,从而增长了bug的潜藏时间。因此,将软件开发在各种各样不同平台下进行测试至关重要。
四、C++语言跨平台软件开发实现
下图1为主要实现流程:
上图1对跨平台软件开发的设计流程思路进行说明,结合理论知识成功完成C++语言跨平台的设计。
五、结语
基于C++语言跨平台开发方式的迅猛发展,在具体项目的设计与开发上,想要一步实现多种设备中执行代码通用异常困难,因此,需要我们积极总结他人开发经验,找出自身优势与不足。本文研究C++语言的跨平台设计,使用C++程序设计语言支持跨平台软件开发,不同的开发人员及软件工程师进行操作,可以得出许多不同的新功能,因此,基于C++程序设计语言下的跨平台软件设计在现代化软件市场中有着巨大的市场潜力。
参 考 文 献
[1]张驰.基于C++语言的跨平台软件开发的设计与实现[D].北京交通大学,2010.
[2]张晓孪,王西锋. C++语言编程技术的分析和研究[J].电脑知识与技术,2010,6(12):3282-3284.
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)34-0117-02
1招投标系统设计的需求及其实现的目标分析
1.1系统需求
本文所提出的系统是一个以Web为平台的建设项目招投标业务流程管理系统,它的具体作用是系统能够将建设项目中与招投标工作有关的各方联系起来,如甲方(建设方)、业务主管单位、招标机构、投标方、专家评委等,借助互联网的强大技术优势,构建起一个具备网上招投标功能的信息综合平台,该系统的主要需求体现在以下几个方面:一是该系统在开发设计阶段,需要采用目前较为先进且具有代表性的主流软件开发技术,开发出来的系统必须具备良好的可扩展性、可升级性以及可移植性,以此来确保系统的推广应用;二是该系统中可能会涉及一些商业机密,所以要求系统必须具有完善的安全解决方案,可以有效避免各种木马病毒、非法入侵等影响信息的安全性。同时,为进一步提高系统的使用安全,应具备身份认证和公开秘钥密码体制等功能;三是该系统应当具备数据备份与恢复功能,以及灵活方便的维护功能,从而保证系统的安全、稳定、可靠运行[1]。
1.2系统实现的目标
本次开发设计的系统需要实现的主要目标是“四个全程”,即全程无纸化办公、全程信息共享、全程受控以及全程数据安全,通过该系统的构建,促进建设工程项目招投标工作效率和水平的进一步提升。
1)全程无纸化办公。标书以电子化的形式进行呈现,由此能够大幅度提升信息的传输速度,有助于相关工作效率的提高,同时全程无纸化办公,可以节约大量的纸张,为绿色环保目标的实现提供了可能。
2)全程信息共享。系统对省内所有投标单位开放,可实现投标单位、评标专家的信息共享,招投过程中的相关数据信息能够一次性录入,并实现共享。
3)全程受控。招投标业务的全过程都是以电子化的形式完成,由此能够在网络上留下痕迹,当存在异议时,可通过网络进行追溯和查询,确保了招投标的公正性。同时,一些关键节点可以进行自动预警提醒,避免了各种错误的发生。
4)全程数据安全。系统可以实现数字证书身份认证,标书加密签名等功能,由此使得投标文件的安全性、合法性获得了有效保障。
基于该系统的设计需求及其所要实现的目标,下面本文重点从系统硬件工作平台及软件的开发设计入手进行详细论述。
2系统硬件工作平台的设计
该系统面向的用户群体主要包括建设项目招标办公室、招标机构、投标单位、专家评委以及交易中心等,整个系统的维护管理工作由专门的部门负责。硬件是确保该系统稳定运行的基础条件之一,结合以往同类系统的设计经验,本系统的硬件架构采用了当前最为流行的双层结构体系,即Web服务器与DB服务器相结合的形式。
2.1服务器的基本要求
在本系统的硬件设备中,服务器是关键组成部分,因此,对它的要求相对较高,需要服务器具备镜像容错功能,并且还要支持2.0以上的HTTP网络通信协议以及SMTP、TELNET等协议,同时,服务器应当每天可以处理至少20万次的Web点击,能够同时响应并处理多个Web客户端发出的请求。此外,服务器还需要支持当前流行的开发品台及开发工具[2]。
2.2系统硬件的选择与配置
建设工程项目招投标具有一定的特殊性,基于这一前提,系统对实时性具有较高的要求,为了满足该要求,本系统在硬件设备配置的过程中,选择了功能和性能都比较强大且相对完善的服务器、交换机。系统硬件的具体配置情况如下:
1)核心交换机。本系统中核心交换机的数量为1台,选用的是RG-S8606型,该交换机的基本参数如下:设备为高端框式,槽位数≥6,背板带宽≥4.8T,可以满足系统运行需要,交换容量≥3.8T,数据包转发率≥2880Mpps;交换机采用的是双引擎、双电源设计,配有12个SFP千兆接口和24个自适应接口,支撑双栈、万兆线速转发、虚拟化及各种路由交换协议。
2)服务器。
①机柜。按照服务器的数量,并充分考虑到空间问题,决定采用1台服务器机柜。通过技术经济性比选后,最终选定图腾A36042+睿讯AL1716N机柜,该机柜的基本配置如下:机柜自带KVM多电脑切换器,配有1U折叠式液晶显示器和专用键盘、鼠标,电源分配单元PDU等。
②业务数据库服务器。为确保业务数据库的运行可靠性,采用了2台业务数据库服务器,以双机热备的形式进行设计,通过技术经济性比选,最终决定选用Dell-R920,该服务器的基本参数如下:2*XeonE7-4830v2的CPU;64GB DDR3却妫2*300G热拔插SAS硬盘;4U机架;冗余电源;LC接口、DVD光驱、HBA光纤通道和4G网卡等。
③应用服务器。为确保兼容性,该服务器选用的是Dell-R720,它的基本参数如下:2*E5-2650v2/8GT/20Mde CPU;32GB DDR3内存;4*300G热拔插SAS硬盘;2U机架,冗余电源等[3]。
3系统软件开发设计及开发平台的应用
软件开发设计是本系统的核心部分,为确保应用的稳定性和操作的灵活性,决定采用Microsoft Windows Server 2008作为操作系统,数据库系统采用的是与之相配套的Microsoft SQL Server 2008数据库,这样能够确保两者的兼容性。
3.1数据库的开发环境
本系统的数据库采用的是Microsoft SQL Server 2008 Enterprise Edition数据库管理系统进行建立,并由其负责对整个数据库的运行进行维护管理。数据库的登录模式为混合身份验证,端口号为1433。之所以选择SQL Server 2008数据库是因为它可以给企业数据管理与分析提供良好的解决方案,其应用优势体现在如下几个方面:
1)结果响应速度快。管理工具包、和Visual Studio2010共同运行环境的集成,使用户进行系统构建、错误排除以及应用系统操作等方面变得更加高效和快速。
2)决策支持。该数据库系统相当于一个智能商务平台,它具备数据整合与分析等功能,由此可以为用户制定决策提供良好的技术支撑。
3)安全性高。该数据库系统本身自带的数据加密、强制口令以及默认的安全设置等功能,使数据库的安全性获得了大幅度提高,确保了用户重要信息的安全[4]。
3.2资源数据库规划
业务数据库是数据中心的设计重点,在设计时要以项目为主线,根据业务系统的特点进行设计,实现对资源数据的统一规划。由于业务系统主要是针对工作流程、人员、信息方面的管理,所以可将其分为会员数据库、机构库以及专家库三类基础数据库。其中,会员数据库是对建筑企业、政府采购行为的相关数据进行管理;专家库是对招标、采购、评标、监管等方面的相关资源数据进行管理,可配合终端辅助设备进行使用。
3.3数据标准接口设计
在充分考虑异构系统问题的基础上,各类数据接口采用XML格式的设计标准传递数据,通过数据交换平台与各应用系统接口进行对接[5]。通过数据标准接口设计,可使整个系统提供Web Service接口,设计时必须根据国家制定的相关标准确定该系统的数据标准,将数据标准的编定作为系统设计的重点。
4 结论
综上所述,本文以建设工程项目招投标系统设计为依托,对其软件设计的相关问题及开发平台的应用进行了分析,目前,该系统已经进行了试应用,系统运行稳定,并未出现重大问题,它的应用为建设项目招投标工作的开展提供了良好的平台,大幅度提升了招投标的效率和质量,具有一定的推广使用价值。
参考文献:
[1] 李犁.基于BIM技术建筑协同平台的初步研究[D].上海:上海交通大学,2012.
[2] 李晔.算量软件在建筑工程上的应用及问题探讨[D]. 青岛:青岛理工大学,2015.