你好,欢迎访问云杂志! 关于我们 企业资质 权益保障 投稿策略
当前位置: 首页 精选范文 软件设计与开发

软件设计与开发范文

发布时间:2023-10-10 15:36:32

导语:想要提升您的写作水平,创作出令人难忘的文章?我们精心为您整理的13篇软件设计与开发范例,将为您的写作提供有力的支持和灵感!

软件设计与开发

篇1

关键词:知识竞赛;VB;管理信息

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)49-0258-02

一、需求分析

在企事业单位和学校里我们经常能见到一些知识竞赛之类的比赛,对于这一类的程序,通常我们首先想到的就是用快速开发工具来做,使用本系统作为平台,能够把竞赛整个流程有机结合起来。用大屏幕和音响以多媒体的形式向观众展示大赛的各种信息、背景音乐、选手情况、题目内容等,配合主持人的解说,同时,大赛全程都可以由一名幕后人员用一台电脑进行后台监控,扮演“导播”的角色,可以进行选手、题目、竞赛模块的手动切换等辅助操作,保障大赛的顺利进行。

通过调查,要求软件需要有以下功能:(1)要求具有良好的人机界面,操作简单。包括编辑试题软件和答题界面软件。(2)该软件的使用对象负责和管理人员。

二、可行性分析

由于涉及的对象单一,为了便于多人协作出题,比较适合于采用excel管理试题库,运用VB制作界面。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其他程序的功能,因此完全可以实现。

三、软件实现

(1)添加试题功能主要代码

If Trim(Combo1.Text) = "" Then

MsgBox "" & vbCrLf & "试题不完整!", vbExclamation, "警告"

Else

If Trim(Combo1.Text) = "看图题" Then

If (Trim(Text2.Text) = "" Or Trim(Text3.Text) = "" Or Trim(Text4.Text) = "") Then

MsgBox "" & vbCrLf & "试题不完整!", vbExclamation, "警告"

Exit Sub

Else

shu = shu + 1

Form1.EXLSHEET.Cells(k + 2, 1) = k + 1

Form1.EXLSHEET.Cells(k + 2, 2) = Trim(Combo1.Text)

Form1.EXLSHEET.Cells(k + 2, 3) = Trim(Text2.Text)

Form1.EXLSHEET.Cells(k + 2, 4) = Trim(Text3.Text)

Text2.Text = "" : Text3.Text = ""

Label7.Caption = "添加成功!"

Form1.Ti_shu = Form1.Ti_shu + 1

Label6.Caption = Form1.Ti_shu

Exit Sub

End If

End If

(2)修改试题功能主要代码

先读取试题库里的题目,修改后再写入题库。

读取题目主要代码:

Text1.Text = KillSpace(Form1.EXLSHEET.Cells(k + 1, 2))

Text2.Text = Form1.EXLSHEET.Cells(k + 1, 3)

Text3.Text = Form1.EXLSHEET.Cells(k + 1, 4)

Text4.Text = KillSpace(Form1.EXLSHEET.Cells(k + 1, 5))

tj = k

k = k + 1

写入题目主要代码:

Form1.EXLSHEET.Cells(tj + 1, 2) = Trim(Text1.Text)

Form1.EXLSHEET.Cells(tj + 1, 3) = Trim(Text2.Text)

Form1.EXLSHEET.Cells(tj + 1, 4) = Trim(Text3.Text)

Form1.EXLSHEET.Cells(tj + 1, 5) = Trim(Text4.Text)

(3)入背景图功能主要代码

Dim ofn As OPENFILENAME

Dim rtn As String

ofn.lStructSize = Len(ofn)

ofn.hwndOwner = Me.hWnd

ofn.hInstance = App.hInstance

ofn.lpstrFilter = "图片文件(jpg)" + Chr$(0) + "*.jpg" + Chr$(0) + "图片文件(bmp)" + Chr$(0) + "*.bmp" + Chr$(0) + "图片文件(ico)" + Chr$(0) + "*.ico"

ofn.lpstrFile = Space(254): ofn.nMaxFile = 255:ofn.lpstrFileTitle = Space(254)

ofn.nMaxFileTitle = 255: ofn.lpstrInitialDir = App.Path

ofn.lpstrTitle = "导入背景图片" : ofn.flags = 6148

rtn = GetOpenFileName(ofn)

Dim dr As String

If rtn >= 1 Then

Image3.Visible = True

quxiao.Enabled = True

Image3.Picture = LoadPicture(ofn.lpstrFile)

End If

(4)设置功能主要代码

If Form1.BackColor = &H404040 Then Option1.Value = True

If Form1.BackColor = vbBlack Then Option2.Value = True

If Form1.BackColor = vbWhite Then Option3.Value = True

If Form1.Label1.ForeColor = vbWhite Then Option4.Value = True

If Form1.Label1.ForeColor = vbBlack Then Option5.Value = True

If Form1.Label1.ForeColor = vbBlue Then Option6.Value = True

If Form1.Label1.FontSize = 36 Then Option7.Value = True

If Form1.Label1.FontSize = 26.25 Then Option8.Value = True

If Form1.Label1.FontSize = 21.75 Then Option9.Value = True

(5)答题时间功能主要代码

If Val(Text1.Text) < 0 Or Val(Text1.Text) > 60 Then

MsgBox "" & vbCrLf & "r间不能超过60秒!", vbExclamation, "警告"

Exit Sub

End If

Form1.sumt = Text1.Text

If Val(Text2.Text) > Form1.sumt Then

MsgBox "" & vbCrLf & "提醒时间不能答题时间!", vbExclamation, "警告"

Exit Sub

End If

Form1.daot = Text2.Text

Form1.Label5.Caption = Form1.sumt

Form1.s = 0

If mand1.Caption = "下一新题" Then

Form1.Timer1.Enabled = True

End If

四、结论

在本软件系统采用VB+excel编程,界面美观友好,操作简单,易于日后程序更新,效率高是本软件系统的特点。

篇2

机场净空管理工作是机场日常管理中的一项重要工作,需要对机场周边净空保护范围内的新建和既有建筑物进行限高验算,以保障机场净空环境安全[1]。随着我国机场建设规模的快速发展,双跑道及多跑道机场不断涌现,净空管理覆盖面积增加,净空限制面条件更加复杂,这就给机场外业巡视人员的管理工作增加了难度。需要开发一种基于移动设备(Android手机等)的方便快捷净空障碍物识别软件,以满足民航机场实时高效的净空审核需求。

1.机场净空障碍物限制面规定

根据民用机场飞行区技术标准(MH5001-2013)规定[2],净空障碍物审核主要考察的限制面包括内水平面、进近面、起飞爬升面、过渡面、锥形面和外水平面,其中:1)内水平面以跑道两侧端点为圆心绘制规定半径圆弧,在与跑道中心线平行两组直线相切构成的近似椭圆形,高程超出机场跑道计算标高45m;2)锥形面自内水平面外侧边缘起始以1:20的坡度向上向外延伸至外缘规定高度3)进近面由跑道入口一侧的三端倾斜平面组成;4)起飞爬升面为跑道端外侧的一个倾斜平面或其他规定的面;5)过渡面是由跑道升降带边缘向上向外倾斜至内水平高度,且与进近面边缘相接的一个复合面。由于跑道存在两个起飞方向,特别是同时存在多条跑道时,上述限制面存在较复杂的相互重叠区域。此时,需结合该障碍物所处限制面范围,逐一判定限制面高程,进而筛选最小限高作为该点控制标准。

2.机场净空模型坐标换算

建立净空数字模型首先需要确定其所处的坐标系统。目前,我国常用的坐标系包括北京54坐标系统,WGS84坐标系统和2000国家大地坐标系统,以及一些地方独立坐标系等。为了方便构建净空模型和审核计算,可参照机场跑道基准点,建立符合本场条件的AB坐标系统。具体的,以跑道中心线延长线为x轴,y轴与x轴处于同一平面且相互垂直,跑道纵坡度忽略不计。进而,根据平面解析几何知识建立AB坐标系与整体坐标系统的转换方程。

3.障碍物识别软件设计与开发

为使软件使用便捷高效,采用安卓手机为硬件平台,使用Java语言编制客户端APP代码,实现净空数据的输入、计算以及存储输出功能。通过机场一线实地调研,结合工作人员的工作流程和操作方式,将净空软件划分为四个工作界面,依次为“项目信息”、“净空模型”、“审核计算”和“结果输出”。不同界面之间通过滑动操作(SlideMove)进行切换,单个页面内通过手指的滑动操作(ScrollMove)实现菜单栏的上下拉动。

3.1项目信息页面

点击APP图标后进入软件主界面,“项目信息”页面主要提供项目名称和业主单位等工程基本信息输入功能,通过下拉框(Spinner)选取当前工程坐标系,软件后台根据用户选择调用对应的坐标转换方程及系数。通过文本框(EditText)输入审核编号及审核人等信息,软件后台自动调用当前手机系统时间作为审核日期,通过显示框查看。

3.2净空模型页面

点击屏幕底部“净空模型”图标或向左滑动屏幕,进入该页面。依据机场当前运行条件,软件内置相应的机场净空限制面模型基本参数。根据上述参数计算各个限制面各个边线方程及其在水平面内的投影,用于障碍物位置识别和限高计算。为了保障数据安全和避免人为误操作,在界面中仅提供数据显示功能,编辑功能需解锁更高权限后获得。在此基础上,还可根据远期规划要求,将拟建规划跑道作为障碍物判断的补充条件,为机场未来发展预留空域环境。

