<ol id="ebnk9"></ol>
    1. 軟件工程專業學生的文檔能力培養

      發布時間:2025-06-17 07:23:32   來源:作文大全    點擊:   
      字號:

      摘要:文檔是軟件產品的重要組成部分,但在目前的軟件工程教學中,對學生文檔能力的培養仍然欠缺有效的方法。文章首先分析學生文檔能力不足的原因,在此基礎上提出對學生文檔能力培養的基本要求,探索在項目教學法中著重培養學生文檔能力的教學新方法和新思路,總結能夠提高學生文檔能力的有效方法和技巧。

      關鍵詞:文檔能力;軟件工程;課程設計;軟件創新;項目驅動

      0、引言

      目前,軟件工程課程教學中普遍存在著重代碼、輕文檔的現象,而在實際的軟件工程開發實踐中,一般認為代碼的工作量只占整個工程工作量的30%左右,而相關的完整、有效的各種文檔,包括設計文檔、算法文檔、說明文檔、維護文檔等才是整個軟件工程的核心所在。為了加深學生對軟件文檔的正確認識,培養學生軟件文檔的編寫和審核能力,增強學生的軟件工程能力,我們必須轉變教學觀念,在教學過程的各個環節中突出文檔的重要地位,強調設計對于軟件的正面作用,將各種統一、標準、高效和實用的文檔設計和撰寫方案融入課程教學中,并且與軟件工程理論和代碼編寫結合,形成完整的理論、算法、代碼和文檔并重的教學新方法。

      1、文檔能力的重要性及現狀

      軟件產品被定義為包括程序、數據及其相關文檔的完整集合。由此可見,文檔是軟件產品中不可或缺的重要組成部分。作為軟件工程過程中的重要里程碑和有效的交流工具,文檔不僅能夠幫助開發人員掌握自己的工作進度,方便團隊中的所有成員理解和改進代碼,還能幫助項目管理人員對軟件開發進程進行有效控制和管理,進而提高軟件開發的效率和質量,改進軟件開發過程。

      在目前實際的課程教學中,雖然引入了案例教學、校企合作等方法,也結合了國內外一些有效的軟件工程教學方法,但實際教學效果卻遠遠跟不上現實中軟件行業的實際需要。通過調查發現,大部分學生并不能理解文檔在軟件工程中的重要地位,不知如何編制規范有效的文檔,如何使用和管理文檔。經過了解、調查和分析,造成這種現狀的原因主要有3個方面。

      (1)在前兩年的專業基礎課學習中,所有程序都是經過簡單設計后直接映射為程序,學生沒有接觸過軟件文檔,缺乏對思維邏輯的條理性強化。

      (2)高年級課程中的項目復雜性不高,學生無法意識到缺乏有效的文檔給項目帶來的深遠影響。教師雖然反復強調文檔的重要性,但由于學生的經歷和經驗有限,很難引起共鳴。

      (3)軟件文檔本身的多樣性、復雜性和高質量要求,使文檔編寫成為一項艱苦和枯燥的勞動過程,進一步加重了學生對軟件文檔無從下手和望而卻步的感受。

      2、文檔能力培養的內容和要求

      我國于2006年發布了國家標準《計算機軟件文檔編制規范(GB/T 8567-2006)》(以下簡稱《規范》),作為軟件開發人員工作的準則和規程。鑒于計算機系統的多樣性,該標準一般不涉及整個系統開發中的文檔編制問題,而僅僅是軟件開發過程中的文檔編制指南。因此,考慮到教學適用的軟件項目復雜度以及學生的技術能力等限制因素,文中涉及的文檔能力僅以《規范》作為指導。軟件工程專業學生文檔能力包括文檔編寫能力、文檔審查和評審能力。

      2.1 文檔編寫能力

      軟件文檔的編寫是保證軟件質量的重要措施,也是軟件維護的主要依據。因此,一定要注重培養學生的文檔編寫能力,使學生能夠嚴格按照軟件工程規范的要求,遵循常見軟件文檔的規范,充分利用常用的CASE工具,準確地描述用戶需求、設計思路與算法,結合文字、圖形等多種展現形式,形成規范性的文檔記錄。為了保證軟件文檔的質量,根據《規范》,在培養學生文檔編寫能力的過程中,應注意堅持以下幾點要求。

      (1)針對性:在文檔編寫前應注意區分不同文檔針對的讀者對象群體,根據不同類型、不同層次的讀者,編寫更適應他們需要的文檔。

      (2)文檔種類間內容的重復性:不同種類的文檔內容相互之間允許存在一定的重復,為了方便讀者,每種文檔應該自成體系,盡量避免在讀一種文檔時必須參閱另一種文檔的現象。

      (3)規范性:所有的文檔必須按照《規范》規定的內容格式編寫,一般不得變動章節的標題和順序,各層次的條目可以根據實際需要細分、縮并或省略,新增加的條目應加在原章節條目內容的后面。

      (4)精確性:文檔的描述應該盡量準確,不能出現多義性的描述。另外,同一項目中幾種文檔需要重復的內容應該協調一致、沒有矛盾。

      (5)完整性:任何一篇文檔都應該是完整和獨立的,可以自成體系。

      2.2 文檔審查和評審能力

      階段評審是軟件工程過程中的重要組成部分。軟件生命周期中的各個階段,都應該堅持嚴格的階段評審。由軟件文檔的重要性可知,文檔評審也是階段評審的重要工作內容。因此,對學生文檔能力的培養,也體現在對學生文檔審查和評審能力的鍛煉和培養上,這可以加強學生對規范性文檔標準的認識和理解,進一步提升學生的文檔編寫能力。文檔審查和評審能力的培養主要要求學生能對自己或者他人撰寫的軟件文檔,從文檔結構的規范性和合理性、文檔內容的完整性和一致性、語言表述的準確性等角度進行分析和判斷,并作出合理化的建議性描述。

      3、文檔能力培養實踐

      軟件文檔是軟件產品的重要組成部分,也緊密依托于軟件產品,要培養學生的文檔能力,必須在項目任務中加以鍛煉。為此,我們把對學生文檔能力的培養融入項目開發與管理的整個過程中,以項目為導向,以實踐為驅動,強調文檔在軟件整個生命周期中的地位和作用,堅持文檔的規范性、全面性和準確性要求,堅持嚴格的階段性評審和復審,培養學生重視文檔、編寫文檔和審查文檔的綜合能力,主要從幾方面對軟件工程教學作出改革和創新的嘗試。

      3.1 搭建開放的工程實踐環境

      實踐環境是保證實驗教學和質量的基本條件,對于軟件工程課程顯得尤為重要。項目開發不是簡單的程序設計,而是軟件工程全過程的綜合性實踐,應該建立和配置相應的軟件工程實驗環境或實驗中心。同時,就軟件工程而言,它關注的是大型程序的構造,強調團隊合作。就學生的認識而言,糾正軟件開發的個人英雄主義和單兵作戰的錯誤思想極其重要,因此這就要求必須有一個支持團隊協作、數據共享的信息平臺。

      西南民族大學計算機科學與技術學院于2011年8月創建了學生軟件創新基地?;貙嶒炛行呐渲糜袑iT的文檔服務器,搭建了軟件協作開發與管理平臺,學生在這里擁有良好的軟件開發和團隊合作環境?;靥峁┝艘粋€開放式的工程實踐平臺,希望得到進一步學習和實踐鍛煉的學生可以自愿加入這個團隊,由專門的指導教師根據學生的特點和技術特長進行分組,組織和指導學生進行軟件項目的開發實踐。

      3.2 教學環節的改革與實踐

      在教學環節上,我們也必須對軟件工程課程的教學體系進行工程化改造,以便逐步建立工程化實踐教學體系,著力培養學生的工程化開發能力和職業素質,進而形成一個將理論基礎、實驗教學、工程實踐融為一體的整體化培養機制。同時,必須把文檔的重要性及早在學生的意識觀念中建立起來,避免“重代碼、輕文檔”的錯誤觀念先入為主,并在隨后的教學中繼續逐步提升學生的文檔能力。

      3.2.1 C語言課程設計

      c語言課程設計是計算機科學與技術學院從2008年上學期開始新開設的一門專業選修課,目的是進一步增強學生的實際動手編程能力,逐步培養并提升學生的邏輯思維能力。

      作為大一上學期程序設計課程的延續,該課程不僅強調學生對C語言中基本語法的掌握程度和動手編寫代碼的能力,同時更加注重學生邏輯思維能力的提高以及對解決問題思路和方案的清晰描述。在講解疑難題目時,通過繪制流程圖或者列出輔助表格幫助學生把握規律和理清思路;在糾正學生程序中的錯誤時,不直接給出正確答案或告訴學生應如何修改,而是先請學生講出自己的思路,再按照該思路梳理每個步驟間的邏輯關系和內在聯系,引導學生重新審視自己的設計,找出其中的錯誤根源。

      通過此過程,學生逐漸認識到語法和代碼只是一個程序中最基礎的部分,而算法和思路才是整個程序的靈魂,為今后重視前期設計做好鋪墊。同時,學生也開始逐步嘗試和學會使用算法流程圖等工具描述和記錄他們的解題思路,而這些工具也正是后期學生接觸到軟件工程課程甚至進行軟件項目開發實踐時用于完成設計和編寫文檔的利器。

      從筆者5年來的教學歷史和教學經驗看,大部分學生用4-6周時間就能在很大程度上對上學期所學的c語言基本語法加以鞏固,完成其中相對比較基礎的簡單計算題,后期則逐漸把學習重點轉移到知識擴展和能力提升上。C語言課程設計鞏固了學生的程序編寫能力,同時讓學生潛移默化地認識到程序設計并不僅僅是編寫代碼,為其今后正確認識軟件工程和培養其文檔編寫能力打下了良好的基礎。

      3.2.2 軟件工程概論

      軟件工程概論是一門重要的專業基礎課程,具有很強的理論性和實踐性,其教學目標是讓學生熟練掌握軟件開發的原理、技術和方法,具備獨立或合作完成軟件項目開發所需要的邏輯思維、溝通合作、表達寫作以及組織管理能力。然而,由于該課程內容多,涵蓋面廣,并且包含了大量抽象的概念和原理,容易使學生感覺到枯燥乏味;另一方面,迫于課時壓力,教師在授課過程中往往會降低教學難度,將課堂講授的重點放在基本概念和原理上,沒有機會讓學生接觸到較為真實和復雜的項目。再加上很多學生長久以來持有軟件開發就是編寫代碼的錯誤觀點,輕視分析、設計、測試與管理,導致課程的教學目標很難達到。

      從2010年起,計算機科學與技術學院為軟件工程概論課程增加22個上機課時,同時引入以項目為導向的軟件工程教學模式。一方面,在課堂講授上,教師結合實際案例和真實的開發經驗和教訓為學生講解抽象的概念和原理,便于學生接受。同時,根據學生的自愿選擇有指導性地將所有學生劃分為若干小組,每個小組獨立承擔一個項目。另一方面,教師根據教學需要劃分軟件開發的各個階段和相應的階段任務,由各個小組內部協調細分到每位組員。每個小組在協作完成該階段的任務后向教師提交階段性成果,由教師進行審查和記錄。

      在項目驅動的特定教學環境中,學生在實際項目的驅動下,帶著問題學習理論和開發技術,在項目實踐中鍛煉思維能力、問題求解能力和處理復雜任務的能力。由于文檔貫穿于軟件開發的整個生命周期,學生在進行軟件開發的過程中,查閱了大量關于文檔編寫的資料,掌握了軟件文檔編寫的基本框架結構和一些文檔輔助生成工具的使用技巧。教師在收到學生提交的文檔后,對文檔進行仔細審查并及時提出修改意見和建議,幫助學生提高文檔質量。對于其中典型的和有代表f生的設計開發文檔,教師還可以組織全體學生在課堂上以講解——提問—答疑的形式一起進行討論和評審,既活躍了課堂氣氛,拉近了師生之間的距離,又加深了學生對于軟件工程過程的認識,提高了學生的文檔能力。

      3.2.3 學生創新實踐

      項目教學、案例驅動等新教學模式的引入,使學生通過課堂上的學習和項目上的體驗,真實地感受到軟件生命周期從需求采集、建模設計到最后軟件測試中的各個環節,幫助學生建立起對軟件工程過程的感性認識,增強學生的文檔能力,但同時我們也必須要認識到,學生通過課程學習和體驗到的相關知識,與他們畢業后即將從事實際行業的要求和規范之間,仍然存在著很大的差距。Nurkkala和Brandle對現行的軟件工程教育和行業內的現狀進行了深入研究和對比分析,指出因為受到實際教學環節中各種因素的制約,適用于教學的虛擬項目和行業中的實際項目相比,差距主要體現在沒有真實產品、持續時間短、流動性高、復雜性低、缺乏維護和沒有實際客戶6個方面,而項目上的差異也最終導致了學生對軟件產品、軟件工程過程認識不足,并形成了輕視文檔,認為開發過程的結束就是整個軟件項目的終結等錯誤觀念。

      學生軟件創新基地則部分克服了上述這些因受到教學安排等限制而導致的不足之處,因而也在一定程度上解決了教育現狀和行業要求嚴重脫節的問題。首先,因為學生軟件創新基地相對獨立于學校規定的教學環節安排,因此具有較長的持續時間,從學生的角度而言,學生可以根據自己的愛好、特長在教師指導下自愿加入或退出創新基地,有比較充分的時間參與項目實踐,提高文檔能力和項目管理能力;從項目的角度而言,因為不再受到學期、學年的限制,項目開發周期可以更長,甚至可以包含軟件的上線測試和運營維護等開發后續階段。其次,創新基地中的學生是跨年級的,已有實踐經驗的學生和新加入的學生可以在基地中共存,甚至在同一項目組中一起承擔項目子任務。因此,人力資源相對穩定,新舊人員可以平穩過渡,學生通過討論、交流、文檔評審等互動活動,從實踐中體會項目開發、文檔撰寫過程,令經驗得到積累、延續和不斷擴展。最后,由于人員穩定性較強,技術、經驗能夠得到積累,因此能夠完成項目的復雜度也可以適當地逐漸提升,而開發出來的軟件產品也可以進行維護。

      學生在創新基地的工作和軟件工程概論課程基本類似,由于時間和人力資源更加充分,技術水平也有一定的積累,因此相應的區別主要體現在兩個方面:①接觸的項目更加復雜和真實,有時甚至是來源于校外企業的真實項目,開發周期也更長;②階段評審尤其是文檔評審也更加嚴格,有時一篇文檔甚至要評審、修改、復審好幾次。在這樣的鍛煉中,學生對自己的要求也更加嚴格,對文檔的撰寫方法和技巧更加熟悉,對文檔的把握也更加準確。

      4、文檔能力培養成果

      近4年來,通過在教學改革過程中的不斷摸索和嘗試,結合以項目為導向的“講授——引導——項目演練——交流總結”教學模式,我們總結出一些培養學生文檔能力的教學經驗和方法,并初步取得了一些成果。

      (1)一部分學生尤其是創新基地學生的文檔能力得到顯著提高,這些學生對于文檔的結構、內容組織和安排、編寫技巧等已有較好的基礎,并且會使用一些常用的計算機輔助設計工具配合編寫文檔。

      (2)到目前為止,創新基地的學生已完成校外企業級項目2個、自立項目3個,在2個開發項目過程中共產生大小40余篇軟件文檔,包括需求規格說明書、概要設計文檔、數據庫設計文檔、用戶手冊、現場安裝部署文檔等,其中包含10余篇基本符合企業規范的正式軟件文檔。

      (3)創新基地中的部分學生通過近3年的訓練,在就業后具有較高的文檔編制能力,對軟件工程也有較深入的認識,并且具備了分析和設計軟件的基本能力,得到了所在單位的肯定。

      5、結語

      文檔對于軟件工程的重要作用決定了對學生文檔能力的培養是軟件工程教學過程中一個非常重要的環節。一方面,教師要通過案例教學的方式讓學生意識到文檔的重要性,糾正“重代碼、輕文檔”的錯誤觀念;另一方面,要結合項目驅動的教學模式在項目中加強對學生文檔寫作能力、審核和評審能力的鍛煉和培養,幫助學生逐漸養成編制文檔、評審文檔、管理文檔和使用文檔的習慣,加深對軟件工程的理解和把握,提高軟件開發的綜合素質和能力。

      国产另类无码专区|日本教师强伦姧在线观|看纯日姘一级毛片|91久久夜色精品国产按摩|337p日本欧洲亚洲大胆精

      <ol id="ebnk9"></ol>