时间:2023-06-18 10:31:37
引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇软件设计与开发范例。如需获取更多原创内容,可随时联系我们的客服老师。
关键词:管理信息、综合测评、VB
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)45-0262-02
一、引言
随着素质教育的不断深入,学生综合素质评价也成为了人才评价的一个标准,很多学校每年都要对学生进行综合测评,综合测评的计算量很大,而且由每个学生自己填表,再交给班委进行审核计算,打印,签字,存档,整个过程很繁琐,往往花了很大的力气还会出现一些问题,如统计失误、人为计算失误等。另外作为奖助学金评定的依据――学生综合测评分是否能够及时、准确、公平的算出来关系十分重大,所以急需一个计算简便,容易操作的软件来代替人为的手工计算,提高计算效率、准确度,使整个过程公开公平。该软件操作简单、不用维护,大大提高了学校的工作效率,减轻了班委、老师们的工作负担。
二、需求分析
综合测评软件开发的目的是自动计算、快速审核、统计测评数据,减少人工干预,降低计算失误,提高工作效率,将辅导员、班主任、班委从繁重的综合测评及日常管理中解放出来,使学校的综合测评工作系统化、规范化、自动化。通过调查,要求软件需要有以下功能:(1) 要求有良好的人机界面,操作简单。(2) 由于该软件的使用对象学生和班级管理人员。(3) 数据计算自动完成,尽量减少人工干预。
三、可行性分析
由于本软件的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用excel表格管理。熟悉VB编程。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其他程序的功能,因此完全可以实现。
四、 软件实现
(1) 统一命名功能主要代码
d = Dir(App.Path & "\*.xls")
Dim EXLAPP As Excel.Application
Dim xlBook As Excel.Workbook
Dim EXLSHEET As Excel.Worksheet
Set EXLAPP = CreateObject("excel.application")
EXLAPP.Visible = False
Dim FileNa As String
Set xlBook = EXLAPP.Workbooks.Open(App.Path & "\" & d)
Set EXLSHEET = xlBook.Sheets(1)
EXLSHEET.Activate
If EXLSHEET.Cells(1, 19) = "ZongHecePingBiao" Then '有效表
FileNa = KillSpace(EXLSHEET.Cells(2, 6))
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
Name App.Path & "\" & d As App.Path & "\" & FileNa & "综合测评表" & num & ".xls"
End If
(2) 统计收文情况主要代码
d = Dir(App.Path & "\*.xls")
Call EXLAPP.Workbooks.Add
Set EXLSHEET1 = EXLAPP.ActiveSheet
EXLSHEET1.Cells(1, 1) = "综合测评表收回情况表"
EXLSHEET1.Cells(2, 1) = "序号"
EXLSHEET1.Cells(2, 2) = "姓名"
EXLSHEET1.Cells(2, 3) = "收回情况"
EXLSHEET1.Cells(2, 4) = "文件数"
Open "C:\evaluation_file\names.txt" For Input As #1
ReDim Preserve StrZ(I) As String
ReDim Preserve beizhu(I)
k = 0
While Not EOF(1)
Line Input #1, str1
k = k + 1
EXLSHEET1.Cells(k + 2, 1) = k
str1 = KillSpace(str1)
EXLSHEET1.Cells(k + 2, 2) = str1
EXLSHEET1.Cells(k + 2, 3) = "未收回"
StrZ(k) = str1
beizhu(k) = 0
Wend
Close #1
(3) 审核功能主要代码
On Error Resume Next
If (Option1.Value = True) And (Option2.Value = False) And (Option3.Value = False) Then
EXLSHEET.Cells(33, 19) = 1
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
FileCopy App.Path & "\" & d2, App.Path & "\已通过\" & d2
Kill App.Path & "\" & d2
ElseIf (Option1.Value = False) And (Option2.Value = True) And (Option3.Value = False) Then
EXLSHEET.Cells(33, 19) = 2
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
FileCopy App.Path & "\" & d2, App.Path & "\未通过\" & d2
Kill App.Path & "\" & d2
ElseIf (Option1.Value = False) And (Option2.Value = False) And (Option3.Value = True) Then
EXLSHEET.Cells(33, 19) = 0
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLSHEET.Cells(32, 13) = ""
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
ElseIf (Option1.Value = False) And (Option2.Value = False) And (Option3.Value = False) Then
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, 3
MsgBox "" & vbCrLf & "您没有点选意见! " & vbCrLf, vbExclamation, "警告"
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
Exit Sub
End If
五、 结论
在本软件系统必然会存在一些缺陷和不足。但其功能全面、易于日后程序更新、界面友好、操作方便、效率高是本软件系统的特点。在这次设计与开发中的最大收获并不是掌握这几门开发工具的应用,而是学会了软件设计的思维方法,以及与同学们之间相互帮助的精神。
参考文献:
关键词:DIY;心理健康教育;测评软件
中图分类号:TP311.52 文献标志码:A 文章编号:1673-8454(2014)20-0073-02
从事学校心理健康教育,常遇到心理测评。对于个体测评而言,手工操作简单量表(SAS、SDS等)尚能应付,稍复杂的(SCL―90等)就感到烦与累了,16PF、MMPI等则望而生畏且准确性还难以保证;对于团体测评来说,手工几乎难以实现,市售软件价格较高,电脑移植不方便,查询分析不能满足个性需求。可否DIY网页呈现、即插即用、满足特殊需要的心理测评软件?本文将与同仁分享。
一、心理健康教育测评软件开发的一般方法
DIY心理健康教育测评软件可通过建立便携式数据库网站实现。[1]
1.前期准备
(1)知识准备。我们将要做的工作是建立一个数据库网站,事先应找到ASP和DreamWeaver两类书籍以备用。
(2)软件准备。建立网站(制作网页)需要相应软件作平台,这里主要是制作网页的软件(如DreamWeaver)和编译软件(如NetBox等)。
2.软件开发
心理健康教育测评软件(数据库网站)的一般开发过程如下:
(1)设计“主页”。主页有两大功能――测验与查询。测验就是启动量表让被试回答问题,查询则报告测评结果。用“超级链接”指向“问卷”网页实现测验功能;通过口令(设置密码)进入相应的“查询”网页。
(2)制作“问卷”网页。将测验量表制成网页,让测题呈现于电脑屏幕,前面再加上学生的基本信息。制作时答案分别处理,单选题用“单选按钮(radio)”,多选题用“复选框(checkbox)”,学生基本信息则根据情况选用“文本框(text)”等表单元素。学生基本信息、答案在网页上供被试输入或选择,在电脑后台分别对应相关变量。
(3)建立数据库。建立数据库存放测评信息,可用ACCESS或EXCEL新建一个数据库文件,一般应考虑学生基本信息(学号、姓名、性别、年龄、测验日期与时间等)、回答信息(被试选择的答案)、其它信息(检验是否重复提交)等,其数据结构(字段名称、类型、长度等)要与上步中答案变量相应(不是相同),以便建立数据联系。如果制作MMPI(至少399题)测验,许多非大型的数据库目前还无法突破255个字段,而EXCEL2007版不受此限。
(4)接收数据。建立一个专门网页,使用ADO数据访问技术访问数据库,再用SQL(主要是Insert语句)将被试回答的内容有序存入相应的数据表。此网页以后台运行为主,前台一般不向用户呈现信息(特殊情况提醒除外)。
(5)制作“查询”网页。查询网页是接受用户查询要求,并将其转换为相应查询命令的网页。前台供用户选择查询条件,后台则将其转为相应变量。此步的关键是将用户的查询条件(后台的相应变量)转换成SQL的SELECE语句。
(6)制作“测评结果”网页。根据量表测评规则(积分法、常模及解释等)和用户要求对数据进行统计和分析,以网页或打印的方式将测评结果展示给用户。结果展示方式多种多样,以数据呈现较容易,即将相应数据显示到网页上,但不够直观。而以图形方式则一目了然,如EXCEL,它能以图形(条形图、折线图、饼图等)直接呈现,也可采用相关软件(如VBChart、ASPChart等)辅助制作。查询内容一般有查询被试答案、查询分量和综合分析报告等。如“中小学生心理健康测验(MHT―CR)”可以数字表现分量,也可以折线图表现分量,报告可以批量,也可以个别;再如“大学生人格问卷(UPI)”结果分别以第一类、第二类和第三类报告被试信息;SCL―90结果既有曲线,也有数字,还有文字分析与建议。此步工作随用户需求难易程度差异较大。
制作网页时,凡是与数据相关(无论是存入还是查询)的网页,都要创建(如与之间)与数据库的连接,以便对数据库进行操作。
3.编译打包
网页运行要有支撑平台(浏览器),还须有引擎才能启动。网上有多种类型的引擎,各有特点。它们体积小,速度快,如绿三角AWS、绿四叶SERVICER(新生命专用)和红色字母b的Netbox。
源文件一般都是各自独立散布的,既不便于移植,更不利于产权保护。利用相关软件可以将它们编译成文件数量少、体积小且可以独立运行的文件。编译软件较多,如Netbox,国产软件,网上可下载,使用有说明。启动Netbox可以将所有网页(不含数据文件)编译成一个引擎文件(EXE文件,一般不足1M),配上相应的数据文件便可使用。编译后的软件置于U盘,即插即用,尤其适用于局域网,也可放在网站上。
二、心理健康教育测评软件专项功能开发
心理健康教育测评软件(数据库网站)可根据需要开发多种功能,举例如下。
1.建立心理档案
对于一些规模较大的学校(学生数千),可根据需要将相关心理量表(如“卡特尔人格特质(16PF)”等)做成问卷网页,收集学生的心理特征数据,建立心理档案数据库。为保证学生提交答卷的有效性,可(用JS语句)设置“限制与提醒”,对于每题必答测验,如有漏答题则不让提交答卷,并将光标自动移到该题处,让被试重新回答;如问题“与你童年一起生活的有:A.父亲;B.母亲;C.祖父;D.祖母……X.以上都不是”,有些能同时选择,而有些则不能。软件应自动查找矛盾回答,适时提醒被试选择或更正。
2.建立本体常模和心理健康统计学标准
许多著名心理量表因无适用常模而被束之高阁。具有一定规模的学校或区域可将某个测试群体(2000或3000以上)作为常模团体,通过标准化操作来收集数据,经过统计处理(平均值与标准差)得到常模,作为个体的参照常模。
心理健康统计学标准认为,健康心理是围绕某一群体的心理健康常模,在两个标准差(2S)范围内不断上下波动的相对平衡过程。[2] 有了本体常模,就可以用A(平均值)和S(标准差)表示健康心理的统计学标准:上限为A+2S,下限为A-2S。
3.用于个案(或同质群体)研究
以心理量表的某个或几个分量的界限值作为查询(SELECT语句 中WHERE子句)条件,提供相应个案(或同质群体),如将MHT―CR中的“对人焦虑”和“过敏倾向”分量作为条件查询个案(或同质群体)。
4.评估心理健康教育效果
将相应的心理量表制成网页问卷,收集相关数据,评估学生的心理健康教育效果。
5.预测(预警)危机
将适合学生的心理健康水平评估量表制作成网页,对学生进行普测,再以相应的标准设定界限,如前述的心理健康统计学标准,对数据进行分析、预测,并对超出正常范围的个体提出警示。
6.选择专业(高考志愿)、规划职业生涯
可用16PF对高考生作测验并分析,看看哪些专业适合,并预测大学学业成绩。也可用霍兰德(HOLLAND)职业兴趣测验,以供高考生作多种选择或职业生涯规划。[3]
7.评估睡眠状况
升学压力大,许多学生睡眠不足,特别是高中生,可以用匹兹堡睡眠质量指数(PSQI)编制相应网页,供学生自我评估睡眠质量。
三、注意事项
1.使用期限
软件成熟得有个过程,一般要经历试用与改进、使用与完善几个循环才相对“健壮”。因此,最好设个期限,到时自动失效,再更完善的软件。
2.适用范围
心理健康教育测评软件的针对性很强,应当明确它的适用范围,譬如MHT―CR是专门用来测评中小学生心理健康状况的,不可用作其它目的,更不可强行对学生进行测评。
四、结束语
DIY心理健康教育测评软件不难,只要肯在看书与上网两方面下功夫。看书――品尝“筵席”,上网――享用“快餐”。看书是学习系统理论,掌握一般方法,上网是学习前人(网友)如何解决千变万化的现实难题,二者相辅相成。想让心理健康教育测评得心应手,还是DIY吧! 参考文献:
[1]姚宏程.便携式数据库网站的一种建立方法[J].中国教育信息化(基础教育),2011(4).
【关键词】 JavaEE 软件工程 JavaBean JSP
一、引言
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数据库访问技术增强数据操作功能,并且可以实现组件的重用性,进一步压缩软件开发周期,提高软件开发质量。
参 考 文 献
[1] 钟艳, 张蓉. 基于移动互联网下软件开发技术的研究[J]. 电子技术与软件工程, 2014(1):82-82.
【关键词】计算机软件开发;设计;难点;解决措施
众所周知,模块化在过去很长一段时间里称为软件设计的主要方式。事实证明,采用这种方式不仅仅能够很好的规避软件系统开发中的复杂性,可以在一定程度上简化程序。通常情况下,在整个软件的设计过程中需要将程序进行分解,这样来行程模块化层次结构,从而提高程序设计的可操作性和可读性,加强开发效率。但是值得注意的是,在设计过程中由于试用的分解系统以及设计人员的思考方式存在一定的差异性,最终设计出来的软件自然也会不尽一致。那么,我们需要具体问题进行具体分析,进而找出科学合理的解决办法。
一、计算机开发设计中的难点问题
但是就目前而言依然存在很多急需解决的难点问题。主要表现在以下几个方面。
1、需求分析比较欠缺。通常情况下,在设计软件的过程中需要对设计标的物进行彻底分析,但是我们发现在很多时候会出现分析不清晰、有纰漏,或者是太笼统的现象,这样一来就会导致软件在设计过程中出现各种各样的问题。就这一点而言,设计人员必须保持一颗严谨认真的心态,不管是从宏观还是微观细节方面都要进行完整而且详细的分析,确保万无一失。
2、测试不够充分。这种情况的发生主要是由于在设计软件结束之后需要对其进行充分的测试与相对应的检验,通过这种方式来最大限度的避免其在运营过程中出现问题,但是事实上我们发现正是因为测试不够充分,在出现系统崩溃之前无人发现问题的所在。
3、规划不合理。在软件设计过程中有很多的程序需要编辑,而这些程序往往都是比较复杂的,有些设计人员在设计过程中并没有严格按照相关规范进行计划的制定,对于规模比较大的系统工程却只肯花费一小部分时间去完成,并未真正的研究透彻,这样一来设计质量当然也就无法保证了。鉴于此,设计人员需要耐心的来安排整个工程包括设计、规划、测试以及后期的维护等等。
4、新特性的不断增加。在过去我们会经常发现,在开发软件完成之后,在运用过程中通常会根据需要增加一些新的内容,这样就会使得软件运行程序很容易变得复杂而且混乱,从而影响软件运行的稳定性。就这一点而言,如果没有十分特殊的要求,设计人员不要轻易添加新的需求进去,实在是需要添加,五笔要将计划进行调整之后方可进行接下来的工作。
二、解决计算机软件开发中难点问题的有效措施
1、根据实际需要切实规划软件设计。具体地说,就是要在软件设计中精心组织好一支优秀的队伍,并且严格按照规范要求制定出一套切之可行的设计计划,要从中理清设计的重点在哪里,从而最大限度的避免人力物力财力上的浪费。真正意义上来讲,设计一个软件不仅仅要设计好它的内容,还要设计好软件设计的行程安排,清楚设计的重点之处,以最短的时间做出最有效率的事情,尽可能的减少在一些与软件本身无关的工作环节上浪费太多的人力物力的财力。
2、要对设计需求加以合理分析。这主要是针对纳西在计算机软件开发过程中对软件的内容设计存在纰漏,导致在软件开发过程中出现对原本想要设计的内容较为笼统化以及不可被测试的问题,那么我们应该要求设计人员在设计的前期要结合实际需要综合考虑软件的设计内容来制定出一套合理并且完整的设计计划。
3、提供一个良好的工作环境。首先需要让设计人员拥有一套正规化的开发工具,与此同时要给他们一个良好的外部工作环境,让这些设计人员在一个舒适的环境中开始软件的研发。与此同时还要提供给他们一些硬件上的服务,让他们的研发软件切实为设计人员带来实际收益,通过这种方式来提高他们的工作热情。
三、结束语
综上所述,在科学技术蓬勃发展的今天,计算机软件的设计与开发在整个社会发展过程中起到极其重要的作用,因为它在很大程度上直接决定计算机的工作性能,一个好的计算机软件能够很好的帮助计算机用友更好的工作水平,通过上面提出的一些建议希望能够真正帮助计算机软件设计者打造出完美的软件,从而为计算机事业提供更好的服务。
参考文献
[1]郭玲.浅析计算机软件开发设计的难点和对策[J].计算机光盘软件与应用.2014,(04).
[2]任康.计算机软件开发设计的难点及解决措施[J].信息通信.2014,(09).
[3]贾钦勇.即时通讯系统的研究与实现[D].武汉理工大学:计算机软件与理论.2010.
中图分类号:TP317 文献标识码:A 文章编号:1671-7597(2014)04-0019-01
使用C++语言进行跨平台的开发,目的是把应用程序的代码处理成能够在已有的平台下使用和能执行文件。但是在其他平台中,处理后的文件不可以被使用,特别在Windows与Unix平台下更不能使用。所以,要解决和处理这个缺陷,就要将源程序的代码翻译成在各个平台下都能使用的文件。通过几十年的发展和演变,C++语言基本上能够在所有的平台下进行工作,但是在不同平台下的编译也会不同,也造成了语言之间的不同。同样的,设计一个新产品就要对操作系统的函数进行使用和调用。因此,要避免这种区别就要在代码中使用条件选择编译、进行工程模式编译或可以使用预编译。各种平台使用的程序编译手段也是不一样的。要使在不同平台下进行程序编译时出现最小的差别就要手动对编译条件的设置控制或管理。使用脚本文件和环境变量,还可以使用第三方软件对代码进行动态编译,这样就能使跨平台开发的难度简化。
1 跨平台的概念
在软件开发中有个很重要的概念就是跨平台,跨平台和操作系统无关也与硬件环境不相关联。如果一个应用程序是在操作系统下开发和设计的,那把它放在其他操作系统中也能使用。随着软件工程的发展对跨平台开发的需求也在不断的增加,所以要开发出能够在各种各样的平台下都能使用的应用程序,就能为应用程序创造很大的市场份额。
2 跨平台的开发所需要的环境
软件编辑器、程序编译器和程序调试器是构成开发环境的三个组成部分。Sandbox是进行代码编译和调试的软件,其内部含有各种平台下需要的不同种类的依赖库和代码库。在程序的开发中它还含有各种源代码。它的配置对多元化的平台的要求也是很高的,通常讲,C/C++语言的软件开发和编译要在各个平台上能够使用,还要注意以下问题。
1)最终结果的质量:Sandbox中所选择的工具是否能够产生最好的代码。是否能够产生最简洁,最友好的配置文件以及在捕捉错误和调试时是否能够提供足够的支持。
2)Sandbox中含有的工具是否可以使应用程序与多元性的目标平台进行合理的整合。
3)创立的Sandbox是不是可以使管理更加的简单,即能否在不同的平台进行变换时出现最小差异的文件。
对跨平台开发来说实现抽象是很重要的一个因素,但是利用与平台相关的工具包也需要使用相适应的工具。这些开发工具往往并不是统一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要达到这个目的,就要把用抽象以及相关的设计使用新的开发手段进行开发,实现在不同的平台下都能进行编译。
3 C++语言的跨平台软件开发的设计
3.1 避免语言的扩展特性
不管我们依据哪一种形式的方法进行编程,一般要选择比较老的程序库或文件。比较老的程序库里面的一些原有程序和公式都是很规范的和标准的,不像现在的一些新的程序库一样比较的杂乱无章。有非常普遍出现的故障在跨平台上产生,有时在获得支持后,还是会出现没有定义精确的事故。跨平台开发是对异常灵敏度要求很高的,无限度的利用新特性,就会使软件很难排除异常情况。所以,在跨平台开发时要调用C++的标准函数模型,这样就会使已开发的软件和产品的稳定性更加强。
3.2 实现动态处理
在实际的开发过程中,每当编写一个旨在多种环境中运行的可移植代码库时,项目的开发就会不可避免的面临一个问题,即怎样处理在一个平台上有而在另外一个平台上没有的特性。
3.3 使用脚本文件进行管理
要达到使编写的程序代码简洁、易懂的目的,要使软件的结构更加的合理,这就要求先把与平台相关联的文件和数据库分割开来,再把在开发期间要用的脚本文件进行编译,再合理的分到各个部位。在使用应用程序时,要把配置文件里的配置选项调出来进行读取里面的程序。因此,当跨平台软件开发时,要使与平台相关联的文件全部进行分离,要利用特殊的手段来实现该功能。
3.4 使用安全的数据串行化
如何使用安全和可靠的对数据进行存储和加载是跨平台要解决的核心问题。利用软件的“fwrite”或“fread”指令可以对每个编译器和单一目标平台处理。若果是在跨平台的操作环境中,利用这种方法对数据进行存储和加载就不能做到平台间的独立性。如果要利用跨平台对数据存储到目标文件外,不同平台间是有差异的,这样也会引起结果的多样性。
3.5 跨平台开发中的编译与测试
当进行跨平台软件开发时会与修改和编写的很多代码有关联,相关联的代码会在很长的时期内不能在另外的平台检测,也会造成bug的潜藏时间增长。所以,要在多个不同的平台下进行测试,这样就能及时发现bug。
3.6 实现抽象
实现抽象是处理跨平台中应用程序能被移植难题的有效方式。通过这种方式我们就能不利用一般的结构体系而进行单独的软件开发,同时还能够使编出的程序更加的独立化和简洁化。当对跨平台进行开发时,会有非常多的函数要进行利用,但是开发时不用编译所有的函数,通常使用的方法是封装,这些就是实现抽象的过程。封装的方法并不是在任何情况下都是适用的,当遇到一些特殊的情况时,我们要使用其他的方式来进行程序的调用,我们提前可以将编写好的功能程序存放到程序空中,并以该功能命名,当我们使用该程序或公式的时候,可以直接调用该功能的程序,便可以实现该功能。不管选用哪一种方式无非是对任意接口函数与平台中的联系进行隐藏。
4 结束语
本文主要介绍了跨平台的定义和进行跨平台设计所需要的环境以及怎样进行跨平台设计。在进行跨平台设计的过程中我们结合了其他软件设计的一些思路和方法,经过大量的软件设计实践,得出了一套跨平台设计的方法和手段。与此同时我们还要在开发的软件中加入更多的功能和操作容积。对跨平台进行设计而言,经验是很重要的,经验越丰富的设计工程师设计的软件的功能会越好一些,没有经验的工程师,在首次设计时很难利用跨平台设计一个非常完美的应用软件。所以,本文介绍了跨平台软件设计的一些技术,希望可以为跨平台的开发的设计工程师提供一些帮助。
参考文献
关键词 计算机语言 逻辑开发 软件开放设计
中图分类号: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.
[5] 徐立艳.计算机语言的逻辑开发与软件开放设计应用研究[J].电脑编程技巧与维护,2015(24):41-42.
1.Visual Basic
Visual Basic是一种微软公司开发事件驱动编程语言,是当前世界上使用最多的编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库。用户可以使用VB组件快速建立应用程序。自1991年,微软公司推出了Visual Basic 1.0,该创举可以说是软件开发史上的一个具有划时代意义的事件,自从软件开发有原来的“不可视”变为“可视”。在随后的几年内微软公司不断对其更新晚上。2002年,微软将.NET Framework与Visual Basic结合而成为Visual (),重新打造VB,再一次将VB推向一个新的高度。
2.打字软件设计思路
一个打字软件的设计主要是为了满足用户打字练习,其必须具备良好的界面与简易的支持系统。为此本打字软件系统包括登录系统与打字练习系统。登录系统主要是为了为用户保存每一次的练习准确率及时间;打字练习系统由键盘练习、拼音打字练习、五笔打字练习和打字游戏五部分构成。结构如图1所示。
3.软件开发
3.1 键盘练习模块
在练习的过程中如果你打入错误的键位,就会显示如图提示,红色错号,绿色显示是正确输入的键位。其关键代码如下:
If Jiantisi antisi Then ‘输入字符错误,而且按键也不对。
‘以下是打错了字符,也按错了键的红色提示。
3.2 键位练习正确率
作为打字练习测试系统,正确率的测试尤为重要,这个基于VB的打字系统的正确率测试更为准确,相比其他的测试软件,它在正确率和速度之间做了一些改善,比如:原本的一些测试系统中如果你输入的很快,但是错误率很高,但它在测试过程中任然会显示速度很好,就起不到练习的目的,在我的这个测试系统中,对被测试者的正确率也有一定的要求,如果你打字错误了,你仍然不改,就会停在那里,直到你改正了才可以再输入。
退出代码:
这个窗口主要是对打字方式的练习,只有掌握好打字的正确键位才能够成为打字高手。输入练习时屏幕上会显示要打的字母为绿色,尽力不要看键盘,进行盲打,手能够子如的在键盘上寻找键位,这就要求学习者对键位有个大概的记忆,不同的手指也是负责不同的键位。
3.3 拼音与五笔打字练习模块测试
文件/拼音或五笔打字练习,即可打开相应当前窗口,打开后工具栏成为当前激活窗口的工具栏,在当前工具栏点击:文件/导入文本,选择提前已经录入的TXT文本
正确输入时文本会是绿色背景,当你输入错误时会成为红色背景,可以退格更改。其中关键代码如下:
文本框2的改变事件中,将每输入的一个文字信息同文本1的副本作比较,若不正确则副本的文字变为红色,后退回去相应的文字变为黑色,可以再次录入。只有录入正确则颜色是蓝色。当单击开始比赛按钮时,文本框2获得控制焦点且计时开始。比赛根据时间的控制,一旦时间到了,系统强制控制停止使用所有的事件,同时出现相应的测试成绩。当然可以提前交卷,只需按结束交卷按钮(Cmdstop_click)成绩即可出现。
参考文献
[1]刘炳文.Visual Basic程序设计[M].北京:清华大学出版社,2006,8.
[2]李志云,用VB设计中英文打字测试软件[J].电脑编程技巧与维护,2006(11):12-13.
[3]沈国珍.《VB程序设计》课堂教学的探索与实践[J].福建电脑,2007,4.
[4]俞建,张燎军.数据库访问技术研究[J].计算机与现代化,2005.
[5]李志云.用VB设计中英文打字测试软件[J].电脑编程技巧与维护,2006,11.
[6]曾强聪.Visual Basic程序设计与应用开发案例教程[M].北京:清华学出版社,2004.
[7]袁锋.谈《VB程序设计》教学方法改革的五个转变[J].中国成人教育,2004,1.
[8]徐华丽.基于Visual Basic程序设计语言教学的实践与探索[J].皖西学院学报,2006,2.
[9]王满师.应用软件“中英文打字测试系统”的设计及在VB上实现的有关技术[J].北京交通管理干部学院学报,2002.
[10]李金山,张文丽.基于VB的中文录入测试系统的设计与实现[J].太原师范学院学报(自然科学版),2007,3.
【关键字】自动化测试;ATS;软件开发平台;通用测试系统
一、引言
传统的ATS(Automatic Test System),即自动测试系统的软件设计方法中,要求测试人员面向测试仪器进行编程操作,测试软件则根据被测试的代码段的要求进行编程。这种软件设计方法有着层次分割不清的问题,容易将系统软件和测试软件的功能混淆,增大测试程序、测试仪器以及被测对象的关联性,严重降低了测试代码的可移植性。另外,传统的测试方法中,测试功能比较单一,由于测试代码已经被固化,因此测试功能得不到优化升级,缺乏灵活性。
目前,ATS得到了飞速发展,自动测试系统的单一、专用功能正在向通用的多元化功能方向发展。但是,如何实现测试软件的通用性仍然是一个急需解决的问题。本文以通用性ATS软件开发平台为研究对象,提出了通用型ATS软件开发平台的框架结构和设计方法。本文设计的通用性ATS软件开发平台能够有效地帮助测试人员提高维修以及测试工作,并且具有较高的推广价值。
二、通用性ATS软件开发平台的结构和功能
通用性的ATS软件开发平台主要的功能,是提供给用户一个通用性的测试软件开发工具,通过该软件开发平台运行测试系统的开发过程。通用性的ATS软件开发平台的功能一般分为如下五类:第一类,能够对测试资源进行动态的配置和重构;第二类,能够对测试对象的硬件资源进行初始化、扫描以及初始化等功能;第三类,为测试程序提供完备的开发与调试的空间;第四类,给测试程序提供强大的数据处理功能;第五类,对系统的消息系统,例如中断、触发等等,而且还能够满足系统资源并行处理。
三、通用性ATS软件开发平台的相关技术
IEEE1232的标准是将ATS体系结构进行层次划分的标准。通用性ATS软件开发平台要求与NxTestATS的框架对接。如何实现接口标准的规范、组件技术、软件的统一开发过程以及UML技术均是设计通用性ATS软件开发平台的关键技术。另外,本文研究的通用ATS软件开发平台主要是基于STD标准。基于STD标准的开发关键技术,能够利用C和C++等通用的程序设计语言开发基于信号的组件。在测试的时候,这些基于信号的组件可以进行信号操作,并且这些组件为TPS提供了可移植性能。
四、通用性ATS软件开发平台的设计
本文针对基于信号组件的通用性ATS软件开发平台进行研究与设计。本文给出的通用性ATS软件开发平台主要由信号组件、接口框架、测试仪器信号驱动器以及资源管理器构成。其中,信号组件则作为独立的COM组件,并且COM组件作为资源管理器以及仪器信号驱动的父类组件。下面探讨了每个功能组件的功能描述。
信号组件中,每个信号组件与一种信号进行一一映射,信号的类型可以参考STD标准。具体的功能,首先是将客户程序的输入信号的信息进行存储,并储备为仪器信号驱动的调用参数。其次是能够存储测试的结果,测试的应用程序进行吊调用。
接口框架中的功能描述为,将面向信号的仪器驱动接口的方法与属性进行定义,为其他组件的调用做准备。
资源管理器中,作为应用程序与仪器驱动信号驱动的中间层次,能够利用检索仪器的XML文件,进行仪器的查询,并且能够创建具体的仪器信号驱动程序。
作为仪器信号的驱动功能是进行测试的实现,通过对底层仪器驱动函数的封装,实现具体仪器信号测试的功能。
结束语
本文首先针对传统的ATS以及当前的通用性ATS进行比较,深入分析了通用性ATS的优势,详细阐述了ATS软件开发平台的功能与结构,对通用性ATS的相关技术做了深入的探讨,最后给出了以面向信号为基础的通用测试软件开发平台的设计。该通用性ATS软件开发平台具有广泛的应用范围,并且能有积极的提高测试人员的维护以及测试工作效率。
参考文献
[1] 叶海明,周绍磊,王昆平. 通用测试系统软件平台设计[J]. 国外电子测量技术. 2010(02):111-113.
[2] 戴豪民,牛双诚,张光轶,武恒州. 面向信号自动测试系统信号组件的设计[J]. 现代电子技术. 2012(05) :224-226.
Abstract: Energy consumption data collection based on the most direct measure of energy as a corporate standard, but also the decision-making data to support a variety of energy-saving measures, the implementation of enterprise energy collection has important practical significance. The main content of this paper is to develop a design can be applied to different enterprise energy consumption data acquisition PC software.
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参数设置
在上位机DSC软件中用户可以根据实际情况设置对应终端设备的数据解析参数,具体为数据解析驱动,终端设备地址,能耗种类,数据类型(累计值或瞬时值),取数指令等。设置完毕后所有的参数将会保存到参数数据库中对应的表里面,上位机DSC软件将按照设定的参数据进行能耗数据的采集。