3.3审核计算页面

通过点击“审核计算”按钮或向左滑动屏幕进入该页面。在文本框中输入待审核建筑物当前坐标系下X坐标、Y坐标、±0高程和建筑物高度等基本信息,供软件计算调用。点击“限高审核”按钮后在下方显示框给出计算结果,包括:该点距跑道中心线垂直距离、该点距跑道较近端水平距离、该点所处限制面位置、该点场压高等。作为补充,还可给出该点的磁方位信息,有助于工作人员对计算结果进行人工判定和快速复核。

3.4结果输出页面

通过点击“结果输出”按钮或向左滑动屏幕进入该页面。此处提供三种结果输出方式:输出审核报告至Word文档、输出审核台帐至Excel表格以及生成障碍物图形显示等。实现障碍物识别结果生成自动化操作,大大简化工作人员工作流程和文书工作强度。

4.总结

以Android平台为依托,进行净空障碍物识别软件的开发和编程设计,实现净空数据高效管理和分析,使净空审核摆脱传统人工验算或电脑操作方式。工作人员在外场巡视过程中能够方便快捷的对疑似超高点进行计算,初步判定审核点高程限制面高度,大大提高工作效率和管理水平。通过与大学生创新创业研究课题结合,使得学生能够较早的了了解一线工作管理流程,增强学习兴趣,完善知识体系,增强就业竞争力。本文研究工作得到中国民航大学大学生创新创业研究项目(IECAUC2015097)资金支持。

参考文献:

篇3

一、引言

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数据库访问技术增强数据操作功能,并且可以实现组件的重用性,进一步压缩软件开发周期,提高软件开发质量。

参 考 文 献

篇4

1.1软件设计过程中需求分析不充分

在计算机软件开发过程中,在对设计项目进行分析时,常常分析的不是很全面,对层次分析也不够彻底,这样软件系统在设计过程中就会存在很大的漏洞,达不到想要设计的效果。因此,这就需要今后在软件设计过程中要对项目进行完整、透彻的分析,从而确定相应的设计内容。

1.2软件设计脱离实际情况

目前,我国在计算机系统设计中普遍存在的问题都体现在程序和过程上,这是因为,在软件开发设计过程中,没有完全按照指定的科学规划来进行,这样设计出来的软件系统与规划好的软件系统存在很大的差距,导致系统项目很难完成,也就直接影响了软件系统的质量。所以说在软件系统设计中,一定要运用更多的时间与精力来做这项工作,一定要更加注重设计、测试以及维护等方面的运用。

1.3软件系统的测试不够充分

软件系统的测试在整个开发过程别重要,有很多设计人员在完成软件系统设计后,并没有对计算机软件系统进行测试,这就使计算机软件在没有保证的情况下投入运营,一旦系统在运营过程中出现问题,将会给计算机系统带来很大的影响。

1.4软件开发系统新特性的增加

在计算机软件开发过程中,都会增加一些新的内容来满足用户的需求,但是在增加内容的同时会给软件的运行程序加大难度,也会给软件的运行带来影响。因此,软件系统在运行过程中,如果对系统要求并不是很严格,就必须要添加相应的需求,如果用户还需要增加新的特性,就需要重新修改计算机运行系统的计划。

2计算机软件开发设计中的对策研究

针对计算机软件在开发设计中遇到的问题,首先需要从设计上进行改进,运用有效合理的方法来改变很多不利的因素,这样才能提高我国计算机软件开发设计的质量,也能使软件行业得到更好的发展。下面我们就针对计算机软件开发设计中遇到的问题提出几点对策方案。

2.1模块式的设计方法

计算机在软件开发设计过程中经常运用模块式的设计方法,因为这种方法可以减少软件在设计过程中的难度,还能在使用过程中任意添加或者改变程序。模块化的设计方法其实就是将每个软件程序划分为若干个小程序,来进行相应的设计和处理,在设置的时候需要保证每个程序都是独立的。在软件设计过程中,对模块化的设计方法需要很多人共同来完成,这样才能使方案达到最好的效果。在完成的过程中需要对程序进行不断的调整与完善,使程序在运行过程中更加稳定。换一种方式讲,不同系统分解设计中的程序设计思想和理念不同,对下属的程序设计也会有所不同,所以就需要对软件系统设计进行调试,或者为软件系统增加新的特性,这样就可以有效的确保模块设计的相应原则。

2.2面向对象的设计方法

在计算机开发软件设计中,面向对象的设计方法是比较复杂的,在实际生活中,计算机软件设计面向的大部分都是实体,比如功能开关、传感器等等。这种设计方法,主要就是运用实体与模块来进行相应的软件开发和设计,因为每个设计对象都是不同的,那么在进行相应的计算机软件设计过程中,要对其进行相应的分解方式,这样就可以有效的面向对象进行设计,切实利用非形式化的方式将对象进行功能上的阐述,从而就可以确定相应的对象,然后通过对象来表示相关的现实模型。再将模型进行映射,这样就可以有效的得到对象模型,从而解决计算机软件系统中的难题,最后通过建立各个对象接口以及相应的可见性,来对每个对象的属性进行科学设计。

2.3设计中的数据流计算

计算机软件开发过程中,有很多设计都是需要有结构层次的,而且在大多数的应用领域中,是没有结构层次,只有数据。比如科技领域和工程领域等等。那么这些领域在计算机设计中会面临很多技术上的问题,对于软件开发过程中的这种数据流设计,可以运用全新的方式来对数据流进行设计,这样可以更好的打破结构层次的设计,从而有效的解决各个领域重大软件的设计难题。数据流的设计环节,主要是针对设计对象的信息进行收集与整理,然后根据整理的这些信息再对软件进行设计。在这个过程中,一定要建立阶段使用的结构化数据流图特征,然后详细的对这些信息进行分析,来准确的判断相应的数据信息流是属于变换型的还是事务性的,然后分别对变换型和事务性进行分析,就可以得出软件设计的相应结构。在数据设计的方式中,主要是注意耦合度以及内聚两个方面的影响因素,因为这样可以有效的运用两个方式来确定软件设计有没有具备独立的性质,这在计算机软件开发中是比较难的。

篇5

计算机软件作为计算机应用的重要基础,计算机软件技术日益发达,计算机的应用面得到了巨大拓展。计算机软件技术作为计算机发展的重要组成,其对于计算机的发展产生着相当巨大的影响[1]。本文将针对计算机软件技术相关发展情况、计算机软件开发设计难点等进行探讨,提出一些解决计算机软件开发设计难点的策略,为计算机软件技术的发展奠定重要基石。

1计算机软件开发发展

由于我国经济高速发展,对于软件行业的需求日益增加,国家根据需求加大了对软件行业的投入,在资金、物力、财力、人力等方面均给予了大量的支持[2]。国家将软件行业的优惠政策指导落到实处,大力发展医疗信息、物联网、安防工作、电子取证以及网银支付等方面的计算机软件应用。国家优惠政策给软件行业的发展带了巨大的机遇,有数据显示我国软件行业在未来的发展空间仍然很大,但是软件发展却出现了两极分化的趋势。

2计算机软件开发设计的难点

2.1软件设计缺乏分析

目前,很多计算机软件开发人员的能力不足,开发中无法对计算机软件进行详细的分析和运行研究,因此出现了编写的软件在实际应用过程中出现了很多问题。譬如,计算机软件在使用过程中出现了大量的用户数据丢失、计算机的程序被大量破坏、计算机联网不稳定等问题,这些问题均会导致计算机软件使用无法正常进行[3]。计算机开发人员对于软件程序的流程和涉及的机密信息处理不认真,造成了用户在使用软件的时候出现安装程序不稳定,未能够达到设计的预算要求和效果。一些软件需求分析不细致,使得开发人员在软件开发时比较笼统,开发的数据不完整,此在一定程度上限制了软件开发在我国计算机的发展。

2.2软件开发质量得不到保障

计算机软件开发具有其独特的复杂性,且计算机较之于其他的产品,计算机软件开发的程序相对比较系统,且一个软件由多个分项目组成。因此计算机软件产品在开发的过程中由于存在着很多子系统,不同的开发人员可能会引起开发工作缺陷,实际软件开发过程中由于开发人员的疏忽,且开发没有严格按照国家的开发要求和开发循环程序和标准执行,使得软件开发设计工作做得不到位,对于软件产品的开发没有按照相应的规划和程序设计工作执行,致使软件开发的流程和软件开发时间大大延长。

2.3软件开发的需求分析不充分

需求分析作为软件开发的重要部分,是软件功能和应用的重要体现,也是软件开发设计的核心。但是很多软件开发人员对于软件需求不甚理解,在开发的过程中常会出现开发的程序功能不符合需求的要求,这就造成了软件开发效率低下,且无法达到软件项目产品的需求。

2.4测试不到位

目前,虽然很多开发人员在进行软件开发的时候会进行代码测试,但是在后续的系统测试上却很不足。很多的软件产品重在开发,对于软件测试方面的重视程度不足,造成了开发完成的软件在后期的使用中出现很多的软件漏洞,这对于软件维护工作造成了巨大压力。因为软件开发完成之后,将会上线应用但是在不同的应用环境中会出现各种问题,例如在不同的操作系统下使用软件可能会出现各种兼容性和操作显示问题,在不通过的浏览器或者不同的应用设备中使用软件,其效果也将变得各不一样。软件开发人员在进行软件程序编写的时候,仅仅测试了其单个程序的功能,对于整个程序的系统功能测试不到位,将会面临着各种问题。

