緒論:寫作既是個人情感的抒發,也是對學術真理的探索,歡迎閱讀由發表云整理的11篇軟件設計與開發范文,希望它們能為您的寫作提供參考和啟發。
中圖分類號:TP316 文獻標識碼:A 文章編號:1007-9416(2012)02-0132-02
無錫尚沃生物科技有限公司開發了應用于呼吸系統檢測儀器“納庫侖一氧化氮分析儀”,產品在投入市場后,發現兒童在使用儀器時與成人有很大的不同,存在不配合性、數據采集時間不同等情況。企業急需一套能夠被醫療兼容,又能夠讓不同年齡段的兒童適用的軟件。根據企業提出的相關業務需求,并且為配合醫療儀器的使用,開發制作的側重點在于開發出一些適合于兒童,并帶有簡單游戲性質的故事情節的游戲軟件。為此,我們選擇了Visual Studio 2010下的WPF(Windows Presentation Foundation)技術。本文對WPF以及WPF在項目中的實際運用進行了介紹。
1、WPF體系架構及特點
WPF的全稱是Windows Presentation Foundation,是未來十年里Windows平臺GUI開發的最主要的技術之一。它是微軟開發的一款基于.NET(目前最新版本為.NET Framework 4.0)平臺的最新的軟件界面顯示系統。為用戶界面、文檔和多媒體等等,提供了統一的描述和操作方法。而相對于以往的通用編程方式GDI(Graphics Device Interface),這個已經應用于十多年的技術在.NET框架中已經被微軟進行了多次的擴充,但是對它的種種擴充已經不能很好的滿足當前軟件開發中對越來越復雜、越來越趨向于完美的軟件界面的需求,為了在完成相同界面時能夠達到更好的效果,同時也為了能夠滿足下一代操作系統的兼容。為此,了這一新的程序界面開發技術。
1.1 WPF體系架構
WPF主要是由Presentation Framework、Presentation Core和mil core三層組件構成,它們是WPF的子系統。其中Presentation Framework、Presentation Core這兩者是托管組件,而mil core卻是非托管組件。而托管組件Presentation Core提供了像事件處理、布局等一系列的功能。在組件Presentation Core提供的基本功能上,組件Presentation Framework實現了WPF的各種外觀,例如圖像效果的實現、按鈕控件的實現等.而非托管的mil core是以非托管代碼來編寫的,其目的是實現與DirectX的交互,從而來提高效率。體系架構中的User32、DirectX和Kernel是Windows子系統。如WPF應用程序運行過程圖1所示。
1.2 XAML語言
XAML是eXtensible Application Markup Language縮寫,名為可擴展應用程序標記語言。從名稱可以看出它是一種標記語言,也就意味著它具有其他標記語言所具有的諸多特點。 XAML是微軟創建的一款新的描述性語言用來構建應用程序用戶界面,即用來編寫WPF(Windows Presentation Foundation) 的應用程序。XAML引入了XML中的名字空間、屬性等多個元素,即XAML是基于XML的。并且它和XML的使用方式很接近,所以對XAML來說它本身就是一個很好的XML文檔。
在以往的程序編寫中,我們常常為使內部數據與界面很好的聯系在一起而大傷腦筋,而WPF提供了數據綁定這一有效的方法,從而很好的解決了這一難題。在XAML中使用數據綁定,而使用數據綁定的關鍵就是去創建System.Windows.Data.Binding這樣一個實例對象。當然,該對象也可以在C#中被創建。數據綁定其實是使界面顯示的數據值與內部數據值保持相同,而數據綁定這一功能的使用,使得我們項目組的開發人員在很大程度上提高項目開發工作的效率。
1.3 Microsoft Expression Blend
Microsoft Expression Blend是一個全新的、全功能的專業設計工具,用于創造基于Microsoft Windows平臺的易于使用且豐富的應用界面。使用它的首要和最終目的是作為一種可應用于WPF的設計界面工具。Microsoft Visual Studio 可以與Microsoft Expression Blend 完美的相結合在一起使用.Expression Blend 自動生成 WPF應用程序,也就是說,所顯示的界面設計都可以由XAML代碼來表示。當然,也可以將可擴展應用程序標記語言(XAML)導入到Expression Blend設計界面中。
2、WPF應用程序在實際開發項目中的運用
基于WPF的特點以及相關技術,本文創建了醫療輔助系統軟件項目。下面介紹利用Microsoft Expression Blend創建醫療輔助系統應用程序的基本過程。
(1)打開Microsoft Expression Blend,并新建名為Balloon的項目。
(2)我們進入了Microsoft Expression Blend的工作區,打開工具箱,添加背景(backimage)圖片、氣球(balloonimage)圖片、滑動軸(silder)控件、提示使用者檢測失敗的文本(txbfailed)控件和成功的文本(txtSucessed)控件、移動路徑([path])、設置下拉菜單(MenuItem)、設置下拉菜單下的起始無效時間(Startinvalid)控件和成功時間(Succeedtimer)控件、開始按鈕(btnStart)控件等。初始狀態下令文本txbfailed控件可見,設計應用程序界面。
(3)Microsoft Expression Blend將自動生成 Windows Presentation Foundation (WPF)應用程序,是由 XAML代碼來表示的。在成功的添加諸多控件的基礎上,并在代碼窗口里實現事件響應代碼的編寫。
(4)應用程序運行效果。開始檢測時,進入游戲系統界面,點擊設置下拉菜單(MenuItem),設定下拉菜單下的起始無效時間(Startinvalid)和成功時間(Succeedtimer)的有效值,例如,起始無效時間為2秒,成功時間為5秒。點擊開始按鈕(btnStart),根據吹氣時的氣量大小,滑動軸(silder)左右移動。當氣量小時,滑動軸(silder)向左移動,同時氣球降落;當氣量大時,滑動軸(silder)向右移動,氣球上升。成功時間達到已設定的有效值時,提示使用者檢測成功的文本(txtSucessed);相反,當成功時間未達到已設定的有效值時,提示使用者檢測失敗的文本(txbfailed),當兒童完成游戲的同時,完成了檢測。利用Microsoft Expression Blend技術可以使得WPF應用程序更加方便、更加出色的完成。
3、結語
WPF給Windows應用程序的開發帶來一次劃時代的革命,它提供了一種全新的、全功能的開發模式。為企業的醫療儀器提供這一相配套的兒童檢測軟件,可以使得不同年齡段的兒童克服不安定心理,更好的配合醫療檢測,從而提高治療的效果,并增加了企業儀器的新服務人群,開拓了新的醫療市場。
參考文獻
[1]張晗雨.WPF全視角分析[M].北京:機械工業出版社,2008.
[2]technet.省略/zh-cn/office/ms750441(v=VS.95)
(甲方)
研究開發人:___________________________
(乙方)
簽訂地點:____省 (市)____市、縣(區)
簽訂日期:_____________________________
有效期限:_________________至__________
填表說明
一、技術開發合同是指當事人之間就國家隊信息化平臺的研究開發所訂立的合同。
二、標的技術的內容、范圍及要求
包括開發項目應達到的開發目的、使用范圍、技術經濟指標及效益情況。
三、研究開發計劃
包括當事人各方實施開發項目的階段進度、各個階段要解決的技術問題、達到的目標和完成的期限等。
四、本合同書的履行方式(包括成果提交方式及數量)
1.產品設計、圖紙、論文、報告等技術文件;
2.磁盤、光盤、磁帶、計算機軟件;
3.樣品、樣機;
4.成套技術設備。
五、技術情報和資料的保密
包括當事人各方情報和資料保密義務的內容、期限和泄漏技術秘密應承擔的責任。
六、本合同書中,凡是當事人約定認為無需填寫的條款,在該條款填寫的空白處劃(/)表示。
依據《中華人民共和國合同法》的規定,合同雙方就國家隊信息化平臺建設項目的技術服務,經協商一致,簽訂本合同。
一、標的技術的內容,范圍及要求
二、應達到的技術指標和參數
三、研究開發計劃
四、研究開發經費、報酬及其支付或結算方式
(一)研究開發經費是指完成項目研究開發工作所需的成本,報酬是指本項目開發成果的使用費和研究開發人員的科研補貼。
本項目研究開發經費和報酬(大寫) 元,
(二)支付方式
①一次總付元,時間:
②分期支付元,時間:
元,時間:
③其它方式:
五、利用研究開發經費購置的設備、器材、資料的財產權屬
六、履行的期限、地點和方式
本合同自年月日至 年月 日在 履行。
本合同的履行方式:
七、技術情報和資料的保密
八、技術協作和技術指導的內容
九、技術成果的歸屬和分享
(一)專利申請權:
(二)技術秘密的使用權、轉讓權:
十、驗收的標準和方式
研究開發所完成的技術成果,達到了本合同第二條所列技術指標,按 標準,采用 方式驗收,由出具技術項目驗收證明。
十一、風險責任的承擔
在履行本合同的過程中,確因在現有水平和條件下難以克服的技術困難,導致研究開發部分或全部失敗所造成的損失,風險責任由甲方承擔 %,乙方承擔%。
本項目風險責任確認的方式:
十二、違約金或者損失賠償額的計算
違反本合同約定,違約方應按照《中華人民共和國合同法》有關條款的規定承擔違約責任。
(一)違反本合同第 條約定,方應承擔以下違約責任:
(二)違反本合同第 條約定,方應承擔以下違約責任:
十三、解決合同糾紛的方式
在履行本合同的過程中發生爭議,雙方當事人和解或調解不成,可采取仲裁或按司法程序解決(一)雙方同意由 仲裁委員會仲裁。
(二)雙方約定向(被告住所地、合同履行地、合同簽訂地、原告住所地、標的物所在地)人民法院起訴。
十四、名詞和術語的解釋
十五、其它
委托人(甲方)
名稱(或姓名)
單位公章
年 月 日
法定代表人
委托人
聯系(經辦)人
通訊地址
郵政編碼
電話
傳真
開戶銀行
帳號
研究開發人員(乙方)
名稱(或姓名)
單位公章
年 月 日
法定代表人
委托人
聯系(經辦)人
通訊地址
郵政編碼
電話
傳真
開戶銀行
帳號
數據庫應用協議書
國家隊信息化平臺數據庫軟件設計與開發合同
一、引言
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數據庫訪問技術增強數據操作功能,并且可以實現組件的重用性,進一步壓縮軟件開發周期,提高軟件開發質量。
參 考 文 獻
中圖分類號:TP18文獻標識碼:A文章編號:1009-3044(2011)04-0753-04
The Development and Design of the Modeling Software for Soft Sensor
HOU Yan-song, XIE Gang, ZHANG Min, LIU Ya-ru
(Automation Research Institute of Lanzhou Petrochemical Company Petrochina, Lanzhou 730060, China)
Abstract: This paper designs a soft-sensing modeling software for chemical production process, Considering the complexity in the practical industry process, the software applies the linear regression modeling approach and the nonlinear neural network modeling approach to design the measurement software. Practice have been carried on the production process of Ethyl benzene and Starch content prediction, and the results show that the software can fulfill the function of trend prediction.
Key words: soft-sensor; neural network; software development
在工業實際中,產品質量控制是所有工業過程控制的核心。要對產品質量進行實時有效的控制,就必須及時準確的了解產品的質量參數,從而及時調整工藝參數和控制參數,以期獲得良好的產品質量監測和控制。然而實際中,過程的質量參數通常是無法直接測量的,即使能夠利用分析儀表測量,也存在較大的分析滯后[1],無法完全滿足過程控制的需要。總的來說,我國石油化工行業現有的儀表設備很難實時的提供過程控制所需的質量參數信息。基于這種現實,更高一層的先進控制技術,過程優化技術,產品質量的監測管理等上層應用就受到了測量信息不足這一瓶頸問題的極大限制。在這種背景下,工業過程對過程檢測的內容和時效性均提出了新的要求。一方面,僅獲取流量、溫度、壓力、液位等常規過程參數的測量信息已不能滿足工藝操作指導和質量控制的要求,迫切需要獲取諸如成分、物性等與過程工藝操作和質量控制密切相關的檢測參數的測量信息。另一方面,測量從靜態或穩態向動態測量發展,在許多應用場合還需要綜合運用所獲得的各種過程測量信息,才能實現有效的過程控制、對生產過程或測量系統進行故障診斷、狀態監測。近年來,作為以計算機技術為基礎的軟測量技術成為了解決上述工業控制瓶頸問題的有效途徑之一,越來越受到關注[2-5]。
就苯乙烯、丙烯腈、乙烯及丁二烯抽提等化工裝置而言,產品質量數據主要是產品的純度。針對這一特點,本軟件采用基于數據驅動的建模方法,并考慮到實際的工業過程對象復雜多變,軟件采用了線性回歸建模和非線性神經網絡建模兩種方法來設計軟測量軟件。最后,根據工藝機理,我們通過建立苯乙烯裝置乙苯塔塔頂乙苯含量軟測量數學模型,完成了對塔頂乙苯含量的準確預測。
1 乙苯含量軟測量模型的建立
1.1 軟測量
軟測量的工作原理(見圖1),就是在常規檢測的基礎上,利用輔助變量與主導變量的關系,通過軟件計算 ,得到主導變量的測量值。軟測量技術的核心是建立用來預測主導變量的可靠的軟測量模型。初始軟測量模型是對過程變量的歷史數據進行辨識而來的。在應用過程中,軟測量模型的參數和結構并不是一成不變的,隨時間遷移工況和操作點可能發生改變,需要對它進行在線或離線修正,以得到更適合當前狀況的軟測量模型,提高模型的適合范圍。因此,軟測量結構可分為歷史數據處理、離線建模、在線運行(包括校正)三大模塊。
1.2 輔助變量的選擇
通過對苯乙烯裝置乙苯塔工藝機理研究,我們選擇通過DCS收集的1000組過程參數作為建模樣本集,300組過程數據作為校驗樣本集,運用統計學方法將樣本數據中隱含的對象信息進行濃縮和提取,通過工程師的經驗以及多元回歸分析方法,尋找最優變量來建模,從而建立主導變量和輔助變量之間的數學模型,見表1。
2 軟測量建模軟件的實現
2.1 軟件框架
選用微軟VC++6.0開發環境[6],軟件的整體設計采用面向對象的程序設計方法,考慮到軟測量儀表本身側重于數值計算和參數的頻繁傳遞,因此選用基于對話框的應用程序框架。該軟件框架結構簡單,易于人機參數傳遞。從程序的角度來說,軟件總共分四個主要模塊:主對話框模塊、算法模塊、矩陣運算模塊、圖形編輯模塊。如圖2所示。
1)主對話框模塊:即人機界面UI,提供基本的人機交流界面,以及數據文件操作。
2)算法模塊:是整個軟件的核心,包括了軟件中所有的算法程序,并且留有擴充借口,可隨時根據軟件的升級增加新的算法。軟件在調用算法時需要用戶傳遞的參數和算法結果的返回利用子對話框來傳遞。該模塊分為三個子模塊:① 數據歸一化模塊:主要功能是對原始樣本數據進行歸一化處理;② 樣本數據分析模塊:主要功能是對輔助變量進行相關性分析和主元分析;③ 建模算法模塊:偏最小二乘法建模、神經網絡建模。
3)矩陣運算模塊:主要功能是為算法模塊提供必需的矩陣運算支持。軟件中數據歸一化、樣本分析、建模的大多數算法在數學上表現為大量的矩陣運算,微軟MFC基礎類庫并沒有提供可以直接使用的矩陣運算類。為了使得建模算法代碼更為簡潔,易于修改。矩陣運算模塊將常用的矩陣運算操作寫成一個類――矩陣類,供算法程序調用。
4)圖形編輯模塊:主要功能是按照需要對工作空間中的數據進行曲線圖形顯示。作用是當離線建模完成后,需要對所建立的模型進行擬合試驗,將試驗結果以曲線的形式表現出來,軟件允許用戶自己設定坐標范圍和圖形標題。
2.2 偏最小二乘回歸法
偏最小二乘回歸是建立在主元分析原理上的化學計量學方法。它通過多元投影變換的方法,分析兩個不同矩陣間的相互關系。在主元分析中,提取主元的過程只是強調了主元對輔助變量信息的最大綜合能力,并沒有考慮主導變量。偏最小二乘法不僅利用對系統中的數據進行分析和篩選的方式辨識系統中的信息和噪聲,從而克服變量的多重線性相關性對建模的影響,而且在提取主元時還考慮主元和因變量的相關性,即主元對主導變量的解釋作用。因此,偏最小二乘回歸可以集多元線性回歸,主元分析,典型相關分析的基本功能為一體。
該算法原理如下:
假設有兩個數據矩陣X和Y,其中X∈Rn×m,Y∈Rn×1,X和Y之間的關系表示如下:
Y=Xβ+e (1)
式中:e表示殘差;β表示自適應因子。
自適應因子β的估計值可以用最小二乘法得到,即:
(2)
如果數據矩陣X具有較強的相關性,則式(2)中存在病態矩陣的求逆,結果誤差較大,而部分最小二乘法可以避免對病態矩陣求逆。其基本原理是將式(1)中的X和Y的關系分解為兩個內部關系和一個外部關系:式(3)、(4)和(5)。
(3)
(4)
其中,矩陣T=[t1 t2 … tα],U=[u1 u2 …uα];分別稱為X和Y的得分矩陣,而th和uh分別稱為矩陣X和Y的第h主元。P=[p1 p2 … pα]和Q=[Q1 Q2 … Qα]稱為荷載矩陣,U和T之間的關系表示如下:
(5)
式中:E、F、R為殘差矩陣。
該算法將高維空間信息投影到由幾個隱含變量組成的低維信息空間中,隱含變量包含了原始數據的重要信息,且隱含變量間是互相獨立的。
2.3 神經網絡法
基于人工神經網絡(Artificial Neural Network,ANN)的軟測量建模方法是近年來研究最多、發展很快和應用范圍很廣泛的一種軟測量建模方法[7-8]。能適用于高度非線性和嚴重不確定性系統,因此它為解決復雜系統過程參數的軟測量問題提供了一條有效途徑。
化工裝置產品含量預測建模通常處理的是非線性建模問題,而多層前向網絡已被證明具有以任意精確度進行復雜非線性函數的擬合能力[7],因此選擇前向網絡結構。網絡層數方面,除了網絡必須包含的輸入輸出層外,對于化工裝置產品含量預測這類軟測量建模,問題的復雜程度一般要求隱層數目為1。因此,軟件中采用包含一個隱含層的三層結構前饋網絡。
確定好網絡結構后,神經網絡用于軟測量建模實際上就是利用產品的歷史數據經過一定的算法來確定網絡的連接權值和閾值。BP算法是應用較早的學習算法,它充分利用了前向網絡的結構優勢,在正反傳播過程中的每一層計算都是并行的。但BP算法存在兩個缺點,即訓練時間長和容易陷入局部最小。針對此缺陷,本軟件在設計時采用了帶動量因子的改進方法來加快網絡訓練速度。改進的BP神經網絡的網絡設置和參數設置如圖3所示。
神經網絡建模算法采用BP算法,算法不再是簡單的矩陣操作。根據前饋神經網絡的結構將神經網絡用兩個類來描述,即神經網絡類和神經網絡層類。經過處理后,主程序算法簡潔,可讀性強。如果要改進BP算法,代碼的修改只需在類的方法中修改即可,不必修改主程序。神經網絡類的設計和神經網絡層類的設計主要代碼如下:
神經網絡類
屬性:
輸入層:CNeuralNetworkLayerInputLayer;
隱層: CNeuralNetworkLayerHiddenLayer;
輸出層:CNeuralNetworkLayer OutputLayer;
方法:
void Initialize(int nNodesInput, int nNodesHidden, int nNodesOutput); // 初始化函數確定了三層網絡的層次關系,有點類似構造函數
void SetInput(int i, double value); // 網絡輸入函數
double GetOutput(int i); // 網絡輸出函數
void SetDesiredOutput(int i, double value); // 設置網絡期望輸出函數
void LoadWeight(const CMatrix& I_H, const CMatrix& H_O, const CMatrix& H, const CMatrix& O); // 給網絡加載權值和閾值
void FeedForward(void); // 前向計算函數
void BackPropagate(void);// 反向權值調整函數(標準的最速梯度下降法)
void Levenberg_Marquardt(void);// 反向權值調整函數(Levenberg_Marquardt法)
double CalculateError(void); // 計算網絡全局誤差函數
void SetLearningRate(double rate1,double rate2); // 設置學習效率
void SetLinearOutput(bool useLinear); // 是否線性輸出
void SetMomentum(bool useMomentum, double factor); // 設置動量因素
神經網絡層類
屬性:
int NumberOfNodes; // 層中神經元數目
int NumberOfChildNodes; // 子層神經元數目
int NumberOfParentNodes; // 父層神經元數目
double**Weights; // 網絡權值數組
double**WeightChanges; // 權值改變數組
double* NeuronValues; // 神經元值
double* DesiredValues; // 導師信號
double* Errors; // 局部誤差
double* BiasWeights; // 偏差權值
double* BiasValues; // 偏差值
doubleLearningRate; // 學習效率
boolLinearOutput; // 是否線性輸出
boolUseMomentum; // 是否有動量因素
doubleMomentumFactor; // 動力因素大小值
CNeuralNetworkLayer* ParentLayer; // 父層
CNeuralNetworkLayer* ChildLayer; // 子層
方法:
void Initialize(int NumberOfNodes, CNeuralNetworkLayer* parent, CNeuralNetworkLayer* child); // 初始化(分配存儲空間)
void RandomizeWeights(void); // 權值初始化函數
void OrderWeights(const CMatrix& WeightsMatrix,const CMatrix& BiasWeightsMatrix); // 權值給定函數
void CalculateErrors(void); // 計算局部誤差函數
void AdjustWeights(void); // 調整權值函數
void CalculateNeuronValues(void); // 計算神經元值函數
void CleanUp(void); // 清除網絡層(有析構函數的作用)
2.4 軟測量模型的在線校正
由于軟測量對象的時變性、非線性及模型的不完整性等因素,必須經過模型的在線校正才能適應新工況。根據被估計變量的離線測量值與軟測量估計值的誤差,對軟測量模型進行在線修正,使軟測量儀表能跟蹤系統特性的緩慢變化,提高靜態自適應能力。一般采用在線校正算法為常數項修正法,即通過化驗值或分析值計算新的偏差,并把新的偏差寫入軟測量儀表,修正偏差。即:
新偏差=(采樣時刻計算值-化驗值)×偏差權重+舊偏差×(1-偏差權重)
3 工業應用
乙苯含量是乙苯精餾塔塔釜采出產品中一個十分重要的質量控制指標[9],通過輔助變量塔頂壓力、塔頂溫度、塔靈敏板溫度、回流量及塔釜溫度來預測乙苯含量變化趨勢。通過本軟件進行仿真,乙苯含量軟測量偏最小二乘建模數據擬合圖如圖4所示。其中,紅線為實際值,綠線為擬合值。誤差平方和:0.765762856683714,均方誤差:0.0033294037247118。
針對某裝置淀粉含量預測問題選擇神經網絡方法進行仿真研究,均方誤差:9.14971253690028e-009;擬合曲線:紅線為化驗值,綠線為擬合值。淀粉含量軟測量神經網絡建模數據擬合圖如圖5所示。
4 結束語
本文采用了微軟基礎類庫(MFC)提供的基于對話框的應用程序框架實現了軟測量建模軟件的開發。軟件主要是從數學的角度分別研究了線性和非線性軟測量建模算法,重點強調了建模算法對給定歷史數據的擬合和泛化能力。在具體的應用中,根據工藝知識對軟測量問題進行初步數學抽象,然后以本軟件作為一種工具建模,輔以必要的工藝機理分析檢驗模型的合理性。通過對實際中兩個化工過程進行的仿真表明,該軟件基本具備了軟測量建模預測產品含量變化趨勢的能力,可以得到較好的效果。
參考文獻:
[1] 王樹青.先進控制技術及應用[M].北京:化學工業出版社,2005.
[2] Morris A J,Montague G A,Tham M T.Soft-sensors in industrial process control[C].London,UK:Applied developments in process control,1989.
[3] 王躍宣.先進控制策略與軟件實現及應用研究[D].杭州:浙江大學,2003.
[4] 俞金壽.軟測量技術及其在石油化工中的應用[M].北京:化學工業出版社,2000.
[5] 馬勇,黃德先,金以慧.動態軟測量建模方法初探[J].化工學報,2005,56(8):1516-1519.
[6] 侯俊杰.深入淺出MFC[M].2版.武漢:華中科技大學出版社,2001.
【中圖分類號】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) 開發階段
開發階段使設計的結果最終轉化為實際的產品。
這一階段要運用各種技術手段,包括硬件設備和工具軟件,利用和改編現有資料,制作文本、圖像等多媒體素材,用編程或創作軟件集成軟件,經過多種不同水平的測試和試用后,最終完成軟件。并且安排軟件的總結性評價。
在開發階段,素材制作、軟件編程、手冊編寫等多項工作往往是并行或交叉開展的,素材創作和程序編寫人員是工作的主體,但設計人員和用戶仍以不同的角色參與制作過程,同時又在動用所有的技術資源,因此組織管理和質量控制十分重要。
參考文獻
中圖分類號: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.
1 多媒體教學軟件的設計思路
1.1 對教學目標進行準確分析
在進行多媒體教學軟件開發之前首先要做的工作就是要對教學目標進行準確的分析,編寫出高質量的腳本以適合計算機運行,還需要調動學生的學習積極性。需要指出的是在進行教學目標分析時,應該把計算機科學知識和文化知識作為主體來傳授給學生,不僅豐富了課堂教學內容,而且也能將教學方式和教學內容合理的聯系在一起。
1.2 多媒體教學軟件的內容要精挑細選
由于多媒體軟件教學是一種開放式的教學方式,教材內容可以說是五花八門。但是作為教學軟件其本身具有一定的系統性,內容要精挑細選,教學內容的編排是否合理都會對教學成果有非常大的影響。在傳統教學模式中可以發現,老師作為教學的主體,學生被動的接受教學內容。無論什么課程,一本好的教學參考書不僅能夠減輕老師的負擔,更重要的是讓學生的學習效果有所提升。然而對多媒體教學來說就更是如此了,優質的教學內容能夠激發學生的學習興趣,對整體教學質量都有很大的幫助。
1.3 多媒體軟件教學內容的提煉和升華
從計算機軟件設計和開發的角度來看,教學軟件的設計和開發與其他軟件的設計和開發區別不大,但是重要的一點就是教學軟件的開發目標是利用多媒體技術去實現預期的教學目標,提高教學質量。多媒體軟件教學的內容主要由任務性內容和概念性內容組成,任務性內容一般是把幾個相關的概念聯系在一起,注重的是對概念的理解;概念性內容主要是對概念進行深刻闡述。無論對于哪種教學內容,老師都需要對教學內容進行提煉,不能像傳統教學模式中單一的向學生灌輸文本、圖形等教學信息,而是結合計算機將提煉的教學內容生動形象的傳授給學生。一個善于提煉教學內容的老師將直接影響到教學成效。
1.4 教學模式的合理選擇
對教學目標進行合理分析,然后結合多媒體教學內容選擇相應的課堂教學模式,對不同學科可以采用不同的教學模式。大體上可以分為游戲型、問題解答型、探索型與演講型,合理的選擇教學模式將會對教學效果產生直接的影響。
1.5 課件的設計和編寫
完成教學目標分析和教學內容挑選后,最重要的一步就是課件的設計和編寫。要實現教學目標首先要完成的就是課件的設計,但是課件的設計又離不開教學內容、教學模式等因素。對于這些課件的編寫要由資深專業的老師去完成。他們需要將教學內容進行合理的劃分,把劃分后每個單元中的知識內容合理組織起來,然后試圖決定采用什么樣的教學模式進行教學,用邏輯屏幕將每個單元中的知識點進行統計,詳細編寫出每個知識點在屏幕中所表達的內容,再將原始的圖形進行編輯制作。
對于課件的設計和編寫要遵循一定的原則,首先要能夠吸引老師和學生,激發學生學習的興趣;要能簡潔明了的闡釋教學內容和教學目標,在教學過程中逐一的突出重點和難點;能夠充分發揮學生的能動性,主動提問,及時向老師反饋學習過程中遇到的困難;教學軟件的界面操作要簡單話,能夠給人一種親切感,學生隨時可以從中搜索到想學習的內容;最后要充分利用屏幕的空間對教學信息進行合理的布局,突出重點。
2 多媒體教學軟件設計和開發過程中存在的一些問題分析
2.1 教學軟件的內容選取非常草率
對市場大量的教學軟件進行調查后發現,很多教學軟件內容過于膚淺,彼此之間相互抄襲,內容選取也非常的草率,甚至偏離了教學的目標。盡管多媒體教學軟件能夠將教學內容生動形象的展示給學生,老師和學生也表示非常愿意接受這種新的教學方式,但是對于教學軟件內容的選取也是考核一個老師是否專心研究教學內容。多媒體教學軟件相比較傳統教學來說是一個新事物,很多人盲目的去開發一些多媒體課件,幾乎不考慮所選內容適不適合多媒體,造成了市場上有大量的互相抄襲的重復多媒體課件。
課件的好壞一種最重要的決定因素就是選題了,選擇合適的題材內容且適合多媒體形式來展示教學內容是制作高質量的課件的前提,在選題的時候要充分利用多媒體的優勢,去解決在傳統教學模式課堂上難以解決的一些問題。在制作課件之前一定要對教學目標進行分析,草率的選取教學內容將會極大影響教學質量,所以,要把選題教學軟件設計開發的首要任務。
2.2 教學設計沒有受到重視,腳本編寫易出現一些問題
教學設計是整個設計開發過程中的核心,是連接理論教學和實踐教學的中間橋梁。教學設計的最終目的是為了合理的規劃教學活動、給學生們提供最后的學習氛圍并讓他們獲得最佳的學習效果。教學設計主要體現在課件的框架結構上,所以教學設計是制作出高質量教學軟件的重要步驟。然而在實際設計開發過程中,這個中間橋梁沒有受到高度重視,可能是專業人員的疏忽,最終無法得到最佳的設計方案。
在實際編寫腳本的過程中需要注意一些問題:首先是把模塊設計和結構設計分工做好,為后期的工作做好準備,提高開發效率,減少不必要的重復性工作;其次是把局部設計和總體設計相統一,學習者能夠借助多媒體進行自我學習;最后需要注意的是要創建一個良好的用戶界面,這就好比一閃美麗的窗戶,是學習者能不能獲得最佳視覺效果和視聽效果的關鍵因素。
2.3 多媒體教學軟件的評價體系不完善
4結語
隨著交互式多媒體軟件應用的日益廣泛,交互式多媒體軟件的界面將更加追求個性化設計,如信息呈現方式的多樣化、人機交互的藝術化。與此同時,交互式多媒體軟件的設計理念和交互理論的運用也將更為成熟,創作和開發工具也將呈現多樣化的趨勢。總之,隨著交互式多媒體技術的日益成熟,交互式多媒體軟件必將更為完善,更能滿足用戶的個性化需求。
參考文獻:
[1]鄧永堅.MAYA光與材質的視覺藝術[M].北京:人民郵電出版社,2008.
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參數設置
隨著我國科技的迅猛發展,C語言、C++語言、JAVA語言等成為當下主流的編 程語言,而在這些主流語言中,C++語言由于其具有較高的編程速度,從而使用頻率和次數比較多。然而C++語言在具體的編程過程還存在一些缺陷,對開發某些跨平臺軟件造成困難,因此,C++語言下的跨平臺軟件開發設計研究成為當下軟件開發行業的熱點。本文研究基于C++語言下的跨平臺軟件開發設計具有較大的現實意義及經濟價值。
一、跨平臺開發
1.1 跨平臺概念
跨平臺對操作系統及硬件環境均無依賴性。如果一個在特定的操作系統中開發和設計的應用程序,把它放在另一個操作系統中也能保持正常性的運行,即為跨平臺需求[1-2]。
1.2 跨平臺軟件開發環境
開發環境的組成部分分別為程序編譯器、軟件編輯器及程序調試器,Sandbox軟件能夠實現代碼編譯及調試,在Sandbox軟件的內部針對不同的平臺有著與之相對應的依賴庫及代碼庫,并且存在開發程序中的各種源代碼[3]。
二、C++語言的跨平臺軟件開發設計
由于語言具有可移植性,而操作系統接口不同及不同平臺下語言特性差異,使得C++語言跨平臺軟件設計時需要關注更多問題,本文對相關問題進行詳細闡述,如下:
2.1 實現動態處理
軟件開發過程中,需要編寫出在不同環境中均能夠達到運行效果的可移植代碼庫,并對實際項目開發中所遇到的具體問題進行避免及處理,進而實現動態處理[4]。
2.2使用腳本文件進行管理
在++語言跨平臺軟件開發過程中,需對腳本文件進行管理,使軟件結構的設計更為合理,則在開發時要注意在編譯之前使用腳本文件將跟平臺相關的數據庫和文件分隔開。在運行應用程序的過程中,調出配置文件中程序讀取時使用的相關配置選項,從而讀取里面的程序。因此,要充分確保分離與平臺相關聯的文件。
2.3 使用安全的數據串行化
現如今,最常見的C++語言的跨平臺設計核心問題之一是如何使用有效、安全的方式去加載和存儲,保證跨平臺數據存儲可靠性及安全性。C++語言下的跨平臺軟件在綜合性處理目標平臺和單個編譯器時,可以借助軟件的fwrite()/ fread()指令[5]。但是,實際跨平臺環境中,不同平臺之間存在差異,因此在實際處理過程中導致結果多樣性的特征。
三、C++語言跨平臺開發中的編譯和測試
在進行基于C++語言下的跨平臺開發設計編譯和測試過程中,對編譯和測試注重科學化。實際進行跨平臺軟件開發時,將涉及到許多修改和編寫的代碼,這些相關聯的代碼在使用過程中也許在相當長的一段時間內不能在其他不同的平臺進行檢測,從而增長了bug的潛藏時間。因此,將軟件開發在各種各樣不同平臺下進行測試至關重要。
四、C++語言跨平臺軟件開發實現
下圖1為主要實現流程:
上圖1對跨平臺軟件開發的設計流程思路進行說明,結合理論知識成功完成C++語言跨平臺的設計。
五、結語
基于C++語言跨平臺開發方式的迅猛發展,在具體項目的設計與開發上,想要一步實現多種設備中執行代碼通用異常困難,因此,需要我們積極總結他人開發經驗,找出自身優勢與不足。本文研究C++語言的跨平臺設計,使用C++程序設計語言支持跨平臺軟件開發,不同的開發人員及軟件工程師進行操作,可以得出許多不同的新功能,因此,基于C++程序設計語言下的跨平臺軟件設計在現代化軟件市場中有著巨大的市場潛力。
參 考 文 獻
[1]張馳.基于C++語言的跨平臺軟件開發的設計與實現[D].北京交通大學,2010.
[2]張曉孿,王西鋒. C++語言編程技術的分析和研究[J].電腦知識與技術,2010,6(12):3282-3284.
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)34-0117-02
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;64GB DDR3卻媯2*300G熱拔插SAS硬盤;4U機架;冗余電源;LC接口、DVD光驅、HBA光纖通道和4G網卡等。
③應用服務器。為確保兼容性,該服務器選用的是Dell-R720,它的基本參數如下:2*E5-2650v2/8GT/20Mde CPU;32GB DDR3內存;4*300G熱拔插SAS硬盤;2U機架,冗余電源等[3]。
3系統軟件開發設計及開發平臺的應用
軟件開發設計是本系統的核心部分,為確保應用的穩定性和操作的靈活性,決定采用Microsoft Windows Server 2008作為操作系統,數據庫系統采用的是與之相配套的Microsoft SQL Server 2008數據庫,這樣能夠確保兩者的兼容性。
3.1數據庫的開發環境
本系統的數據庫采用的是Microsoft SQL Server 2008 Enterprise Edition數據庫管理系統進行建立,并由其負責對整個數據庫的運行進行維護管理。數據庫的登錄模式為混合身份驗證,端口號為1433。之所以選擇SQL Server 2008數據庫是因為它可以給企業數據管理與分析提供良好的解決方案,其應用優勢體現在如下幾個方面:
1)結果響應速度快。管理工具包、和Visual Studio2010共同運行環境的集成,使用戶進行系統構建、錯誤排除以及應用系統操作等方面變得更加高效和快速。
2)決策支持。該數據庫系統相當于一個智能商務平臺,它具備數據整合與分析等功能,由此可以為用戶制定決策提供良好的技術支撐。
3)安全性高。該數據庫系統本身自帶的數據加密、強制口令以及默認的安全設置等功能,使數據庫的安全性獲得了大幅度提高,確保了用戶重要信息的安全[4]。
3.2資源數據庫規劃
業務數據庫是數據中心的設計重點,在設計時要以項目為主線,根據業務系統的特點進行設計,實現對資源數據的統一規劃。由于業務系統主要是針對工作流程、人員、信息方面的管理,所以可將其分為會員數據庫、機構庫以及專家庫三類基礎數據庫。其中,會員數據庫是對建筑企業、政府采購行為的相關數據進行管理;專家庫是對招標、采購、評標、監管等方面的相關資源數據進行管理,可配合終端輔助設備進行使用。
3.3數據標準接口設計
在充分考慮異構系統問題的基礎上,各類數據接口采用XML格式的設計標準傳遞數據,通過數據交換平臺與各應用系統接口進行對接[5]。通過數據標準接口設計,可使整個系統提供Web Service接口,設計時必須根據國家制定的相關標準確定該系統的數據標準,將數據標準的編定作為系統設計的重點。
4 結論
綜上所述,本文以建設工程項目招投標系統設計為依托,對其軟件設計的相關問題及開發平臺的應用進行了分析,目前,該系統已經進行了試應用,系統運行穩定,并未出現重大問題,它的應用為建設項目招投標工作的開展提供了良好的平臺,大幅度提升了招投標的效率和質量,具有一定的推廣使用價值。
參考文獻:
[1] 李犁.基于BIM技術建筑協同平臺的初步研究[D].上海:上海交通大學,2012.
[2] 李曄.算量軟件在建筑工程上的應用及問題探討[D]. 青島:青島理工大學,2015.