時間:2022-02-06 00:10:24
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件設計開發研究,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
摘要:為加強學生軟件設計能力,本文對計算機專業軟件設計能力培養模式進行了探索與實踐,對教學內容優化,構建新型四層遞進式課程體系;強化實踐能力培養,構建立體化實踐教學體系,在提高計算機專業學生的軟件設計開發能力上取得了比較明顯的效果。
關鍵詞:軟件設計能力;內容優化;實踐教學
一、優化教學內容,構建新型課程體系
1.優化教學內容。計算機軟件技術應用領域廣泛,知識更新快,實踐性強,既要求扎實而廣博的理論基礎又要求良好的實踐動手和自我學習能力。針對這一特點,以計算機科學與技術本科人才培養方案為基礎,以基本素質和工程能力培養為主線,以面向信息領域市場、面向區域經濟建設為需求,堅持“基礎、應用、實踐”的原則,突出軟件開發與設計的能力培養,在專業教學中強調理論與實踐并重,知識、能力和素質協調發展,對教學內容進行了大幅優化設計。在基礎能力方面優化了程序設計基礎課程,新增了算法分析與設計、面向對象分析與設計課程;在軟件設計高級理論方面優化了軟件工程課程,新增了軟件測試與質量保證、軟件體系結構與中間件技術課程;在綜合實踐應用方面新增了Java程序設計、系統集成與項目管理、xml與電子服務課程。通過一系列教學內容的改革和優化,兼顧了軟件設計理論的深度、廣度和實用性,更加符合以軟件設計能力培養為核心的教學主線要求。2.構建新型四層遞進式課程體系。軟件設計和開發是計算機科學與技術專業本科人才能力培養的核心和基礎。通過深度剖析計算機軟件設計能力的培養特點,總結以往教學經驗,以培養學生軟件設計能力為核心,構建了從程序設計基礎到軟件開發綜合實踐的四層課程體系,每層都有相應課程群以及階段性培養目標。(1)基礎理論層。以計算機導論、操作系統、數據結構、編譯原理、計算機組成原理為核心課程群,目標是奠定計算機系統的基礎理論知識。(2)基礎訓練層。以程序設計基礎、數據結構與算法等為核心的課程群,目標是打牢程序設計基本能力,并初步掌握面向對象軟件設計方法。(3)高級理論層。以軟件工程、軟件測試與質量保證、軟件體系結構與中間件技術為核心課程群,目標是系統掌握軟件體系結構、軟件設計開發和軟件項目管理的理論知識,為高級應用實踐打下堅實基礎。(4)綜合應用層。以系統集成與項目管理、xml與電子服務、Java程序設計為核心課程群,目標是面向應用,全面提高軟件項目設計開發的綜合能力。四個層次之間環環相扣、互為基礎、由低到高、循序漸進,逐步培養學生良好的軟件理論素養和扎實的設計開發功底,為國家和社會培養合格的IT人才。3.強化實踐能力培養,構建立體化實踐教學體系。良好的軟件設計能力不僅需要深厚的理論基礎,也需要較強的實踐功底。鑒于計算機軟件技術具有實踐性強、知識更新快的特點,我們設計了立體化三層實踐教學體系,包括基礎訓練層、綜合訓練層、實踐應用層。(1)加強課內實踐教學,培養學生基本編程應用能力。基礎訓練層是由程序設計基礎、數據結構、Java程序設計、編譯原理和操作系統等課程的課內實驗組成。在課程實驗設計中加大了綜合設計類實驗的比例,減少了基礎驗證性實驗比例。其中基礎驗證性實驗與課堂講授同步,加深對某個知識點的理解,緊跟老師引導完成練習。綜合設計類實驗對多個知識點進行綜合訓練加深對課程內容的整體認識,還需要提交實驗報告。注重綜合設計能力的培養。綜合訓練層是由程序設計基礎、數據結構和軟件工程等課程的課程設計組成。通過設計小型綜合項目,培養知識的綜合運用能力。課程設計的實施分為開題、系統設計、編碼實現、系統測試、系統評價與驗收,提交課程設計報告。要求分組完成,最后答辯評分、評優。我們對課程設計考核進行了改革,制定了具體的課程設計考核制度與考核方法,將課程設計考核變為答辯方式考核,包括小組答辯和年級優秀課程設計答辯兩個過程和層次進行。(2)引導課外實踐,培養學生創新思維能力。實踐應用層是由各類大學生競賽活動、大學生SRP訓練項目、大學生創新計劃、畢業設計、教師的科研課題、工程實訓和軟件開發小組等各種形式的實踐活動為依托。通過各類競賽,激發學生對軟件設計的興趣和主動性,鼓勵學生積極參與教師科研項目、大學生創新計劃、大學生SRP訓練項目和畢業設計,培養和鍛煉軟件設計開發能力。
二、小結
圍繞計算機基礎、程序設計基礎主線展開教學,使學生能夠具有扎實的基本功,為高層次人才和創新能力的培養打下堅實的基礎。對相關的課程進行整合,形成課程群,突破學期、授課教師、課程各自獨立的局限,實現總體設計、綜合布局、交叉穿插、協同配合的新模式。
參考文獻:
[1]謝中科,肖增良.程序設計系統化思維培養模式的探討[J].計算機教育,2014
[2]戎玫,張廣泉,王輝.強化實踐創新能力突破軟件人才瓶頸[J].實驗室研究與探索,2013.
作者:高攀 郭理 單位:石河子大學信息科學與技術學院
關鍵詞:計算機軟件;設計;可維護性
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)34-0072-02
Abstract:The computer has become essential to our daily life information communication tool, it constantly create convenience for people's life at the same time, people also need to upgrade maintenance regularly, to ensure the long-term use of computer software.
Key words: computer software; design; and maintainability
大數據、云計算的今天,計算機已經成為人們日常生活必需品,現代計算機逐漸地向微型化發展,形狀比較小巧,但是功能十分強大,且攜帶方便。在現代社會中,計算機已經滲透在人們日常生活的方方面面,而且在科學領域,它也發揮了無可替代、不容忽視的作用,但是,由于計算機的使用具有較高的普遍性,因此,需要在設計中體現出計算機軟件的多樣性,以便滿足使用者的不同需求,而且雖然現代計算機阮籍設計技術越來越成熟,也越來越完善,但是也經不起長期的損耗,需要定期進行升級維護,并且在設計中,保證其可維護,才能有效地延長計算機的使用壽命。因此,本文淺析計算機軟件設計中的可維護性,以便為計算機的日常升級維護提供一定的參考及指導。
1 淺析保證計算機軟件設計中的可維護性的重要性
計算機與我們的日常生活息息相關,在各行各業我們均能看到計算機的身影,因此,計算機軟件的應用、發展市場十分廣闊。另外,我們的日常生活基本上離不開計算機的輔助,如:網上購物、網絡工作、網絡聊天等,已經成為生活中必不可少的信息交流工具(或者平臺),而且現代計算機的功能更加強大,隨著人們生活方式的不斷變化、生產模式的不斷創新,人們對計算機的功能要求、使用壽命的要求越來越高,在這種高速變化的環境中,計算機軟件技術卻不盡人意,往往滯后于人們的內在需求,因此,需要計算機軟件設計者以及相應的開發者充分的考慮影響軟件可維護性的因素,接受各種各樣的技術挑戰,如:全球語言的有效轉化、難以理解的邏輯問題等,這些極易導致計算機軟件無法順利的升級維護,而且若計算機軟件設計者在必須改變原有的系統基礎上,才能進行審計維護,則需要重新設計開發新的計算機軟件,這樣不僅僅浪費時間、資金、精力等,還會影響到人們的日常生活的需要,使得計算機軟件設計開發的成本增高。因此,計算機軟件在設計過程中,需要全面提升計算機軟件的可維護性,盡可能地滿足人們的需求。
2闡述計算機軟件設計中的可維護性的衡量標準
經過多年的實踐經驗,我們發現,保證計算機軟件設計中的可維護性是十分有必要的,能夠對整個社會經濟的發展產生過一定的影響,因此,需要對計算機軟件設計中的可維護性的衡量標準進行探討,而根據多年的設計經驗,我們發現:質量檢查表、質量標準以及質量測試是保證計算機軟件設計可維護性的重要指標,其中,質量檢查表是一個針對性的檢查(針對計算機軟件中的一些程序質量控制),能夠有效地將程序質量問題列成明確的清單,從而有效的為計算機軟件設計中的可維護性創設并且提供一個有安全保障的有效憑證,這樣便可以為計算機軟件設計中的可維護性提供更加優質的服務,降低對使用者的負面影響。而質量標準,是根據計算機軟件設計性質的不同來規定的,需要結合不同使用者的內在需求來確定設計理念或涉惡及方案,這樣便可能存在互相交叉的現象,同時,也正是這種互相交叉現象的存在,才使得計算機軟件設計中的可維護性質量標準是存在差異的,是具有針對性的,能夠拓展計算機軟件設計、開發視野,為提升計算機性能,針對性的提升軟件設計中的可維護性打好堅實的基礎。另外,質量測試,是一個評價計算機軟件設計中的可維護性的程序質量與實際應用的標準,主要負責檢驗計算機軟件是否達到相關技術數據規定,避免設計漏洞的發生,提升計算機軟件的使用壽命,并保證計算機軟件設計中的可維護性。
3 淺談優化計算機軟件設計中的可維護性的途徑
計算機用戶才是計算機軟件設計的最終受益者,因此,為了維護計算機用戶的切身利益,在見算計軟件設計中,需要充分的考慮用戶的需求,根據用戶的內在需求,先創建一個高質量的軟件,并且保證這個軟件具有有效率,且實用,能夠隨時修改程序,其邏輯性一定要保障被使用者理解和掌握,這樣便可以有效地提升計算機軟件設計中的可維護性,另外,在語言設計上,要設計、開發出功能強大的語言轉換技術,將語言進行難易劃分,盡可能的采取用戶容易掌握的簡單操作語言,從而增強計算機軟件設計中的可維護性。另外,需要加強與企業、個人等的聯系,實時的調查掌握市場信息,以便及時的更換設計方案,設計出高質量的、實用的計算機軟件,方便人們的日常生活,同時,為人們的日常生活提供更加優質的服務。總之,優化計算機軟件設計中的可維護性需要多方的共同努力,在充分的考慮計算機用戶的切身利益的基礎上,降低軟件設計、開發成本,實現其利益最大化,促進計算機軟件設計、開發事業的健康、可持續發展。
另外,優化計算機軟件設計中的可維護性,可以通過優化市場調查模式來實現。計算機軟件的設計、開發,最終目的是為人們的生活、工作、娛樂等帶來便利,且由于不同人群對計算機性能的要求不同,因此,需要對人民群眾多種多樣的內在需求進行深入的調查,如現在市場上出現的游戲本、商務本等,均是針對人們特定的需要而設計、開發的,雖然目前已經取得了一定程度的進展,但是不能忽視跟蹤調查的重要性,因為人們的心理變化是流動的,且不同經濟實力的人們審美能力不同,當人們具備一定的經濟實力時,不僅僅關注到計算機軟件的性能,而且會更加注重軟件設計的是否美觀,是否滿足自身的審美。因此,計算機軟件設計中的可維護性在一定程度上也受計算機用戶的審美、經濟狀況的影響,要想保障計算機軟件設計中的可維護性,必須深刻的掌握用戶的內在需求,也就是心理接受能力,在設計、開發的過程中,將軟件的可維護性變得更加的靈活,才能促進利益最大化的獲取,推動計算機軟件設計、開發事業的良性競爭,提升企業的核心競爭力。
4 結束語
計算機已經滲透在人們日常生活的方方面面,雖然目前我國的計算機技術取得了較大的進步,但是與國際發達水平相比,依然存在很大的差距,尤其計算機軟件設計中的可維護性問題不容忽視,我們需要根據計算機用戶的實際需求,全面的優化計算機軟件設計中的可維護性,并且盡可能地降低計算機軟件可維護性設計、開發的成本,實現計算機軟件設計、開發的經濟效益最大化。本文通過淺析保證計算機軟件設計中的可維護性的重要性、闡述計算機軟件設計中的可維護性的衡量標準、淺談優化計算機軟件設計中的可維護性的途徑,為全面的提升我國計算機軟件設計中的可維護性建設質量提供一定的參考與指導,雖然可能存在一定的片面性,但是不能忽視其研究價值。
參考文獻:
[1] 李澍.關于計算機軟件設計過程中的可維護性探究[J]. 電子技術與軟件工程,2014(21):83.
關鍵詞:軟件設計 設計模式 模式分類 模式選擇 模式使用
中圖分類號:P631 文獻標識碼:A 文章編號:1007-9416(2013)04-0194-01
關于模式這個概念,最早的時候是在城市建筑領域當中出現的,而Christopher Alexander[1]所寫的一本關于建筑的書中對模式這一概念有明確的定義,其大概含義是說每一個模式都是描述我們周圍發生的事情,并對發生的問題進行合理的解釋,使得利用這個模式就可以重復的解決類似的問題。Christopher Alexander利用他所得出的模式這個概念解決了建筑領域中的一些問題,模式這一概念發展到現在,已經逐漸成為計算機領域當中獨有的概念了。
1 軟件設計模式分類
對軟件設計模式的分類有許多不同的方法,在這里主要是根據模式在計算機軟件設計中能夠完成何種種類的工作來決定的,大致可以分為創建型的模式、結構型的模式以及行為型的模式這三種類型。而當模式運用于不同因素的時候又可以分為不同的類型,運用于類的時候可以分為類模式,運用于對象的時候可以分為對象模式。所謂類模式就是處理系統中的類與子類之間關系的模式,這些關系可以通過繼承的形式來建立,靜態的類模式在進行編譯的時候便要確定下來;所謂對象模式,就是處理對象之間關系的模式,這些關系在系統運行的時候是能夠不斷變化的,所以對象模式是動態的模式。
第一,創建型的軟件設計模式。創建型的設計模式是和對象的創建有著十分必然的關系,也就是說,在描述創建對象的時候,要將對象創建過程的具體細節進行隱藏設計,使得系統程序代碼能夠不依賴具體的對象。所以當我們需要在系統中增加一個新的對象的時候,是不需要修改系統的源代碼的。創建型的類模式需要將對象當中的部分在子類當中進行延遲性的創建工作,而創建型的對象模式則是將對象的部分在另一個對象中進行延遲性的創建。
第二,結構型的軟件設計模式。結構型的軟件設計模式是處理類的和處理對象的設計模式的組合形式,也就是能夠描述類與對象之間的大的結構如何組建起來,并且在組建之后還能夠擁有新的功能的一種模式。結構型的類模式是采用繼承性的機制來對類進行組合。而結構型的對象模式則是能夠描述對象之間的組裝方式。
第三,行為型的軟件設計模式。所謂行為型的軟件設計模式所描述的是算法和對象之間所擁有的任務或者職責的分配情況,這其中不僅包括所需要的類或者對象需要的設計模式,還包括類和對象之間需要的通訊模式。這些模式的存在使得系統運行過程中難以追蹤的十分復雜的控制流得到了良好的刻畫。行為型的軟件設計模式是使用繼承機制來對類進行必要的分配工作,而在使用對象的時候是使用對象的復合而并非繼承,所要描述的是一組對象是如何在合作的情況下完成單獨的對象無法獨自完成的任務。
2 軟件設計模式的選擇和使用
通過上面介紹的面向對象的軟件設計模式,我們了解到軟件設計模式的存在能夠極大限度的幫助設計者用最快最好的方式來完成相關的軟件程序設計。而面對特殊的問題的時候,在已有的軟件設計模式中也可以十分方便的找到合適的軟件模式進行相關的程序設計,尤其是在面對軟件設計人員還不熟悉的新問題的時候。
在對軟件設計模式進行選擇的時候,應該先理解問題所表現出來的需求,問題中所表現出來的任何需求都能夠在一個或者幾個的問題領域中找到類似的地方,這種理解問題的需求再在不斷的尋找過程中找到可能需要的軟件設計模式或者軟件設計模式組的過程,對有效的選擇軟件設計模式從而完成軟件設計有著十分重要的作用;在了解了問題的需要并選擇了大概的軟件設計模式范圍之后,再就問題所表現出來的需求對軟件設計模式進行最終的選擇,并在選擇的過程中不斷了解這種軟件設計模式是如何解決這一類型的問題的。每一類軟件設計模式都能夠解決一類軟件設計方面的問題,每個模式的存在都有其含義,對需要的軟件設計模式進行必要的了解,才能夠選擇最適合解決問題的軟件設計模式或者軟件設計模式組。與此同時,軟件設計模式有許多都是能夠相互補充的,所以在選擇合適的軟件設計模式的時候,應該就設計模式之間的聯系要進行必要的研究,這對選擇出適合的軟件設計模式組有著十分重要的指導意義。尤其是在對一個實際存在的問題進行程序設計的時候,更加應該著重考慮可能影響到軟件設計的因素,研究這些因素是否會對系統產生不良影響。
在選擇了合適的軟件設計模式之后,就要把軟件設計模式合理的運用到系統的設計當中,這需要循序漸進的進行。一是必須理解所選擇出來的軟件設計模式,能夠清楚的了解軟件設計模式最合適的使用環境以及在使用之后所能夠達到的效果,并且對其是否能夠解決實際存在的問題進行合理的判斷;二是研究模式的結構、不同部位之間的關系和它們是如何進行合作的;三是就模式的參與者名字進行選擇;四是對類進行定義、聲明類之間的接口,建立不同類之間的關系,對代表的數據以及對象所引用的實例變量進行定義;六是對模式中專門用來應用的操作名字進行定義;最后就是實現系統設計中執行模式所包含的設計。
3 結語
總之,模式這個概念在很早的時候就已經存在了,并且有很多的模式在現有的軟件系統設計中都已經出現過了。在國外,對設計模式的研究工作進展十分迅速,他們總是能夠不斷的總結出新的軟件設計模式,而且很多的軟件設計開發工具與環境都對他們的開發工作進行了必要的支持,有些軟件設計模式的研究者還能夠讓設計模式運用形式化的表現模式由計算機自動生成需要的代碼。所以我們在對設計模式進行實踐的過程中,應該不斷的總結發展,才能夠早日創造出新的軟件設計模式。
參考文獻
[1]張海攀,楊佳.人事信息系統軟件體系結構設計關鍵技術研究[J].電腦知識與技術,2011(22).
[2]丁黎明.一種獲取Java中sun.misc.Unsafe實例的方法[J].中小企業管理與科技(下旬刊),2011(7).
關鍵詞:軟件;抽取;需求
信息化產業經過幾十年的發展和建設,正逐步從最初的用于解決局部問題的小型或簡單軟件,向復雜、成體系、網絡化的企業級系統擴展。軟件系統的構成不再只是模塊,越來越多的是功能構件和子系統,使軟件系統成為“系統的系統”,或叫復雜系統。如何構建可擴充、可裁剪、可生長的滿足企業應用的大型軟件系統,已成為軟件業研究的重要課題之一。其中,復雜系統的結構設計是人們最關注的核心問題。
1 軟件設計的需求分析
軟件通常是因需求才進行設計開發,由用戶方從解決業務問題的角度提出,均以專業的術語或事務性的語言描述。高質量、清晰準確的需求描述,可有效約束軟件系統的結構設計和功能定位。邊緣清晰、描述規范的要求,會在一定程度上降低軟件設計和開發的成本,提高軟件質量和開發效率。但是,需求的成長和變化,往往伴隨軟件的整個開發過程,這種現狀使得軟件設計的難度不斷增加,程序開發也從傳統的開發方法向敏捷編程轉化。
用戶基于一定的業務需要提出需求,通常不能直接指導軟件的開發,只有經過軟件設計者的分析提取,通過規范的技術語言描述,形成面向軟件開發者的需求規格說明,才能指導軟件的研制。抽取需求是軟件設計師必須完成的工作,傳統的需求抽取方法一般包括面談、問卷、觀察和業務文檔研究等,這些方法簡單、成本低,對業務邏輯清晰、封閉性較好的需求比較適合,而對復雜且很難封閉的需求,采用傳統的抽取方法,則風險很大。在軟件開發領域,需求抽取方法有原型法、聯合應用開發法和快速應用開發法三種。
1.1 原型法
通過構造軟件演示系統,即根據理解的需求,建立一個快速而粗糙的工作模型,由可視化方法獲得用戶的反饋。
1.2 聯合應用開發法
是將領導、用戶、開發人員、系統設計師等召集起來通過會議的方式,集中所有人的智慧,對要求進行分析抽取。
1.3 快速應用開發法
就是集前兩種方法,加上最優方案的系統研制而進行的一種需求抽取方法,是一種快速軟件開發方法。
以上是目前常被采用的需要抽取方法,但對于系統分析員或系統設計師來說,無論采用哪種方法,都必須面臨提取關鍵需求、判斷需求增長點和發展方向的問題。
2 需求分析對系統體系結構設計的影響
2.1 抽取影響軟件結構的需求,是需求分析的核心
關鍵需求是軟件結構設計的核心,而提取關鍵需求是軟件結構設計師必備的技能。以一個數據錄入軟件為例,一般需要提供一個交互式界面,由用戶鍵入所需數據,提交存儲到文件或數據庫里即可。但用戶要求錄入的數據項,應能隨著業務的不斷變化而進行增加或刪減,可多人同時進行錄入。同時,要求對存儲的數據按照需要的方式進行查詢調閱,甚至進行一定的復合計算或評估分析等。對于這樣的需求,錄入項不斷變化、多人同時操作、存儲要求等都是核心元素,這些元素將直接影響軟件結構的設計。軟件設計應考慮分布式并發機制和大量的數據存儲訪問要求。這些需求均與功能無關,但會影響軟件結構的設計。數據庫訪問相關的軟件,一般采用傳統的C/S結構。當用戶增加到一定量時,該結構會導致數據庫服務器負載加重,甚至系統崩潰。為了適應這種變化,應采用多層結構,將用戶操作與數據存儲進行分離。采用多層結構,不僅可以緩解數據庫服務訪問壓力,還能降低數據庫變化給用戶操作帶來的影響。錄入項的變化需求,潛在地存在著數據項擴充、界面調整等功能要求。一般情況下,完全適應這種變化的軟件很難設計。為此,可把錄入項作為配置要素,界面設計和數據存儲項根據配置項進行定制,應用服務層要在接口設計上考慮數據項的擴充能力。具有這類需求的軟件,一般由界面構造工具、錄入界面、應用服務軟件和數據庫服務器構成。
在抽取關鍵需求的過程中,抽取與業務無關的需求非常重要。“與業務無關”指支撐業務功能運行且與業務處理邏輯無關的功能。傳輸服務是典型的與業務無關的功能,在任意基于網絡運行的軟件中,不可避免的需要信息傳輸功能的支持。抽取與業務無關的需求,需要分析人員有豐富的軟件設計經驗,這種公共需求的抽取,有利于開發過程中軟件的重用,可降低開發成本。
2.2 關注需求中與規模發展相關的因素
軟件設計應用規模的發展速度,是軟件結構設計時應考慮的主要需求之一。規模是考驗軟件支撐能力的主要因素。規模的發展可能是用戶量的膨脹,也可能是數據量的迅猛增長,或兩者都有。軟件能力的成長性設計,通常會使開發付出代價,這是由于一方面在設計初期沒有考慮這種成長性,導致設計失敗;另一方面,雖然考慮了成長性,但由于軟件復雜度的增大,增加了開發成本和風險。因此,對并發和負載的設計,應在設計之前就要給予充分考慮。
2.3 捕捉需求的變化方向
確定需求的增長點是考驗軟件適應能力的關鍵。需求的變化和調整是客觀存在的,軟件設計者分析需求時,應考慮到需求中可能存在的變化點或變化趨勢,以提高軟件的適應能力和成長能力。需求的增長點通常隱含在企業發展和技術發展中,一類是業務發展引起的工作流變化或增長。這種軟件結構應具備新業務處理軟件的集成能力;一類是業務轉向。原有的業務處理軟件不能滿足轉向后的業務處理要求,存在改造、裁剪、新增能力等潛在需求。軟件結構還應具備可裁剪、可擴充的能力,否則將會造成巨大的經濟損失。
抓住需求的變化點,設計合適的體系結構,可增強軟件的生命力。面對需求多變的現實,降低結構的耦合度是有效緩解軟件適應能力的方法之一。但是,降低耦合度一般會帶來效率或系統復雜度的上升。因此,小型軟件選擇這種方法應慎重。(下轉第16頁)(上接第13頁)
綜上所述,設計滿足需求的軟件結構,重點關注的是功能,而設計適應需求變化的軟件結構,關注的往往是非功能性需求,這需要系統設計師除了具備豐富的經驗和敏銳的洞察力外,還應花大量的時間和精力同用戶不斷溝通與交流,從中獲取最需要的需求,以支持軟件整體結構的設計。
參考文獻:
關鍵詞:軟件成本估算;專家輔助系統;框架;裝備軟件;開發需求
中圖分類號:TP393
文獻標識碼:A
文章編號:1009-2374(2009)17-0041-02
進行準確的裝備軟件成本估算是保證裝備軟件開發順利進行的關鍵和必要手段,也是保證裝備采購人員能夠對裝備軟件進行準確定價,避免軍費浪費。但是,當前對裝備軟件成本估算的手段單一,方法不多,不夠精確。在裝備軟件的估算過程中,由于裝備軟件開發過程的諸多不確定性,導致在估算過程中必須要有具備深厚專業知識的專家人員,但是在產品開發的實際中,這種專業深厚的高水平專家人員比較少,完全依靠領域專家來進行估算成本代價太高,不切實際。因此,設想開發一套裝備軟件成本估算專家輔助系統,用于在開發過程中對裝備軟件的項目時間、成本進行估算,解決缺乏專業領域專家人員的情況下對裝備軟件進行估算。估算人員只需要輸入開發軟件的相關信息或者整個軟件編碼,經過系統的匹配和綜合的估算,把估算結果顯示于界面上,方便快捷。如圖1所示:
一、開發背景
當前,裝備軟件成本估算主要存在估算的方法有限,精確度不夠,直接影響了裝備軟件的設計開發和增加了采購成本。主要表現在兩個方面:
1、裝備軟件的設計開發主要是依據軍方立項,通過國家指定的軍品生產廠方,依據確定的標準和要求進行的。但是大多數承制方缺乏專業領域知識深厚的專家,并且,裝備軟件的設計開發缺乏市場競爭,參與的企業少,規范的軟件生產企業不多,對設計開發過程中的裝備軟件成本估算不足,因而直接影響了裝備軟件開發的順利進行和產品質量。
2、在軍方采購人員中,大部分人員是軍校畢業后直接進入采購部門工作,既沒有經過專業的理論培訓也沒有相關領域的經驗,對軟件的成本估算只懂皮毛甚至不懂,大部分是按照國家關于軍品的微利補貼原則,以承制方的價格為基礎進行采購,這樣條件下的采購無疑是帶有較大的盲目性,難以避免對軍費的浪費。因此,如果能設計一套專家輔助系統,其意義較重大。
二、設想理論框架
裝備軟件成本估算專家輔助系統理論框架主要由兩個部分組成。一個是存儲各種算法和估算標準的數據庫。該數據庫由算法知識庫、歷史模型庫、儲存比較庫、智能估算執行庫組成。算法知識庫主要是對當前各種關于裝備軟件成本估算的算法進行編程存檔(LOG法、Delphi法、經驗類比法、功能點估計法、COCOMO法等),主要提供給智能執行庫的估算模型原則。歷史模型庫主要存儲許多歷史經典裝備軟件模型,收集盡可能多的模型,為估算軟件提供近似匹配依據。智能估算執行庫主要是完成對輸入的估算程序調用算法知識庫中的各種算法進行估算,同時對裝備軟件進行歷史模型匹配,得到近似估算值,儲存結果比較庫主要是把各種估算結果存儲下來并根據智能執行庫的指令進行比較,最后對估算值進行按預定比例系數進行加權處理,得到最終估算結果經傳輸設備傳出。另一個框架就是操作系統和人機交換框架,主要是操作系統對第一個框架內的各種數據進行維護管理,科學地組織和存儲數據,高效地獲取和維護數據,準確的物理尋址,并及時對數據進行更新,用戶通過人機交互界面與系統打交道,把要估算的裝備軟件信息或者編碼輸入進計算機,調用第一個框架內的數據,獲取知識,并進行推理,得到解釋,并對數據庫進行維護,并把估算結果顯示出來。
三、開發人員框架
裝備軟件成本估算專家輔助系統的功能是完成對裝備軟件的成本估算,主要為解決廠方在進行軟件項目開發時對軟件成本的預算不準和軍方在采購過程中對裝備軟件的知識不深厚導致對其成本估算不準確。在開發這個系統需要四類人員參與才能完成開發。第一類就是眾多領域專家進行知識收集和整理,建立各種算法和模型;第二類就是知識工程師進行知識建模、形式化、編輯以及語法檢查;第三類是開發軟件工程師根據系統的目的和已建模型進行系統設計和調試;第四類是最終用戶對系統進行軟件成本估算。如圖2所示:
四、開發需求
裝備軟件成本估算專家輔助系統首先要對目標用戶的要求做出準確定位。即:裝備軟件成本估算專家輔助系統主要是供給廠方在進行裝備軟件項目開發和軍方在對裝備軟件采購定價時用,因此,對廠方和軍方最需要了解的是裝備軟件成本的組成和估算精確度的問題。由此可以確定該系統要達到的要求,以及用什么方式實現這些要求,這就需要組織大量的專業領域專家進行論證和算法研究及建模,收集更多的歷史模型,方便地對模型進行建模管理、存取管理、運行管理、模型組合,能方便地對知識進行插入、修改、更新、查詢等,及時對數據庫進行維護和更新。
五、工作過程
首先,由眾多領域專家進行知識的收集整理,進行各種算法的研究探討,并對算法進行驗證可行,此過程也稱為抽象的過程;在此基礎上,由知識工程師根據領域專家的各種算法進行數學建模,成為可以理論計算的模型,此過程就是把抽象到具體的過程;然后,由軟件開發工程師根據已有的數學模型進行計算機編程,成為計算機可執行的程序編碼并存儲與計算機內,此過程就是把具體到應用的過程;在前三個過程結束后,實際工作中的用戶只需要將相關信息輸入進計算機便可以進行成本的估算了。用該系統進行成本估算主要有兩種工作方式:一種是廠方進行裝備軟件項目的開發設計時,主要對該軟件項目的成本進行預算;一種是針對軍方采購人員進行采購是便于對裝備軟件的定價而進行成本估算。總的來說其原理是一樣的。用戶把需要估算的軟件相關信息或者整個程序編碼輸入計算機,通過操作系統把相關信息傳輸到智能執行庫,智能執行庫根據接收到的相關信息進行分項估算,調用算法庫中的相關算法結合相關的信息進行估算,把估算的結果存儲在存儲比較庫中暫存,再根據歷史模型庫中的模型匹配進行概算,得到的結果也存儲于存儲比較庫中暫存,最后智能執行庫根據存儲比較庫中的暫存數據進行加權平均計算,將最后優算得結果經操作系統的指令直接傳出到人機交互界面,供給用戶參考。
六、結語
成本估算專家輔助系統的主旨是在缺乏專業領域專家人員的情況下,便于裝備軟件在開發設計時能準確對其成本進行預算和在采購時便于對裝備軟件定價而進行估算。文章中的理論框架為軟件設計提供了清晰的結構,是開發裝備軟件成本估算專家輔助系統的基礎。開發裝備軟件成本估算專家輔助系統在理論框架、人員框架、開發需求的指導下,通過詳細設計、數據庫設計、編碼實現、測試等過程實現系統全部功能。開發該系統之前需要大量的工作才能完成,但是一旦該系統設計開發完成后,將對實際工作過程中具有重要現實意義。文中提出的框架結構和開發需求對于裝備軟件成本估算以及裝備軟件成本估算專家輔助系統設計研究具有很好的指導作用。
參考文獻
[1]張家浩,白思俊,軟件項目管理[M]機械工業出版社,2005
[2]李幟,林立新,曹亞波,功能點分析方法與實踐,北京:清華大學出版社,2005
[4]任永昌,趙穎應用COCOMOI模型估算軟件開發工作量渤海大學學報(自然科學版),2007,23(3)
嵌入式系統開發與傳統PC機不同,開發人員需要對用戶做出詳細的制定,所以人員需要對嵌入式系統更加全面透徹的了解。而且嵌入式系統的形式上與PC也不盡相同。嵌入式系統的體積往往較小,開發工具也是專門制定。嵌入式開發工程特點比較明顯,一個普通人必須通過實際出發開發一款簡單模式很難了解開發基本過程。嵌入式操作系統實驗包括很多類型,需要根據不同的情況選擇具體點操作系統。比如典型的嵌入式操作系統構成、系統移植、任務調度等等。建設嵌入式課程實驗體系將指日可待。
2嵌入式實驗教學體系
2.1實驗平臺建立與開發
在嵌入式實驗開發建設過程中,我們主要采用廣泛的校企合作模式。無論是低層還是高層,硬件還是軟件,我們都是按照合理的思路,將嵌入式教學系統生命周期縮短,并進行系統詳細的分析。分步驟的有層次的對內容深一步的了解。增強系統的連貫性,鍛煉整體的把握能力。著重加強嵌入式的開發,移動多媒體數字電視復合型開發。而不是那些單一獨立的,較為簡單的開發軟件,那些都是不成體系不完整的。我們需要對整合嵌入式了解更加透徹更加深入,對其特點加以研究,對其系統研究的更加明白易懂。
2.2設計實驗平臺
通過設計嵌入式開發環境linux下的應用、UC/OS-Ⅱ的應用、linux的基本應用、QTEmbedded設計、嵌入式微處理器ARM編程基礎(指令)實驗、ARM接口編程技術與驅動程序開發、SM接口編程與驅動開發等不同實驗。來適應不同層次的對軟件開發與學習。通過對其他課程的理解與熟知來配合對嵌入式教學課程的設計開發與研究。
3基于能力培養的嵌入式課程實踐教學的實施
3.1強化嵌入式硬件和軟件協同開發
多媒體課件編寫為適應本院培養應用型本科層次的課程體系發展新形勢的需要,在內容上更加偏重實用性,增加了多個嵌入式裸機系統設計案例,使學生在掌握基本原理知識的前提下,注重提高學生應用能力。因嵌入式硬件一些限制和一系列要求,嵌入式系統不會有固定系統模式。目前,一些公司針對于嵌入式多媒體教學平臺,學生可以在教學軟件和硬件平臺上開發嵌入式軟件。每次實驗對每個具體功能來進行設計具體如中斷通信AD取樣驅動等等。實現每個誤差不會太大,在規定的時間范圍內完成。在嵌入開發技術的實踐學時比較充足時,還要嵌入式實驗平臺上加入Linux的程序設計實驗。
3.2改進實驗項目
(1)根據客戶的不同實驗要求,導致實驗教學平臺配套的實驗項目工程文件不能直接采用,所以需要我們獨立思考問題,完成相應軟件設計開發問題,并在調試過程中積累開發經驗,提高動手能力,提高自己的綜合素質。
(2)減少驗證性實驗,增加創新性實驗。在實驗過程,應該提倡創新能力,以動手過程內容為主,不能以老師課堂演示為主要內容,使得學生跟著老師和自己思維走,進而發揮學生的想象力和主觀能動性。
4結束語
【關鍵詞】軟件復用 測控軟件 開發
1 引言
隨著交會對接、空間實驗室、探月工程、深空探測等一系列任務的全面展開,地面測控站內的測控軟件的可靠性和高效性將面臨空前的挑戰。在軟件開發的各個階段,保證階段產品高質高效以及縮短研發周期是保障多任務并發的重條件,二者互相影響。為使軟件既能高效又能保質保量的完成,近幾年來,軟件開發單位采用專門的軟件管理團隊對軟件進行規范管理,與此同時改進軟件開發技術。軟件規范管理從近年的9001B質量體系認證、GJB5000A軟件過程改進以及軟件工程化等都對軟件開發的各個階段產品進行了規范管理,地面測控軟件的管理日益規范,不斷改進。另一方面,為大幅度提高軟件的研發效率和質量,可以采用軟件復用技術。本文結合測控軟件開發實踐,對復用技術在測控軟件中的有效應用進行初步研究。
2 軟件復用理論
2.1 軟件復用的概念
為避免程序開發“從零開始”以及重復相同的工作,采用已有的經驗和成果,將開發的重點集中在應用系統的新研部分,提高工作效率和軟件質量,這就是軟件復用。復用形式包括基于構件的復用和基于過程的復用,基于構件的復用是目前主要的復用形式。
2.2 軟件構件及基于構件的軟件開發
軟件構件是軟件復用的核心和基本單位,具有獨立的功能,是可復用的軟件組成部分,可供第三方進行軟件組裝。構件可以是被封裝的對象類、類樹、功能模塊、軟件框架、軟件構架( 或體系結構) 、文檔、分析件、設計模式等。基于構件的軟件開發與傳統的軟件開發相比,基于構件的軟件開發強調使用軟件構件對軟件系統進行設計開發。基于構件的軟件開發方法需要有相應的軟件開發過程作為基礎,否則,就不會有與該系統相符合的質量特性要求的軟件構件。
2.3 軟件復用的優點
(1)改善軟件質量:經過測試以及經過實踐的軟件往往缺陷更少。
(2)降低開發風險:開發新的組件,如果測試不夠充分,輕則有效性不高,重則可能是造成軟件失敗的原因。
(3)支持快速原型開發:快速構建實用可操作系統模型,憑借其與用戶進行有效溝通,最終獲得用戶有效意見反饋。
(4)提高軟件開發效率,縮短軟件開發周期,從而降低軟件開發成本。
3 軟件復用在測控軟件開發中的應用
近年來,隨著任務數量的增多,測控軟件的開發團隊越來越小,軟件開發周期越來越短,軟件的研制要求卻不斷的提高;隨著衛星工作模式的增加,地面接收設備也需增加相應的工作模式完成相應的接收任務。因此,測控軟件不但需要完成原有工作模式的監控管理功能,還需完成新增工作模式的監控管理功能。測控軟件必須有效繼承原有成熟的計劃管理、自動標校/測試及自動運行管理技術,同時需要開發適合新增工作模式的計劃管理、自動標校/測試及自動運行管理技術,并且要為后續其它型號軟件提供高效的功能繼承。
基于軟件復用技術的測控軟件開發,使用大量的已經過驗證的高效軟件,對傳統瀑布模型的各個研制階段的產品(如需求分析、軟件設計、軟件編碼、軟件測試)進行優化和簡化,節省了人力和時間,提高了軟件的可靠性,降低了軟件成本和開發周期。在軟件的研制過程中,需要對軟件的復用架構進行設計,對可復用的構件進行適應性修改設計以適應新的軟件需求,還需對新研的部件進行軟件設計。軟件的研制流程參見圖1。
測控軟件對原有成熟的設備監控、計劃管理、自動標校/測試及自動運行管理功能的繼承,就成為軟件的復用的內容。其中包括四個階段的復用:需求復用、設計復用、代碼復用、測試復用。
3.1 需求復用
測控軟件的變更原因主要有兩種:
(1)用戶需求變更。
(2)軟件自身技術升級。其中,用戶需求變更是導致軟件變更的首要因素;軟件技術升級的部分工作往往也是為了更好的適應用戶的需求。
首先,同類任務的需求是逐漸增加的,并且有一定的可繼承性,當增加新的需求時,已驗證過的任務需求即可成為后續任務需求的可復用的構件。
其次,不同的測控任務需求之間同樣存在相同或相似的元素。例如,任何一個任務都有相同或相似的任務流程;根據工作計劃及自動運行策略進行站前標校、任務宏配置、啟動自動運行流程;監控數據的存儲、顯示、查詢等任務需求存在一定的共性,對其通用的任務需求,是完全可以復用或部分復用的。
因此,任務需求變更與軟件需求變更為因果關系,直至后續的各個階段活動都受到任務需求變更的影響。從需求分析、軟件設計、軟件編碼直至軟件測試,都會因為任務需求的變更而必須進行相應的更動。
3.2 設計復用
多年以來,很多任務的測控軟件都有相同或相似的軟件結構,因此,這一有利條件,在軟件結構設計時,得到了充分的利用。
從軟件復用的角度來說,在進行軟件結構設計時,需將軟件中相對穩定的部分(如設備監控、數據庫管數據庫管理、計劃管理、用戶管理)與新增加的部分不僅從結構上分開,而且要求其接口相對單一穩定。這樣,從軟件設計到代碼開發都可以復用。
3.3 代碼復用
對程序代碼的復用,以設備的監控線程為例介紹如下:
目前,測控站內設備通過局域網進行通信,各個設備與測控軟件之間的通信接口都已進行了標準化,因此,對不同設備的監控線程可以進行代碼復用;如果重新設計代碼,不但要耗費大量的人力和時間,延長軟件開發周期,而且重新設計的代碼必須進行充分的軟件測試,否則難以保證其正確性和健壯性。
開發者使用以往可復用的程序代碼,或全部吸收或加以優化,大大避免了重復性工作,將精力集中于關鍵技術的攻關,如此設計更加高效可靠的軟件系統。
3.4 測試用例復用
軟件測試復用主要包括測試流程的復用、測試方法的復用和測試用例的復用。其中,測試用例的復用是測試復用中的關鍵技術。測試用例的復用對于縮短軟件的開發周期和降低軟件開發成本具有極其重要的意義。
4 結束語
測控軟件在當前開發周期越來越短,任務量越來越大,軟件質量要求越來越高的前提下,軟件設計開發者如能有效的利用長期工作實踐中積累的大量的軟件工程經驗,以及大量的經過驗證的軟件相關文件及代碼較好的實行軟件復用技術,則能夠大大降低軟件開發成本,提高軟件開發效率,提高軟件質量。
因此,軟件復用技術在測控軟件開發中既實用,又有效,對軟件開發起著至關重要的作用。
參考文獻
[1]楊芙清,梅宏,李克勤.軟件復用與軟件構件技術[J].電子學報,1999(2):69-71.
[2]楊芙清,王千祥,梅宏.基于復用的軟件生產技術[J].計算機科學,2001,4(21):363-370.
[3]陳菲,劉克勤.計算機軟件復用技術研究[J].現代電力,2002,19(6):95-101.
[4]劉述忠.軟件復用-提高計算機軟件質量與效率的途徑[J].中國金融電腦,2002(2):20-22.
[5]劉艷艷,羅克露.基于特定領域軟件體系結構的軟件復用[J].計算機信息,2011(1):173-174+394.
作者簡介
王德芳(1979-),河南省鄭州市人。學士學位。現為中國電子科技集團公司第二十七研究所工程師。研究方向為電子工程。
一、Tilcon簡介
Tilcon是一個支持多種操作系統平臺的圖形界面開發工具,可實現圖形界面快速方便的設計開發,并且利用Tilcon創建的圖形界面與應用程序可以實現不同軟硬件平臺之間的相互移植。Tilcon開發工具主要由三部分組成:Tilcon嵌入式引擎(EmBeddedEngine),與平臺無關的API接口和可視化的界面設計環境。Tilcon的關鍵部分是嵌入式引擎,嵌入式引擎是一種以事件方式驅動的內核,它與用戶的應用程序相互獨立,負責處理用戶的所有事件。API是Tilcon提供的功能函數接口,它為用戶的應用程序和嵌入式引擎建立了一種通訊機制。可視化的界面設計環境為用戶提供了豐富的控件,用戶只需要使用拖動、設置控件的顯示和運行屬性即可組建自己的圖形界面。Tilcon與其它的圖形界面設計工具相比,突出的特點是使用獨立的圖形引擎的開發方法。用戶使用工具拖拽、設置控件完成圖形界面的設計,存儲為圖形界面文件。用戶的應用程序與Tilcon提供的圖形引擎、圖形界面文件以及Tilcon的API函數編譯、連接后形成最終的界面軟件。
二、人機界面軟件構成
導航系統人機界面軟件一般通過屏幕和鍵盤來完成人機交互功能。為了使人機交互界面簡潔、方便采用單獨按鍵控制方式,根據畫面上操作的提示,按下對應的按鍵調用相應的畫面。基于Tilcon的人機界面軟件構成如圖(1)
三、VxWorks下基于Tilcon的多界面加載與顯示
對于多個界面的動態切換,常見的方法有兩種:一是開機后顯示主界面,當外部事件(鍵盤、計時器等)發生時,再將需要切換的圖形界面文件加載到內存中并顯示,之后刪除前一個界面。第二種方法是,開機時將所有需要顯示的圖形界面文件全部加載到內存中,當界面需要切換時,顯示下一個界面同時隱藏前一個界面;和方法一相比方法二界面切換速度快,由于每個界面文件只需要讀取一次,系統資源使用率也較高。本文正基于第二種方法設計了應用軟件,主程序流程如圖(2)在主循環MainEventLoop()函數中TRT_GetInput()用來讀取按鍵和計時器的消息事件;當讀取到消息事件時,調用事件處理函數ProcessNotification(&rec_data,&full_queue,&errorcode)進行處理,達到界面的動態加載和刷新。TRT_ChReply(c,NULL,0)是對消息隊列的應答函數。
四、工程應用實驗
為了驗證導航系統人機界面軟件開發方法的有效性,針對該方法進行了工程應用驗證。實驗條件如下:圖形界面設計工具為Tilcon5.8。硬件平臺為PowerPC8315處理器、SiliconSM502顯卡芯片、800×600彩色顯示屏、定制鍵盤等。軟件開發平臺為WorkBench3.2,操作系統為VxWorks6.8。圖中畫面為使用該方法設計的人機界面軟件顯示結果,工程應用實驗表明VxWorks下基于Tilcon的導航系統人機界面軟件設計方法,正確、有效,滿足工程應用的要求,具有良好的工程應用前景。六、結語本文針對導航系統人機界面軟件設計引入了圖形化的界面設計工具Tilcon,大幅度的簡化了圖形界面的開發工作,擺脫了以往復雜的WindML繪圖函數,減少了程序開發的工作量、代碼量;也給后續的修改和調試工作提供了很大便利;同時提高了軟件的穩定性、移植性和維護性。最后工程應用實驗表明,在VxWorks操作系統下利用Tilcon開發導航系統人機界面軟件的正確性、有效性。
作者:楊建輝 王彩霞 單位:中國電子科技集團公司第二十研究所
[關鍵詞]DAQ虛擬儀器設計
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1210083-01
一、引言
隨著計算機技術和電子技術的不斷發展,推動了虛擬儀器的廣泛應用。為了掌握開發虛擬儀器的技術,除了必須了解虛擬儀器本身的工作原理和機制,熟練掌握其開發技術尤為重要。
二、虛擬儀器的構建
虛擬儀器是傳統儀器的一種模擬,數據采集、儀器控制、過程監控和自動測試是實驗室研究和自動測試領域廣泛存在的任務。一臺普通的儀器一般由信號采集、數據處理和結果輸出三大功能模塊組成。虛擬儀器是傳統儀器的模擬,也是按照“信號的采集-數據的分析與處理-結果的輸出顯示”的結構模式建立的。USB-1408FS是美國MCC(Measurement Computing Corporation)公司的基于USB接口的用于DAQ虛擬儀器開發的產品,主要應用于數據采集開發。數據采集卡是構建虛擬DAQ儀器的必要的硬件部分。本文將以USB-1408FS為例探討DAQ虛擬儀器的開發。
三、基于USB-1408FS的DAQ虛擬儀器硬件設計
虛擬儀器的第一個結構模塊為信號的采集。這個部分采用USB-1408FS作為數據采集卡。USB-1408FS是一種基于USB接口的DAQ模塊,帶有8個模擬輸入通道,達到14-bit分辨率,采樣速度48kS/s,2個D/A輸出端和16位的數字I/O。模擬信號可以從USB-1408FS的8個模擬輸入通道輸入,用USB接口與計算機連接。可以采用傳感器,也可以采用多功能信號發生器作為USB-1408FS的數據源。USB-1408FS不需要外接電源,通過USB數據線可以直接把信號輸入到計算機的USB接口。虛擬儀器的輸出與顯示部分由計算機完成。計算機上安裝了USB-1408FS的驅動控制程序,同時安
裝了虛擬儀器設計軟件,利用軟件實現對采集來的數據進行進一步的處理,并利用顯示器實現對信號的輸出。
四、DAQ虛擬儀器軟件設計與開發
(一)軟件設計框圖
USB-1408FS支持VB、VC/C++、、C#.NET、LabVIEW等軟件開發。其中LabVIEW框圖代替復雜的程序代碼,用圖標、連線構成程序流程圖,是采用工業標準的高效快速的圖形化編程語言,開發容易。
虛擬儀器的設計包括硬件設計和軟件設計。軟件設計開發遵從一定的開發流程。DAQ虛擬儀器開發流程圖如圖1:
(二)開發DAQ虛擬儀器
1.分析USB-1408FS接口功能。在硬件設計階段,已經了解到該數據采集卡的各項參數指標。USB-1408FS有40個引腳,采用不同的接線模式可以實現8通道單端模擬輸入通道和4差分模擬輸入通道。兩種通道模式,各引腳輸出內容會發生變化。在軟件設計時,應該結合這兩種不同的模式設計程序。
2.確定開發的產品功能。結合USB-1408FS的硬件特征,可以構建單通道數據采集系統、多通道數據采集系統。利用單通道單點采樣可以實現測量直流電壓信號。采用簡單緩沖區技術可以實現多個波形采集。根據USB-1408FS的功能特點,可以分別實現模擬輸入、直流電壓測量、波形采集、頻率測量。
3.確定開發平臺。USB-1408FS支持VB、VC/C++、、C#.NET,也支持NI的LabVIEW開發語言。USB-1408FS為LabVIEW提供了強大的VI庫,它配套的MCC-DAQ軟件包為LabVIEW提供了一個名為MCC Data Acquisition
的用戶函數庫。該庫包括了模擬信號輸入輸出、數字信號輸入輸出、計數器等,為在LabVIEW中使用USB-1408FS提供了有利條件。另外,LabVIEW中有很多頻率分析函數,提供了多種頻率分析方法。LabVIEW還為用戶提供了多種用于數據采集的函數、VIs和Express VIs。這些組建主要位于函數模板中的Measurement I/O,Instrument I/O子模板中。虛擬儀器的硬件部分只是計算機I/O端口與外界的接口,軟件部分才是虛擬儀器的主體。筆者選擇采用LabVIEW作為虛擬實驗儀器的開發工具。
4.開發虛擬儀器軟件。在前面已經分析確定了要開發的產品后,在LabVIEW中進行程序設計。在LabVIEW中開發虛擬儀器,主要分為兩個部分的設計。一是前面板的設計。根據設計的產品不同,前面板儀器會有所不同,設計首要考慮的因素是界面友好、操作方便。接下來是流程圖的設計,這是對前面板控件的對應端口進行連線、設計輸入輸出顯示等。流程圖的編程在后面板中進行,主要是對端口圖標的連接。
5.程序調試運行。這里主要是對程序進行運行,看看結果是否正常。通常有兩種辦法,一是直接運行程序,看測試結果是否正確。另一個辦法是在程序流程圖中設置斷點,檢查各斷點數據是否正常。對于一般的語法錯誤,LabVIEW會自動檢測出來,工具條上的程序運行按鈕會變成斷線,錯誤的程序不能運行。如果是邏輯錯誤,就需要設置斷點檢查。程序運行無誤后,虛擬儀器開發工作就完成了。
五、結束語
本文介紹了用USB-1408FS開發DAQ虛擬實驗儀器的基本方法和流程。采用了LabVIEW作為開發平臺,具有開發周期短,操作方便,效率高的特點。USB接口的虛擬儀器安裝方便,是未來虛擬儀器的一個發展方向。
注:本文是樂山師范學院校級課題,課題名稱為《計算機虛擬實驗儀器研究與開發》,項目編號為z0824。此文為該項目階段性成果。參加人員還有:楊霞、張貴紅、唐前軍、劉毅。
參考文獻:
[1]陸綺榮,基于虛擬儀器技術個人實驗室的構建,電子工業出版社,2006.
[2]USB-1408FS用戶手冊,省略/.
計算機技術在不斷提高,計算機技術的應用也越來越廣泛,計算機軟件開發技術日益提升。本文主要圍繞計算機軟件開發技術應用展開探討,以期通過計算機軟件開發技術,設計出拓展性強,可靠性較高,品質水準高的計算機軟件。
關鍵字:
計算機軟件;開發技術;應用
計算機應用需要計算機軟件為其提供一個優秀的平臺,從用戶的角度來看,主要利用計算機軟件來操作計算機,所以,如果計算機軟件開發技術不強,用戶在應用計算機軟件時就會受到較大影響。計算機軟件開發的初始階段是通過手工進行操作,因為手工操作受到較大限制,導致開始應用軟件過程中,經常出現錯誤,用戶對軟件的需求得不到滿足,并且計算機軟件開發效率不高,軟件沒有較強的擴展性,導致開始應用軟件過程中錯誤百出。隨著計算機開發技術水平不斷提升,計算機開發人員在開發軟件過程中更加規范和嚴格,利用規范化文檔來記錄開發軟件的全過程,包括分析軟件,設計軟件,開發軟件,調試軟件,以及應用軟件等,開發步驟更加規范化,所開發出的計算機軟件更加可靠,品質更優良。
1計算機軟件開發技術常用的開發方式
經常使用的計算機軟件中,開發方式包括三部分.
1.1生命周期比較傳統軟件以時間為基礎進行劃分,針對軟件的不同部分進行拆分,并且分解這些軟件,產生不同的軟件階段,在軟件任意階段,從開始至結束要求都非常嚴格。一般情況下,軟件周期都能夠達到半年。
1.2原型化軟件的方式在調試和開發計算機軟件時,由開發初期概念不清晰,所以按照以往的生命周期法,需要認定軟件初始階段的一些資料,所以,這個類型的軟件并不適用。不過,如果該計算機軟件實現原型化,為了明確軟件的本質需求,需要研究和分析軟件的原型化系統,在這個基礎之上,開發出新的概念,最后再進行修改,完成建造開發軟件的任務。
1.3開發自動化系統開發自動化軟件系統可以利用很多種類的軟件開發工具,軟件操作人員不必提供具體操作方法,介紹相關內容就可以,程序編碼可以通過軟件工具進行自動分析。
2關于計算機軟件開發技術的應用
2.1如何應用計算機軟件開發技術伴隨世界經濟一體化進程,用戶彼此間的距離隨著大范圍應用網絡而不斷縮小,通過應用不同種類的軟件,世界經濟資源實現了共享,用戶與用戶之間溝通和交流更加方便。應用計算機軟件開發技術的主要特征是把用戶與網絡和軟件緊密聯接起來,與此同時,不再統一進行控制,每個結點都具有很高的獨立性,與此同時,用戶在不同的軟件平臺上,通過更加廣闊的平臺,來處理不同的數據信息數據,既發展了計算機軟件技術,與此同時,也使用戶操作得以簡化,使用用戶數據就更為便捷了。
2.2分析和研究計算機軟件開發技術開發計算機軟件的目標,是讓用戶對軟件的應用更加方便快捷,所以,對某個軟件的質量進行評價時,主要看該軟件是否具有較高的實用價值。在實際應用軟件過程當中,為使用戶操作更加便捷,與此同時,軟件操作起來具有更強的可維護性,安全性和穩定性,以及可擴展性等等。有一部分軟件的開發技術,受到操作系統版本,或者操作系統中瀏覽器安全性制約,用戶操作這些軟件的時候非常復雜,不能進行大范圍應用。有些軟件可以和操作系統相互兼容,因為軟件在運行過程中,沒有受到操作系統的約束,用戶在安裝和修復軟件時更加便捷,并且能夠還原和備份計算機里面的相關數據。不過,隨著客戶端軟件的使用周期越來越長,那些能夠與系統很好兼容的軟件,在后期的運行過程中,速度會越來越慢,所以,應該對這些軟件資料進行手工存檔。計算機開發技術會約束對它的應用,所以,為使用戶更好的使用計算機開發軟件,設計人員要針對用戶實際需求以及應用情況來開發軟件,要確保軟件在應用時更加可靠和便捷,軟件在設計上要充分考慮使用群體,盡量讓大眾群體都能夠靈活應用。
總而言之,以計算機飛速發展為背景,計算機軟件具有廣闊的應用前景。選擇計算機軟件的開發技術,和計算機軟件開發過程聯系緊密,軟件設計人員在選擇軟件開發技術時,要參考實際情況和實際需要進行,這樣才能設計出品質好,性能佳,具有極強交互能力的計算機開發軟件,同時,在軟件設計開發時要注意盡可能降低開發成本。
參考文獻
[1]趙明亮.計算機應用軟件開發技術[J].黑龍江科技信息,2011(26)
省屬高校的軟件工程專業多脫胎于計算機科學與技術學科,在研究生人才培養模式上受限于計算機科學與技術研究生培養模式。部分高校甚至于采用同計算機專業研究生實施無差別培養方式,這一根本性原因帶來諸多問題。
1.人才培養方向目標定位不清晰
軟件工程專業碩士應當僅限于軟件工程師的培養。軟件工程具有極強的工科屬性,其人才培養,除軟件工程科學碩士和計算機科學技術一樣,可培 研究型人才外,專業學位應當清晰定位于培養具有軟件工程必備基礎知識,在軟件工程某一領域具有較強專業知識與技能的工程師。
2.師資比較缺乏,尤其是雙師型師資缺乏
軟件工程正式成為獨立的學科時間相對較短,軟件工程師資大多來源于計算機科學與技術專業。計算機科學與技術專業可以勝任軟件工程基礎課程,但這部分教師往往缺乏工程實際經驗,在教學中往往表現為重理論輕實踐。省屬高校十分缺乏來自軟件企業一線的項目經理以上的技術管理人員充任實踐課程教師。
3.培養模式陳舊,不適應國家教育部要求
由于全日制軟件工程專業學位研究生2009年才在全國開展,很多高校沿用學術型學位研究生培養模式,忽視了國家對專業學位研究生培養要求中的專業實踐能力的培養,未能很好地開展專業實踐教學。
4.課程設置陳舊,不適應軟件企業的人才需求
大多數高校軟件工程研究生課程設置大多套用計算機科學與技術專業的課程設置,未體現軟件工程學科特點。原因主要是因為師資缺乏、招生規模較小,出于節約培養成本的考慮。
二、一種實用的軟件工程全日制工程碩士培養解決方案
四川師范大學作為四川省屬高校中最早開設計算機科學與技術、軟件工程本科生培養的院校之一,在軟件工程工程碩士培養的諸多問題上,做了一些有益探索與研究,針對性地提出了一套適合于省屬高校軟件工程全日制工程碩士培養的解決方案,希望能為同類型高校提供人才培養的借鑒。研究生培養方案的制定,重點需要解決課程體系設置、培養流程規劃與控制。對專業學位研究生而言,還需要解決專業實踐能力的培養與訓練這一關鍵問題。
1.課程體系設置
軟件工程學科正式確立的兩個標志性文件是2004年IEEE推出的軟件工程知識體(SWEBOK)和軟件工程教育知識體(SEEK)。兩個文件內容相近,都包含了軟件工程核心類的知識領域、基礎類或前導類的知識領域,以及其他相關領域的知識。軟件工程研究生的培養從原則上說應遵循上述兩個文件,圍繞上述知識領域進行教學。但由于這兩個文件將軟件工程的知識體系劃分為知識點,各領域之間必然存在重復和交疊。在課程設置上無法照搬上述兩個文件。以SEEK為基礎,我們對軟件工程的課程設置進行規劃。整個課程設置被分為五個層次,分別為工程基礎課程、計算機基礎課程、軟件工程核心課程、擴展課程和實踐課程,如圖1所示。課程開設順序大體按照五個層次由低到高依次開展。其中,工程基礎課程提供軟件工程所需數學理論基礎、外語能力培養、軟件工程文檔寫作、論文寫作基本功訓練。計算機基礎課程提供軟件開發必須的計算機基礎知識,如網絡、算法和數據庫知識。
相對于本科課程而言,此類課程講授內容更深入全面。軟件工程核心課程設置了高級軟件工程、軟件體系結構和軟件測試與質量保證三門課程。高級軟件工程側重于軟件分析與設計、軟件工程過程、軟件開發案例分析。軟件體系結構側重于結構風格、案例研究、共享信息系統、結構描述、結構的分析與評估、特定領域的軟件體系結構和流行的軟件體系結構等。軟件測試與質量保證著重于軟件質量的改進,討論如何提高軟件質量的方法。擴展課程包含系列領域知識課程,研究生可根據研究方向選擇兩門;軟件開發工具講授最新流行的軟件開發、過程管理所需要的軟件工具的使用,以實踐教學為主。軟件開發新技術研討課程以講座形式開展,教師和學生均可作為一個專題的主講。實踐課程包含校內實踐、校外實踐和畢業設計三個環節。
2.培養流程與實施
教育部明文規定,專業學位研究生學制原則上為兩年,同時要求應屆本科生進行專業實踐不少于一年。一般來說,研究生在校課程學習時間應有一年左右,加上專業實踐的一年,如何合理安排學習計劃,在兩年內完成培養環節成了一個現實的重要問題。我校以周為單位制定了四川師范大學軟件工程專業學位研究生培養流程,如表1所示:上表規劃了研究生培養中的幾個關鍵環節,依次為報到入學、課程學習、校內實踐、校外實踐、開題、畢業設計、論文寫作和送審答辯。第一學期研究生主要是課程學習,同時在校內導師指導下開展文獻閱讀和編程能力鍛煉。第二學期前半學期結束理論課程的學習。后半學期和暑期開展校內實踐和畢業設計開題工作。第三學期研究生到實習基地進行校外實踐。從第二學期后半段和整個第三學期,學生在專業實踐的同時,需完成畢業設計。從第二個寒假開始直到第四學期前六周,研究生完成畢業論文的初稿。從第七周開始,進行論文修改、、盲評和答辯工作。
從培養流程表可以看出,這種安排具有兩個顯著特點。一是理論課程學習安排在一個半學期完成,二是實踐課程分為校內實踐和校外實踐。研究生理論課程學習任務并不重,完全可壓縮到一學期半,同時可為實踐提供更多時間。校內實踐非常有必要。由于是省屬高校學生大多能力一般,為保障學生進入企業能融入研發團隊從事技術工作,必須先期培訓其實踐能力。這種安排時間較為緊湊,也比較合理,符合專業學位研究生側重于實踐能力培養的要求,也在兩年的學制內確保了研究生的實踐時間不少于36周。
三、專業實踐能力的培養與訓練
軟件開發能力是軟件工程專業碩士必備的核心能力,其能力培養既是對前端課程學習效果的檢驗,也是后端畢業設計和就業的必然需要。我校將軟件工程專業碩士實踐能力培養融入了眾多環節。從前期的實驗型課程教學,到中期的校內實踐、再到后期的校外實踐和畢業設計。實驗型課程教學解決軟件設計開發的基礎技能,校內實踐解決中小規模軟件設計開發能力,校外實踐和畢業設計解決中大規模軟件設計能力。
1.實驗型課程教學
包含軟件工具的使用訓練、軟件開發環境的搭建、軟件開發案例分析和新技術研討。軟件工具的使用訓練學生單個軟件開發工具的使用,如項目管理軟件Project、開發文檔化軟件Rational、軟件測試工具LOADRUNNER、QTP、TD等。由于這些工具結構分散,還需進行開發環境的搭建訓練。開發環境搭建訓練內容一為搭建基于微軟的VSTS和VisualStudio的開發平臺,適合.net方向;內容二位、為搭建基于IBMRSA和Eclipse的開發平臺,適合J2EE方向。軟件開發案例分析中研究生將自己放在決策者的角度來思考項目所涉及到的具體問題,增強了學生的實際應對能力。新技術研討促進學生或主動或被動地掌握了一些新興技術,拓寬了技術領域。
2.校內軟件開發實踐
采用項目驅動形式開展。要求研究生必須申報各類實際的軟件開發項目,如四川省苗子工程、學校研究生科研創新項目、學院研究生科研創先項目。研究生可組織本科生參與項目實施,但必須任項目組長,在項目中擔任核心角色,完成軟件需求文檔審定、軟件架構設計、軟件詳細設計、大部分編碼工作、測試方案制定等重要工作。
3.校外軟件開發實踐
在上述環節經歷后,研究生已經掌握中小規模軟件開發的基本技能,此時將研究生派到實習基地,實戰參與企業軟件開發項目。其實踐由校內導師和企業導師共同負責。前期技能的培養已保證研究生勝任企業中一般性的軟件開發角色。
4.畢業設計
研究生在校內和校外實踐的36周中,還需要同時進行畢業設計的開題、實施。研究生可結合企業實習工作完成畢業設計。專業實踐的考核分為定期匯報和實踐環節結束匯報兩種形式。研究生應每隔兩個月集中匯報一次實習期工作心得,取得的成績等。實踐結束時在全院公開匯報,其成績作為實踐課程成績。
四、結論
1競賽式機試應用軟件發展現狀
隨著現代科技的迅速發展,無線化辦公方式已經逐漸融入日常工作,大量的紙質試卷也將逐步被機試應用軟件所替代。機試考核方式可以隨機組卷,提交解答后,立刻由計算機自動評出成績,從一定程度上避免了人為因素的干擾。目前我校一些本科基礎課程考核均通過機試系統完成考試,不再采用人工方式評閱試卷。教師在考試前設定好需要考核的知識點,系統會自動從題庫中抽選出適當的考題進行隨機組卷。這種考試方式,在避免人為因素干擾的同時,也大大減少了教師出卷和評閱的工作量。
2數字圖像處理課程特點
數字圖像處理(DigitalImageProcessing)是通過使用計算機等專業設備,應用各類技術軟件,對圖像進行去噪、銳化等預處理后,再進行圖像增強、圖像復原、圖像編碼壓縮、圖像分類、圖像分割、提取特征值等處理的技術[3]。自第三代數字計算機問世以來,數字圖像處理技術迎來了空前的發展,在進一步提高識別精度的同時,更著重于解決處理速度的問題[4]。數字圖像處理技術應用廣泛,一直是研究的新熱點。
3基于圖像處理的競賽式機試軟件設計功能
(1)計算算法時間復雜度。為得到最佳圖像處理結果,考生在實踐中可以選擇任何基本算法,也可以選擇對某些算法進行改進。無論選用何種方式,算法的時間復雜度都是一個必不可少的衡量標準。同時,也可以用算法時間復雜度的數量級來評價一個算法的時間性能。(2)衡量算法空間復雜度。算法的空間復雜度由存儲算法本身所需的存儲空間、算法的輸入輸出數據所需的存儲空間以及算法在運行過程中臨時占用的存儲空間等組成。算法空間復雜度是衡量算法除正常所需內存空間以外所占用的輔助存儲單元規模的量度。(3)評價識別或鑒別圖像的準確性。考生完成題目的成績,除了要根據所用算法來評價以外,最終要看應用這些算法是否能夠準確識別出圖像,或者鑒別出所需的圖像信息。
4機試軟件設計
4.1數據庫設計
結合研究生《數字圖像處理》課程的特點,除了基本的學生成績信息表(表1)以外,設計中的每一種圖像類別應包含大量圖像數據。以指紋識別為例,應錄入研究生班級所有學生的指紋信息,形成基本指紋表,作為圖像鑒別的標準數據源(表2)。然后錄入所有學生的缺陷指紋信息,例如含有一定噪聲的指紋、歪斜的指紋圖像、帶有一定缺陷的指紋圖像形成實驗指紋表,作為圖像鑒別實踐的對比數據源(表3)。為了記錄實驗指紋與基本指紋的匹配關系,用表3中的bh1字段記錄每個實驗指紋與表2中bh1字段記錄的哪個基本指紋是匹配的,以此確定識別指紋的準確與否。對于考生所用算法及各算法對某一指紋圖像的時間復雜度、空間復雜度、準確性也應一一記錄(表4)。
4.2機試軟件使用流程設計
首先,由教師從實驗指紋表中選取某一類別的指紋圖片設定為機試圖片源,比如當考核圖像復原時,選取一定量的傾斜圖片。每個考生需應用所選算法根據實際情況進行相應改進,并將其應用于5個傾斜圖片上,具體操作流程如圖1所示。學生考核完畢后,可以查看其他同學所選用的算法名稱、時間復雜度、空間復雜度、以及識別準確與否的信息,如果對自己完成的內容不滿意,可以重新再次進行考核。教師可根據學生完成的情況,查看表4中相應數據內容的評定成績。
5結語