2.5软件开发系统新特性变化

软件开发过程中用户不断提出新需求,要求开发人员必须要针对用户的需求做出改变,这造成了软件开发过程中带来了巨大的程序运行压力。软件系统运行过程中必须要对系统进行严格控制,添加新需求的时候必须要进行仔细研究,针对用户的新特性修改计算机的软件编写计划,为提升计算机软件开发效率提供保障。软件开发系统新特性的变化必不可少,一款成型的软件必须要经过多方面更改和功能完善,并以此来满足用户的需求。

3计算机软件开发对策

3.1模块式设计

计算机软件开发的时候需要用到模块化设计,此方法可以有效减少计算机软件设计和开发的难度,并且还可以在软件开发的过程中添加程序或者删改程序。因为模块化设计,其主要是将一个软件程序分为若干个小程序,通过相应的设计原理和编码处理实现每个模块的功能,最后再根据模块功能组成一个巨大的软件系统。软件设计过程中要求模块化设计的相当多,且多个模块设计由多人共同完成,计算机软件通过不断的调整,使得程序在运行的过程中更加稳定。通过模块设计实现整个软件系统的搭建,更加方便软件编写。模块式编程其主要的模式如下:3.1.1最原始写法只需要将不同的函数简单的放在一起,就可以看作一个模块:上面所说的m1和m2函数,其共同组成了一个模块,软件设计编码的时候,如果要使用则可以通过函数进行直接调用。但是这种模块式的编码,其代码存在着很大的缺陷,即全局变量被污染,整个程序中无法保证该模块的变量函数和其他的模块变量不会发生变量名的冲突,且模块之间的成员看不出直接的关系,因此在软件设计的时候必须要注意这个问题。3.1.2对象模块变成写法这两个m1和m2函数都将封装在module1里面,使用的时候将会通过函数调用对象的属性。此种编码模式可能会导致内部状态暴露,从而造成了通过外部代码来改写内部计数器的数值。当然,模块化软件编写还有其他方式,这两种模式看起来比较直接,且在使用的过程中也看起来比较简单。

3.2数据流设计

计算机软件开发大多数都是面向结构层次的设计,且数据流设计在很多的领域都只有数据,却没有准确的层次结构。人们在进行软件设计的时候,尤其是在科技领域、工程领域等均遇到了相应的软件开发难点。软件开发难点的出现迫使软件开发者必须要想办法革新软件设计方式,必须要打破传统的软件设计模式,解决重大的软件设计难点。数据流设计通过设计对象各个方面进行数据采集,然后再根据采集的数据进行信息设计,数据流设计建立的阶段主要是在结构化的数据图基础之上。软件设计之前必须要详细地分析数据图的特征和信息流的相关特征,然后再进行软件数据的详细分析和准确判断,判定数据的信息流是否属于变换型还是事物型。如图1所示,企业生产供应数据流关系图。按照企业的生产产品、原材料、供应商、维修部门四个关系组成了整个企业的销售、生产系统,所有的行为体现出了整个生产企业的销售和生产流程。

3.3数据结构设计

数据结构设计其主要是将软件的数据利用图形的结构表达出来,利用Warnier等软件开发方式将数据层次化,通过层次结构实现数据表达,另外通过图形来编辑软件[7]。软件开发设计我们通常会遇到设计问题、待解决的难点问题,而数据结构设计则可以直接将这些的特点关系利用图形结构描述出来,进而解决计算机软件开发过程中遇到的难点问题。数据结构设计分为了三个层次:顺序、重复以及选择,软件详细设计与数据结构设计在整体上差别不大,数据结构的设计主要步骤在于调查分析数据结构,根据不同的数据结构创建出相应的程序控制结构,在用于描述输入、输出的软件数据结构设计过程,将确定的操作程序详细列举出来,然后再将所得的操作按照软件的需求进行分配,以此来完成软件开发。

3.4提高软件需求分析能力

其实软件的需求分析来自于之前软件开发立项以及软件最初始的用户需求,软件开发人员在进行软件开发的时候必须要注意提高软件的需求分析能力,从根本上实现软件需求能力提升,对软件的功能有一个实质的认识。软件开发对于软件的需求分析,必须基于用户基本需求,通过明确用户的基本需求来不断提高软件开发人员了解对软件需求的深层次认识,同时还可以适时提出一些软件改进建议,这对于提升软件产品的质量具有十分重要的作用。软件开发团队必须要召开内部开发会议,让开发人员对于软件的功能有一个更加清楚的认识,对于软件可能会遇到的问题有一个预计。

3.5加强软件测试

软件测试其实是软件开发一个非常重要的环节,软件的测试工作是否到位,将会直接影响软件产品的质量。伴随着软件开发行业的竞争日益激烈,加强软件测试对于软件产品质量提升具有十分重要的意义。但是很多的软件开发公司为了节约成本要求开发人员进行软件测试,无论是系统测试还是代码测试均要求开发人员完成,这不仅给软件开发人员带来了非常巨大的压力,而且还会造成开发人人员因为测试工作量巨大变得开发效率低下。软件测试工作必须要有专门的部门,软件测试的流程如图2所示。上图所示,软件测试流程中包含了单元测试、集成测试、系统测试以及验收测试,而在测试之前还必须要加强需求分析以及概要方面的设计研究。软件开发团队必须加强软件测试,一旦软件开发出来必须要完成当天的开发任务测试,为后续的开发工作提供重要信息支持。当然在设计测试用例或者进行系统网页测试的时候,还有很多的情况需要测试,上表仅仅几个主要的步骤,还有很多翻转链接的小步骤需要注意,测试的时候需要实现测试的全覆盖,以此来保障软件质量。

4结束语

随着我国信息化的进程不断加快,国家在计算机软件开发上面的投入相当大,为了建立信息网络强国,积极展开对外合作交流。国内的软件开发市场竞争也变得日益激烈,虽然我国的计算机软件技术处于初级阶段,但是经历长时间的发展,国家的计算机软件技术也将发生巨大飞跃。计算机软件开发面临着很多的软件开发设计难点,如何在开发的过程中解决这些难点问题,将是计算机软件开发效率提升的重要保障。本文针对软件开发设计的难点进行分析,提出了一些可行性措施来避免可能遇到的开发难点问题,为计算机软件开发设计提供一些参考。

参考文献:

[1]朱华.计算机软件开发设计难点及对策分析[J].科技创新与应用,2016(28):99.

篇6

中图分类号: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.

篇7

1 概述

 

交互式多媒体软件是一中运行较为复杂的软件。它需要在多个软件和硬件平台的支撑下,才能够将文本信息、图形信息以及图像等多种形式的信息进行比较科学合理的整合,这样才能形成双向交互功能强大的软件产品。交互性是交互式多媒体软件最本质的特征,这一突出的特征具有重要作用,它能够使用户信息接收的地位改变,由原来的被动者变成主动者,用户可以控制信息的流向和速度,满足用户参与信息接收的过程,也体现了用户的主体性,用户在使用软件产品时能够得到参与互动的体验。交互式多媒体软件的另一个重要特征是非线性,是指交互式多媒体软件没有线性的约束,用户可以根据个人情况接收信息,想了解什么,先了解什么,都由用户决定,使信息获取方式更加灵活。随着交互式多媒体软件的应用范围扩大,教育教学、电子出版以及商业展示等领域也渗透了这种软件,而其中教育教学领域的交互式多媒体软件运用是最为成熟的。交互式多媒体制作的课件,交互式教学平台的运用,使得交互式多媒体软件成为了辅助教学和远程教育的重要工具。在商业展示领悟,传统的利用实物图片或者视频的方式进行产品展示,这样的画面虽然真实,但消费者无法透过图片了解产品,也无法了解产品是否符合自身需求,这样的产品展示方式已然不满足发展的需求,而交互式多媒体软件的出现,打破了这一种场面,因为利用交互式多媒体软件,用户可以根据个人意愿了解产品的细节,激发用户的购买欲望。

 

2 设计

 

交互式多媒体软件的设计,美观是要考虑的因素之一,但不能只考虑美观,那样只会华而不实,更重要的界面组件与布局的设计,要能够保证交互行为顺利进行。就软件设计而言,交互的界面不应过于花哨,尽量简洁大方,不要因为美观而影响使用,带入很多不必要的干扰信息,严重的会造成界面污染。对于软件进行内容设计之前,要对产品针对的消费人群进行调查研究,这样才能使设计的内容具有很强的针对性。摄像机交互演示软件具有很多功能,一方面它能够在教育领域作为摄像机学习的虚拟器材,另一方面,一种新型的摄像机在面世之前,要进行产品展示和用户体验,这时摄像机交互演示软件就能作为展示的工具。因此,这类软件的用户主要是一些摄像机的初学者和一些想要购买准备上市的摄像机的潜在消费者。通过软件,这些用户能够对摄像机产品的结构、功能进行了解,并进行虚拟操作,因而,该软件产品设计使,不仅要有结构和功能的介绍,还要带给用户虚拟操作的体验。三维模型是交互式多媒体软件的核心,其真实性与精细的程度对软件的整体效果和软件给用户带去的体验有直接的影响。因而,在软件设计时,这一部分的精细程度是考虑重点,要保证每一个细节的完美,这样才能给用户更真实的视觉感受,满足他们的探究欲望。交互是交互式多媒体软件的重点,交互功能是设计的关键。例如在摄像机交互演示软件的设计中,重点是要让用户了解产品的结构和功能,并能够带来操作体验。具体设计有如下步骤,通过键盘移动、旋转和缩放摄像机,实现摄像机结构的全方位展示。通过鼠标移动功能,介绍摄像机部件的名称和使用的方法,让用户对摄像机部件功能有所了解。通过鼠标点击功能,不仅可以对摄像机LCD显示器或镜头盖进行打开或关闭操作,还可以对其他部件进行操作,这一功能使用户能够对摄像机进行基本的运用,使消费者能够购买到符合自身需要的商品。

 

