時間:2023-06-18 10:31:37
引言:易發表網憑借豐富的文秘實踐,為您精心挑選了九篇軟件設計與開發范例。如需獲取更多原創內容,可隨時聯系我們的客服老師。

關鍵詞:管理信息、綜合測評、VB
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)45-0262-02
一、引言
隨著素質教育的不斷深入,學生綜合素質評價也成為了人才評價的一個標準,很多學校每年都要對學生進行綜合測評,綜合測評的計算量很大,而且由每個學生自己填表,再交給班委進行審核計算,打印,簽字,存檔,整個過程很繁瑣,往往花了很大的力氣還會出現一些問題,如統計失誤、人為計算失誤等。另外作為獎助學金評定的依據――學生綜合測評分是否能夠及時、準確、公平的算出來關系十分重大,所以急需一個計算簡便,容易操作的軟件來代替人為的手工計算,提高計算效率、準確度,使整個過程公開公平。該軟件操作簡單、不用維護,大大提高了學校的工作效率,減輕了班委、老師們的工作負擔。
二、需求分析
綜合測評軟件開發的目的是自動計算、快速審核、統計測評數據,減少人工干預,降低計算失誤,提高工作效率,將輔導員、班主任、班委從繁重的綜合測評及日常管理中解放出來,使學校的綜合測評工作系統化、規范化、自動化。通過調查,要求軟件需要有以下功能:(1) 要求有良好的人機界面,操作簡單。(2) 由于該軟件的使用對象學生和班級管理人員。(3) 數據計算自動完成,盡量減少人工干預。
三、可行性分析
由于本軟件的對象單一,都是在校學生,且每個數據內容具有較強的關聯性,涉及的計算過程不是很復雜。因此,比較適合于采用excel表格管理。熟悉VB編程。在技術難度方面,由于有指導老師的指導和相關參考文獻,特別是網上資料,特別是參考其他程序的功能,因此完全可以實現。
四、 軟件實現
(1) 統一命名功能主要代碼
d = Dir(App.Path & "\*.xls")
Dim EXLAPP As Excel.Application
Dim xlBook As Excel.Workbook
Dim EXLSHEET As Excel.Worksheet
Set EXLAPP = CreateObject("excel.application")
EXLAPP.Visible = False
Dim FileNa As String
Set xlBook = EXLAPP.Workbooks.Open(App.Path & "\" & d)
Set EXLSHEET = xlBook.Sheets(1)
EXLSHEET.Activate
If EXLSHEET.Cells(1, 19) = "ZongHecePingBiao" Then '有效表
FileNa = KillSpace(EXLSHEET.Cells(2, 6))
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
Name App.Path & "\" & d As App.Path & "\" & FileNa & "綜合測評表" & num & ".xls"
End If
(2) 統計收文情況主要代碼
d = Dir(App.Path & "\*.xls")
Call EXLAPP.Workbooks.Add
Set EXLSHEET1 = EXLAPP.ActiveSheet
EXLSHEET1.Cells(1, 1) = "綜合測評表收回情況表"
EXLSHEET1.Cells(2, 1) = "序號"
EXLSHEET1.Cells(2, 2) = "姓名"
EXLSHEET1.Cells(2, 3) = "收回情況"
EXLSHEET1.Cells(2, 4) = "文件數"
Open "C:\evaluation_file\names.txt" For Input As #1
ReDim Preserve StrZ(I) As String
ReDim Preserve beizhu(I)
k = 0
While Not EOF(1)
Line Input #1, str1
k = k + 1
EXLSHEET1.Cells(k + 2, 1) = k
str1 = KillSpace(str1)
EXLSHEET1.Cells(k + 2, 2) = str1
EXLSHEET1.Cells(k + 2, 3) = "未收回"
StrZ(k) = str1
beizhu(k) = 0
Wend
Close #1
(3) 審核功能主要代碼
On Error Resume Next
If (Option1.Value = True) And (Option2.Value = False) And (Option3.Value = False) Then
EXLSHEET.Cells(33, 19) = 1
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
FileCopy App.Path & "\" & d2, App.Path & "\已通過\" & d2
Kill App.Path & "\" & d2
ElseIf (Option1.Value = False) And (Option2.Value = True) And (Option3.Value = False) Then
EXLSHEET.Cells(33, 19) = 2
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
FileCopy App.Path & "\" & d2, App.Path & "\未通過\" & d2
Kill App.Path & "\" & d2
ElseIf (Option1.Value = False) And (Option2.Value = False) And (Option3.Value = True) Then
EXLSHEET.Cells(33, 19) = 0
EXLSHEET.Cells(1, 7) = Trim(Combo1.Text)
EXLSHEET.Cells(32, 4) = Trim(Text2.Text)
EXLSHEET.Cells(2, 3) = Trim(Text3.Text)
EXLSHEET.Cells(32, 13) = ""
EXLAPP.DisplayAlerts = False
EXLAPP.ActiveWorkbook.Close SaveChanges:=True
ElseIf (Option1.Value = False) And (Option2.Value = False) And (Option3.Value = False) Then
SetWindowPos Me.hWnd, -2, 0, 0, 0, 0, 3
MsgBox "" & vbCrLf & "您沒有點選意見! " & vbCrLf, vbExclamation, "警告"
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3
Exit Sub
End If
五、 結論
在本軟件系統必然會存在一些缺陷和不足。但其功能全面、易于日后程序更新、界面友好、操作方便、效率高是本軟件系統的特點。在這次設計與開發中的最大收獲并不是掌握這幾門開發工具的應用,而是學會了軟件設計的思維方法,以及與同學們之間相互幫助的精神。
參考文獻:
關鍵詞:DIY;心理健康教育;測評軟件
中圖分類號:TP311.52 文獻標志碼:A 文章編號:1673-8454(2014)20-0073-02
從事學校心理健康教育,常遇到心理測評。對于個體測評而言,手工操作簡單量表(SAS、SDS等)尚能應付,稍復雜的(SCL―90等)就感到煩與累了,16PF、MMPI等則望而生畏且準確性還難以保證;對于團體測評來說,手工幾乎難以實現,市售軟件價格較高,電腦移植不方便,查詢分析不能滿足個性需求。可否DIY網頁呈現、即插即用、滿足特殊需要的心理測評軟件?本文將與同仁分享。
一、心理健康教育測評軟件開發的一般方法
DIY心理健康教育測評軟件可通過建立便攜式數據庫網站實現。[1]
1.前期準備
(1)知識準備。我們將要做的工作是建立一個數據庫網站,事先應找到ASP和DreamWeaver兩類書籍以備用。
(2)軟件準備。建立網站(制作網頁)需要相應軟件作平臺,這里主要是制作網頁的軟件(如DreamWeaver)和編譯軟件(如NetBox等)。
2.軟件開發
心理健康教育測評軟件(數據庫網站)的一般開發過程如下:
(1)設計“主頁”。主頁有兩大功能――測驗與查詢。測驗就是啟動量表讓被試回答問題,查詢則報告測評結果。用“超級鏈接”指向“問卷”網頁實現測驗功能;通過口令(設置密碼)進入相應的“查詢”網頁。
(2)制作“問卷”網頁。將測驗量表制成網頁,讓測題呈現于電腦屏幕,前面再加上學生的基本信息。制作時答案分別處理,單選題用“單選按鈕(radio)”,多選題用“復選框(checkbox)”,學生基本信息則根據情況選用“文本框(text)”等表單元素。學生基本信息、答案在網頁上供被試輸入或選擇,在電腦后臺分別對應相關變量。
(3)建立數據庫。建立數據庫存放測評信息,可用ACCESS或EXCEL新建一個數據庫文件,一般應考慮學生基本信息(學號、姓名、性別、年齡、測驗日期與時間等)、回答信息(被試選擇的答案)、其它信息(檢驗是否重復提交)等,其數據結構(字段名稱、類型、長度等)要與上步中答案變量相應(不是相同),以便建立數據聯系。如果制作MMPI(至少399題)測驗,許多非大型的數據庫目前還無法突破255個字段,而EXCEL2007版不受此限。
(4)接收數據。建立一個專門網頁,使用ADO數據訪問技術訪問數據庫,再用SQL(主要是Insert語句)將被試回答的內容有序存入相應的數據表。此網頁以后臺運行為主,前臺一般不向用戶呈現信息(特殊情況提醒除外)。
(5)制作“查詢”網頁。查詢網頁是接受用戶查詢要求,并將其轉換為相應查詢命令的網頁。前臺供用戶選擇查詢條件,后臺則將其轉為相應變量。此步的關鍵是將用戶的查詢條件(后臺的相應變量)轉換成SQL的SELECE語句。
(6)制作“測評結果”網頁。根據量表測評規則(積分法、常模及解釋等)和用戶要求對數據進行統計和分析,以網頁或打印的方式將測評結果展示給用戶。結果展示方式多種多樣,以數據呈現較容易,即將相應數據顯示到網頁上,但不夠直觀。而以圖形方式則一目了然,如EXCEL,它能以圖形(條形圖、折線圖、餅圖等)直接呈現,也可采用相關軟件(如VBChart、ASPChart等)輔助制作。查詢內容一般有查詢被試答案、查詢分量和綜合分析報告等。如“中小學生心理健康測驗(MHT―CR)”可以數字表現分量,也可以折線圖表現分量,報告可以批量,也可以個別;再如“大學生人格問卷(UPI)”結果分別以第一類、第二類和第三類報告被試信息;SCL―90結果既有曲線,也有數字,還有文字分析與建議。此步工作隨用戶需求難易程度差異較大。
制作網頁時,凡是與數據相關(無論是存入還是查詢)的網頁,都要創建(如與之間)與數據庫的連接,以便對數據庫進行操作。
3.編譯打包
網頁運行要有支撐平臺(瀏覽器),還須有引擎才能啟動。網上有多種類型的引擎,各有特點。它們體積小,速度快,如綠三角AWS、綠四葉SERVICER(新生命專用)和紅色字母b的Netbox。
源文件一般都是各自獨立散布的,既不便于移植,更不利于產權保護。利用相關軟件可以將它們編譯成文件數量少、體積小且可以獨立運行的文件。編譯軟件較多,如Netbox,國產軟件,網上可下載,使用有說明。啟動Netbox可以將所有網頁(不含數據文件)編譯成一個引擎文件(EXE文件,一般不足1M),配上相應的數據文件便可使用。編譯后的軟件置于U盤,即插即用,尤其適用于局域網,也可放在網站上。
二、心理健康教育測評軟件專項功能開發
心理健康教育測評軟件(數據庫網站)可根據需要開發多種功能,舉例如下。
1.建立心理檔案
對于一些規模較大的學校(學生數千),可根據需要將相關心理量表(如“卡特爾人格特質(16PF)”等)做成問卷網頁,收集學生的心理特征數據,建立心理檔案數據庫。為保證學生提交答卷的有效性,可(用JS語句)設置“限制與提醒”,對于每題必答測驗,如有漏答題則不讓提交答卷,并將光標自動移到該題處,讓被試重新回答;如問題“與你童年一起生活的有:A.父親;B.母親;C.祖父;D.祖母……X.以上都不是”,有些能同時選擇,而有些則不能。軟件應自動查找矛盾回答,適時提醒被試選擇或更正。
2.建立本體常模和心理健康統計學標準
許多著名心理量表因無適用常模而被束之高閣。具有一定規模的學校或區域可將某個測試群體(2000或3000以上)作為常模團體,通過標準化操作來收集數據,經過統計處理(平均值與標準差)得到常模,作為個體的參照常模。
心理健康統計學標準認為,健康心理是圍繞某一群體的心理健康常模,在兩個標準差(2S)范圍內不斷上下波動的相對平衡過程。[2] 有了本體常模,就可以用A(平均值)和S(標準差)表示健康心理的統計學標準:上限為A+2S,下限為A-2S。
3.用于個案(或同質群體)研究
以心理量表的某個或幾個分量的界限值作為查詢(SELECT語句 中WHERE子句)條件,提供相應個案(或同質群體),如將MHT―CR中的“對人焦慮”和“過敏傾向”分量作為條件查詢個案(或同質群體)。
4.評估心理健康教育效果
將相應的心理量表制成網頁問卷,收集相關數據,評估學生的心理健康教育效果。
5.預測(預警)危機
將適合學生的心理健康水平評估量表制作成網頁,對學生進行普測,再以相應的標準設定界限,如前述的心理健康統計學標準,對數據進行分析、預測,并對超出正常范圍的個體提出警示。
6.選擇專業(高考志愿)、規劃職業生涯
可用16PF對高考生作測驗并分析,看看哪些專業適合,并預測大學學業成績。也可用霍蘭德(HOLLAND)職業興趣測驗,以供高考生作多種選擇或職業生涯規劃。[3]
7.評估睡眠狀況
升學壓力大,許多學生睡眠不足,特別是高中生,可以用匹茲堡睡眠質量指數(PSQI)編制相應網頁,供學生自我評估睡眠質量。
三、注意事項
1.使用期限
軟件成熟得有個過程,一般要經歷試用與改進、使用與完善幾個循環才相對“健壯”。因此,最好設個期限,到時自動失效,再更完善的軟件。
2.適用范圍
心理健康教育測評軟件的針對性很強,應當明確它的適用范圍,譬如MHT―CR是專門用來測評中小學生心理健康狀況的,不可用作其它目的,更不可強行對學生進行測評。
四、結束語
DIY心理健康教育測評軟件不難,只要肯在看書與上網兩方面下功夫。看書――品嘗“筵席”,上網――享用“快餐”。看書是學習系統理論,掌握一般方法,上網是學習前人(網友)如何解決千變萬化的現實難題,二者相輔相成。想讓心理健康教育測評得心應手,還是DIY吧! 參考文獻:
[1]姚宏程.便攜式數據庫網站的一種建立方法[J].中國教育信息化(基礎教育),2011(4).
【關鍵詞】 JavaEE 軟件工程 JavaBean JSP
一、引言
JavaEE(JavaEnterprise Edition)是由Sun公司在1999年提出的一個面向對象軟件開發標準。JavaEE能夠為用戶提供一個與平臺無關的、可移植的、支持并發訪問的中間件標準[1]。JavaEE包含了大量的組件,這些組件覆蓋了用戶信息錄入、邏輯業務加工、數據庫操作等多個方面,覆蓋了應用程序開發的各個架構層次,并且采用先進的國際標準,提高軟件的兼容性,解決傳統的軟件開發不向后兼容、造成系統之間的通信中斷等問題[2]。
二、 計算機軟件設計架構技術
JavaEE采用中間件理念定義了一組先進的組件,在軟件開發過程中采用先進的多層架構,可以將軟件劃分為四層,分別是客戶端、顯示邏輯、業務邏輯和數據庫[3]。客戶端主要包括瀏覽器Applet、Java桌面應用等組件;顯示邏輯可以利用JSP組件實現表格單頁排版、數據顯示整合等功能;JavaBean組件可以實現數據庫連接、插入、修改、刪除和查詢操作;數據庫可以實現數據的保存、處理等功能。
2.1客戶端和顯示邏輯
客戶端和顯示邏輯位于JavaEE框架的最上層,其可以與用戶進行直接接觸,能夠實現系統的邏輯業務輸入和處理結果輸出。瀏覽器Applet或Java桌面應用程序可以實現系統界面登錄,利用頁面上的表單接收信息,將信息發送至Tomcat服務器。Tomcat反饋的用戶請求結果可以使用Web Format進行計算和處理,使表單更加完美和整潔,然后通過JSP組件調用關鍵的系統內容,為用戶提供強大的支撐操作,這樣系統的描述結果就會更加完美,幫助用戶直接地、友好地查看系統處理結果。
2.2業務邏輯
業務邏輯可以使用Servlet組件實現用戶請求信息解析計算,將其劃分為兩個組成內容,分別是邏輯業務內容和數據業務內容。數據業務處理需要利用JavaBean組件。業務邏輯處理完畢之后,可以使用Servlet組件實現處理結果整合、封裝,將處理的結果反饋給客戶端和顯示邏輯。
2.3數據庫
數據庫可以有效接收系統的相關邏輯業務處理任務,并且可以實現Web服務器的業務解析管理功能以及SQL語句操作管理、關系代數語句操作管理功能,并且可以根據這些功能實現數據的插入、刪除、修改、查詢操作,能夠將數據庫的加工和處理信息反饋給業務邏輯,以便業務邏輯能夠進行信息整合和處理。
三、計算機軟件開發技術
3.1 Servlet技術
Servlet是Java服務器端的最小應用程序。程序員利用Java語言編寫動態的JSP頁面,利用Servlet實現頁面和服務器之間的邏輯業務解析、封裝,Servlet包含多個接口,這些接口包括數據交換接口、用戶信息接口、邏輯業務加工接口。以用戶登錄軟件執行過程為例描述Servlet處理過程:用戶輸入用戶名和密碼到表單之后,表單觸發數據交換接口,把用戶名稱和密碼發送到Web服務器,Web服務器實現邏輯業務加工和處理,將訪問去掉的數據反饋給中間件平臺,實現用戶信息認證和管理,確保信息的加工和反饋成功。
3.2 JavaBean技術
為了提高應用軟件數據操作的準確度和系統的可移植性,JavaEE采用Java程序設計語言開發了數據庫訪問組件JavaBean。JavaBean組件擁有強大的數據庫連接和操作處理功能,其可以將所有的數據庫關聯操作封裝到一個接口中,這個接口對于軟件工程開發人員來講是透明的,其不需要關注內部程序實現邏輯,因此這樣就可以提高應用系統代碼的準確性,并且便于系統的組件移植,明確展示系統數據庫接口操作的參數資源,這樣就可以解決重復性的簡單勞動,將軟件工程師的精力集中到應用系統架構設計、先進技術開發過程中,更好地提高應用系統的處理速度和性能。
四、結束語
隨著面向對象軟件開發技術的普及和發展,JavaEE可以為應用軟件開發提供強大的框架和組件,利用JSP技術實現動態網頁開發,采取JavaBean數據庫訪問技術增強數據操作功能,并且可以實現組件的重用性,進一步壓縮軟件開發周期,提高軟件開發質量。
參 考 文 獻
[1] 鐘艷, 張蓉. 基于移動互聯網下軟件開發技術的研究[J]. 電子技術與軟件工程, 2014(1):82-82.
【關鍵詞】計算機軟件開發;設計;難點;解決措施
眾所周知,模塊化在過去很長一段時間里稱為軟件設計的主要方式。事實證明,采用這種方式不僅僅能夠很好的規避軟件系統開發中的復雜性,可以在一定程度上簡化程序。通常情況下,在整個軟件的設計過程中需要將程序進行分解,這樣來行程模塊化層次結構,從而提高程序設計的可操作性和可讀性,加強開發效率。但是值得注意的是,在設計過程中由于試用的分解系統以及設計人員的思考方式存在一定的差異性,最終設計出來的軟件自然也會不盡一致。那么,我們需要具體問題進行具體分析,進而找出科學合理的解決辦法。
一、計算機開發設計中的難點問題
但是就目前而言依然存在很多急需解決的難點問題。主要表現在以下幾個方面。
1、需求分析比較欠缺。通常情況下,在設計軟件的過程中需要對設計標的物進行徹底分析,但是我們發現在很多時候會出現分析不清晰、有紕漏,或者是太籠統的現象,這樣一來就會導致軟件在設計過程中出現各種各樣的問題。就這一點而言,設計人員必須保持一顆嚴謹認真的心態,不管是從宏觀還是微觀細節方面都要進行完整而且詳細的分析,確保萬無一失。
2、測試不夠充分。這種情況的發生主要是由于在設計軟件結束之后需要對其進行充分的測試與相對應的檢驗,通過這種方式來最大限度的避免其在運營過程中出現問題,但是事實上我們發現正是因為測試不夠充分,在出現系統崩潰之前無人發現問題的所在。
3、規劃不合理。在軟件設計過程中有很多的程序需要編輯,而這些程序往往都是比較復雜的,有些設計人員在設計過程中并沒有嚴格按照相關規范進行計劃的制定,對于規模比較大的系統工程卻只肯花費一小部分時間去完成,并未真正的研究透徹,這樣一來設計質量當然也就無法保證了。鑒于此,設計人員需要耐心的來安排整個工程包括設計、規劃、測試以及后期的維護等等。
4、新特性的不斷增加。在過去我們會經常發現,在開發軟件完成之后,在運用過程中通常會根據需要增加一些新的內容,這樣就會使得軟件運行程序很容易變得復雜而且混亂,從而影響軟件運行的穩定性。就這一點而言,如果沒有十分特殊的要求,設計人員不要輕易添加新的需求進去,實在是需要添加,五筆要將計劃進行調整之后方可進行接下來的工作。
二、解決計算機軟件開發中難點問題的有效措施
1、根據實際需要切實規劃軟件設計。具體地說,就是要在軟件設計中精心組織好一支優秀的隊伍,并且嚴格按照規范要求制定出一套切之可行的設計計劃,要從中理清設計的重點在哪里,從而最大限度的避免人力物力財力上的浪費。真正意義上來講,設計一個軟件不僅僅要設計好它的內容,還要設計好軟件設計的行程安排,清楚設計的重點之處,以最短的時間做出最有效率的事情,盡可能的減少在一些與軟件本身無關的工作環節上浪費太多的人力物力的財力。
2、要對設計需求加以合理分析。這主要是針對納西在計算機軟件開發過程中對軟件的內容設計存在紕漏,導致在軟件開發過程中出現對原本想要設計的內容較為籠統化以及不可被測試的問題,那么我們應該要求設計人員在設計的前期要結合實際需要綜合考慮軟件的設計內容來制定出一套合理并且完整的設計計劃。
3、提供一個良好的工作環境。首先需要讓設計人員擁有一套正規化的開發工具,與此同時要給他們一個良好的外部工作環境,讓這些設計人員在一個舒適的環境中開始軟件的研發。與此同時還要提供給他們一些硬件上的服務,讓他們的研發軟件切實為設計人員帶來實際收益,通過這種方式來提高他們的工作熱情。
三、結束語
綜上所述,在科學技術蓬勃發展的今天,計算機軟件的設計與開發在整個社會發展過程中起到極其重要的作用,因為它在很大程度上直接決定計算機的工作性能,一個好的計算機軟件能夠很好的幫助計算機用友更好的工作水平,通過上面提出的一些建議希望能夠真正幫助計算機軟件設計者打造出完美的軟件,從而為計算機事業提供更好的服務。
參考文獻
[1]郭玲.淺析計算機軟件開發設計的難點和對策[J].計算機光盤軟件與應用.2014,(04).
[2]任康.計算機軟件開發設計的難點及解決措施[J].信息通信.2014,(09).
[3]賈欽勇.即時通訊系統的研究與實現[D].武漢理工大學:計算機軟件與理論.2010.
中圖分類號:TP317 文獻標識碼:A 文章編號:1671-7597(2014)04-0019-01
使用C++語言進行跨平臺的開發,目的是把應用程序的代碼處理成能夠在已有的平臺下使用和能執行文件。但是在其他平臺中,處理后的文件不可以被使用,特別在Windows與Unix平臺下更不能使用。所以,要解決和處理這個缺陷,就要將源程序的代碼翻譯成在各個平臺下都能使用的文件。通過幾十年的發展和演變,C++語言基本上能夠在所有的平臺下進行工作,但是在不同平臺下的編譯也會不同,也造成了語言之間的不同。同樣的,設計一個新產品就要對操作系統的函數進行使用和調用。因此,要避免這種區別就要在代碼中使用條件選擇編譯、進行工程模式編譯或可以使用預編譯。各種平臺使用的程序編譯手段也是不一樣的。要使在不同平臺下進行程序編譯時出現最小的差別就要手動對編譯條件的設置控制或管理。使用腳本文件和環境變量,還可以使用第三方軟件對代碼進行動態編譯,這樣就能使跨平臺開發的難度簡化。
1 跨平臺的概念
在軟件開發中有個很重要的概念就是跨平臺,跨平臺和操作系統無關也與硬件環境不相關聯。如果一個應用程序是在操作系統下開發和設計的,那把它放在其他操作系統中也能使用。隨著軟件工程的發展對跨平臺開發的需求也在不斷的增加,所以要開發出能夠在各種各樣的平臺下都能使用的應用程序,就能為應用程序創造很大的市場份額。
2 跨平臺的開發所需要的環境
軟件編輯器、程序編譯器和程序調試器是構成開發環境的三個組成部分。Sandbox是進行代碼編譯和調試的軟件,其內部含有各種平臺下需要的不同種類的依賴庫和代碼庫。在程序的開發中它還含有各種源代碼。它的配置對多元化的平臺的要求也是很高的,通常講,C/C++語言的軟件開發和編譯要在各個平臺上能夠使用,還要注意以下問題。
1)最終結果的質量:Sandbox中所選擇的工具是否能夠產生最好的代碼。是否能夠產生最簡潔,最友好的配置文件以及在捕捉錯誤和調試時是否能夠提供足夠的支持。
2)Sandbox中含有的工具是否可以使應用程序與多元性的目標平臺進行合理的整合。
3)創立的Sandbox是不是可以使管理更加的簡單,即能否在不同的平臺進行變換時出現最小差異的文件。
對跨平臺開發來說實現抽象是很重要的一個因素,但是利用與平臺相關的工具包也需要使用相適應的工具。這些開發工具往往并不是統一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要達到這個目的,就要把用抽象以及相關的設計使用新的開發手段進行開發,實現在不同的平臺下都能進行編譯。
3 C++語言的跨平臺軟件開發的設計
3.1 避免語言的擴展特性
不管我們依據哪一種形式的方法進行編程,一般要選擇比較老的程序庫或文件。比較老的程序庫里面的一些原有程序和公式都是很規范的和標準的,不像現在的一些新的程序庫一樣比較的雜亂無章。有非常普遍出現的故障在跨平臺上產生,有時在獲得支持后,還是會出現沒有定義精確的事故。跨平臺開發是對異常靈敏度要求很高的,無限度的利用新特性,就會使軟件很難排除異常情況。所以,在跨平臺開發時要調用C++的標準函數模型,這樣就會使已開發的軟件和產品的穩定性更加強。
3.2 實現動態處理
在實際的開發過程中,每當編寫一個旨在多種環境中運行的可移植代碼庫時,項目的開發就會不可避免的面臨一個問題,即怎樣處理在一個平臺上有而在另外一個平臺上沒有的特性。
3.3 使用腳本文件進行管理
要達到使編寫的程序代碼簡潔、易懂的目的,要使軟件的結構更加的合理,這就要求先把與平臺相關聯的文件和數據庫分割開來,再把在開發期間要用的腳本文件進行編譯,再合理的分到各個部位。在使用應用程序時,要把配置文件里的配置選項調出來進行讀取里面的程序。因此,當跨平臺軟件開發時,要使與平臺相關聯的文件全部進行分離,要利用特殊的手段來實現該功能。
3.4 使用安全的數據串行化
如何使用安全和可靠的對數據進行存儲和加載是跨平臺要解決的核心問題。利用軟件的“fwrite”或“fread”指令可以對每個編譯器和單一目標平臺處理。若果是在跨平臺的操作環境中,利用這種方法對數據進行存儲和加載就不能做到平臺間的獨立性。如果要利用跨平臺對數據存儲到目標文件外,不同平臺間是有差異的,這樣也會引起結果的多樣性。
3.5 跨平臺開發中的編譯與測試
當進行跨平臺軟件開發時會與修改和編寫的很多代碼有關聯,相關聯的代碼會在很長的時期內不能在另外的平臺檢測,也會造成bug的潛藏時間增長。所以,要在多個不同的平臺下進行測試,這樣就能及時發現bug。
3.6 實現抽象
實現抽象是處理跨平臺中應用程序能被移植難題的有效方式。通過這種方式我們就能不利用一般的結構體系而進行單獨的軟件開發,同時還能夠使編出的程序更加的獨立化和簡潔化。當對跨平臺進行開發時,會有非常多的函數要進行利用,但是開發時不用編譯所有的函數,通常使用的方法是封裝,這些就是實現抽象的過程。封裝的方法并不是在任何情況下都是適用的,當遇到一些特殊的情況時,我們要使用其他的方式來進行程序的調用,我們提前可以將編寫好的功能程序存放到程序空中,并以該功能命名,當我們使用該程序或公式的時候,可以直接調用該功能的程序,便可以實現該功能。不管選用哪一種方式無非是對任意接口函數與平臺中的聯系進行隱藏。
4 結束語
本文主要介紹了跨平臺的定義和進行跨平臺設計所需要的環境以及怎樣進行跨平臺設計。在進行跨平臺設計的過程中我們結合了其他軟件設計的一些思路和方法,經過大量的軟件設計實踐,得出了一套跨平臺設計的方法和手段。與此同時我們還要在開發的軟件中加入更多的功能和操作容積。對跨平臺進行設計而言,經驗是很重要的,經驗越豐富的設計工程師設計的軟件的功能會越好一些,沒有經驗的工程師,在首次設計時很難利用跨平臺設計一個非常完美的應用軟件。所以,本文介紹了跨平臺軟件設計的一些技術,希望可以為跨平臺的開發的設計工程師提供一些幫助。
參考文獻
關鍵詞 計算機語言 邏輯開發 軟件開放設計
中圖分類號:TP311.52 文獻標識碼:A
0引言
當今這個科學技術高度進步的時期,計算機是發展和使用是實現現代化的一種重要方式和手段。計算機的功能實現通過的是一種抽象的語言,基于數學的邏輯,計算機的軟件實現平臺組織邏輯的語言,通過開發設計者的設計,根據要實現的某種特定的功能來采用有差異的邏輯思路。現階段,常用的計算機語言主要包括:C語言和面向對象語言。兩者是目前階段,在軟件的設計和使用過程中比較普遍的兩種計算機語言,兩者在邏輯上有一定的互通性,但又不完全相同,還存在一定的差異。計算機軟件的開放設計,實際上是將邏輯開放,較之原來的邏輯有更廣泛的適用性,可以更加靈活的適用于不同的行業之中,這樣也加強了計算機軟件的使用。計算機的技術的實現依托的是計算機語言的邏輯編碼和軟件的跨平臺的應用,對計算機語言的邏輯的開放和軟件的開放設計,可以設計出更多的適用性強的軟件,滿足計算機的多領域的使用需求。綜上,計算機語言的邏輯開發和軟件的開放設計不僅對于計算機的發展來說起到很大的作用,就是在整個技術領域,都是一個重要的發展里程碑,是值得努力做好的事件。
1邏輯語言的特點
邏輯語言本來是一種數學中的語言,是為了解決數學的問題而存在的。計算機語言也是一種邏輯的語言,并且邏輯語言在計算機中的使用也促進了邏輯語言的發展,可以說,邏輯語言與計算機的關系是相互依賴的,而且二者在相互依賴中相互促進、共同發展。邏輯語言由于發展與數學這樣一門非常嚴謹的學科之上,所以邏輯語言有著非常強的嚴謹性,邏輯語言可以有效地把信息轉化為數學上可以理解的語言,以及計算機可以識別的指令,是一種非常靈活而且在執行過程中非常準確嚴謹的語言。邏輯語言具有普遍性,可以對所有的問題,進行邏輯語言的描述,在計算機的使用和運行過程中,起到最大作用的就是邏輯語言,根據實際情況來看,計算機在執行每一個具體的程序時,都可以將之轉化為數學的模型,最終可以使用邏輯的語言對程序進行詳細的描述,最終得以實現計算機語言執行操作程序目的。
2計算機語言的邏輯開發
計算機語言目前較為常見的兩種是C語言和面向對象語言。C語言是一種在高級語言的基礎之上發展起來的一種,兼顧了匯編語言和高級語言兩種語言程序,是一種面向過程的語言;面向對象語言程序是目前應用比較普遍的一種新的技術手段,事實證明,使用的效果與以往的相比還是有一定的優勢的,這也是得以發展的重要原因之一,面向對象語言程序是目前計算機領域關注的重點,也是軟件開發的主流應用元素。而且面向對象的技術應用超過程序的設計和軟件的本身,在技術的領域是有一定的競爭力和重大作用的。下文就簡單的介紹這兩種語言的邏輯開發。
2.1計算機面向程序語言的邏輯開發
面向程序語言主要包括三部分:數據、函數和方法,這三個因素缺一不可,是一種相輔相成的關系,都是在程序的開發過程中必需的。其中數據,被認為是面向程序語言的基本組成單位,整個程序的開發過程中會涉及多個數據單位;而函數,被認為是這個程序設計的核心,函數本來就是覺得數據之間的關系的一種元素,那么在程序的設計中也是這樣的,函數是整個數據連串起來的中心,是程序設計的核心,有了函數,數據才有存在的依托。而方法則是函數與數據之間的關系,如何在數據和函數之間建立必要的關系,就是程序的方法,方法是聯系其他兩個要素的鏈接紐帶。在程序的設計過程中,必要的基礎單位數據時必不可少的,是構成程序的元件,函數是核心的物件,只有有函數才知道數據與數據之間的關系是怎么樣發揮作用的,而方法又是函數與數據之間的關系連接,是決定在數據之間采用什么樣的函數關系來完成程序的設計的開發。由此可見,面向對象程序的設計過程中的三種元素是相輔相成,不可或缺的。
2.2計算機面向對象程序語言的邏輯開發
這一語言,主要的特點就是面向對象,首先創建類,然后在類之下,創建類的具體對象。利用封裝的形式,把有關數據和方法進行封裝處理,然后定義對象,最終達到只要對對象就行處理就可以調用的模式。通過創建基類,把原始數據和數據方法進行封裝,基礎類包括面向對象語言的繼承性描述了對象之間的關系,對象之間的差異和相同性都可以表現出來。程序的多態性是為同一種技術方法提供多個不同的展現版本。封裝性和繼承性是面向對象程序設計的主要特點,正是因為有這樣的特點,保證了面向對象的技術可以應用于大規模程序的編寫。
2.3面向過程程序和面向對象程序的對比分析
面向ο蟪絳蠐镅隕杓頻謀喑毯兔嫦蜆程語言的編程有相同之處,而且面向對象程序語言設計的編程在一定程度上兼顧了面向過程語言的一些功能和特點,并在此基礎上有了一定的發展。面向對象程序語言可以理解為一種高級的匯編語言,它的很多特性都成為了計算機程序涉及語言中具有特色的編程模式的借鑒。面向對象語言通過最基礎的對類的定義和對對象的分裂,更加明確了基礎單位的定義,在內容方面更加明確具體,在資源的使用方面,更加的有效,這些角度來考慮,面向對象語言都優于面向過程的語言。所以,面向對象程序設計語言,優于其對資源的利用和對單位的定義,更適合用于大程序大規模的代碼的設計。這也只是一個大致的參考的一句,具體在實踐的過程匯總,設計軟件時,還應該按照具體問題具體分析的原則,根據實際的需要來分析二者之間的差異,進行必要的選擇。
3軟件開放設計應用的研究
計算機語言在整個發展階段,經歷了很多種語言的形式,既然在發展的過程匯總,有了很大的變化,那么就說明曾經的方法在適應時代的過程匯總存在一定的缺陷,有一些不盡如人意的地方,在后期的發展變化中出現了新的可以替代的語言形式。軟件開放設計是建立在完整設計好使用軟件的基礎之上的,那么在軟件的設計過程中,有很多需要探討的問題,下文就計算機語言的差異、設計軟件時計算機語言的選擇等方面做以簡單的介紹。
3.1應用計算機語言的差別
計算機功能的實現是以計算機語言的的識別為基礎的,計算機語言的識別的操作實現了計算機對程序的運行和操作,不同的語言實現了不同的功能,邏輯實現計算機語言就是計算機系統的有效運行基礎和保證。比如,編輯游戲軟件可以使用Java語言,專門用于游戲軟件的設計和運行;面向對象語言主要是應用于大規模的應用軟件的設計,將基礎的對象元素按照類進行分別,將不同的對象進行封裝,類與類之間通過繼承的關系聯系在一起,最終實現大規模軟件的技術應用。針對于設計類型不同、功能有差異的軟件,使用的計算機語言是有一定的差別的,不僅僅是穩重的例子,其實在具體的操作過程中,還是有很多具體的影響因素,雖然說軟件的差別只是一個因素,但是也是非常重要的一個因素。
3.2計算機軟件的開放設計
計算機軟件的開放設計,實際上就是把原本應用于不同領域的應用設計的程序和計算機語言,對之進行需求的分析設計,從而對新的軟件編程有一定的思路,進而涉及編寫軟件程序的流程圖,最終按照事先設計好的流程圖對軟件進行具體的設計操作,得到可以滿足目的的軟件設計。軟件設計流程圖,是可以明確的分析出軟件設計的不同階段的,同時還可以體現出系統不同階段的需求,根據這一流程圖設計軟件,可以在很大程度上提高軟件的適用性。目前,PHP是主流的開放式語言,主要是用于現階段網頁的設計,主要應用于此。一般的網頁,比如論壇的網頁,都是開放性行對比較高的,而且代碼也已經開放,從而可以實現源代碼流。有一些可以理解的使用者,也可以根據開放的代碼,和自己的儲備知識,對源代碼進行邏輯的分析,可以修改部門的邏輯功能,進而實現高效率的轉譯和使用。開源代碼的出現,在很大程度上讓更多的應用軟件實現了高效率的編譯,提高了使用和代碼編譯的效率。
3.3計算機語言的選擇
在涉及件的過程中,涉及到一個比較重要的環節,那就是計算機語言的選擇,選擇什么樣的計算機語言涉及軟件,是整個程序設計的重要環節之一。有很多種計算機的語言,那么如何根據所要設計的軟件的需求,科學合理的選擇計算機語言的應用種類,就是一個可以在很大程度上影響后期工作質量和工作效率的問題。在當今這個科學技術比較發達的時期,可以說大部分軟件的開發,很多高端軟件的開發都會選擇面向對象語言程序進行設計和開發,與此同時,相對低端的軟件就會選擇領單片機。至于單片機,他的內部程序相對而言是比較簡單的,簡單的通過基本的邏輯結構進行指令的設定。計算機軟件開發的開放設計,需要把計算機的語言作為基礎條件來進行,然后根據軟件在不同領域的具體應用,有針對性的進行設計和開發。
4總結
綜上所述,通過對兩種主流的計算機語言的對比研究,分析發現了二者的多方面的區別,以及在設計開發軟件的過程中的差異,了解了計算機語言的邏輯開發主要是要經過計算機的基礎平臺設計,從而根據平臺的差異實現了代碼的邏輯差異和區別。上文中,軟件的開放式設計研究,首先需要經過對軟件需要實現的功能的差異性進行分析,對軟件的具體應用領域進行針對性的需求分析,從而按照要求制定科學合理的設計流程圖,在做到盡量全面的了解軟件的功能和用途的基礎之上,實現應用開放軟件的高效率的開發設計。
參考文獻
[1] 張麗.邏輯語言在計算機軟件開發中的應用[J].無線互聯科技,2016,(18):51-52.
[2] 劉颯.語言邏輯下的計算機軟件開放設計探討[J].電子測試,2016,(05):90+44.
[3] 耿麗娟.基于語言邏輯的計算機軟件開放設計[J].電子技術與軟件工程,2016(08):66.
[4] 董毅.邏輯語言在計算機軟件開發中的應用探討[J].信息通信,2016(03):177-178.
[5] 徐立艷.計算機語言的邏輯開發與軟件開放設計應用研究[J].電腦編程技巧與維護,2015(24):41-42.
1.Visual Basic
Visual Basic是一種微軟公司開發事件驅動編程語言,是當前世界上使用最多的編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接數據庫。用戶可以使用VB組件快速建立應用程序。自1991年,微軟公司推出了Visual Basic 1.0,該創舉可以說是軟件開發史上的一個具有劃時代意義的事件,自從軟件開發有原來的“不可視”變為“可視”。在隨后的幾年內微軟公司不斷對其更新晚上。2002年,微軟將.NET Framework與Visual Basic結合而成為Visual (),重新打造VB,再一次將VB推向一個新的高度。
2.打字軟件設計思路
一個打字軟件的設計主要是為了滿足用戶打字練習,其必須具備良好的界面與簡易的支持系統。為此本打字軟件系統包括登錄系統與打字練習系統。登錄系統主要是為了為用戶保存每一次的練習準確率及時間;打字練習系統由鍵盤練習、拼音打字練習、五筆打字練習和打字游戲五部分構成。結構如圖1所示。
3.軟件開發
3.1 鍵盤練習模塊
在練習的過程中如果你打入錯誤的鍵位,就會顯示如圖提示,紅色錯號,綠色顯示是正確輸入的鍵位。其關鍵代碼如下:
If Jiantisi antisi Then ‘輸入字符錯誤,而且按鍵也不對。
‘以下是打錯了字符,也按錯了鍵的紅色提示。
3.2 鍵位練習正確率
作為打字練習測試系統,正確率的測試尤為重要,這個基于VB的打字系統的正確率測試更為準確,相比其他的測試軟件,它在正確率和速度之間做了一些改善,比如:原本的一些測試系統中如果你輸入的很快,但是錯誤率很高,但它在測試過程中任然會顯示速度很好,就起不到練習的目的,在我的這個測試系統中,對被測試者的正確率也有一定的要求,如果你打字錯誤了,你仍然不改,就會停在那里,直到你改正了才可以再輸入。
退出代碼:
這個窗口主要是對打字方式的練習,只有掌握好打字的正確鍵位才能夠成為打字高手。輸入練習時屏幕上會顯示要打的字母為綠色,盡力不要看鍵盤,進行盲打,手能夠子如的在鍵盤上尋找鍵位,這就要求學習者對鍵位有個大概的記憶,不同的手指也是負責不同的鍵位。
3.3 拼音與五筆打字練習模塊測試
文件/拼音或五筆打字練習,即可打開相應當前窗口,打開后工具欄成為當前激活窗口的工具欄,在當前工具欄點擊:文件/導入文本,選擇提前已經錄入的TXT文本
正確輸入時文本會是綠色背景,當你輸入錯誤時會成為紅色背景,可以退格更改。其中關鍵代碼如下:
文本框2的改變事件中,將每輸入的一個文字信息同文本1的副本作比較,若不正確則副本的文字變為紅色,后退回去相應的文字變為黑色,可以再次錄入。只有錄入正確則顏色是藍色。當單擊開始比賽按鈕時,文本框2獲得控制焦點且計時開始。比賽根據時間的控制,一旦時間到了,系統強制控制停止使用所有的事件,同時出現相應的測試成績。當然可以提前交卷,只需按結束交卷按鈕(Cmdstop_click)成績即可出現。
參考文獻
[1]劉炳文.Visual Basic程序設計[M].北京:清華大學出版社,2006,8.
[2]李志云,用VB設計中英文打字測試軟件[J].電腦編程技巧與維護,2006(11):12-13.
[3]沈國珍.《VB程序設計》課堂教學的探索與實踐[J].福建電腦,2007,4.
[4]俞建,張燎軍.數據庫訪問技術研究[J].計算機與現代化,2005.
[5]李志云.用VB設計中英文打字測試軟件[J].電腦編程技巧與維護,2006,11.
[6]曾強聰.Visual Basic程序設計與應用開發案例教程[M].北京:清華學出版社,2004.
[7]袁鋒.談《VB程序設計》教學方法改革的五個轉變[J].中國成人教育,2004,1.
[8]徐華麗.基于Visual Basic程序設計語言教學的實踐與探索[J].皖西學院學報,2006,2.
[9]王滿師.應用軟件“中英文打字測試系統”的設計及在VB上實現的有關技術[J].北京交通管理干部學院學報,2002.
[10]李金山,張文麗.基于VB的中文錄入測試系統的設計與實現[J].太原師范學院學報(自然科學版),2007,3.
【關鍵字】自動化測試;ATS;軟件開發平臺;通用測試系統
一、引言
傳統的ATS(Automatic Test System),即自動測試系統的軟件設計方法中,要求測試人員面向測試儀器進行編程操作,測試軟件則根據被測試的代碼段的要求進行編程。這種軟件設計方法有著層次分割不清的問題,容易將系統軟件和測試軟件的功能混淆,增大測試程序、測試儀器以及被測對象的關聯性,嚴重降低了測試代碼的可移植性。另外,傳統的測試方法中,測試功能比較單一,由于測試代碼已經被固化,因此測試功能得不到優化升級,缺乏靈活性。
目前,ATS得到了飛速發展,自動測試系統的單一、專用功能正在向通用的多元化功能方向發展。但是,如何實現測試軟件的通用性仍然是一個急需解決的問題。本文以通用性ATS軟件開發平臺為研究對象,提出了通用型ATS軟件開發平臺的框架結構和設計方法。本文設計的通用性ATS軟件開發平臺能夠有效地幫助測試人員提高維修以及測試工作,并且具有較高的推廣價值。
二、通用性ATS軟件開發平臺的結構和功能
通用性的ATS軟件開發平臺主要的功能,是提供給用戶一個通用性的測試軟件開發工具,通過該軟件開發平臺運行測試系統的開發過程。通用性的ATS軟件開發平臺的功能一般分為如下五類:第一類,能夠對測試資源進行動態的配置和重構;第二類,能夠對測試對象的硬件資源進行初始化、掃描以及初始化等功能;第三類,為測試程序提供完備的開發與調試的空間;第四類,給測試程序提供強大的數據處理功能;第五類,對系統的消息系統,例如中斷、觸發等等,而且還能夠滿足系統資源并行處理。
三、通用性ATS軟件開發平臺的相關技術
IEEE1232的標準是將ATS體系結構進行層次劃分的標準。通用性ATS軟件開發平臺要求與NxTestATS的框架對接。如何實現接口標準的規范、組件技術、軟件的統一開發過程以及UML技術均是設計通用性ATS軟件開發平臺的關鍵技術。另外,本文研究的通用ATS軟件開發平臺主要是基于STD標準。基于STD標準的開發關鍵技術,能夠利用C和C++等通用的程序設計語言開發基于信號的組件。在測試的時候,這些基于信號的組件可以進行信號操作,并且這些組件為TPS提供了可移植性能。
四、通用性ATS軟件開發平臺的設計
本文針對基于信號組件的通用性ATS軟件開發平臺進行研究與設計。本文給出的通用性ATS軟件開發平臺主要由信號組件、接口框架、測試儀器信號驅動器以及資源管理器構成。其中,信號組件則作為獨立的COM組件,并且COM組件作為資源管理器以及儀器信號驅動的父類組件。下面探討了每個功能組件的功能描述。
信號組件中,每個信號組件與一種信號進行一一映射,信號的類型可以參考STD標準。具體的功能,首先是將客戶程序的輸入信號的信息進行存儲,并儲備為儀器信號驅動的調用參數。其次是能夠存儲測試的結果,測試的應用程序進行吊調用。
接口框架中的功能描述為,將面向信號的儀器驅動接口的方法與屬性進行定義,為其他組件的調用做準備。
資源管理器中,作為應用程序與儀器驅動信號驅動的中間層次,能夠利用檢索儀器的XML文件,進行儀器的查詢,并且能夠創建具體的儀器信號驅動程序。
作為儀器信號的驅動功能是進行測試的實現,通過對底層儀器驅動函數的封裝,實現具體儀器信號測試的功能。
結束語
本文首先針對傳統的ATS以及當前的通用性ATS進行比較,深入分析了通用性ATS的優勢,詳細闡述了ATS軟件開發平臺的功能與結構,對通用性ATS的相關技術做了深入的探討,最后給出了以面向信號為基礎的通用測試軟件開發平臺的設計。該通用性ATS軟件開發平臺具有廣泛的應用范圍,并且能有積極的提高測試人員的維護以及測試工作效率。
參考文獻
[1] 葉海明,周紹磊,王昆平. 通用測試系統軟件平臺設計[J]. 國外電子測量技術. 2010(02):111-113.
[2] 戴豪民,牛雙誠,張光軼,武恒州. 面向信號自動測試系統信號組件的設計[J]. 現代電子技術. 2012(05) :224-226.
Abstract: Energy consumption data collection based on the most direct measure of energy as a corporate standard, but also the decision-making data to support a variety of energy-saving measures, the implementation of enterprise energy collection has important practical significance. The main content of this paper is to develop a design can be applied to different enterprise energy consumption data acquisition PC software.
Key words: energy consumption data; communication protocols; data service center
1概述
伴隨著計算機的廣泛應用和各種新型智能儀表的出現,作為連接計算機與外圍各種數據源進行數據交換的紐帶的數據采集上位機軟件的作用更加的明顯和重要。本文所設計與實現的數據采集軟件主要應用于企業能耗領域,企業能耗采集需要涉及各種不同類型的企業,每一個企業的用能可能涉及水、煤、氣(汽)、電、油、熱等不同能源[1],每一種能源的計量儀表也是各式各樣,不同儀表廠家的儀表通信協議也是多種多樣,因此,要采集這些不同企業的耗能數據需要設計開發一套能夠同時接入多種不同能耗計量儀表的數據采集上位機軟件。
2系統方案設計與原理
整個數據采集系統由數據源模塊,數據傳輸模塊,數據采集模塊,數據存儲模塊組成。其中,數據源模塊指各企業安裝配備的各種能耗計量儀表;數據傳輸模塊指連接數據源與數據采集模塊進行數據交換的各種設備;數據采集模塊指數據采集上位機軟件,這也是本文介紹的重點內容;數據存儲模塊指存儲各種配置參數,采集得到的各種能耗數據的數據庫。
2.1數據傳輸網絡
企業能耗數據的采集涉及多個企業,每個企業之間分布都比較的分散,有的地處繁華都市,有的則地處偏遠的礦山。因此,要想實現能耗數據的采集就必須有一套可靠的數據傳輸方式。
在設計數據傳輸結構的時候,根據數據采集點網絡環境多樣化的特點,數據傳輸的方式也必須是多樣化的。在具備條件使用有線網絡的地方優先使用有線方式;不具備走有線網絡,但是具有移動、聯通等移動網絡信號的地方使用GPRS或者CDMA無線DTU作為數據傳輸設備;在沒有網絡的地方則考慮使用電臺或者Zigbee無線通信模塊作為數傳設備。不論采用上述任何一種數據傳輸方式,最終都將數據傳輸到數據中心的指定端口,然后上位機軟件再接收處理。
2.2數據采集上位機軟件設計
通過企業能耗數據采集上位機軟件實時接收企業能耗數據,解析后存儲并定時轉發至能耗數據處理平臺中。在上位機軟件中要求可以對企業的基本信息(包括:企業編號、企業名稱、企業驗證碼等)和企業設備的基本信息(包括:設備代碼、設備名稱、能源類型、數據類型(累計值或瞬時值)、驅動名稱、地址、卡號等)進行增、刪、改、查的維護;可以實時查看數據接收情況;可以對未轉發和已轉發的數據進行查詢(按單位、設備和時間過濾);對軟件使用用戶信息(包括:用戶名、姓名、密碼等)進行新增、修改刪除和查詢;對所有的關鍵操作、運行報錯進行日志記錄(每天一個日志文件),并定期清理日志文件。要求一般情況下軟件最小化至任務欄右下角;登錄驗證成功才能啟動,確認后才可退出。由此可知,整個上位機系統主要包含以下功能模塊:登錄模塊、指令解析模塊、數據查詢模塊、參數設置模塊、用戶管理模塊、日志文件管理模塊、系統最小化模塊、系統退出模塊。
由于在本軟件中無線數傳DTU設備作為主要的數據采集傳輸裝置,直接TCP/IP或者電臺連接進行數據傳輸都是作為DTU傳輸模式的補充,因此,現以DTU為例簡要說明上位機軟件的各個功能模塊及工作流程。
2.3數據采集上位機軟件實現
企業能耗數據采集上位機軟件作為一個數據采集服務中心(Data Service Center,以下簡稱能耗數據采集DSC)主要是用于接收終端儀表設備數據和向終端儀表發送取數指令數據的服務軟件,包括服務的啟動、監聽指定的服務端口、數據發送、數據接收、指令數據解析、關閉服務等。
2.3.1啟動和停止服務
1)啟動服務
成功啟動數據服務后,DSC開始偵聽在指定端口,準備接受來自于DTU設備的數據包,并根據情況判斷是DTU上線數據包還是終端儀表上傳數據包,若是DTU上線數據包則跟新DTU用戶列表,若是終端儀表上傳數據包則根據注冊的數據解析驅動對數據包進行解析。以下為啟動服務的關鍵代碼:
根據接收到的數據包判斷其是設備上線包還是正常數據包,若是上線包則進行用戶列表維護,若是數據包,則根據設備注冊時的數據解析驅動進行數據解析,然后將解析結果存入數據庫中。以下是數據解析部分的關鍵代碼:
2.3參數設置
在上位機DSC軟件中用戶可以根據實際情況設置對應終端設備的數據解析參數,具體為數據解析驅動,終端設備地址,能耗種類,數據類型(累計值或瞬時值),取數指令等。設置完畢后所有的參數將會保存到參數數據庫中對應的表里面,上位機DSC軟件將按照設定的參數據進行能耗數據的采集。