宋陽
摘要 各類院校針對軟件工程課程的教學(xué)基本以理論口授結(jié)合片斷工程案例的方式進行。由于軟件工程本身具有很多非常抽象的內(nèi)容,并且在工程實施的過程中往往都會有大量的“意外”情況發(fā)生,所以這種教學(xué)方式很難保證教學(xué)質(zhì)量。學(xué)生只能在頭腦中形成一些空洞的理論知識,導(dǎo)致參加工作后需要花費大量的時間和精力重新學(xué)習(xí)如何在一個軟件項目中擔(dān)當(dāng)其相應(yīng)的職責(zé)。因此院校投入資金建設(shè)專業(yè)的軟件工程實驗室改變教學(xué)現(xiàn)狀是必需的。
【關(guān)鍵詞】物聯(lián)網(wǎng) 云技術(shù) 軟件工程 USDM
1 軟件工程專業(yè)機房建設(shè)的必然性和必要性
軟件是新一代信息技術(shù)產(chǎn)業(yè)的靈魂,“軟件定義”是信息革命的新標(biāo)志和新特征。軟件和信息技術(shù)服務(wù)業(yè)是引領(lǐng)科技創(chuàng)新、驅(qū)動經(jīng)濟社會轉(zhuǎn)型發(fā)展的核心力量,是建設(shè)制造強國和網(wǎng)絡(luò)強國的核心支撐。建設(shè)強大的軟件和信息技術(shù)服務(wù)業(yè),是我國構(gòu)建全球競爭新優(yōu)勢、搶占新工業(yè)革命制高點的必然選擇?!笆濉币詠?,我國軟件和信息技術(shù)服務(wù)業(yè)持續(xù)快速發(fā)展,產(chǎn)業(yè)規(guī)模迅速擴大,技術(shù)創(chuàng)新和應(yīng)用水平大幅提升,對經(jīng)濟社會發(fā)展的支撐和引領(lǐng)作用顯著增強。“十三五”時期是我國全面建成小康社會決勝階段,全球新一輪科技革命和產(chǎn)業(yè)變革持續(xù)深入,國內(nèi)經(jīng)濟發(fā)展方式加快轉(zhuǎn)變,軟件和信息技術(shù)服務(wù)業(yè)迎來更大發(fā)展機遇。在這個背景下,凡是開設(shè)計算機類相關(guān)專業(yè)的高職院校更應(yīng)該在軟件開發(fā)類課程輔助教學(xué)上加大投入,輔助教學(xué)不只是軟件方面還有硬件,那么建立先進實用的專業(yè)軟件開發(fā)實驗室就是必要的也是必然的。
目前高職院校缺少專業(yè)的軟件開發(fā)實驗室,教學(xué)手段單一、教學(xué)硬件環(huán)境匱乏、一些學(xué)校疏于對計算機專業(yè)實驗室的軟硬件投資,導(dǎo)致學(xué)生只能對軟件開發(fā)的理論一知半解,甚至毫無興趣。沒有一個相對專業(yè)的軟件開發(fā)環(huán)境去對所學(xué)理論知識進行實踐,對學(xué)生的軟件開發(fā)能力進行訓(xùn)練,學(xué)生的編程能力、編程思想和技術(shù)水平相對低下,畢業(yè)后推向社會不利于其在企業(yè)立足,這樣就無法達到高職院校軟件專業(yè)人才培養(yǎng)的目標(biāo)。再者,缺少相關(guān)的專業(yè)實驗室或者實驗室軟硬件設(shè)備陳舊、技術(shù)落后,學(xué)生缺乏實踐訓(xùn)練環(huán)境,因為軟件開發(fā)最重要的編程技術(shù)是需要這樣的環(huán)境訓(xùn)練出來的,一個好的程序員是需要在一個code環(huán)境中寫出上萬行代碼,不斷熟練技術(shù),不斷積累經(jīng)驗的過程,因此學(xué)校建立這樣的專業(yè)實驗室是非常有必要的。
2 軟件工程實驗室架構(gòu)概述
軟件開發(fā)實驗室是面對計算機軟件專業(yè)輔助教學(xué)和學(xué)生自主學(xué)習(xí)實踐的場所.在建設(shè)規(guī)劃上要彈性考慮其先進性和實用性。因此會把云計算和物聯(lián)網(wǎng)技術(shù)綜合應(yīng)用在實驗室建設(shè)中。
2.1 云機房設(shè)計思想
2.1.1 實用的功能兼顧先進的技術(shù)
云機房的建設(shè)既要滿足功能需求,又要兼顧以后的服務(wù)拓展和技術(shù)升級需求。盡量使用先進的技術(shù)、軟硬件和新材料,以適應(yīng)云機房的彈性需要,使其在使用期間內(nèi)保持技術(shù)的先進性,并具有良好的可拓展?jié)摿Α?/p>
2.1.2 可靠的安全性
利用可靠性高的云平臺管理系統(tǒng)去對機房中的硬件進行應(yīng)用管理、軟件部署、流程管理、數(shù)據(jù)保護、服務(wù)監(jiān)控等功能,這個管理過程因其管理平臺的高可靠性而安全性倍增。
2.1.3 靈活性與可擴展性
云機房可以使用虛擬化技術(shù),用軟件虛擬出很多硬件功能,具有很強的靈活性和可擴展性。
2.1.4 標(biāo)準(zhǔn)化與可管理性
云機房的總體架構(gòu)設(shè)計要符合相關(guān)的國際或國家標(biāo)準(zhǔn),具有智能化和可管理的特性。比如上文提到的智能監(jiān)控系統(tǒng),其服務(wù)器也是使用云服務(wù),通過監(jiān)測實現(xiàn)事件的集中管理和記錄,以便故障尋跡、提高維護效率和保障運行性能。
2.2 軟件工程實驗室建設(shè)必要的軟硬件和技術(shù)
2.2.1 使用物聯(lián)網(wǎng)技術(shù)在專業(yè)機房中實現(xiàn)智能監(jiān)控、門禁系統(tǒng)、環(huán)境監(jiān)測等功能
物聯(lián)網(wǎng)技術(shù)在機房的應(yīng)用主要包括兩方面:
(1)機房環(huán)境信息的采集,我們通過在機房安裝一些高清攝像頭、紅外傳感器、溫度傳感器、煙感裝置、門禁控制裝置、進水傳感裝置來實時的收集機房環(huán)境信息,包括圖像信息、報警信息和數(shù)據(jù)信息,并將所有信息匯總上傳到智能監(jiān)控系統(tǒng)所在服務(wù)器上,以便我們觀察和分析環(huán)境數(shù)據(jù),及時發(fā)現(xiàn)和排除隱患、調(diào)整機房環(huán)境狀態(tài),更好的完成教學(xué)輔助。
(2)對機房內(nèi)所有硬件的遠程控制,當(dāng)機房服務(wù)器或教學(xué)用計算機出現(xiàn)硬件異常、沒有響應(yīng)和宕機時,我們可以通過遠程控制系統(tǒng)對其進行重啟或者復(fù)位操作,此系統(tǒng)還包括對機房的供電系統(tǒng)、照明系統(tǒng)、門窗進行遠程的控制開關(guān),當(dāng)然所有的操作都要依靠無線傳感器和網(wǎng)絡(luò)的硬件支持。遠程控制系統(tǒng)是基于B/S架構(gòu)開發(fā)的網(wǎng)絡(luò)應(yīng)用程序,使用瀏覽器即可使用系統(tǒng)。這樣我們就可以在任何場景任何設(shè)備下對實驗室中的硬件進行控制和信息接收,也就是說不僅僅只是使用計算機在學(xué)校范圍內(nèi)去監(jiān)測和控制,各種移動設(shè)備包括pad和智能手機都可以使用,條件允許的話也可以開發(fā)一套相應(yīng)的移動端App程序,利用智能手機這種自帶無線網(wǎng)絡(luò)的設(shè)備便可以隨時隨地遠程的監(jiān)測和控制,這也是云技術(shù)的一種體現(xiàn)。
2.2.2 使用云技術(shù)搭建應(yīng)用服務(wù)器、資源服務(wù)器、Web服務(wù)器等
實現(xiàn)教學(xué)軟件在學(xué)生機端的應(yīng)用、學(xué)生學(xué)習(xí)資源的上傳保存、B/S架構(gòu)軟件的開發(fā)的實驗環(huán)境。一般情況下,需要搭建四種服務(wù)器:
(1)教學(xué)應(yīng)用服務(wù)器,基于國內(nèi)環(huán)境使用Windows系統(tǒng)平臺,安裝相關(guān)教學(xué)軟件、軟件開發(fā)環(huán)境和工具軟件、軟件測試類軟件,學(xué)生機端計算機不配置硬盤存儲器,通過云技術(shù)和網(wǎng)絡(luò)共享使用教學(xué)應(yīng)用服務(wù)器上安裝的相關(guān)軟件,這樣既節(jié)省硬件成本,又降低了安全成本,還可以使學(xué)生端計算機輕量化運行和處理數(shù)據(jù),避免了計算機高負載和硬件資源浪費。
(2) Linux服務(wù)器,基于Linux企業(yè)服務(wù)器的網(wǎng)站開發(fā)及網(wǎng)絡(luò)應(yīng)用開發(fā)。有一些程序語言是基于umx這個環(huán)境開發(fā)的,而Linux系統(tǒng)是Unix系統(tǒng)的開源表現(xiàn),支持很多程序語言的函數(shù)庫和架構(gòu),不需要安裝編譯器便可以編譯,比如Java語言、PHP腳本語言、python語言等。Linux系統(tǒng)本身的安全性是非常可靠的,要優(yōu)于Windows Serve系統(tǒng),所以在企業(yè)級的服務(wù)器上應(yīng)用比較普遍。
(3) Windows服務(wù)器,NET程序開發(fā)及ASP.NET網(wǎng)站開發(fā)。由于國內(nèi)計算機環(huán)境,不管是企業(yè)還是事業(yè)單位所使用的計算機操作系統(tǒng)多為Windows,一些中小企業(yè)級服務(wù)器也會選擇使用Windows Server系統(tǒng),相關(guān)的應(yīng)用軟件也都是基于Windows系統(tǒng)開發(fā),因此在Windows環(huán)境下的軟件開發(fā)教學(xué)和編程訓(xùn)練是必不可少的,那么就需要學(xué)生熟練掌握和使用.Net框架下的程序設(shè)計語言(c#)和IDE (VS)開發(fā)環(huán)境。
(4)文件資源服務(wù)器,Linux+ Samba,用于學(xué)生們上傳保存自己的程序代碼和項目文檔等。
服務(wù)器和學(xué)生機之間的交互我們可以通過云桌面解決方案來完成。云桌面是一種融合了網(wǎng)絡(luò)系統(tǒng)平臺、軟件、服務(wù)器、存儲和以實現(xiàn)數(shù)據(jù)中心服務(wù)交付自動化的解決方案,它提供了統(tǒng)一的管理界面,可以快速設(shè)計、配置并優(yōu)化應(yīng)用基礎(chǔ)設(shè)施,打造一個整合的池化資源。云桌面有現(xiàn)成的產(chǎn)品可以拿來使用,比如微軟云的的管理平臺systemcenter2012、惠普的刀片矩陣等,如果不想使用現(xiàn)成的云桌面產(chǎn)品,我們還可以使用Windows Server平臺下的Hyper-v及遠程桌面服務(wù)來創(chuàng)建虛擬桌面集合以實現(xiàn)云桌面的功能。
2.2.3 軟件開發(fā)相關(guān)的軟硬件設(shè)備
硬件方面包括服務(wù)器級計算機、教學(xué)用計算機、網(wǎng)絡(luò)和網(wǎng)絡(luò)交換機、掃描儀和打印機輔助設(shè)備、投影和無線擴音教學(xué)設(shè)備等。軟件方面包括Windows和Linux服務(wù)器系統(tǒng)平臺,mySql、SQLServer和Orcle數(shù)據(jù)庫系統(tǒng),Java和NET開發(fā)環(huán)境和相關(guān)的IDE開發(fā)工具,LoadRunner、WinRunner等常用軟件測試工具,項目管理工具MS Project,Ms Office辦公系統(tǒng)工具等。
3 軟件工程實驗室教學(xué)平臺-USDM
USDM指的是集成化軟件工程管理平臺,是學(xué)生學(xué)習(xí)軟件工程項目開發(fā)的環(huán)境平臺。它可以對開發(fā)的項目進行產(chǎn)品的結(jié)構(gòu)配置,并通過項目團隊的組建、成員角色的劃分、權(quán)限、配置管理、缺陷跟蹤和管理、建模工具、內(nèi)外部郵件系統(tǒng)、工作流程、團隊開發(fā)等對產(chǎn)品的組成結(jié)構(gòu)進行管理和維護。管理范圍覆蓋生產(chǎn)過程的各個生命周期;它們包括業(yè)務(wù)階段、需求階段、設(shè)計階段、編碼階段、測試階段和發(fā)布階段,其它支撐環(huán)節(jié)包括項目管理+配置管理+生產(chǎn)環(huán)境。通過這個平臺學(xué)生可以對“項目準(zhǔn)備”、“集成項目管理”、“配置管理”、“客戶需求調(diào)研及分析”、“軟件設(shè)計”、“實施”、“測試”、“發(fā)布”、“度量分析”、“知識管理與組件復(fù)用”、“CMMI與軟件公司資質(zhì)評估”(或是其它標(biāo)準(zhǔn))等多個真實的情境進行真實的體驗,學(xué)會如何規(guī)范地按照軟件工程的方法進行軟件設(shè)計、開發(fā)和管理,而不再是像以往一樣只是學(xué)習(xí)了一大堆枯燥的軟件工程理論和文檔樣本。通過引入企業(yè)環(huán)境,讓學(xué)生與企業(yè)“零距離”接觸,課程開始具有鮮明的“以工作過程為導(dǎo)向、以實際項目為載體”的工學(xué)結(jié)合特色。
4 結(jié)語
軟件工程實驗室的架構(gòu)設(shè)計是非常復(fù)雜的過程,涉及到主機、網(wǎng)絡(luò)、存儲、應(yīng)用的方方面面,我們既要考慮功能上的實用性又要兼顧技術(shù)上的先進性,彈性的可升級的去設(shè)計其架構(gòu),總之要保證實驗室朝著監(jiān)控智能化、軟硬件集中化的方向發(fā)展,未來隨著新技術(shù)的出現(xiàn),我們也可以對其調(diào)優(yōu)和升級。
參考文獻
[1]趙琦,談教育云機房建設(shè)過程中總體架構(gòu)的設(shè)計[J],計算機光盤軟件與應(yīng)用,2013,15 (03).
[2]中國電子報.軟件和信息技術(shù)服務(wù)業(yè)發(fā)展規(guī)劃(2016-2020年),2017,20 (01).
[3]中國電子報,做強軟件和信息技術(shù)服務(wù)業(yè)搶占新工業(yè)革命制高點,工信部信息化和軟件服務(wù)業(yè),2017,20(01).
[4]李梅,基于級聯(lián)神經(jīng)網(wǎng)絡(luò)組合模型的軟件可靠性預(yù)測研究[J].自動化與儀器儀表,2017,25 (07).