3 开发

 

3.1 开发平台

 

Maya是世界顶级的三维动画软件,它不仅能够提供完美的三维建模,还具有动画、特效以及渲染功能。Maya主要建模方式有三种,分别是Nurbs、Polygon和细分建模,方便不同建模习惯的开发者。例如摄像机模型的设计,利用Polygon可以保证精细程度,操作也比较简单。Virtools是三维开发的虚拟现实软件。它不需要代码编写,可以利用鼠标拖放实现交互,解决了开发软件难的问题。

 

3.2 建立模型

 

摄像机拥有一个看似复杂的结构,但只要掌握它结构的特点,在建模过程中分解成小的部分,建模就会变得简单。在部件制作中,可以先做规则部件,不规则部件可由规则部件加工而成。所有部件完成后,要进行部件组合,最后组接在一起。摄像机模型建成后,还需要根据每个部件的材质特点进行属性编辑,例如机身材质为亚光塑料,镜头属玻璃材质,部件的材质特点要求的色调、亮度和反射率是不同的,因而要在属性中对应编辑。才能将部件材质特点表现出来。此外,部件纹理的添加也不能忽视。首先要导出需要贴图的部件,利用专业软件进行展UV,将得到的新物体重新放入模型取代同一物体,其次,可以确定部件的UV坐标,将坐标导入Photoshop软件中,绘制物体表面特征和细节。最后,将绘制好的纹理贴图给予该物体。这样才能是材质具有纹理的效果,充分展示材质特点,赋予模型真实感和立体感。

 

3.3 实现交互

 

利用软件设计好模型之后,就要实现其交互的功能。实现交互功能要运用到很多的BB,BB安装之后,我们可以利用键盘按键或者是鼠标光标对模型进行操作,通过按键实现模型的移动、旋转和缩放,缩放过程中还可以控制速度。通过将鼠标的光标移到模型的部件位置,可以查看部件的简介和使用方式,此外,还可以利用鼠标点击功能,控制LCD显示器和镜头盖的开关,安装或者卸载电池过P2卡。可见,软件设计好以后,用户就可以通过鼠标和键盘进行产品了解和虚拟操作。此外,交互式多媒体软件的有两种方式,一是以·vmo格式保存,以·html格式导出,这种方式需要安装播放插件,而且只能以网页形式使用;另一种是利用Virtools Make Exe插件进行格式转换,并制作成客户端,安装在计算机中即可使用。

 

4 结语

 

篇8

目前,新疆医科大学信息管理与信息系统专业开设涉及计算机的专业课程:C语言、数据结构、数据库应用、多媒体技术应用、软件工程、网站建设与开发(ASP.NET)、面向对象程序设计(Java)等。在教学过程中,虽然每门课程都设计了适当的实验教学内容,但是在学习完相应的课程之后,对于一项软件开发项目学生还是感觉无从下手。造成此种现象原因诸多,其中一个重要原因是授课教师完成本课程的教学内容,没有过多考虑本课程与其他课程的衔接问题。由此,我们对这些课程的实验内容进行整合,在以往各课程实验课的基础上,综合开发了“软件开发与设计”课程,课程内容突显实操性,教学目标是培养学生动手设计开发软件项目的能力。

针对软件开发与设计课程教学过程中涉及的实验教学内容问题,我们将其他相关课程的实验教学内容进行有机整合。通过开设软件开发与设计课程,解决相关各门课程实验教学内容的交叉与衔接问题。

2课程设计

2.1课程学时及教学目标

软件开发与设计课程是信息技术一门综合实践类课程,应用性强,目标是为学生从事管理信息系统的开发工作提供理论支持和实践方法。软件开发设计过程蕴含着分析思考、工具利用、抽象表达、综合创造等多项技能,对信息专业人才素质的培养至关重要[1]。课程开设学时数设定108学时,其中理论学时18,实验学时90,理论与实践学时分配原则为1:5。

在软件开发与设计课程中,学生通过选定软件开发项目,运用软件开发与设计基本技能,运用开发工具进行项目的需求分析、总体设计、详细设计、数据库设计、功能界面设计,进而进行软件编码、测试和维护等主要工作。

2.2课程教学环节设计

为了达到软件开发与设计课程的教学目标,教学过程中设定八个关键的环节,确保教学过程顺利实施,课程教学环节如图1所示。

众所周知,过程控制和过程管理一直是项目执行的关注点[2],为了达到这门课程的教学目标,我们对课程的关键教学环节都制定了具体要求,具体要求如下。

第一阶段:项目选题。教师通过案例讲解,引导学生选择工作量适当的软件项目。教师针对学生选题展开讨论,分析项目实施中可能存在问题。

第二?A段:需求分析及总体设计。学生围绕选题进行业务流程设计,划分用户角色,为每一个业务设计流程。根据软件项目具体需求进行系统动态分析和动态模型分析,构建系统状态图与时序图;按照需求分析的任务、步骤和原则,进行功能需求设计和系统建模。

第三阶段:数据库设计。学生使用ER-Win等工具构建E-R模型。具体工作包括E-R图设计;表的定义;主外键设计;索引视图设计;存储过程与触发器设计;SQL脚本生成。

第四阶段:软件开发环境构建。在学生动手编码之前,围绕项目构建开发环境,选择使用的数据库包括:SQL Server 2008R2、MySQL、SQLlite等,选择使用的网站服务器包括:IIS、Apche等。

