簡述
軟體工程是一門年輕的學科,它是以工程化的思想和方法指導軟體開發和軟體管理的整個過程的學科,具有鮮明的實踐性。近年來在計算機和信息管理等領域中,軟體工程的地位顯得越來越重要,不僅大型的軟體項目離不開它,而且一般的甚至小型軟體項目也必須運用它的概念、原則和方法。軟體分析、設計、編程、測試、維護人員以及軟體管理人員都必須紮實地掌握軟體工程知識,才能適應工作崗位的要求。特別是當前,在軟體產業已經被中央、各地政府和有關部門當作國民經濟中新的增長點的形勢下,軟體工程更加受到了重視。事實早已證明,不掌握軟體工程知識,不按照軟體工程的要求去做軟體項目,提供給用戶的產品只能是低質量的、難於維護的。
因此,學好軟體工程,不僅能提高學生的專業素質,而且還能為學生增添大量的就業機會。
軟體工程教學現狀
軟體工程是各類院校計算機專業的一門重要專業課程。軟體工程的研究範圍十分廣泛,既包括軟體開發中的方法和技術,也包括軟體開發工具及軟體項目管理等。軟體工程的教學效果將直接影響學生畢業後參與企業的團隊協同工作以及軟體項目的管理能力。由於沒有一個適合的技術支撐平台,大多數學校教師只好偏重於理論知識的傳授,中間增加一些項目開發和管理的案例。這導致學生對所學知識沒有巨觀把握,開發的項目也只能手工管理,因此學生參與程度不高,嚴重影響了該課程的教學質量。
目前各類院校針對軟體工程課程的教學基本以理論口授結合片斷工程案例的方式進行。由於軟體工程本身具有很多非常抽象的內容,並且在工程實施的過程中往往都會有大量的“意外”情況發生,所以這種教學方式很難保證教學質量。學生只能在頭腦中形成一些空洞的理論知識,導致參加工作後需要花費大量的時間和精力重新學習如何在一個軟體項目中擔當其相應的職責。根據對企業的走訪得知,企業都希望剛參加工作的應屆畢業生能快速地適應企業的環境和管理。然而,目前情況下畢業生參加工作後都得花很長的時間去理解、適應企業的管理,不能儘快脫離學校的模式,有的甚至失去了應有的思考,這對企業和學生個人都是可悲的。
因此,對現有的教學方式進行改進迫在眉睫,勢在必行。要讓學生在學校就能接觸和感受真實的工作環境,加強對學生的團隊協作、溝通能力的培養。使教學質量有了質的飛躍的同時,也使學生進入社會後能更好地適應各種不同的環境,大大增強了學生在社會中的競爭能力。
教學方式改進
以伍傑USDM為例,建設軟體工程實訓室,仿真環境為依託構建團隊開發環境是提高教學質量的必由之路。在《統一軟體數據管理系統》(簡稱USDM)實用和教學並舉的平台上,學生能夠真實地體驗規範的軟體項目開發過程和管理方法,通過軟體提供的“工學結合”環境實現學生的“零距離就業”,從而大大提高學生的軟體開發能力、團隊協作精神以及項目管理能力。
1,更新課程設計理念以工作過程為導向開發課程,以行動為導向的教學觀和學習情境的構建觀來組織教學,加強學生掌握企業崗位所需技能培養,實現教學過程與工作過程互融。
工學結合,將企業真實項目引入課程,實現課程內容與真實項目相融。從企業引進真實項目在該平台進行開發和管理,形成能營造真實工作場景、高度仿真企業工作環境的教學案例
基於工作行動導向,以職業行動領域來構建學習領域課程體系,以工作過程安排設計和安排學習情境。根據現行主流的各種軟體工程過程規範(如:ISO系列標準、CMM/CMMI標準)制定標準的軟體工作過程,並使用USDM系統以圖形流程的方式體現,學生可在系統平台上使用這些標準過程流程來進行軟體開發,從而使學生能更好融入軟體工程過程,更直觀的感受和理解軟體工程這門學科。
3,以行動導向實施項目教學課程採用“項目教學”模式,在安裝了USDM的機房中實施理實一體化教學,以師生通過共同完成一個或多個完整的項目任務(如:辦公自動化系統開發)的形式開展教學行動,教師邊示範、邊講解、邊提問、邊指導,學生邊學、邊做、邊實踐,淡化課程理論教學與實踐教學的界限,實現“做中學”,強化學生在實際訓練中學習和提高的能力。
4,以工作勝任能力評價學習效果以學生完成的項目成果作為評價的內容,從而確保學生的崗位職業能力,實現與企業崗位工作“零距離對接”。
根據在項目中學生所擔任的角色的責任及要點來點評學生的實際工作情況,通過這個過程可更好的加強學生對軟體工程中角色及工作責任的理解和體驗。
軟體工程實驗室所起到的作用
通過在集成化的軟體工程管理平台USDM上進行操作,學生對 “項目準備”、“集成項目管理”、“配置管理”、“客戶需求調研及分析”、“軟體設計”、 “實施”、“測試”、“發布”、 “度量分析”、“知識管理與組件復用”、“CMMI與軟體公司資質評估”(或是其它標準)等多個真實的情境有了真實的體驗, 學會了如何規範地按照軟體工程的方法進行軟體設計、開發和管理, 而不再是像以往一樣只是學習了一大堆枯燥的軟體工程理論和文檔樣本。通過引入企業環境,學生實現了與企業的“零距離”接觸,課程開始具有鮮明的“以工作過程為導向、以實際項目為載體”的工學結合特色。
通過項目教學培養了學生的軟體工程能力、職業素養、溝通交流能力、組織協調能力、團隊合作能力和自主學習能力。
USDM可以對開發的項目進行產品的結構配置,並通過項目團隊的組建、成員角色的劃分、許可權、配置管理、缺陷跟蹤和管理、建模工具、內外部郵件系統、工作流程、團隊開發等對產品的組成結構進行管理和維護。管理範圍覆蓋生產過程的各個生命周期;它們包括業務階段、需求階段、設計階段、編碼階段、測試階段和發布階段,其它支撐環節包括項目管理+ 配置管理+ 生產環境。
2,工具豐富以離線/線上工具的形式,提供各生產開發過程環節的生產和管理的作業工具。 這些工具包括需求+ 設計工具WJR、測試管理工具WJT(另含自動化測試及缺陷跟蹤)、建模WJS(包含UML建模、資料庫建模、網路布局)、項目管理工具WJP等。
3,實施CMM/CMMI的好教材產品以電子載體的形式, 提供全中文和圖形式流程化的學習工具,全面闡述了CMM/CMMI的各個目標和實踐;作為大專院校和各種培訓機構的教學環境的建設,是教師和學生掌握和模擬實施CMM/CMMI的有效的和標準化的教學支撐工具。
4,提升教師水平可以使教師全面理解和掌握CMMI最新模型的精髓,全面理解和掌握推行過程管理和控制的具體辦法都有哪些,理解各種管理工具的實質性作用和意義,根據系統定製特點,教師可結合自身的工作教學環境, 提出更為豐富的教案和操作環境,基於此,可進行更為深入的研究和探索, 以期提出和完成更好的過程控制和管理的科研課題。
5,課程實訓的重要環節課程所依託的軟體技術專業具有較為完善的校內實踐教學環境。《軟體工程與項目管理》是該專業的一門核心課程,實訓需要有良好的條件與環境。而統一軟體數據管理系統USDM(Unified Software Data Management System)平台從內容上劃分為二大部分,《CMM/CMMI基礎培訓CCAT 》和《統一軟體數據管理套用軟體平台 ASP》,並配備了操作光碟。
CCAT,即Comprehensive CMMI Aided Teaching of USDM,是關於CMM/CMMI的標準的完整教學、學習和實踐的電子綜合課程,是目前國內唯一可見的CMM/CMMI多媒體輔助教學系統。
ASP, 即application software Platform of USDM, 是綜合了各種支持軟體工程管理功能要求的軟體套用系統。其中包括諸如產品結構和角色定製、配置管理、需求、設計、測試、項目管理、建模工具、可視化協同平台、團隊開發等許多功能,是有效提升管理水平和降低管理勞動強度的套用平台。
課程設計的理念及思路
傳統學科體系的平行學科的排序方式、“章節模式”、單純的理論+實踐的授課方式已經無法滿足現代企業的工作崗位對職業素質和職業技能的要求,為此本課程的設計引入了新的課程理念:
(1)以工作過程為導向開發課程,以行動導向的教學和學習情境的構建組織教學,加強學生掌握企業崗位所需技能培養,實現教學過程與工作過程互融。
與我們公司合作,通過分析軟體開發和管理工作過程的需求分析、設計、實施、測試、發布等行動順序的每一個工作過程環節來構建和組織課程內容。
(2)工學結合,將企業真實項目引入課程,實現課程內容與真實項目相融。
從企業引進真實項目和項目管理平台,並與企業合作進行二次開發,形成能營造真實工作情境、高度仿真企業工作環境的教學案例。
(3)適應學生的個性發展方向,使學生能為自我勾畫清晰的職業發展規劃
以學生為中心,通過任務驅動的形式學習課程。以完成工作任務為目標,根據每位學生的專業基礎、愛好、發展方向定位的不同,在完成任務的過程當中可充當項目經理、需求分析員、設計師等不同角色,適應學生的個性發展方向,為將來的職業發展勾畫出清晰的前景,學生的學習目標將更加明確。
軟體工程實驗室作業系統(USDM)
規格型號,參數,要求1,基於軟體工程UML的軟體開發實訓過程管理系統,案例系統。
2,覆蓋軟體開發完整的生命周期。
3,支持工程過程流程化管理。
4,對於各個過程的管理支持量化採集及其分析。
5,全套的軟體建模工具。
6,跨平台支持。
7,提供案例,且支持團隊協作。
用戶管理 記錄、添加、修改和刪除ASP系統使用人員的相關信息。
系統設定 數據備份、伺服器及本地進行配置的管理和維護。
產品結構配置 項目/產品的組成結構進行管理和維護。
項目組管理 項目團隊的組建、成員角色、許可權進行管理和維護。
崗位角色管理 崗位角色設定、默認許可權進行管理和維護。
度量分析對所有項目的生產數據進行集中、自動的統計度量並存儲,並可根據用戶的定義生成報表。
組件定製可根據用戶的實際需要對產品組件進行自定義。
安全策略許可權管理 項目相關組件許可權的定製進行管理和維護,是有關係統物件的套用許可權的細化。
多版本管理 組件/文檔的版本管理和維護。
集成區管理 集成區的項目組件的管理和維護。
基線管理基線創建、維護、升級和版本控制的管理和維護。
集成建模內嵌UML建模工具,可以直接實施完成建模工作。
缺陷管理 缺陷報告、受理、處置情況等管理。
工作流程支持並行和串列或它們混合的工作流程,是支持評閱和同行評審的重要組件。
度量分析自動化採集基礎度量數據,支持自動化和手動計算度量結果, 自定義計算公式, 並形成報表輸出。
其他功能凍結/解凍、送閱、評審、變更通知、原始碼差異分析及統計、工程組件等。
客戶端小精靈(ASP Wizard of USDM)
客戶端小精靈主要是提供協作環境,協作的內容包括:內外部郵件的收取、傳送、手機簡訊、線上文字交談、可視網路電話、同步瀏覽、工作流程提示等。