时间:2023-07-23 09:25:23
序论:好文章的创作是一个不断探索和完善的过程,我们为您推荐十篇软件设计与开发范例,希望它们能助您一臂之力,提升您的阅读品质,带来更深刻的阅读感受。
关键词:知识竞赛;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编程,界面美观友好,操作简单,易于日后程序更新,效率高是本软件系统的特点。
中图分类号: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.产品设计、图纸、论文、报告等技术文件;
2.磁盘、光盘、磁带、计算机软件;
3.样品、样机;
4.成套技术设备。
五、技术情报和资料的保密
包括当事人各方情报和资料保密义务的内容、期限和泄漏技术秘密应承担的责任。
六、本合同书中,凡是当事人约定认为无需填写的条款,在该条款填写的空白处划(/)表示。
依据《中华人民共和国合同法》的规定,合同双方就国家队信息化平台建设项目的技术服务,经协商一致,签订本合同。
一、标的技术的内容,范围及要求
二、应达到的技术指标和参数
三、研究开发计划
四、研究开发经费、报酬及其支付或结算方式
(一)研究开发经费是指完成项目研究开发工作所需的成本,报酬是指本项目开发成果的使用费和研究开发人员的科研补贴。
本项目研究开发经费和报酬(大写) 元,
(二)支付方式
①一次总付元,时间:
②分期支付元,时间:
元,时间:
③其它方式:
五、利用研究开发经费购置的设备、器材、资料的财产权属
六、履行的期限、地点和方式
本合同自年月日至 年月 日在 履行。
本合同的履行方式:
七、技术情报和资料的保密
八、技术协作和技术指导的内容
九、技术成果的归属和分享
(一)专利申请权:
(二)技术秘密的使用权、转让权:
十、验收的标准和方式
研究开发所完成的技术成果,达到了本合同第二条所列技术指标,按 标准,采用 方式验收,由出具技术项目验收证明。
十一、风险责任的承担
在履行本合同的过程中,确因在现有水平和条件下难以克服的技术困难,导致研究开发部分或全部失败所造成的损失,风险责任由甲方承担 %,乙方承担%。
本项目风险责任确认的方式:
十二、违约金或者损失赔偿额的计算
违反本合同约定,违约方应按照《中华人民共和国合同法》有关条款的规定承担违约责任。
(一)违反本合同第 条约定,方应承担以下违约责任:
(二)违反本合同第 条约定,方应承担以下违约责任:
十三、解决合同纠纷的方式
在履行本合同的过程中发生争议,双方当事人和解或调解不成,可采取仲裁或按司法程序解决(一)双方同意由 仲裁委员会仲裁。
(二)双方约定向(被告住所地、合同履行地、合同签订地、原告住所地、标的物所在地)人民法院起诉。
十四、名词和术语的解释
十五、其它
委托人(甲方)
名称(或姓名)
单位公章
年 月 日
法定代表人
委托人
联系(经办)人
通讯地址
邮政编码
电话
传真
开户银行
帐号
研究开发人员(乙方)
名称(或姓名)
单位公章
年 月 日
法定代表人
委托人
联系(经办)人
通讯地址
邮政编码
电话
传真
开户银行
帐号
数据库应用协议书
国家队信息化平台数据库软件设计与开发合同
1.1软件设计过程中需求分析不充分
在计算机软件开发过程中,在对设计项目进行分析时,常常分析的不是很全面,对层次分析也不够彻底,这样软件系统在设计过程中就会存在很大的漏洞,达不到想要设计的效果。因此,这就需要今后在软件设计过程中要对项目进行完整、透彻的分析,从而确定相应的设计内容。
1.2软件设计脱离实际情况
目前,我国在计算机系统设计中普遍存在的问题都体现在程序和过程上,这是因为,在软件开发设计过程中,没有完全按照指定的科学规划来进行,这样设计出来的软件系统与规划好的软件系统存在很大的差距,导致系统项目很难完成,也就直接影响了软件系统的质量。所以说在软件系统设计中,一定要运用更多的时间与精力来做这项工作,一定要更加注重设计、测试以及维护等方面的运用。
1.3软件系统的测试不够充分
软件系统的测试在整个开发过程别重要,有很多设计人员在完成软件系统设计后,并没有对计算机软件系统进行测试,这就使计算机软件在没有保证的情况下投入运营,一旦系统在运营过程中出现问题,将会给计算机系统带来很大的影响。
1.4软件开发系统新特性的增加
在计算机软件开发过程中,都会增加一些新的内容来满足用户的需求,但是在增加内容的同时会给软件的运行程序加大难度,也会给软件的运行带来影响。因此,软件系统在运行过程中,如果对系统要求并不是很严格,就必须要添加相应的需求,如果用户还需要增加新的特性,就需要重新修改计算机运行系统的计划。
2计算机软件开发设计中的对策研究
针对计算机软件在开发设计中遇到的问题,首先需要从设计上进行改进,运用有效合理的方法来改变很多不利的因素,这样才能提高我国计算机软件开发设计的质量,也能使软件行业得到更好的发展。下面我们就针对计算机软件开发设计中遇到的问题提出几点对策方案。
2.1模块式的设计方法
计算机在软件开发设计过程中经常运用模块式的设计方法,因为这种方法可以减少软件在设计过程中的难度,还能在使用过程中任意添加或者改变程序。模块化的设计方法其实就是将每个软件程序划分为若干个小程序,来进行相应的设计和处理,在设置的时候需要保证每个程序都是独立的。在软件设计过程中,对模块化的设计方法需要很多人共同来完成,这样才能使方案达到最好的效果。在完成的过程中需要对程序进行不断的调整与完善,使程序在运行过程中更加稳定。换一种方式讲,不同系统分解设计中的程序设计思想和理念不同,对下属的程序设计也会有所不同,所以就需要对软件系统设计进行调试,或者为软件系统增加新的特性,这样就可以有效的确保模块设计的相应原则。
2.2面向对象的设计方法
在计算机开发软件设计中,面向对象的设计方法是比较复杂的,在实际生活中,计算机软件设计面向的大部分都是实体,比如功能开关、传感器等等。这种设计方法,主要就是运用实体与模块来进行相应的软件开发和设计,因为每个设计对象都是不同的,那么在进行相应的计算机软件设计过程中,要对其进行相应的分解方式,这样就可以有效的面向对象进行设计,切实利用非形式化的方式将对象进行功能上的阐述,从而就可以确定相应的对象,然后通过对象来表示相关的现实模型。再将模型进行映射,这样就可以有效的得到对象模型,从而解决计算机软件系统中的难题,最后通过建立各个对象接口以及相应的可见性,来对每个对象的属性进行科学设计。
2.3设计中的数据流计算
计算机软件开发过程中,有很多设计都是需要有结构层次的,而且在大多数的应用领域中,是没有结构层次,只有数据。比如科技领域和工程领域等等。那么这些领域在计算机设计中会面临很多技术上的问题,对于软件开发过程中的这种数据流设计,可以运用全新的方式来对数据流进行设计,这样可以更好的打破结构层次的设计,从而有效的解决各个领域重大软件的设计难题。数据流的设计环节,主要是针对设计对象的信息进行收集与整理,然后根据整理的这些信息再对软件进行设计。在这个过程中,一定要建立阶段使用的结构化数据流图特征,然后详细的对这些信息进行分析,来准确的判断相应的数据信息流是属于变换型的还是事务性的,然后分别对变换型和事务性进行分析,就可以得出软件设计的相应结构。在数据设计的方式中,主要是注意耦合度以及内聚两个方面的影响因素,因为这样可以有效的运用两个方式来确定软件设计有没有具备独立的性质,这在计算机软件开发中是比较难的。
使用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 结束语
本文主要介绍了跨平台的定义和进行跨平台设计所需要的环境以及怎样进行跨平台设计。在进行跨平台设计的过程中我们结合了其他软件设计的一些思路和方法,经过大量的软件设计实践,得出了一套跨平台设计的方法和手段。与此同时我们还要在开发的软件中加入更多的功能和操作容积。对跨平台进行设计而言,经验是很重要的,经验越丰富的设计工程师设计的软件的功能会越好一些,没有经验的工程师,在首次设计时很难利用跨平台设计一个非常完美的应用软件。所以,本文介绍了跨平台软件设计的一些技术,希望可以为跨平台的开发的设计工程师提供一些帮助。
【中图分类号】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) 开发阶段
开发阶段使设计的结果最终转化为实际的产品。
这一阶段要运用各种技术手段,包括硬件设备和工具软件,利用和改编现有资料,制作文本、图像等多媒体素材,用编程或创作软件集成软件,经过多种不同水平的测试和试用后,最终完成软件。并且安排软件的总结性评价。
在开发阶段,素材制作、软件编程、手册编写等多项工作往往是并行或交叉开展的,素材创作和程序编写人员是工作的主体,但设计人员和用户仍以不同的角色参与制作过程,同时又在动用所有的技术资源,因此组织管理和质量控制十分重要。
参考文献
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 结语
一、引言
传统的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.
4结语
随着交互式多媒体软件应用的日益广泛,交互式多媒体软件的界面将更加追求个性化设计,如信息呈现方式的多样化、人机交互的艺术化。与此同时,交互式多媒体软件的设计理念和交互理论的运用也将更为成熟,创作和开发工具也将呈现多样化的趋势。总之,随着交互式多媒体技术的日益成熟,交互式多媒体软件必将更为完善,更能满足用户的个性化需求。
参考文献:
[1]邓永坚.MAYA光与材质的视觉艺术[M].北京:人民邮电出版社,2008.
一、引言
移动学习(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%以上的测试者沉浸在学习环境中,促使他们掌握初步的乐理知识和演奏技能。
七、结束语