第五阶段:详细设计和编码。依据项目开发要求,学生通常选择的开发语言有:ASP.Net(C#)、Java、PHP等。

第六阶段:界面设计。在项目的界面设计、美化和布局方面,学生使用已经学过的多媒体应用工具软件包括:PhotoShop、Flash等。

第七阶段:软件测试。学生结合软件工程所学软件测试方法,对的软件项目进行白盒测试和黑盒测试测试,设计合理的测试用例完成测试工作。

第八阶段:项目验收。软件项目验收时,学生进行软件作品现场演示,介绍软件主要功能,教师根据设定评分标准进行打分,现场点评并提出今后改进意见;现场参加项目验收的同学可相互学习交流。

2.3课程考核方式

在考核方式上,软件开发与设计课程采用了形成性考核机制,目的是对学生在各阶段学习过程进行考核[3],分阶段全面测评学生学习效果,课程考核分值比例表见表1。

2.4课外实践能力培养

通过课程实施,学生实践动手能力得到显著提高,学生参加课外活动实践能力逐步提升。通过参加大学生计算机设计竞赛活动、SRP训练项目,学生所完成的作品质量也有所提高。通过竞赛和训练项目,激发了学生软件开发设计的兴趣和主动性,培养和锻炼了学生软件设计开发的能力。

3 教学存在问题

篇9

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参数设置

篇10

一、引言

 

移动学习(Mobile Learning),是指基于手持终端的学习、阅读、娱乐等文化消费行为。[1]广义上的手持终端,包括手机、PDA、学习机、PSP、MP3、MP4 等设备。随着智能手机和平板电脑等智能移动终端的普及,移动学习已成为一种重要的学习模式,具有灵活性、便携性、交互性、个性化和广泛性等特点。[2]由于移动学习可以跨越地域限制,充分利用可携带技术;同时,借助智能终端提供的多点触控、无线上网、多媒体应用等技术,使学习过程充满了魅力及乐趣。[3]

 

钢琴作为乐器之王,在发挥音乐开发智力的功能中比声乐以及其他乐器有着更多的优势,因此,它常常被当成首选的家庭乐器。不过,钢琴的价格比较昂贵,动辄几万元,不是所有家庭都能负担得起的。而且一些家庭在购买钢琴给孩子练习后,发现孩子对它缺乏兴趣,使用一段时间后就束之高阁,造成投资的浪费。如果能事先了解学习者对某种乐器的喜爱程度和兴趣,就能有效地帮助孩子挑选合适的乐器。

 

移动学习模式能很好地解决上面的问题。由于它本身具有的特性,可以为学习者提供一个虚拟化、情境化的乐器学习和弹奏环境,挖掘学习者在音乐方面的潜质。

 

二、现有模拟钢琴类学习软件存在的问题

 

作为一种新的移动学习类软件,模拟钢琴软件受到人们的关注。本文从360的手机Android平台和安卓网(pc6.com)上随机下载5款模拟钢琴类软件并从功能模块、按键设置、学习功能、适合人群和收费情况5个方面进行对比,如表1所示。

 

从表1可以看出5款软件都实现了一些钢琴使用的基本功能,例如小键盘显示、按键发音、播放已有钢琴曲目;同时,每款软件又各有特色,如边学边弹模式、乐谱简化为字母、音效模拟或者音符与五线谱对应等。从界面设计来看,5款软件都提供单排演奏功能,有2款软件还提供双排演奏。从学习功能上看,这5款软件的学习功能都偏弱,完美钢琴虽然提供一定的学习模式,但是需要在付费情况下才能使用,而且没有提供相应的钢琴学习材料;一秒学钢琴的学习模式与完美钢琴类似,但是也无学习教材;钢琴教练尽管支持学习模式并有学习教材,但这些功能需要在收费模式下才能使用。从适用人群看,前3款软件均需要使用者有一定的音乐基础,而其余2款软件则可以面向无钢琴使用基础的人使用。

 

总体来看,这5款软件所提供的学习功能都较弱,它们更倾向于提供休闲娱乐功能,而且大部分适合于有一定音乐基础的学习者。因此,开发一款功能丰富,并能兼顾钢琴初学者的学习软件具有很好的实用价值。

 

三、移动学习的特点

 

智能手机的出现为教育类软件提供了一个全新的平台,手机类应用具有携带方便、简单易用、可以随时随地学习的优势。[4]因此,移动学习类软件在策划的过程中应该根据自身特点进行设计。下面列出移动学习的一些特点。

 

(1)学习形式的移动性。学习者不受时间的限制,任何时间都可以进行学习,而不必按固定的时间进行。同时,教师也可在移动中不受时空的限制随时随地进行教学。[5]

 

(2)学习时间的碎片性。为了方便学习者在移动中学习,可以充分利用时间的零碎片段,掌握一个相对完整的知识组块,经过每天的积累和消化,最终会形成一个完整的知识拼图。[6]

 

(3)学习过程的交互性。移动学习环境使用最新的技术给教学活动带来交互的环境。学生不是被动参与到学习过程中,他们可以利用网络通信技术和移动计算技术,实现数字化学习信息、资源和服务传输的双向交流。[7]

 

(4)个性化的学习需求。在移动学习模式中,学习者根据自己的学习需求,自己控制学习的进度、安排学习时间和地点、自由选择学习内容。

 

(5)学习技术的融合性。移动学习将诸如个性化、多媒体、情境智能、触觉交互、移动设备、无线通信等多种技术相互融合,实现了从有线虚拟学习环境到无线虚拟学习环境的转变。

 

四、Opiano的设计

 

1.Opiano的设计目标

 

现有的5款钢琴模拟类软件是以娱乐休闲为主,缺少教育性。针对这个问题,Opiano在设计时需要兼顾娱乐性与教育性,换言之,Opiano是一款同时面向钢琴初学者和爱好者使用的多功能电子钢琴学习软件,能发现初学者是否对钢琴演奏产生兴趣,减少购买钢琴的盲目性。它借助平板电脑提供的丰富的多媒体功能和多点触控技术等优势,向学习者展现出一个较为真实的钢琴弹奏环境,方便学习模拟。除了弹奏功能外,Opiano还具有乐谱展示、录音和播放、保存、清除等功能,不仅让用户享受在移动终端上弹奏钢琴的乐趣,还具有辅助钢琴教学的功能。

 

2.Opiano的学习资源设计

 

Opiano属于培养兴趣类移动学习软件,通常此类课件的时长设计应该偏短一些,最好在5分钟至10分钟范围内,并将课程知识点进行深度细化。[8]以此为基础,本软件向学习者提供了钢琴启蒙阶段的学习资源。学习资源主要包括文字材料、视频文件和音频文件。文字材料介绍钢琴入门学习的相关知识点,包括键盘认识、钢琴的指法、五线谱基本要素、单手练习和双手练习等10个学习主题,每个主题均配有文字说明和图片说明,内容讲解以10分钟为限。为了丰富学习过程和形式,我们根据不同的主题,分别录制相应的视频文件和音频文件,学生在学习过程中可以随时打开对应的资源以获得帮助。此外,我们还从拜厄的《钢琴基本教程》中精心选择了10首练习曲录制为视频文件,让学生可以跟随视频文件进行练习。

 

3.Opiano软件设计

 

Opiano在软件设计上主要包含两种应用模式:“普通模式”和“学习模式”,如图1所示。“普通模式”可以主要适合于钢琴爱好者,体现出Opiano的娱乐功能。它可以让用户随意弹奏乐曲,并且提供完整的88个钢琴键,用来模拟所有音阶。“学习模式”则帮助初学者掌握基本的乐理知识,虽然只提供最常用的17个琴键(集中在钢琴键的C区),不过可以支持乐谱指示功能,指导用户弹奏既定的乐曲。

 

4.Opiano软件界面设计

 

“普通模式”的界面设计主要分为4个部分,如图2所示。控件操作区显示音量调节、录音、播放等常用按钮。信息显示区显示用户操作的内容。全琴键视图区显示一张全琴键(钢琴的88个琴键)图片。由于设备屏幕尺寸的限制,不可能一次性显示全部琴键,用户通过这个区域就能获知和调节当前琴键的显示范围。模拟琴键区则显示可滚动的模拟钢琴琴键,一次只能显示17个琴键,是该模式下最主要的区域,用户就在该区域进行弹奏。

 

“学习模式”的界面设计同样分为4个部分,如图3所示。其中控件操作区和信息显示区与“普通模式”完全相同。乐谱显示区和模拟琴键区是该模式最主要的两个区域,前者用来动态显示乐谱,使用户可以根据乐谱的指示弹奏乐曲,以达到充分的人机互动,同时体现了辅助教学的功能;后者供用户进行弹奏,但是只显示固定的17个琴键,不可以滚动。

 

五、Opiano实现的关键技术

 

1.Opiano的开发框架

 

根据以上移动学习的特点和Opiano的学习目标,本文基于10.1寸的Android平板电脑开发了相应的移动学习软件。系统要求Android 2.3及以上版本,开发平台为Eclipse和ADT,ADT是Android开发工具,通过安装ADT插件就可以实现在Eclipse上开发Android的应用程序。[9-10] Opiano主要在Android系统的应用程序框架内进行开发,该框架提供Android应用程序使用的系统基本API(如Button、TextView、SeekBar等等),以及开发过程中常用到的基本框架组件,如View、Content Provider等。

 

2.Opiano实现的关键技术

 

为了让Opiano能逼真地模拟电子钢琴的功能,下面将重点阐述软件实现上的一些关键技术。

 

(1)模拟琴键界面的实现

 

当用户进入“普通模式”或“学习模式”后,会在设备屏幕下方看到一排仿真的钢琴琴键,如图4所示。钢琴的琴键是由两个相邻但是形状不一致的白键和一个黑键构成,布局非常复杂。在开发过程中,无法使用单一的布局组件(即Android API,常用的布局组件有LinerLayout等)实现,而是将黑色琴键沿着白色琴键的分界线分割成左右两个小矩形,在线性布局(LinerLayout)的框架中使用相对布局(RelativeLayout)完成的。

 

(2)全键盘视图功能的实现

 

由于Android平台电脑屏幕宽度的限制,为了使用户能够通过拖拽全键盘视图上的滑块(如图5所示)便捷地调节琴键的显示区域,本文采用API控件SeekBar并结合水平滚动布局(HorizontalScrollView)实现全键盘视图的功能,即将图片作为SeekBar的滑道,滑块指示屏幕当前显示的模拟琴键区域。利用SeekBar提供的接口OnSeekBarChangeListener接收SeekBar进度改变时的消息,就能获取用户拖拽滑块前后的进度改变,从而计算出模拟琴键需要滚动的距离,以便让模拟琴键滚动到正确的位置。

 

(3)乐谱动态显示功能的实现

 

乐谱的动态显示是“学习模式”最主要的功能。其实现效果如图6所示。

 

乐谱内容显示在文本控件(TextView)中,一次性只显示两行音符。第一行音符在显示完毕后会自动消失,同时第二行音符移动到第一行,并且在该控件的第二行显示新的音符,因此整体看起来乐谱内容在向上滚动,一次性滚动一行。乐谱内容存储在标准的XML资源文件中,主要存储两种类型的信息——音符和每个音符的时长(节拍数)。使用Android API——XmlResourceParser对XML资源文件进行解析,提取文件中的乐谱信息。

 

乐谱显示的整个过程中,完全由进度条控件(ProgressBar)控制乐谱的动态变化(音符的颜色变化和乐谱内容的滚动)。ProgressBar进度的动态增长是由Android线程实现的,并且其增长速度由音符的时长决定。

 

(4)弹奏模拟琴键的程序实现

 

弹奏模拟琴键是“普通模式”和“学习模式”下最主要的程序。首先,它给用户提供了仿真的模拟钢琴琴键界面,让用户可以触摸。其次,当用户用手指触摸每一个模拟琴键时,模拟琴键会发出相应的琴键声音直到用户抬起手指,声音才会停止。为了使用户弹奏模拟琴键的效果更为真实,该程序还实现琴键被按下和弹起时不同的视觉效果,其功能如图7所示。该程序主要通过按钮触摸事件监听器来实现。

 

(5)调节琴键显示区域的程序实现

 

由于设备尺寸的限制,无法将全部的模拟琴键一次性地显示在屏幕上,屏幕只能显示17个模拟琴键。但是模拟琴键是可以通过调节设备屏幕上方的全琴键视图而进行左右滑动,在滑动的过程中改变其在屏幕上显示的琴键区域。除此之外,用户还可以通过全键盘视图准确地获悉当前显示的琴键是在什么区域,方便用户进行弹奏。

 

例如,用户当前看到的琴键处在中音区,但是用户想到高音区进行弹奏。这时用户可以向右拖拽全键盘视图上的滑块,直到在高音区的位置停下,之后模拟琴键就能在瞬间平滑地移动到高音区,其功能如图8所示。该程序使用的接口为View.OnSeekBarChangeListener,此接口用于SeekBar控件的事件监听器中,可以监听SeekBar控件变化前、变化中和变化后的动作。

 

六、Opiano的评价

 

Opiano开发完成后,为了评价其效果,我们随机选取年龄在6-12岁的学生,共计15人试用该软件,其中6-9岁的学生有10人,10-12岁的学生有5人。这些试用者之前都没有任何钢琴弹奏的经验。经过为期一个月的使用,年龄段在6-9岁的学生中有7人对钢琴演奏产生兴趣,能够利用这款软件演奏简单的曲目,这部分学生的比例约为70%;余下3人只是将其作为娱乐软件使用,但能经常使用。年龄段在10-12岁的学生中有2人对钢琴演奏产生兴趣,能够用比较规范的指法演奏简单的曲目;剩余的3人中有2人将Opiano作为娱乐软件使用,剩余1人则没有兴趣,很少使用。

 

根据上述结果可以看出,年龄段较小的学生容易对Opiano产生兴趣,学习效果良好;而年龄段较大的学生大部分是将Opiano作为一个娱乐软件使用,并没有继续学习的意愿。可见,对于钢琴的学习,年龄段越小的学生越容易培养出爱好,家长可以有意识地让孩子先接触模拟类移动软件以便发掘出孩子的兴趣,之后再购置真实的钢琴。这样,可避免因为盲目购置而造成的乐器闲置。Opiano提供的虚拟化学习环境和精心设计的教学内容,让53%以上的测试者沉浸在学习环境中,促使他们掌握初步的乐理知识和演奏技能。

 

七、结束语

 

篇11

1.安卓系统下LBS智能终端导游系统的关键技术阐述

 

位置信息服务LBS主要是基于3方技术来共同完成的,它们是来自于移动终端的定位软件技术、网络通信技术以及安卓系统。以下就一一阐述这3方下的具体关键技术特点。

 

1.1定位软件技术

 

定位软件技术是LBS智能导游系统应用中的关键核心,一般起到功能作用的是Skyhook Wi-Fi定位系统和蜂窝基站定位系统,包括外部全球定位系统GPS。这几项技术都通过天线向外部发送信号,并寻求距离自己最近的复数基站,通过它们的信号转递进行信号定位。而Skyhook Wi-Fi则运用到了固定热点技术,它能直接与手机或其它智能移动终端的MAC地址相互绑定,实现对系统无线信号的接入,从而获取用户想要的地理定位信息。

 

另外,利用智能手机内部的微机电三轴加速传感器也能够实现对智能导游系统功能的应用。其功能实现原理是手机在空间坐标系中同时向3个方向轴上输出加速度分量,并通过这3个方向的加速度积分计算来推导出空间三维速度和位置,为用户提供准确的服务。

 

1.2网络通信技术

 

网络通信技术包含许多种,比如套接字通信,HTTP协议,增强现实技术等等。首先说套接字通信(socket),是网络通信技术的基础,能够支持TCP/IP协议获取最基本的网络通信包,从而实现对客户端服务器的连接,进一步获取本地IP,本地DNS,远距离IP及DNS。另外,安卓系统中的SDK、CFNetwork framewrok也能为基础网络通信接口提供网络通信服务,实现远程位置查询。

 

而HTTP协议则提供了简洁快捷的应用层技术,基于信息传输主体内容的实体、通信层与应用层之间的通信连接、HTTP所传输的消息内容、客户端向服务器发送的内容请求、接受客户请求时HTTP月艮务器端的响应以及由URI表示网络服务中的资源来为LBS提供更好的网络技术支持。

 

1.3安卓系统

 

安卓系统出现相对较晚,主要采用了软件堆层的主题架构,并细分为3大部分,底层Linux内核、中间层函数库Library及虚拟机,还有上层具体app应用软件,它们都是由C语言、c++、JAVA等计算机语言所编写的程序。

 

针对LBS来说,安卓系统中的Linux和Application Framework则更加关键。Linux主要为安卓系统提供核心系统服务,是连接智能手机软硬件系统的抽象层,并将二者细化分层。所提供的服务也是统一的,能够屏蔽一些不相关层的信息,使各个信息层之间处于不关联状态。而Application Framework则是利用安卓系统中的开发应用程序来简化手机系统结构,并将LBS中所需要应用的视图、音频等组件集合起来,允许用户使用各个应用程序来访问其它数据,这在智能导游系统中是十分重要的,即通过对系统资源的共享应用来实现手机定位。

 

2.基于LBS的安卓智能手机导游系统软件设计

 

整体而言,基于LBS的安卓智能手机导游系统软件应该包括优化了的封装位置定位服务、高品质的网络通信服务、实时的数据缓存服务以及其它一部分交互展示功能。正是这些关键技术的加入才丰富和提升了手机定位软件的应用性能和运行效率。

 

2.1基于LBS的相关定位控件设计

 

2.1.1控件设计

 

BPLocation是LBS中一个较为重要的位置服务控件,它能够创建uIAccelerometerDelegate与CLLocationManagerDelegate接口,通过它们实现对GPS位置信息的获取。同时它也能计算GPS漂移数据量,实现对用户运动轨迹函数的推算、区域检测等等。近似于BPLocation类的相关函数种类众多,文中简单介绍3种:instance是典型的BPLocationManger类,它属于静态函数,能够根据系统应用来实现XCBPLocationManger变量的获得;LocationManager则通过设置DesiredAccuracy来获取用户的位置方向与具体信息数据;还有accelerometer,它是基于UIAcceIerometer抽象类的控件,它就是利用到了微机电的三轴加速传感器,可以在用户手机LBS软件客户端的x,y,z三个轴上实施加速度,进而计算用户手机设备智能导游系统的运行速度,起到纠正手机内部GPS定位误差的作用。

 

2.1.2设计应用

 

在具体应用中,LBS的相关控件会根据手机的位置实施运动轨迹的定位,可以实时记录用户的运行轨迹,一旦出现任何漂移,也能将这些偏差自动滤掉,这就是过滤偏移。过滤偏移共有2种方式:利用GPS历史记录确定偏移是否存在;再者就是利用计算机的运行速度和加速度来确定定位是否存在偏移,这种方法更加合理,而且精确度也有保证。

 

区域检测也可以通过手机安卓系统检测游客在所规定区域范围内的运动轨迹,这是智能导游系统所惯用的技术。当游客离开规定区域时,系统会发送消息通知用户,告知用户的运行轨迹,比如一些用户在跑步时会用到的计步软件,它的检测原理主要以规定区域中心点作为主要检测中心,当用户运动时,系统会为其与区域中心点做比较,所比较出的结果就是用户以中心点为轴心的运动轨迹。

 

2.2基于网络通信系统的相关模块设计

 

就网络通信系统模块设计而言,主要将研究重心放在BPFormDataRequest和BPRequestQueue的设计上。BPFormDataRequest是BPHTTPRequest的子类,在扩展手机智能导游系统对POST的支持时,就要实现基于POST的所有位置数据请求参数设置和相关文件上传,这样才能发挥BPFromDataRequest的实际作用,明确数据24#的路径和网络通信模块的所有通信接口。

 

相对而言,BPRequestOueue则衔承于NSOperationOueue模块,它能够管理并实现BPHTTPRequest的实时复数请求,同时也允许其对象在网络环境中发送任何位置信息请求,它与普通的传输信息模块是不同的,它对位置信息的确定性更强,而且严重依赖于图像来定位如图l所示。

 

如果客户通过手机端创建BPHTTPRequest模块,并发送信息请求,所发送的信息将以队列形式等待响应处理,此时LBS也会监测定位信息的传送状态。当请求处理完毕,服务器端将会收到所返回的结果并做记录,同时释放用户所要求的请求资源。

 

2.3基于UI视频图像交互展示技术的系统设计

 

手机智能导游软件要实现对视频图像的交互展示,就必须基于展示模块来设计UI。本文所介绍的是对定位软件系统中原始UIImageYiew的扩展,即BPImageView的应用,能够实现地图类型数据的可视化分析,为智能导游系统提供更多的位置空间数据和可视化功能,以地图和影像的形式展示出来。为了实现地图、影像等数据的可视化,需要通过ARView模块中的动态加载及流技术对地理位置信息进行强化。所以本文主要介绍了基于UI视频图像交互展示技术的系统设计,希望帮助手机实现对地理数据可视化信息获取的功能强化。

 

2.3.1基于BPImageView模块的网络图片加载设计

 

因为BPImageView是UIImageView的子类,所以应该实现其父类UIImageView对所有图片显示类以及图片存储数据的合理运用。这里采用的方法是利用BPImageView来接收setImageURL消息,然后引用基于BPImageLoader的可视化信息强化输出方法。此方法可以达到查看网络中缓存数据存在性的目的。如果数据存在,就说明它们可以直接以图片的形式载入。如果数据不存在,则表示要再次通过BPImageLoader类进行loadlmage For URL数据的调用,重新加载图片。

 

2.3.2 ARView视图功能UI强化的设计

 

首先要说,ARView是具备2部分视图的,它们是兴趣点POI视图和实施传输视频流如图2所示。

 

2个POI点视图处于叠加状态,这就可以确定POI的兴趣点,如果以视图表示POI,就可以了解到用户对该POI点视图的兴趣度。这里采用一个叫做placesOfTnterestCoordinates的数组,通过四维向量来表示数组中用户所记录的兴趣点坐标,这样就可以利用系统来记录用户的位置信息,为用户导航。

 

篇12

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;64GBDDR3内存;2*300G热拔插SAS硬盘;4U机架;冗余电源;LC接口、DVD光驱、HBA光纤通道和4G网卡等。③应用服务器。为确保兼容性,该服务器选用的是Dell-R720,它的基本参数如下:2*E5-2650v2/8GT/20MdeCPU;32GBDDR3内存;4*300G热拔插SAS硬盘;2U机架,冗余电源等[3]。

3系统软件开发设计及开发平台的应用

软件开发设计是本系统的核心部分,为确保应用的稳定性和操作的灵活性,决定采用MicrosoftWindowsServer2008作为操作系统,数据库系统采用的是与之相配套的MicrosoftSQLServer2008数据库,这样能够确保两者的兼容性。3.1数据库的开发环境本系统的数据库采用的是MicrosoftSQLServer2008Enter⁃priseEdition数据库管理系统进行建立,并由其负责对整个数据库的运行进行维护管理。数据库的登录模式为混合身份验证,端口号为1433。之所以选择SQLServer2008数据库是因为它可以给企业数据管理与分析提供良好的解决方案,其应用优势体现在如下几个方面:1)结果响应速度快。管理工具包、和VisualStudio2010共同运行环境的集成,使用户进行系统构建、错误排除以及应用系统操作等方面变得更加高效和快速。2)决策支持。该数据库系统相当于一个智能商务平台,它具备数据整合与分析等功能,由此可以为用户制定决策提供良好的技术支撑。3)安全性高。该数据库系统本身自带的数据加密、强制口令以及默认的安全设置等功能,使数据库的安全性获得了大幅度提高,确保了用户重要信息的安全[4]。3.2资源数据库规划业务数据库是数据中心的设计重点,在设计时要以项目为主线,根据业务系统的特点进行设计,实现对资源数据的统一规划。由于业务系统主要是针对工作流程、人员、信息方面的管理,所以可将其分为会员数据库、机构库以及专家库三类基础数据库。其中,会员数据库是对建筑企业、政府采购行为的相关数据进行管理;专家库是对招标、采购、评标、监管等方面的相关资源数据进行管理,可配合终端辅助设备进行使用。3.3数据标准接口设计在充分考虑异构系统问题的基础上,各类数据接口采用XML格式的设计标准传递数据,通过数据交换平台与各应用系统接口进行对接[5]。通过数据标准接口设计,可使整个系统提供WebService接口,设计时必须根据国家制定的相关标准确定该系统的数据标准,将数据标准的编定作为系统设计的重点。

