時間:2023-05-30 10:44:36
開篇:寫作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件工程可行性分析,希望這些內(nèi)容能成為您創(chuàng)作過程中的良師益友,陪伴您不斷探索和進(jìn)步。
軟件的開發(fā)周期有需求分析、詳細(xì)設(shè)計、測試、可行性分析、體系結(jié)構(gòu)設(shè)計和編碼六個部分。形式化技術(shù)貫穿于軟件開發(fā)周期的六個部分,形式化時基于參數(shù)化的數(shù)學(xué)理論形式化定義語義。下面從可行性分析、需求分析、體系結(jié)構(gòu)設(shè)計和詳細(xì)設(shè)計幾個方法進(jìn)行說明。
1.1可行性分析
軟件生命周期的第一個階段是可行性分析階段,在這一階段要通過大量的數(shù)據(jù)資料來說明系統(tǒng)的開發(fā)是否是可行的。指出項目的建議、風(fēng)險預(yù)測、可行性,為項目的決策提供參考依據(jù)。在此階段,通過將實際問題轉(zhuǎn)化為可行性的研究,形成一定的文檔材料,規(guī)定專業(yè)的屬于,說明軟件系統(tǒng)進(jìn)行開發(fā)的處理流程、數(shù)據(jù)流程、輸入輸出、運(yùn)行環(huán)境和開發(fā)環(huán)境等等。當(dāng)前來說,專門用于可行性分析這一階段的形式化技術(shù)還非常少,主要的原因是無法將形式化的符號和自然的語言很好的結(jié)合起來,確保使用本軟件的用戶可以非常清楚明白的理解形式化技術(shù)所要描述的意義。Z語言是目前一種不可執(zhí)行的半形式化語言,它短小且容易閱讀,采用非形式化的英語對軟件的規(guī)約進(jìn)行解釋。
1.2需求分析
需求分析分為信息處理和分信息預(yù)處理兩個階段,將可行性分析報告作為輸入。元語言是形式化語言中的一種,它是基于集合論的證明規(guī)則和謂詞演算,給出抽象機(jī)狀態(tài)確定模型,從而生成文檔。這種形式化語言,對于程序員來說,容易實現(xiàn)原型而且可讀性好,容易掌握。語義的設(shè)計是形式化技術(shù)中需求分析階段主要要進(jìn)行的工作之一。在需求分析這一階段,ER圖是從可行性分析的實際問題中導(dǎo)出來的。通過ER圖給出SXL語言的事實和對象,SXL語言有助于開發(fā)團(tuán)隊理解和交流。SXL語言、RAISE語言和VDM元語言都是應(yīng)用于需求分析階段的比較常用的形式化技術(shù)。
1.3體系結(jié)構(gòu)設(shè)計
軟件設(shè)計的第三個階段是體系結(jié)構(gòu)的設(shè)計,在這一階段是將需求分析轉(zhuǎn)換為要實現(xiàn)的目標(biāo)軟件,并進(jìn)行各種方案的分析和比較,最終選擇較好的方案。在體系結(jié)構(gòu)設(shè)計階段采用過程代數(shù)形式化的攻擊進(jìn)行輸入、輸出的行為描述。TLG語言適合體系結(jié)構(gòu)設(shè)計階段不強(qiáng)調(diào)如何做僅僅說明做什么。采用形式化的說明把自然的語言融入到邏輯程序設(shè)計范型和數(shù)學(xué)函數(shù)中,這樣更容易證明用戶需求的一致性。GLIDE是一種半形式化的SSFL,GLIDE的好處是應(yīng)用范圍廣,而且抽象的級別比較高,不過也有一定的局限性就是使用的時候需要適當(dāng)?shù)倪M(jìn)行擴(kuò)充和修改。
1.4詳細(xì)設(shè)計
軟件設(shè)計的第四個階段就是詳細(xì)設(shè)計,在詳細(xì)設(shè)計階段,要與軟件系統(tǒng)的形式化描述一致。在詳細(xì)設(shè)計階段,要為軟件系統(tǒng)的各個模塊設(shè)計相應(yīng)的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和算法,確定最終系統(tǒng)實現(xiàn)的一個精確的描述。Larch語言是用于說明程序功能,可以適當(dāng)?shù)脑鰪?qiáng)詳細(xì)設(shè)計階段的處理能力和描述能力。形式化的Trace語言作為軟件詳細(xì)設(shè)計階段的形式化工具,采用將模塊實現(xiàn)的抽象數(shù)據(jù)作為自動機(jī)說明每個模塊的接口需求。Trace語言與SSFL語言不同的特點(diǎn)是程序自動的生成和驗證在同一形式的系統(tǒng)內(nèi)進(jìn)行。
2形式化技術(shù)的評價
形式化技術(shù)在軟件工程中有效的提高了開發(fā)的效率、改進(jìn)了軟件開發(fā)的質(zhì)量、減少了開發(fā)費(fèi)用。形式化的技術(shù)容易在軟件的規(guī)約上取得一致性,它屬于一種非常有效的交流方式。在軟件工程中,形式化技術(shù)的優(yōu)勢在于語法定義準(zhǔn)確、問題抽象、表達(dá)無二義性、語義清晰可操縱、描述簡潔規(guī)范。形式化技術(shù)在非功能性的要求上比如安全性、保密性、結(jié)構(gòu)性上利用數(shù)學(xué)工具更容易進(jìn)行核查。雖然形式化技術(shù)在軟件工程的各個階段已經(jīng)取得了不錯的成就,但是還是存在著一定的局限性,比如缺乏在實際項目中應(yīng)用的有效工具。程序功能的正確性有時候難以證明,因為形式化技術(shù)缺乏定理證明機(jī)制的支持。形式化技術(shù)的下一個發(fā)展方向應(yīng)該是盡量的把形式化的語言表達(dá)的形式進(jìn)行簡單化,讓其趨于自然語言,增強(qiáng)它的可理解能力。
3總結(jié)
軟件工程不僅是計算機(jī)科學(xué)與技術(shù)專業(yè)、軟件工程專業(yè)的一門專業(yè)基礎(chǔ)核心課程,也是其他相關(guān)專業(yè),如信息工程、系統(tǒng)工程、信息與計算機(jī)科學(xué)、信息管理與信息系統(tǒng)等專業(yè)的重要應(yīng)用技術(shù)課程。對于這些專業(yè)的學(xué)生來說,畢業(yè)設(shè)計多是以軟件開發(fā)類項目為主,整個畢業(yè)設(shè)計就是開發(fā)一個軟件。為了更好地完成軟件開發(fā)類畢業(yè)設(shè)計,提高學(xué)生畢業(yè)設(shè)計的質(zhì)量,進(jìn)一步規(guī)范畢業(yè)設(shè)計中的軟件開發(fā)過程是必需的。軟件工程的思想正是用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件。按照軟件工程思想,軟件開發(fā)的生命周期分為可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼實現(xiàn)、軟件測試和軟件維護(hù)幾個階段。在學(xué)生的畢業(yè)設(shè)計中以軟件工程的思想為主線,從軟件工程的角度去指導(dǎo)學(xué)生進(jìn)行畢業(yè)設(shè)計,挖掘軟件工程在系統(tǒng)開發(fā)過程中的價值,解決畢業(yè)設(shè)計中存在的一些問題,既有助于學(xué)生更好地理解軟件工程的方法、技術(shù)和思想,更有助于提高軟件類畢業(yè)設(shè)計的質(zhì)量。
2畢業(yè)設(shè)計中存在的問題
筆者在指導(dǎo)學(xué)生軟件開發(fā)類畢業(yè)設(shè)計過程中發(fā)現(xiàn),畢業(yè)設(shè)計存在著選題難、任務(wù)重、重視編碼、輕過程、項目無法完成等現(xiàn)象。設(shè)計過程中沒有嚴(yán)格地遵循軟件工程的開發(fā)方法,沒有規(guī)范的軟件設(shè)計過程,項目能否成功主要依賴于個人能力和個人努力,這種不正確的開發(fā)方法帶來了嚴(yán)重的后果。在項目開發(fā)的過程中常常存在以下幾個方面問題:
2.1選題的盲目性
選題是畢業(yè)設(shè)計過程中的一個初始環(huán)節(jié),選題恰當(dāng)是做好畢業(yè)設(shè)計的前提,但選題不當(dāng)?shù)那闆r仍然時有發(fā)生。學(xué)生沒有認(rèn)識到畢業(yè)設(shè)計的重要性,純粹是為了完成學(xué)業(yè)而做畢業(yè)設(shè)計,選題沒有一個確切的目標(biāo),往往是隨便選一個題目,造成選題的盲目性,出現(xiàn)了選題陳舊、選題范圍狹窄、選題偏大等問題,使學(xué)生抄襲、完成不了畢業(yè)設(shè)計的情況時有發(fā)生。
2.2缺少軟件的系統(tǒng)分析
軟件開發(fā)過程的第一個階段是系統(tǒng)分析,用來確定軟件開發(fā)要解決的問題是什么?估算完成該項目需要的資源和成本,確定目標(biāo)系統(tǒng)應(yīng)該具備哪些功能,主要經(jīng)歷問題的定義、可行性分析和需求分析三個階段。軟件的系統(tǒng)分析確定了用戶需求,同時對目標(biāo)系統(tǒng)提出完整、具體的要求,引導(dǎo)開發(fā)者正確地構(gòu)建系統(tǒng)。因此,對用戶需求做出全面、正確的分析,對于最終軟件開發(fā)類畢業(yè)設(shè)計的成敗起著至關(guān)重要的作用。然而在完成畢業(yè)設(shè)計過程中,學(xué)生往往認(rèn)為代碼編寫最重要,對軟件開發(fā)過程中的可行性分析和需求分析階段不重視,甚至沒有系統(tǒng)分析,對整個畢業(yè)設(shè)計的完成造成了影響。
2.3軟件設(shè)計過程雜亂無章
軟件設(shè)計一般都要經(jīng)歷可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試階段。而部分學(xué)生在畢業(yè)設(shè)計開發(fā)的過程中,缺乏軟件工程設(shè)計思想,跨越需求分析、概要設(shè)計、詳細(xì)設(shè)計和功能模塊設(shè)計,直接進(jìn)行代碼的撰寫;或者從代碼反推出模塊設(shè)計;甚至在軟件開發(fā)過程中,一邊寫程序,一邊了解需求,程序完成了需求才確定。這種無序的軟件設(shè)計過程,導(dǎo)致最終設(shè)計的系統(tǒng)雜亂無章、代碼的重復(fù)率高、潛在?Bug多、系統(tǒng)的可集成性非常差、不能在規(guī)定時間內(nèi)完成設(shè)計或者系統(tǒng)無法運(yùn)行。
2.4開發(fā)過程中文檔不完備
根據(jù)軟件工程學(xué)的基本原理,軟件=程序+文檔,可見軟件文檔是軟件開發(fā)過程中不可缺少的組成部分。軟件文檔貫穿于軟件開發(fā)的各個階段,是提高軟件產(chǎn)品開發(fā)效率、規(guī)范軟件產(chǎn)品開發(fā)過程、保證軟件產(chǎn)品質(zhì)量的關(guān)鍵。但在實際畢業(yè)設(shè)計中,很多同學(xué)認(rèn)為把程序代碼編出來了,畢業(yè)設(shè)計也就完成了,提交的畢業(yè)設(shè)計論文就是系統(tǒng)代碼的復(fù)制,即只做出一個可演示可操作的系統(tǒng),而忽略了軟件開發(fā)的完整性、系統(tǒng)性。完整的畢業(yè)設(shè)計不僅包括可操作的系統(tǒng),還包括在開發(fā)系統(tǒng)的過程中所產(chǎn)生的各個文檔資料。文檔的缺失會降低軟件開發(fā)的效率、影響整個軟件的開發(fā)、使用和維護(hù)。以上問題的存在,嚴(yán)重影響了畢業(yè)設(shè)計的進(jìn)度和質(zhì)量,沒有達(dá)到畢業(yè)設(shè)計的目標(biāo)要求。針對當(dāng)前畢業(yè)設(shè)計的現(xiàn)狀和存在不足,筆者認(rèn)為應(yīng)用軟件工程學(xué)的思想指導(dǎo)畢業(yè)設(shè)計,對促進(jìn)學(xué)生綜合素質(zhì)與工程實踐能力培養(yǎng)具有積極意義。
3用軟件工程思想指導(dǎo)學(xué)生進(jìn)行畢業(yè)設(shè)計
3.1以可行性研究指導(dǎo)選題
可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。畢業(yè)設(shè)計題目的選擇,應(yīng)立足于解決工程實際問題,可由指導(dǎo)教師提供符合相關(guān)專業(yè)畢業(yè)設(shè)計要求的題目,也可以鼓勵學(xué)生自己到社會、生產(chǎn)企業(yè)中尋求研究課題,培養(yǎng)他們自主學(xué)習(xí)的意識。選題過程以可行性研究為指導(dǎo),從課題規(guī)模大小、難易程度、學(xué)生自己的研究方向、愛好、學(xué)生的知識層面和能力等多個方面進(jìn)行考慮,對于選擇的題目是否能夠解決,確定在規(guī)定的時間內(nèi)完成畢業(yè)設(shè)計的可行性。指導(dǎo)教師可根據(jù)學(xué)生選報的題目來指導(dǎo)學(xué)生對該選題進(jìn)行調(diào)查研究,明確課題要解決的問題是什么,簡要地寫出關(guān)于問題性質(zhì)、項目目標(biāo)和項目規(guī)模的書面報告。可行性研究來指導(dǎo)畢業(yè)設(shè)計的選題,實質(zhì)上是簡化了系統(tǒng)分析和設(shè)計的過程,也是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計的過程,使學(xué)生對于課題的設(shè)計有個清晰的思路,為及時完成畢業(yè)設(shè)計提供了可能。
3.2重視軟件的需求分析
需求分析的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么”,即確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求,不僅指明了系統(tǒng)設(shè)計時必須要實現(xiàn)的目標(biāo),也是軟件設(shè)計、實現(xiàn)、測試和維護(hù)階段的主要參考標(biāo)準(zhǔn)。用戶需求的獲取是軟件開發(fā)中最重要、難度最大的工作,它貫穿于整個軟件設(shè)計過程,不僅要涉及到軟件開發(fā)方面的知識、應(yīng)用領(lǐng)域方面的知識,還涉及到與用戶溝通的能力。在進(jìn)行需求獲取和分析時,為了及時、準(zhǔn)確地獲取,可采用軟件工程中比較成熟的方法,例如訪談、實際調(diào)查、UML的用例技術(shù)等。需求分析在軟件系統(tǒng)分析與設(shè)計階段起著橋梁的作用,確定了系統(tǒng)的需求,才能制定出軟件設(shè)計的框架,保證畢業(yè)設(shè)計循序漸進(jìn)、有條不紊地進(jìn)行,避免后期開發(fā)過程的頻繁返工,進(jìn)而按時完成最終的任務(wù)。
3.3規(guī)范畢業(yè)設(shè)計過程
軟件開發(fā)類畢業(yè)設(shè)計一般是開發(fā)一個軟件系統(tǒng),實現(xiàn)一定的功能。“麻雀雖小,五臟俱全”,無論軟件規(guī)模的大小、功能的多少,都應(yīng)該嚴(yán)格按照軟件工程中軟件生命周期每個階段的步驟完成各項任務(wù)。要培養(yǎng)學(xué)生把軟件工程的概念貫穿于整個畢業(yè)設(shè)計過程,也就是說,讓學(xué)生把開發(fā)軟件的過程看成是蓋一棟大樓,修一條公路的實際工程,用工程化的思想指導(dǎo)畢業(yè)設(shè)計,確定完成課題的各項任務(wù)的工作步驟,注重軟件類畢業(yè)設(shè)計的過程,而不是學(xué)生所認(rèn)為的畢業(yè)設(shè)計就是編程序,代碼調(diào)試通過即可。通過工程的概念規(guī)范畢業(yè)設(shè)計過程,讓學(xué)生明白開發(fā)一個軟件系統(tǒng)一般經(jīng)過系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施三個階段,必須嚴(yán)格遵循軟件生命周期的規(guī)律,完成各個階段的任務(wù),才能最終提高畢業(yè)設(shè)計的質(zhì)量。
3.4重視文檔的寫作
軟件工程中的瀑布模型嚴(yán)格地規(guī)定了在整個軟件生命周期的各個階段,都要提交相應(yīng)的文檔。文檔不僅記錄軟件開發(fā)過程中的大量信息,在軟件的開發(fā)、維護(hù)過程中也起著重要的作用。在指導(dǎo)學(xué)生畢業(yè)設(shè)計時,要求學(xué)生遵照軟件工程的思想,把文檔作為整個設(shè)計的指揮棒,記載設(shè)計過程的每一階段完成的目標(biāo)、任務(wù)及技術(shù)手段,建立健全畢業(yè)設(shè)計文檔制度,確保畢業(yè)設(shè)計過程中的文獻(xiàn)綜述、譯文、任務(wù)書、開題報告、選題審題表、中期檢查表、設(shè)計(論文)正文、答辯記錄等各環(huán)節(jié)教學(xué)資料檔案完善、規(guī)范,實現(xiàn)對畢業(yè)設(shè)計的全程監(jiān)控。
4結(jié)束語
軟件危機(jī)的出現(xiàn)已存在多年,雖然業(yè)界專家不斷致力于軟件工程理論建設(shè),認(rèn)為軟件工程理論的推進(jìn)可有效緩解軟件危機(jī),但大量實踐表明,只有通過對軟件需求進(jìn)行詳細(xì)地分析才能真正改善軟件的重復(fù)問題,進(jìn)而提高軟件工程的質(zhì)量。文章簡單闡述了軟件工程需求分析的概念,分析了當(dāng)前軟件工程所存在的質(zhì)量問題,并針對問題提出了相應(yīng)的質(zhì)量保證措施,旨在為相關(guān)技術(shù)人員提供若干參考意見。
關(guān)鍵詞:
軟件工程;需求分析;質(zhì)量保證
1軟件工程需求分析概念
軟件工程需求分析是指在正確了解用戶需求的基礎(chǔ)上,使軟件功能與客戶需求相符,同時預(yù)估軟件研發(fā)風(fēng)險和項目評估,最終開成整個開發(fā)設(shè)計方案的過程。在軟件工程需求分析過程當(dāng)中,占主導(dǎo)地位的是用戶的需求,用戶需求的整理由工程師及項目經(jīng)理負(fù)責(zé),通過需求分析獲取相關(guān)技術(shù)性文檔材料,包括SRS文檔、DRM文檔和AcceptancePlan[1]。從廣義上來說,軟件工程需求分析所要做的工作主要有需求信息的獲取、分析、變更、驗證以及相關(guān)規(guī)則說明和管理。軟件工程需求分析的流程多且復(fù)雜,如創(chuàng)建數(shù)據(jù)字典、確定需求優(yōu)先級別、分析需求可行性等。不同流程所使用的分析方法也有所不同,如在確定需求優(yōu)先級別時,可采取應(yīng)用分析法,即在考慮產(chǎn)品版本時應(yīng)基于優(yōu)先級對產(chǎn)品特性及需求進(jìn)行分析,若需求變更,則要在不同版本當(dāng)中添加所變更的信息,并做好相應(yīng)變更工作[2]。在進(jìn)行需求分析可行性分析時,需對每項需求實施的可行性進(jìn)行詳細(xì)分析,以驗證軟件是否能夠開發(fā),是否能夠給公司帶來利潤。
2軟件工程存在的質(zhì)量問題
第一,文檔的時效性無保障。軟件各模塊的制作通常是由不同人負(fù)責(zé)的,這就導(dǎo)到軟件開發(fā)過程存在諸多問題,如在進(jìn)行需求分析應(yīng)用數(shù)字字典時,因規(guī)格不同導(dǎo)到文檔編寫形式分離。又如不同制作人員所使用的工具不同,編寫和檢索時間不同,導(dǎo)致文檔的時效性無法保證,若編寫過程混亂還會給程序的維護(hù)帶來很大困難,導(dǎo)致文檔資料難以尋找,甚至出現(xiàn)缺失,致使維護(hù)時間加長,若問題嚴(yán)重的話還會導(dǎo)致軟件無法維護(hù)。第二,程序與文檔內(nèi)容分離。軟件程序與文檔內(nèi)容分離的主要原因是在編寫文檔設(shè)計與需求分析時所采取的角度不同,文檔設(shè)計的編寫是面對程序設(shè)計員的,而需求分析的編寫是面對用戶的,雖然兩者的最終目的是相同的,都是將用戶需求轉(zhuǎn)化為程序編碼設(shè)計文檔,是在進(jìn)行轉(zhuǎn)化時卻存在很大的偏差,導(dǎo)到軟件成品與需求之間存在很大差距。此外,因編寫需求分析文檔多使用自然語言,而編寫設(shè)計文檔多使用計算機(jī)語言,兩種語言在進(jìn)行轉(zhuǎn)化時易出現(xiàn)很多問題,且設(shè)計的圖較多,如模塊圖、結(jié)構(gòu)圖、數(shù)據(jù)圖等,若文檔未及時更新,文檔就無法正確表達(dá)程序,開發(fā)人員也就無法通過文檔正確理解用戶需求,導(dǎo)致程序與文檔內(nèi)容分離,最終軟件只能從頭開始。第三,軟件開發(fā)與維護(hù)分離。軟件的研發(fā)主要包括以下過程:需求分析、可行性分析、軟件設(shè)計、代碼設(shè)計、測試,此外還有軟件的維護(hù),這是軟件自誕生至結(jié)束的整個周期。在軟件研發(fā)的整個周期當(dāng)中,軟件的開發(fā)與維護(hù)是緊密聯(lián)系的,軟件的開發(fā)是軟件誕生的重要過程,但軟件的維護(hù)卻是軟件質(zhì)量不斷得以提升的重要階段和方式。現(xiàn)多數(shù)軟件開發(fā)公司在研發(fā)軟件時比較注重軟件的開發(fā)過程,而忽略了軟件的維護(hù),導(dǎo)致軟件開發(fā)與維護(hù)分離問題凸顯。如在進(jìn)行軟件的設(shè)計和開發(fā)時,研發(fā)人員比較重視用戶需求分析,但卻忽略了軟件的功能升級,未預(yù)留相應(yīng)模塊接口,給軟件的后期維護(hù)帶來很大困難[3]。因用戶需求是一個動態(tài)化的過程,隨著用戶使用時間的推移,用戶會產(chǎn)生各種新的需求,若事先未預(yù)留相應(yīng)接口,那么軟件的升級相當(dāng)于重新研發(fā)一套軟件,這樣研發(fā)成本明顯上升。再者因需求分析與設(shè)計文檔的編寫所使用的語言有所不同,需求分析編寫所使用的是自然語言,而設(shè)計文檔編寫所使用的是計算機(jī)語言,兩種語言并未有一個統(tǒng)一的溝通橋梁,這就導(dǎo)致程序員的理解存在偏差,而這種偏差一旦出現(xiàn)就會使需求文檔與設(shè)計文檔出現(xiàn)分離,最終給軟件的維護(hù)帶來困難。此外,很多程序員習(xí)慣性編寫程序代碼,卻忽略了建設(shè)文檔,導(dǎo)致軟件的開發(fā)與維護(hù)出現(xiàn)分離。
3軟件質(zhì)量保證措施
3.1保證文檔編寫的完整性
軟件工程需求分析的編寫對于軟件工程需求設(shè)計來說非常重要。在編寫軟件工程需求時,應(yīng)使用通俗易懂的自然語言來表達(dá)客戶的軟件功能需求,避免使用模糊性語言或是過量使用專業(yè)術(shù)語,以使程序員能準(zhǔn)確理解,防止因程序員的理解偏差而影響程序的編寫,導(dǎo)致軟件的計算方式出現(xiàn)偏差,最終給用戶帶來軟件陷阱。文檔的編寫應(yīng)盡量使用實詞,而避免使用形容詞或是描述性詞語,以保證產(chǎn)品描述的真實性,若使用這些詞會使用戶需求的理解出現(xiàn)誤差,將導(dǎo)致軟件無法正確反映用戶需求。如在利用數(shù)據(jù)庫存進(jìn)行軟件的開發(fā)時,應(yīng)在設(shè)計需求文檔當(dāng)中對儲存量、波動范圍、數(shù)據(jù)類型進(jìn)行詳細(xì)說明,明確需求量,同時做好備份信息說明,以保證文檔編寫的完整性,使程序員在進(jìn)行軟件的編寫時能夠準(zhǔn)確理解用戶需求,同時做好詳細(xì)的設(shè)計文檔和代碼[4]。
3.2保證需求分析的完善性
需求文檔及設(shè)計文檔出現(xiàn)分離的最主要原因就是需求文檔與設(shè)計文檔的編寫人員不同,且各司其職、缺乏溝通而導(dǎo)致的。在實際工作當(dāng)中,很多軟件開發(fā)公司的需求分析人員、開發(fā)人員和測試人員是沒有任何將領(lǐng)的,這就使得很多軟件質(zhì)量問題無法支及時溝通并得到協(xié)商,最終導(dǎo)致軟件質(zhì)量問題增多。而實質(zhì)上,軟件工程的需求分析不僅需要需求分析人員的努力,而且還要與開發(fā)人員及測試人員進(jìn)行相互溝通,以螺旋式的推進(jìn)方式以不斷對需求分析的內(nèi)容進(jìn)行豐富和細(xì)化,以此來使需求分析更加完整、完善。因此,為保證需求分析的完善性,在進(jìn)行軟件工程需求分析過程當(dāng)中,就有必要盡量讓所有參與工程項目的人員都加入進(jìn)來,包括開發(fā)人員和測試人員,使所有工作人員都能夠第一手了解客戶需求,避免產(chǎn)生誤差或是重復(fù),這樣才能有效解決需求文檔與設(shè)計文檔的分離問題。
3.3深入而正確地了解客戶的真正需求
現(xiàn)很多軟件開發(fā)公司為加快軟件的研發(fā)進(jìn)度,或是加快軟件開發(fā)的效率,亦或是迫于交期壓力等原因,通常會采取模塊重用的方式以減輕軟件開發(fā)工作量,提高自身經(jīng)濟(jì)效益,且現(xiàn)在這種模塊重用方式也成了軟件開發(fā)的主流,是軟件工程開發(fā)的重要組成部分。但是很多軟件開發(fā)公司在使用軟件重用時,因并未深入分析客戶需求,或是地進(jìn)行分析時粗心大意而導(dǎo)致客戶需求理解存在偏差或是錯誤,導(dǎo)致經(jīng)重組重用的軟件無法滿足客戶需求,或是軟件出現(xiàn)質(zhì)量問題,最終軟件只能從頭研發(fā),使得公司軟件研發(fā)成本大幅上升,影響公司經(jīng)營和經(jīng)濟(jì)效益。為解決這一問題,最主要的就是正確而深入地了解客戶的真正需求,同時在軟件的研發(fā)過程當(dāng)中做好監(jiān)督和檢查工作,盡量避免出現(xiàn)錯誤;此外還要注意技術(shù)人員在不同步驟之間的溝通,以免因溝通缺失而出現(xiàn)軟件質(zhì)量問題。
3.4依照實際需求調(diào)整文檔內(nèi)容
通常來說,在遵循以上規(guī)則的基礎(chǔ)上所編寫的文檔是非常嚴(yán)謹(jǐn)、科學(xué)、合理的,因此在使用文檔時,第一,程序員應(yīng)嚴(yán)格遵循文檔當(dāng)中的內(nèi)容,包括規(guī)范和說明,以文檔內(nèi)容為指導(dǎo)來編寫代碼,保證所編寫的代碼的正確性和準(zhǔn)確性;第二,針對文檔當(dāng)中存在疑問的部分要及時向相關(guān)人員反映,做好溝通工作,在商量出良好的對策之后對文檔進(jìn)行改善;第三,針對文檔中存在較難的技術(shù)性問題,程序員應(yīng)努力攻克,若問題相對嚴(yán)重,則應(yīng)及時向上反映情況,避免敷衍了事,導(dǎo)致軟件產(chǎn)品質(zhì)量下降;第四,做好需求文檔的可行性分析工作,包括開發(fā)成本分析和功能實現(xiàn)可行性,從源頭上提高軟件產(chǎn)品質(zhì)量;第五,最大限度地使用已有的軟件功能模塊,以盡量減輕自身的工作員,縮短軟件的研發(fā)時間;第六,做好維護(hù)接口預(yù)留工作,以便于日常維護(hù)及軟件使用過程當(dāng)中用戶可能遇到或是會出現(xiàn)問題的修復(fù),以真正提高軟件質(zhì)量水平。
4結(jié)語
在實際工作當(dāng)中,相關(guān)技術(shù)開發(fā)人員應(yīng)特別重視軟件需求分析,正確認(rèn)識軟件需求分析與質(zhì)量保證之間的聯(lián)系,嚴(yán)格律己,全面提升,以不斷提高軟件工程質(zhì)量。
作者:趙偉 單位:南京模擬技術(shù)研究所
[參考文獻(xiàn)]
[1]來羽.軟件工程需求分析與質(zhì)量保障[J].煤炭技術(shù),2013(9):204-205.
[2]邱廷鈺.論軟件工程需求分析與質(zhì)量保障[J].大科技,2013(36):347-347,348.
隨著信息技術(shù)的快速發(fā)展,軟件的復(fù)雜度與規(guī)模呈指數(shù)級增長,給軟件的開發(fā)與維護(hù)帶來了極大的困難。因此,需要將系統(tǒng)化的、規(guī)范化的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)中,即將工程化方法應(yīng)用于軟件。而傳統(tǒng)的計算機(jī)專業(yè)的人才培養(yǎng)模式主要面向理論研究,不能夠滿足軟件企業(yè)對工程實踐型人才的需求。為了解決計算機(jī)教育重理論、輕實踐的不足,國家教育部與發(fā)展計劃委員會于2001年新增軟件工程專業(yè)。目前,全國已經(jīng)建立了一批國家與省級示范性軟件學(xué)院,很多高校也相繼開設(shè)了軟件工程專業(yè),培養(yǎng)模式各具特色,尤其是國家級示范性軟件學(xué)院已經(jīng)探索出了各具特色的培養(yǎng)模式,但是還是存在著重理論、輕實踐的不足,這一缺陷在地方院校的軟件工程專業(yè)尤為突出。由于受到資金支持、政策引導(dǎo)、師資建設(shè)等方面的限制,地方院校的軟件工程專業(yè)基本上都是從計算機(jī)科學(xué)與技術(shù)專業(yè)繁衍出來的,其培養(yǎng)模式很容易沿用計算機(jī)科學(xué)與技術(shù)專業(yè)的人才培養(yǎng)模式,不能滿足軟件企業(yè)的需求,主要存在重理論、輕實踐的問題,主要表現(xiàn)如下。
(一)教學(xué)方式單一化、理論化
軟件工程專業(yè)的特點(diǎn)是理論性與實踐性并重,特別是實踐性非常強(qiáng),軟件工程的許多理論都來源于對實踐的總結(jié)與歸納。但是目前的教學(xué)方法還主要是沿用計算機(jī)科學(xué)與技術(shù)專業(yè)的教學(xué)方式,偏向純理論介紹,教學(xué)方式上還是以教師講、學(xué)生聽為主的“灌輸式”的“教授/接受式”傳統(tǒng)教學(xué),學(xué)生只是被動接受,學(xué)習(xí)積極性不高。此外,很多教師缺少實際軟件項目的開發(fā)經(jīng)歷,在教學(xué)過程中缺少必要的案例或者使用的案例不合適,妨礙了學(xué)生對軟件工程中基本概念與理論的理解,不明白可行性分析、需求分析、軟件設(shè)計的必要性以及不會撰寫所對應(yīng)的文檔。
(二)實踐少,理論與實踐相脫節(jié),學(xué)生動手能力差
目前很多高校軟件工程專業(yè)開設(shè)的理論課比較多,實驗課比較少,并且由于目前的專業(yè)教師大都是畢業(yè)后直接到高校工作的,缺少開發(fā)大型軟件項目的實際經(jīng)歷,設(shè)計的實驗題目大都規(guī)模比較小并且比較零散,比如成績管理系統(tǒng),學(xué)生可以直接進(jìn)行設(shè)計與編碼,無需可行性分析、需求設(shè)計、軟件設(shè)計、進(jìn)度安排等環(huán)節(jié),也沒有必要撰寫相關(guān)的文檔。如此以來,學(xué)生不能夠加深對相關(guān)概念與理論的學(xué)習(xí),沒有體會到軟件工程理論在實際軟件項目開發(fā)中的重要作用,導(dǎo)致學(xué)生面對實際軟件項目時無法下手,這直接影響到軟件工程專業(yè)畢業(yè)學(xué)生的市場競爭力。
(三)校企合作不夠
校企合作是實現(xiàn)高校軟件工程人才培養(yǎng)與企業(yè)需求無縫連接,培養(yǎng)高素質(zhì)軟件人才的重要途徑之一,盡管目前很多高校的軟件工程專業(yè)都建立了校企合作模式,取得了不錯的成績,但校企合作存在著缺乏相應(yīng)的政策引導(dǎo)、缺少雙方交流的平臺、企業(yè)積極性不高、合作松散、管理手段缺乏等問題。這樣就會出現(xiàn)高校培養(yǎng)的軟件人才動手能力差,無法滿足企業(yè)的需要,而軟件企業(yè)又找不到合適人才的尷尬局面。校企合作力度不夠在地方院校表現(xiàn)的更為突出,主要原因是地方院校的軟件工程專業(yè)在影響力與辦學(xué)規(guī)模上與國家級軟件學(xué)院有一定的差距,知名的軟件企業(yè)很少愿意與地方院校合作,另一方面,地方院校缺乏政策與資金的支持,缺乏尋求與企業(yè)合作的機(jī)會。
二、應(yīng)用驅(qū)動為導(dǎo)向的人才培養(yǎng)模式的改革措施
軟件工程專業(yè)存在的重理論、輕實踐的弊端,使得培養(yǎng)的學(xué)生在校學(xué)習(xí)的知識不能形成一個有效的體系,也沒有機(jī)會將所學(xué)知識融于具體項目之中,同時也不清楚當(dāng)前軟件企業(yè)對人才的真正需求。而另一方面,軟件企業(yè)希望新招聘來的員工能夠直接融入到項目的開發(fā)中,能夠解決項目中的實際問題。這樣就形成了高校培養(yǎng)的軟件人才“過剩”,而軟件公司所需人才“短缺”的矛盾局面。為此,本文提出了以實際應(yīng)用驅(qū)動為導(dǎo)向的人才培養(yǎng)模式,以培養(yǎng)能夠在軟件公司的一線解決實際應(yīng)用問題、能在實踐中應(yīng)用所學(xué)知識、在實踐中創(chuàng)新的應(yīng)用型人才,并對該培養(yǎng)模式的相關(guān)實施方法進(jìn)行了探討。應(yīng)用驅(qū)動為導(dǎo)向的軟件工程人才培養(yǎng)模式的基本保障是以實際應(yīng)用為導(dǎo)向加強(qiáng)師資建設(shè),該培養(yǎng)模式按照人類認(rèn)識的規(guī)律,以解決實際問題為目標(biāo),的三個階梯式階段:案例式課堂教學(xué),項目式綜合實訓(xùn),頂崗式專業(yè)實習(xí)。
(一)以應(yīng)用為導(dǎo)向加強(qiáng)師資建設(shè)
師資建設(shè)是專業(yè)建的首位,教師在人才培養(yǎng)中起著不可替代的作用。目前,軟件工程專業(yè)的師資建設(shè)主要還是以理論研究為導(dǎo)向,多數(shù)教師從學(xué)校碩士或博士畢業(yè)后直接到高校工作,主要以理論研究為主,缺乏大型軟件項目開發(fā)經(jīng)驗,不太了解軟件產(chǎn)業(yè)的新技術(shù)與新動向,從而在教學(xué)過程中出現(xiàn)重理論、輕實踐的現(xiàn)象,很不利于軟件工程專業(yè)人才的培養(yǎng)。以應(yīng)用為導(dǎo)向的師資建設(shè)就是在現(xiàn)有的以理論研究為導(dǎo)向的基礎(chǔ)上,注重提高教師的實際動手能力,可以從以下3個方面做起:①改變傳統(tǒng)的以學(xué)歷和科研為導(dǎo)向的高校教師招聘方式,軟件工程專業(yè)應(yīng)當(dāng)招聘一批具有大型軟件項目開發(fā)資深經(jīng)驗的軟件工程師,比例占師資總數(shù)的30%~40%為為宜;鑒于軟件技術(shù)的快速更新,應(yīng)定期派遣教師到知名軟件公司的一線進(jìn)行學(xué)習(xí)和培訓(xùn);倡導(dǎo)并且增加教師帶動學(xué)生參加研發(fā)類橫向課題的機(jī)會,提高教師與學(xué)生的實際動手能力。
(二)案例式課堂教學(xué)
改變傳統(tǒng)的“灌輸式”的“教授/接受式”教學(xué)模式,使用案例驅(qū)動式的教學(xué)模式,就是指教師本著理論與實際有機(jī)結(jié)合的宗旨,遵循教學(xué)目的的要求,以案例為基本素材,通過師生、生生之間的雙向和多向互動,讓學(xué)生把所學(xué)的理論知識運(yùn)用于“實踐活動”中,以提高學(xué)生發(fā)現(xiàn)問題、分析問題和解決實際問題的能力。一方面,教師首先應(yīng)準(zhǔn)備一些引入型案例,例如,千年蟲問題,來說明工程化方法對軟件開發(fā)的重要性,并且提高學(xué)生的興趣;另一方面,教師應(yīng)該準(zhǔn)備好一個能覆蓋軟件工程的各個環(huán)節(jié)和階段、難度適宜的實際軟件項目案例,這個案例最好是教師實際參加過的或者熟悉的項目,并且有必要的軟件文檔,然后把這個案例作為一個實際情境,結(jié)合案例引入并講授各個知識點(diǎn),必須要求學(xué)生撰寫相應(yīng)的文檔和程序,然后與使用案例的已有標(biāo)準(zhǔn)文檔和程序進(jìn)行比較,找到自己的不足,加深對知識點(diǎn)的學(xué)習(xí)與理解,做到理論與實際相結(jié)合。
(三)項目式綜合實訓(xùn)
鑒于軟件工程專業(yè)的實踐性很強(qiáng),應(yīng)該以實際應(yīng)用項目為驅(qū)動進(jìn)行軟件工程的課程綜合實訓(xùn),讓學(xué)生按照軟件工程開發(fā)的流程去獨(dú)立地完成一個應(yīng)用項目。首先,教師選擇一些中小型的,生活中經(jīng)常接觸的項目作為綜合實訓(xùn)項目庫,項目的選擇一定要難度適宜,太簡單體現(xiàn)不出軟件工程化開發(fā)方法的優(yōu)點(diǎn),但是也不能太難,難度控制在學(xué)生可以運(yùn)用所學(xué)習(xí)的知識、技能,通過討論和合作可以完成,然后由學(xué)生人組成的小組從中選擇合適的項目。然后,每個小組模擬軟件企業(yè)中的一個項目開發(fā)小組,進(jìn)行分工合作,由組長作為項目經(jīng)理與指導(dǎo)教師溝通,指導(dǎo)教師模擬實際的客戶。最后,項目組嚴(yán)格按照軟件項目的開發(fā)流程來一步一步完成任務(wù),應(yīng)該包括可行性研究、需求分析、系統(tǒng)設(shè)計、實現(xiàn)與測試等階段。在每個階段學(xué)生應(yīng)該提交必要的文檔,可以按照《計算機(jī)軟件文檔編制規(guī)范》(GB-T8567-2006)撰寫可行性分析報告(FAR)、軟件需求規(guī)格說明(SRS)、軟件(結(jié)構(gòu))設(shè)計說明(SDD)、軟件測試報告(STR)等。在每個階段,學(xué)生應(yīng)利用流行的軟件工程工具,例如,Microsoft Project、RationalRose等。
(四)頂崗式專業(yè)實習(xí)
軟件工程專業(yè)培養(yǎng)的人才最終是面向軟件公司的,所以很有必要在第四學(xué)年時采用校企合作的方式,委派學(xué)生到軟件公司頂崗實習(xí),時間根據(jù)實際情況以個月為宜。在頂崗實習(xí)期間學(xué)生要與正常的員工一樣完成企業(yè)的工作要求,真正在實際軟件開發(fā)中理解并應(yīng)用前期學(xué)習(xí)到的知識與技能,實現(xiàn)自身能力的提高,成功地由學(xué)生角色過渡到職業(yè)角色。在實習(xí)期間,學(xué)生的管理以企業(yè)管理為主,學(xué)校管理為輔,學(xué)生、教師、企業(yè)三方根據(jù)實習(xí)項目的實際情況確定學(xué)生畢業(yè)設(shè)計題目的選題與設(shè)計,最終由學(xué)校的指導(dǎo)教師負(fù)責(zé)指導(dǎo)完成畢業(yè)設(shè)計論文的撰寫與答辯等事宜。
三、結(jié)束語
關(guān)鍵詞:軟件工程;實踐教學(xué);訂單式培養(yǎng)
1 引言
軟件工程課程是一門綜合性、實踐性很強(qiáng)的課程。學(xué)習(xí)該課程的主要目標(biāo)一方面是讓學(xué)生掌握軟件開發(fā)的系統(tǒng)知識,包括其中的原理和方法;另一方面是讓學(xué)生初步掌握解決實際開發(fā)問題的能力,從而為將來走向軟件開發(fā)工作崗位打下堅實的基礎(chǔ)。為了解決上述兩方面的有效融合,很多大學(xué)都在進(jìn)行軟件工程實訓(xùn)模式的研究和訂單式培養(yǎng)等研究,也取得了很多研究進(jìn)展。本文就是在研究上述內(nèi)容的基礎(chǔ)上提出了一種一體化軟件工程教學(xué)方法,即滿足教育目標(biāo)要求又符合社會對學(xué)生能力的要求。
2 軟件工程課程教學(xué)現(xiàn)狀
目前的軟件工程教學(xué)現(xiàn)狀,可以概述為課堂教學(xué)和實踐教學(xué)兩個部分。教師在課程教學(xué)中,普遍采用講授與實驗訓(xùn)練相結(jié)合的傳統(tǒng)教學(xué)方法,即課堂上由教師講授理論、原理,實驗訓(xùn)練時由學(xué)生動手設(shè)計一個項目。因此,該課程的教學(xué)存在許多的問題,主要表現(xiàn)在以下幾個方面:
從教學(xué)內(nèi)容上看,目前軟件工程原理和方法較為抽象,學(xué)生較難理解,這是由于目前學(xué)校將軟件工程課程設(shè)置在大三的上學(xué)期,而在大一、大二主要圍繞著公共基礎(chǔ)課、專業(yè)基礎(chǔ)課進(jìn)行。從學(xué)生角度來看,其剛剛掌握了一兩門語言、初步了解計算機(jī)體系結(jié)構(gòu)的知識,很多同學(xué)還沒有進(jìn)入到真正軟件開發(fā)的角色中去。特別是在學(xué)生時代還沒有開始或者剛剛開始準(zhǔn)備考慮將來工作的事情的時候,軟件工程課程已經(jīng)開始了。在沒有軟件開發(fā)基礎(chǔ)或者軟件開發(fā)只停留在編一小段代碼的情況下,很難理解軟件開發(fā)所涉及的這么多問題。
從教學(xué)方法上看,軟件工程課程以傳統(tǒng)的教學(xué)為主,實踐課為輔的教學(xué)方法,由于學(xué)時有限很難在實踐課上將所涉及的軟件工程原理和方法逐個地展示給學(xué)生,學(xué)生似懂非懂,當(dāng)真正動手的時候卻不知從何入手,學(xué)生學(xué)習(xí)的效果差。
從實訓(xùn)教學(xué)與訂單式培養(yǎng)看,實訓(xùn)教學(xué)是將學(xué)生置入到模擬的實際工作環(huán)境中去,讓學(xué)生自己體會在軟件開發(fā)的不同崗位上的職責(zé)和應(yīng)具備的能力與知識;訂單式培養(yǎng)是按照指定的企業(yè)工作崗位的要求來培養(yǎng)學(xué)生所需掌握的知識和技能。目前高校中這兩種方式所存在的問題是:實訓(xùn)教學(xué)的形式化問題,實訓(xùn)教學(xué)是讓學(xué)生按照軟件開發(fā)不同崗位所需要的技能和知識來進(jìn)行,而不是給一個機(jī)房,讓學(xué)生在里面編程就解決了,實訓(xùn)課不等于實驗課;訂單式培養(yǎng)的問題是學(xué)生知識面狹窄,雖解決了實際就業(yè)的問題,也培養(yǎng)了學(xué)生適應(yīng)某個企業(yè)的崗位要求,但喪失的是學(xué)生應(yīng)該具備的完整、扎實的知識體系。
3 一體化教學(xué)方法
為了解決上述三方面的問題,有機(jī)地將教學(xué)與實際結(jié)合在一起,既讓學(xué)生掌握全面、扎實的知識體系,又讓學(xué)生具備實際工作崗位要求的技能,綜合軟件工程教學(xué)方法應(yīng)采取以下方法:
從課堂教學(xué)內(nèi)容上看,結(jié)合軟件工程的不同階段,如:可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、測試、維護(hù)等不同的軟件開發(fā)階段,在講述不同階段所使用的原理和方法的同時,要給學(xué)生講述每個階段的輸出,輸出的格式、標(biāo)準(zhǔn)。
從實踐教學(xué)內(nèi)容上看,讓學(xué)生掌握在不同開發(fā)階段所需掌握的開發(fā)工具是什么,如何使用,這樣讓學(xué)生對軟件開發(fā)有一個深刻的感性認(rèn)識,從而對軟件開發(fā)的過程有感性了解,避免了書本上抽象、難懂等問題。
課堂教學(xué)與實踐教學(xué)的統(tǒng)一,以實踐項目為例從項目開始進(jìn)行可行性研究,講述軟件工程原理和方法,以及每個階段所產(chǎn)生的文檔或者代碼,文檔和代碼的標(biāo)準(zhǔn)內(nèi)容是什么,到用實際的開發(fā)工具來進(jìn)行可行性分析,如:使用Microsoft Visio繪制系統(tǒng)流程圖、數(shù)據(jù)流圖等,利用Rational Rose進(jìn)行對象建模等。結(jié)合工具的使用,使軟件工程教學(xué)內(nèi)容以看得到、摸得著的方式逐步地傳授給學(xué)生,激發(fā)學(xué)生的積極性、主動性及創(chuàng)造性。
軟件工程課堂教學(xué)可采用分組討論。軟件生命周期的可行性研究和需求分析環(huán)節(jié)都要求開發(fā)人員和用戶進(jìn)行充分的交流。因此,在軟件工程的教學(xué)中可以讓學(xué)生參與教學(xué)過程,發(fā)表自己的看法,而且通過這種基于角色的討論,學(xué)生不僅掌握了需求分析的基本方法、充分認(rèn)識了需求分析的重要性,最終會大大地激發(fā)學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)自信心。
4 結(jié)論
綜上所述,軟件工程課程是一門綜合性、實踐性很強(qiáng)的課程。要想取得好的教學(xué)效果,應(yīng)該深入進(jìn)行軟件工程的教學(xué)改革。利用新的教學(xué)方式,激發(fā)學(xué)生主動學(xué)習(xí)理論知識的興趣,提高教學(xué)效果。當(dāng)然,學(xué)生也可以從教改理論和實踐的結(jié)合上,加深對軟件工程知識難點(diǎn)、重點(diǎn)的理解,進(jìn)一步深刻理解軟件工程過程和系統(tǒng)消化理論知識,訓(xùn)練項目設(shè)計的思路,鍛煉實際開發(fā)能力。
參考文獻(xiàn)
[1]Microsoft Corporation.office.省略/zh-cn/visio.
[2]宋波.Java Web應(yīng)用與開發(fā)教程[C].清華大學(xué)出版社,2006.
[3]吳建,汪杰.UML基礎(chǔ)與Rose建模案例[C].人民郵電出版社,2007.
[關(guān)鍵詞]軟件工程 項目驅(qū)動 教學(xué)改革
[作者簡介]范會聯(lián)(1971- ),男,重慶人,長江師范學(xué)院數(shù)學(xué)與計算機(jī)學(xué)院,副教授,碩士,主要從事軟件工程、智能信息處理的教學(xué)與研究工作。(重慶 408100)仲元昌(1968- ),男,四川南充人,重慶大學(xué)通信工程學(xué)院,副教授,博士,研究生導(dǎo)師,主要從事通信與測控系統(tǒng)、無線傳感器網(wǎng)絡(luò)等領(lǐng)域的教學(xué)與研究工作。(重慶 400030)
[基金項目]本文系2011年重慶市教委研究項目“基于RFID的校園安全防范系統(tǒng)研究與設(shè)計”的研究成果。(項目編號:KJ111304)
[中圖分類號]G642.3 [文獻(xiàn)標(biāo)識碼]A [文章編號]1004-3985(2013)05-0147-02
軟件產(chǎn)業(yè)是信息產(chǎn)業(yè)的核心、國民經(jīng)濟(jì)信息化的基礎(chǔ),已經(jīng)滲透到各個領(lǐng)域。相關(guān)數(shù)據(jù)顯示,我國軟件開發(fā)行業(yè)人才需要量已經(jīng)超過30 萬人,并仍以每年20%的速度增加,其中初級軟件開發(fā)工程師的需求量就高達(dá)20 萬人,軟件服務(wù)外包、3G 研發(fā)的人才缺口更大。但讓人困惑的是,近年來失業(yè)率排在前10 位的專業(yè)中涉及計算機(jī)科學(xué)與技術(shù)。一方面每年相當(dāng)一部分計算機(jī)專業(yè)畢業(yè)生就業(yè)困難,另一方面企業(yè)招聘不到對口的軟件人才,這說明學(xué)校培養(yǎng)的軟件人才與企業(yè)的實際需要存在較大差距。目前我國500 多所院校開設(shè)了計算機(jī)專業(yè),培養(yǎng)方式各具特色,但培養(yǎng)適應(yīng)企業(yè)需求的優(yōu)秀軟件開發(fā)人員,仍是教學(xué)實踐中值得進(jìn)一步研究和解決的問題。本文分析研究了軟件工程課程的特點(diǎn)及傳統(tǒng)教學(xué)實踐中涉及的普遍問題,提出在軟件工程課程的教學(xué)實踐中引用基于項目驅(qū)動的復(fù)合教學(xué)式理念,并從教學(xué)定位、教學(xué)內(nèi)容、教學(xué)方法、實踐教學(xué)等方面進(jìn)行了探索。
一、課程特點(diǎn)及教學(xué)定位
軟件工程是一門理論與實踐并重的課程,涉及內(nèi)容廣泛,從工程意義上講,包括軟件開發(fā)、維護(hù)和管理等活動的總體;從學(xué)科意義上講,包括與軟件開發(fā)相關(guān)的理論、原理、方法和技術(shù)。ACMCC2001 草案把軟件工程學(xué)分為七大核心專題:軟件過程和軟件生命周期模型、需求分析、軟件設(shè)計、測試和評估、軟件進(jìn)化、軟件項目管理、軟件工具和環(huán)境。為滿足社會對不同層次計算機(jī)專業(yè)學(xué)生在軟件工程方面知識和能力的要求,軟件工程課程應(yīng)設(shè)計成一個多層次的課程系列。針對計算機(jī)專業(yè)應(yīng)用型本科學(xué)生,將教學(xué)定位在兩個方面:一是從軟件生命周期的角度,講解軟件工程的基本概念、基本原理和基本方法;二是從工程應(yīng)用的角度,講解系統(tǒng)性、規(guī)范化的通用開發(fā)技術(shù)。軟件工程課程教學(xué)應(yīng)既重視理論知識和分析問題與解決問題的方法,又重視軟件工程實踐。課程教學(xué)目標(biāo)是使學(xué)生掌握需求分析、概要和詳細(xì)設(shè)計及軟件測試與維護(hù)等內(nèi)容,用軟件工程的原則、開發(fā)方法與技術(shù)實現(xiàn)中、小規(guī)模項目的開發(fā)與管理,使學(xué)生在基礎(chǔ)知識與技能、團(tuán)隊協(xié)作能力、分析與解決問題、談判與溝通能力、創(chuàng)新與發(fā)展能力等方面得到良好的訓(xùn)練,為將來從事大型軟件系統(tǒng)的開發(fā)與維護(hù)打下扎實的基礎(chǔ)。
二、傳統(tǒng)教學(xué)方法存在的問題
1.教學(xué)內(nèi)容枯燥、抽象、陳舊。目前的軟件工程教材偏向純理論介紹,主要講解方法學(xué),從結(jié)構(gòu)化或面向?qū)ο蟮慕嵌戎v解軟件開發(fā)過程的理論知識,缺少案例支撐。大部分學(xué)生對軟件項目概念的理解是建立在其他課程設(shè)計的基礎(chǔ)上,沒有軟件項目的經(jīng)驗,因而妨礙學(xué)生對軟件工程中基本概念的理解,如可行性分析、需求分析、需求變更、過程管理、質(zhì)量保障等,不明白為什么要做可行性分析、需求分析,以及需求變更的必然性及管理措施。隨著軟件系統(tǒng)向社會各方面的滲透以及軟件系統(tǒng)的規(guī)模不斷擴(kuò)大,對軟件系統(tǒng)的質(zhì)量要求越來越高,這對軟件工程課程的教學(xué)內(nèi)容提出了新的要求。從內(nèi)容上看,不僅要重視方法,還要重視開發(fā)工具與環(huán)境;不僅要重視開發(fā)過程,更要重視開發(fā)過程中的過程管理和質(zhì)量保證措施,這些知識和技能,不能僅僅依靠書本和課堂教學(xué)來獲得。
2.案例教學(xué)中采用的案例不當(dāng)。軟件工程的實踐性很強(qiáng),教學(xué)時一般采用案例教學(xué)法,方法的成效取決于選擇的案例,案例如果選擇不當(dāng),則教學(xué)效果肯定不好。很多教師在教學(xué)時,由于缺少實際軟件項目的開發(fā)和管理經(jīng)驗,導(dǎo)致案例的選取要么不貼近學(xué)生實際,如機(jī)票預(yù)訂、倉庫管理項目,學(xué)生缺少實際接觸經(jīng)驗,因而理解困難或不感興趣;要么選擇的案例規(guī)模較小,如簡單的成績管理系統(tǒng),在學(xué)生的角度來看,可以直接進(jìn)行設(shè)計和編碼,不清楚為什么要進(jìn)行可行性研究、需求分析;要么案例前后不連貫,如由于教師缺少實際項目開發(fā)經(jīng)歷,導(dǎo)致可行性分析的階段選用機(jī)票預(yù)訂,需求分析用倉庫管理,而設(shè)計又選用人事管理等現(xiàn)象,導(dǎo)致學(xué)生對軟件項目、軟件工程沒有建立完整的概念,缺乏對所學(xué)知識的整體認(rèn)識。
3.重講解、輕討論,缺乏實戰(zhàn)練習(xí)。軟件工程課程的實踐性要求很強(qiáng),在傳統(tǒng)軟件工程教學(xué)過程中,教師一味講解軟件工程的基本原理、理論,或一味分析一些簡單案例,忽視了學(xué)生主觀能動性的發(fā)揮,沒有讓學(xué)生參與教材內(nèi)容或案例的分析討論。雖然有實驗教學(xué)的要求,但一般只停留在組織學(xué)生編寫軟件項目設(shè)計文檔的單一環(huán)節(jié)上,由于學(xué)生沒有進(jìn)行實際項目的演練,教學(xué)效果不理想。盡管這種以教師講授為主的教學(xué)模式,在課堂教學(xué)中使用了一些情境教學(xué),但僅僅遵循原有理論教學(xué)過程模式,并未按典型工作任務(wù)模式完成情境教學(xué),培養(yǎng)出來的學(xué)生缺乏自主探索知識的能力和運(yùn)用知識解決實際問題的能力。因此,切實加強(qiáng)軟件工程教學(xué)的創(chuàng)新與改革至關(guān)重要。
三、項目驅(qū)動的復(fù)合教學(xué)模式
復(fù)合教學(xué)模式是以科學(xué)的教學(xué)理論為指導(dǎo),依托分組教學(xué)、研討、協(xié)作、活動參與等多種教學(xué)模式的相互交叉、相互滲透,并融合多元化的教學(xué)內(nèi)容、多樣性的教學(xué)形式、現(xiàn)代化的教學(xué)方法而形成的綜合性、立體性的教學(xué)模式。結(jié)合軟件工程課程特點(diǎn),提出“項目驅(qū)動的復(fù)合教學(xué)模式”,以項目為主體,組織學(xué)生以團(tuán)隊的形式參加項目分析、設(shè)計、實現(xiàn)和管理,在項目實施過程中,激勵學(xué)生自我認(rèn)識,引導(dǎo)學(xué)生獨(dú)立思考與創(chuàng)新,營造討論爭辯的機(jī)會和氣氛,并以討論的形式鼓勵學(xué)生表達(dá)各自的觀點(diǎn)和思想,從而積極主動地參與分析、概括或評價等思維活動,將軟件工程的分析、設(shè)計、實現(xiàn)、管理等各個知識點(diǎn)的講解融入項目實施的各個階段。項目驅(qū)動的復(fù)合教學(xué)模式由以下幾個環(huán)節(jié)構(gòu)成:
1.學(xué)生分組。學(xué)生按系統(tǒng)分析、設(shè)計、實現(xiàn)、測試的角色組成4~5人的開發(fā)團(tuán)隊,選舉一人作為項目負(fù)責(zé)人,明確各自的分工和職責(zé),并協(xié)作完成,以培養(yǎng)學(xué)生的團(tuán)隊合作精神、溝通能力和協(xié)調(diào)管理等能力。隨著教學(xué)進(jìn)度展開,把項目實施與理論教學(xué)結(jié)合起來。
2.確定項目。項目的確定分為教學(xué)案例和演練項目。教學(xué)案例是教師用于組織課堂教學(xué)講解的項目,由教師根據(jù)學(xué)生的特點(diǎn)確定。演練項目是在教師的指導(dǎo)下由小組根據(jù)各自的興趣、特長自行選擇,用于課后同步訓(xùn)練。
3.教學(xué)內(nèi)容及方法的改革。教學(xué)內(nèi)容的選取以整合相關(guān)課程中相同知識點(diǎn)使教學(xué)內(nèi)容更加精煉為指導(dǎo)思想,根據(jù)市場和企業(yè)對軟件人才的需求,將重要、經(jīng)典的基本概念、知識點(diǎn)連同相應(yīng)的技能串聯(lián)起來講授和實踐。軟件工程課程的教學(xué)內(nèi)容將軟件過程模型、工程管理、需求工程、分析建模、軟件設(shè)計、軟件構(gòu)造、測試以及軟件交付與維護(hù)為骨干,融入數(shù)據(jù)庫原理、計算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等相關(guān)課程知識,按和J2EE兩個方向構(gòu)建組合式、模塊化教學(xué)內(nèi)容。在教學(xué)方法上,以培養(yǎng)學(xué)生的獨(dú)立思考和創(chuàng)新思維為目標(biāo),將理論知識融入教學(xué)案例的講解中,通過分析、演繹、推斷、歸納,引導(dǎo)學(xué)生認(rèn)真分析項目中體現(xiàn)的軟件工程領(lǐng)域的問題,運(yùn)用啟發(fā)式教學(xué)方法建立教師、學(xué)生雙向交互的教與學(xué)通道,啟發(fā)學(xué)生對軟件開發(fā)問題的認(rèn)識和思考,激發(fā)學(xué)習(xí)的主動性,使其通過積極的思維和討論獲得知識。
4.演練項目的過程管理。演練項目作為課外同步訓(xùn)練項目,教師以需求方與技術(shù)顧問的雙重身份參與其中。作為需求方,教師針對演練項目提供大致的功能需求,鼓勵學(xué)生通過分析問題、調(diào)查研究、分析需求和管理需求等活動,學(xué)習(xí)軟件需求工程的基礎(chǔ)知識和基本技能。作為技術(shù)顧問,教師為學(xué)生提供相應(yīng)的學(xué)習(xí)資源和解決問題的方法及手段的建議,引導(dǎo)學(xué)生獨(dú)立思考和討論。演練項目的實施按項目規(guī)劃、迭代開發(fā)兩個階段組織進(jìn)行。在項目規(guī)劃階段,完成定義項目開發(fā)過程模型、定義項目組織結(jié)構(gòu)、分配人員角色、估算項目規(guī)模、制訂進(jìn)度計劃。迭代開發(fā)階段是由需求分析、軟件設(shè)計、數(shù)據(jù)庫設(shè)計、模塊開發(fā)與測試各環(huán)節(jié)組成的循環(huán)逐步求精的過程。整個演練項目的實施要求在規(guī)范的、可控的過程中完成,具體保障措施如下:一是明確開發(fā)任務(wù)并落實到小組的每個成員,由項目負(fù)責(zé)人填寫任務(wù)跟蹤表,監(jiān)督任務(wù)執(zhí)行情況,小組各成員通過不同角色的任務(wù)分工,共同協(xié)作完成項目開發(fā)任務(wù);二是實行每周例會制度,保證所有成員在規(guī)定時間進(jìn)行討論交流;三是將需求分析、軟件設(shè)計、模塊開發(fā)、集成測試等關(guān)鍵階段產(chǎn)品置于配置管理的控制下,并實行階段評審機(jī)制,要求各項目組在完成每個里程碑的任務(wù)后,提交相應(yīng)技術(shù)文檔,推薦一名代表就該階段完成工作情況、遇到的問題及解決方法作小型匯報,并組織學(xué)生進(jìn)行技術(shù)評審。
5.演練項目驗收。在完成演練項目的開發(fā)任務(wù)后,由教師組織項目驗收討論會,要求每個小組演示項目成果,從系統(tǒng)背景、團(tuán)隊介紹、采用的技術(shù)、系統(tǒng)優(yōu)勢及存在問題等方面匯報,演示系統(tǒng)的各項功能,回答教師和同學(xué)的提問,以團(tuán)隊的形式提交軟件需求規(guī)格說明書、軟件設(shè)計文檔、項目代碼、軟件測試文檔、軟件過程管理文檔、每周工作報告以及任務(wù)跟蹤表等材料。
6.課程考核。課程考核分為理論考核和實踐考核兩個方面。理論考核采取開卷考試,要求學(xué)生在規(guī)定時間內(nèi)完成給定案例的分析和設(shè)計方案,重點(diǎn)考核學(xué)生思考、分析和解決問題的能力;學(xué)生的實踐考核成績由小組成績和個人成績兩部分組成,小組成績根據(jù)各小組提交的演練項目結(jié)題材料,并結(jié)合項目驗收匯報情況進(jìn)行評定;個人成績根據(jù)每周工作報告和任務(wù)跟蹤表由小組組長和教師進(jìn)行綜合評價。
進(jìn)行教學(xué)改革的最終目的是培養(yǎng)符合市場和社會需求的創(chuàng)新型軟件人才,在基于項目驅(qū)動的軟件工程課程復(fù)合式教學(xué)模式下,培養(yǎng)的人才具有扎實的理論基礎(chǔ)知識,通過相關(guān)知識的組合式、模塊化的理論教學(xué)方法,強(qiáng)化學(xué)生的認(rèn)知,使其更牢固地掌握理論知識;具有獨(dú)立思考和基本的創(chuàng)新能力,在復(fù)合式教學(xué)過程中,通過引導(dǎo)、啟發(fā)學(xué)生分析問題,積極思考和討論,培養(yǎng)學(xué)生的獨(dú)立思考和自主創(chuàng)新能力;具有團(tuán)隊協(xié)作精神,以項目驅(qū)動小組協(xié)作開發(fā),培養(yǎng)團(tuán)隊合作精神。在項目進(jìn)行的各個階段,要通過明確任務(wù)、落實責(zé)任、任務(wù)跟蹤、協(xié)作開發(fā)、定期討論、階段評審和項目驗收各個環(huán)節(jié)的協(xié)同工作,達(dá)到培養(yǎng)學(xué)生的團(tuán)隊精神與合作意識的目的。
[參考文獻(xiàn)]
[1]李超,謝坤武,向軍.軟件工程課程教學(xué)內(nèi)容及方法探索[J].計算機(jī)時代,2010(7).
[2]教育部高等學(xué)校計算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會.高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)核心課程教學(xué)實施方案[M].北京:高等教育出版社,2010.
[3]龐雄文.基于實例的“軟件工程”課程教學(xué)方法[J].現(xiàn)代教育技術(shù),2010(S1).
[4]溫穎,周昕.項目教學(xué)法在軟件工程教學(xué)中的應(yīng)用[J].科技信息,2010(24).
【關(guān)鍵詞】數(shù)據(jù)庫軟件工程作用設(shè)計
一、前言
目前,數(shù)據(jù)庫設(shè)計過程中最常用的方法就是根據(jù)設(shè)計要求,順序或獨(dú)立地完成物理結(jié)構(gòu)和邏輯結(jié)構(gòu)的設(shè)計。由于這兩種結(jié)構(gòu)是使用復(fù)雜的映射進(jìn)行聯(lián)接的,所以設(shè)計的數(shù)據(jù)庫結(jié)構(gòu)比較差,這種結(jié)構(gòu)的特點(diǎn)是不靈活、效率低,這主要是設(shè)計過程的復(fù)雜性造成的。因此,在數(shù)據(jù)庫設(shè)計中引入軟件工程技術(shù)具有積極的意義。本文主要對數(shù)據(jù)庫設(shè)計過程中各個階段的軟件工程技術(shù)進(jìn)行了介紹,并與數(shù)據(jù)庫設(shè)計的實踐相結(jié)合,分析了軟件工程技術(shù)對數(shù)據(jù)庫設(shè)計的作用。
二、軟件設(shè)計周期中的工程技術(shù)
(一)軟件的生存周期
軟件生存周期通常包括要求分析、規(guī)格說明、設(shè)計、編碼、測試和維護(hù)六個環(huán)節(jié),前兩個環(huán)節(jié)主要是針對用戶的要求,明確"做什么",而后面幾個環(huán)節(jié)則是針對計算機(jī)系統(tǒng),明確"如何做"。
在軟件設(shè)計的過程要尤其注意以下幾個問題:
1、軟件的設(shè)計是為了人們更好的處理問題;
2、軟件設(shè)計結(jié)果是供人們使用的產(chǎn)品;
3、軟件設(shè)計和系統(tǒng)工程的聯(lián)系非常密切;
4、所有設(shè)計都要采用結(jié)構(gòu)化方法;
5、設(shè)計驗證過程要貫穿軟件生存周期的始終。
(二)規(guī)格說明書
在規(guī)格說明環(huán)節(jié),要根據(jù)用戶需求輸入數(shù)據(jù),整理出對應(yīng)的規(guī)格說明書,然后按照一定形式把用戶"要求"表達(dá)出來,不允許出現(xiàn)二義性。這在軟件開發(fā)過程中具有十分重要的意義。實踐證明,應(yīng)用結(jié)構(gòu)分析方法對規(guī)格說明書進(jìn)行設(shè)計是必要的,其設(shè)計步驟如下:
1、以用戶活動圖為基礎(chǔ),建立數(shù)據(jù)流程圖;
2、設(shè)計數(shù)據(jù)項圖。
其中,流程圖主要包括數(shù)據(jù)流名與加工活動名兩部分,而數(shù)據(jù)項圖則包括許多名特表。流程圖中的所有名字都能夠在數(shù)據(jù)項圖中查找到相應(yīng)的名特表。
(三)軟件設(shè)計
設(shè)計階段的主要任務(wù)是將規(guī)格說明書的內(nèi)容翻譯成基本的系統(tǒng)元素--軟件、硬件、人、以及各部分間的通訊。這四個基本實體都保存在信息系統(tǒng)中。
軟件設(shè)計過程中首先要對軟件、硬件、人和固件等各個部分的功能信息進(jìn)行收集,將規(guī)格說明書數(shù)據(jù)輸入系統(tǒng),構(gòu)造反映用戶需求的基本功能,并重復(fù)進(jìn)行下級功能的設(shè)計。
根據(jù)軟件設(shè)計開發(fā)的特點(diǎn),除應(yīng)用系統(tǒng)工程技術(shù)以外,還要注意以下幾點(diǎn):
1、為有效控制軟件系統(tǒng)的研制復(fù)雜性,需要應(yīng)用一些規(guī)范對設(shè)計人員形成約束;
2、基于相應(yīng)規(guī)范,明確"什么時間做","怎么做";
3、設(shè)計多個方案,明確規(guī)定選擇標(biāo)準(zhǔn)。
其次,要對軟件系統(tǒng)結(jié)構(gòu)進(jìn)行設(shè)計,這是一個層次化模塊結(jié)構(gòu),及程序結(jié)構(gòu)圖。
三、數(shù)據(jù)庫設(shè)計中的軟件工程技術(shù)應(yīng)用
應(yīng)用軟件工程技術(shù)對數(shù)據(jù)庫進(jìn)行設(shè)計主要包括如下過程:
(一)可行性分析階段
該階段主要針對現(xiàn)有的計算機(jī)系統(tǒng)和人工進(jìn)行分析,從經(jīng)濟(jì)、技術(shù)、操作可行性等多個方面進(jìn)行考察,判斷系統(tǒng)能否勝任開發(fā)的任務(wù)。在本階段,需要撰寫可行性報告。
(二)項目開發(fā)計劃制定
在系統(tǒng)可行的前提下,分析員要著手制定相應(yīng)的項目開發(fā)計劃,計劃要對系統(tǒng)開發(fā)中的人員組成情況、人員分配情況、項目開發(fā)進(jìn)度、項目驗收標(biāo)準(zhǔn)和開發(fā)關(guān)鍵問題等進(jìn)行介紹。數(shù)據(jù)庫系統(tǒng)開發(fā)過程中的用戶界面設(shè)計十分重要,一個單板的系統(tǒng)界面無法獲得客戶的認(rèn)同,因此,要將界面設(shè)計師考慮在內(nèi)。
(三)需求分析
數(shù)據(jù)庫系統(tǒng)的需求包括對數(shù)據(jù)的需求分析、對系統(tǒng)功能的需求分析、對系統(tǒng)性能的需求分析、對運(yùn)行環(huán)境的分析及未來可能的升級需求等內(nèi)容。該階段需要完成系統(tǒng)設(shè)計的需求分析報告。
(四)數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫系統(tǒng)開發(fā)中的重要內(nèi)容,數(shù)據(jù)庫的設(shè)計質(zhì)量會對應(yīng)用系統(tǒng)的實現(xiàn)效果和效率產(chǎn)生至關(guān)重要的影響,而好的數(shù)據(jù)庫結(jié)構(gòu)不僅能夠提高數(shù)據(jù)的存儲效率、數(shù)據(jù)的一致性和完整性,也更加有利于數(shù)據(jù)庫系統(tǒng)程序的實現(xiàn)。
首先以數(shù)據(jù)需求分析為基礎(chǔ),對數(shù)據(jù)庫的概念結(jié)構(gòu)進(jìn)行設(shè)計,進(jìn)而實現(xiàn)滿足用戶需求的各類實體和它們間的關(guān)系,并在此基礎(chǔ)上繪制系統(tǒng)實體聯(lián)系圖。然后,對數(shù)據(jù)庫的邏輯結(jié)構(gòu)進(jìn)行設(shè)計,把在概念結(jié)構(gòu)設(shè)計過程中建立的E-R圖轉(zhuǎn)換為數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型,并以實體及實體間關(guān)系為基礎(chǔ)形成數(shù)據(jù)庫中的各個表和表關(guān)系。
數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計包括物理設(shè)備的數(shù)據(jù)存取方法和存取結(jié)構(gòu)設(shè)計。通常由兩個環(huán)節(jié)構(gòu)成,首先是對數(shù)據(jù)庫物理結(jié)構(gòu)進(jìn)行確定,然后對結(jié)構(gòu)的空間和時間效率進(jìn)行評價,進(jìn)而綜合考慮數(shù)據(jù)庫的物理結(jié)構(gòu)是否合理。
(五)概要設(shè)計和詳細(xì)設(shè)計
總的來說,系統(tǒng)的概要設(shè)計需要經(jīng)歷兩個階段,一是確定系統(tǒng)的實施方案,二是設(shè)計軟件結(jié)構(gòu),而詳細(xì)設(shè)計則要確定如何實現(xiàn)具體的系統(tǒng),這部分主要是設(shè)計程序框架,而不是編寫程序。
四、結(jié)語
本文主要根據(jù)軟件工程技術(shù)的開發(fā)流程對數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計進(jìn)行了討論。數(shù)據(jù)庫應(yīng)用系統(tǒng)在設(shè)計開發(fā)過程中引入軟件工程技術(shù)能夠提高數(shù)據(jù)庫設(shè)計的效率,增加數(shù)據(jù)庫的靈活性和可用性,對提高數(shù)據(jù)庫的設(shè)計質(zhì)量具有積極的意義。
參考文獻(xiàn)
[1]伍華健,劉力,洪月華.軟件工程在軟件開發(fā)過程中的應(yīng)用研究[J].玉林師范學(xué)院學(xué)報.2006(03).
[關(guān)鍵詞]軟件工程 項目導(dǎo)向 啟發(fā)式 教學(xué)模式
[中圖分類號] G642 [文獻(xiàn)標(biāo)識碼] A [文章編號] 2095-3437(2015)11-0165-02
一、引言
隨著軟件工程和物聯(lián)網(wǎng)技術(shù)在各領(lǐng)域的廣泛應(yīng)用,軟件工程開發(fā)的規(guī)模也在日益增大,因此,對軟件設(shè)計及運(yùn)行維護(hù)人員的工程能力要求越來越高。而在大多數(shù)計算機(jī)和軟件工程專業(yè)的課程設(shè)置中,對學(xué)生的軟件設(shè)計、開發(fā)及運(yùn)行維護(hù)能力的培養(yǎng)往往只體現(xiàn)在軟件工程這門課上,如何通過軟件工程的教學(xué)最大限度地提高學(xué)生的實踐能力是擺在我們教學(xué)中的一個重要課題。鑒于此,我們提出了基于項目導(dǎo)向的啟發(fā)式軟件工程教學(xué)模式,以最大潛能的提高學(xué)生的學(xué)習(xí)積極性,增強(qiáng)學(xué)生的實踐開發(fā)能力。[1]
二、目前教學(xué)中存在的主要問題
(一)教學(xué)內(nèi)容較抽象,方法單一
目前的軟件工程課堂教學(xué)主要以教師課堂授課為主,又以理論講授為主,忽視了學(xué)生主觀能動性的發(fā)揮,大部分學(xué)生對軟件工程的理解為只要掌握了基本概念、原理,就能達(dá)到軟件工程課程的要求。單一的課堂授課、枯燥無味的理論加上較抽象的內(nèi)容無疑影響了實際教學(xué)效果。[2]隨著軟件規(guī)模不斷擴(kuò)大以及不斷向各領(lǐng)域的滲透,對軟件質(zhì)量保障要求越來越高,這對軟件工程課程的教學(xué)內(nèi)容及教學(xué)模式提出了新的要求。從教學(xué)內(nèi)容上看,我們既要注重軟件設(shè)計的基本原理與方法,同時還要注重軟件開發(fā)的整個過程與軟件的質(zhì)量保證措施。
(二)實踐教學(xué)環(huán)節(jié)薄弱
軟件工程是一門理論性與實踐性比較強(qiáng)的綜合性課程,很多軟件工程學(xué)院只注重理論課程的教學(xué),教學(xué)內(nèi)容比較抽象,學(xué)生幾乎沒有實踐的機(jī)會;有的學(xué)院雖然設(shè)有一定比例的實驗課程,但課時比較少,幾個實驗下來,學(xué)生也只是能撰寫一些相關(guān)的文檔資料,沒有真正體會到軟件工程在軟件開發(fā)中所發(fā)揮的作用。
(三)教學(xué)中采用的案例缺乏完整性和實用性
部分教師在教學(xué)時,由于缺乏實際軟件項目的設(shè)計、開發(fā)及項目管理的經(jīng)驗,導(dǎo)致教學(xué)案例的選取偏離學(xué)生實際,即使講授一些例子,由于學(xué)生缺少實際開發(fā)經(jīng)驗,也很難理解軟件開發(fā)的全過程。有的教師所選案例要么規(guī)模較小,如簡單的學(xué)生成績管理系統(tǒng)。在學(xué)生看來,不需要完全遵循軟件工程的設(shè)計過程,如不需按可行性研究等三個時期8個階段來執(zhí)行,而是直接進(jìn)行設(shè)計和源代碼的編寫,學(xué)生還不清楚可行性研究和需求分析的目的及意義。這導(dǎo)致學(xué)生對軟件項目、軟件工程沒有建立系統(tǒng)完整的概念體系,缺乏對所學(xué)知識的整體認(rèn)識。[5]
三、項目導(dǎo)向的啟發(fā)式教學(xué)模式
針對上述問題,要使軟件工程的教學(xué)真正能充分調(diào)動學(xué)生的積極性,改變以往難學(xué)、難教的局面,不斷提高學(xué)生的實踐動手能力,有效地改善教學(xué)效果,我們必須從教學(xué)理念的更新、教學(xué)模式的改革等方面著手。由于軟件的不可預(yù)見性,定義“需要做什么”成為軟件開發(fā)的根本問題。
項目導(dǎo)向的啟發(fā)式教學(xué)方法是在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上,有別于傳統(tǒng)教學(xué)的新型教學(xué)方法。建構(gòu)既是對新知識的理解與掌握,同時又包含對原有經(jīng)驗和知識的改造和重組,形成新的綜合知識建構(gòu)。該方法提倡以學(xué)生為中心,教師在整個教學(xué)過程中起組織者、指導(dǎo)者和促進(jìn)者的作用。[3]
(一)理論教學(xué)
基于項目導(dǎo)向的啟發(fā)式軟件工程教學(xué)過程主要包括軟件項目的選取、教學(xué)內(nèi)容的選取及教學(xué)方法、教學(xué)組織,整個過程是教師與學(xué)生相互討論、共同參與的過程。
1.教學(xué)內(nèi)容的選取。項目導(dǎo)向的啟發(fā)式教學(xué)關(guān)鍵是選擇好設(shè)計開發(fā)的項目,所選項目要與所講授的內(nèi)容息息相關(guān),教學(xué)內(nèi)容選取要以教學(xué)大綱以及人才培養(yǎng)目標(biāo)為依據(jù),所選教學(xué)內(nèi)容的理論與技術(shù)應(yīng)包括課程的核心知識點(diǎn),確保理論與實踐能緊密結(jié)合在一起,同時保證所選案例是可實現(xiàn)的,學(xué)生容易理解的,具有一定規(guī)模且可操作性比較強(qiáng)的。
軟件工程的教學(xué)內(nèi)容主要講授將軟件過程模型、可行性研究、需求分析、軟件設(shè)計、軟件構(gòu)造、測試以及軟件維護(hù)等內(nèi)容,同時融入數(shù)據(jù)庫設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計等相關(guān)課程知識,按照面向數(shù)據(jù)流和面向?qū)ο髢蓚€方向構(gòu)建組合式的、模塊化的教學(xué)內(nèi)容。
在教學(xué)的開始階段選擇一些典型的“軟件危機(jī)”案例作為這門課程的導(dǎo)入,如Ariane5火箭、美國愛國者導(dǎo)彈防御系統(tǒng)曾經(jīng)應(yīng)用于海灣戰(zhàn)爭對抗伊拉克的飛毛腿導(dǎo)彈等,讓學(xué)生們真正了解軟件失敗問題癥結(jié)所在,認(rèn)識到軟件的本質(zhì)特性造成了軟件開發(fā)的諸多問題,軟件本質(zhì)上的復(fù)雜性使軟件產(chǎn)品難以理解,影響軟件過程的有序性和軟件產(chǎn)品的可靠性,并初步建立規(guī)范化的軟件開發(fā)意識。
在教學(xué)過程中,選取1-2個典型的,具有一定規(guī)模的案例(如高校教務(wù)管理系統(tǒng))作為典型案例,分別采用傳統(tǒng)的結(jié)構(gòu)化設(shè)計方法和面向?qū)ο蟮脑O(shè)計方法,分別講授軟件生命周期中的可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼實現(xiàn)及測試等核心過程,并著重介紹每個階段中要重點(diǎn)解決的問題,以及所采用的方法和工具。[4]
2.教學(xué)方法的設(shè)計。在教學(xué)方法上,以培養(yǎng)學(xué)生獨(dú)立思考和創(chuàng)新思維為主要目標(biāo),以項目為主體,組織學(xué)生以團(tuán)隊的形式參加項目分析、設(shè)計、開發(fā)和運(yùn)行,啟發(fā)式的將抽象的理論知識融入教學(xué)實踐的講解中,通過分析、模擬、仿真,引導(dǎo)學(xué)生分析項目中所體現(xiàn)的軟件工程本質(zhì)的問題,讓學(xué)生真正能掌握軟件工程的設(shè)計思想。[3]
(二)實踐教學(xué)
在課堂講授的同時,每個環(huán)節(jié)我們都配備了相應(yīng)的實驗環(huán)節(jié),實驗教學(xué)與課堂教學(xué)保持同步進(jìn)行,以更好地激發(fā)學(xué)生的學(xué)習(xí)興趣,鞏固所學(xué)的理論知識,真正掌握軟件工程的設(shè)計、開發(fā)和維護(hù)管理的全過程。
軟件工程項目實踐教學(xué)的實施包括項目實踐教學(xué)方法、項目實踐內(nèi)容和項目實踐要求。項目實踐進(jìn)度與課堂教學(xué)同步,項目組根據(jù)項目需求,制訂項目計劃,進(jìn)行分析與設(shè)計,進(jìn)一步熟悉軟件開發(fā)過程及方法,同時提交規(guī)范的軟件分析與設(shè)計文檔。學(xué)生在鞏固課堂所學(xué)的理論知識的基礎(chǔ)上,結(jié)合實際項目進(jìn)行實踐,使學(xué)生的應(yīng)用能力、合作能力和全局觀念等專業(yè)素質(zhì)得到有效提高。[3] [5]
1.學(xué)生分組。學(xué)生按照項目的分析、設(shè)計、編碼實現(xiàn)、測試各個角色組成2-3人的開發(fā)團(tuán)隊,同時選取一人作為項目負(fù)責(zé)人,同時明確各自的分工,并協(xié)作完成,以培養(yǎng)學(xué)生的團(tuán)隊合作精神、溝通能力和協(xié)調(diào)管理等能力。
2.項目設(shè)計。各小組首先應(yīng)選擇一個比較了解且具有一定規(guī)模的實際MIS管理系統(tǒng),便于學(xué)生進(jìn)行現(xiàn)場調(diào)研,獲取準(zhǔn)確而可靠的需求,也可參與到教師的科研項目中,然后嚴(yán)格按照軟件工程的設(shè)計思想、軟件過程的規(guī)范,獨(dú)立完成項目的可行性分析、需求分析、設(shè)計、實現(xiàn)與測試。各小組在每個階段結(jié)束后應(yīng)提交相應(yīng)的設(shè)計文檔,教師對其進(jìn)行檢查并在全班討論交流,對檢查中發(fā)現(xiàn)的問題和不足,要進(jìn)行改進(jìn)和完善,然后進(jìn)入下一個階段的設(shè)計,直至最終提交產(chǎn)品,完成各階段的任務(wù)。
3.模擬演示。在項目結(jié)束后組織答辯與演示,首先由小組長對項目的功能及基本情況作一個簡要講解,并介紹其本人在項目中所做的工作。然后讓每個同學(xué)說明在整個項目開發(fā)過程中自己所完成的任務(wù),并進(jìn)行演示。教師在其間可以針對每個同學(xué)在項目中實際負(fù)責(zé)的部分進(jìn)行提問,現(xiàn)場進(jìn)行評分并計入期末總成績,最后項目組提交系統(tǒng)和設(shè)計的總體報告。[5]
四、結(jié)束語
基于項目導(dǎo)向的啟發(fā)式軟件工程教學(xué)模式提高了學(xué)生的主動性和積極性,采用理論與實踐相結(jié)合、案例講解、項目實踐并重的教學(xué)模式能真正讓學(xué)生理解掌握基本理論。同時,學(xué)生又經(jīng)歷了軟件開發(fā)的全過程,鍛煉了學(xué)生對MIS管理系統(tǒng)的分析設(shè)計能力、編程測試能力和軟件維護(hù)的能力,真正做到了學(xué)以致用,有效解決了以往軟件工程教學(xué)中存在的理論與實踐嚴(yán)重脫節(jié)、學(xué)生學(xué)習(xí)興趣不高等教學(xué)難題,取得了較好的教學(xué)效果。
[ 注 釋 ]
[1] 郁書好,蘇守寶,劉正余,等.基于項目驅(qū)動的軟件工程教學(xué)模式研究[J].皖西學(xué)院學(xué)報,2009(10).
[2] Jacob Sukhodolsky.Teaching So ftwar e Eng ineeringTo Under gr aduates[C].Pro ceeding s of the 2003 Int ernationalCo nfer ence o n Informat ion Sy st ems and Eng ineer ing,Montreal,Quebec,Canada pp.165-173,2003.
[3] 秦放等.案例驅(qū)動與項目導(dǎo)向結(jié)合的軟件工程課程教學(xué)模式[J].計算機(jī)教育,2013(5).
關(guān)鍵詞:軟件工程方法;醫(yī)療;軟件開發(fā)
隨著我國社會經(jīng)濟(jì)的逐漸發(fā)展,科學(xué)技術(shù)的不斷進(jìn)步促進(jìn)生產(chǎn)力提高,各行各業(yè)都開始應(yīng)用先進(jìn)技術(shù)。在醫(yī)療系統(tǒng),近年來在高新技術(shù)的運(yùn)用下,已廣泛部署了醫(yī)院信息系統(tǒng)(HIS),其中包括病理信息系統(tǒng)(PIS)、影響歸檔和通信系統(tǒng)(PACS)等一系列信息系統(tǒng)與信息技術(shù)平臺。這些新平臺的運(yùn)用極大提高了醫(yī)院的工作效率,簡化了醫(yī)院的辦事流程。研究現(xiàn)代軟件工程方法在醫(yī)療軟件中的應(yīng)用,對于今后及相當(dāng)長的一段時間內(nèi)醫(yī)療軟件的發(fā)展具有重要的理論和現(xiàn)實意義。
1現(xiàn)代軟件工程特點(diǎn)
現(xiàn)代軟件工程是當(dāng)前科學(xué)技術(shù)在軟件領(lǐng)域的一個重要運(yùn)用。它依托于計算機(jī)技術(shù)為主的硬件和互聯(lián)網(wǎng)為載體的軟件,在軟件開發(fā)方面實現(xiàn)了系統(tǒng)化、規(guī)范化和可定量化。而在醫(yī)療系統(tǒng)方面的運(yùn)用,主要體現(xiàn)在較為廣泛運(yùn)用的醫(yī)院信息系統(tǒng)(HospitalInformationSystem,HIS)。HIS與傳統(tǒng)醫(yī)療軟件工程相比,具有顯而易見的特點(diǎn),其具有包括適用性、有效性、可修改性、可靠性、可理解性、可移植性等一系列重要特性。HIS的這些特點(diǎn)保證了其在醫(yī)療相關(guān)行業(yè)及系統(tǒng)中的有效合理運(yùn)用,HIS是目前運(yùn)用較為廣泛的醫(yī)院信息系統(tǒng)。
2醫(yī)療軟件工程方法
相當(dāng)于企業(yè)生命周期的理論,軟件生命周期在軟件工程思想中也是一個非常重要的概念。它指的是軟件工程開始開發(fā)到報廢的全部過程,這一系列過程中包含了項目的各個不同的階段。包括可行性研究、項目開發(fā)、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試和維護(hù)這7個階段,通過了解這些不同的階段,對于整個軟件工程就有了更加詳細(xì)的了解。同時為了更好地了解軟件生命周期的活動,又提出了瀑布模型、循環(huán)模型、演化模型等一系列模型,瀑布模型是當(dāng)前較為廣泛采用的一種模型,它通過對于每個階段不同的循環(huán)反饋,來對開發(fā)過程中出現(xiàn)的各個階段的循環(huán)實現(xiàn)動態(tài)反饋,最終開發(fā)出滿足醫(yī)療業(yè)務(wù)需求的軟件系統(tǒng)。
3案例分析
3.1醫(yī)院PIS開發(fā)案例
PIS全稱是PathologyInformationSystem,譯為病理信息系統(tǒng),是將病理報告分析流程納入醫(yī)院統(tǒng)一信息化平臺中的一個一體化信息系統(tǒng),在該系統(tǒng)中可以將病理報告分析流程納入醫(yī)院統(tǒng)一信息化平臺中,規(guī)范病理檢查工作流程,并對數(shù)據(jù)進(jìn)行統(tǒng)計與分析的一個綜合病理信息系統(tǒng),具有綜合性和系統(tǒng)性。PIS在某市醫(yī)院中具體應(yīng)有的案例情況如下,該項目于2010年正式啟動,經(jīng)過兩次開發(fā),在2012年卻宣告失敗和破產(chǎn)。該項目開發(fā)中,合作的軟件公司宣稱具有相對成熟的PIS產(chǎn)品,該公司派出了一名工程師到醫(yī)院進(jìn)行開發(fā)和部署,工程師與醫(yī)院相關(guān)技術(shù)部門人員進(jìn)行交流后,根據(jù)提出的相關(guān)意見對軟件進(jìn)行修改,然后將修改后的軟件放到病理科試用,然后讓試用人員提出相應(yīng)的修改意見。病理科工作人員在實際應(yīng)用的過程中發(fā)現(xiàn),對軟件的實際期望值與理想值存在較大的落差,對于軟件的使用非常不滿意。后續(xù)軟件公司和醫(yī)院相關(guān)人員本著達(dá)成共識的想法,召開了協(xié)調(diào)會,隨后又根據(jù)醫(yī)院工作人員的要求對軟件進(jìn)行了數(shù)次修改,但始終無法達(dá)成共識,不得不以軟件開發(fā)失敗告終。從這個案例可以看出,這次軟件開發(fā)的失敗不僅僅是軟件公司一方造成的,雙方都有責(zé)任。這個案例也給了我們啟發(fā),在軟件開發(fā)的過程中,要統(tǒng)一安排和規(guī)劃,要明確人員職責(zé)分工,在開發(fā)者與使用者之間要建立良好的溝通機(jī)制,同時對于開發(fā)的工作量,要進(jìn)行定量和定性的分析,并得出綜合性的結(jié)果。這些都需要我們在開發(fā)軟件時參考和借鑒。
3.2醫(yī)院監(jiān)護(hù)系統(tǒng)開發(fā)案例
在經(jīng)歷了PIS項目開發(fā)失敗之后,總結(jié)經(jīng)驗,在后續(xù)的醫(yī)院監(jiān)護(hù)系統(tǒng)開發(fā)過程中要求嚴(yán)格遵循軟件工程開發(fā)的思想。在開發(fā)之前,首先對系統(tǒng)進(jìn)行了可行性分析,分析了醫(yī)院監(jiān)護(hù)系統(tǒng)開發(fā)的優(yōu)勢、劣勢,并且提出了在開發(fā)過程中可能會遇到的一些問題,給予重點(diǎn)關(guān)注。隨后,對于用戶的需求進(jìn)行了詳細(xì)的論證和充分的調(diào)研,通過數(shù)據(jù)處理、調(diào)研問卷和訪談的形式,充分了解用戶需求。隨后,對于要開發(fā)的軟件系統(tǒng)進(jìn)行了功能模塊需求分析,根據(jù)各模塊對不同用途的開發(fā)者進(jìn)行劃分,然后在統(tǒng)一的大框架、格式和規(guī)范中進(jìn)行功能模塊開發(fā)和結(jié)構(gòu)開發(fā),確保了各功能模塊結(jié)構(gòu)清晰和完整統(tǒng)一。隨后,在軟件開發(fā)的測試階段,嚴(yán)格根據(jù)現(xiàn)實中各種數(shù)據(jù)需求,按照現(xiàn)實標(biāo)準(zhǔn)采集大樣本的數(shù)據(jù),以保證測試結(jié)果真實可靠,能夠?qū)浖暮罄m(xù)改進(jìn)提供可操作和可實施的建議。在這樣的嚴(yán)格要求下,該軟件的開發(fā)取得了成功,并且在醫(yī)院臨床上得到了推廣,且得到了一致好評。
3.3對比分析
通過前面兩個案例對比分析,可以總結(jié)參考性的建議。首先,開發(fā)前進(jìn)行充分的需求論證和分析是必須的,這對后續(xù)軟件開發(fā)的目標(biāo)和導(dǎo)向提供了較為詳細(xì)的參考和建議。其次,在充分調(diào)研的基礎(chǔ)上,還要系統(tǒng)了解臨床用戶的需求,只有充分了解用戶的需求才能明白軟件的開發(fā)和研究方向。在軟件的具體開發(fā)過程中,要嚴(yán)格按照計劃進(jìn)行,成立項目組,需要醫(yī)院相關(guān)工作人員參與,他們對于軟件應(yīng)有豐富的了解和切身的體驗。最后,在開發(fā)過程中應(yīng)注意與使用者的溝通,建立良好的溝通機(jī)制,使用者在試用軟件過程中遇到問題隨時與軟件開發(fā)者進(jìn)行溝通,很多情況下,用戶能夠發(fā)現(xiàn)開發(fā)和測試人員沒有考慮到或者測試出的不合理流程或操作,通過反饋問題進(jìn)一步優(yōu)化程序。
4結(jié)語
在醫(yī)療軟件開發(fā)中,運(yùn)用現(xiàn)代軟件工程方法,借助于現(xiàn)代高新技術(shù),能夠針對醫(yī)院臨床需求開發(fā)出適用的信息系統(tǒng),保證醫(yī)院臨床業(yè)務(wù)和管理工作的流程和具體化。軟件工程的初衷和目的是提高臨床工作效率,在這個思想下,才能保證大型軟件系統(tǒng)的開發(fā)獲得成功。
參考文獻(xiàn)
[1]田柯,耿仁文,林凱程.院內(nèi)會診存在的問題及對策分析[J].現(xiàn)代醫(yī)院,2011,2(11):110-111.
關(guān)鍵詞:軟件工程;教學(xué)方法;階段教學(xué)法
中圖分類號:G642文獻(xiàn)標(biāo)識碼:A
“軟件工程”是軟件工程專業(yè)的重要專業(yè)課程,也是計算機(jī)科學(xué)與技術(shù)、計算機(jī)應(yīng)用等相關(guān)專業(yè)的一門專業(yè)必修課,是指導(dǎo)計算機(jī)軟件開發(fā)與維護(hù)的一門綜合性課程。它包括方法、工具和過程三要素,以質(zhì)量保證為基礎(chǔ),涵蓋了軟件生存周期的所有階段,包括計劃、分析、設(shè)計、實現(xiàn)、測試、集成、交付、維護(hù)等。學(xué)生通過學(xué)習(xí),能夠系統(tǒng)全面地掌握軟件開發(fā)的基本原理、方法、技術(shù)和過程,為更深入地學(xué)習(xí)和從事軟件工程事業(yè)打下基礎(chǔ)。
1研究現(xiàn)狀
“軟件工程”不同于一般的專業(yè)課程,它為擺脫軟件危機(jī)而生,為適應(yīng)軟件行業(yè)的發(fā)展而生,是理論課,更是一門實踐課。采用傳統(tǒng)教學(xué)方法,這門課的教學(xué)效果往往不是很理想,教師覺得這門課教起來較困難,多數(shù)學(xué)生也覺得枯燥無味,很難達(dá)到較好的教學(xué)效果。因此,很多教師對軟件工程的教與學(xué)進(jìn)行研究,文獻(xiàn)[1~5]提出一些可行的教學(xué)模式,主要有以下幾種:
(1) 啟發(fā)式教學(xué):在教學(xué)過程中,以學(xué)生自主學(xué)習(xí)和合作討論為前提,以教材為基礎(chǔ),在教師的啟發(fā)下,學(xué)生自由表達(dá)觀點(diǎn)、置疑探究問題,并通過個人、小組、集體等多種形式的解難釋疑活動,用所學(xué)知識解決實際問題的教學(xué)模式。
(2) 能力驅(qū)動教學(xué):教學(xué)工作的展開以提高學(xué)生能力為主要目的,以學(xué)科知識的進(jìn)化、應(yīng)用能力的強(qiáng)化和人才素質(zhì)的優(yōu)化為基礎(chǔ),培養(yǎng)強(qiáng)內(nèi)力人才的教學(xué)模式。
(3) 項目驅(qū)動教學(xué):教學(xué)之初,請具有豐富軟件工程實踐的項目人員與教師共同制定2~3個中型軟件項目工程,規(guī)模適中。制定項目工程時遵從實用性原則,并且密切聯(lián)系日常的工作學(xué)習(xí)實踐。
(4) 情景法教學(xué):學(xué)習(xí)者進(jìn)行學(xué)習(xí)必須依據(jù)個人的學(xué)習(xí)目標(biāo)主動操作探究,能主動與環(huán)境進(jìn)行互動協(xié)調(diào),以建構(gòu)所需的知識。教師必須在情境脈絡(luò)中幫助學(xué)生發(fā)現(xiàn)與選取問題,調(diào)動學(xué)生的學(xué)習(xí)動機(jī),最終引導(dǎo)學(xué)生自己解決問題。
(5) 案例法教學(xué):向?qū)W習(xí)者提供案例研究的學(xué)習(xí)環(huán)境,包括從實際案例中選取資料。讓學(xué)習(xí)者以調(diào)查員的身份去了解案情,通過對資料的收集、分析、決策,最終對問題予以解決,得到可行的結(jié)論。
這些方法都能在一定程度上幫助學(xué)生提高學(xué)習(xí)效果,但是也存在一定缺陷,如啟發(fā)式教學(xué)缺乏對實際項目中出現(xiàn)的多種問題進(jìn)行分析,項目驅(qū)動教學(xué)難以把握項目大小,案例法教學(xué)缺乏學(xué)生自主參與等,不能讓學(xué)生全面感受軟件開發(fā)的全過程,不利于學(xué)生認(rèn)識各個階段出現(xiàn)的問題。在充分研究“軟件工程”教學(xué)內(nèi)容及實際應(yīng)用的基礎(chǔ)上,我們提出了階段教學(xué)法,即根據(jù)軟件開發(fā)各個階段的不同特點(diǎn)采取不同的教學(xué)方法。
2階段教學(xué)法
2.1階段教學(xué)法教學(xué)模式
階段教學(xué)法的培養(yǎng)目標(biāo)是:建立將軟件開發(fā)作為一個生產(chǎn)過程的概念,掌握軟件工程的需求分析、系統(tǒng)設(shè)計和實現(xiàn)、軟件測試等專門的工程技術(shù)方法,了解軟件產(chǎn)品管理、項目管理、質(zhì)量管理、過程控制等基本過程,感受作為一個開發(fā)者同時也是過程控制和管理者所必須注意的各個環(huán)節(jié)要點(diǎn)。具體措施是:理論與實踐兩手抓,兩手都要硬。一方面強(qiáng)調(diào)理論學(xué)習(xí)的重要性,理論學(xué)習(xí)是指導(dǎo)實踐的基礎(chǔ);另一方面強(qiáng)調(diào)實踐的重要性,只有通過實踐活動才能掌握軟件工程的精髓。
由于大部分學(xué)生第一次接觸軟件工程,第一次開發(fā)軟件,采取開發(fā)階段清晰,易于評審、跟蹤、管理和控制的瀑布模型容易讓學(xué)生了解和掌握軟件開發(fā)的整個過程。但傳統(tǒng)的瀑布模型可維護(hù)性差,需要對瀑布模型進(jìn)行改進(jìn),即采取變形的瀑布模型――“V”字模型,并在每一個階段都加入測試,以便及時改正錯誤(圖1)。在可行性分析及需求分析階段采取情景法教學(xué),根據(jù)學(xué)生的項目選擇情況,在學(xué)生完成項目調(diào)查分析的基礎(chǔ)上,小組內(nèi)部模擬客戶與開發(fā)人員進(jìn)行交流、討論。在系統(tǒng)設(shè)計階段采取啟發(fā)式教學(xué),以一個典型的系統(tǒng)作為切入點(diǎn),具體分析如何根據(jù)需求分析進(jìn)行系統(tǒng)設(shè)計,然后讓學(xué)生充分消化、吸收,啟發(fā)他們設(shè)計出自己的系統(tǒng)。在詳細(xì)設(shè)計及編碼調(diào)試階段采取項目驅(qū)動教學(xué),讓學(xué)生根據(jù)系統(tǒng)設(shè)計階段的模塊劃分選取最優(yōu)的設(shè)計,然后設(shè)計模塊內(nèi)部結(jié)構(gòu),并用某種編程語言實現(xiàn)。測試階段主要采取案例法教學(xué)和啟發(fā)式教學(xué)在單元測試階段,檢測代碼的開發(fā)是否符合詳細(xì)設(shè)計的要求,并改正詳細(xì)設(shè)計階段出現(xiàn)的問題;在集成測試階段,
檢測此前測試過的各組成部分是否能完好地結(jié)合到一起,并改正系統(tǒng)設(shè)計階段的不足;在系統(tǒng)測試階段,檢測已集成在一起的產(chǎn)品是否符合系統(tǒng)規(guī)格說明書的要求,并修正需求分析的錯誤;在驗收測試階段,檢測產(chǎn)品是否符合最終用戶的需求,并添加用戶新增的功能、改正錯誤的功能;在試運(yùn)行及維護(hù)期間,及時完善系統(tǒng)功能,提高系統(tǒng)性能,再次檢查各階段的錯誤和不足,并加以修改,直至滿足用戶要求。
2.2階段教學(xué)法的實施
階段教學(xué)法在實施過程中,必須做好以下工作:
(1) 教師要做好統(tǒng)籌規(guī)劃。“軟件工程”對教師的要求較高,教師不僅要講授理論知識,而且要把握教學(xué)進(jìn)度,根據(jù)每一階段采取不同的教學(xué)方法,并充分準(zhǔn)備各階段教學(xué)的相關(guān)資料。教師應(yīng)該在講授軟件工程相關(guān)知識點(diǎn)的同時,花更多的精力和時間,教會學(xué)生如何理解和把握軟件開發(fā)過程,對教學(xué)內(nèi)容、形式和考核方法進(jìn)行綜合設(shè)計。根據(jù)學(xué)生的學(xué)習(xí)階段,科學(xué)地安排相應(yīng)領(lǐng)域知識點(diǎn)的出現(xiàn)順序,使學(xué)生在課堂教學(xué)和項目實踐的適當(dāng)環(huán)節(jié)上恰到好處地體會和獲得相應(yīng)的知識,并取得自身真實的感受和經(jīng)驗。這就要求教師不僅要有一定的軟件開發(fā)經(jīng)驗,而且要具備一定的項目和工程背景。這樣授課才能切合實際,更好地運(yùn)用階段教學(xué)法。
(2) 搜集學(xué)生感興趣的項目,并進(jìn)行篩選。很多學(xué)生選擇的題目缺乏可操作性、趣味性和適當(dāng)?shù)碾y度。這些題目沒有經(jīng)過詳細(xì)的可行性分析和需求分析,不能保證完成實驗。因此教師必須對學(xué)生自選項目進(jìn)行篩選,也可以由教師給出一些綜合實驗項目。
(3) 制定項目完成的標(biāo)準(zhǔn)。目前,項目是否成功完成主要參考需求說明書和最后運(yùn)行情況,但需求說明書又因系統(tǒng)難易程度和學(xué)生的主觀因素存在很大差別,因此,如何評判題目的完成情況,不能采用統(tǒng)一的標(biāo)準(zhǔn),要根據(jù)學(xué)生選擇的項目分別對待。
(4) 及早布置課程項目。理論學(xué)習(xí)和課程項目相結(jié)合,隨著課程進(jìn)展布置任務(wù)。學(xué)生自愿結(jié)合,3~5人組成一個項目小組,教師指導(dǎo)他們進(jìn)行分工合作,學(xué)習(xí)軟件開發(fā)組織和管理,明確項目開發(fā)各階段的任務(wù),熟悉軟件開發(fā)環(huán)境,培養(yǎng)團(tuán)隊精神。通過調(diào)查研究、可行性研究、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、維護(hù)(版本升級)及技術(shù)文檔的編寫,共同完成該項目的設(shè)計及實現(xiàn)。在課程項目開發(fā)過程中,要引導(dǎo)學(xué)生提高完成實驗的積極性,激發(fā)學(xué)生進(jìn)一步鉆研的斗志;鼓勵學(xué)生進(jìn)行自主學(xué)習(xí),如撰寫小論文和專題報告,讓學(xué)生跟蹤該領(lǐng)域的最新動態(tài)。
(5) 項目開發(fā)過程中,教師扮演“用戶”和“項目顧問”的角色,學(xué)生則是各項目組的“開發(fā)人員”,而開發(fā)小組的組長則要模擬“項目經(jīng)理”的角色,進(jìn)行交流討論。
(6) 課程項目成績評定。項目完成后,每位同學(xué)要進(jìn)行答辯。每一個小組指派一個同學(xué),對設(shè)計的項目進(jìn)行答辯,其他同學(xué)可以補(bǔ)充。教師的主要任務(wù)是檢查,一方面檢查小組的完成情況,一方面檢查每一位同學(xué)的工作。由教師和其他小組進(jìn)行評分,取平均分得到小組成績,小組長根據(jù)工作量給出組員的個人成績。綜合小組成績和個人成績,得出學(xué)生的最終實驗成績。
階段教學(xué)法為學(xué)生提供了發(fā)現(xiàn)問題、分析問題、解決問題的空間,既強(qiáng)調(diào)了軟件工程的基礎(chǔ)知識,也注重培養(yǎng)學(xué)生的分析設(shè)計及實踐能力,同時調(diào)動學(xué)生的積極性、創(chuàng)造性。在半年的學(xué)習(xí)期間,學(xué)生夜以繼日地工作,加深了對軟件工程化含義的理解;在設(shè)計過程中,能自覺運(yùn)用標(biāo)準(zhǔn)化、規(guī)范化和可度量的原則;在小組的交流合作中,加強(qiáng)了團(tuán)隊精神,鍛煉了溝通與動手能力。
2.3進(jìn)一步實施的設(shè)想
階段教學(xué)法在實施過程中也出現(xiàn)了一些問題,通過對問題的分析研究,提出下一步教學(xué)的設(shè)想:
(1) 更新教育觀念:加強(qiáng)先進(jìn)教育理論研究,分析企業(yè)對軟件人才的需求。根據(jù)企業(yè)需求,不斷更新教育觀念,努力使教學(xué)模式、教學(xué)方法與國際接軌,科學(xué)地建立面向市場的開放式軟件工程人才培養(yǎng)模式。
(2) 加強(qiáng)教材建設(shè):教材是教學(xué)內(nèi)容的載體。相對基礎(chǔ)學(xué)科,計算機(jī)領(lǐng)域發(fā)展非常迅速。教材也需要緊跟時代的發(fā)展,不斷更新。因此必須把教材建設(shè)納入“軟件工程”教學(xué)改革的研究范疇。
(3) 學(xué)習(xí)資源建設(shè):充分利用網(wǎng)絡(luò)資源,建立軟件工程資源網(wǎng)站,調(diào)動師生力量,力爭把最優(yōu)秀、最全面、最新穎的軟件學(xué)習(xí)資源與師生共同分享。一方面完成與其他軟件工程相關(guān)網(wǎng)站的搭建,學(xué)習(xí)他人經(jīng)驗;一方面鼓勵師生進(jìn)行作品原創(chuàng),供他人學(xué)習(xí)、借鑒。
(4) 校企聯(lián)合:加強(qiáng)學(xué)校與國內(nèi)外產(chǎn)業(yè)界的交流與合作,完善以工程實踐為核心的“邊學(xué)習(xí)、邊實踐―再學(xué)習(xí)、再實踐”螺旋式新型工程型人才培養(yǎng)流程,實現(xiàn)校企雙贏。
(5) 組織軟件工程相關(guān)講座。邀請有項目開發(fā)、管理經(jīng)驗的教師或科研人員做軟件工程相關(guān)方面的講座,介紹他們在軟件開發(fā)、管理過程中的經(jīng)驗與體會,對軟件工程的發(fā)展趨勢、最新動態(tài)等進(jìn)行指導(dǎo)。
3小結(jié)
在“軟件工程”教學(xué)中采用階段教學(xué)法,必須把握好教學(xué)進(jìn)度,并及早安排好課程設(shè)計,讓學(xué)生在學(xué)習(xí)理論的同時開展課程設(shè)計。這樣,當(dāng)理論課講完時,課程設(shè)計也基本結(jié)束,學(xué)生才能從理論和實踐的結(jié)合上加深對軟件工程知識難點(diǎn)、重點(diǎn)的理解,進(jìn)一步深刻理解軟件過程和系統(tǒng),消化理論知識,訓(xùn)練項目設(shè)計的思路,鍛煉實際開發(fā)能力,培養(yǎng)嚴(yán)格規(guī)范的項目開發(fā)方法和步驟,體驗文檔編寫整理、階段性評審總結(jié)以及軟件測試等各個方面的工作流程,更好地理解、掌握知識,運(yùn)用所學(xué),服務(wù)社會。
參考文獻(xiàn):
[1] 林惠強(qiáng),劉財興,林丕源.“軟件工程”課程啟發(fā)式教學(xué)的研究與實踐[J]. 計算機(jī)教育,2008(11):40-42.
[2] 夏小娜,曹寶香. 《軟件工程》教學(xué)的“三段論”定位與“能力驅(qū)動”[J]. 現(xiàn)代教育技術(shù),2007,17(8):109-111.
[3] 戚世貴,徐盡,張泊平. 軟件工程的項目工程實踐驅(qū)動教學(xué)改革[J]. 時代教育,2008(3):86.
[4] 黃萍. 情景法在《軟件工程》教學(xué)中的應(yīng)用[J]. 現(xiàn)代計算機(jī),2007(6):52-53.
[5] 殷美桂. 案例教學(xué)法在軟件工程教學(xué)中的應(yīng)用[J]. 福建電腦,2008(5):201.
Research on Teaching Method in Software Engineering
GE Wen-geng
(Huanghuai University, Zhumadian 463000, China)
【關(guān)鍵詞】 信息系統(tǒng) 工程項目 可行性
前言:在工程項目中,信息系統(tǒng)地位斐然,作為高科技的產(chǎn)物,發(fā)展意義重大。因此,工程企業(yè)的管理者應(yīng)該提升對信息系統(tǒng)建設(shè)的重視程度,以提高工程項目建設(shè)效率,使工程項目管理統(tǒng)一、有序。要重視信息系統(tǒng)平臺的搭建工作,與此同時不斷提高企業(yè)工作人員在信息化方面的管理水平。
一、信息系統(tǒng)工程項目的內(nèi)涵
1.1主要任務(wù)
信息系統(tǒng)在工程項目中的主要任務(wù)包括以下三項:1、采集整理并且編輯審修工程項目中的大量資料信息,完善工程項目信息。2、對工程項目中的各項信息與數(shù)據(jù)進(jìn)行維護(hù),使工程信息準(zhǔn)確、可靠、安全。3、為定期總結(jié)信息、評價工程起到便利作用,使工程項目得以正常運(yùn)轉(zhuǎn)。
1.2基本結(jié)構(gòu)
在比較大型的工程項目中,按屬性可以將信息類型劃分為工程造價類型、圖文信息類型、無聊信息類型、項目進(jìn)度信息類型、質(zhì)量管理信息類型、決策信息類型以及合同管理信息類型等,由信息分類可見工程項目中的信息量非常龐大,同時信息之間存在特別復(fù)雜的聯(lián)系。因此如果在工程項目中應(yīng)用信息系統(tǒng),則應(yīng)該對各不同類型信息分別架構(gòu)子系統(tǒng),與此同時使一些接口適當(dāng)開放,從而方便子系統(tǒng)之間交互信息,使管理難度極大降低[1]。
二、信息系統(tǒng)工程項目的意義
在大型的工程項目中,信息系統(tǒng)地位卓著。主要有兩方面原因奠定了其地位基礎(chǔ)。其中一個原因是當(dāng)前全球的自由貿(mào)易格局在持續(xù)發(fā)展成熟中,在大型工程項目中,其物資采購和相關(guān)勞務(wù)都開始面向全球發(fā)展,因而需要現(xiàn)代先進(jìn)的信息管理系統(tǒng)來支撐項目穩(wěn)定發(fā)展。另外一個原因是在工程項目中應(yīng)用信息系統(tǒng)可以使企業(yè)的形象正面提升,有效強(qiáng)化企業(yè)的市場競爭力,使企業(yè)得以長遠(yuǎn)發(fā)展。所以,在企業(yè)的大型工程項目中,信息系統(tǒng)作用重大,占據(jù)核心地位。
三、信息系統(tǒng)工程項目的可行性分析
3.1從技術(shù)角度可行
現(xiàn)代科學(xué)技術(shù)高度發(fā)展,其中一些高科技產(chǎn)物的發(fā)展為信息系統(tǒng)在工程項目中的應(yīng)用打下了堅實基礎(chǔ),此類高科技產(chǎn)物包括:計算機(jī)技術(shù)、硬件設(shè)施、自動化技術(shù)以及網(wǎng)絡(luò)技術(shù)。
首先,網(wǎng)絡(luò)架構(gòu)層面可行性。由于計算機(jī)技術(shù)與網(wǎng)絡(luò)應(yīng)用技術(shù)在長期發(fā)展下已經(jīng)日趨成熟,因而在工程項目中,有條件依據(jù)不同項目要求進(jìn)行不同的網(wǎng)絡(luò)架構(gòu)工作。由于可以使用多種入網(wǎng)手段、采取不同種的網(wǎng)絡(luò)管理方式,工程項目能夠?qū)崿F(xiàn)更方便快捷的終端接入手段,也能夠更好的進(jìn)行數(shù)據(jù)管理工作以及執(zhí)行遠(yuǎn)程維護(hù)、遠(yuǎn)程監(jiān)控功能,使工程管理高效有序進(jìn)行[2]。
其次,數(shù)據(jù)庫技術(shù)層面可行性。工程項目中的龐大信息數(shù)據(jù)可以采用數(shù)據(jù)庫技術(shù)進(jìn)行管理,很多大型的數(shù)據(jù)庫管理軟件都可以對大量數(shù)據(jù)進(jìn)行系統(tǒng)、全面的管理。
再次,數(shù)據(jù)訪問層面可行性。信息系統(tǒng)可以為工程項目提供各式各樣的接口來訪問數(shù)據(jù),并且可以根據(jù)用戶的屬性設(shè)定管理權(quán)限,使系統(tǒng)效率獲得了極大提升,同時也使系統(tǒng)的安全性得到了保證。
3.2從經(jīng)濟(jì)角度可行
在工程項目中應(yīng)用信息系統(tǒng),可以使管理部門的工作水平得到提高,工作人員的效率也得到了有效保障,使工作過程中由于人為因素引起的差錯率得到降低。信息系統(tǒng)在工程項目中的應(yīng)用使工程信息的傳遞更加便捷高效,從而使企業(yè)的信息傳遞成本得到降低,也同時加快了企業(yè)的運(yùn)轉(zhuǎn)速度,給企業(yè)帶來更可觀的經(jīng)濟(jì)效益。
3.3從安全角度可行
信息系統(tǒng)的數(shù)據(jù)存儲與管理模式是統(tǒng)一的,其針對不同工作職責(zé)的工作人員會分配各自相應(yīng)的信息訪問權(quán)限,使信息保密工作得到有效開展,而傳統(tǒng)信息管理工作則無法做到此點(diǎn)。而且,因為信息系統(tǒng)具備完善的信息安全管理技術(shù),可以有效保C數(shù)據(jù)的安全可靠[3]。
四、結(jié)束語
總而言之,信息技術(shù)是一種先進(jìn)的生產(chǎn)力,在工程項目中應(yīng)用信息系統(tǒng),是一種科學(xué)的現(xiàn)代管理理念,可以極大地促進(jìn)企業(yè)發(fā)展,使其實現(xiàn)現(xiàn)代化管理目標(biāo),同時大大提高其競爭水平。因此,企業(yè)管理者一定要重視在工程項目中應(yīng)用信息系統(tǒng),同時不斷提高企業(yè)工作人員在信息化方面的管理水平,以使工程項目的建設(shè)效率得以提升,工程項目管理能夠統(tǒng)一、有序進(jìn)行,為企業(yè)帶來更多的經(jīng)濟(jì)效益。
參 考 文 獻(xiàn)
[1]劉昊D,胡斌,張偉.工程項目管理信息系統(tǒng)質(zhì)量控制現(xiàn)狀[J].電子技術(shù)與軟件工程,2015,12(05):230.
隨著計算機(jī)技術(shù)的不斷發(fā)展進(jìn)步,網(wǎng)絡(luò)在線學(xué)習(xí)和考試必然在未來的教育過程中扮演重要角色,教育工作者應(yīng)該不斷探索怎樣利用計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)替代傳統(tǒng)的學(xué)習(xí)模式。作為一個新興的技術(shù),網(wǎng)絡(luò)在線考試正不斷應(yīng)用到各個教育領(lǐng)域,此舉大大節(jié)約了考試的成本。本文主要研究分析了網(wǎng)絡(luò)在線培訓(xùn)考試的意義背景,發(fā)展?fàn)顩r,可行性分析以及目標(biāo)和構(gòu)思。
【關(guān)鍵詞】在線考試系統(tǒng) 遠(yuǎn)程調(diào)用
計算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)已經(jīng)在當(dāng)今社會的各個領(lǐng)域得到廣泛的應(yīng)用,不斷推動著經(jīng)濟(jì)的巨大發(fā)展,利用計算機(jī)來完善及輔助教育系統(tǒng),促進(jìn)教育的不斷進(jìn)步也必將是現(xiàn)在和將來教育領(lǐng)域的發(fā)展趨勢,教育工作者需要探索的一個新方向就是怎樣運(yùn)用先進(jìn)的計算機(jī)技術(shù)來改變傳統(tǒng)的教育系統(tǒng),伴隨著計算機(jī)的普及以及人們對于計算機(jī)的認(rèn)識和使用能力的提高,網(wǎng)絡(luò)在線考試系統(tǒng)已經(jīng)越來越多的應(yīng)用到社會各個行業(yè)。
1 在線考試系統(tǒng)的背景及意義
隨著現(xiàn)代信息技術(shù)和通訊手段的不斷發(fā)展和更新,利用互聯(lián)網(wǎng)進(jìn)行信息傳遞使人們的生活變得更加簡單快捷、在此背景下,傳統(tǒng)的文化教育模式受到了以數(shù)字化及網(wǎng)絡(luò)化為代表的先進(jìn)信息技術(shù)的沖擊,這務(wù)必會對傳統(tǒng)教育的教學(xué)方式,教學(xué)手段,教學(xué)內(nèi)容面帶來較大的影響和變革。在信息技術(shù)日新月異的今天,如何利用現(xiàn)代的高效便捷的網(wǎng)絡(luò)技術(shù)進(jìn)行教育是廣大教育工作者需要思考的問題。
目前很多高等院校都致力于打造數(shù)字化校園,數(shù)字化校園就是運(yùn)用計算機(jī)技術(shù),網(wǎng)絡(luò)通信技術(shù),把學(xué)校的生活管理服務(wù)和教學(xué)等所有資源全面數(shù)字化,并且對這些資源進(jìn)行科學(xué)規(guī)范的整理,打造資源管理和用戶管理的統(tǒng)一化,運(yùn)用業(yè)務(wù)流程和組織再造,不斷推動學(xué)校的制度,管理創(chuàng)新,以達(dá)到實現(xiàn)教育決策規(guī)范化,教育信息化,管理規(guī)范化的目的。
網(wǎng)絡(luò)在線考試系統(tǒng)就是在這樣的背景下產(chǎn)生的,相比以往傳統(tǒng)的考試模式而言,具有考試方式靈活多的特點(diǎn),同時系統(tǒng)也能夠自動化評閱試卷、打分和進(jìn)行試卷分析,大大節(jié)約了人力,財力和時間成本,
2 在線考試系統(tǒng)發(fā)展?fàn)顩r
考試按照歷史的發(fā)展可以分為以下幾個階段:
(1)筆試階段,這是計算機(jī)數(shù)量少但參加考試人數(shù)多的一種考試,它的優(yōu)點(diǎn)是便于組織,不足之處是考試內(nèi)容缺乏實踐能力的考察,浪費(fèi)大量紙張,同時無法對學(xué)生進(jìn)行全面考察。
(2)應(yīng)用軟盤的上機(jī)考試,這是網(wǎng)絡(luò)技術(shù)相對落后但計算機(jī)已經(jīng)得到普及時的一種考試形式,它可以把考試內(nèi)容和學(xué)生的實踐能力結(jié)合起來,考察學(xué)生的動手實踐能力,但軟盤可能出現(xiàn)讀寫緩慢或無法讀寫的情況,影響學(xué)生的發(fā)揮,并且可能出現(xiàn)考生互換軟盤的作弊現(xiàn)象。
(3)應(yīng)用網(wǎng)絡(luò)的上機(jī)考試,它已經(jīng)成為了目前計算機(jī)考試的主要模式,考試效率高,節(jié)約考試成本,但對于網(wǎng)絡(luò)環(huán)境有很高的要求。
現(xiàn)今,B/S和C/S是在線考試的兩種主要形式。B/S考試必須安裝Web瀏覽器,用Web的瀏覽器和服務(wù)器進(jìn)行考試;C/S是在局域網(wǎng)內(nèi)有一臺充當(dāng)服務(wù)器的計算機(jī),且必須裝有客戶端軟件,考生登錄客戶端進(jìn)行考試,考試結(jié)果自動上傳客戶端。
3 在線考試系統(tǒng)的可行性分析
3.1 開發(fā)網(wǎng)絡(luò)在線考試系統(tǒng)的必要性
(1)減少人力和物力的花費(fèi)。相比傳統(tǒng)的考試模式,運(yùn)用網(wǎng)絡(luò)考試不需要進(jìn)行試卷的印刷,省去了印刷費(fèi)用,同時也節(jié)約了這部分的人力開支,并且計算機(jī)可以進(jìn)行自動閱卷,分析試卷,省去了老師大量的時間和精力。
(2)充分共享運(yùn)用現(xiàn)有的資源。在傳統(tǒng)教育系統(tǒng)下,老師只能夠自己出題,或一起討論研究試題樣卷,利用網(wǎng)絡(luò)技術(shù),來自不同地方的教師就無須見面就能夠共同構(gòu)建題庫,并且相互之間可以分享經(jīng)驗及資源。
(3)電腦自動化組合試卷 靈活便捷。以往的考試,是老師提前出題然后打印,考試題目單一,固定,并且無法兼顧到各個層次水平的學(xué)生,利用無紙化考試系統(tǒng),就可以設(shè)置多種組卷方式,保證兼顧各個知識點(diǎn),同時每個學(xué)生抽到的考題不同,也可以減少作弊等現(xiàn)象的發(fā)生。
(4)計算機(jī)輔助 杜絕人為錯誤。傳統(tǒng)考試的出卷,分卷,閱卷都是由人工來完成的,會產(chǎn)生很多不必要的人為錯誤,而在在線考試系統(tǒng)中,計算機(jī)從頭到尾進(jìn)行控制,高效準(zhǔn)確,節(jié)省人力,學(xué)生甚至可以當(dāng)場知道自己的考試成績。
3.2 開發(fā)網(wǎng)絡(luò)在線考試系統(tǒng)的現(xiàn)實性
(1)現(xiàn)有條件的滿足性。當(dāng)前,不僅高校甚至各個中小學(xué)都打造了自己的校園網(wǎng)絡(luò),各個學(xué)校都不斷改革自己的教學(xué)手段,觀念,方式及內(nèi)容,重視自己的教學(xué)質(zhì)量和師資力量,這些都為網(wǎng)上考試系統(tǒng)的開發(fā)提供了基礎(chǔ)及支持。隨著社會經(jīng)濟(jì)的發(fā)展,計算機(jī)已經(jīng)普及到各家各戶,大家都能夠比較完全的了解計算機(jī)的應(yīng)用,同時網(wǎng)絡(luò)考試系統(tǒng)的界面簡單易操作,這些都說明我們具備充足的條件利用計算機(jī)進(jìn)行考試。
(2)編程技術(shù)具有可行性。由于編程工具的不斷發(fā)展和編程技術(shù)的不斷發(fā)展,使得技術(shù)開發(fā)人員能夠迅速的掌握開發(fā)技巧,為網(wǎng)絡(luò)考試系統(tǒng)的開發(fā)提供可能。
(3)經(jīng)濟(jì)上的可行性。網(wǎng)絡(luò)考試極大地縮減了人力物力時間成本,世界各地的老師只需要一臺計算機(jī)或有互聯(lián)網(wǎng)連接的考試系統(tǒng)平臺,就能夠輕松的組織各自的考試,它無需印刷試卷,教師出題,分配考場,統(tǒng)計成績等等,節(jié)約了大量的資本。只是對計算機(jī)的數(shù)量有一定要求,但是當(dāng)今社會經(jīng)濟(jì)的發(fā)展使得各大學(xué)校和個人都有足夠的能力去支付所需設(shè)備,不需要為它去專門花銷,因此它可以大大節(jié)約成本,產(chǎn)生社會經(jīng)濟(jì)效應(yīng)。
4 在線考試系統(tǒng)的發(fā)展目標(biāo)和發(fā)展思路
網(wǎng)絡(luò)考試系統(tǒng)的目標(biāo)與構(gòu)思主要表現(xiàn)為:
(1)協(xié)助教師打造個人專屬的題庫及試卷庫。
(2)幫助學(xué)生利用網(wǎng)絡(luò)在線完成各個課程所需的考試。
(3)利用網(wǎng)絡(luò)系統(tǒng)老師和不同部門之間能夠分享工作經(jīng)驗,協(xié)作彼此工作。
5 結(jié)束語
網(wǎng)絡(luò)在線考試管理系統(tǒng),在今后的各個領(lǐng)域都將會得到廣泛的運(yùn)用,它是突破傳統(tǒng)考試模式的一種新型考試方式,可以極大的節(jié)約人力物力以及時間成本,符合今后的發(fā)展趨勢,具有很廣闊的發(fā)展前景。
參考文獻(xiàn)
[1]魯立.網(wǎng)絡(luò)考試系統(tǒng)的關(guān)鍵技術(shù)的分析[J].信息技術(shù)與課程整合,2012(03).
[2]傅宇.基于網(wǎng)絡(luò)考試系統(tǒng)的研究[J].現(xiàn)代教育技術(shù),2013(09).
作者簡介
袁曉曦(1982-),女,湖北省武漢市人。研究生學(xué)歷。現(xiàn)為武漢軟件工程職業(yè)學(xué)院講師。主要研究方向為人工智能及其應(yīng)用。