趙振紅
(渤海大學 教育科學學院,遼寧 錦州 121013)
創(chuàng)新是一個國家得以持之以恒發(fā)展的核心驅動力[1],創(chuàng)業(yè)是增加就業(yè)的有效渠道,“大眾創(chuàng)業(yè)、萬眾創(chuàng)新”是在經濟發(fā)展進入新常態(tài)時期提出的,作為深入實施創(chuàng)新驅動發(fā)展戰(zhàn)略的重要支撐,有利于創(chuàng)造財富的源泉充分涌流,擺脫經濟增長乏力的危機,全面提升綜合國力.以創(chuàng)新創(chuàng)業(yè)為范式的大學轉型發(fā)展成為高等教育變革的基本方向[2],以創(chuàng)造性、創(chuàng)新性和開創(chuàng)性為內涵,建立適合社會發(fā)展、產業(yè)企業(yè)需求和學生成長發(fā)展需要的教育發(fā)展體系[3],培育大學生的創(chuàng)業(yè)意識、創(chuàng)新精神和創(chuàng)新創(chuàng)業(yè)能力,以創(chuàng)業(yè)帶動就業(yè)能力升級,解決大學生就業(yè)難題,破除“等、靠、要”等思維方式,推動創(chuàng)新創(chuàng)業(yè)教育實施走向專業(yè)化、科學化與高效化[4].《國務院關于推動創(chuàng)新創(chuàng)業(yè)高質量發(fā)展打造“雙創(chuàng)”升級版的意見》指出[5],強化大學生創(chuàng)新創(chuàng)業(yè)教育培訓,推動高??蒲性核鶆?chuàng)新創(chuàng)業(yè)深度融合,促進創(chuàng)新創(chuàng)業(yè)平臺服務升級,對優(yōu)秀創(chuàng)新創(chuàng)業(yè)項目加強后續(xù)跟蹤支持,提升創(chuàng)新創(chuàng)業(yè)項目對大學生創(chuàng)新創(chuàng)新教育的引領作用.
創(chuàng)新創(chuàng)業(yè)項目是高校創(chuàng)新創(chuàng)業(yè)教育體系的重要組成部分,能夠引導大學生建立創(chuàng)新創(chuàng)業(yè)價值目標、激發(fā)創(chuàng)新創(chuàng)業(yè)熱情,培養(yǎng)團隊合作精神和盡早適應社會能力[6].大學生創(chuàng)新創(chuàng)業(yè)項目在橫向上分為創(chuàng)新訓練項目、創(chuàng)業(yè)訓練項目和創(chuàng)業(yè)實踐項目,縱向上分為校級、省級和國家級[7].創(chuàng)新創(chuàng)業(yè)項目的組織和管理是非常重要的工作,傳統(tǒng)以手工為主的管理方式存在很多弊端,突出表現在三個方面:①管理工作繁重,工作人員要對大量的項目材料歸納、匯總、保存,專家邀約難度大、協(xié)調工作繁瑣,需要與相關人員進行大量的信息溝通;②管理工作不公開、不透明,信息傳遞不及時,經常發(fā)生漏報現象,評審環(huán)節(jié)人為操縱普遍存在;③影響項目研究進展,項目的申報、開題、中期和結題等環(huán)節(jié),需要提交很多材料,信息交流不暢通或材料傳遞緩慢,無法保證按時完成.信息技術發(fā)展為大學生創(chuàng)新創(chuàng)業(yè)項目管理提供了全新手段,尤其是移動信息時代到來,智能手機成為大學生必備的交流和學習工具,開發(fā)大學生創(chuàng)新創(chuàng)業(yè)項目移動管理平臺,工作人員線上發(fā)布項目相關信息并進行綜合管理,教師對學生提供精準線上指導,學生線上接收各類信息并提交相關材料,全面提升創(chuàng)新創(chuàng)業(yè)項目管理水平,充分發(fā)揮創(chuàng)新創(chuàng)業(yè)項目在提高人才培養(yǎng)質量方面的重要作用.
框架具有松散耦合和高擴展性等優(yōu)點,能夠顯著提高開發(fā)效率.移動開發(fā)可選擇的框架很多,本平臺使用Apache的Cordova,是目前市場上占有率最高的混合移動應用開發(fā)框架[8].Cordova基于HTML5、CSS和JavaScript,尤其適合當下最流行的Hybrid APP移動端開發(fā)技術[9],統(tǒng)一使用JavaScript接口訪問設備本地API,除了支持Android和iOS兩大主流移動操作系統(tǒng)外,也支持Windows Phone和BlackBerry等市場占有率較低的移動操作系統(tǒng),輕松調用Android、iOS、Symbian和Bada等移動設備上多種原生方法.Cordova擁有眾多插件,利用Java腳本的標準接口調用,使用同步或異步處理不同級別通信,基于Web技術的UI界面給用戶提供良好的交互體驗.Cordova開發(fā)框架由Web應用層、橋接層、組件層和操作系統(tǒng)層構成,各層之間通過應用程序接口訪問,框架結構如圖1所示.
功能設計又稱總體設計,在軟件生命周期中屬于概要設計范疇[10],基于高內聚、低耦合和信息隱藏等原則,在邏輯上將系統(tǒng)劃分為若干個獨立的功能模塊,便于編程實現.通常的功能設計以工作流程為基礎,按照用戶角色進行功能模塊劃分,每個用戶角色使用多個功能模塊,每個功能模塊被多個用戶角色所使用,用戶角色和功能模塊之間的依賴關系通過權限分配實現.本平臺的用戶角色包括領導、管理人員、教師、學生、專家和系統(tǒng)管理員等六類.其中,領導包括學校領導和學院領導,主要工作是查詢和審批,掌握項目總體情況;管理人員包括學校管理人員和學院管理人員,學校管理人員負責全校項目管理,學院管理人員負責傳達學校信息并管理學院項目;教師的主要工作是在線指導學生項目申報、解決項目實施過程中學生的難題;學生是本平臺的最核心用戶,完成從項目申報到結題的全部工作;專家的主要工作是線上評審項目;系統(tǒng)管理員負責系統(tǒng)的運行和維護.本平臺的工程流程按照“項目立項→項目申報→項目評審→項目開題→項目中期→項目結項”的過程,項目執(zhí)行過程還涉及“項目變更”和“項目經費”,系統(tǒng)運行還需要“基本信息”和“系統(tǒng)維護”,基于此,將本平臺功能劃分為十個模塊,每個模塊又包括若干個子模塊,設計結果如圖2所示.
對于圖2所示的平臺功能構架,各個模塊功能簡要描述如下[11-13]:項目立項管理,主要是管理人員發(fā)布信息,教師對學生進行線上指導;項目申報管理,主要是學生填寫申報信息,管理人員審查;項目評審管理,主要是管理人員分配項目,專家線上評審;項目開題管理,主要是學生填寫開題報告,提交研究方案;項目中期管理,主要是學生填寫中期報告,專家線上評審;項目結題管理,主要是學生填寫結題報告、登記結題成果,專家線上評審;項目變更管理,主要是項目成員和指導教師的變更與審批;項目經費管理,主要是對經費的預算、報銷和結算進行管理;基本信息管理,主要是對相關信息進行編碼和規(guī)范化管理;系統(tǒng)維護管理,主要保障系統(tǒng)運行的相關安全性和常規(guī)性維護工作.
圖2 大學生創(chuàng)新創(chuàng)業(yè)項目移動管理平臺功能框架
常規(guī)性軟件功能實現相對容易,軟件實現的重點是解決關鍵技術問題,本平臺的關鍵技術是開發(fā)環(huán)境搭建、打包HTML5混合App和Sqlite數據緩存模塊.
本平臺需要搭建的開發(fā)環(huán)境由四項構成:
(1)安裝開發(fā)工具,包括Eclipse和WebStorm.Eclipse是應用最廣泛的跨平臺開源集成開發(fā)環(huán)境,首先下載64位的“Eclipse IDE for Java EE Developers”安裝包,然后解壓,選中eclipse.exe文件,在桌面創(chuàng)建快捷方式.WebStorm是JavaScript開發(fā)工具、最強大的HTML5編輯器,官網下載正版安裝包后安裝,然后在網上搜索激活用服務器網址和激活用編碼,注冊激活即可使用.
(2)安裝Java開發(fā)環(huán)境,包括JDK和JRE.官網下載JDK安裝包“jdk-17_windows-x64_bin.exe”,雙擊進入安裝界面,修改JDK安裝目錄,然后開始安裝;JDK安裝成功后,修改JRE安裝目錄,然后開始安裝.JRE安裝成功后,配置“JAVA_HOME、CLASSPATH”等環(huán)境變量,輸入“java-version”命令檢查配置是否成功.
(3)安裝運行環(huán)境,包括Cordova和Node.js.Cordova可以使用git安裝,也可以使用Node.js安裝.由于本系統(tǒng)同時使用Node.js,因此使用Node.js安裝.首先,下載Node.js安裝包,運行安裝文件即可,安裝完成后,輸入“npm-v”命令檢查是否安裝成功;然后,運行命令“npm install-g cordova”安裝Cordova,安裝完成后,輸入“cordova-v”命令檢查是否安裝成功.
(4)安裝Android開發(fā)環(huán)境,包括SDK和NDK.SDK是Android軟件開發(fā)工具包,官網下載SDK安裝包,一直下一步安裝,安裝完成后配置環(huán)境變量,特別注意Path配置為tools目錄下,配置完成后,輸入“android-h”命令檢查是否安裝成功.NDK幫助開發(fā)者快速開發(fā)C或C++動態(tài)庫,可以自動將so和Java應用一起打包.SDK安裝相對簡單,官網下載SDK安裝包,解壓在本地文件夾,將環(huán)境變量NDKROOT設置為解壓文件夾.
Android和iOS已經占據智能手機操作系統(tǒng)99.9%的市場份額,前幾年還被炒作的Windows Phone和BlackBerry等操作系統(tǒng)目前已經退出市場競爭[14].因此,目前的移動App開發(fā)主要是針對Android和iOS操作系統(tǒng).很長時間以來,針對同一款App需要開發(fā)Android和iOS兩個版本,開發(fā)成本高且維護困難,Cordova解決了這一難題,即將HTML5開發(fā)的頁面,打包成Android和iOS版本,解決了兩種版本程序的差異性問題,還能夠實現對手機眾多接口的調用,提高了系統(tǒng)維護性.
Android或iOS執(zhí)行將HTML5頁面打包成的App時,將請求交由Node.Js服務器處理,Node.Js是JavaS?cript編程語言的運行環(huán)境,其核心解釋器源自Google的V8引擎,V8引擎在執(zhí)行過程中既有解釋器、又有編譯器,首先將源代碼轉換為抽象語法樹,然后判斷是否為熱點代碼,如果是熱點代碼,使用編譯器,一次編譯熱點代碼為機器碼,執(zhí)行機器碼輸出結果;如果非熱點代碼,使用解釋器,逐條解釋執(zhí)行輸出結果.將請求交由Node.Js服務器處理,流程如圖3所示.
圖3 Node.Js服務器流程
Sqlite原本是嵌入式數據庫,運行在嵌入式設備或移動設備上,占用系統(tǒng)資源少,具有較高的可靠性,適用于無人維護或惡劣環(huán)境.后來Sqlite被大量客戶端用作緩存數據庫,對于頻繁使用的數據不需要多次讀取服務器,減輕了服務器存取和網絡傳輸壓力,顯著提高了處理速度.Apache Cordova的Cordova-Data?CachePlugin和Cordova-SQLitePlugin插件,提供了操作接口,為實現數據緩存功能創(chuàng)造了條件.Android和iOS都提供了沙盒機制,保護用戶不受惡意應用侵害,每個應用程序都有獨立的存儲空間,禁止不同的應用相互訪問數據.但由于Android和iOS是不同的操作系統(tǒng),設計原理不同、程序路徑不同、沙盒機制和權限機制也不同,因此,Sqlite數據緩存模塊需要分別設計,如圖4所示.
圖4所示的Sqlite數據緩存模塊由四層構成:JavaScript封裝層,通過Java腳本語言實現對數據庫的CRUD操作,即增加數據、檢索數據、更新數據和刪除數據,還包括對原生操作的封閉,原生操作主要用于數據庫對象的創(chuàng)建、修改和維護.Apache Cordova層,提供Cordova-DataCachePlugin插件和Cordova-SQLitePlu?gin插件接口.數據庫操作層,沙盒主要用于對文件操作,其中,iOS的讀寫文件在document目錄,嵌入在應用程序中的文件也只能拷貝到document目錄才能進行讀寫操作;Android的assets或raw目錄存放初始數據文件,只能拷貝到沙盒環(huán)境下才能進行讀寫操作[15].Cordova-SQLitePlugin提供了四個核心類庫,其中,DB?exception類用于異常處理、DBconnect類用于數據庫連接、DBtransaction類用于事務處理、DBbackup類用于數據庫備份.對數據庫的CRUD操作則由Cordova-DataCachePlugin插件的execute()函數實現,檢索數據、增加數據、更新數據和刪除數據分別調用SmartDbHelper的query()、insert()、update()和delete(),數據庫原生語句調用SmartDbHelper的exec SQL(),執(zhí)行時通過actionDispatcher根據action進行邏輯分發(fā).
圖4 Sqlite數據緩存模塊
大學生創(chuàng)新創(chuàng)業(yè)項目移動管理平臺符合信息時代的管理需要,本文研究解決了平臺開發(fā)的關鍵性技術問題.創(chuàng)新之處體現在四個方面:①構建了由Web應用層、橋接層、組件層和操作系統(tǒng)層組成的Cordova開發(fā)框架,使開發(fā)思路具體化和清晰化;②按照項目管理流程設計了功能框架,開發(fā)人員可直接部署,操作人員使用方便;③打包HTML5混合App,解決了Android和iOS兩種版本程序的差異性問題,提高了程序的健壯性和維護性;④Sqlite數據緩存,直接利用Cordova插件模塊化實現,減輕了服務器存取和網絡傳輸壓力.不足之處是受文章篇幅和研究時間所限,沒有給出框架和模塊的具體實現代碼,這需要開發(fā)人員獨立解決.本文的研究成果,為大學生創(chuàng)新創(chuàng)業(yè)項目移動管理平臺開發(fā)提供完整解決方案,對其他移動應用項目開發(fā)也具有一定的指導作用.