4结论

综上所述,本文以建设工程项目招投标系统设计为依托,对其软件设计的相关问题及开发平台的应用进行了分析,目前,该系统已经进行了试应用,系统运行稳定,并未出现重大问题,它的应用为建设项目招投标工作的开展提供了良好的平台,大幅度提升了招投标的效率和质量,具有一定的推广使用价值。

参考文献:

[1]李犁.基于BIM技术建筑协同平台的初步研究[D].上海:上海交通大学,2012.

[2]李晔.算量软件在建筑工程上的应用及问题探讨[D].青岛:青岛理工大学,2015.

[3]王秋阳.解析电子招投标系统在建筑工程招标投标的运用[J].黑龙江科技信息,2015(15):125-127.

篇13

随着移动互联网技术的迅速发展,智能手机已成为人们生活中的一部分,全面而深刻地改变着人们的交往方式、生活方式和学习方式。自美国加州大学伯克利分校的人机交互研究室于2000年启动名为“移动教育(Mobile Education)”的项目以来,全球教育界和移动设备研发商都开始密切关注移动学习(Mobile Learning)的研究与实践。移动学习是指学习者在自己需要学习的任何时间、任何地点,通过移动设备和无线通信网络获取学习资源,与他人进行交流、协作,实现个人与社会知识建构的过程。[1] 它具有学习环境随意性、学习时间零碎性、学习活动情景性等特点。

