時(shí)間:2023-07-23 09:25:23
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過(guò)程,我們?yōu)槟扑]十篇軟件設(shè)計(jì)與開(kāi)發(fā)范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來(lái)更深刻的閱讀感受。
關(guān)鍵詞:知識(shí)競(jìng)賽;VB;管理信息
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2016)49-0258-02
一、需求分析
在企事業(yè)單位和學(xué)校里我們經(jīng)常能見(jiàn)到一些知識(shí)競(jìng)賽之類的比賽,對(duì)于這一類的程序,通常我們首先想到的就是用快速開(kāi)發(fā)工具來(lái)做,使用本系統(tǒng)作為平臺(tái),能夠把競(jìng)賽整個(gè)流程有機(jī)結(jié)合起來(lái)。用大屏幕和音響以多媒體的形式向觀眾展示大賽的各種信息、背景音樂(lè)、選手情況、題目?jī)?nèi)容等,配合主持人的解說(shuō),同時(shí),大賽全程都可以由一名幕后人員用一臺(tái)電腦進(jìn)行后臺(tái)監(jiān)控,扮演“導(dǎo)播”的角色,可以進(jìn)行選手、題目、競(jìng)賽模塊的手動(dòng)切換等輔助操作,保障大賽的順利進(jìn)行。
通過(guò)調(diào)查,要求軟件需要有以下功能:(1)要求具有良好的人機(jī)界面,操作簡(jiǎn)單。包括編輯試題軟件和答題界面軟件。(2)該軟件的使用對(duì)象負(fù)責(zé)和管理人員。
二、可行性分析
由于涉及的對(duì)象單一,為了便于多人協(xié)作出題,比較適合于采用excel管理試題庫(kù),運(yùn)用VB制作界面。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻(xiàn),特別是網(wǎng)上資料,特別是參考其他程序的功能,因此完全可以實(shí)現(xiàn)。
三、軟件實(shí)現(xiàn)
(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)修改試題功能主要代碼
先讀取試題庫(kù)里的題目,修改后再寫入題庫(kù)。
讀取題目主要代碼:
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 = "導(dǎo)入背景圖片" : 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)設(shè)置功能主要代碼
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)答題時(shí)間功能主要代碼
If Val(Text1.Text) < 0 Or Val(Text1.Text) > 60 Then
MsgBox "" & vbCrLf & "r間不能超過(guò)60秒!", vbExclamation, "警告"
Exit Sub
End If
Form1.sumt = Text1.Text
If Val(Text2.Text) > Form1.sumt Then
MsgBox "" & vbCrLf & "提醒時(shí)間不能答題時(shí)間!", 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
四、結(jié)論
在本軟件系統(tǒng)采用VB+excel編程,界面美觀友好,操作簡(jiǎn)單,易于日后程序更新,效率高是本軟件系統(tǒng)的特點(diǎn)。
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2014)20-0073-02
從事學(xué)校心理健康教育,常遇到心理測(cè)評(píng)。對(duì)于個(gè)體測(cè)評(píng)而言,手工操作簡(jiǎn)單量表(SAS、SDS等)尚能應(yīng)付,稍復(fù)雜的(SCL―90等)就感到煩與累了,16PF、MMPI等則望而生畏且準(zhǔn)確性還難以保證;對(duì)于團(tuán)體測(cè)評(píng)來(lái)說(shuō),手工幾乎難以實(shí)現(xiàn),市售軟件價(jià)格較高,電腦移植不方便,查詢分析不能滿足個(gè)性需求??煞馜IY網(wǎng)頁(yè)呈現(xiàn)、即插即用、滿足特殊需要的心理測(cè)評(píng)軟件?本文將與同仁分享。
一、心理健康教育測(cè)評(píng)軟件開(kāi)發(fā)的一般方法
DIY心理健康教育測(cè)評(píng)軟件可通過(guò)建立便攜式數(shù)據(jù)庫(kù)網(wǎng)站實(shí)現(xiàn)。[1]
1.前期準(zhǔn)備
(1)知識(shí)準(zhǔn)備。我們將要做的工作是建立一個(gè)數(shù)據(jù)庫(kù)網(wǎng)站,事先應(yīng)找到ASP和DreamWeaver兩類書籍以備用。
(2)軟件準(zhǔn)備。建立網(wǎng)站(制作網(wǎng)頁(yè))需要相應(yīng)軟件作平臺(tái),這里主要是制作網(wǎng)頁(yè)的軟件(如DreamWeaver)和編譯軟件(如NetBox等)。
2.軟件開(kāi)發(fā)
心理健康教育測(cè)評(píng)軟件(數(shù)據(jù)庫(kù)網(wǎng)站)的一般開(kāi)發(fā)過(guò)程如下:
(1)設(shè)計(jì)“主頁(yè)”。主頁(yè)有兩大功能――測(cè)驗(yàn)與查詢。測(cè)驗(yàn)就是啟動(dòng)量表讓被試回答問(wèn)題,查詢則報(bào)告測(cè)評(píng)結(jié)果。用“超級(jí)鏈接”指向“問(wèn)卷”網(wǎng)頁(yè)實(shí)現(xiàn)測(cè)驗(yàn)功能;通過(guò)口令(設(shè)置密碼)進(jìn)入相應(yīng)的“查詢”網(wǎng)頁(yè)。
(2)制作“問(wèn)卷”網(wǎng)頁(yè)。將測(cè)驗(yàn)量表制成網(wǎng)頁(yè),讓測(cè)題呈現(xiàn)于電腦屏幕,前面再加上學(xué)生的基本信息。制作時(shí)答案分別處理,單選題用“單選按鈕(radio)”,多選題用“復(fù)選框(checkbox)”,學(xué)生基本信息則根據(jù)情況選用“文本框(text)”等表單元素。學(xué)生基本信息、答案在網(wǎng)頁(yè)上供被試輸入或選擇,在電腦后臺(tái)分別對(duì)應(yīng)相關(guān)變量。
(3)建立數(shù)據(jù)庫(kù)。建立數(shù)據(jù)庫(kù)存放測(cè)評(píng)信息,可用ACCESS或EXCEL新建一個(gè)數(shù)據(jù)庫(kù)文件,一般應(yīng)考慮學(xué)生基本信息(學(xué)號(hào)、姓名、性別、年齡、測(cè)驗(yàn)日期與時(shí)間等)、回答信息(被試選擇的答案)、其它信息(檢驗(yàn)是否重復(fù)提交)等,其數(shù)據(jù)結(jié)構(gòu)(字段名稱、類型、長(zhǎng)度等)要與上步中答案變量相應(yīng)(不是相同),以便建立數(shù)據(jù)聯(lián)系。如果制作MMPI(至少399題)測(cè)驗(yàn),許多非大型的數(shù)據(jù)庫(kù)目前還無(wú)法突破255個(gè)字段,而EXCEL2007版不受此限。
(4)接收數(shù)據(jù)。建立一個(gè)專門網(wǎng)頁(yè),使用ADO數(shù)據(jù)訪問(wèn)技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),再用SQL(主要是Insert語(yǔ)句)將被試回答的內(nèi)容有序存入相應(yīng)的數(shù)據(jù)表。此網(wǎng)頁(yè)以后臺(tái)運(yùn)行為主,前臺(tái)一般不向用戶呈現(xiàn)信息(特殊情況提醒除外)。
(5)制作“查詢”網(wǎng)頁(yè)。查詢網(wǎng)頁(yè)是接受用戶查詢要求,并將其轉(zhuǎn)換為相應(yīng)查詢命令的網(wǎng)頁(yè)。前臺(tái)供用戶選擇查詢條件,后臺(tái)則將其轉(zhuǎn)為相應(yīng)變量。此步的關(guān)鍵是將用戶的查詢條件(后臺(tái)的相應(yīng)變量)轉(zhuǎn)換成SQL的SELECE語(yǔ)句。
(6)制作“測(cè)評(píng)結(jié)果”網(wǎng)頁(yè)。根據(jù)量表測(cè)評(píng)規(guī)則(積分法、常模及解釋等)和用戶要求對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,以網(wǎng)頁(yè)或打印的方式將測(cè)評(píng)結(jié)果展示給用戶。結(jié)果展示方式多種多樣,以數(shù)據(jù)呈現(xiàn)較容易,即將相應(yīng)數(shù)據(jù)顯示到網(wǎng)頁(yè)上,但不夠直觀。而以圖形方式則一目了然,如EXCEL,它能以圖形(條形圖、折線圖、餅圖等)直接呈現(xiàn),也可采用相關(guān)軟件(如VBChart、ASPChart等)輔助制作。查詢內(nèi)容一般有查詢被試答案、查詢分量和綜合分析報(bào)告等。如“中小學(xué)生心理健康測(cè)驗(yàn)(MHT―CR)”可以數(shù)字表現(xiàn)分量,也可以折線圖表現(xiàn)分量,報(bào)告可以批量,也可以個(gè)別;再如“大學(xué)生人格問(wèn)卷(UPI)”結(jié)果分別以第一類、第二類和第三類報(bào)告被試信息;SCL―90結(jié)果既有曲線,也有數(shù)字,還有文字分析與建議。此步工作隨用戶需求難易程度差異較大。
制作網(wǎng)頁(yè)時(shí),凡是與數(shù)據(jù)相關(guān)(無(wú)論是存入還是查詢)的網(wǎng)頁(yè),都要?jiǎng)?chuàng)建(如與之間)與數(shù)據(jù)庫(kù)的連接,以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。
3.編譯打包
網(wǎng)頁(yè)運(yùn)行要有支撐平臺(tái)(瀏覽器),還須有引擎才能啟動(dòng)。網(wǎng)上有多種類型的引擎,各有特點(diǎn)。它們體積小,速度快,如綠三角AWS、綠四葉SERVICER(新生命專用)和紅色字母b的Netbox。
源文件一般都是各自獨(dú)立散布的,既不便于移植,更不利于產(chǎn)權(quán)保護(hù)。利用相關(guān)軟件可以將它們編譯成文件數(shù)量少、體積小且可以獨(dú)立運(yùn)行的文件。編譯軟件較多,如Netbox,國(guó)產(chǎn)軟件,網(wǎng)上可下載,使用有說(shuō)明。啟動(dòng)Netbox可以將所有網(wǎng)頁(yè)(不含數(shù)據(jù)文件)編譯成一個(gè)引擎文件(EXE文件,一般不足1M),配上相應(yīng)的數(shù)據(jù)文件便可使用。編譯后的軟件置于U盤,即插即用,尤其適用于局域網(wǎng),也可放在網(wǎng)站上。
二、心理健康教育測(cè)評(píng)軟件專項(xiàng)功能開(kāi)發(fā)
心理健康教育測(cè)評(píng)軟件(數(shù)據(jù)庫(kù)網(wǎng)站)可根據(jù)需要開(kāi)發(fā)多種功能,舉例如下。
1.建立心理檔案
對(duì)于一些規(guī)模較大的學(xué)校(學(xué)生數(shù)千),可根據(jù)需要將相關(guān)心理量表(如“卡特爾人格特質(zhì)(16PF)”等)做成問(wèn)卷網(wǎng)頁(yè),收集學(xué)生的心理特征數(shù)據(jù),建立心理檔案數(shù)據(jù)庫(kù)。為保證學(xué)生提交答卷的有效性,可(用JS語(yǔ)句)設(shè)置“限制與提醒”,對(duì)于每題必答測(cè)驗(yàn),如有漏答題則不讓提交答卷,并將光標(biāo)自動(dòng)移到該題處,讓被試重新回答;如問(wèn)題“與你童年一起生活的有:A.父親;B.母親;C.祖父;D.祖母……X.以上都不是”,有些能同時(shí)選擇,而有些則不能。軟件應(yīng)自動(dòng)查找矛盾回答,適時(shí)提醒被試選擇或更正。
2.建立本體常模和心理健康統(tǒng)計(jì)學(xué)標(biāo)準(zhǔn)
許多著名心理量表因無(wú)適用常模而被束之高閣。具有一定規(guī)模的學(xué)校或區(qū)域可將某個(gè)測(cè)試群體(2000或3000以上)作為常模團(tuán)體,通過(guò)標(biāo)準(zhǔn)化操作來(lái)收集數(shù)據(jù),經(jīng)過(guò)統(tǒng)計(jì)處理(平均值與標(biāo)準(zhǔn)差)得到常模,作為個(gè)體的參照常模。
心理健康統(tǒng)計(jì)學(xué)標(biāo)準(zhǔn)認(rèn)為,健康心理是圍繞某一群體的心理健康常模,在兩個(gè)標(biāo)準(zhǔn)差(2S)范圍內(nèi)不斷上下波動(dòng)的相對(duì)平衡過(guò)程。[2] 有了本體常模,就可以用A(平均值)和S(標(biāo)準(zhǔn)差)表示健康心理的統(tǒng)計(jì)學(xué)標(biāo)準(zhǔn):上限為A+2S,下限為A-2S。
3.用于個(gè)案(或同質(zhì)群體)研究
以心理量表的某個(gè)或幾個(gè)分量的界限值作為查詢(SELECT語(yǔ)句 中WHERE子句)條件,提供相應(yīng)個(gè)案(或同質(zhì)群體),如將MHT―CR中的“對(duì)人焦慮”和“過(guò)敏傾向”分量作為條件查詢個(gè)案(或同質(zhì)群體)。
4.評(píng)估心理健康教育效果
將相應(yīng)的心理量表制成網(wǎng)頁(yè)問(wèn)卷,收集相關(guān)數(shù)據(jù),評(píng)估學(xué)生的心理健康教育效果。
5.預(yù)測(cè)(預(yù)警)危機(jī)
將適合學(xué)生的心理健康水平評(píng)估量表制作成網(wǎng)頁(yè),對(duì)學(xué)生進(jìn)行普測(cè),再以相應(yīng)的標(biāo)準(zhǔn)設(shè)定界限,如前述的心理健康統(tǒng)計(jì)學(xué)標(biāo)準(zhǔn),對(duì)數(shù)據(jù)進(jìn)行分析、預(yù)測(cè),并對(duì)超出正常范圍的個(gè)體提出警示。
6.選擇專業(yè)(高考志愿)、規(guī)劃職業(yè)生涯
可用16PF對(duì)高考生作測(cè)驗(yàn)并分析,看看哪些專業(yè)適合,并預(yù)測(cè)大學(xué)學(xué)業(yè)成績(jī)。也可用霍蘭德(HOLLAND)職業(yè)興趣測(cè)驗(yàn),以供高考生作多種選擇或職業(yè)生涯規(guī)劃。[3]
7.評(píng)估睡眠狀況
升學(xué)壓力大,許多學(xué)生睡眠不足,特別是高中生,可以用匹茲堡睡眠質(zhì)量指數(shù)(PSQI)編制相應(yīng)網(wǎng)頁(yè),供學(xué)生自我評(píng)估睡眠質(zhì)量。
三、注意事項(xiàng)
1.使用期限
軟件成熟得有個(gè)過(guò)程,一般要經(jīng)歷試用與改進(jìn)、使用與完善幾個(gè)循環(huán)才相對(duì)“健壯”。因此,最好設(shè)個(gè)期限,到時(shí)自動(dòng)失效,再更完善的軟件。
2.適用范圍
心理健康教育測(cè)評(píng)軟件的針對(duì)性很強(qiáng),應(yīng)當(dāng)明確它的適用范圍,譬如MHT―CR是專門用來(lái)測(cè)評(píng)中小學(xué)生心理健康狀況的,不可用作其它目的,更不可強(qiáng)行對(duì)學(xué)生進(jìn)行測(cè)評(píng)。
四、結(jié)束語(yǔ)
DIY心理健康教育測(cè)評(píng)軟件不難,只要肯在看書與上網(wǎng)兩方面下功夫??磿D―品嘗“筵席”,上網(wǎng)――享用“快餐”。看書是學(xué)習(xí)系統(tǒng)理論,掌握一般方法,上網(wǎng)是學(xué)習(xí)前人(網(wǎng)友)如何解決千變?nèi)f化的現(xiàn)實(shí)難題,二者相輔相成。想讓心理健康教育測(cè)評(píng)得心應(yīng)手,還是DIY吧! 參考文獻(xiàn):
(甲方)
研究開(kāi)發(fā)人:___________________________
(乙方)
簽訂地點(diǎn):____省 (市)____市、縣(區(qū))
簽訂日期:_____________________________
有效期限:_________________至__________
填表說(shuō)明
一、技術(shù)開(kāi)發(fā)合同是指當(dāng)事人之間就國(guó)家隊(duì)信息化平臺(tái)的研究開(kāi)發(fā)所訂立的合同。
二、標(biāo)的技術(shù)的內(nèi)容、范圍及要求
包括開(kāi)發(fā)項(xiàng)目應(yīng)達(dá)到的開(kāi)發(fā)目的、使用范圍、技術(shù)經(jīng)濟(jì)指標(biāo)及效益情況。
三、研究開(kāi)發(fā)計(jì)劃
包括當(dāng)事人各方實(shí)施開(kāi)發(fā)項(xiàng)目的階段進(jìn)度、各個(gè)階段要解決的技術(shù)問(wèn)題、達(dá)到的目標(biāo)和完成的期限等。
四、本合同書的履行方式(包括成果提交方式及數(shù)量)
1.產(chǎn)品設(shè)計(jì)、圖紙、論文、報(bào)告等技術(shù)文件;
2.磁盤、光盤、磁帶、計(jì)算機(jī)軟件;
3.樣品、樣機(jī);
4.成套技術(shù)設(shè)備。
五、技術(shù)情報(bào)和資料的保密
包括當(dāng)事人各方情報(bào)和資料保密義務(wù)的內(nèi)容、期限和泄漏技術(shù)秘密應(yīng)承擔(dān)的責(zé)任。
六、本合同書中,凡是當(dāng)事人約定認(rèn)為無(wú)需填寫的條款,在該條款填寫的空白處劃(/)表示。
依據(jù)《中華人民共和國(guó)合同法》的規(guī)定,合同雙方就國(guó)家隊(duì)信息化平臺(tái)建設(shè)項(xiàng)目的技術(shù)服務(wù),經(jīng)協(xié)商一致,簽訂本合同。
一、標(biāo)的技術(shù)的內(nèi)容,范圍及要求
二、應(yīng)達(dá)到的技術(shù)指標(biāo)和參數(shù)
三、研究開(kāi)發(fā)計(jì)劃
四、研究開(kāi)發(fā)經(jīng)費(fèi)、報(bào)酬及其支付或結(jié)算方式
(一)研究開(kāi)發(fā)經(jīng)費(fèi)是指完成項(xiàng)目研究開(kāi)發(fā)工作所需的成本,報(bào)酬是指本項(xiàng)目開(kāi)發(fā)成果的使用費(fèi)和研究開(kāi)發(fā)人員的科研補(bǔ)貼。
本項(xiàng)目研究開(kāi)發(fā)經(jīng)費(fèi)和報(bào)酬(大寫) 元,
(二)支付方式
①一次總付元,時(shí)間:
②分期支付元,時(shí)間:
元,時(shí)間:
③其它方式:
五、利用研究開(kāi)發(fā)經(jīng)費(fèi)購(gòu)置的設(shè)備、器材、資料的財(cái)產(chǎn)權(quán)屬
六、履行的期限、地點(diǎn)和方式
本合同自年月日至 年月 日在 履行。
本合同的履行方式:
七、技術(shù)情報(bào)和資料的保密
八、技術(shù)協(xié)作和技術(shù)指導(dǎo)的內(nèi)容
九、技術(shù)成果的歸屬和分享
(一)專利申請(qǐng)權(quán):
(二)技術(shù)秘密的使用權(quán)、轉(zhuǎn)讓權(quán):
十、驗(yàn)收的標(biāo)準(zhǔn)和方式
研究開(kāi)發(fā)所完成的技術(shù)成果,達(dá)到了本合同第二條所列技術(shù)指標(biāo),按 標(biāo)準(zhǔn),采用 方式驗(yàn)收,由出具技術(shù)項(xiàng)目驗(yàn)收證明。
十一、風(fēng)險(xiǎn)責(zé)任的承擔(dān)
在履行本合同的過(guò)程中,確因在現(xiàn)有水平和條件下難以克服的技術(shù)困難,導(dǎo)致研究開(kāi)發(fā)部分或全部失敗所造成的損失,風(fēng)險(xiǎn)責(zé)任由甲方承擔(dān) %,乙方承擔(dān)%。
本項(xiàng)目風(fēng)險(xiǎn)責(zé)任確認(rèn)的方式:
十二、違約金或者損失賠償額的計(jì)算
違反本合同約定,違約方應(yīng)按照《中華人民共和國(guó)合同法》有關(guān)條款的規(guī)定承擔(dān)違約責(zé)任。
(一)違反本合同第 條約定,方應(yīng)承擔(dān)以下違約責(zé)任:
(二)違反本合同第 條約定,方應(yīng)承擔(dān)以下違約責(zé)任:
十三、解決合同糾紛的方式
在履行本合同的過(guò)程中發(fā)生爭(zhēng)議,雙方當(dāng)事人和解或調(diào)解不成,可采取仲裁或按司法程序解決(一)雙方同意由 仲裁委員會(huì)仲裁。
(二)雙方約定向(被告住所地、合同履行地、合同簽訂地、原告住所地、標(biāo)的物所在地)人民法院起訴。
十四、名詞和術(shù)語(yǔ)的解釋
十五、其它
委托人(甲方)
名稱(或姓名)
單位公章
年 月 日
法定代表人
委托人
聯(lián)系(經(jīng)辦)人
通訊地址
郵政編碼
電話
傳真
開(kāi)戶銀行
帳號(hào)
研究開(kāi)發(fā)人員(乙方)
名稱(或姓名)
單位公章
年 月 日
法定代表人
委托人
聯(lián)系(經(jīng)辦)人
通訊地址
郵政編碼
電話
傳真
開(kāi)戶銀行
帳號(hào)
數(shù)據(jù)庫(kù)應(yīng)用協(xié)議書
國(guó)家隊(duì)信息化平臺(tái)數(shù)據(jù)庫(kù)軟件設(shè)計(jì)與開(kāi)發(fā)合同
1.1軟件設(shè)計(jì)過(guò)程中需求分析不充分
在計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中,在對(duì)設(shè)計(jì)項(xiàng)目進(jìn)行分析時(shí),常常分析的不是很全面,對(duì)層次分析也不夠徹底,這樣軟件系統(tǒng)在設(shè)計(jì)過(guò)程中就會(huì)存在很大的漏洞,達(dá)不到想要設(shè)計(jì)的效果。因此,這就需要今后在軟件設(shè)計(jì)過(guò)程中要對(duì)項(xiàng)目進(jìn)行完整、透徹的分析,從而確定相應(yīng)的設(shè)計(jì)內(nèi)容。
1.2軟件設(shè)計(jì)脫離實(shí)際情況
目前,我國(guó)在計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中普遍存在的問(wèn)題都體現(xiàn)在程序和過(guò)程上,這是因?yàn)?,在軟件開(kāi)發(fā)設(shè)計(jì)過(guò)程中,沒(méi)有完全按照指定的科學(xué)規(guī)劃來(lái)進(jìn)行,這樣設(shè)計(jì)出來(lái)的軟件系統(tǒng)與規(guī)劃好的軟件系統(tǒng)存在很大的差距,導(dǎo)致系統(tǒng)項(xiàng)目很難完成,也就直接影響了軟件系統(tǒng)的質(zhì)量。所以說(shuō)在軟件系統(tǒng)設(shè)計(jì)中,一定要運(yùn)用更多的時(shí)間與精力來(lái)做這項(xiàng)工作,一定要更加注重設(shè)計(jì)、測(cè)試以及維護(hù)等方面的運(yùn)用。
1.3軟件系統(tǒng)的測(cè)試不夠充分
軟件系統(tǒng)的測(cè)試在整個(gè)開(kāi)發(fā)過(guò)程別重要,有很多設(shè)計(jì)人員在完成軟件系統(tǒng)設(shè)計(jì)后,并沒(méi)有對(duì)計(jì)算機(jī)軟件系統(tǒng)進(jìn)行測(cè)試,這就使計(jì)算機(jī)軟件在沒(méi)有保證的情況下投入運(yùn)營(yíng),一旦系統(tǒng)在運(yùn)營(yíng)過(guò)程中出現(xiàn)問(wèn)題,將會(huì)給計(jì)算機(jī)系統(tǒng)帶來(lái)很大的影響。
1.4軟件開(kāi)發(fā)系統(tǒng)新特性的增加
在計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中,都會(huì)增加一些新的內(nèi)容來(lái)滿足用戶的需求,但是在增加內(nèi)容的同時(shí)會(huì)給軟件的運(yùn)行程序加大難度,也會(huì)給軟件的運(yùn)行帶來(lái)影響。因此,軟件系統(tǒng)在運(yùn)行過(guò)程中,如果對(duì)系統(tǒng)要求并不是很嚴(yán)格,就必須要添加相應(yīng)的需求,如果用戶還需要增加新的特性,就需要重新修改計(jì)算機(jī)運(yùn)行系統(tǒng)的計(jì)劃。
2計(jì)算機(jī)軟件開(kāi)發(fā)設(shè)計(jì)中的對(duì)策研究
針對(duì)計(jì)算機(jī)軟件在開(kāi)發(fā)設(shè)計(jì)中遇到的問(wèn)題,首先需要從設(shè)計(jì)上進(jìn)行改進(jìn),運(yùn)用有效合理的方法來(lái)改變很多不利的因素,這樣才能提高我國(guó)計(jì)算機(jī)軟件開(kāi)發(fā)設(shè)計(jì)的質(zhì)量,也能使軟件行業(yè)得到更好的發(fā)展。下面我們就針對(duì)計(jì)算機(jī)軟件開(kāi)發(fā)設(shè)計(jì)中遇到的問(wèn)題提出幾點(diǎn)對(duì)策方案。
2.1模塊式的設(shè)計(jì)方法
計(jì)算機(jī)在軟件開(kāi)發(fā)設(shè)計(jì)過(guò)程中經(jīng)常運(yùn)用模塊式的設(shè)計(jì)方法,因?yàn)檫@種方法可以減少軟件在設(shè)計(jì)過(guò)程中的難度,還能在使用過(guò)程中任意添加或者改變程序。模塊化的設(shè)計(jì)方法其實(shí)就是將每個(gè)軟件程序劃分為若干個(gè)小程序,來(lái)進(jìn)行相應(yīng)的設(shè)計(jì)和處理,在設(shè)置的時(shí)候需要保證每個(gè)程序都是獨(dú)立的。在軟件設(shè)計(jì)過(guò)程中,對(duì)模塊化的設(shè)計(jì)方法需要很多人共同來(lái)完成,這樣才能使方案達(dá)到最好的效果。在完成的過(guò)程中需要對(duì)程序進(jìn)行不斷的調(diào)整與完善,使程序在運(yùn)行過(guò)程中更加穩(wěn)定。換一種方式講,不同系統(tǒng)分解設(shè)計(jì)中的程序設(shè)計(jì)思想和理念不同,對(duì)下屬的程序設(shè)計(jì)也會(huì)有所不同,所以就需要對(duì)軟件系統(tǒng)設(shè)計(jì)進(jìn)行調(diào)試,或者為軟件系統(tǒng)增加新的特性,這樣就可以有效的確保模塊設(shè)計(jì)的相應(yīng)原則。
2.2面向?qū)ο蟮脑O(shè)計(jì)方法
在計(jì)算機(jī)開(kāi)發(fā)軟件設(shè)計(jì)中,面向?qū)ο蟮脑O(shè)計(jì)方法是比較復(fù)雜的,在實(shí)際生活中,計(jì)算機(jī)軟件設(shè)計(jì)面向的大部分都是實(shí)體,比如功能開(kāi)關(guān)、傳感器等等。這種設(shè)計(jì)方法,主要就是運(yùn)用實(shí)體與模塊來(lái)進(jìn)行相應(yīng)的軟件開(kāi)發(fā)和設(shè)計(jì),因?yàn)槊總€(gè)設(shè)計(jì)對(duì)象都是不同的,那么在進(jìn)行相應(yīng)的計(jì)算機(jī)軟件設(shè)計(jì)過(guò)程中,要對(duì)其進(jìn)行相應(yīng)的分解方式,這樣就可以有效的面向?qū)ο筮M(jìn)行設(shè)計(jì),切實(shí)利用非形式化的方式將對(duì)象進(jìn)行功能上的闡述,從而就可以確定相應(yīng)的對(duì)象,然后通過(guò)對(duì)象來(lái)表示相關(guān)的現(xiàn)實(shí)模型。再將模型進(jìn)行映射,這樣就可以有效的得到對(duì)象模型,從而解決計(jì)算機(jī)軟件系統(tǒng)中的難題,最后通過(guò)建立各個(gè)對(duì)象接口以及相應(yīng)的可見(jiàn)性,來(lái)對(duì)每個(gè)對(duì)象的屬性進(jìn)行科學(xué)設(shè)計(jì)。
2.3設(shè)計(jì)中的數(shù)據(jù)流計(jì)算
計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中,有很多設(shè)計(jì)都是需要有結(jié)構(gòu)層次的,而且在大多數(shù)的應(yīng)用領(lǐng)域中,是沒(méi)有結(jié)構(gòu)層次,只有數(shù)據(jù)。比如科技領(lǐng)域和工程領(lǐng)域等等。那么這些領(lǐng)域在計(jì)算機(jī)設(shè)計(jì)中會(huì)面臨很多技術(shù)上的問(wèn)題,對(duì)于軟件開(kāi)發(fā)過(guò)程中的這種數(shù)據(jù)流設(shè)計(jì),可以運(yùn)用全新的方式來(lái)對(duì)數(shù)據(jù)流進(jìn)行設(shè)計(jì),這樣可以更好的打破結(jié)構(gòu)層次的設(shè)計(jì),從而有效的解決各個(gè)領(lǐng)域重大軟件的設(shè)計(jì)難題。數(shù)據(jù)流的設(shè)計(jì)環(huán)節(jié),主要是針對(duì)設(shè)計(jì)對(duì)象的信息進(jìn)行收集與整理,然后根據(jù)整理的這些信息再對(duì)軟件進(jìn)行設(shè)計(jì)。在這個(gè)過(guò)程中,一定要建立階段使用的結(jié)構(gòu)化數(shù)據(jù)流圖特征,然后詳細(xì)的對(duì)這些信息進(jìn)行分析,來(lái)準(zhǔn)確的判斷相應(yīng)的數(shù)據(jù)信息流是屬于變換型的還是事務(wù)性的,然后分別對(duì)變換型和事務(wù)性進(jìn)行分析,就可以得出軟件設(shè)計(jì)的相應(yīng)結(jié)構(gòu)。在數(shù)據(jù)設(shè)計(jì)的方式中,主要是注意耦合度以及內(nèi)聚兩個(gè)方面的影響因素,因?yàn)檫@樣可以有效的運(yùn)用兩個(gè)方式來(lái)確定軟件設(shè)計(jì)有沒(méi)有具備獨(dú)立的性質(zhì),這在計(jì)算機(jī)軟件開(kāi)發(fā)中是比較難的。
使用C++語(yǔ)言進(jìn)行跨平臺(tái)的開(kāi)發(fā),目的是把應(yīng)用程序的代碼處理成能夠在已有的平臺(tái)下使用和能執(zhí)行文件。但是在其他平臺(tái)中,處理后的文件不可以被使用,特別在Windows與Unix平臺(tái)下更不能使用。所以,要解決和處理這個(gè)缺陷,就要將源程序的代碼翻譯成在各個(gè)平臺(tái)下都能使用的文件。通過(guò)幾十年的發(fā)展和演變,C++語(yǔ)言基本上能夠在所有的平臺(tái)下進(jìn)行工作,但是在不同平臺(tái)下的編譯也會(huì)不同,也造成了語(yǔ)言之間的不同。同樣的,設(shè)計(jì)一個(gè)新產(chǎn)品就要對(duì)操作系統(tǒng)的函數(shù)進(jìn)行使用和調(diào)用。因此,要避免這種區(qū)別就要在代碼中使用條件選擇編譯、進(jìn)行工程模式編譯或可以使用預(yù)編譯。各種平臺(tái)使用的程序編譯手段也是不一樣的。要使在不同平臺(tái)下進(jìn)行程序編譯時(shí)出現(xiàn)最小的差別就要手動(dòng)對(duì)編譯條件的設(shè)置控制或管理。使用腳本文件和環(huán)境變量,還可以使用第三方軟件對(duì)代碼進(jìn)行動(dòng)態(tài)編譯,這樣就能使跨平臺(tái)開(kāi)發(fā)的難度簡(jiǎn)化。
1 跨平臺(tái)的概念
在軟件開(kāi)發(fā)中有個(gè)很重要的概念就是跨平臺(tái),跨平臺(tái)和操作系統(tǒng)無(wú)關(guān)也與硬件環(huán)境不相關(guān)聯(lián)。如果一個(gè)應(yīng)用程序是在操作系統(tǒng)下開(kāi)發(fā)和設(shè)計(jì)的,那把它放在其他操作系統(tǒng)中也能使用。隨著軟件工程的發(fā)展對(duì)跨平臺(tái)開(kāi)發(fā)的需求也在不斷的增加,所以要開(kāi)發(fā)出能夠在各種各樣的平臺(tái)下都能使用的應(yīng)用程序,就能為應(yīng)用程序創(chuàng)造很大的市場(chǎng)份額。
2 跨平臺(tái)的開(kāi)發(fā)所需要的環(huán)境
軟件編輯器、程序編譯器和程序調(diào)試器是構(gòu)成開(kāi)發(fā)環(huán)境的三個(gè)組成部分。Sandbox是進(jìn)行代碼編譯和調(diào)試的軟件,其內(nèi)部含有各種平臺(tái)下需要的不同種類的依賴庫(kù)和代碼庫(kù)。在程序的開(kāi)發(fā)中它還含有各種源代碼。它的配置對(duì)多元化的平臺(tái)的要求也是很高的,通常講,C/C++語(yǔ)言的軟件開(kāi)發(fā)和編譯要在各個(gè)平臺(tái)上能夠使用,還要注意以下問(wèn)題。
1)最終結(jié)果的質(zhì)量:Sandbox中所選擇的工具是否能夠產(chǎn)生最好的代碼。是否能夠產(chǎn)生最簡(jiǎn)潔,最友好的配置文件以及在捕捉錯(cuò)誤和調(diào)試時(shí)是否能夠提供足夠的支持。
2)Sandbox中含有的工具是否可以使應(yīng)用程序與多元性的目標(biāo)平臺(tái)進(jìn)行合理的整合。
3)創(chuàng)立的Sandbox是不是可以使管理更加的簡(jiǎn)單,即能否在不同的平臺(tái)進(jìn)行變換時(shí)出現(xiàn)最小差異的文件。
對(duì)跨平臺(tái)開(kāi)發(fā)來(lái)說(shuō)實(shí)現(xiàn)抽象是很重要的一個(gè)因素,但是利用與平臺(tái)相關(guān)的工具包也需要使用相適應(yīng)的工具。這些開(kāi)發(fā)工具往往并不是統(tǒng)一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要達(dá)到這個(gè)目的,就要把用抽象以及相關(guān)的設(shè)計(jì)使用新的開(kāi)發(fā)手段進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)在不同的平臺(tái)下都能進(jìn)行編譯。
3 C++語(yǔ)言的跨平臺(tái)軟件開(kāi)發(fā)的設(shè)計(jì)
3.1 避免語(yǔ)言的擴(kuò)展特性
不管我們依據(jù)哪一種形式的方法進(jìn)行編程,一般要選擇比較老的程序庫(kù)或文件。比較老的程序庫(kù)里面的一些原有程序和公式都是很規(guī)范的和標(biāo)準(zhǔn)的,不像現(xiàn)在的一些新的程序庫(kù)一樣比較的雜亂無(wú)章。有非常普遍出現(xiàn)的故障在跨平臺(tái)上產(chǎn)生,有時(shí)在獲得支持后,還是會(huì)出現(xiàn)沒(méi)有定義精確的事故。跨平臺(tái)開(kāi)發(fā)是對(duì)異常靈敏度要求很高的,無(wú)限度的利用新特性,就會(huì)使軟件很難排除異常情況。所以,在跨平臺(tái)開(kāi)發(fā)時(shí)要調(diào)用C++的標(biāo)準(zhǔn)函數(shù)模型,這樣就會(huì)使已開(kāi)發(fā)的軟件和產(chǎn)品的穩(wěn)定性更加強(qiáng)。
3.2 實(shí)現(xiàn)動(dòng)態(tài)處理
在實(shí)際的開(kāi)發(fā)過(guò)程中,每當(dāng)編寫一個(gè)旨在多種環(huán)境中運(yùn)行的可移植代碼庫(kù)時(shí),項(xiàng)目的開(kāi)發(fā)就會(huì)不可避免的面臨一個(gè)問(wèn)題,即怎樣處理在一個(gè)平臺(tái)上有而在另外一個(gè)平臺(tái)上沒(méi)有的特性。
3.3 使用腳本文件進(jìn)行管理
要達(dá)到使編寫的程序代碼簡(jiǎn)潔、易懂的目的,要使軟件的結(jié)構(gòu)更加的合理,這就要求先把與平臺(tái)相關(guān)聯(lián)的文件和數(shù)據(jù)庫(kù)分割開(kāi)來(lái),再把在開(kāi)發(fā)期間要用的腳本文件進(jìn)行編譯,再合理的分到各個(gè)部位。在使用應(yīng)用程序時(shí),要把配置文件里的配置選項(xiàng)調(diào)出來(lái)進(jìn)行讀取里面的程序。因此,當(dāng)跨平臺(tái)軟件開(kāi)發(fā)時(shí),要使與平臺(tái)相關(guān)聯(lián)的文件全部進(jìn)行分離,要利用特殊的手段來(lái)實(shí)現(xiàn)該功能。
3.4 使用安全的數(shù)據(jù)串行化
如何使用安全和可靠的對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和加載是跨平臺(tái)要解決的核心問(wèn)題。利用軟件的“fwrite”或“fread”指令可以對(duì)每個(gè)編譯器和單一目標(biāo)平臺(tái)處理。若果是在跨平臺(tái)的操作環(huán)境中,利用這種方法對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和加載就不能做到平臺(tái)間的獨(dú)立性。如果要利用跨平臺(tái)對(duì)數(shù)據(jù)存儲(chǔ)到目標(biāo)文件外,不同平臺(tái)間是有差異的,這樣也會(huì)引起結(jié)果的多樣性。
3.5 跨平臺(tái)開(kāi)發(fā)中的編譯與測(cè)試
當(dāng)進(jìn)行跨平臺(tái)軟件開(kāi)發(fā)時(shí)會(huì)與修改和編寫的很多代碼有關(guān)聯(lián),相關(guān)聯(lián)的代碼會(huì)在很長(zhǎng)的時(shí)期內(nèi)不能在另外的平臺(tái)檢測(cè),也會(huì)造成bug的潛藏時(shí)間增長(zhǎng)。所以,要在多個(gè)不同的平臺(tái)下進(jìn)行測(cè)試,這樣就能及時(shí)發(fā)現(xiàn)bug。
3.6 實(shí)現(xiàn)抽象
實(shí)現(xiàn)抽象是處理跨平臺(tái)中應(yīng)用程序能被移植難題的有效方式。通過(guò)這種方式我們就能不利用一般的結(jié)構(gòu)體系而進(jìn)行單獨(dú)的軟件開(kāi)發(fā),同時(shí)還能夠使編出的程序更加的獨(dú)立化和簡(jiǎn)潔化。當(dāng)對(duì)跨平臺(tái)進(jìn)行開(kāi)發(fā)時(shí),會(huì)有非常多的函數(shù)要進(jìn)行利用,但是開(kāi)發(fā)時(shí)不用編譯所有的函數(shù),通常使用的方法是封裝,這些就是實(shí)現(xiàn)抽象的過(guò)程。封裝的方法并不是在任何情況下都是適用的,當(dāng)遇到一些特殊的情況時(shí),我們要使用其他的方式來(lái)進(jìn)行程序的調(diào)用,我們提前可以將編寫好的功能程序存放到程序空中,并以該功能命名,當(dāng)我們使用該程序或公式的時(shí)候,可以直接調(diào)用該功能的程序,便可以實(shí)現(xiàn)該功能。不管選用哪一種方式無(wú)非是對(duì)任意接口函數(shù)與平臺(tái)中的聯(lián)系進(jìn)行隱藏。
4 結(jié)束語(yǔ)
本文主要介紹了跨平臺(tái)的定義和進(jìn)行跨平臺(tái)設(shè)計(jì)所需要的環(huán)境以及怎樣進(jìn)行跨平臺(tái)設(shè)計(jì)。在進(jìn)行跨平臺(tái)設(shè)計(jì)的過(guò)程中我們結(jié)合了其他軟件設(shè)計(jì)的一些思路和方法,經(jīng)過(guò)大量的軟件設(shè)計(jì)實(shí)踐,得出了一套跨平臺(tái)設(shè)計(jì)的方法和手段。與此同時(shí)我們還要在開(kāi)發(fā)的軟件中加入更多的功能和操作容積。對(duì)跨平臺(tái)進(jìn)行設(shè)計(jì)而言,經(jīng)驗(yàn)是很重要的,經(jīng)驗(yàn)越豐富的設(shè)計(jì)工程師設(shè)計(jì)的軟件的功能會(huì)越好一些,沒(méi)有經(jīng)驗(yàn)的工程師,在首次設(shè)計(jì)時(shí)很難利用跨平臺(tái)設(shè)計(jì)一個(gè)非常完美的應(yīng)用軟件。所以,本文介紹了跨平臺(tái)軟件設(shè)計(jì)的一些技術(shù),希望可以為跨平臺(tái)的開(kāi)發(fā)的設(shè)計(jì)工程師提供一些幫助。
【中圖分類號(hào)】G40-057 【文獻(xiàn)標(biāo)識(shí)碼】A 【論文編號(hào)】1009―8097(2009)07―0049―03
當(dāng)前國(guó)內(nèi)的論著和教材中提出的教學(xué)軟件設(shè)計(jì)與開(kāi)發(fā)模式大體可以歸為兩類。一類是對(duì)教學(xué)系統(tǒng)設(shè)計(jì)模式修改而來(lái)的,如對(duì)ADDE模式的修改;另一類是在軟件工程的線性開(kāi)發(fā)模型中插入教學(xué)設(shè)計(jì)環(huán)節(jié)的,例如“項(xiàng)目定義教學(xué)設(shè)計(jì)系統(tǒng)設(shè)計(jì)腳本編寫素材準(zhǔn)備軟件編輯試用評(píng)價(jià)產(chǎn)品出版”。這兩類模式都忽略了教學(xué)設(shè)計(jì)與軟件工程的內(nèi)在聯(lián)系,不能很好地指導(dǎo)教學(xué)軟件開(kāi)發(fā)。
教學(xué)軟件既是一種教學(xué)材料,又是一類應(yīng)用軟件。作為教學(xué)材料,屬于教學(xué)系統(tǒng)設(shè)計(jì)的對(duì)象,作為應(yīng)用軟件,是軟件工程的產(chǎn)品。 因此教學(xué)軟件開(kāi)發(fā)過(guò)程中有兩條并行交叉的過(guò)程。本文在分析開(kāi)發(fā)過(guò)程的基礎(chǔ)上,提出兩者結(jié)合的開(kāi)發(fā)模式。
一 教學(xué)軟件開(kāi)發(fā)過(guò)程分析
1 教學(xué)材料的系統(tǒng)設(shè)計(jì)
在教學(xué)系統(tǒng)設(shè)計(jì)中,教學(xué)材料的開(kāi)發(fā)是放在整個(gè)系統(tǒng)中考慮的,是一系列的相關(guān)分析和決策的結(jié)果。
教學(xué)系統(tǒng)設(shè)計(jì)有多種模式。圖1所示的是美國(guó)學(xué)者迪克(Walter Dick)和凱里(Lou Carey,James O. Carey)提出的模式,這個(gè)模式有廣泛的應(yīng)用。
對(duì)于整個(gè)設(shè)計(jì)過(guò)程,可以分為兩個(gè)階段,即分析階段和決策階段。分析階段的結(jié)果是編寫出績(jī)效目標(biāo)。以績(jī)效目標(biāo)為依據(jù),設(shè)計(jì)者開(kāi)始做出的決策,形成如下的設(shè)計(jì)文件:
評(píng)價(jià)學(xué)習(xí)的試題和量表;
教學(xué)內(nèi)容和活動(dòng)的順序與組織方案;
教學(xué)材料和教師手冊(cè)的初稿;
對(duì)教學(xué)和教學(xué)材料的形成性評(píng)價(jià)方案;
對(duì)教學(xué)和教學(xué)材料的總結(jié)性評(píng)價(jià)方案。
2 教學(xué)軟件產(chǎn)品的開(kāi)發(fā)
教學(xué)軟件產(chǎn)品的開(kāi)發(fā)要遵循軟件工程的規(guī)律。軟件工程是“采用工程化的原理與方法對(duì)軟件進(jìn)行計(jì)劃、開(kāi)發(fā)和維護(hù)。” 目的是提高軟件開(kāi)發(fā)的效率和可靠性。軟件開(kāi)發(fā)的基本模型如圖2。
這樣的線性過(guò)程不適合于教學(xué)軟件開(kāi)發(fā)。首先這種模型是以編寫程序代碼為中心的,而教學(xué)軟件除了程序代碼,還有大量的媒體元素,如圖像、動(dòng)畫、音頻、視頻等。這些元素的制作是與程序編寫并行或交叉進(jìn)行的,該模型反映不出媒體制作的工作過(guò)程。其次是在教學(xué)軟件設(shè)計(jì)的初期,由于教學(xué)本身的復(fù)雜性,設(shè)計(jì)者不可能完全確定設(shè)計(jì)的細(xì)節(jié),不可能在分析階段解決所有的分析問(wèn)題,經(jīng)常需要在開(kāi)發(fā)過(guò)程中修改他們的設(shè)計(jì),該模型沒(méi)有考慮到開(kāi)發(fā)過(guò)程中的不確定性。
在對(duì)軟件開(kāi)發(fā)模型改進(jìn)的過(guò)程中,人們提出了快速原形法、增量模型、螺旋模型等,這些模型的共同特點(diǎn)是把軟件開(kāi)發(fā)看作多次循環(huán)改進(jìn)的過(guò)程,在多個(gè)循環(huán)過(guò)程中有多次的評(píng)估和修改,或是從軟件的核心逐步豐富。圖3示意了原型法與螺旋模型結(jié)合。無(wú)論是哪種模型,都有軟件開(kāi)發(fā)的基本步驟:分析、設(shè)計(jì)、開(kāi)發(fā)、測(cè)試。
3 教學(xué)系統(tǒng)設(shè)計(jì)與軟件開(kāi)發(fā)模型的結(jié)合
教學(xué)軟件與管理軟件、工具軟件等功能性商用軟件最顯著的不同,是不能用“功能”來(lái)衡量。例如一個(gè)文字處理軟件,如果測(cè)試者能夠用軟件錄入文字,實(shí)現(xiàn)任何格式的排版就表明該軟件的功能實(shí)現(xiàn)了,而教學(xué)軟件無(wú)論運(yùn)行多么流暢,嚴(yán)格地講都不能說(shuō)它具有了功能,因?yàn)榻虒W(xué)軟件的作用效果,不是自身表現(xiàn)出來(lái)的,這是具有不確定性的。因此對(duì)教學(xué)軟件,開(kāi)發(fā)是否成功要看教學(xué)性,而不是“功能”,而教學(xué)性要靠教學(xué)系統(tǒng)設(shè)計(jì)來(lái)保證。
無(wú)論是從教學(xué)系統(tǒng)設(shè)計(jì)的角度,還是從軟件工程的角度,教學(xué)軟件開(kāi)發(fā)過(guò)程都可以分為兩個(gè)階段,一個(gè)是設(shè)計(jì)階段,一個(gè)是開(kāi)發(fā)階段。兩個(gè)階段之間有反復(fù)調(diào)整修改的環(huán)節(jié)。教學(xué)系統(tǒng)設(shè)計(jì)的理論和方法,主要應(yīng)用在設(shè)計(jì)階段,以實(shí)現(xiàn)軟件的教學(xué)性,為開(kāi)發(fā)提供藍(lán)圖。軟件工程的思想和方法,貫穿整個(gè)設(shè)計(jì)和開(kāi)發(fā)過(guò)程,但重點(diǎn)是開(kāi)發(fā)階段的組織與管理,以實(shí)現(xiàn)軟件的技術(shù)性能。一個(gè)好的教學(xué)軟件開(kāi)發(fā)模式,應(yīng)該以教學(xué)系統(tǒng)設(shè)計(jì)為基礎(chǔ),結(jié)合軟件工程的思想和方法。對(duì)這種結(jié)合可以用圖4示意。該圖的內(nèi)圈表示教學(xué)設(shè)計(jì)過(guò)程,外圈表示軟件開(kāi)發(fā)過(guò)程,兩個(gè)過(guò)程是同時(shí)啟動(dòng)同步進(jìn)行的,交織成一個(gè)軟件開(kāi)發(fā)循環(huán)周期,但是在各個(gè)階段兩者的重要程度和工作任務(wù)的分量不同。
二 教學(xué)軟件開(kāi)發(fā)模式描述
1 模式的構(gòu)成
該模式是借鑒美國(guó)學(xué)者Stephen M. Alessi和Stanley R. Trollip提出的模式,結(jié)合國(guó)內(nèi)實(shí)際情況和我們的工作經(jīng)驗(yàn)提出來(lái)的,見(jiàn)圖5。
這個(gè)模式在整體上是軟件開(kāi)發(fā)的螺旋模型中的一個(gè)周期,也可以看作增量模型的一個(gè)構(gòu)件的實(shí)現(xiàn)過(guò)程,這取決與軟件開(kāi)發(fā)的任務(wù)和條件。這個(gè)模式具有一定的普遍性,適合教學(xué)軟件專業(yè)開(kāi)發(fā),也可供學(xué)校的教育技術(shù)人員和各科教師制作課件參考。
設(shè)計(jì)與開(kāi)發(fā)模式有三個(gè)要素和三個(gè)階段。三個(gè)要素是標(biāo)準(zhǔn)、評(píng)價(jià)和管理,三個(gè)階段是計(jì)劃、設(shè)計(jì)與開(kāi)發(fā)。三個(gè)要素始終與三個(gè)階段相互作用,是指在制作的全過(guò)程中都要注意,是全過(guò)程的活動(dòng)原則,保證項(xiàng)目的成功。計(jì)劃和設(shè)計(jì)兩個(gè)階段用環(huán)形表示階段內(nèi)部有反復(fù)的修改,開(kāi)發(fā)階段用豎的框架表示多項(xiàng)工作可能會(huì)并行或交叉開(kāi)展。
這個(gè)模式涉及到開(kāi)發(fā)者和用戶兩個(gè)方面,開(kāi)發(fā)者包括教學(xué)設(shè)計(jì)人員、教學(xué)與培訓(xùn)專業(yè)人員、媒體素材制作人員和美工人員、程序編寫和測(cè)試人員、項(xiàng)目管理人員等。在專業(yè)開(kāi)發(fā)中,用戶是指接收產(chǎn)品的客戶,如學(xué)校、培訓(xùn)機(jī)構(gòu)或出版商。在學(xué)校或培訓(xùn)機(jī)構(gòu)內(nèi)部開(kāi)發(fā)時(shí),用戶是指使用軟件的教學(xué)者,通常是教師。
2 模式的特點(diǎn)
(1) 基于標(biāo)準(zhǔn)的過(guò)程
從項(xiàng)目一開(kāi)始,開(kāi)發(fā)者與用戶等共同明確軟件最終產(chǎn)品所有方面的一致的標(biāo)準(zhǔn),每個(gè)開(kāi)發(fā)人員都知道應(yīng)該怎么做,始終堅(jiān)持確定了的標(biāo)準(zhǔn)。
(2) 實(shí)證的方式
全過(guò)程是初步設(shè)想、評(píng)價(jià)、修改的反復(fù)循環(huán),直到最后完善。在計(jì)劃和設(shè)計(jì)階段需要完成兩個(gè)原型,體現(xiàn)了原型法的思想。軟件開(kāi)發(fā)雖然有理論指導(dǎo),但是最保險(xiǎn)的還是不斷地試驗(yàn)修改,直到合適為止。在全過(guò)程中堅(jiān)持按標(biāo)準(zhǔn)評(píng)價(jià),既不拔高也不降低。
(3) 全過(guò)程管理
軟件開(kāi)發(fā)中有一種現(xiàn)象是偏離原定方案,到了最后又耗費(fèi)時(shí)間、人力和財(cái)物進(jìn)行修改。好的項(xiàng)目管理能保證方案實(shí)施,堅(jiān)持既定標(biāo)準(zhǔn)。
(4) 重視決策階段
該模式中把計(jì)劃與設(shè)計(jì)分為兩個(gè)階段,在全過(guò)程中花費(fèi)較多的時(shí)間,意圖是制作人員多花一些時(shí)間討論,提出初步設(shè)想,做出正確決策,然后進(jìn)行技術(shù)實(shí)現(xiàn)。這樣不僅能少走彎路,提高工作效率,更重要的是能開(kāi)發(fā)出體現(xiàn)教學(xué)設(shè)計(jì)魅力的軟件,而不是炫耀技術(shù)水平和藝術(shù)效果的展品。
(5)倡導(dǎo)集體協(xié)作
全過(guò)程貫穿了集體協(xié)作的工作方式。首先是因?yàn)樵O(shè)計(jì)與開(kāi)發(fā)所需要的技能與知識(shí)不是一個(gè)人能全部具備的,決策需要集思廣益,需要有各方面專長(zhǎng)的人合作;其次是協(xié)作方式能夠在參與者共同監(jiān)督下,保證原定的標(biāo)準(zhǔn)與方案。
3 模式的要素
(1) 標(biāo)準(zhǔn)
標(biāo)準(zhǔn)是一個(gè)好的項(xiàng)目的起點(diǎn)和基礎(chǔ),規(guī)定了開(kāi)發(fā)人員持續(xù)努力所要達(dá)到的質(zhì)量。在典型的情況下,一套標(biāo)準(zhǔn)來(lái)自兩個(gè)方面。第一,是由開(kāi)發(fā)人員提出來(lái)的,開(kāi)發(fā)人員都應(yīng)知道質(zhì)量標(biāo)準(zhǔn),并且在全過(guò)程中遵守;第二,是由客戶或教學(xué)人員提出來(lái)的,往往比較具體,例如規(guī)定了總體印象、內(nèi)容詳細(xì)的程度、字體、顏色等等。來(lái)自兩方面的標(biāo)準(zhǔn)一般是不會(huì)沖突的,能夠協(xié)調(diào)為一套標(biāo)準(zhǔn)。
(2) 評(píng)價(jià)
標(biāo)準(zhǔn)只有在軟件開(kāi)發(fā)中堅(jiān)持才有用,這就要求對(duì)所做的每一件事進(jìn)行評(píng)價(jià),每個(gè)人員也必須執(zhí)行標(biāo)準(zhǔn),以標(biāo)準(zhǔn)來(lái)衡量自己所做的工作。如果等到項(xiàng)目接近完成時(shí),才來(lái)看是否應(yīng)用了標(biāo)準(zhǔn),既不現(xiàn)實(shí),也沒(méi)有用處。
進(jìn)行全程評(píng)價(jià)關(guān)系著項(xiàng)目的質(zhì)量,通過(guò)設(shè)計(jì)與開(kāi)發(fā)過(guò)程中反復(fù)的設(shè)想、試驗(yàn)、評(píng)價(jià)、修改,使每一步工作都符合質(zhì)量,則最終的產(chǎn)品才能具有高質(zhì)量。
(3) 管理
成功與不成功的項(xiàng)目的差別很大程度上在于管理。對(duì)整個(gè)軟件開(kāi)發(fā)項(xiàng)目的資源、經(jīng)費(fèi)、時(shí)間等要從始到終嚴(yán)格控制,進(jìn)行的良好管理,否則項(xiàng)目容易偏離預(yù)定計(jì)劃和標(biāo)準(zhǔn)。加強(qiáng)項(xiàng)目管理,首先是要制定好計(jì)劃,其次是要做好監(jiān)控工作,最后是要保持項(xiàng)目組成員之間以及與用戶之間的交流和溝通。
4 模式的階段
(1) 計(jì)劃階段
計(jì)劃階段奠定多媒體教學(xué)軟件開(kāi)發(fā)項(xiàng)目的基礎(chǔ),形成總體設(shè)想,以保證項(xiàng)目各方面順利進(jìn)行。
計(jì)劃階段應(yīng)確定項(xiàng)目的目的,也就是學(xué)習(xí)者完成軟件學(xué)習(xí)后應(yīng)掌握的知識(shí)、技能及應(yīng)形成的能力、態(tài)度等。目的的確定涉及到教學(xué)內(nèi)容范圍,學(xué)習(xí)者的起點(diǎn)知識(shí)技能,以及一般特點(diǎn)。明確工作的限制條件也是必要的,例如運(yùn)行軟件的計(jì)算機(jī)環(huán)境,用戶對(duì)信息呈現(xiàn)的特殊要求、軟件內(nèi)容的指定范圍等。
計(jì)劃還包括收集資料,明確所需要的資料是否都能得到,能否改編或自制,如果有些資料不可能解決,決定是否需要改變軟件的內(nèi)容。計(jì)劃階段應(yīng)開(kāi)展頭腦風(fēng)暴活動(dòng),項(xiàng)目組成員共同討論,形成對(duì)軟件的內(nèi)容、結(jié)構(gòu)、外觀、風(fēng)格等方面的初步設(shè)想,用原型或文字描述出來(lái)。在這一階段需要頻繁地與用戶溝通,應(yīng)編制一些文件,包括項(xiàng)目說(shuō)明、計(jì)劃書、項(xiàng)目標(biāo)準(zhǔn)等,使項(xiàng)目管理有章可循,并得到用戶認(rèn)可。
(2) 設(shè)計(jì)階段
設(shè)計(jì)階段進(jìn)行軟件的教學(xué)內(nèi)容的組織,明確軟件的教學(xué)目標(biāo),形成對(duì)軟件的具體描述,為技術(shù)實(shí)現(xiàn)提供指南。
設(shè)計(jì)是軟件開(kāi)發(fā)的核心階段,時(shí)間用得最多。在這一階段,要綜合應(yīng)用教學(xué)理論,使用控制與交互的各種方法,體現(xiàn)信息呈現(xiàn)的要求。在設(shè)計(jì)過(guò)程中,制作人員之間,以及制作人員與用戶之間,要繼續(xù)交流,對(duì)軟件最終的樣式達(dá)成共識(shí),完成原型和設(shè)計(jì)文件。
(3) 開(kāi)發(fā)階段
開(kāi)發(fā)階段使設(shè)計(jì)的結(jié)果最終轉(zhuǎn)化為實(shí)際的產(chǎn)品。
這一階段要運(yùn)用各種技術(shù)手段,包括硬件設(shè)備和工具軟件,利用和改編現(xiàn)有資料,制作文本、圖像等多媒體素材,用編程或創(chuàng)作軟件集成軟件,經(jīng)過(guò)多種不同水平的測(cè)試和試用后,最終完成軟件。并且安排軟件的總結(jié)性評(píng)價(jià)。
在開(kāi)發(fā)階段,素材制作、軟件編程、手冊(cè)編寫等多項(xiàng)工作往往是并行或交叉開(kāi)展的,素材創(chuàng)作和程序編寫人員是工作的主體,但設(shè)計(jì)人員和用戶仍以不同的角色參與制作過(guò)程,同時(shí)又在動(dòng)用所有的技術(shù)資源,因此組織管理和質(zhì)量控制十分重要。
參考文獻(xiàn)
1 概述
交互式多媒體軟件是一中運(yùn)行較為復(fù)雜的軟件。它需要在多個(gè)軟件和硬件平臺(tái)的支撐下,才能夠?qū)⑽谋拘畔?、圖形信息以及圖像等多種形式的信息進(jìn)行比較科學(xué)合理的整合,這樣才能形成雙向交互功能強(qiáng)大的軟件產(chǎn)品。交互性是交互式多媒體軟件最本質(zhì)的特征,這一突出的特征具有重要作用,它能夠使用戶信息接收的地位改變,由原來(lái)的被動(dòng)者變成主動(dòng)者,用戶可以控制信息的流向和速度,滿足用戶參與信息接收的過(guò)程,也體現(xiàn)了用戶的主體性,用戶在使用軟件產(chǎn)品時(shí)能夠得到參與互動(dòng)的體驗(yàn)。交互式多媒體軟件的另一個(gè)重要特征是非線性,是指交互式多媒體軟件沒(méi)有線性的約束,用戶可以根據(jù)個(gè)人情況接收信息,想了解什么,先了解什么,都由用戶決定,使信息獲取方式更加靈活。隨著交互式多媒體軟件的應(yīng)用范圍擴(kuò)大,教育教學(xué)、電子出版以及商業(yè)展示等領(lǐng)域也滲透了這種軟件,而其中教育教學(xué)領(lǐng)域的交互式多媒體軟件運(yùn)用是最為成熟的。交互式多媒體制作的課件,交互式教學(xué)平臺(tái)的運(yùn)用,使得交互式多媒體軟件成為了輔助教學(xué)和遠(yuǎn)程教育的重要工具。在商業(yè)展示領(lǐng)悟,傳統(tǒng)的利用實(shí)物圖片或者視頻的方式進(jìn)行產(chǎn)品展示,這樣的畫面雖然真實(shí),但消費(fèi)者無(wú)法透過(guò)圖片了解產(chǎn)品,也無(wú)法了解產(chǎn)品是否符合自身需求,這樣的產(chǎn)品展示方式已然不滿足發(fā)展的需求,而交互式多媒體軟件的出現(xiàn),打破了這一種場(chǎng)面,因?yàn)槔媒换ナ蕉嗝襟w軟件,用戶可以根據(jù)個(gè)人意愿了解產(chǎn)品的細(xì)節(jié),激發(fā)用戶的購(gòu)買欲望。
2 設(shè)計(jì)
交互式多媒體軟件的設(shè)計(jì),美觀是要考慮的因素之一,但不能只考慮美觀,那樣只會(huì)華而不實(shí),更重要的界面組件與布局的設(shè)計(jì),要能夠保證交互行為順利進(jìn)行。就軟件設(shè)計(jì)而言,交互的界面不應(yīng)過(guò)于花哨,盡量簡(jiǎn)潔大方,不要因?yàn)槊烙^而影響使用,帶入很多不必要的干擾信息,嚴(yán)重的會(huì)造成界面污染。對(duì)于軟件進(jìn)行內(nèi)容設(shè)計(jì)之前,要對(duì)產(chǎn)品針對(duì)的消費(fèi)人群進(jìn)行調(diào)查研究,這樣才能使設(shè)計(jì)的內(nèi)容具有很強(qiáng)的針對(duì)性。攝像機(jī)交互演示軟件具有很多功能,一方面它能夠在教育領(lǐng)域作為攝像機(jī)學(xué)習(xí)的虛擬器材,另一方面,一種新型的攝像機(jī)在面世之前,要進(jìn)行產(chǎn)品展示和用戶體驗(yàn),這時(shí)攝像機(jī)交互演示軟件就能作為展示的工具。因此,這類軟件的用戶主要是一些攝像機(jī)的初學(xué)者和一些想要購(gòu)買準(zhǔn)備上市的攝像機(jī)的潛在消費(fèi)者。通過(guò)軟件,這些用戶能夠?qū)z像機(jī)產(chǎn)品的結(jié)構(gòu)、功能進(jìn)行了解,并進(jìn)行虛擬操作,因而,該軟件產(chǎn)品設(shè)計(jì)使,不僅要有結(jié)構(gòu)和功能的介紹,還要帶給用戶虛擬操作的體驗(yàn)。三維模型是交互式多媒體軟件的核心,其真實(shí)性與精細(xì)的程度對(duì)軟件的整體效果和軟件給用戶帶去的體驗(yàn)有直接的影響。因而,在軟件設(shè)計(jì)時(shí),這一部分的精細(xì)程度是考慮重點(diǎn),要保證每一個(gè)細(xì)節(jié)的完美,這樣才能給用戶更真實(shí)的視覺(jué)感受,滿足他們的探究欲望。交互是交互式多媒體軟件的重點(diǎn),交互功能是設(shè)計(jì)的關(guān)鍵。例如在攝像機(jī)交互演示軟件的設(shè)計(jì)中,重點(diǎn)是要讓用戶了解產(chǎn)品的結(jié)構(gòu)和功能,并能夠帶來(lái)操作體驗(yàn)。具體設(shè)計(jì)有如下步驟,通過(guò)鍵盤移動(dòng)、旋轉(zhuǎn)和縮放攝像機(jī),實(shí)現(xiàn)攝像機(jī)結(jié)構(gòu)的全方位展示。通過(guò)鼠標(biāo)移動(dòng)功能,介紹攝像機(jī)部件的名稱和使用的方法,讓用戶對(duì)攝像機(jī)部件功能有所了解。通過(guò)鼠標(biāo)點(diǎn)擊功能,不僅可以對(duì)攝像機(jī)LCD顯示器或鏡頭蓋進(jìn)行打開(kāi)或關(guān)閉操作,還可以對(duì)其他部件進(jìn)行操作,這一功能使用戶能夠?qū)z像機(jī)進(jìn)行基本的運(yùn)用,使消費(fèi)者能夠購(gòu)買到符合自身需要的商品。
3 開(kāi)發(fā)
3.1 開(kāi)發(fā)平臺(tái)
Maya是世界頂級(jí)的三維動(dòng)畫軟件,它不僅能夠提供完美的三維建模,還具有動(dòng)畫、特效以及渲染功能。Maya主要建模方式有三種,分別是Nurbs、Polygon和細(xì)分建模,方便不同建模習(xí)慣的開(kāi)發(fā)者。例如攝像機(jī)模型的設(shè)計(jì),利用Polygon可以保證精細(xì)程度,操作也比較簡(jiǎn)單。Virtools是三維開(kāi)發(fā)的虛擬現(xiàn)實(shí)軟件。它不需要代碼編寫,可以利用鼠標(biāo)拖放實(shí)現(xiàn)交互,解決了開(kāi)發(fā)軟件難的問(wèn)題。
3.2 建立模型
攝像機(jī)擁有一個(gè)看似復(fù)雜的結(jié)構(gòu),但只要掌握它結(jié)構(gòu)的特點(diǎn),在建模過(guò)程中分解成小的部分,建模就會(huì)變得簡(jiǎn)單。在部件制作中,可以先做規(guī)則部件,不規(guī)則部件可由規(guī)則部件加工而成。所有部件完成后,要進(jìn)行部件組合,最后組接在一起。攝像機(jī)模型建成后,還需要根據(jù)每個(gè)部件的材質(zhì)特點(diǎn)進(jìn)行屬性編輯,例如機(jī)身材質(zhì)為亞光塑料,鏡頭屬玻璃材質(zhì),部件的材質(zhì)特點(diǎn)要求的色調(diào)、亮度和反射率是不同的,因而要在屬性中對(duì)應(yīng)編輯。才能將部件材質(zhì)特點(diǎn)表現(xiàn)出來(lái)。此外,部件紋理的添加也不能忽視。首先要導(dǎo)出需要貼圖的部件,利用專業(yè)軟件進(jìn)行展UV,將得到的新物體重新放入模型取代同一物體,其次,可以確定部件的UV坐標(biāo),將坐標(biāo)導(dǎo)入Photoshop軟件中,繪制物體表面特征和細(xì)節(jié)。最后,將繪制好的紋理貼圖給予該物體。這樣才能是材質(zhì)具有紋理的效果,充分展示材質(zhì)特點(diǎn),賦予模型真實(shí)感和立體感。
3.3 實(shí)現(xiàn)交互
利用軟件設(shè)計(jì)好模型之后,就要實(shí)現(xiàn)其交互的功能。實(shí)現(xiàn)交互功能要運(yùn)用到很多的BB,BB安裝之后,我們可以利用鍵盤按鍵或者是鼠標(biāo)光標(biāo)對(duì)模型進(jìn)行操作,通過(guò)按鍵實(shí)現(xiàn)模型的移動(dòng)、旋轉(zhuǎn)和縮放,縮放過(guò)程中還可以控制速度。通過(guò)將鼠標(biāo)的光標(biāo)移到模型的部件位置,可以查看部件的簡(jiǎn)介和使用方式,此外,還可以利用鼠標(biāo)點(diǎn)擊功能,控制LCD顯示器和鏡頭蓋的開(kāi)關(guān),安裝或者卸載電池過(guò)P2卡??梢?jiàn),軟件設(shè)計(jì)好以后,用戶就可以通過(guò)鼠標(biāo)和鍵盤進(jìn)行產(chǎn)品了解和虛擬操作。此外,交互式多媒體軟件的有兩種方式,一是以·vmo格式保存,以·html格式導(dǎo)出,這種方式需要安裝播放插件,而且只能以網(wǎng)頁(yè)形式使用;另一種是利用Virtools Make Exe插件進(jìn)行格式轉(zhuǎn)換,并制作成客戶端,安裝在計(jì)算機(jī)中即可使用。
4 結(jié)語(yǔ)
一、引言
傳統(tǒng)的ATS(Automatic Test System),即自動(dòng)測(cè)試系統(tǒng)的軟件設(shè)計(jì)方法中,要求測(cè)試人員面向測(cè)試儀器進(jìn)行編程操作,測(cè)試軟件則根據(jù)被測(cè)試的代碼段的要求進(jìn)行編程。這種軟件設(shè)計(jì)方法有著層次分割不清的問(wèn)題,容易將系統(tǒng)軟件和測(cè)試軟件的功能混淆,增大測(cè)試程序、測(cè)試儀器以及被測(cè)對(duì)象的關(guān)聯(lián)性,嚴(yán)重降低了測(cè)試代碼的可移植性。另外,傳統(tǒng)的測(cè)試方法中,測(cè)試功能比較單一,由于測(cè)試代碼已經(jīng)被固化,因此測(cè)試功能得不到優(yōu)化升級(jí),缺乏靈活性。
目前,ATS得到了飛速發(fā)展,自動(dòng)測(cè)試系統(tǒng)的單一、專用功能正在向通用的多元化功能方向發(fā)展。但是,如何實(shí)現(xiàn)測(cè)試軟件的通用性仍然是一個(gè)急需解決的問(wèn)題。本文以通用性ATS軟件開(kāi)發(fā)平臺(tái)為研究對(duì)象,提出了通用型ATS軟件開(kāi)發(fā)平臺(tái)的框架結(jié)構(gòu)和設(shè)計(jì)方法。本文設(shè)計(jì)的通用性ATS軟件開(kāi)發(fā)平臺(tái)能夠有效地幫助測(cè)試人員提高維修以及測(cè)試工作,并且具有較高的推廣價(jià)值。
二、通用性ATS軟件開(kāi)發(fā)平臺(tái)的結(jié)構(gòu)和功能
通用性的ATS軟件開(kāi)發(fā)平臺(tái)主要的功能,是提供給用戶一個(gè)通用性的測(cè)試軟件開(kāi)發(fā)工具,通過(guò)該軟件開(kāi)發(fā)平臺(tái)運(yùn)行測(cè)試系統(tǒng)的開(kāi)發(fā)過(guò)程。通用性的ATS軟件開(kāi)發(fā)平臺(tái)的功能一般分為如下五類:第一類,能夠?qū)y(cè)試資源進(jìn)行動(dòng)態(tài)的配置和重構(gòu);第二類,能夠?qū)y(cè)試對(duì)象的硬件資源進(jìn)行初始化、掃描以及初始化等功能;第三類,為測(cè)試程序提供完備的開(kāi)發(fā)與調(diào)試的空間;第四類,給測(cè)試程序提供強(qiáng)大的數(shù)據(jù)處理功能;第五類,對(duì)系統(tǒng)的消息系統(tǒng),例如中斷、觸發(fā)等等,而且還能夠滿足系統(tǒng)資源并行處理。
三、通用性ATS軟件開(kāi)發(fā)平臺(tái)的相關(guān)技術(shù)
IEEE1232的標(biāo)準(zhǔn)是將ATS體系結(jié)構(gòu)進(jìn)行層次劃分的標(biāo)準(zhǔn)。通用性ATS軟件開(kāi)發(fā)平臺(tái)要求與NxTestATS的框架對(duì)接。如何實(shí)現(xiàn)接口標(biāo)準(zhǔn)的規(guī)范、組件技術(shù)、軟件的統(tǒng)一開(kāi)發(fā)過(guò)程以及UML技術(shù)均是設(shè)計(jì)通用性ATS軟件開(kāi)發(fā)平臺(tái)的關(guān)鍵技術(shù)。另外,本文研究的通用ATS軟件開(kāi)發(fā)平臺(tái)主要是基于STD標(biāo)準(zhǔn)?;赟TD標(biāo)準(zhǔn)的開(kāi)發(fā)關(guān)鍵技術(shù),能夠利用C和C++等通用的程序設(shè)計(jì)語(yǔ)言開(kāi)發(fā)基于信號(hào)的組件。在測(cè)試的時(shí)候,這些基于信號(hào)的組件可以進(jìn)行信號(hào)操作,并且這些組件為TPS提供了可移植性能。
四、通用性ATS軟件開(kāi)發(fā)平臺(tái)的設(shè)計(jì)
本文針對(duì)基于信號(hào)組件的通用性ATS軟件開(kāi)發(fā)平臺(tái)進(jìn)行研究與設(shè)計(jì)。本文給出的通用性ATS軟件開(kāi)發(fā)平臺(tái)主要由信號(hào)組件、接口框架、測(cè)試儀器信號(hào)驅(qū)動(dòng)器以及資源管理器構(gòu)成。其中,信號(hào)組件則作為獨(dú)立的COM組件,并且COM組件作為資源管理器以及儀器信號(hào)驅(qū)動(dòng)的父類組件。下面探討了每個(gè)功能組件的功能描述。
信號(hào)組件中,每個(gè)信號(hào)組件與一種信號(hào)進(jìn)行一一映射,信號(hào)的類型可以參考STD標(biāo)準(zhǔn)。具體的功能,首先是將客戶程序的輸入信號(hào)的信息進(jìn)行存儲(chǔ),并儲(chǔ)備為儀器信號(hào)驅(qū)動(dòng)的調(diào)用參數(shù)。其次是能夠存儲(chǔ)測(cè)試的結(jié)果,測(cè)試的應(yīng)用程序進(jìn)行吊調(diào)用。
接口框架中的功能描述為,將面向信號(hào)的儀器驅(qū)動(dòng)接口的方法與屬性進(jìn)行定義,為其他組件的調(diào)用做準(zhǔn)備。
資源管理器中,作為應(yīng)用程序與儀器驅(qū)動(dòng)信號(hào)驅(qū)動(dòng)的中間層次,能夠利用檢索儀器的XML文件,進(jìn)行儀器的查詢,并且能夠創(chuàng)建具體的儀器信號(hào)驅(qū)動(dòng)程序。
作為儀器信號(hào)的驅(qū)動(dòng)功能是進(jìn)行測(cè)試的實(shí)現(xiàn),通過(guò)對(duì)底層儀器驅(qū)動(dòng)函數(shù)的封裝,實(shí)現(xiàn)具體儀器信號(hào)測(cè)試的功能。
結(jié)束語(yǔ)
本文首先針對(duì)傳統(tǒng)的ATS以及當(dāng)前的通用性ATS進(jìn)行比較,深入分析了通用性ATS的優(yōu)勢(shì),詳細(xì)闡述了ATS軟件開(kāi)發(fā)平臺(tái)的功能與結(jié)構(gòu),對(duì)通用性ATS的相關(guān)技術(shù)做了深入的探討,最后給出了以面向信號(hào)為基礎(chǔ)的通用測(cè)試軟件開(kāi)發(fā)平臺(tái)的設(shè)計(jì)。該通用性ATS軟件開(kāi)發(fā)平臺(tái)具有廣泛的應(yīng)用范圍,并且能有積極的提高測(cè)試人員的維護(hù)以及測(cè)試工作效率。
參考文獻(xiàn)
[1] 葉海明,周紹磊,王昆平. 通用測(cè)試系統(tǒng)軟件平臺(tái)設(shè)計(jì)[J]. 國(guó)外電子測(cè)量技術(shù). 2010(02):111-113.
4結(jié)語(yǔ)
隨著交互式多媒體軟件應(yīng)用的日益廣泛,交互式多媒體軟件的界面將更加追求個(gè)性化設(shè)計(jì),如信息呈現(xiàn)方式的多樣化、人機(jī)交互的藝術(shù)化。與此同時(shí),交互式多媒體軟件的設(shè)計(jì)理念和交互理論的運(yùn)用也將更為成熟,創(chuàng)作和開(kāi)發(fā)工具也將呈現(xiàn)多樣化的趨勢(shì)??傊S著交互式多媒體技術(shù)的日益成熟,交互式多媒體軟件必將更為完善,更能滿足用戶的個(gè)性化需求。
參考文獻(xiàn):
[1]鄧永堅(jiān).MAYA光與材質(zhì)的視覺(jué)藝術(shù)[M].北京:人民郵電出版社,2008.
一、引言
移動(dòng)學(xué)習(xí)(Mobile Learning),是指基于手持終端的學(xué)習(xí)、閱讀、娛樂(lè)等文化消費(fèi)行為。[1]廣義上的手持終端,包括手機(jī)、PDA、學(xué)習(xí)機(jī)、PSP、MP3、MP4 等設(shè)備。隨著智能手機(jī)和平板電腦等智能移動(dòng)終端的普及,移動(dòng)學(xué)習(xí)已成為一種重要的學(xué)習(xí)模式,具有靈活性、便攜性、交互性、個(gè)性化和廣泛性等特點(diǎn)。[2]由于移動(dòng)學(xué)習(xí)可以跨越地域限制,充分利用可攜帶技術(shù);同時(shí),借助智能終端提供的多點(diǎn)觸控、無(wú)線上網(wǎng)、多媒體應(yīng)用等技術(shù),使學(xué)習(xí)過(guò)程充滿了魅力及樂(lè)趣。[3]
鋼琴作為樂(lè)器之王,在發(fā)揮音樂(lè)開(kāi)發(fā)智力的功能中比聲樂(lè)以及其他樂(lè)器有著更多的優(yōu)勢(shì),因此,它常常被當(dāng)成首選的家庭樂(lè)器。不過(guò),鋼琴的價(jià)格比較昂貴,動(dòng)輒幾萬(wàn)元,不是所有家庭都能負(fù)擔(dān)得起的。而且一些家庭在購(gòu)買鋼琴給孩子練習(xí)后,發(fā)現(xiàn)孩子對(duì)它缺乏興趣,使用一段時(shí)間后就束之高閣,造成投資的浪費(fèi)。如果能事先了解學(xué)習(xí)者對(duì)某種樂(lè)器的喜愛(ài)程度和興趣,就能有效地幫助孩子挑選合適的樂(lè)器。
移動(dòng)學(xué)習(xí)模式能很好地解決上面的問(wèn)題。由于它本身具有的特性,可以為學(xué)習(xí)者提供一個(gè)虛擬化、情境化的樂(lè)器學(xué)習(xí)和彈奏環(huán)境,挖掘?qū)W習(xí)者在音樂(lè)方面的潛質(zhì)。
二、現(xiàn)有模擬鋼琴類學(xué)習(xí)軟件存在的問(wèn)題
作為一種新的移動(dòng)學(xué)習(xí)類軟件,模擬鋼琴軟件受到人們的關(guān)注。本文從360的手機(jī)Android平臺(tái)和安卓網(wǎng)(pc6.com)上隨機(jī)下載5款模擬鋼琴類軟件并從功能模塊、按鍵設(shè)置、學(xué)習(xí)功能、適合人群和收費(fèi)情況5個(gè)方面進(jìn)行對(duì)比,如表1所示。
從表1可以看出5款軟件都實(shí)現(xiàn)了一些鋼琴使用的基本功能,例如小鍵盤顯示、按鍵發(fā)音、播放已有鋼琴曲目;同時(shí),每款軟件又各有特色,如邊學(xué)邊彈模式、樂(lè)譜簡(jiǎn)化為字母、音效模擬或者音符與五線譜對(duì)應(yīng)等。從界面設(shè)計(jì)來(lái)看,5款軟件都提供單排演奏功能,有2款軟件還提供雙排演奏。從學(xué)習(xí)功能上看,這5款軟件的學(xué)習(xí)功能都偏弱,完美鋼琴雖然提供一定的學(xué)習(xí)模式,但是需要在付費(fèi)情況下才能使用,而且沒(méi)有提供相應(yīng)的鋼琴學(xué)習(xí)材料;一秒學(xué)鋼琴的學(xué)習(xí)模式與完美鋼琴類似,但是也無(wú)學(xué)習(xí)教材;鋼琴教練盡管支持學(xué)習(xí)模式并有學(xué)習(xí)教材,但這些功能需要在收費(fèi)模式下才能使用。從適用人群看,前3款軟件均需要使用者有一定的音樂(lè)基礎(chǔ),而其余2款軟件則可以面向無(wú)鋼琴使用基礎(chǔ)的人使用。
總體來(lái)看,這5款軟件所提供的學(xué)習(xí)功能都較弱,它們更傾向于提供休閑娛樂(lè)功能,而且大部分適合于有一定音樂(lè)基礎(chǔ)的學(xué)習(xí)者。因此,開(kāi)發(fā)一款功能豐富,并能兼顧鋼琴初學(xué)者的學(xué)習(xí)軟件具有很好的實(shí)用價(jià)值。
三、移動(dòng)學(xué)習(xí)的特點(diǎn)
智能手機(jī)的出現(xiàn)為教育類軟件提供了一個(gè)全新的平臺(tái),手機(jī)類應(yīng)用具有攜帶方便、簡(jiǎn)單易用、可以隨時(shí)隨地學(xué)習(xí)的優(yōu)勢(shì)。[4]因此,移動(dòng)學(xué)習(xí)類軟件在策劃的過(guò)程中應(yīng)該根據(jù)自身特點(diǎn)進(jìn)行設(shè)計(jì)。下面列出移動(dòng)學(xué)習(xí)的一些特點(diǎn)。
(1)學(xué)習(xí)形式的移動(dòng)性。學(xué)習(xí)者不受時(shí)間的限制,任何時(shí)間都可以進(jìn)行學(xué)習(xí),而不必按固定的時(shí)間進(jìn)行。同時(shí),教師也可在移動(dòng)中不受時(shí)空的限制隨時(shí)隨地進(jìn)行教學(xué)。[5]
(2)學(xué)習(xí)時(shí)間的碎片性。為了方便學(xué)習(xí)者在移動(dòng)中學(xué)習(xí),可以充分利用時(shí)間的零碎片段,掌握一個(gè)相對(duì)完整的知識(shí)組塊,經(jīng)過(guò)每天的積累和消化,最終會(huì)形成一個(gè)完整的知識(shí)拼圖。[6]
(3)學(xué)習(xí)過(guò)程的交互性。移動(dòng)學(xué)習(xí)環(huán)境使用最新的技術(shù)給教學(xué)活動(dòng)帶來(lái)交互的環(huán)境。學(xué)生不是被動(dòng)參與到學(xué)習(xí)過(guò)程中,他們可以利用網(wǎng)絡(luò)通信技術(shù)和移動(dòng)計(jì)算技術(shù),實(shí)現(xiàn)數(shù)字化學(xué)習(xí)信息、資源和服務(wù)傳輸?shù)碾p向交流。[7]
(4)個(gè)性化的學(xué)習(xí)需求。在移動(dòng)學(xué)習(xí)模式中,學(xué)習(xí)者根據(jù)自己的學(xué)習(xí)需求,自己控制學(xué)習(xí)的進(jìn)度、安排學(xué)習(xí)時(shí)間和地點(diǎn)、自由選擇學(xué)習(xí)內(nèi)容。
(5)學(xué)習(xí)技術(shù)的融合性。移動(dòng)學(xué)習(xí)將諸如個(gè)性化、多媒體、情境智能、觸覺(jué)交互、移動(dòng)設(shè)備、無(wú)線通信等多種技術(shù)相互融合,實(shí)現(xiàn)了從有線虛擬學(xué)習(xí)環(huán)境到無(wú)線虛擬學(xué)習(xí)環(huán)境的轉(zhuǎn)變。
四、Opiano的設(shè)計(jì)
1.Opiano的設(shè)計(jì)目標(biāo)
現(xiàn)有的5款鋼琴模擬類軟件是以?shī)蕵?lè)休閑為主,缺少教育性。針對(duì)這個(gè)問(wèn)題,Opiano在設(shè)計(jì)時(shí)需要兼顧娛樂(lè)性與教育性,換言之,Opiano是一款同時(shí)面向鋼琴初學(xué)者和愛(ài)好者使用的多功能電子鋼琴學(xué)習(xí)軟件,能發(fā)現(xiàn)初學(xué)者是否對(duì)鋼琴演奏產(chǎn)生興趣,減少購(gòu)買鋼琴的盲目性。它借助平板電腦提供的豐富的多媒體功能和多點(diǎn)觸控技術(shù)等優(yōu)勢(shì),向?qū)W習(xí)者展現(xiàn)出一個(gè)較為真實(shí)的鋼琴?gòu)椬喹h(huán)境,方便學(xué)習(xí)模擬。除了彈奏功能外,Opiano還具有樂(lè)譜展示、錄音和播放、保存、清除等功能,不僅讓用戶享受在移動(dòng)終端上彈奏鋼琴的樂(lè)趣,還具有輔助鋼琴教學(xué)的功能。
2.Opiano的學(xué)習(xí)資源設(shè)計(jì)
Opiano屬于培養(yǎng)興趣類移動(dòng)學(xué)習(xí)軟件,通常此類課件的時(shí)長(zhǎng)設(shè)計(jì)應(yīng)該偏短一些,最好在5分鐘至10分鐘范圍內(nèi),并將課程知識(shí)點(diǎn)進(jìn)行深度細(xì)化。[8]以此為基礎(chǔ),本軟件向?qū)W習(xí)者提供了鋼琴啟蒙階段的學(xué)習(xí)資源。學(xué)習(xí)資源主要包括文字材料、視頻文件和音頻文件。文字材料介紹鋼琴入門學(xué)習(xí)的相關(guān)知識(shí)點(diǎn),包括鍵盤認(rèn)識(shí)、鋼琴的指法、五線譜基本要素、單手練習(xí)和雙手練習(xí)等10個(gè)學(xué)習(xí)主題,每個(gè)主題均配有文字說(shuō)明和圖片說(shuō)明,內(nèi)容講解以10分鐘為限。為了豐富學(xué)習(xí)過(guò)程和形式,我們根據(jù)不同的主題,分別錄制相應(yīng)的視頻文件和音頻文件,學(xué)生在學(xué)習(xí)過(guò)程中可以隨時(shí)打開(kāi)對(duì)應(yīng)的資源以獲得幫助。此外,我們還從拜厄的《鋼琴基本教程》中精心選擇了10首練習(xí)曲錄制為視頻文件,讓學(xué)生可以跟隨視頻文件進(jìn)行練習(xí)。
3.Opiano軟件設(shè)計(jì)
Opiano在軟件設(shè)計(jì)上主要包含兩種應(yīng)用模式:“普通模式”和“學(xué)習(xí)模式”,如圖1所示?!捌胀J健笨梢灾饕m合于鋼琴愛(ài)好者,體現(xiàn)出Opiano的娛樂(lè)功能。它可以讓用戶隨意彈奏樂(lè)曲,并且提供完整的88個(gè)鋼琴鍵,用來(lái)模擬所有音階。“學(xué)習(xí)模式”則幫助初學(xué)者掌握基本的樂(lè)理知識(shí),雖然只提供最常用的17個(gè)琴鍵(集中在鋼琴鍵的C區(qū)),不過(guò)可以支持樂(lè)譜指示功能,指導(dǎo)用戶彈奏既定的樂(lè)曲。
4.Opiano軟件界面設(shè)計(jì)
“普通模式”的界面設(shè)計(jì)主要分為4個(gè)部分,如圖2所示??丶僮鲄^(qū)顯示音量調(diào)節(jié)、錄音、播放等常用按鈕。信息顯示區(qū)顯示用戶操作的內(nèi)容。全琴鍵視圖區(qū)顯示一張全琴鍵(鋼琴的88個(gè)琴鍵)圖片。由于設(shè)備屏幕尺寸的限制,不可能一次性顯示全部琴鍵,用戶通過(guò)這個(gè)區(qū)域就能獲知和調(diào)節(jié)當(dāng)前琴鍵的顯示范圍。模擬琴鍵區(qū)則顯示可滾動(dòng)的模擬鋼琴琴鍵,一次只能顯示17個(gè)琴鍵,是該模式下最主要的區(qū)域,用戶就在該區(qū)域進(jìn)行彈奏。
“學(xué)習(xí)模式”的界面設(shè)計(jì)同樣分為4個(gè)部分,如圖3所示。其中控件操作區(qū)和信息顯示區(qū)與“普通模式”完全相同。樂(lè)譜顯示區(qū)和模擬琴鍵區(qū)是該模式最主要的兩個(gè)區(qū)域,前者用來(lái)動(dòng)態(tài)顯示樂(lè)譜,使用戶可以根據(jù)樂(lè)譜的指示彈奏樂(lè)曲,以達(dá)到充分的人機(jī)互動(dòng),同時(shí)體現(xiàn)了輔助教學(xué)的功能;后者供用戶進(jìn)行彈奏,但是只顯示固定的17個(gè)琴鍵,不可以滾動(dòng)。
五、Opiano實(shí)現(xiàn)的關(guān)鍵技術(shù)
1.Opiano的開(kāi)發(fā)框架
根據(jù)以上移動(dòng)學(xué)習(xí)的特點(diǎn)和Opiano的學(xué)習(xí)目標(biāo),本文基于10.1寸的Android平板電腦開(kāi)發(fā)了相應(yīng)的移動(dòng)學(xué)習(xí)軟件。系統(tǒng)要求Android 2.3及以上版本,開(kāi)發(fā)平臺(tái)為Eclipse和ADT,ADT是Android開(kāi)發(fā)工具,通過(guò)安裝ADT插件就可以實(shí)現(xiàn)在Eclipse上開(kāi)發(fā)Android的應(yīng)用程序。[9-10] Opiano主要在Android系統(tǒng)的應(yīng)用程序框架內(nèi)進(jìn)行開(kāi)發(fā),該框架提供Android應(yīng)用程序使用的系統(tǒng)基本API(如Button、TextView、SeekBar等等),以及開(kāi)發(fā)過(guò)程中常用到的基本框架組件,如View、Content Provider等。
2.Opiano實(shí)現(xiàn)的關(guān)鍵技術(shù)
為了讓Opiano能逼真地模擬電子鋼琴的功能,下面將重點(diǎn)闡述軟件實(shí)現(xiàn)上的一些關(guān)鍵技術(shù)。
(1)模擬琴鍵界面的實(shí)現(xiàn)
當(dāng)用戶進(jìn)入“普通模式”或“學(xué)習(xí)模式”后,會(huì)在設(shè)備屏幕下方看到一排仿真的鋼琴琴鍵,如圖4所示。鋼琴的琴鍵是由兩個(gè)相鄰但是形狀不一致的白鍵和一個(gè)黑鍵構(gòu)成,布局非常復(fù)雜。在開(kāi)發(fā)過(guò)程中,無(wú)法使用單一的布局組件(即Android API,常用的布局組件有LinerLayout等)實(shí)現(xiàn),而是將黑色琴鍵沿著白色琴鍵的分界線分割成左右兩個(gè)小矩形,在線性布局(LinerLayout)的框架中使用相對(duì)布局(RelativeLayout)完成的。
(2)全鍵盤視圖功能的實(shí)現(xiàn)
由于Android平臺(tái)電腦屏幕寬度的限制,為了使用戶能夠通過(guò)拖拽全鍵盤視圖上的滑塊(如圖5所示)便捷地調(diào)節(jié)琴鍵的顯示區(qū)域,本文采用API控件SeekBar并結(jié)合水平滾動(dòng)布局(HorizontalScrollView)實(shí)現(xiàn)全鍵盤視圖的功能,即將圖片作為SeekBar的滑道,滑塊指示屏幕當(dāng)前顯示的模擬琴鍵區(qū)域。利用SeekBar提供的接口OnSeekBarChangeListener接收SeekBar進(jìn)度改變時(shí)的消息,就能獲取用戶拖拽滑塊前后的進(jìn)度改變,從而計(jì)算出模擬琴鍵需要滾動(dòng)的距離,以便讓模擬琴鍵滾動(dòng)到正確的位置。
(3)樂(lè)譜動(dòng)態(tài)顯示功能的實(shí)現(xiàn)
樂(lè)譜的動(dòng)態(tài)顯示是“學(xué)習(xí)模式”最主要的功能。其實(shí)現(xiàn)效果如圖6所示。
樂(lè)譜內(nèi)容顯示在文本控件(TextView)中,一次性只顯示兩行音符。第一行音符在顯示完畢后會(huì)自動(dòng)消失,同時(shí)第二行音符移動(dòng)到第一行,并且在該控件的第二行顯示新的音符,因此整體看起來(lái)樂(lè)譜內(nèi)容在向上滾動(dòng),一次性滾動(dòng)一行。樂(lè)譜內(nèi)容存儲(chǔ)在標(biāo)準(zhǔn)的XML資源文件中,主要存儲(chǔ)兩種類型的信息——音符和每個(gè)音符的時(shí)長(zhǎng)(節(jié)拍數(shù))。使用Android API——XmlResourceParser對(duì)XML資源文件進(jìn)行解析,提取文件中的樂(lè)譜信息。
樂(lè)譜顯示的整個(gè)過(guò)程中,完全由進(jìn)度條控件(ProgressBar)控制樂(lè)譜的動(dòng)態(tài)變化(音符的顏色變化和樂(lè)譜內(nèi)容的滾動(dòng))。ProgressBar進(jìn)度的動(dòng)態(tài)增長(zhǎng)是由Android線程實(shí)現(xiàn)的,并且其增長(zhǎng)速度由音符的時(shí)長(zhǎng)決定。
(4)彈奏模擬琴鍵的程序?qū)崿F(xiàn)
彈奏模擬琴鍵是“普通模式”和“學(xué)習(xí)模式”下最主要的程序。首先,它給用戶提供了仿真的模擬鋼琴琴鍵界面,讓用戶可以觸摸。其次,當(dāng)用戶用手指觸摸每一個(gè)模擬琴鍵時(shí),模擬琴鍵會(huì)發(fā)出相應(yīng)的琴鍵聲音直到用戶抬起手指,聲音才會(huì)停止。為了使用戶彈奏模擬琴鍵的效果更為真實(shí),該程序還實(shí)現(xiàn)琴鍵被按下和彈起時(shí)不同的視覺(jué)效果,其功能如圖7所示。該程序主要通過(guò)按鈕觸摸事件監(jiān)聽(tīng)器來(lái)實(shí)現(xiàn)。
(5)調(diào)節(jié)琴鍵顯示區(qū)域的程序?qū)崿F(xiàn)
由于設(shè)備尺寸的限制,無(wú)法將全部的模擬琴鍵一次性地顯示在屏幕上,屏幕只能顯示17個(gè)模擬琴鍵。但是模擬琴鍵是可以通過(guò)調(diào)節(jié)設(shè)備屏幕上方的全琴鍵視圖而進(jìn)行左右滑動(dòng),在滑動(dòng)的過(guò)程中改變其在屏幕上顯示的琴鍵區(qū)域。除此之外,用戶還可以通過(guò)全鍵盤視圖準(zhǔn)確地獲悉當(dāng)前顯示的琴鍵是在什么區(qū)域,方便用戶進(jìn)行彈奏。
例如,用戶當(dāng)前看到的琴鍵處在中音區(qū),但是用戶想到高音區(qū)進(jìn)行彈奏。這時(shí)用戶可以向右拖拽全鍵盤視圖上的滑塊,直到在高音區(qū)的位置停下,之后模擬琴鍵就能在瞬間平滑地移動(dòng)到高音區(qū),其功能如圖8所示。該程序使用的接口為View.OnSeekBarChangeListener,此接口用于SeekBar控件的事件監(jiān)聽(tīng)器中,可以監(jiān)聽(tīng)SeekBar控件變化前、變化中和變化后的動(dòng)作。
六、Opiano的評(píng)價(jià)
Opiano開(kāi)發(fā)完成后,為了評(píng)價(jià)其效果,我們隨機(jī)選取年齡在6-12歲的學(xué)生,共計(jì)15人試用該軟件,其中6-9歲的學(xué)生有10人,10-12歲的學(xué)生有5人。這些試用者之前都沒(méi)有任何鋼琴?gòu)椬嗟慕?jīng)驗(yàn)。經(jīng)過(guò)為期一個(gè)月的使用,年齡段在6-9歲的學(xué)生中有7人對(duì)鋼琴演奏產(chǎn)生興趣,能夠利用這款軟件演奏簡(jiǎn)單的曲目,這部分學(xué)生的比例約為70%;余下3人只是將其作為娛樂(lè)軟件使用,但能經(jīng)常使用。年齡段在10-12歲的學(xué)生中有2人對(duì)鋼琴演奏產(chǎn)生興趣,能夠用比較規(guī)范的指法演奏簡(jiǎn)單的曲目;剩余的3人中有2人將Opiano作為娛樂(lè)軟件使用,剩余1人則沒(méi)有興趣,很少使用。
根據(jù)上述結(jié)果可以看出,年齡段較小的學(xué)生容易對(duì)Opiano產(chǎn)生興趣,學(xué)習(xí)效果良好;而年齡段較大的學(xué)生大部分是將Opiano作為一個(gè)娛樂(lè)軟件使用,并沒(méi)有繼續(xù)學(xué)習(xí)的意愿。可見(jiàn),對(duì)于鋼琴的學(xué)習(xí),年齡段越小的學(xué)生越容易培養(yǎng)出愛(ài)好,家長(zhǎng)可以有意識(shí)地讓孩子先接觸模擬類移動(dòng)軟件以便發(fā)掘出孩子的興趣,之后再購(gòu)置真實(shí)的鋼琴。這樣,可避免因?yàn)槊つ抠?gòu)置而造成的樂(lè)器閑置。Opiano提供的虛擬化學(xué)習(xí)環(huán)境和精心設(shè)計(jì)的教學(xué)內(nèi)容,讓53%以上的測(cè)試者沉浸在學(xué)習(xí)環(huán)境中,促使他們掌握初步的樂(lè)理知識(shí)和演奏技能。
七、結(jié)束語(yǔ)