時間:2022-10-01 17:38:19
序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內心深處的真相,好投稿為您帶來了七篇軟件工程論文范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創作。
1構建軟件工程碩士課程體系框架
哈工大軟件學院軟件工程碩士的培養目標是培養學生掌握軟件工程領域的基礎理論、先進技術方法和手段,具備獨立承擔軟件工程技術工作的能力、組織和管理專門技術工作的能力,同時具有較豐富的、與國際接軌的學習訓練經歷,工程實踐經驗,企業經歷和良好的職業素質;使其樹立科學的世界觀與方法論,品行優良,身心健康,成為具有國際競爭力的軟件產業高級人才,為進一步成為軟件產業領軍人物(高層技術人才與管理人才等)奠定堅實的基礎。面向企業,綜合考慮軟件系統分析與設計能力、項目管理能力、企業管理能力、組織與溝通能力、團隊合作能力等方面的需求,根據學科專業方向的設置,按照“模塊化知識體系與能力體系相結合,體現國際化與工業化特色”的原則,我們制訂了軟件工程碩士課程體系框架結構,如表1所示。軟件工程碩士課程體系框架針對培養目標和企業的需求,對能力培養的具體目標進行模塊劃分,橫向構造“6個能力層面”;縱向根據專業方向劃分為多個能力域,形成多個能力培養模塊。軟件工程碩士的專業方向應緊跟行業需求,靈活設置。近幾年,哈工大軟件學院先后設置了網絡與信息安全、語言處理與信息檢索、數字化企業與電子商務、嵌入式系統與軟件、物聯網工程和移動互聯等專業方向。在專業要求方面,全日制學生必須修滿32學分;在職學生必須修滿35學分。軟件工程碩士研究生學制2~4年,在校學習1年,修滿規定的學分,包括參加企業實訓3周;實習基地實習1年,結合企業項目,完成學位論文。企業實習期間實行雙導師制,校內導師和實習單位導師分別指導項目開發和學位論文撰寫工作。校內學習與企業實訓交叉進行,校企合作,產學研結合,聯合培養軟件工程專業碩士。
2組建專兼職結合的國際化、工業化高水平師資隊伍
構建3支師資隊伍,每支隊伍30人左右。建立以工業型師資為核心的專兼職師資隊伍,形成工業型專職教師、校內及國內外兼職教師相結合的師資隊伍結構,是實現國際化、工業化培養目標的重要保證。第一支是以工業型師資為主的專職教師隊伍。這些專職教師多數來自工業界、國外著名大學或國內外IT企業等。其中除任課教師外,還設若干專職實驗教師崗位。實驗教師主要負責專業課的實踐環節教學,包括實驗設計與指導、上機指導、課程設計和畢業設計等實踐教學環節,同時實驗教師還負責TA(實驗輔導教師)的培訓及管理工作。第二支隊伍由計算機科學與技術學院和管理學院認證并聘請的校內兼職教師組成。他們主要負責軟件學院的基礎課、計算機專業基礎課和管理系列課程的教學任務。第三支隊伍由來自國外高校或國內外知名IT企業兼職教師構成。他們來自行業前沿,掌握國內外最先進的軟件開發技術和人才培養經驗,了解企業最新的技術需求。他們在承擔軟件學院的軟件工程類、軟件工具平臺類的課程部分教學任務的同時,作為雙導師制的企業導師,在研究生的工業實踐、畢業設計、學位論文的指導中發揮重要的作用。以工業型專職教師為主、校內兼職基礎型教師為輔、國內外兼職教師相結合的師資隊伍結構,可以滿足軟件工程碩士國際化、工業化的人才培養需求。
3校企合作,加強企業實踐教學
建立完善的工業型軟件人才培養體系,包括工業型人才培養方案、課程體系與教學大綱、質量保證體系、工業化教學方式、技能實驗與大作業、綜合設計與企業實訓、工業實習與學位論文、校企聯合實驗室與實習基地建設等環節,將“工業化,個性化,精英式”的辦學理念貫穿于人才培養的全過程。在校軟件工程碩士第1學年寒假要到企業參加為期3周的實訓。實訓由學院統一帶隊組織,實行半封閉式管理。期間接受企業培訓,在企業導師的指導下分組完成指定的項目。通過強化訓練,學生可以了解企業的項目開發流程,學習運用所學理論解決實際問題的方法,發現學習中的不足和技術上的差距,對后續學習起到引導和促進作用。第2學年,學生到實習單位實習并根據實習期間的實踐工作內容撰寫學位論文。對碩士畢業論文的要求是:具有系統性和完整性,能表明作者具有一定的獨立工作能力;理論聯系實際,應用所學的理論知識解決實際工作中的關鍵問題;具有實用性且必須包含一定的工作量。取得的成果要有一定的先進性,要能表現出學生具有綜合運用所學知識解決工程實際問題的能力。從2002年至今,哈工大軟件學院建立了完善的工業實習管理制度,在國內外建立工業實習基地70余個,實際接收學生實習的企業達200余家。工業實習基地的建設有效保證了工業化人才培養的質量。為加強與企業界的溝通,了解企業需求,完善培養體系,提高學生工業實習質量和加強工業實習管理,學院定期舉辦“工業化人才培養與企業合作高級研討會”,與企業界人士研究和探討工業化人才培養中的合作問題,企業參與意識很高,取得了較好的效果。
4與國外大學合作,聯合培養軟件工程碩士
通過對軟件工程國際化人才特點及成長規律的研究,我們對軟件學院國際合作辦學模式開展了學科專業、教學體系、合作形態、組織方式、國際文化交流等層面的前瞻性研究,率先提出并建立了特色鮮明的多國聯合辦學、多學科交叉滲透、多國文化融合的,培養高層次、復合型軟件工程人才的國際化聯合教育模式。哈工大軟件學院與法國波爾多第一大學、法國克萊蒙-費朗第二大學、德國柏林工業大學、愛爾蘭都柏林工業大學、愛爾蘭國立都柏林大學、美國Embry-Riddle大學、意大利帕維亞大學、瑞典林雪平大學、日本會津大學等合作,采用哈工大軟件工程碩士專業學位(MSE)+合作方碩士學位(X)的“MSE+X”模式,聯合培養碩士研究生。培養過程共分4個學期。第1學期,學生在各自學校學習;第2學期,外國學生來哈爾濱工業大學,與哈工大學生合班學習;第3學期,中外學生一起去合作方學校學習;第4學期,學生自選在國內、外企業實習、撰寫學位論文、答辯畢業,哈工大與國外大學分別頒發碩士學位證書。跨國聯合培養班的全部課程采用英語教學,實行三導師制,由國內、國外大學和企業導師共同指導。為加強交流,每年舉辦一次“中歐軟件工業教育國際研討會”,來自海內外的高校教師、企業界朋友在一起交流經驗,共同探討國際環境下人才培養的相關問題。多國聯合培養軟件工程碩士實現了國際化與工業化辦學理念的教育模式與教學體系的設計與實踐,軟件工程國際化人才的跨國聯合培養模式及實踐,面向企業人才需求的教學與工業實習,國際化師資與專家隊伍建設,教育質量保障體系建設與管理及跨文化的融合等目標。
5完善質量保障體系,加強過程管理借鑒
歐美教學質量保證的成功經驗,哈工大軟件學院建立完善且適合自身特點的國際化、工業化人才培養質量保證體系。學院成立教學指導委員會和教學督導委員會,在各個培養環節上嚴把質量關,把規定、培訓、預防、跟蹤、反饋、控制等質量保證活動滲透到教學執行過程中的每個環節。加強實踐教學環節的監督檢查,有效保證教學質量和人才培養質量的穩步提高。為提高軟件工程碩士的指導質量,學院成立了若干個指導教師組,每個指導教師組負責一個專業方向的碩士指導,設組長1人,負責本組指導教師的組織和督導。每名碩士研究生指導教師每年指導的碩士研究生不超過4人。學院組織專家組審核學位論文。只有通過了專家組的審核,學生方可申請學位論文答辯。另外,碩士研究生開題、中期檢查和結題驗收、論文等環節也有詳細的規章制度、嚴格的過程管理,這是提升碩士研究生培養質量的有效手段。
6成果與特色
在軟件工程碩士研究生培養的實踐中,哈工大軟件學院在以下幾個方面取得了優異的成績,形成了自己的特色,積累了豐富的經驗。(1)面向軟件產業的人才需求,校企合作,形成較為完善的應用型碩士研究生的工業化人才培養體系,開展多種形式的校企合作,建立有自身特色、符合國際化標準、滿足軟件企業需求的工業化人才培養計劃。(2)創立軟件工程國際化人才培養模式和教育體系;實現“跨學科融合,雙邊對等招生,聯合培養,融合文化”的“MSE+X”軟件工程碩士跨國聯合培養模式,為學生提供國際化學習環境。(3)建立與國際接軌的辦學機制和教育質量保證體系,實施課程考核累加計分制等教學管理新制度。(4)培養了一大批具有國際競爭力、滿足企業需求的高級軟件人才。
7結語
基于CDIO工程教育模式的項目驅動“面向對象軟件工程”課程教學方法(下簡稱CDIO教學法),以培養學生的基本工程能力和工程綜合素質為目標,將“面向對象軟件工程”知識體系中的相關知識點滲透到實踐的各個環節中,而這些環節和軟件工程生命周期完全一致,在各個環節中解決問題的方法則可以采用CDIO的構思、設計、實現和運行理念。我們參照CDIO能力大綱,提出通過“面向對象軟件工程”教學和課程項目實踐,培養學生如下方面能力:①通過基于案例/項目驅動來學習,要求學生能夠深入理解“面向對象軟件工程”的知識體系和該課程的基礎理論并能在實際項目中加以靈活應用。“面向對象軟件工程”的知識體系為學生理解和應用其基礎理論解決分析、設計、實現和運行中的實際問題打下基礎并提供有效工具;而“面向對象軟件工程”理論基礎為學生針對實際問題進行發明創造提供動力,為學生發現問題、分析問題和解決問題提供理論支持。②通過“面向對象軟件工程”課程中項目的驅動,要求學生創建項目團隊,通過課程項目實踐各個環節(包括需求分析、設計和實現等環節及在此環節中的各項活動、溝通與協調、文檔撰寫),培養學生的良好職業素養,以及團隊合作、系統思維、工程實踐、項目管理和文檔寫作的能力。③通過“面向對象軟件工程”理論學習和課程實踐,培養學生的創新意識和能力,以開發出具有鮮明個性的軟件作品。
2CDIO教學法在“面向對象軟件工程”理論及其課程項目教學設計中的應用
2.1總體設計
目前,“面向對象軟件工程”課程教學安排共計54學時,我們將理論教學內容與課程項目實踐教學內容結合起來進行設計。在整個教學周期內,按照軟件生命周期并結合CDIO、案例與項目驅動的教學法,設計理論課程案例教學過程中的相關活動,配合對應的課程項目實施活動加以有效組織與實踐,在整個教學環節結合項目開發活動的進展與深入,要求學生記錄自己團隊活動中的相關內容,按照我們事先制定的規范撰寫并維護項目文檔。具體解決方案是:第一,正式課程教學的1~6周,設計項目描述和需求獲取與分析、系統設計中的具體活動,這些活動包括分別標識實體對象、邊界對象和控制對象;將用例映射成對象;建立對象之間的交互;標識關聯、聚集和屬性;對單一對象狀態依賴行為的建模;對對象之間的繼承關系建模;對本階段的分析對象模型進行評審;基于分析對象模型標識出設計目標,進行子系統分解和標識;將子系統映射到系統構件元素上;標識并存儲持久性數據;設計訪問控制策略;設計全局控制流;標識服務;標識邊界條件;對系統設計進行評審。第二,7~14周,設計對象設計與實現中的活動,這些活動包括學習軟件復用和設計模式,并在詳細設計中加以應用;對對象之間的接口進行說明,涉及標識遺漏的屬性和操作、說明接口類型、簽名與可見性,說明接口中相關方法的前置條件、后置條件和不變式等。第三,15~16周,設計測試階段中的活動。第四,17周,進行相關的總結活動,包括項目文檔的靜態檢查和驗收,以及課程項目的動態演示與現場回答問題。
2.2設計課程項目
在設計課程項目中,將考慮提供給學生一個貫穿整個學期的課程教學項目描述,為此我們將選擇開發一個基于Web的應用系統。這類系統的實例很多,可以由教師設定或者由學生自選,如教師可根據教學中的需要設定一類基于Web的師生交流系統,以方便實現教師和學生之間關于做項目時的溝通。學生也可以根據個人興趣選擇網游軟件開發,或者選擇基于Web的電子商務網站系統等。總之,相關項目的設計需要教師事先準備好項目描述或問題定義。為了開發這類基于Web的應用系統,教師需要指定項目使用的環境和工具,主要包括兩類:一類是開發環境與工具、數據庫管理系統、界面開發工具等,另一類是項目管理工具。這一階段設計的活動屬于CDIO中的構思階段。
2.3設計理論課程教學過程
首先,在理論課程教學內容設計中,我們主要依據的是第3版的SWEBOK標準(2013),在CDIO工程教育模式的指導下,完成相關知識體系教學設計。在SWEBOK2013版中的17個知識點中(其中2個為候補知識點),我們選擇了其中10個知識點,并將這些知識點融合到“面向對象軟件工程”的理論課程教學中。這些知識點可有效地體現著CDIO的工程教育理念,如軟件需求體現了CDIO的構思,軟件設計體現了CDIO的設計,軟件構造和軟件測試體現了CDIO的實現,軟件維護體現了CDIO的運作等。其次,在此基礎上設計理論教學過程。一方面,以案例/項目驅動教學方法為基礎,“面向對象軟件工程”課程中相關知識體系及理論學習,要求學生在學習和思考中掌握“面向對象軟件工程”的相關知識、術語、理論和技術基礎,并通過團隊方式共同學習、討論和完成作業,并以團隊形式參加全體同學的各種討論活動;另一方面,要求學生圍繞著項目描述或者待解決的問題描述,完成團隊組建、工具選擇、項目計劃制定,并開始執行需求工程中的需求獲取和需求分析活動,以及在此基礎上的系統設計活動,這些階段的工作結論需要學生加以記錄,特別是需求獲取與分析的結論和總體設計結論更要以文檔形式加以記錄。第三,結合案例/項目驅動教學,進一步完成“面向對象軟件工程”理論課程。具體做法是一方面引入小型案例,另一方面引入面向應用領域的實際項目,并在項目描述、需求獲取和分析活動、系統設計和對象設計中,將該項目的具體情景或者可行的系統設計解決方案引入課堂,在課堂上組織學生參與討論、分析這些基于場景的案例,將需求階段和系統設計階段中涉及的重點知識、術語、過程與步驟等重點和難點融入到案例中來講解和學習,以便于學生真正理解相關的理論教學內容。這一階段的活動設計對應著CDIO中的構思階段。
2.4基于項目驅動的課程實驗教學設計
解決軟件項目中的問題或實現軟件項目中的任務,要求學生以團隊方式進行活動,并在整個活動中的各個階段貫徹CDIO工程教育的理念,即讓學生能夠對軟件項目中的任務完成進行構思,獲取與軟件項目相對應的軟件系統的功能性需求、非功能性需求和系統約束,并以文檔方式進行描述;接著,通過設計手段來完成項目任務,用系統來對應將來要完成的任務,并在該系統設計中落實項目的各項要求,這需要通過對系統的總體設計、詳細設計等環節來達到,并將設計結論記錄在軟件設計文檔中;在前面構思和設計的基礎上,選擇合適的程序設計語言、數據庫管理系統等基礎設施,用編程的方式實現該系統,并完成相應的測試任務,注意在實現過程中,同樣要將相關結論以文檔的形式加以記錄,以備維護之需;在系統實現后,通過部署和運行等方式,讓該軟件系統(可以看成是本項目的解決方案)呈現出價值。在這一完整過程中,讓學生通過項目驅動下的團隊活動過程,體驗到軟件產品從構思、設計、實現到運行(包括維護)所經歷的全生命周期過程。這一階段的活動設計對應著CDIO中的設計、實現階段。
2.5項目總結與項目驗收過程教學設計
項目總結過程的教學設計是以團隊為單位進行自我總結并撰寫項目總結報告,以個人為單位撰寫學習心得,教師主要驗收和檢查相應的項目總結報告和學生學習心得。項目驗收過程的核心是開展兩階段驗收活動,即在學期的15~18周中,選擇第15周進行一次中期檢查,第18周再進行一次期終項目驗收。全體主講教師和輔導教師組成一個答辯小組(一般為4人),他們事先要做好各項準備工作,包括現場點名以確認學生的有效身份并結合點名宣布學生團隊的答辯順序,保證答辯的有效性和合理性;由答辯小組組長宣布評分標準細節和學生是否能夠通過本次驗收活動的標準。
3實踐活動
在“面向對象軟件工程”課程教學活動中,共有45位學生(組成了15個團隊)全程參與了我們的教學改革過程,現在僅就驗收答辯環節進行說明。整個答辯所耗時間共計7個多小時;答辯老師根據實際情況(最低底線是學生必須完成項目要求的最基本功能),充分肯定了學生到目前為止所完成的開發成果,同時建議相關學生利用即將到來的假期進一步完成或完善該應用軟件系統的開發,及時修改設計上的缺陷。在本次教改實驗過程中,我們充分認識到這一教學過程對教師也提出了更高的要求。教師不僅僅是需要在理論基礎教學上過硬,還需要具備軟件項目開發的經驗,這樣才能夠做到既能站在理論的高度指導學生分析和解決問題,同時也能給出實實在在的課程項目開發活動中的技術指導。
4結語
對于軟件工程監理來說,明確監理環節和內容是監理活動得以順利開展的基礎和前提。軟件工程與一般的土建工程、電氣工程的差別非常大,其監理活動也具有獨特的特點,下面簡單分析一下軟件工程監理可以分成哪幾個環節以及各個環節的監理要點。
1.1招標階段的監理招標是軟件工程開展下去的第一步,只有做好充分的準備,才可能滿足業主的期望,這一環節的成敗將會直接影響到整個軟件工程項目的成敗。在招標階段,合同成功簽訂表明該環節的結束,業主與軟件開發商簽訂了具有法律效應的合同,雙方具有了相互約束、相互配合的法律關系,是保證接下來工作順利進行的基礎。在這一環節中,監理工作主要包括這樣幾部分:(1)監理人員協助業主編制招標計劃、審核軟件工程的需求等。(2)監理人員仔細審核標書。(3)協助業主明確軟件工程的目標、內容、功能以及進行軟件工程的預算。(4)審核承建合同,仔細審核合同中的軟件工程功能、技術指標、測試內容、驗收要求、雙方責任等內容。(5)協助業主與其他軟件開發商進行良好的信息溝通,確保雙方溝通的順暢。在招標階段,軟件開發商尚未走進工程項目中,故此監理人員的主要職責是審核和確認,做好前期基礎性工作。
1.2設計階段的監理設計階段是軟件工程項目的一個關鍵階段,雖然設計費用僅占軟件工程項目總造價比例的1%-3%,但是其對整個項目的順利開展以及造價、質量、進度等的管理影響非常大,設計方案質量高低將直接影響到軟件工程項目實施過程中的開發與配置。在這一階段,監理內容主要是:(1)審核軟件系統的需求是否合理,以及實施路線、關鍵技術等內容是否合理,簽署審核意見。(2)監理人員協助業主開展設計方案的評審工作。(3)組織業主、專業人員對軟件工程項目測試方案、驗收方案等進行詳細審核,并簽署審核意見。(4)結合合同要求進行進度計劃審核,并確認進度計劃的可行性、合理性,簽署審核意見。(5)協助業主配合軟件開發商開展軟件工程實施前期的調查。在設計階段,監理重點內容就是對設計方案進行細之又細、慎之又慎的審核。
1.3實施階段的監理在軟件工程項目實施階段,一般可以分成需求分析、設計、編碼、測試這4個步驟,每個步驟都有相應的監理內容和側重點。(1)需求分析是軟件工程實施的第一步,是保證最后開發出來的軟件產品符合業主需求的基礎,這一階段的工程內容主要包括詞匯表、用例模型、用例規約等內容,而對應的監理內容則包括監督需求分析過程、審核需求分析計劃、審核需求分析結果等內容。(2)是設計階段的監理過程,主要包括監督軟件開發商的設計過程、審核設計計劃、審核軟件結構文檔、監督軟件設計結構中存在的問題并提出意見等。(3)編碼階段的監理,這一階段是將軟件開發商的設計思想變成計算機語言的過程,監理任務主要是審核項目組的人員、設備、進度計劃等,并實時掌握軟件開況,確保軟件工程開發能按照進度計劃順利開展。(4)測試階段的監理。軟件工程的測試一般可以簡單分成單元測試、集成測試、系統測試等內容,而監理內容則主要是審核測試計劃、監督測試流程、復核測試結果等。
1.4驗收階段的監理驗收階段是軟件工程項目的最后一個階段,該階段就是軟件系統的試運行、驗收移交過程,監理內容則主要是對軟件系統進行細致的審核、監督、驗證、測試、確認。
2應用分析
正確的軟件工程監理方法有助于保證軟件工程監理質量,從而確保軟件工程質量,但目前國內軟件工程監理工作中,還沒有形成系統的監理方法體系,只有一些零散的監理方法和理論,比如,PDCA戴明環、魚骨圖等。在軟件工程項目中,監理單位扮演的是技術方角色,其與普通土建工程的旁站監理不同,需要從軟件工程項目一開始就做好進度、成本、質量等方面的監理,確保軟件工程的順利開展。
2.1質量控制在質量控制方面,最常用的方法是魚骨圖和PDCA戴明環。在運用魚骨圖進行軟件質量控制時,首先需要確立質量控制目標,分析影響質量的因素,并對這些因素進行深入分析,在魚骨圖上標出來,討論解決問題的方法,并標出解決方法的權重,以此來控制軟件工程質量。比如說:在軟件工程具體某實施項目的質量分析上,從人、機、料、法、環5個角度分析現場作業的質量因素。例如:某稅收管理系統建設中,監理單位為有效控制工程質量,在需求分寫環節非常重視需求的調研以及需求分析結果的審核,運用魚骨圖從人、事、時、地、物五個方面分析影響因素,如圖1所示。
2.2進度控制在進度控制上,軟件工程監理常采用甘特圖進行,而采用這一方法的前提是對軟件工程項目的任務了如指掌,繪制出詳細的工作任務分解結構圖,將所有項目的開始時間、工期等到標注到甘特圖上,然后結合軟件工程項目的特點確定控制關鍵點,并確定項目的關鍵路徑,確定項目活動之間的相互依賴關系以及時序進度,按照項目類型將項目聯系起來。例如:在某稅收管理系統工程項目的進度監理管理中,監理人員繪制甘特圖,對軟件開發商的進度計劃進行整體分析,發現其中存在這樣幾個問題:任務階段劃分不明確、任務間的關系不合理、關鍵任務不明確、忽略國家宏觀政策對項目的影響等,結合這幾個問題要求軟件開發商立即進行進度計劃的調整和整改,得出最優化的進度計劃,并確保整個軟件工程實施都處于受控狀態,有效保證軟件工程項目的順利開展。
3結語
1.1課程群的界定
所謂課程群是與單門課程對應的一種課程建設模式,以現代教育思想為指導,為完善同一施教對象的認知結構,將本專業培養方案中若干門在知識、方法和問題等方面有邏輯聯系的課程加以整合而成的系列課程.在內容上具有密切相關、相承、滲透和互補性,能夠較好地提高課程教學質量和學生專業水平,是構建和整合性課程的有機集成[2].
1.2課程群劃分與設置
對課程群進行有效劃分與設置,應以CDIO模式為指導,以IT企業對人才的需求為導向,對軟件工程專業課程體系建立自上而下、逐層細化的方法進行劃分[3].對于軟件工程專業而言,重基礎和寬口徑是一貫執行的教育理念,而培養理論基礎扎實且專業知識系統較寬廣的國際化、復合型和實用型的高級軟件人才則是其主要的培養目標.為此,劃分課程群應以軟件工程專業培養目標為準繩,明確軟件工程專業課程群體系,按照知識結構和知識體系不同進行層次性劃分,將相互聯系密切的課程劃分在同一課程群內.同時,應考慮不同課程群的設置應以培養學生不同的能力水平為主線,在有限課時內合理調整知識點分配,完成知識水平的結構化和層次化,避免學生學到的內容博而不專.軟件工程專業是注重系統化和工程化的專業,其課程內容具有厚基礎、更新快、實踐強等特點.為此,課程群的設置要與學生實踐訓練緊密結合,以培養符合CDIO模式,具備工程實踐能力和創新能力的人才.根據軟件工程專業的學生實際情況和綜合因素,設置該專業為4個不同的課程群模塊。通過該課程群的關系圖,明確描述了軟件工程專業基礎課程和各專業課程之間的層次關系,根據軟件工程專業的兩大專業基礎課程群,延伸支持兩塊專業方向課程Android手機移動終端項目開發方向和JAVA網站開發方向[4].這樣的課程群設置不但可以使教師在教學課程內容先后順序上清楚明了,而且使學生能夠明確專業學習方向、未來的就業方向和服務社會的方向.
2課程群的構建與實踐
課程群的構建是一項涉及創新和變革的教學改革活動,是一個復雜的系統工程,要依據基礎教育發展需要,IT企業需求和專業人才培養目標來共同制定.完善的課程群的構建同時對于激發和培養教與學的雙邊動力具有一定的促進和推動作用.
2.1課程群構建
構建課程群要明確同一課程群或不同課程群涉及的不同課程間知識的融通和銜接,如專業基礎課程群中的Java語言程序設計[5]、數據結構課程要與后續課程Struts網站開發、Android手機項目開發課程進行無縫銜接,以確保學生有扎實的基礎和科學的知識結構.同時,應結合CDIO模式將理論教學與實踐教學有機結合[6],避免學生教與學迷茫,將學生的思維方法與創新能力有機結合.課程群的構建要根據學生的綜合因素設定必修課程,學生也可以根據個人興趣愛好及未來擇業方向選取不同的課程群.
2.2課程群的實踐體系
軟件工程專業課程群是以軟件技術應用性為主的課程群[7],實踐課程群體系直接影響到學生能力的培養.為此,對課程群的實踐體系進行了改革.一是改善該課程群的實驗環境[8],更新了60臺計算機設備,提高了內存、硬盤容量等,建立了軟件實驗室兩個校內實踐基地;二是增加了軟件項目管理等課程的設計性與綜合性實驗;三是新增了Android手機移動開發課程的課程設計;四是實驗開放項目立項.形成了完整的實驗、課程設計、校內實踐與實驗開放項目一體化的實踐課程體系.
2.3課程群的實施方案
鼓勵學生基于課程群內容開展課外創新項目,或直接參與教師的科研項目構思、設計與實施,學生可以選擇基于Android的游戲設計開發游戲項目,也可以選擇Eclipse等工具開發桌面程序或企業項目等,培養創新能力;鼓勵學生組成團隊,自己申報立項,結合課程研究項目動手完成自主實驗,并積極組織開展以各種APP程序設計類競賽為主的實驗項目,以推進大學生科研訓練計劃.同時,學生能夠運用所學的知識,發揮自身的主觀能動性,積極進行創新性思維,提高專業應用能力、技術開發能力及團隊協作能力等.
3結語
度軟件工程的應用促進了會計信息的廣度,傳統會計核算范圍主要限于貨幣性財務信息,但是企業許多重要信息難以通過貨幣進行簡單計量。而軟件工程條件下,除了傳統的價值核算尺度,還增加了諸如實物量尺度、人力資源管模塊等非貨幣信息,使得信息需求者能全方位多角度把握組織內部情況。同時,軟件工程也促進了會計信息的深度。傳統手工核算下,會計核算指標能達到的詳細程度很有限,而財務軟件提高了會計核算指標的詳細程度和關聯程度,比如科目編碼至少可以達到四級,便于進行深入核算。
二、為信息使用者實時高效獲取多方信息提供可能
在傳統會計模式下,會計人員處理數據傳輸數據具有一定時滯,即時報告也受到技術與成本效益原則的約束。在軟件工程技術下,計算機自動快速處理使得及時獲得報告信息成為可能,其強大的綜合數據庫也使得根據管理層需要提取各種信息組合得以實現。無論是提供定期信息還是實時信息,綜合信息還是明細信息,技術上的限制已不復存在。在會計信息系統下,利用網絡傳遞電子數據,計算機處理數據,與實際經濟業務沒有或很少有時間上的延遲,而會計軟件不受會計分期限制,能即時反復處理數據,生成財務報告。管理層可根據需要在任何時間內得到最新的財務數據。另外財務軟件系統清晰地記錄了各項數據之間的勾稽關系,能夠更為便捷地提取相關項目并對其進行深入細致的分析。
三、提高了效率,解放了人力
受傳統手工操作能力的限制,會計工作需要多名會計人員分工協作才能完成數據處理。而專業財務軟件出現后,會計人員不再需要手工記賬、算賬和編制報表,在輸入記賬憑證后,憑證通過計算機進行傳遞并自動進行核算和編制報表工作,而經常性的賬務處理如固定資產折舊、各部門某些書刊費用分攤等能在每月自動核算,減少重復工作。這使得會計人員能從傳統的日常業務中解脫出來,更多致力于財務會計信息的深加工,注重財務監管、財務分析、戰略財務規劃等。
四、便于加強內部控制與外部監管
傳統手工會計系統的內部控制以人工控制實現,主觀性很強。而財務軟件的引入,使得內部控制兼具人工控制與程序控制的特點。財務軟件系統許多應用程序中包含了內部控制功能,比如對特殊交易事項需要具有相應權限人員授權,再未獲得授權時系統會進行控制與反映,這限制了某些人員擅自進行越權交易;再如軟件要求各項會計處理必須按照一定的程序來進行,能夠很好地規范某些違反規定的行為。另外現在企業實行電算化會計,也為外部監管工作帶來極大的便利。傳統會計數據通常采用紙質為載體,數據儲存不易,且占用大量空間,而會計電算化的實現,使得所有會計數據均以“比特”方式保存在磁性介質上,便于查找。基于網絡平臺的財務軟件能夠通過網絡進行數據傳輸,因此審計機構可以通過相應軟件進行遠程辦公,這樣既提高了工作效率,也節約了大量的工作經費。
五、總結
1.1教學理念落后
受到傳統教育思想的影響,我國高校工程教學長期以來以教師為教學環節中的主體,教師在教學過程中強調知識傳授,忽略了對學生實踐動手能力、創新能力、團隊合作精神和相關人文素質的培養。傳統的“面向對象軟件工程”課程的教學也存在著上述問題。
1.2傳統項目驅動教學方法在實施中的不足
項目驅動教學方法是在具體項目引導下以學生為主體來實施相關教學內容的一種教學模式。當前國內很多高校在開展項目驅動教學時,往往會變成走形式主義,具體表現在:①教師對于學生的工程意識培養不夠重視,對項目的選擇或者設計比較主觀(具體表現在所選擇的項目很難或很易),這要么會引起學生有畏懼情緒而產生厭學,要么會使學生很容易地實現該項目(這種情況是因為學生可通過網絡輕易完成項目),從而使得該課程項目失去原本意義;②在實施過程中,由于組織不當,會使得學生團隊人數過多,搭配不合理,這樣使得有些團隊因配置了能力很強的學生而使得該項目能夠順利完成,同時另一些團隊由于聚集了能力偏弱且自覺性較差的學生而使得該項目最終流于形式,這反而會導致項目驅動教學未能達到應有的教學目標。傳統的“面向對象軟件工程”課程項目的實施過程中也存在著上述問題。
1.3CDIO工程教育模式在“面向對象軟件
工程”課程改革中起到的作用針對上述問題,CDIO工程教育模式摒棄了以教師、教材和課堂為中心的“舊三中心論”,弘揚了以學生、學習和學習效果為中心的“新三中心論”,更強調通過工程實踐環節引導學生掌握新知識和動手與創新能力,從而樹立起以產品為導向的工程價值觀,將IT企業工程師應該具備的核心素質作為整個教育活動的主線。在實施CDIO教學過程中,將更強調學生在教師的引導下進行主動學習和積極認知過程,以構建起與學生已有認知結構相聯系的知識體系。
2基于CDIO工程教育模式的教學方法
基于CDIO工程教育模式的項目驅動“面向對象軟件工程”課程教學方法(下簡稱CDIO教學法),以培養學生的基本工程能力和工程綜合素質為目標,將“面向對象軟件工程”知識體系中的相關知識點滲透到實踐的各個環節中,而這些環節和軟件工程生命周期完全一致,在各個環節中解決問題的方法則可以采用CDIO的構思、設計、實現和運行理念。我們參照CDIO能力大綱,提出通過“面向對象軟件工程”教學和課程項目實踐,培養學生如下方面能力:①通過基于案例/項目驅動來學習,要求學生能夠深入理解“面向對象軟件工程”的知識體系和該課程的基礎理論并能在實際項目中加以靈活應用。“面向對象軟件工程”的知識體系為學生理解和應用其基礎理論解決分析、設計、實現和運行中的實際問題打下基礎并提供有效工具;而“面向對象軟件工程”理論基礎為學生針對實際問題進行發明創造提供動力,為學生發現問題、分析問題和解決問題提供理論支持。②通過“面向對象軟件工程”課程中項目的驅動,要求學生創建項目團隊,通過課程項目實踐各個環節(包括需求分析、設計和實現等環節及在此環節中的各項活動、溝通與協調、文檔撰寫),培養學生的良好職業素養,以及團隊合作、系統思維、工程實踐、項目管理和文檔寫作的能力。③通過“面向對象軟件工程”理論學習和課程實踐,培養學生的創新意識和能力,以開發出具有鮮明個性的軟件作品。
3CDIO教學法在“面向對象軟件工程”理論及其課程項目教學設計中的應用
3.1總體設計
目前,“面向對象軟件工程”課程教學安排共計54學時,我們將理論教學內容與課程項目實踐教學內容結合起來進行設計。在整個教學周期內,按照軟件生命周期并結合CDIO、案例與項目驅動的教學法,設計理論課程案例教學過程中的相關活動,配合對應的課程項目實施活動加以有效組織與實踐,在整個教學環節結合項目開發活動的進展與深入,要求學生記錄自己團隊活動中的相關內容,按照我們事先制定的規范撰寫并維護項目文檔。具體解決方案是:第一,正式課程教學的1~6周,設計項目描述和需求獲取與分析、系統設計中的具體活動,這些活動包括分別標識實體對象、邊界對象和控制對象;將用例映射成對象;建立對象之間的交互;標識關聯、聚集和屬性;對單一對象狀態依賴行為的建模;對對象之間的繼承關系建模;對本階段的分析對象模型進行評審;基于分析對象模型標識出設計目標,進行子系統分解和標識;將子系統映射到系統構件元素上;標識并存儲持久性數據;設計訪問控制策略;設計全局控制流;標識服務;標識邊界條件;對系統設計進行評審。第二,7~14周,設計對象設計與實現中的活動,這些活動包括學習軟件復用和設計模式,并在詳細設計中加以應用;對對象之間的接口進行說明,涉及標識遺漏的屬性和操作、說明接口類型、簽名與可見性,說明接口中相關方法的前置條件、后置條件和不變式等。第三,15~16周,設計測試階段中的活動。第四,17周,進行相關的總結活動,包括項目文檔的靜態檢查和驗收,以及課程項目的動態演示與現場回答問題。
3.2設計課程項目
在設計課程項目中,將考慮提供給學生一個貫穿整個學期的課程教學項目描述,為此我們將選擇開發一個基于Web的應用系統。這類系統的實例很多,可以由教師設定或者由學生自選,如教師可根據教學中的需要設定一類基于Web的師生交流系統,以方便實現教師和學生之間關于做項目時的溝通。學生也可以根據個人興趣選擇網游軟件開發,或者選擇基于Web的電子商務網站系統等。總之,相關項目的設計需要教師事先準備好項目描述或問題定義。為了開發這類基于Web的應用系統,教師需要指定項目使用的環境和工具,主要包括兩類:一類是開發環境與工具、數據庫管理系統、界面開發工具等,另一類是項目管理工具。這一階段設計的活動屬于CDIO中的構思階段。
3.3設計理論課程教學過程
首先,在理論課程教學內容設計中,我們主要依據的是第3版的SWEBOK標準(2013),在CDIO工程教育模式的指導下,完成相關知識體系教學設計。在SWEBOK2013版中的17個知識點中(其中2個為候補知識點),我們選擇了其中10個知識點,并將這些知識點融合到“面向對象軟件工程”的理論課程教學中。這些知識點可有效地體現著CDIO的工程教育理念,如軟件需求體現了CDIO的構思,軟件設計體現了CDIO的設計,軟件構造和軟件測試體現了CDIO的實現,軟件維護體現了CDIO的運作等。其次,在此基礎上設計理論教學過程。一方面,以案例/項目驅動教學方法為基礎,“面向對象軟件工程”課程中相關知識體系及理論學習,要求學生在學習和思考中掌握“面向對象軟件工程”的相關知識、術語、理論和技術基礎,并通過團隊方式共同學習、討論和完成作業,并以團隊形式參加全體同學的各種討論活動;另一方面,要求學生圍繞著項目描述或者待解決的問題描述,完成團隊組建、工具選擇、項目計劃制定,并開始執行需求工程中的需求獲取和需求分析活動,以及在此基礎上的系統設計活動,這些階段的工作結論需要學生加以記錄,特別是需求獲取與分析的結論和總體設計結論更要以文檔形式加以記錄。第三,結合案例/項目驅動教學,進一步完成“面向對象軟件工程”理論課程。具體做法是一方面引入小型案例,另一方面引入面向應用領域的實際項目,并在項目描述、需求獲取和分析活動、系統設計和對象設計中,將該項目的具體情景或者可行的系統設計解決方案引入課堂,在課堂上組織學生參與討論、分析這些基于場景的案例,將需求階段和系統設計階段中涉及的重點知識、術語、過程與步驟等重點和難點融入到案例中來講解和學習,以便于學生真正理解相關的理論教學內容。這一階段的活動設計對應著CDIO中的構思階段。
3.4基于項目驅動的課程實驗教學設計
解決軟件項目中的問題或實現軟件項目中的任務,要求學生以團隊方式進行活動,并在整個活動中的各個階段貫徹CDIO工程教育的理念,即讓學生能夠對軟件項目中的任務完成進行構思,獲取與軟件項目相對應的軟件系統的功能性需求、非功能性需求和系統約束,并以文檔方式進行描述;接著,通過設計手段來完成項目任務,用系統來對應將來要完成的任務,并在該系統設計中落實項目的各項要求,這需要通過對系統的總體設計、詳細設計等環節來達到,并將設計結論記錄在軟件設計文檔中;在前面構思和設計的基礎上,選擇合適的程序設計語言、數據庫管理系統等基礎設施,用編程的方式實現該系統,并完成相應的測試任務,注意在實現過程中,同樣要將相關結論以文檔的形式加以記錄,以備維護之需;在系統實現后,通過部署和運行等方式,讓該軟件系統(可以看成是本項目的解決方案)呈現出價值。在這一完整過程中,讓學生通過項目驅動下的團隊活動過程,體驗到軟件產品從構思、設計、實現到運行(包括維護)所經歷的全生命周期過程。這一階段的活動設計對應著CDIO中的設計、實現階段。
3.5項目總結與項目驗收過程教學設計
項目總結過程的教學設計是以團隊為單位進行自我總結并撰寫項目總結報告,以個人為單位撰寫學習心得,教師主要驗收和檢查相應的項目總結報告和學生學習心得。項目驗收過程的核心是開展兩階段驗收活動,即在學期的15~18周中,選擇第15周進行一次中期檢查,第18周再進行一次期終項目驗收。全體主講教師和輔導教師組成一個答辯小組(一般為4人),他們事先要做好各項準備工作,包括現場點名以確認學生的有效身份并結合點名宣布學生團隊的答辯順序,保證答辯的有效性和合理性;由答辯小組組長宣布評分標準細節和學生是否能夠通過本次驗收活動的標準。
4實踐活動
在“面向對象軟件工程”課程教學活動中,共有45位學生(組成了15個團隊)全程參與了我們的教學改革過程,現在僅就驗收答辯環節進行說明。整個答辯所耗時間共計7個多小時;答辯老師根據實際情況(最低底線是學生必須完成項目要求的最基本功能),充分肯定了學生到目前為止所完成的開發成果,同時建議相關學生利用即將到來的假期進一步完成或完善該應用軟件系統的開發,及時修改設計上的缺陷。在本次教改實驗過程中,我們充分認識到這一教學過程對教師也提出了更高的要求。教師不僅僅是需要在理論基礎教學上過硬,還需要具備軟件項目開發的經驗,這樣才能夠做到既能站在理論的高度指導學生分析和解決問題,同時也能給出實實在在的課程項目開發活動中的技術指導。
5結語
諸多的軟件工程專家都表示,復雜動力網絡的研究具有劃時代的意義,例如,復雜動力網絡在解決如何提升大規模網絡的傳輸效率,不斷增加網絡的可信度和穩定性,以及避免惡意襲擊和隨機錯誤給人們所帶來的經濟損失等方面,都有著非常重要的作用。而且,這些問題的解決必須要依據復雜網絡的理論知識和技術上的發展。
2復雜動力網絡的特征分析
2.1復雜動力網絡的同步效應
網絡上的同步這是社會中廣泛存在的一種非常重要的非線性現象。并且在現實生活中,有著非常復雜網絡在弱耦合情況喜愛可以在很大程度上展示同步的傾向性,而且,在對于全連接的網絡中,無論是耦合強度大小,只要是網絡進行充分連接,對于一個全局耦合的網絡就一定要能夠進行相應的同步,對于最近的鄰居耦合網絡,若一個局部耦合網絡也不一定能夠進行同步,在更為寬泛的意義上看,網絡上的同步要分情況來看,有時是有優勢,但是有的時候也會有害處。有益的網絡同步可以更好地運用在軟件工程中去,例如,可以更好地運用在保密通信和語言涌現和組織管理的協調上進行高效運行,如果是有害的同步,則很有可能會造成傳輸控制協議的增加,或者是出現網絡信息堵塞的情況,從目前的情況來看,網絡上的同步在核磁共振和激光設備中運用更加廣泛和成熟。所以,對于有益的網絡同步,我們一定要切實采取各種技術手段來保持網絡系統上的同步性,但是,對于有害的網絡同步,就必須要加以制止。
2.2復雜動力網絡上的控制
復雜動力網絡由于具備大量的節點,以及相對復雜的拓撲結構,使得傳統的控制手段已經不能完全地適應當前軟件工程的運用。人們相繼提出了自適應控制和線性反饋控制、切換控制以及牽制控制等方面。在當前復雜動力網絡系統中,我們就不僅僅可以通過控制網絡上的所有節點來實現一個既定的目標,而且,在大多數的情況下,就是希望能通過控制盡量少的節點來實現各種目標,這就是牽制控制。復雜網絡的牽制控制方面,基本上有兩種不同的控制策略,主要是可以分為,隨機控制策略和目的性選擇策略。總的來說,就是隨機選擇一些節點來進行牽制控制,但是,目的性的控制策略,就是嚴格按照一定規則來選擇有效地節點進行控制,實際上,牽制控制所涉及的領域非常廣,其中就包括網絡結構和節點動力學,以及相應的網絡耦合強度等一些方面,為此,對于牽制控制來說,如何來選擇網絡耦合強度和牽制控制器的數目就是當前牽制控制兩個最為基本的問題,從具體上看,就是可以給定復雜網絡系統和牽制控制策略和網絡耦合強度,必須要對多個牽制控制器才能更好地實現網絡上的穩定性,所以,這些問題都是需要我們面臨的問題。
3復雜動力網絡在軟件工程中的有效運用
在過去的幾年當中,有很多的專家和學者都將復雜網絡的理論和方法有效地運用在軟件工程中去,例如,可以有效地運用復雜網絡的工具分析,并進一步分析了軟件網絡各種統計特征和網絡可視化的軟件研究,并得到廣泛的運用和發展。在網絡化的軟件運用過程中,網絡軟件從某種意義上是一種多結構和全方位的動態演化軟件,具有很強的適應性和自組織性以及開放性。從另外一個角度上看,這是相對于傳統的網絡軟件來說,網絡式軟件的組成單位顯得更加主動,并且耦合度也非常松散,在規模上可以適當地進行收縮和拓展,而且網絡化的軟件可以切實通過發現和挖掘網絡資源,從而可以實現資源的有效利用,為客戶提供可持續性和安全上的交互與協調服務,更好地滿足用戶的各種需求。同時,軟件系統的運用過程中,這是一種人工上的比較復雜的系統,從而可以導致了統計意義上出現規律上的附和,這就必然會造成軟件設計方法和開發過程匯總的某些原則之間存在的關聯性。尤其是在200年以來,復雜動力網絡闡述了面向對象軟件網絡的結構與傳播代價之間的內在關系,可以說,網絡評價傳播代價和軟件網絡之間存在緊密的聯系。并且兩者的相關系數可以隨著網絡中的邊數結構的增加而減少,這樣就能夠充分說明在節點一定的情況下,隨著邊數的增加,可以在網絡中形成很大的中樞節點,進而可能導致了平均最短路徑長度的減少,同時,平均傳播代價也隨著減少,平均傳播代價和出入度之間的范圍都存在負相關,這也在一定程度上會造成網絡環境上的異質化更高,其中的平均傳播代價就越低,這就是為什么能夠出現真實的軟件網絡,而且網絡傳播代價顯得相對較小,而且,規則網絡卻使得平均傳播代價更大,為此,這就必須要對具體的情況做出詳細的分析,才能更好地推動復雜動力網絡在軟件工程中的應用。
4結語