汉语拼音是小学低年级学生的重要学习内容,是少儿学习汉字的基础。要想提高汉语拼音教学的效率,就必须充分激发学生的学习兴趣。《语文课程标准》(以下简称《课标》)指出:“汉语拼音教学尽可能有趣味性,宜以活动和游戏为主。”《课标》还指出,拼音教学主要是让学生学会正确拼读。但是,由于受方言的影响,以及家庭、幼儿园等学前教学的不规范性,给拼音字母及音节的准确认读带来了许多困难。如何根据少儿的认知特点,把移动学习应用到少浩匆艚萄е校设计开发一款适用于少儿拼音学习的移动学习软件,使少儿能够随时随地开展有趣的拼音学习,提高拼音学习效果,是一个值得研究的问题。

本文在移动学习理念的指导下,充分利用移动终端设备携带方便、触摸操作、无线通信、图文声并茂等性能特点,为少儿设计开发了一款拼音移动学习软件。该软件由Web站点和APP两部分组成。Web的主要用户是教师,为教师提供了拼音教学内容动态管理和学生信息动态管理等功能。APP的主要用户是学生,为学生提供了拼音认读、拼读和拼音游戏等学习模块,让少儿在具有精准发音的环境中学习拼音, 即使没有父母或教师在身边,也能学习纯正的拼音发音;APP软件运行在智能手机上,可以让学习者随时随地利用零碎时间开展学习;而且APP软件中图文声并茂的学习内容和“拯救喜羊羊”等游戏情境的创设,更能激发学习者的学习兴趣。

一、少儿拼音移动学习软件的设计

少儿拼音移动学习软件的设计要根据少儿拼音教学目标要求,在相应教学理论的指导下,遵循少儿的认知规律,充分利用移动学习环境的特点来展开。

(一)学习理论基础

学习理论是认知心理学的一个分支学科,旨在揭示“什么是学习”“如何进行学习”的理论。由于学习过程的复杂性,心理学家从不同角度、运用不同的方法对学习问题进行了大量的实验研究,产生了各种学习理论的流派――行为主义、认知主义、建构主义等。这些不同的流派各有特点,相互补充,适用于不同的情形。

行为主义学派认为,学习是学习者对外部刺激的反应;只要控制好外部刺激,就能控制和预测学习效果;促进学习的最好方法是强化。在行为主义学习理论的指导下,移动学习软件的设计要遵循小步子推进、积极交互、及时强化的原则:要把教学内容划分成细小的单元,便于学习者利用零碎时间开展学习;在每一个细小学习单元之后,要安排交互练习,促进学生对所学知识的积极反应;反馈要及时,使外部刺激能得到及时强化。在行为主义学习理论指导下,移动学习软件的基本学习过程是呈现、作答和反馈。它适用于开发练习型移动学习软件,促进学生对所学知识的复习和巩固。

行为主义学习理论的主要缺陷是,它忽视了学习者内部心理机制对学习过程的重要作用。随着对人类学习过程研究的深入,出现了另一个流派――认知主义。认知主义认为学习是学习者对外部刺激的一个主观能动的内部心理加工过程。认知主义强调学习者的主体能动性、强调新旧知识的联结。在认知主义学习理论的指导下,移动学习软件的设计要充分考虑到学生的内部心理过程:要做学习者特征分析,根据学习者特征教学内容做精心设计与组织;要充分激发学习者的学习兴趣并调动其学习主动性,以充分促进学习者对学习内容的主动的、选择性加工。

早期认知主义对于人类内部心理机制的解释过于简单机械化了。随着对人类学习过程研究的深入,逐渐从认知主义中分离出了一个新的流派――建构主义。建构主义认为,学习是学习者在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式获得的。情境、协作、会话和意义建构是建构主义学习环境的四大要素。在建构主义学习理论指导下,移动学习软件的设计要充分发挥移动技术“携带方便、触摸交互、无线通信、多媒体表现”等性能优点,为学习者营造自主、探究、协作的学习环境,促进知识内化和能力培养。例如,可以开发移动教育游戏软件,寓教于乐,让学习者在竞争、过关中增长虚拟能力,进而增长现实能力。

(二)软件设计

将移动学习应用到少儿拼音教学中,设计开发少儿拼音移动学习软件,要在学习理论的指导下,充分发挥移动设备本身的性能优势,做好学习目标设计、功能模块设计、系统架构设计和学习过程设计。

1.学习目标设计

移动设备具有图文声并茂的性能优势,它在帮助少儿掌握声母、韵母、声调的发音,学习拼音的正确拼读等方面具有得天独厚的优势。为此,我们将少儿拼音移动学习软件的教学目标设计为:帮助学习者掌握单韵母、声母、组合韵母的正确发音;能够正确区分韵母和声母;能够读准声调,并学会正确拼读汉语拼音。

2.功能模块的设计

根据既定的学习目标和学生的移动学习需求,我们设计了软件的功能模块。如图1所示:本件由Web站点和APP软件两部分组成。其中,APP软件是为学生开发的,主要为学生提供了拼音认读、拼读和拼音游戏等模块;Web站点是为教师开发的,主要为教师提供了各类教学内容的维护和学生信息的维护等功能。

3.系统架构的设计

本软件采用B/S(Browser/Server,浏览器/服务器)和C/S(Client/Server,客户端/服务器)混合架构。如图2所示:Web站点采用B/S架构。教师只要打开Web浏览器,就可以远程访问Web站点的所有功能,实现对拼音教学内容的动态更新和维护。教学内容存放在服务器上,可以被多个学生用户共享和访问。B/S架构大大简化了客户端的配置,提高了开发效率,又方便了用户的使用和后期维护。APP软件采用C/S架构。学生在智能手机上下载并安装APP软件之后,就可以通过APP与Web站点之间的无线通信功能,从Web站点上获取最新的拼音教学内容,然后通过APP的功能模块开展拼音学习。

