亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>論文大全>學術(shù)論文>

      軟件工程學術(shù)論文(2)

      時間: 家文952 分享

        軟件工程學術(shù)論文篇二

        軟件工程綜合實訓軟件過程初探

        摘要:軟件工程綜合實訓應(yīng)采用迭代的軟件開發(fā)過程?;趯嵱栒n程目的的分析,提出一個為期20周、分6次迭代的實訓模型。學生以小組為單位開展實踐,分別任組長、開發(fā)經(jīng)理、計劃經(jīng)理、測試經(jīng)理及技術(shù)支持經(jīng)理等角色,每完成兩次迭代交換角色一次。實訓中開展業(yè)務(wù)分析、需求、分析設(shè)計、實現(xiàn)、測試、部署、團隊管理、計劃管理、配置管理及環(huán)境支撐等領(lǐng)域的約30種活動,考核分迭代的考核和角色考核兩種。

        關(guān)鍵詞:軟件工程;綜合實踐;軟件過程;迭代開發(fā)

        為了提高軟件工程人才培養(yǎng)的水平,增強學生的實踐能力,文獻[1]基于建構(gòu)主義認知學說提出了一種創(chuàng)新的人才培養(yǎng)模式。該培養(yǎng)模式的特點是在第6—7學期引入長周期的綜合實訓。為便于實施,該綜合實訓可按學期分成兩段。其中第6學期的實訓為期20周,如何開展全面的軟件工程過程實踐,是本文要探討的對象。此實訓將部分原在課堂講授的理論課貫穿在實訓中講解,并要求學生以小組為單位完成軟件開發(fā)項目,從而理解和掌握軟件開發(fā)過程與技術(shù)。為有效開展此實訓,本文依據(jù)現(xiàn)有軟件過程理論和經(jīng)驗,對實訓中的軟件過程進行探討。

        1概念與研究的必要性

        軟件開發(fā)過程是指在工業(yè)化環(huán)境(如軟件公司、大型軟件開發(fā)團隊)開發(fā)軟件的有先后順序的一系列活動。它是將各種軟件技術(shù)組織在一起的粘合劑,是合理高效開發(fā)軟件產(chǎn)品的保證[2]。對軟件過程的描述,往往包括過程模型、活動、角色、制品等方面。

        軟件工程綜合實訓課程的目的是為了讓學生熟悉軟件開發(fā)過程,掌握軟件開發(fā)技術(shù),增強實際動手能力。它與實際軟件開發(fā)有以下幾點不同:

        1) 目標不同。前者以培養(yǎng)學生為目標,后者以生產(chǎn)軟件為目標。

        2) 實踐主體不同。前者為學生,后者為工作者。

        3) 環(huán)境不同。前者在學校的模擬環(huán)境進行,后者處于具體的軟件開發(fā)環(huán)境。

        這意味著實訓教學中應(yīng)該采用接近實際的軟件開發(fā)過程,但又不能完全照搬實際過程。這是我們必須探討綜合實訓軟件開發(fā)過程的原因。以下從軟件開發(fā)過程模型、過程角色、主要活動及對學生的考核等幾方面對軟件工程綜合實訓的軟件開發(fā)過程進行討論。

        2綜合實訓的軟件過程模型

        歷史上,出現(xiàn)過多種軟件過程模型,但大致可分為線性模型和迭代模型兩類。線性模型也稱瀑布模型,已被實踐證實不能適應(yīng)需求變化的場景。迭代模型認為軟件開發(fā)是一個反復的過程,比較符合軟件復雜、易變的本質(zhì),是當今軟件開發(fā)的主流思想。

        在考慮實訓教學軟件過程模型的選取時,應(yīng)以簡單易行、便于軟件技術(shù)學習、便于軟件過程理解為出發(fā)點。單從簡單易行的角度,采用瀑布模型比較有吸引力。瀑布模型的步驟和章法清晰,教學組織方便。但是,如果使用瀑布模型,對迭代過程的介紹只能停留在口頭上,學生無法從實踐中領(lǐng)會這一重要的過程思想。瀑布模型是一次性完成需求描述,然后做全面

        設(shè)計。這不利于由淺入深、循序漸進地掌握軟件架構(gòu)、設(shè)計和編碼方面的技術(shù)。如果采用迭代式模型,雖會令實訓的組織和管理變得復雜,但既可以領(lǐng)會瀑布模型的章法,也可以克服瀑布模型的弊端。對于本文所針對的長達一個學期的綜合實訓,其教學目標是多維和綜合的,既要在過程中傳授顯性知識,也要通過過程組織和實踐指導傳遞隱性知識。如采用瀑布模型,會將開發(fā)過程理想化,而使很多隱性知識和實踐經(jīng)驗難以傳播。因此長周期的綜合實訓采用迭代式過程模型更合理。

        按照有關(guān)迭代開發(fā)經(jīng)驗[3],對于小型項目,以3周為一次迭代較合適。我們決定將20周的實訓分為開始1周、結(jié)束1周、中間6次迭代18周。各次迭代的目標如表1所示。

        表中,迭代1的任務(wù)是發(fā)掘和初步表述系統(tǒng)的主要需求,并設(shè)計系統(tǒng)原型;迭代2要完成系統(tǒng)的主要功能,約占全部功能的30%~40%;迭代3完成系統(tǒng)的全部功能;迭代4對系統(tǒng)架構(gòu)進行優(yōu)化,增加業(yè)務(wù)邏輯層;迭代5進一步優(yōu)化系統(tǒng)架構(gòu),增加數(shù)據(jù)讀寫層;跌代6使用現(xiàn)有框架對系統(tǒng)進行重構(gòu)。

        在實際的軟件開發(fā)過程中,早期迭代要著重于影響架構(gòu)的功能和性能需求的實現(xiàn),從而一開始就為系統(tǒng)選擇合理的架構(gòu)。但在實訓教學中,按由淺入深的教學規(guī)律,在學生具備一定的開發(fā)經(jīng)驗后引入架構(gòu)設(shè)計知識。因此,前幾次迭代較少涉及架構(gòu)設(shè)計的細節(jié),所完成的軟件在架構(gòu)方面是不成熟的。在后幾次迭代中,通過對代碼的重構(gòu)逐漸完成軟件架構(gòu)的優(yōu)化,從而讓學生牢牢樹立架構(gòu)設(shè)計的理念。這是實訓軟件過程與實際軟件過程的區(qū)別。

        上述各次迭代的目標,也是系統(tǒng)開發(fā)的里程碑。教師檢查各次迭代提交制品的同時,也考核了學生團隊的成績。

        3綜合實訓過程中的角色

        基于文獻[4]及文獻[5]的思想,軟件工程綜合實訓學生團隊應(yīng)設(shè)置對等角色。即每個小組成員擔任一種角色,負責一個方面的工作,同時又是其他成員所負責工作的參與者。這既是實際開發(fā)團隊的做法,也最適合學生的學習。

        考慮到項目規(guī)模較小,實訓時間較長,一個小組人數(shù)不宜過多。以5人一組,分別扮演組長、開發(fā)經(jīng)理、計劃經(jīng)理、測試經(jīng)理、技術(shù)支持經(jīng)理等角色,各角色職責主要為[4]:

        1) 組長:負責小組建設(shè),讓小組成員有共同的目標和項目愿景,激勵士氣,維持紀律,安排任務(wù),主持每周小組例會、成員互評等。

        2) 開發(fā)經(jīng)理:主持小組開發(fā)工作,包括需求、分析與設(shè)計、實現(xiàn)等過程。

        3) 計劃經(jīng)理:負責帶領(lǐng)小組制訂項目計劃和迭代計劃,督促各成員按要求完成工作日志,制訂項目周計劃,整理項目周報,對計劃進行跟蹤,在例會或計劃會議上通報項目進度。

        4) 測試經(jīng)理:負責測試計劃的制訂,編寫測試用例,組織測試實施及管理,組織每日集成測試。

        5) 技術(shù)支持經(jīng)理:組織執(zhí)行配置管理、變更控制、數(shù)據(jù)庫管理及風險管理,培訓本組成員正確使用工具軟件,督促每日代碼簽入、簽出。

        上述角色職責涉及的各種活動,詳見第4節(jié)說明。指導教師在實訓中的角色是代表客戶方提出對系統(tǒng)的要求,同時也是學生開發(fā)活動的指導者和監(jiān)督者。

        在實際的軟件開發(fā)過程中,團隊成員的角色在一個項目中是固定的。但在實訓過程中,為了讓學生得到更全面的訓練,可規(guī)定每兩次迭代交換角色一次。這樣在整個實訓中,每人都可以擔任三種不同的角色。這是實訓過程不同于實際過程的地方。

        4綜合實訓過程的主要活動及制品

        依據(jù)文獻[4]和文獻[6],將學生在綜合實訓中的活動領(lǐng)域分為兩大類,一類是核心開發(fā)域,包括業(yè)務(wù)分析、需求、分析與設(shè)計、實現(xiàn)、測試、部署等;一類是核心支持域,包括團隊管理、計劃管理、配置管理、環(huán)境支撐等。各活動域的活動種類、制品及負責角色如表2所示,共有約30種活動。

        上述活動涉及很多學生尚不了解的知識。對于其中適合講授的顯性知識,由專題主講老師在過程中集中講授;對于可以通過實踐過程習得的隱性知識,通過實訓指導書對有關(guān)活動的規(guī)范和引導,讓學生在活

        動中領(lǐng)悟。需要集中講授的知識可以分成以下幾個模塊:

        1) 項目輔導。介紹有關(guān)小組建設(shè)、小組溝通、工作理念、計劃管理等方面的知識,對開發(fā)過程的紀

        律、工作程序、會議等作具體的指導。

        2) 軟件開發(fā)過程。主要介紹軟件開發(fā)統(tǒng)一過程(RUP),包括迭代開發(fā)方法,各種開發(fā)活動、角色及制品的含義,配置管理及風險管理等。

        3) 數(shù)據(jù)庫管理。結(jié)合項目和實訓環(huán)境指導學生設(shè)計和管理大型關(guān)系型數(shù)據(jù)庫。

        4) 軟件測試。結(jié)合項目介紹各種測試活動的要求、內(nèi)容和組織實施辦法。

        5) 系統(tǒng)分析與設(shè)計。介紹面向?qū)ο蟮目梢暬7椒?、軟件架?gòu)設(shè)計、模式應(yīng)用等方面的知識。

        6) 程序設(shè)計技術(shù)。介紹完成項目所需要的程序設(shè)計技術(shù)。包括Web應(yīng)用開發(fā)、多層體系架構(gòu)的實現(xiàn)、測試驅(qū)動的開發(fā)、應(yīng)用程序框架設(shè)計與應(yīng)用等內(nèi)容。

        在開展項目過程中,講授也是重要的環(huán)節(jié),這也是本實訓過程與實際過程的不同之處。

        5考核方式

        作為一項教學活動,必須對學生學習情況進行考核并給出成績。由于該實訓長達一學期,理論課學時較多,所對應(yīng)的學分也較多。如果采用一次性考核,顯然操作難度很大,也不利于在過程中發(fā)現(xiàn)問題,激勵學生。因此,本實訓最適合分階段考核,即對每次迭代進行考核,成績由三部分組成:一是本次迭代過程有關(guān)理論知識掌握,占40%,采用筆試方式考核;二是工作成果,占30%,以測試迭代產(chǎn)生的結(jié)果為依據(jù);三是工作表現(xiàn),占30%,通過統(tǒng)計考勤、學生互評及老師評價得到。每兩次迭代完成,學生交換角色前,要求每位學生提交所擔任角色工作的總結(jié)報告,作為單獨的角色考核。由于角色是任選的,此考核學分可作為選修學分記入成績表。

        6結(jié)語

        由于實訓與實際軟件開發(fā)不同,實訓軟件過程不能照搬實際開發(fā)過程。為了與當代流行的軟件開發(fā)過程一致,也為了能循序漸進地教學,在實訓中選擇迭代式開發(fā)模型。項目小組的成員依次承擔多種角色,并產(chǎn)生相應(yīng)的制品。實訓的考核以迭代為單位進行。按照這樣的過程開展本文所述約30項實訓活動,必將提高學生對軟件工程知識的認識和實際的動手能力。

        參考文獻:

        [1] 鄭大鵬,林國璋,張克軍. 一種創(chuàng)新的獨立學院軟件專業(yè)人才培養(yǎng)模式[J]. 計算機教育,2010(8):1-3.

        [2] Roger S. Pressman. 軟件工程—實踐者的研究方法[M]. 4版. 北京:機械工業(yè)出版社,1999:22-49.

        [3] Craig Larman. UML和模式應(yīng)用[M]. 3版. 北京:機械工業(yè)出版社,2008:13-20.

        [4] Watts S. Humphrey. 小組軟件開發(fā)過程[M]. 北京:人民郵電出版社,2000:163-225.

        [5] 微軟公司. MSF Team Model v.3.1[EB/OL]. [2010-11-06].

        [6] Ivar Jacobson,Grady Booch,James Rumbaugh. 統(tǒng)一軟件開發(fā)過程[M]. 北京:機械工業(yè)出版社,2002:3-11.

        
      看了“軟件工程學術(shù)論文”的人還看:

      1.計算機軟件學術(shù)論文

      2.計算機軟件工程畢業(yè)論文范文

      3.軟件工程碩士畢業(yè)論文范文

      4.計算機專業(yè)學術(shù)論文

      5.軟件工程學士畢業(yè)論文范文

      軟件工程學術(shù)論文(2)

      軟件工程學術(shù)論文篇二 軟件工程綜合實訓軟件過程初探 摘要:軟件工程綜合實訓應(yīng)采用迭代的軟件開發(fā)過程?;趯嵱栒n程目的的分析,提出一個為期
      推薦度:
      點擊下載文檔文檔為doc格式
      2642941