首頁 > 精品范文 > 軟件開發(fā)基礎知識
時間:2023-07-02 09:21:57
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內(nèi)心深處的真相,好投稿為您帶來了七篇軟件開發(fā)基礎知識范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創(chuàng)作。
【關鍵詞】 軟件開發(fā) 技術
計算機技術的發(fā)展是日新月異的,特別是近年來,隨著各行各業(yè)經(jīng)濟建設和社會發(fā)展,需要不同的軟件和技術為經(jīng)濟社會發(fā)展服務。近年來,隨著我國的各項技術的不足和發(fā)展程度不夠,我們在此技術的基礎上提出了更高的要求。我國的自主創(chuàng)新能力和軟件開發(fā)創(chuàng)新能力發(fā)展不足是我國目前所面臨的主要困境。這些技術創(chuàng)新阻礙禁錮了我國的社會發(fā)展。提高軟件開發(fā)能力和投入產(chǎn)出效率是目前亟待解決的。特別是軟件開發(fā)技術在我國發(fā)展面臨著諸多技術阻礙和科研投入不足的問題,更加需要我們進行技術創(chuàng)新和技術發(fā)展。
軟件開發(fā)成功與否關鍵在于,主要取決于我們對于其中主要矛盾和關鍵要素的掌控程度。軟件開發(fā)過程中的關鍵性要素對于整個過程起著決定性作用,主要的要素有:計算機基礎知識,自主創(chuàng)新能力,團隊合作能力,運用能力。上述這幾條是實現(xiàn)軟件技術進步的關鍵要素。
一、計算機基礎知識
計算機出現(xiàn)于1946年的美國賓夕法尼亞大學,出現(xiàn)之初主要是為了實現(xiàn)軍方的聯(lián)系和鞏固國防的目的。隨著計算機技術的發(fā)展和進步,他已經(jīng)不僅僅局限于某個特定的領域,而是廣泛的應用于社會生產(chǎn)和生活的方方面面,計算機技術在如今的發(fā)展已經(jīng)處于中期階段,許多計算機技術和軟件技術已經(jīng)相當先進,運行效率高,計算速度快的特征使得這些技術已經(jīng)成為我國技術發(fā)展的主要依托。我國的計算機技術起步較晚,發(fā)展速度慢,自身的發(fā)展基礎和實踐經(jīng)驗都不夠豐富。因此,我國的軟件開發(fā)技術相對落后,需要借鑒發(fā)達國家的技術和軟件開發(fā)資源作為我國計算機發(fā)展的基礎和平臺,實現(xiàn)我國技術的發(fā)展和進步。我們只有熟練的掌握了計算機基礎知識,才能夠在運用的基礎上進行軟件開發(fā)。計算機基礎知識是經(jīng)過實踐的檢驗,并且在實際需要中不斷地改進之后才最終形成的理論,包括操作系統(tǒng),計算機資源開發(fā)系統(tǒng)和信息管理系統(tǒng),信息處理系統(tǒng)等理論知識。這些主要的理論知識都是實現(xiàn)轉(zhuǎn)變和創(chuàng)新的主要理論依據(jù)。
二、主創(chuàng)新能力
軟件開發(fā)能力實際上主要取決于團隊和群體的自主創(chuàng)新能力,自主創(chuàng)新能力是實現(xiàn)理論發(fā)展和進步的源泉。因此,只有具備了自主創(chuàng)新能力,才會在當前的環(huán)境下提出更多的疑問,并且能夠應用全新的思維和方式來解決實踐發(fā)展中出現(xiàn)的問題。我們只有通過這樣的方式才會真正的促進技術的發(fā)展和進步。目前,我國的CPU技術依然處于落后階段,中國國內(nèi)自主開發(fā)的CPU處理效率低,運行慢。剛剛誕生就意味著即將被淘汰。可以看出,我國的技術創(chuàng)新動力和水平遠遠落后于世界。造成我國計算機技術落后的根本原因在于我國的自主創(chuàng)新能力低下,總是因循守舊,不能夠自主的進行技術創(chuàng)新開發(fā)。
因此,加強自主創(chuàng)新能力,創(chuàng)建創(chuàng)新型國家是實現(xiàn)可持續(xù)發(fā)展的根本途徑,軟件開發(fā)領域的自主創(chuàng)新思維和能力將會引領世界范圍內(nèi)的變革和發(fā)展。自主創(chuàng)新能力實際上是一種非常規(guī)的視野和思維來解決實際中出現(xiàn)的問題,這樣就為現(xiàn)實問題的解決增加了新的途徑。
三、團隊合作能力
技術共享與成果交流是實現(xiàn)發(fā)展和進步的一個重要因素,面對著龐大的計算機系統(tǒng)和復雜的軟件難題,一個人的能力在這樣龐大的任務面前顯得微不足道。只有加強團隊合作和交流,實現(xiàn)發(fā)展環(huán)節(jié)無障礙才會促進團隊內(nèi)部的成長和進步。面對復雜的軟件開發(fā)問題,只有加強任務的分配和團隊內(nèi)部的交流溝通才會提升發(fā)展效率,少走彎路。
四、接受和運用能力
軟件開發(fā)的速度越來越快,新產(chǎn)品也一直處于不停的更新?lián)Q代之中,面對這些復雜的變化,我們作為軟件開發(fā)專業(yè)工作者,就必須要具備解讀和理解運用不同的外來技術的能力。
本文結合目前信息與計算科學專業(yè)的實際情況,對如何提高學生的軟件開發(fā)能力進行探索與研究,以求能夠在有限的教學時間內(nèi)最大程度地提高學生的計算機實際應用水平及提升軟件開發(fā)能力,從而培養(yǎng)社會適用型人才,拓寬就業(yè)口徑。
關鍵詞:
信息與計算科學專業(yè);軟件開發(fā)能力;實踐教學;就業(yè)
1研究意義及問題分析
在認真分析就業(yè)市場發(fā)展的新形勢下,高校數(shù)學院系迫切需要采取有效的措施去解決數(shù)學本科生的就業(yè)問題。切實做到專業(yè)設置與社會需求相對接,目前,從已畢業(yè)的數(shù)學專業(yè)的就業(yè)方向看,從事軟件開發(fā)行業(yè)的人居多,而其中約有80%左右的學生是去市場上軟件開發(fā)方向培訓班培訓過的,為了節(jié)省學生的時間和費用,數(shù)學類專業(yè)有必要設置具有特色軟件開發(fā)方向課程模塊,培養(yǎng)學生的軟件開發(fā)能力。根據(jù)就業(yè)市場所需積極進行數(shù)學類專業(yè)軟件開發(fā)方向人才培養(yǎng)的研究與實踐。提高數(shù)學本科生的綜合競爭力切實幫助學生找到合適的就業(yè)出路。信息與計算科學專業(yè)軟件開發(fā)能力培養(yǎng)旨在培養(yǎng)具有軟件開發(fā)背景的綜合性數(shù)學人才;使得數(shù)學與計算機專業(yè)的有機結合,形成一套獨具風格和特色的教育培養(yǎng)模式,給用人單位明確地顯示數(shù)學類專業(yè)學生在從事軟件開發(fā)時的優(yōu)勢。數(shù)學系的學生到軟件企業(yè)中大多作軟件設計與分析工作,這部分人才在軟件開發(fā)行業(yè)緊缺,而計算機系的學生做程序員的居多,原因就在于數(shù)學系的學生分析推理能力、邏輯推理能力強,數(shù)學思想的建立比計算機系學生強,這是數(shù)學專業(yè)學生從事軟件開發(fā)的優(yōu)勢,也是培養(yǎng)數(shù)學專業(yè)學生軟件開發(fā)能力的意義所在。
2信息與計算科學專業(yè)特點與特色課程設置
信息與計算科學專業(yè)人才培養(yǎng)應該尊重數(shù)學學科教育的發(fā)展規(guī)律,強化學生數(shù)學基礎,著眼于學生的就業(yè),瞄準社會對數(shù)學類人才的規(guī)格要求,注重應用技能的訓練與培養(yǎng)。在專業(yè)定位上,堅持:強化數(shù)學基礎,兼顧專業(yè)類別,突出因材施教,培養(yǎng)綜合能力的辦學原則。根據(jù)就業(yè)市場所需積極調(diào)整專業(yè)設置,把辦學規(guī)模和專業(yè)設置與市場接軌。2.1設定該專業(yè)軟件開發(fā)方向人才培養(yǎng)的目標:學生不僅能進行數(shù)學理論研究,同時會運用計算機工具,更主要的是他們能將兩者有機地結合起來,將理論與實際緊密結合,進行軟件開發(fā)、信息管理與處理等。這是既有別于數(shù)學專業(yè)又有別于計算機專業(yè)的特色。突出數(shù)學專業(yè)學生的思維優(yōu)勢。
2.2加強師資隊伍建設。采取“穩(wěn)定、培養(yǎng)、引進”相結合的方法,培養(yǎng)一批既懂數(shù)學又懂計算機的教師隊伍,為專業(yè)教育質(zhì)量提供師資保障。
2.3理論教學培養(yǎng)學生計算思維和算法設計分析能力:通過開設數(shù)學分析、離散數(shù)學、高等代數(shù)、概率論與數(shù)理統(tǒng)計、數(shù)值分析、數(shù)學模型等課程,培養(yǎng)學生的計算思維,使學生具備建立數(shù)學模型和解決實際問題所必備的數(shù)學知識和抽象邏輯思維能力。數(shù)學上功底扎實,在軟件編程上的優(yōu)勢盡顯,項目的設計模式格外地優(yōu)化,程序邏輯條理也格外地清晰。因為數(shù)學可以培養(yǎng)人的邏輯思維能力,而程序設計需要很強的邏輯思維能力。所以無論從事什么具有扎實的數(shù)學基礎是必要的。
2.4構建合理的軟件開發(fā)方向的課程群,培養(yǎng)計算機應用軟件的開發(fā)能力:通過開設高級語言程序設計(C語言)、數(shù)據(jù)結構、面向?qū)ο蟪绦蛟O計(C++與Java)、算法設計和分析等課程,有針對性地培養(yǎng)學生掌握算法設計與分析的方法,使學生熟練掌握常用算法、掌握算法設計與分析的方法和步驟,通過開設數(shù)據(jù)庫原理及應用、軟件工程、數(shù)據(jù)庫編程,加大學生綜合系統(tǒng)設計開發(fā),使學生掌握中小型軟件系統(tǒng)的架構、算法分析和設計能力,掌握軟件系統(tǒng)分析與設計的方式方法,提高學生綜合系統(tǒng)編程能力。
3軟件開發(fā)實踐教學體系研究與實踐
改變傳統(tǒng)的教學模式,培養(yǎng)學生的實踐能力。包括:與行業(yè)人員合作的教學方法、案例式教學、精講多練、機房授課、項目式考核等。整合實踐教學內(nèi)容,探索基于學生就業(yè)競爭力的實踐教學體系;加強和完善實踐教學條件:包括專業(yè)實驗室建設、長期穩(wěn)定的校外實習基地建設。豐富實踐教學內(nèi)容。做到把課堂搬到企業(yè)去,把理論用在實際。針對目前軟件開發(fā)方向應用廣泛的語言,信息與計算科學專業(yè)重點開設C語言、C++、Java、軟件工程具有適應市場的競爭力的課程。這些課程能很好的與就業(yè)市場對接。我院已經(jīng)有合作的校外實習基地—達內(nèi)科技培訓機構大慶分部;哈爾濱承德培訓基地。大一實踐課程設置:19周至22周,實踐課程以Java程序設計為列。校內(nèi)60學時的Java基礎教學,邊教邊練,隨堂消化。使學生掌握Java語言的基礎知識,熟悉Java類庫中最主要的類,掌握和面向?qū)ο蟪绦蛟O計的基本原則和特點。“Java技能實習”通過幾個Java小項目的開發(fā),培養(yǎng)學生Java編程能力,加深學生對Java語言的基礎知識和面向?qū)ο蟪绦蛟O計的理解;大二已有Java基礎的學生去達內(nèi)實校外訓基地,由校外指導教師指導項目實戰(zhàn)。做到校內(nèi)校外的課程安排有機結合,不脫節(jié)。同時通過走訪已經(jīng)畢業(yè)的學生的工作單位,了解當下的就業(yè)形勢。充分發(fā)揮信息與計算科學專業(yè)學生的專業(yè)能力。大三暑期,學生實訓走出去,去一些公司實習,讓學生體會到學有所用。為大四就業(yè)打下經(jīng)驗基礎。
4結束語
針對信息與計算科學專業(yè)的特點,結合辦學思想和培養(yǎng)目標,特設置了該專業(yè)的計算機類課程,調(diào)整了教學內(nèi)容,將數(shù)學知識和數(shù)學思維融入軟件編程,體現(xiàn)專業(yè)特色,改革了教學模式與考核方式,并注重培養(yǎng)和考核學生的實踐創(chuàng)新能力。通過兩年的教學實踐表明,對于信息與計算科學專業(yè)計算機類課程的改革思路是行之有效的,激發(fā)了學生學習計算機類課程的興趣,開發(fā)了學生的潛能,提高了學生的編程能力和解決實際問題的能力。擴大了本專業(yè)學生就業(yè)面,培養(yǎng)出有一定數(shù)學基礎和實踐能力的從事軟件行業(yè)的人才。實現(xiàn)推動數(shù)學類本科專業(yè)快速發(fā)展。
參考文獻
[1]董立華,劉艷芹,數(shù)學專業(yè)創(chuàng)新性應用型人才培養(yǎng)的探索與實踐[J].衡水學院學報,2012.
[2]方木云,戴小平,培養(yǎng)學生軟件開發(fā)能力的軟件方向課程群建設[J].安徽工業(yè)大學學報,2007.
[3]楊韌,基于體系建設的數(shù)學類專業(yè)實踐教學改革[J].實驗室研究與探索,2013.
[4]孫善輝,蘆偉,以就業(yè)為導向的數(shù)學本科專業(yè)學生創(chuàng)新能力的培養(yǎng)[J].宿州學院學報,2012.
【關鍵詞】項目帶動 軟件藍領
1.前言。我國軟件行業(yè)已形成較大的規(guī)模,軟件行業(yè)的從業(yè)機會逐年遞增,而處于軟件人才金字塔結構底部的“軟件藍領”更是需求巨大。面對強大的市場需求,如何才能培養(yǎng)出符合要求的“軟件藍領”以適應市場的需求呢?運用“項目帶動式”教學可更好地培養(yǎng)出“軟件藍領”。
“軟件藍領”是指進行軟件開發(fā)工作的初級技術人員,主要從事比較基本的程序代碼編寫、調(diào)試、測試等重復性的工作,一般對外語和技術水平要求較低,但需要有一定的實踐經(jīng)驗。因為軟件行業(yè)的發(fā)展速度快,新的知識、新的技術、新的工具不斷出現(xiàn),所以還需要“軟件藍領”有較強的更新知識的能力。
“項目帶動式”教學是指圍繞項目開展學習的一種教學模式,本質(zhì)上是一種應用(或仿真應用)驅(qū)動,是一種軟件教學的互動。項目為中心的學習模式,既讓學生學習到軟件開發(fā)知識和技能,使學生對軟件開發(fā)具有一定的工作經(jīng)驗,使之易于適應工作后的軟件開發(fā)環(huán)境;還將在編寫軟件的過程中,培養(yǎng)學生的自主學習能力和群體協(xié)同的能力,培養(yǎng)學生的責任心和完成項目的決心。這種教學方式適合“軟件藍領”的培養(yǎng),尤其適合在職業(yè)技術院校中采用,可以很好地讓學生在完成項目的同時掌握基礎知識,培養(yǎng)其自學新知識、新技術的能力。
2.軟件“項目帶動式”教學的概念與特點。軟件“項目帶動式”教學模式,圍繞“軟件藍領”職業(yè)崗位能力的形成、科學設計和選擇項目,根據(jù)特定的完整的軟件工程項目所需要的知識、能力和素質(zhì)結構,進行教學方案設計,按照軟件工程項目的操作流程組織實施教學,使學生在項目開發(fā)的過程中,獲取知識和經(jīng)驗,達到人才培養(yǎng)的目標。項目是指具體的軟件工程項目或軟件生產(chǎn)項目,可以是模擬的項目,也可以是具有實戰(zhàn)性質(zhì)的項目。項目是人才培養(yǎng)的核心要素,具有完整的流程,貫穿于人才培養(yǎng)的始終。學生在項目實施中學習知識,鍛煉技能,掌握技術,提升職業(yè)素養(yǎng),實現(xiàn)培養(yǎng)目標。
軟件“項目帶動式”人才培養(yǎng)模式的特點是將教學過程與軟件項目工程充分地融為一體,圍繞項目工程的需要構建課程體系,組織實施教學,有利于瞄準崗位設課程、瞄準能力搞教學,提高教學的針對性和實效性;在項目工程的具體實施過程中學生根據(jù)自己的興趣和特長,重點選擇不同的職業(yè)崗位、扮演不同的角色,學習目的更明確、針對性更強,有利于學生個性的培養(yǎng),也為學生未來的擇業(yè)奠定良好的基礎;以具體工程項目或生產(chǎn)項目帶動教學,使整個教學過程能始終貼近生產(chǎn)第一線,學生可以及時了解行業(yè)的發(fā)展趨勢,掌握最新的設計理念、管理理念和工程施工技術。學校可以更準確地了解市場對人才的需求狀況,及時主動地調(diào)整教學內(nèi)容。改革教學方法,使培養(yǎng)的人才具有更強的社會適應性和就業(yè)競爭力。將專業(yè)教育融入行業(yè)背景,有利于學校專業(yè)教育與市場行業(yè)運作的銜接,有利于實現(xiàn)學生與行業(yè)、與社會的“零距離接觸”,真正實現(xiàn)職業(yè)技術教育以需求為宗旨,以就業(yè)為導向,產(chǎn)學研相結合的教育理念。
3.“項目帶動式”教學的實施步驟。
3.1 以項目帶動教學的教學目標。從企業(yè)的實際需求出發(fā),中職“軟件藍領”需要掌握的技能主要有兩種:
3.1.1 必備技能。包括:
①基本理論知識技能,包括計算機基礎知識、數(shù)據(jù)結構和算法、操作系統(tǒng)知識、工具軟件、測試軟件;
②網(wǎng)絡知識技能,包括網(wǎng)絡基礎、綜合布線系統(tǒng)知識;
③計算機程序設計語言知識,至少包括一種計算機編程語言,例如C、C++、JAVA等;
④軟件設計開發(fā)工具,包括Visual Studio、Jbuilder等;
3.1.2 附加技能。包括:
①軟件工程與項目管理知識,包括CMM流程、PMP(項目管理)相關知識、軟件開發(fā)模型。
②團隊溝通協(xié)作能力。
針對這些教學目標去選項目,在完成項目的情況下帶動教學內(nèi)容的學習。
3.2 以項目帶動教學過程的實施。項目將貫穿整個教學的始終,在完成項目的過程中學習知識,在學習的同時完成項目,理論教學和實踐教學同步進行,相輔相成。
理論教學的進行要結合具體工程項目進行講解,引導學生分析、討論,獲取知識,提高解決實際問題的能力。通過教學,使學生明了所學知識為何種工程項目(或生產(chǎn)項目)的實施服務,對培養(yǎng)何種能力有效。提高教學的針對性,調(diào)動學生學習的積極性,實現(xiàn)理論教學與工程實踐的有機融合。
實踐教學的進行需先篩選項目,項目選擇與教學時間和進度相關,通常選擇難度適中、對開發(fā)技能要求較低及工作量與教學時間相吻合的項目。這里以使用VC開發(fā)一款類似計算器功能的軟件為例詳細說明“項目帶動式”教學的實施步驟。
首先由教師制定和本項目的工作流程和工作計劃。
通常軟件項目的工作流程如下,這些工作流程可參考軟件成熟度模型(CMM)。
①計劃制定;
②需求分析;
③軟件項目開發(fā);
④軟件項目測試;
⑤版本;
⑥版本結束。
接下來按照項目要求進行角色配置。一般軟件工程相關的人員包括項目經(jīng)理和開發(fā)人員。項目經(jīng)理可以由老師兼任,老師同時負責對項目方案總體的把握。在這個項目中,根據(jù)功能可分為界面和計算兩個部分,可以據(jù)此將學生分為兩個小組,稱為A組或稱界面組和B組或稱計算組。每個小組確定一位小組長,負責對各組組內(nèi)的工作內(nèi)容和工作計劃進行跟蹤和匯總。另外一個重要角色是項目配置管理員(CMO),負責對軟件產(chǎn)品本身涉及的工具,配置物料進行歸檔管理。
接下來按CMM流程開展項目。在“項目帶動式”教學中,教與學的相輔相成主要體現(xiàn)在如何解決項目進行過程中的難題。項目本身是有很強的目的性的,真正的項目要求必須按照規(guī)定的進度,符合要求的質(zhì)量進行交付。學生和老師必須在項目進展過程中想很多辦法,不斷提升個人的技能,才能保證項目成功完成。在項目開展過程中,將暴露出眾多問題,而圓滿地解決這些問題,既可以鍛煉學生的動手能力,獨立解決問題能力,還可以增強學生適應項目環(huán)境的能力,更重要的是,可極大的鼓舞學生的信心。
通常項目開發(fā)中主要的問題可以分為以下幾類,針對性地解決這些問題,將可以最大限度的發(fā)揮“項目帶動式”的優(yōu)勢。
①學生基礎知識不扎實的問題。學生對項目涉及的基礎知識掌握不夠,無法滿足項目開發(fā)的所有知識點需求。此時教師應啟發(fā)學生進行相互學習和培訓,或者引導學生主動去尋求這些知識進行自學。即教師應力避直接告知正確方式或結果,而是通過引導,“授之以漁”。對于學生反饋較多的問題,說明這是較普遍而又必須克服的,則教師可以提前將相關材料準備妥當,結合當前項目進行充分說明,以保證項目的進度和質(zhì)量不受影響。
②項目小組間的團隊合作問題。較中等的項目都可以分為多個項目小組,各自完成項目一部分功能,最后匯總為單一軟件。教師在劃分項目小組時,須充分考慮到人力與工作量的問題。較單獨的項目功能可獨立為小組,各小組間接口盡量要簡單明確,防止因為接口問題產(chǎn)生的內(nèi)耗。
③項目質(zhì)量問題。教師在項目的早期應引導學生重視測試問題。“項目帶動式”方法較重視學生動手能力培養(yǎng),并應兼顧項目開發(fā)的質(zhì)量評估,以確保學生在項目實施中收到良好的訓練。教師可以在項目開發(fā)前期指定一到兩位學生參與測試計劃的寫作和測試用例的寫作。他們可以是各小組中開發(fā)人員,也可單獨出來,僅做測試。教師參考測試學生的測試結論,對項目進行評估,甚至可以對項目小組直至每位負責開發(fā)的學生的工作進行評估。
在克服了上述諸多問題后,“項目帶動式”教學一般會取得成功。由于軟件項目基本不需要場地,又不會造成較多的人員花費,軟件項目本身已經(jīng)有較成熟的開發(fā)管理流程(例如CMM模型),又有較多的知識獲取渠道,如網(wǎng)絡、開源社區(qū)、其他知識共享體系,因而將“項目帶動式”教學應用于軟件項目,應用于“軟件藍領”人員的培養(yǎng)中,比較便利,易于規(guī)范化,是教學法的一種新的應用,更有利于填補我國軟件人員的缺口。
4.運用項目帶動教學模式培養(yǎng)軟件藍領注意事項。
4.1 適當?shù)捻椖繘Q定了該教學模式的成敗。項目是“項目帶動式”人才培養(yǎng)的核心要素,必須妥善選擇。軟件開發(fā)項目可大可小,需要根據(jù)教學環(huán)境綜合考慮,包括計算機資源、學生本身已經(jīng)具有的軟件開發(fā)素質(zhì)、學生人數(shù)等。必須準備有一定難度,通過努力可達成質(zhì)量要求的項目,尤其是具有實戰(zhàn)性質(zhì)的項目,因為這種項目還可以通過互聯(lián)網(wǎng),獲得認可,更加有利于總結經(jīng)驗獲取信心。軟件項目的獲取,可來自本校的實際需求,例如排課表,排座位等軟件開發(fā);可以從校企合作中獲取;可在互聯(lián)網(wǎng)上獲取一些適當需求,作為仿真開發(fā)的輸入。
4.2 科學的設計項目開發(fā)流程。項目開發(fā)流程設計的恰當與否,直接關系到學生對知識的掌握,關系到專業(yè)培養(yǎng)目標的實現(xiàn)。設計項目流程時應注意:
4.2.1 項目流程要覆蓋多角色,保證學生深入了解角色配置。項目開發(fā)不能僅包括一到兩個流程,必須涵蓋整個的軟件開發(fā)流程,使學生對各個流程中工作任務有較好的理解,加強學生對軟件開發(fā)團隊的理解。
4.2.2 項目流程要明確,開發(fā)計劃盡量詳細完整。每個項目開發(fā)的關鍵步驟(稱為里程碑)需要在項目開發(fā)時即制定下來,并到每一位項目參與者。教師的工作環(huán)境猶如“作戰(zhàn)室”,跟蹤項目的進展,適當?shù)恼{(diào)整工作計劃等等,都需要及時開展并到各角色。
4.2.3 項目的安排要照顧學生的接受能力,需循序漸進。當學生對項目缺乏了解時,需培訓學生的相關知識;當學生對項目理解出現(xiàn)偏差時,需強調(diào)項目的特點,引導學生糾正偏差。項目流程中復雜的部分,需分解到每個開發(fā)階段,避免學生不知所措。
省屬高校的軟件工程專業(yè)多脫胎于計算機科學與技術學科,在研究生人才培養(yǎng)模式上受限于計算機科學與技術研究生培養(yǎng)模式。部分高校甚至于采用同計算機專業(yè)研究生實施無差別培養(yǎng)方式,這一根本性原因帶來諸多問題。
1.人才培養(yǎng)方向目標定位不清晰
軟件工程專業(yè)碩士應當僅限于軟件工程師的培養(yǎng)。軟件工程具有極強的工科屬性,其人才培養(yǎng),除軟件工程科學碩士和計算機科學技術一樣,可培 研究型人才外,專業(yè)學位應當清晰定位于培養(yǎng)具有軟件工程必備基礎知識,在軟件工程某一領域具有較強專業(yè)知識與技能的工程師。
2.師資比較缺乏,尤其是雙師型師資缺乏
軟件工程正式成為獨立的學科時間相對較短,軟件工程師資大多來源于計算機科學與技術專業(yè)。計算機科學與技術專業(yè)可以勝任軟件工程基礎課程,但這部分教師往往缺乏工程實際經(jīng)驗,在教學中往往表現(xiàn)為重理論輕實踐。省屬高校十分缺乏來自軟件企業(yè)一線的項目經(jīng)理以上的技術管理人員充任實踐課程教師。
3.培養(yǎng)模式陳舊,不適應國家教育部要求
由于全日制軟件工程專業(yè)學位研究生2009年才在全國開展,很多高校沿用學術型學位研究生培養(yǎng)模式,忽視了國家對專業(yè)學位研究生培養(yǎng)要求中的專業(yè)實踐能力的培養(yǎng),未能很好地開展專業(yè)實踐教學。
4.課程設置陳舊,不適應軟件企業(yè)的人才需求
大多數(shù)高校軟件工程研究生課程設置大多套用計算機科學與技術專業(yè)的課程設置,未體現(xiàn)軟件工程學科特點。原因主要是因為師資缺乏、招生規(guī)模較小,出于節(jié)約培養(yǎng)成本的考慮。
二、一種實用的軟件工程全日制工程碩士培養(yǎng)解決方案
四川師范大學作為四川省屬高校中最早開設計算機科學與技術、軟件工程本科生培養(yǎng)的院校之一,在軟件工程工程碩士培養(yǎng)的諸多問題上,做了一些有益探索與研究,針對性地提出了一套適合于省屬高校軟件工程全日制工程碩士培養(yǎng)的解決方案,希望能為同類型高校提供人才培養(yǎng)的借鑒。研究生培養(yǎng)方案的制定,重點需要解決課程體系設置、培養(yǎng)流程規(guī)劃與控制。對專業(yè)學位研究生而言,還需要解決專業(yè)實踐能力的培養(yǎng)與訓練這一關鍵問題。
1.課程體系設置
軟件工程學科正式確立的兩個標志性文件是2004年IEEE推出的軟件工程知識體(SWEBOK)和軟件工程教育知識體(SEEK)。兩個文件內(nèi)容相近,都包含了軟件工程核心類的知識領域、基礎類或前導類的知識領域,以及其他相關領域的知識。軟件工程研究生的培養(yǎng)從原則上說應遵循上述兩個文件,圍繞上述知識領域進行教學。但由于這兩個文件將軟件工程的知識體系劃分為知識點,各領域之間必然存在重復和交疊。在課程設置上無法照搬上述兩個文件。以SEEK為基礎,我們對軟件工程的課程設置進行規(guī)劃。整個課程設置被分為五個層次,分別為工程基礎課程、計算機基礎課程、軟件工程核心課程、擴展課程和實踐課程,如圖1所示。課程開設順序大體按照五個層次由低到高依次開展。其中,工程基礎課程提供軟件工程所需數(shù)學理論基礎、外語能力培養(yǎng)、軟件工程文檔寫作、論文寫作基本功訓練。計算機基礎課程提供軟件開發(fā)必須的計算機基礎知識,如網(wǎng)絡、算法和數(shù)據(jù)庫知識。
相對于本科課程而言,此類課程講授內(nèi)容更深入全面。軟件工程核心課程設置了高級軟件工程、軟件體系結構和軟件測試與質(zhì)量保證三門課程。高級軟件工程側重于軟件分析與設計、軟件工程過程、軟件開發(fā)案例分析。軟件體系結構側重于結構風格、案例研究、共享信息系統(tǒng)、結構描述、結構的分析與評估、特定領域的軟件體系結構和流行的軟件體系結構等。軟件測試與質(zhì)量保證著重于軟件質(zhì)量的改進,討論如何提高軟件質(zhì)量的方法。擴展課程包含系列領域知識課程,研究生可根據(jù)研究方向選擇兩門;軟件開發(fā)工具講授最新流行的軟件開發(fā)、過程管理所需要的軟件工具的使用,以實踐教學為主。軟件開發(fā)新技術研討課程以講座形式開展,教師和學生均可作為一個專題的主講。實踐課程包含校內(nèi)實踐、校外實踐和畢業(yè)設計三個環(huán)節(jié)。
2.培養(yǎng)流程與實施
教育部明文規(guī)定,專業(yè)學位研究生學制原則上為兩年,同時要求應屆本科生進行專業(yè)實踐不少于一年。一般來說,研究生在校課程學習時間應有一年左右,加上專業(yè)實踐的一年,如何合理安排學習計劃,在兩年內(nèi)完成培養(yǎng)環(huán)節(jié)成了一個現(xiàn)實的重要問題。我校以周為單位制定了四川師范大學軟件工程專業(yè)學位研究生培養(yǎng)流程,如表1所示:上表規(guī)劃了研究生培養(yǎng)中的幾個關鍵環(huán)節(jié),依次為報到入學、課程學習、校內(nèi)實踐、校外實踐、開題、畢業(yè)設計、論文寫作和送審答辯。第一學期研究生主要是課程學習,同時在校內(nèi)導師指導下開展文獻閱讀和編程能力鍛煉。第二學期前半學期結束理論課程的學習。后半學期和暑期開展校內(nèi)實踐和畢業(yè)設計開題工作。第三學期研究生到實習基地進行校外實踐。從第二學期后半段和整個第三學期,學生在專業(yè)實踐的同時,需完成畢業(yè)設計。從第二個寒假開始直到第四學期前六周,研究生完成畢業(yè)論文的初稿。從第七周開始,進行論文修改、、盲評和答辯工作。
從培養(yǎng)流程表可以看出,這種安排具有兩個顯著特點。一是理論課程學習安排在一個半學期完成,二是實踐課程分為校內(nèi)實踐和校外實踐。研究生理論課程學習任務并不重,完全可壓縮到一學期半,同時可為實踐提供更多時間。校內(nèi)實踐非常有必要。由于是省屬高校學生大多能力一般,為保障學生進入企業(yè)能融入研發(fā)團隊從事技術工作,必須先期培訓其實踐能力。這種安排時間較為緊湊,也比較合理,符合專業(yè)學位研究生側重于實踐能力培養(yǎng)的要求,也在兩年的學制內(nèi)確保了研究生的實踐時間不少于36周。
三、專業(yè)實踐能力的培養(yǎng)與訓練
軟件開發(fā)能力是軟件工程專業(yè)碩士必備的核心能力,其能力培養(yǎng)既是對前端課程學習效果的檢驗,也是后端畢業(yè)設計和就業(yè)的必然需要。我校將軟件工程專業(yè)碩士實踐能力培養(yǎng)融入了眾多環(huán)節(jié)。從前期的實驗型課程教學,到中期的校內(nèi)實踐、再到后期的校外實踐和畢業(yè)設計。實驗型課程教學解決軟件設計開發(fā)的基礎技能,校內(nèi)實踐解決中小規(guī)模軟件設計開發(fā)能力,校外實踐和畢業(yè)設計解決中大規(guī)模軟件設計能力。
1.實驗型課程教學
包含軟件工具的使用訓練、軟件開發(fā)環(huán)境的搭建、軟件開發(fā)案例分析和新技術研討。軟件工具的使用訓練學生單個軟件開發(fā)工具的使用,如項目管理軟件Project、開發(fā)文檔化軟件Rational、軟件測試工具LOADRUNNER、QTP、TD等。由于這些工具結構分散,還需進行開發(fā)環(huán)境的搭建訓練。開發(fā)環(huán)境搭建訓練內(nèi)容一為搭建基于微軟的VSTS和VisualStudio的開發(fā)平臺,適合.net方向;內(nèi)容二位、為搭建基于IBMRSA和Eclipse的開發(fā)平臺,適合J2EE方向。軟件開發(fā)案例分析中研究生將自己放在決策者的角度來思考項目所涉及到的具體問題,增強了學生的實際應對能力。新技術研討促進學生或主動或被動地掌握了一些新興技術,拓寬了技術領域。
2.校內(nèi)軟件開發(fā)實踐
采用項目驅(qū)動形式開展。要求研究生必須申報各類實際的軟件開發(fā)項目,如四川省苗子工程、學校研究生科研創(chuàng)新項目、學院研究生科研創(chuàng)先項目。研究生可組織本科生參與項目實施,但必須任項目組長,在項目中擔任核心角色,完成軟件需求文檔審定、軟件架構設計、軟件詳細設計、大部分編碼工作、測試方案制定等重要工作。
3.校外軟件開發(fā)實踐
在上述環(huán)節(jié)經(jīng)歷后,研究生已經(jīng)掌握中小規(guī)模軟件開發(fā)的基本技能,此時將研究生派到實習基地,實戰(zhàn)參與企業(yè)軟件開發(fā)項目。其實踐由校內(nèi)導師和企業(yè)導師共同負責。前期技能的培養(yǎng)已保證研究生勝任企業(yè)中一般性的軟件開發(fā)角色。
4.畢業(yè)設計
研究生在校內(nèi)和校外實踐的36周中,還需要同時進行畢業(yè)設計的開題、實施。研究生可結合企業(yè)實習工作完成畢業(yè)設計。專業(yè)實踐的考核分為定期匯報和實踐環(huán)節(jié)結束匯報兩種形式。研究生應每隔兩個月集中匯報一次實習期工作心得,取得的成績等。實踐結束時在全院公開匯報,其成績作為實踐課程成績。
四、結論
軟件工程專業(yè)主要學習的內(nèi)容有:
1、軟件工程專業(yè)以計算機科學與技術學科為基礎,強調(diào)軟件開發(fā)的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟件需求分析、軟件設計、軟件測試、軟件維護和軟件項目管理等工作所必需的基礎知識、基本方法和基本技能;
2、軟件工程專業(yè)是一門研究用工程化方法構建和維護有效的、實用的和高質(zhì)量的軟件的學科。它涉及到程序設計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標準,設計模式等方面。
3、軟件在現(xiàn)代社會中應用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。
(來源:文章屋網(wǎng) )
考核不科學.通常采用規(guī)范化、標準化的試卷筆試,以學生成績的高低來評價學生對教學內(nèi)容掌握程度.同時,考核內(nèi)容結構不合理,基礎知識所占比重大,程序設計類題型所占比重小,對實踐能力的考評弱化.考核形式單一.多數(shù)的考核方式是采用2小時閉卷筆試,這種方式很能考核學生的專業(yè)技能及應用能力,而這又是這門課的重中之中.缺乏對學習過程的有效考核.課程是對整個教學內(nèi)容的全面、總結性的檢查和評定.一次期考不足以涵蓋所有知識點.要提高考核的可信程度,應采用分階段的綜合考核方式,參與到最終成績的評定.
2基于CDIO工程教育理念的課程教學改革措施
2.1CDIO的4個能力與Java語言培訓目標的關系
CDIO培養(yǎng)大綱將工程畢業(yè)生的能力分為四個,分別是工程基礎知識、個人能力、人際團隊能力和工程系統(tǒng)能力,大綱要求以綜合的培養(yǎng)方式使學生在這4個層面達到預定目標.按此理論培養(yǎng)的學生深受IT界的歡迎.Java語言的課程教學目標是通過教學,使學生能利用Java進行面向?qū)ο蟪绦虻姆治雠c設計.此目標又可細分為4個子目標,分別是知識目標、能力目標、專業(yè)素質(zhì)目標、工程師目標.知識目標是學生能掌握Java語言的基礎知識,如面向?qū)ο蟪绦虻姆治雠c設計、輸入輸出、異常、SWT編程與Swing編程、多線程、常用API等.能力目標是能熟練配置和使用JDK,能使用一些流利的IDE環(huán)境如Eclipse,NetBeans等進行簡單的軟件開發(fā);專業(yè)素質(zhì)目標是養(yǎng)成科學規(guī)范的編程風格,具備良好的團隊合作精神;工程師目標是具備綜合的工程思維和能力,具有軟件的分析與設計能力.通過Java的4個教學目標與CDIO的4個能力的對比研究發(fā)現(xiàn),二者具有一一對應關系.即Java的知識目標的培養(yǎng)與CDIO的工程基礎知識能力對應,Java的能力目標培養(yǎng)與CDIO的個人能力對應,Java的專業(yè)素質(zhì)目標培養(yǎng)與CDIO的人際團隊能力對應,Java的工程師目標培養(yǎng)與CDIO的工程系統(tǒng)能力對應.
2.2基于CDIO工程教育理念構建新的Java教學模式
Java語言的主要教學環(huán)節(jié)是理論教學和實驗教學,教學效果的主要評價辦法是課程考核,基于CDIO工程教育理念構建的Java教學模式主要從這3個方面來改革傳統(tǒng)的Java教學模式.
2.2.1Java理論教學的改革
1)明確Java語言課程教學的核心知識點.Java語言的知識包羅萬象,應該找出核心知識點,并作重點的講解和強化,為后續(xù)課程學習新的程序設計技術打下技術基礎.經(jīng)過多年教學和軟件開發(fā)實踐,我們認為,Java語言的核心知識點可分為3個模塊:基礎知識模塊、對象與類知識模塊、應用程序接口模塊.其中基礎知識模塊包括:操作符、控制執(zhí)行流程、初始化與清理、訪問權限控制;對象與類模塊包括:類、對象、繼承、多態(tài)、接口、異常、泛型、數(shù)組、多線程、網(wǎng)絡編程;應用程序接口模塊包括Object類、System類、容器類、I/O類、AWT類和Swing類、正則表達式(Patter,Matcher).
2)注重案例教學法在Java語言教學中的實踐.調(diào)查顯示,70%左右的學生認為當前的“理論課滿堂講”的教學方法不受歡迎,同時,這些學生認為采用案例教學法學生比較喜歡.在教學過程中,采用案例教學法有以下3個原則:
(1)選擇生動有趣的案例.例如在講授類的設計時,可以采用ATM取款機作為典型案例,因為同學們都有ATM的取款經(jīng)歷,并且在此過程中遇到很多異常,例如存款時鈔票不能識別,取款時卡被吞等;在講解Swing類時進行界面設計、事件觸發(fā)時,可采用博物館中的貴重物品裝鎖作為案例,我們考慮,這些鎖還帶有感應功能,如果被敲被砸則發(fā)出警報,相當Java中的事件觸發(fā)機制.在選取典型案例時,既要考慮對知識面的涵蓋,又要生動有趣.
(2)案例要真實,安全來自生活又要進行一定的改造.例如在講解多線程知識點時,結合當下淘寶的流行,淘寶中的圖片顯示為何能快速呈現(xiàn)?就是使用了多線程技術,其原理是一幅被分解為n個部分,由n個線程分別負責一部分的顯示,n個線程在多處理機系統(tǒng)下可并行執(zhí)行,速度比單線程提高了n倍.
(3)案例的大小要適度.一般典型安全的代碼在100~250行之間,案例太大學生難以完成,太小又達不到涵蓋主要知識點的目標.
2.2.2Java實驗教學的改革
實驗教學是Java語言課程的重要環(huán)節(jié),目前是是培養(yǎng)學生實踐動手能力,以及知識綜合應用能力.主要從以下幾個方面來做好實驗教學:1)在理論教學中引領實驗教學的內(nèi)容.在理論教學中涉及程序設計方面的內(nèi)容,主要有有兩種情況及解決辦法,如果涉及的知識點比較綜合,課堂上適合打開開發(fā)工具,先給出設計思路,然后對每條思路,一邊編寫代碼一邊講解;對于比較大的程序,適合將編好的代碼導入開發(fā)工具講解.2)逐步構建立體化實踐教學體系.實驗分為3個層次:
(1)驗證性實驗,此類實驗是學生按照實驗指導書完成實驗,以驗證實驗結果.例如,學會安裝配置JDK、安裝Eclipse開發(fā)環(huán)境、編寫簡單的類和對象、輸入輸出等,這些工作能培養(yǎng)學生的實驗基本能力.
(2)設計性實驗,老師給出題目和用戶需求,學生根據(jù)已有知識來設計構思、設計、實現(xiàn),目的是培養(yǎng)學生的知識綜合能力和軟件工程能力,在此過程中,學生可模擬軟件開發(fā)團隊,形成小組來完成設計性實驗.另外,為了開拓視野,還要積極參加專業(yè)類競賽,如鼓勵學生參加云南省計算機作品賽.
(3)綜合性實驗,老師綜合題目,這些題目來自老師的科研課題,綜合性實驗的目標是培養(yǎng)學生的工程師能力,能獨立進行需求分析、設計、實施、運行和維護.由于綜合性實驗貼近實戰(zhàn),要求高,較難的部分老師要給學生重點指導.
2.2.3Java課程考核方式的改革
考核方式要科學,需要遵循過程考核與結果考核并重的原則.
1)舉行章節(jié)性同步練習和測驗,以了解學生的學習狀態(tài),評價當前的教學效果,同時也為科學地評定學生成績提供依據(jù).
2)采用答辯的方式.學生分組后,由老師公布課題名稱和要求,然后,每組有一組長.在任務實施過程中,由組長講解本組的研究成果,并說明組員的工作和貢獻,為評委打分提供依據(jù).最后由評委對各組的研究內(nèi)容有疑點的地方以及從完善項目的角度出發(fā)進行提問,組員回答,評委根據(jù)貢獻和回答情況給組員打分.
3結束語
[關鍵詞]ARM體系 嵌入式方向 課程設置
[中圖分類號]G643 [文獻標識碼]A
引言
隨著嵌入式系統(tǒng)的廣泛應用,許多高等院校計算機、電子、軟件等專業(yè)針對市場需求,開設了嵌入式方向相關課程,然而同嵌入式技術的飛速發(fā)展和巨大的產(chǎn)業(yè)需求相比,我國高等教育體系下的嵌入式方向相關課程設置存在教學知識陳舊,缺乏實踐鍛煉,無法適應企業(yè)的實際需要等問題,本文首先結合我校辦學特色和實際教學情況,闡述了基于ARM體系的嵌入式方向課程設置與教學方案,進而探討了農(nóng)業(yè)院校應用型計算機類嵌入式方向教學過程中存在的問題,最后對存在的問題給出了一些建議,對其他地方院校應用型嵌入式系統(tǒng)開發(fā)人才培養(yǎng)將起到一定的借鑒作用。
一、計算機專業(yè)嵌入式方向培養(yǎng)目標與課程設置
(1)計算機專業(yè)嵌入式方向培養(yǎng)目標
我校計算機專業(yè)嵌入式系統(tǒng)方向培養(yǎng)整體目標是注重工程能力培養(yǎng)的嵌入式系統(tǒng)人才培養(yǎng)目標,尤其側重嵌入式系統(tǒng)工程應用編程等軟件設計開發(fā)。根據(jù)學生的接受能力以及我校的辦學特色,具體嵌入式系統(tǒng)的學習體現(xiàn)層次性、漸進性、注重操作性,在教學中注重培養(yǎng)在農(nóng)業(yè)領域中的嵌入式系統(tǒng)應用能力。
(2)嵌入式方向課程設置
我校于2012年購買了30套基于ARM體系的嵌入式開發(fā)實驗平臺設備,可實現(xiàn)每人一臺的教學環(huán)境,其中嵌入式開發(fā)平臺采用ARM11的UP-Magic6410核心開發(fā)板,所以嵌入式方向的課程設置都是圍繞ARM體系展開教學內(nèi)容。
嵌入式方向課程設置遵循四個“1”,即“一種主流嵌入式微處理器、一門開發(fā)語言、一種嵌入式操作系統(tǒng)、一套開發(fā)工具”,嵌入式微處理器采用S3C6410X(ARM11),嵌入式開發(fā)語言主要以C語言為主,其他如匯編語言、C++語言、Java語言等為輔;嵌入式操作系統(tǒng)采用Linux;集成開發(fā)工具以ADS為主,輔助Windows CE開發(fā)工具,這樣就能達到系統(tǒng)學習嵌入式技術的要求。表1是我校嵌入式方向?qū)I(yè)課設置時間和學時整體情況。
表1:專業(yè)基礎及專業(yè)課設置情況
嵌入式導論課程:介紹嵌入式的主要應用領域、嵌入式軟件開發(fā)的基本概念、嵌入式軟件開發(fā)的基本流程和基本方法、嵌入式系統(tǒng)的特點。
嵌入式操作系統(tǒng)課程:介紹嵌入式系統(tǒng)基本知識,嵌入式操作系統(tǒng)與通用操作系統(tǒng)的差別。結合典型的嵌入式操作系統(tǒng)對操作系統(tǒng)的基本構成、工作機制、系統(tǒng)移植剪裁和實時任務調(diào)度等內(nèi)容進行介紹。我校根據(jù)具體情況選擇、Linux、WinCE等嵌入式操作系統(tǒng)進行教學。
嵌入式程序設計基礎:介紹嵌入式系統(tǒng)體系結構、嵌入式系統(tǒng)設計的基本方法、軟件編程及設備接口和驅(qū)動等。通過該課程的學習,學生了解和掌握必要的嵌入式系統(tǒng)設計方法學的概念、方法和工具嵌入式程序設計基礎,掌握嵌入式系統(tǒng)的基本原理與設計開發(fā)思想,學生能完成簡單的嵌入式系統(tǒng)的軟硬件設計。
JAVA開發(fā)語言:介紹Java語言的體系結構、Java語言的基本概念和程序設計的基礎知識、面向?qū)ο蟮某绦蛟O計的思路和方法。培養(yǎng)學生的編程能力,使學生能夠運用Java語言作為完成應用程序設計。
嵌入式接口技術:介紹鍵盤接口、LED顯示器接口、觸摸屏、通信接口、中斷接口、A/D和D/A轉(zhuǎn)換、ARM的JTAG接口。
嵌入式高級編程:介紹Android嵌入式開發(fā)環(huán)境搭建的方法,項目結構;Android的體系結構,嵌入式軟件開發(fā)流程;嵌入式特性開發(fā),多媒體開發(fā),數(shù)據(jù)存儲開發(fā),聯(lián)網(wǎng)開發(fā)等開發(fā)方法,學生通過實踐能達到獨立完成開發(fā)單機、網(wǎng)絡嵌入式軟件的能力。
嵌入式課程是實操性極強的課程,因此實踐教學在嵌入式培養(yǎng)體系中占有重要的地位,既是理論講解的驗證與升華,又是培養(yǎng)學生創(chuàng)新思維和獨立分析解決問題能力的重要途徑。我校的嵌入式方向?qū)嵺`教學課程設置時間和學時大致如下表2所示。
表2:嵌入式課程實踐教學設置情況
嵌入式操作系統(tǒng)實驗內(nèi)容:典型的嵌入式操作系統(tǒng)的基本構成、工作機制、系統(tǒng)移植剪裁和實時任務調(diào)度等。我校根據(jù)具體情況選擇Linux嵌入式操作系統(tǒng)進行教學。
嵌入式程序設計基礎實驗內(nèi)容:在現(xiàn)有的嵌入式開發(fā)平臺上完成嵌入式系統(tǒng)設計的基本方法、軟件編程及設備接口和驅(qū)動等,學生掌握必要的嵌入式系統(tǒng)設計方法學的概念、方法和工具嵌入式程序設計基礎,掌握嵌入式系統(tǒng)的基本原理與設計開發(fā)思想,能完成簡單的嵌入式系統(tǒng)的軟硬件設計。
JAVA開發(fā)語言實驗內(nèi)容: Java語言程序設計的基礎知識、面向?qū)ο蟮某绦蛟O計的思路和方法,學生能夠運用Java語言作為完成應用程序設計。
嵌入式接口技術實驗內(nèi)容:包括鍵盤接口、LED顯示器接口、觸摸屏、通信接口、中斷接口、A/D和D/A轉(zhuǎn)換、ARM的JTAG接口等實驗。
嵌入式高級編程實驗內(nèi)容:基于Android嵌入式開發(fā)環(huán)境搭建的方法;Android嵌入式軟件開發(fā)流程;嵌入式特性開發(fā),多媒體開發(fā),數(shù)據(jù)存儲開發(fā),聯(lián)網(wǎng)開發(fā)等開發(fā)方法,學生通過實踐能達到獨立完成開發(fā)單機、網(wǎng)絡嵌入式軟件的能力。
二、三位一體的嵌入式課程教學體系建設
我校嵌入式系統(tǒng)方向?qū)W習側重嵌入式軟件設計部分,實驗室選用UP-Magic6410嵌入式實驗開發(fā)平臺,著重培養(yǎng)學生在該平臺下進行嵌入式Linux程序開發(fā)的相關環(huán)境搭建與軟件設計方法的能力。針對各模塊以及物聯(lián)網(wǎng)的應用背景,按照由淺入深,不同課程層次對應不同實驗項目等原則,循序漸進,逐步提高,以滿足不同階段的教學要求,為學生提高了動手能力,為進一步的實踐開發(fā)和畢業(yè)設計打下了良好的基礎,因此,我們提出了三位一體的嵌入式方向課程教學體系結構,如圖1所示。
圖1:嵌入式方向教學體系結構
(1)基礎型
基礎性包括基礎知識和基本技能,主要是為了滿足基本的教學要求和教學目標,課程包括ARM體系的基本知識、基本技能以及基礎類實驗的開展。
教師在基礎性課程實施時,可以根據(jù)各自的科研項目按照模塊化將案例分解到各個部分,鼓勵學生對實例所采用的技術和方案進行不同角度的評價,變被動知識灌輸為主動探索思考,使教學理論知識與科研實踐有機地結合在一起。
(2)提高型
提高型包括ARM體系基礎型知識的深化和提升,包括理論知識和實踐內(nèi)容的進一步深化,理論知識包括嵌入式編程的設計思想和設計方法的提高,實踐教學包括設計類實驗,每個實驗課題規(guī)定1周或更長的時間讓學生動手設計開發(fā)嵌入式應用程序,在強調(diào)基礎性知識掌握的同時,鼓勵學生創(chuàng)新的綜合設計。使得學生既掌握了一些具體的通用的嵌入式系統(tǒng)的開發(fā)方法,也能發(fā)揮主觀能動性,獨立設計并實現(xiàn)較完整的嵌入式系統(tǒng),激發(fā)學習、創(chuàng)造熱情。要求學生課外查找資料進一步地學習,引導學生進行主動性學習,對某些問題進行深入的分析研究,進而提出自己的設計思想,教師全程指導學生答疑指導工作,啟發(fā)學生進行嵌入式編程,為學生提供一些解決問題的方法。
(3)綜合型
綜合型主要指的是依托科研項目實踐來鍛煉和提高學生動手能力。科研項目可以包括教師的科研項目、學生的科研項目以及依托科研項目或?qū)嵺`基地完成的畢業(yè)設計項目。
嵌入式方向課程授課教師可以鼓勵學生參與到教師科研項目之中,如筆者主持的嵌入式系統(tǒng)溫室環(huán)境監(jiān)控系統(tǒng)應用項目,學生直接參與到前沿的課題和項目中去,成立了興趣小組,將溫室環(huán)境監(jiān)控系統(tǒng)分解成若干子題目,交由各興趣小組,模擬項目的形式實踐開發(fā),真正做到“在學中做,在做中學”,以務實的項目培養(yǎng)學生的實踐科研能力。
近年來,北京地區(qū)大學生課外科技活動開展的力度逐年加大,筆者指導的學生主持的北京市大學生科研計劃,利用嵌入式平臺,對溫室環(huán)境等參數(shù)檢測,進而對溫室大棚實現(xiàn)智能化控制,學生在該課題中,運用所學理論知識,系統(tǒng)的完成了整個項目,獲得了北京市大學生科研計劃成果二等獎,尤其值得一提的是,畢業(yè)的學生在擔任京郊村官期間,將課題成果應用于所服務的村鎮(zhèn),取得了良好的效果。實踐證明,鼓勵學生參與課外科技活動,將會拓展學生的知識體系,并學以致用,對進一步提高學習興趣以及培養(yǎng)合作精神發(fā)揮了至關重要的作用。
學生的畢業(yè)設計是所學知識的綜合運用的過程,學生從事的畢業(yè)設計已經(jīng)不僅僅是課程實踐教學,而且還是從事科學研究的過程。為了保證提供充分的畢業(yè)設計時間,提高設計論文和專業(yè)課的學習質(zhì)量,做到有的放矢,我們將畢業(yè)論文提前到第七學期安排任務,進行設計任務的前期準備及調(diào)試工作。
三、建議
(1)采取層次化的知識體系
嵌入式方向的理論知識體系體現(xiàn)專業(yè)基礎知識、專業(yè)綜合知識、專業(yè)系統(tǒng)知識由易到難的漸進性和層次化。
專業(yè)基礎知識包括嵌入式導論、嵌入式操作系統(tǒng)、嵌入式程序設計基礎等課程,這些課程的學習包括嵌入式系統(tǒng)基本概念、典型的嵌入式操作系統(tǒng)的基本構成、工作機制、系統(tǒng)移植剪裁和實時任務調(diào)度等;嵌入式系統(tǒng)設計的基本方法、軟件編程及設備接口和驅(qū)動等內(nèi)容。學生通過這些課程的學習目標是掌握必要的嵌入式系統(tǒng)設計方法學的概念、方法和工具嵌入式程序設計基礎,掌握嵌入式系統(tǒng)的基本原理與設計開發(fā)思想,能完成簡單的嵌入式系統(tǒng)的軟硬件設計。
專業(yè)綜合知識包括嵌入式高級編程、通過實踐課程獲得的綜合性知識。這些內(nèi)容包括智能終端的嵌入式軟件開發(fā)方法、編程開發(fā)流程;數(shù)據(jù)存儲開發(fā)、聯(lián)網(wǎng)開發(fā)等開發(fā)方法,學生通過學習能達到獨立完成開發(fā)單機、網(wǎng)絡嵌入式軟件的能力。
專業(yè)系統(tǒng)知識包括基于行業(yè)背景的嵌入式軟件開發(fā)知識,這一層次是通過專業(yè)實習和畢業(yè)設計的環(huán)節(jié)完成的,也就是通過實踐綜合完成的項目后獲得的知識,這不僅涵蓋了符合社會需求的嵌入式方向的新知識、新技術,還包括企業(yè)的項目實施機制等無法從學校課本學習到的知識,為學生順利走向社會工作崗位提供了重要的支持。
(2)采取多方位的實踐教學體系
嵌入式系統(tǒng)作為實操性極強的課程,通過強化夯實基礎實驗、豐富實踐綜合教學內(nèi)容,獲取更多的實踐項目的多方位立體化實踐教學模式對培養(yǎng)高素質(zhì)嵌入式系統(tǒng)人才至關重要,目前,我院嵌入式實踐教學改革還處在起步階段,今后我們將在智慧農(nóng)業(yè)背景下,立足于農(nóng)業(yè)院校發(fā)展特色,將嵌入式系統(tǒng)實驗實踐體系作進一步完善,重點培養(yǎng)學生的創(chuàng)新思維和獨立分析解決問題能力。
針對在校學生缺少行業(yè)背景知識這一問題,需要大力開展與企業(yè)的相關合作,直接把學生派到企業(yè)進行16周的專業(yè)實習甚至12周的畢業(yè)設計,在工程實踐項目選擇上,應該盡量選擇企業(yè)的實際項目,盡可能覆蓋嵌入式領域的內(nèi)容,比如嵌入式項目一般包括需求分析、硬件平臺設計、軟件平臺設計(包括嵌入式OS的選擇)、應用程序的開發(fā)與系統(tǒng)測試等多方面,使學生能夠通過查閱一定的資料,利用所學的知識解決工程實際中的問題。學生在實踐工程項目中完成畢業(yè)設計和論文,綜合能力得到極大的提升,同時學生可以掌握企業(yè)項目的實施機制,為畢業(yè)后快速進入項目開發(fā)打下良好和基礎,從而實現(xiàn)人才培養(yǎng)和社會需求的無縫對接。
四、結語
隨著嵌入式技術的高速發(fā)展,嵌入式方向課程體系也應不斷改進與之相適應。本文從ARM體系的嵌入式方向培養(yǎng)目標出發(fā),提出了三位一體的課程體系結構,采取層次化理論知識和多方位的實踐教學方式,使學生在學校就具備扎實的專業(yè)知識和技能,最后將學生送入實訓基地做企業(yè)實際項目,為學生走向工作崗位打下良好的基礎,最終達到計算機專業(yè)嵌入式方向的教學和培養(yǎng)目標。
[參考文獻]
[1]徐欣,于紅旗,盧啟中."嵌入式系統(tǒng)設計技術"課程教學研討[J].高等教育研究學報,2004,27(2):59-60
[2]徐遠超,張聰霞,關永.嵌入式系統(tǒng)專業(yè)課程教學存在的問題與思考[J].計算機教育,2009(18):85-86.
[3]田澤.嵌入式系統(tǒng)開發(fā)與應用教程[M].北京:北京航空航天大學出版社,2005:1-48
[4]李巖,王小玉,孫永春.嵌入式系統(tǒng)教學研究[J].電氣電子教學學報,2006,28(3):45-47,90
[5]李曦,周亦男,周學海."嵌入式系統(tǒng)設計"系列課程建設[J].教育與現(xiàn)代化,2004(4):48-51