4.学习过程设计

学生下载、安装并运行APP 软件之后,就可以看到拼音认读、拼音拼读、拼音游戏三个功能模块。学生自主选择一个模块,点击进入,即可开展相应的学习。

(1)拼音认读

拼音认读模块的学习过程如图3所示:分为学习和练习两个阶段。

在学习阶段,根据学习内容的不同,学习者可以进行单韵母、声母和组合韵母的跟读学习。它们的具体学习过程基本相同。以单韵母“[ā] ”的跟读为例,学生首先看到屏幕右侧一个大大的“[ā] ”文本,知道[ā] 的外形;然后他再点击屏幕左侧“[ā] ”的发声提示图,就可以听到关于该单韵母发声的儿歌“圆脸小姑娘,小辫右边扎,要问她是谁?就是[ā] [ā] [ā] ”,从儿歌中,学生可以获得关于单韵母“[ā] ”发音的感性认识;最后学生可以依次点击右下方标有四个声调“ā”“ᔓǎ”“à”,就可以清楚地听到单韵母[ā] 四个声调的发音。通过聆听和跟读,学生就可以较好地掌握该单韵母的发音。

练习阶段提供了两种练习方式:“听一听选一选”“给声母和韵母找家”。其中,“听一听选一选”练习模块的目的是帮助进一步熟悉韵母和声母的发音,并在声母韵母的发音与外形之间建立牢固的连接,以后看到这个声母或韵母的外形,就能立刻从记忆中提取出该声母或韵母的发音。根据“小步子推进、积极交互、及时强化” 的原则,我们设计了“听一听选一选”模块的练习过程,具体是:运行在智能手机上的APP软件,首先从本地题库中提取一道声母/韵母的拼一拼选一选的题目呈现出来,包括四个选项和一个发音,发音暂不播放;当学习者点击屏幕上的小姑娘时,系统播放发音;学习者根据发音,从四个选项中选出该发音所对应的声母或韵母;系统会对学生的选择做出判断,并给出相应的反馈,及时强化;做完这道题后,学习者可以点击“下一题”按键进入下一题的练习,也可以点击“上一题”按键重做上一题。

“给声母和韵母找家”练习模块的目的是帮助学习者进一步区分哪些是韵母哪些是声母,能把它们正确归类,以便为后续的拼读和正确标写声调打下基础。“给声母和韵母找家”的具体练习过程是:运行在智能手机上的APP软件,首先从本地题库中提取一道给声母和韵母找家的题目呈现出来,包括若干个声母、若干个韵母、一个房子代表声母的家、另一个房子代表韵母的家,以及一个题目音频;鉴于该年龄段的学习者识字量不多,所以系统会先自动播放题目音频,告诉小朋友题目的意思,然后等待小朋友的拖动操作;小朋友根据所学知识,选取一个声母或韵母,将其拖到一个房子里;系统会自动判断小朋友给该声母或韵母找的家是否正确,并给出相应的反馈,及时强化。

(2)拼音拼读

拼音拼读模块的学习过程如图4所示:也分为学习和练习两个阶段。

在学习阶段,学习者可以进行拼音的跟读学习。它们的学习过程与认读模块中的学习阶段基本相同。以拼音“shé”的跟读为例,系统会在屏幕左侧呈现一张蛇的图片,并在右侧呈现拼音文本“shé”,以帮助学习者建立实物与拼音的联系;学习者点击文本“shé”,系统就会播放这个拼音的音频,引导学生怎样用声母和韵母拼出 “蛇”的拼音。

练习阶段提供了两种练习方式:“听一听选一选”“看图找朋友”。其中,“听一听选一选”练习模块的目的是帮助学习者进一步熟悉拼音的拼读方式,并能在拼音的发音与拼音文本外形之间建立牢固的连接。它的具体练习过程与“认读”模块中的“听一听选一选”基本相同,只是练习内容改成了由声母和韵母组成的拼音,而不再是单个的声母或韵母了。

“看图找朋友”练习模块将通过玩对对碰游戏的方式,让学习者为每个实物图片选择正确的拼音。认知主义学习理论强调新旧知识的联结。奥苏贝尔是认知主义学习理论的代表人之一,他提出了“有意义学习”理论,指出只有当新旧知识之间建立非任意的实质性的联系时,有意义的学习才能发生,才能引起学习者能力的发展变化。“看图找朋友”练习模块的就是以学习者原有认知结构中已经掌握的非常好的关于实物的认知为“固着点”,把新学的拼音知识“系”到这个“固着点”上,从而在新旧知识之间建立实质性的联系,使拼音学习变成有意义的学习,而不是机械的拼读与记忆。该模块的具体练习过程是:运行在智能手机上的APP软件,首先从本地题库中提取一道看图找朋友的题目呈现出来,包括若干个拼音文本和若干个实物图片,文本和图片的排列次序是随机打乱的。小朋友选取一个拼音,进行拼读,明白其意思之后,再挑选出一个该拼音所代表的实物图与之匹配;系统会自动判断小朋友的匹配是否正确,并及时给出相应的反馈。

(3)拼音游戏

为了激发学习者的学习兴趣,我们设置了一个闯关游戏“拯救喜洋洋”,寓教于乐,让学习者在闯关过程中融会贯通所学的拼音知识。游戏中,小朋友扮演喜羊羊的角色,它正在被灰太狼追赶。喜羊羊已经被灰太狼追赶到了一条小河边,河对岸就是羊村,村长、沸羊羊、美羊羊都在河对岸呼喊着叫喜羊羊快过河。然而河上没有桥,只有三块大石头。看来,喜羊羊只能通过这三块石头跳跃着过河了。可是,每块石头上都有一道拼音题,喜羊羊必须用所学的拼音知识答对石头上的题才能跳到相应的石头上。如果回答错了,灰太狼就会更加逼近它。喜羊羊必须全力以赴,答对所有题,才能脱离险境。游戏的具体流程如图5所示。

二、少儿拼音移动学习软件的开发

(一)Web站c的开发

为了使程序结构清晰、提高代码的可重用性,同时也为了提高Web站点的可维护性和可扩展性,Web 站点的开发采用了SSH(Struts2 + Spring3 + Hibernate)整合框架,把表现逻辑和控制逻辑分离开来,分别由表现层、业务逻辑层来处理。在SSH整合框架中,Struts负责实现MVC,即实现模型(Model)、视图(View)和控制器(Controller)的分离,以降低系统架构的耦合性;Spring负责业务逻辑的处理,Hibernate进行数据的持久化。具体而言,就是在表现层,由JSP页面负责人机交互,接收用户请求(Request)并把系统响应(Response)反馈给用户。当用户在JSP页面上发出一个请求(Request)时,Struts的核心控制器就会拦截这个来自用户的请求,并迅速在配置文件struts.xml中查找与该请求匹配的Action,然后把该请求委派给相应的Action去处理。在业务逻辑层中,Spring(applicationContext.xml)负责向Action提供业务模型(Model)组件和DAO(Data Access Objects,数据访问对象)完成业务逻辑。在数据持久层,通过Hibernate的对象化映射实现和数据库的交互,处理DAO组件请求的数据,并返回处理结果。最后处理结果返回给JSP页面呈现给用户,此时系统控制权又转移给Struts。

(二)APP与Web站点之间数据通信的实现

本软件采用JSON(JavaScript Object Notation)作为数据交换格式,通过HTTP通信实现了Android应用程序与Web Server之间的数据通信。JSON是一种轻量级的数据交换格式,它能够描述一个复杂对象的集合,而且 JSON 易于人阅读和编写,也易于机器解析和生成。

APP软件与Web站点之间的数据通信过程如图6所示:APP软件访服务器端的MySQL数据库时,先要利用 HTTP 协议发送 Request 请求给Web站点,Web站点调用Struts API根据请求访问SQLServer数据库获取数据,然后把数据封装成 JSON 格式,通过 HTTP 协议回传给 APP软件;APP软件对得到的数据进行 JSON 解析,然后存储到本地SQLite数据库中。这样,以后APP软件运行时所需的数据就可以直接从本地SQLite中读取了,学习者即使在没有WLAN的环境下也能正常学习了。

(三)APP软件的开发

APP软件预置了一些教学内容,学生在脱机模式下就能进行学习。更重要的是,APP在WLAN的环境下,能自动和Web 站点进行数据通信,及时获得最新的教学内容,更新本地的教学内容库,使学生能与最新的教学内容同步。APP软件的开发也采用了MVC的思想,将表现逻辑和控制逻辑分离开来,使程序结构清晰,提高可扩展性和可维护性。APP软件的运行效果如图7所示。

总之,本软件能较好地激发少儿的学习兴趣,有助于少儿利用零碎时间随时随地学习纯正的拼音发音,并学会正确拼读汉语拼音,具有较高的实用性和推广价值。今后,我们将进一步完善游戏画面,使之更加精美。

参考文献

[1] 余胜泉.从知识传递到认知建构、再到情境认知――三代移动学习的发展与展望[J].中国电化教育,2007,(06).

[2] 赵小刚.现行《汉语拼音方案》及拼音教学研究[J].北京教育学院学报,2013,(01).

[3]吴艳玲.小学生汉语拼音学习存在的问题与对策[J].教学与管理,2014(29).

[4]李璐.语音识别的拼音学习中发音识别和评分模块的系统设计[J].黑龙江科技信息,2010,(01).

[5]刘和荣.创设多种手段 激发小学生学习汉语拼音兴趣[J].教育教学论坛, 2013,(42).

友情链接