軟件工程實訓報告
在不斷進步的時代,報告十分的重要,報告中涉及到專業性術語要解釋清楚。那么大家知道標準正式的報告格式嗎?以下是小編收集整理的軟件工程實訓報告,希望能夠幫助到大家。
1、實訓教學的現狀和對策
我院的軟件技術Java開發方向主干課程的設置包括:“Java程序設計”、“數據庫基礎及應用”、“JSP程序設計”、“UML基礎與Rose建模”、“軟件工程”、“軟件測試”、“J2EE技術”。在每門課程的最后階段都安排了課程實訓,在此過程中,學生以個體或小組形式完成一個相對真實的工作任務。課程實訓可以訓練學生將該課程中不同的知識和技能串聯起來,加以綜合應用解決實際問題。由于各門課程相對獨立,即使完成以上所有課程的課程實訓,學生還是難以參與軟件開發的全過程,難以獲得對開發過程的整體把握。即使進入專業學習結束后的畢業設計階段,由于畢業設計教學環節與大學生畢業就業成為近年來我國高校的一個非常突出的矛盾,尤其是高職高專院校的畢業生面臨著嚴峻的就業形勢,許多學生在最后一個學期幾乎都在外出找工作,提前就業上崗。高職高專院校本來就學制短,畢業設計教學環節形同虛設,嚴重影響了正常畢業設計教學環節的實施和畢業生的水平。
在近幾年的專業建設和課程改革中,我們越來越認識到培養學生的軟件開發能力、團隊合作能力、工程應用能力的重要性。為此,我們專門針對高年級學生設計和開發了工作過程導向的、具有專業總結和綜合性質的項目開發綜合實訓,通過項目實踐開闊學生視野,鍛煉學生的團隊意識和工程意識,全面培養學生的職業素養和工程應用能力。
2、基于工作過程的高職軟件項目開發綜合實訓設計思路
基于工作過程的高職軟件項目開發綜合實訓設計思路包含“兩個貫穿一個分解一個覆蓋”:即“工程項目貫穿”、“軟件工程思想貫穿”、“典型工作任務分解”和“不同課程覆蓋”。
2.1 工程項目貫穿
“工程項目貫穿”,即以一個工程項目全線貫穿于整個實訓過程,學生從步入實訓基地開始接受項目,到最后提交一個按照操作程序、操作規范完成的,滿足一定質量標準的開發成果。在確定項目時,應該把握好以下兩個原則:
第一,實訓項目應具有一定的應用價值和實際意義。實訓項目最好以實際項目為背景,或者直接就是從實際項目提煉而來,與企業實際生產過程或現實商業經營活動有直接的關系。這樣的項目能培養學生的實戰經驗,極大地激發學生的積極性。但是要注意,業務流程太專業太復雜的項目不適于拿來作為全程的實訓項目,因為這類項目在前期的業務分析和理解上將耗費太多的時間和精力,不利于后續工作的展開。
第二,要根據教學內容和專業培養目標確定項目內容與項目難度。高職軟件技術Java開發方向旨在為社會輸送合格的熟練的Java程序員,而J2EE編程是Java程序員追求的最高目標,所以我們確定的實訓項目具有總結性和綜合性,并具有一定的挑戰性。經過前導課程“J2EE技術”的學習和實踐,學生已經具備了用Servlet+JSP+JaveBean (EJB)或struts框架來實現MVC架構的能力,在實訓項目中我們鼓勵學生整合Struts、Hibernate和Spring三個框架,綜合運用J2EE的組件、框架開發技術,開發一個滿足J2EE架構的多層的企業應用。
2.2 軟件工程思想貫穿
在傳統的“軟件工程”教學中,軟件工程是一門獨立的理論性較強的課程,學生們缺乏實戰經驗,難以在參與軟件開發的全過程中獲得感性體會,理解軟件工程的精髓。
為了培養軟件工程意識,使工程化思想成為學生從事軟件開發工作的行動指南,我們將軟件工程思想貫穿于整個綜合實訓的始終。綜合實訓以成熟的軟件開發模型為基礎,以具有一定應用價值和實際意義的項目為背景,學生以開發團隊的形式,按照軟件開發流程,在規定的時間點完成指定的任務,經歷需求分析、建模、設計、編碼、測試、部署的軟件工程全過程。綜合實訓模擬企業運作機制,模擬企業中實際存在的項目壓力和工作壓力,模擬真實企業開發環境,以項目的進度檢查作為監控,以項目開發成果作為最后的考評。學生在實訓過程中,都有機會承擔項目經理、設計人員、編碼人員、測試人員等全部或部分崗位角色的職責,學生的綜合能力得到極大的提高。
2.3 典型工作任務分解
典型工作任務是“基于工作過程”實訓課程開發的精髓。所謂“任務”就是要求學生做一件事,重要的是,這件事是按實際工作的要求來操作的,包括操作程序、操作規范、質量標準等。學生在完成各項“任務”后,會呈現出不同的“結果”。這個結果是非標準答案的,即每個學生或每個團隊的作品可以不一樣,對作品的評價不是簡單的對與錯,而很可能是好與差。而“典型工作任務”能呈現出職業的典型的工作內容和形式,在整個企業的工作大環境里具有重要的功能和意義。
在工作過程導向設計原則的指導下,結合軟件行業的崗位需求,通過分析完成軟件開發需要完成哪些典型工作任務,我們設計了基于工作過程的實訓流程。該流程以一個軟件項目貫穿始終,將整個軟件開發過程分解為一系列遞進的實訓情境,在每個實訓情境要求學生完成一個獨立的工作任務,完成所有的實訓情境就完成了整個軟件項目的開發。
基于工作過程的項目開發綜合實訓流程如圖1所示,整個實訓由遞進的6個實訓情境構成(水平方向),它們對應的工作任務依次為“需求分析”、“搭建開發環境”、“設計”、“編碼”、“集成和測試”、“項目部署”。垂直方向則反映了為完成某項工作任務所采取的步驟和要提交的工作成果。
2.4 不同課程覆蓋
按照工作過程導向設計原則,將整個軟件開發過程分解為遞進的6個實訓情境,每個實訓情境覆蓋了不同的課程內容。表1列出了每個實訓情境對七門主干課程的覆蓋情況,可以看到,它徹底地克服了傳統的課程體系只重視每門課程自身的實驗,缺乏覆蓋不同課程,串聯不同知識和技能的綜合性實驗的重大缺陷,它使得相對獨立的各門課程整合在一起,使整個實訓成為一個有機的整體。這樣的訓練能使學生將以前的所學融會貫通,能有效地培養學生的綜合應用能力和創新能力。
3、基于工作過程的高職軟件項目開發綜合實訓的實施
3.1 實訓項目舉例
依照確定項目的兩個原則,我們把為我院開發“教學資源管理系統”定為綜合實訓的第一個項目,要求運用Struts、Hibernate和Spring三個框架,開發一個滿足J2EE架構的多層的企業應用。
該項目的業務需求是“主要完成對多媒體課件和各種多媒體素材資源的管理,方便對各種電子教學資源進行分類維護,包括瀏覽,查詢,下載;為教師提供一個方便快捷的課件渠道,把制作的課件或搜集的素材上載到該系統,實現資源共享。本系統分三級用戶:系統管理員,教師用戶、普通用戶(包括學生);包括以下四個方面的功能:普通用戶資源瀏覽和下載;普通用戶資源檢索;教師用戶資源上載;管理員系統維護”。
項目開始時,教師只給出較為粗略的業務需求,給學生留有足夠的發揮空間。因為“教學資源管理系統”就是為學生和教師服務,非常貼近學生的學習生活,理解起來沒有任何障礙。至于界面做到什么樣子,功能做到何種程度,留給學生在撰寫詳細的需求分析時去確定,教師需要把關的是工作量和技術難度,不能太簡單而達不到實訓的效果,也不能太難無法實現而挫傷學生的積極性。
3.2 實訓組織方式
實訓采用4個人一組,每人負責一個方面的功能開發,每組設一個項目組長,項目組長除負責一個方面的功能模塊開發外,還負責各模塊集成。由項目組共同提交一份需求分析報告。個人一旦選擇某方面的功能開發,就要全權負責該部分的設計、編碼和單元測試。此外,在測試情境中,開發小組進行角色轉換,變成測試小組,選擇別的小組開發的軟件進行測試。
3.3 實訓進度安排和任務要求
本綜合實訓歷時一個月,共72學時(4周*18課時),進度安排如表2所示,各院校可根據自己的情況作適當調整或根據需要增加學時。下面是每個情境的具體步驟、任務要求的詳細描述。
3.3.1 情境1:需求分析
本情境的典型工作任務是撰寫詳細的需求分析報告。
(1) 首先老師對實訓項目提出業務需求,講解應用的環境、功能要求、技術要求以及實訓組織方式。
(2) 實訓小組組成,組合出每個小組的成員,選出項目小組長。
(3) 每個小組對功能模塊分工分配,確定每個人所承擔的功能模塊。
(4) 各小組討論需求分析,每個人撰寫模塊的詳細需求分析報告。
本情境結束后,要完成以下任務:
老師要匯總出小組劃分、成員分工;
項目小組提交一份詳細的需求分析報告。
3.3.2 情境2:搭建開發環境
本情境的典型工作任務是搭建J2EE開發環境。我們選擇的開發環境為:
操作系統:Windows NT /Windows XP
Java 平臺:JDK1.6 以上
服務器:JBOSS 4.0.4
數據庫服務器:MySQL 5.0
開發平臺:MyEclipse 5.5
建模工具: Rational Rose
單元測試:Junit
功能測試:手工測試
(1) 首先老師對開發環境進行講解;
(2) 學生在自己的機器上完成以下任務:安裝JDK環境、安裝JBOSS服務器、安裝MySQL服務器、安裝MyEclipse集成開發工具、安裝Rational Rose建模工具、安裝Junit。
本情境結束后,要完成以下任務:
(1) 學生在自己的機器上完成環境的搭建和測試。
3.3.3 情境3:設計
本情境的典型工作任務是撰寫詳細設計文檔。
(1) 老師對需求分析進行點評,指出其中的問題和修改意見。
(2) 老師以其中某個模塊為例,講解所使用技術和技術線路。
(3) 進行模塊設計和數據庫庫表設計,模塊之間接口的定義,數據庫中測試數據的準備。
本情境結束后,學生要完成的任務:
對需求分析報告進行修改和完善。
撰寫詳細設計文檔,包括類圖和時序圖。
詳細設計包括以下組件的設計:模型實現類和DAO組件;業務邏輯組件;MVC層組件;表現層組件
撰寫數據庫表的設計以及測試數據,數據庫表設計包括庫表名稱、字段定義,測試數據以表格的方式形成。
3.3.4 情境4:編碼
本情境的典型工作任務是依照設計進行代碼編寫,以及單元測試。
老師對學生的模塊設計和庫表設計進行點評,指出其中的問題和修改意見。
在編碼過程中,老師要對學生進行指導,幫助解決問題。學生之間應互相配合,及時修正模塊設計中的錯誤。
本情境學生要完成的任務包括:
修訂詳細模塊設計和數據庫庫表設計;
用測試數據填充數據庫;
制定編碼進度;
模型實現類和DAO組件的編碼和測試;
業務邏輯組件的編碼和測試;
MVC層組件的編碼和測試;
表現層組件的編碼和測試。
3.3.5 情境5:系統集成和測試
本情境的典型工作任務是小組模塊集成和功能測試。
(1) 小組成員之間相互配合,完成整個系統的集成。
(2) 選擇另一個小組開發的系統,根據他們的需求分析報告,撰寫測試用例。
(3) 進行功能測試并提交測試報告。
本情境完成,學生要完成以下任務:
將小組內各成員開發的模塊進行系統集成;
選擇另一個小組開發的系統撰寫測試用例,進行功能測試,并提交測試報告。
3.3.6 情境6:項目
本情境的典型工作任務是部署項目、提交成果。
(1) 學生將實訓成果進行演示
(2) 學生提交可以部署的包和按工程組織的源代碼
(3) 老師對各個項目小組的成果進行考評。
(4) 老師對整個實訓進行點評。
本情境完成,學生要提交以下程序和文檔:
源代碼和可以部署的包
實訓報告
4、新的綜合實訓模式對教師提出了更高的要求
基于工作過程的高職項目開發綜合實訓,覆蓋面廣,綜合性和工程實踐性強,要求按照軟件工程的要求,指導學生進行軟件項目開發實訓,因而對指導教師的教學素養、主導作用、工程實踐經歷提出了更高的要求。為此我們組建了一支以具有工程實踐經驗的核心教師為首,由各科任課教師組成的教師團隊。進入實訓項目的教師必須首先對項目本身有足夠的認識和理解,并且親自做過,才能在其參與指導的實訓情境中指導學生完成該情境所指定的典型工作任務。而核心教師經歷過企業軟件開發項目的全過程,熟悉軟件開發項目的管理過程,熟悉軟件開發程序的設計規范、調試過程、軟件質量測試方法,以“項目經理”的身份指導學生進行軟件開發實訓,其關鍵作用是不可置疑的。
同時,新的綜合實訓模式必須有新的教學觀念、講授模式和管理模式。在實訓過程中絕對不能再是“教師講授學生聽”,而是以學生為主體,以任務為驅動,教師重點放在講解每個任務的需求,完成該任務所要采用的知識、方法、工具和步驟,然后由學生自己進行分析、建立問題模型,自己掌握開發的進程。教師則更象一位項目經理,控制項目進度,評定軟件質量。
5、結束語
基于工作過程的高職項目開發綜合實訓,是一種全新的軟件項目開發綜合實訓模式。該模式以工程項目貫穿始終,以軟件工程思想貫穿全線,圍繞學生完成一系列遞進的典型工作任務來組織實訓內容,覆蓋不同課程串聯不同知識。該模式是工作過程導向在軟件技術實訓教學上的運用,對當今高職院校進行課程改革具有重要的參考價值,同時對指導教師提出了更高的要求。
【軟件工程實訓報告】相關文章:
實訓的報告06-14
實訓報告08-18
汽修實訓報告,汽修實訓報告總結09-03
英語實訓報告酒店情景英語實訓報告12-08
web實訓報告總結,web實訓報告總結09-02
軟件工程實訓心得體會03-22
vbse實訓報告03-01
測量的實訓報告02-13