摘要:隨著社會主義市場經濟體制的日益健全和發展,社會對人才的需求由從前的單一化轉為復合型,信息管理與信息系統專業也由此而生。“軟件工程” 是信息管理與信息系統專業的主干課程,也是一門指導信息管理與信息系統分析的關鍵課程,它與計算機專業“軟件工程”課程的教學內容、教學重點是不一樣的,由此本文提出了針對該專業的“合理體系、多種形式、內容滲透、特色案例和實踐、多形式考核”的教學模式,并從本專業軟件工程的教學體系、教學形式、教學內容、特色案例及實踐教學等方面進行了詳細研究和總結。
關鍵詞:軟件工程;信息管理與信息系統專業;案例教學;教學模式
中圖分類號:G64文獻標識碼:B
文章編號:1672-5913 (2007) 19-0043-04
1引言
信息管理與信息系統專業具有管理與信息技術相互滲透的特點,它既不同于計算機專業也不同于管理專業,更不是計算機與管理專業的大拼盤,而是基于現代管理理論,借助于先進的計算機工具進行信息管理和信息處理的學科。課程涉及計算機技術、信息處理技術、信息系統管理與分析、經濟管理類課程。要求學生在知識結構上除了掌握扎實的管理科學、經濟科學、計算機科學與技術、現代信息技術知識外,還應該具備較強的系統思想、信息系統分析與設計方法以及信息管理等方面的知識與能力。
“軟件工程”是信息管理與信息系統專業的主干課程,也是一門指導信息管理與信息系統分析的課程,它在信息管理與信息系統專業的教學中占有非常重要的地位。但是,目前現有的針對信息管理與信息系統的“軟件工程”教材大部分還是按照傳統的分析和設計方法,沒有融入當前比較先進的設計方法、設計工具,而且所選取的實例也沒有融入先進的管理理念,所以對信息管理與信息系統專業的“軟件工程”課程的研究和改革是非常必要的。
2信息管理與信息系統專業軟件工程教學改革
傳統的軟件工程教學模式已不適合信息管理與信息系統專業的學生,需要建立一個符合社會發展需求、能夠培養有優秀復合人才的教學新模式。通過幾年的教學摸索,我們提出了“合理體系、多種形式、內容滲透、特色案例和實踐、多形式考核”的教學模式。該模式采用產學結合、理論實踐相結合的方法,在企業中建立研究基地同時與資深軟件工程師和咨詢師進行聯合研究和實踐,使學生能夠掌握最先進的軟件分析方法和工具;深入理解先進的企業管理理念;提高動手實踐能力,保證了以后畢業設計的順利進行和社會的需求。
2.1軟件工程課程體系的合理構建
軟件工程課程是信息管理與信息系統專業非常重要的專業課程。課程的培養目標應該以市場人才需求為導向,培養的人才應該能夠為軟件企業提供更為專業化的服務,滿足企業的需求,從而增加企業的國際競爭力。因此,軟件工程課程的教學內容也應該更為專業化,應該在跟蹤國際有關機構對軟件工程研究的新成果的基礎上,不斷更新教學內容,構建新的課程體系。軟件工程課程主要涉及3個方面:技術與方法、工具與環境、標準與規范、過程與管理。教學過程既要考慮內容的連續性、繼承性,又要考慮可理解性和可操作性。因此,課程體系和教學內容也應涵蓋如下層面:
(1) 基本理論層面:介紹軟件工程基本理論,包括基本概念、原理、方法和技術、工具與環境,等,其中傳統的方法和技術等內容不能沒有,但不能占用太多的課時,而對于新的技術和方法則應該花較多的課時加以介紹,安排合適的課程訓練,如在面向對象的方法、項目管理方法、相關的開發工具和開發環境等方面。
(2) 技術管理層面:介紹軟件管理的主要內容,包括軟件項目管理、軟件風險管理、軟件質量管理、軟件配置管理、軟件過程管理等方面。主要以軟件過程為主,包括美國的SEI的軟件能力成熟度模型CMM/CMMI、ISO9000-3、國家行業標準《軟件過程成熟度模型SJ/T11234》和《軟件能力成熟度模型SJ/T11235》,等。
(3) 實踐層面:軟件工程實踐,主要是讓學生進行軟件工程課程內容的綜合應用實踐。可以采用相對集中的課程設計、參與實際軟件項目開發,以小組方式進行軟件項目模擬,參與軟件企業的軟件過程改進等方式進行,必要時可以跨學期進行。
2.2軟件工程教學內容的合理安排
為了保證教學的高標準,體現教學的科學性和完整性,我們應該在合理的軟件工程課程體系結構基礎上合理的安排軟件工程教學內容。軟件工程教學內容覆蓋了軟件工程知識體系中十個知識點,即軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、配置管理、工程管理、軟件過程、工具和方法、軟件質量。這些內容的教學被有意識、階梯狀地分配到學生四年的不同學習階段,最后使學生具備知識的綜合應用、融會貫通的能力。軟件工程的教學內容安排如下:
(1) 加強對軟件工程的認識:一年級的學生主要是公共基礎課程的學習,但在一年級的計算機導論課中加入了職業發展和軟件工程思想,使學生初步了解軟件工程的思想、作用,加強學生的規范化意識。
(2) 加強編程規范:在二年級的程序設計課程中除了使學生熟悉編程語言,理解面向對象的概念外,還加入了模塊化思想和編程規范的訓練,通過加強軟件工程中編碼階段的規范化訓練減輕了以后的軟件維護工作。
(3) 設計的規范化:三年級開設了數據庫系統、軟件工程以及大量的管理課程,在課程最后布置一個綜合作業,這個作業以先進的管理理論為指導,以軟件工程的思想規范系統的分析、設計。
(4) 工程化實踐:四年級通過軟件工程課程實習和畢業設計課程進一步強化軟件工程的思想,通過實踐進一步體會其重要性。
對于軟件工程這樣一門特殊的課程通過四年的階梯狀教學滲入,通過迭代式教學,使學生的分析、實踐能力得到有層次、有步驟地提高。
2.3多種教學形式相結合
為了提高軟件工程的教學質量和教學效果,激發學生的學習興趣和熱情,在教學中應采用多種教學手段提高教學效果。
(1) 多媒體教學:理論課采用多媒體教學手段,制作了大量課件。這些課件可以形象化地講授軟件工程基本原理,并且在同樣的一節課內能比以前傳授更多的知識。由于課堂時間有限我們將部分內容制作成課件供學生自學,以便于學生課外擴展自己的知識面。
(2) 網上教學:隨著Internet的發展,網絡成為人們獲取知識的最重要的途徑,在軟件工程的教學中通過建立網站,為學生更好學習提供了一個平臺。網站為學生提供學習資料下載以及相關業界信息;學生也可以通過網絡進行在線、離線的交流,同時網站也經常開展課程的專題討論和專家在線講座。
(3) 雙語教學:考慮到學生以后可能會閱讀大量的外文資料,軟件工程嘗試實施雙語教學,采用國外優秀的原版教材,課件和作業大部分采用英語作為工作語言,并鼓勵學生使用英語進行交流;同時給學生提供英文的課外閱讀資料,以使他們及時了解國際最新發展。
(4) 案例教學:考慮到信息管理與信息系統專業的特殊性,我們將案例教學融入到軟件工程課程的教學中,通過案例的分析一方面加強學生對所學的管理知識的理解,另一方面使學生能深刻領會和理解軟件工程的思想和方法。
(5) 實踐教學:通過與企業合作,建立實踐基地為學生提供實際的課題。這種方式提高學生按照軟件工程的原理、方法、技術、標準和規范進行軟件開發的綜合能力和軟件項目的管理能力,提高學生的綜合素質(特別在基礎技能、團隊協作、資料收集、人際交流、項目規劃幾個方面),在就業中具備更強的競爭力,更加適合在現代軟件企業中發展。
(6) 講座:通過資深的專家、軟件工程師的講座,有利于學生了解當前的社會需求和前沿技術,為學生提供一個指導方向。
2.4完整的、體現先進管理理論的特色案例教學
軟件工程講授的原理、技術、方法都是抽象的,為了使學生能深刻領會和理解軟件工程的思想和方法,在教學中將MBA的案例教學引到軟件工程的課堂教學中,將復雜抽象的概念用具體生動的案例進行詮釋,能夠收到事半功倍的效果。在具體教學中,可以實施以下幾個步驟:
(1) 設計一個典型的、完整的、具有先進管理思想的、實際的軟件項目案例,在整個教學過程中結合該案例講授每個知識點,將實際案例作為貫穿所有知識點的主線。該案例選擇學生學過、當前流行的管理方法(比如ERP、供應鏈),最好來源于授課教師直接參與的軟件項目或實習基地的項目,授課教師對其全部細節能夠準確掌握,當然還可以與軟件企業的資深的軟件工程師和管理者合作來編寫案例,使其具備實戰性;另外,這些教學案例最好采用傳統的以及目前流行的兩種方法編寫,并且要根據軟件工程的發展對其進行不斷的修改和完善。
(2) 布置討論案例。在講授完每個知識點后,安排一到兩節的案例課,該案例不同于教學案例,可以針對各個知識點的特點設計多個案例,不要用一個案例貫穿所有知識點。案例的內容應具有目的性、典型性、真實性、復雜性和啟發性。教師用描述性語言敘述案例,其中隱含著有待解決的問題及其所處的客觀條件,學生通過認真閱讀案例,并查閱有關資料,從錯綜復雜的現象中理出頭緒,明確給定條件,找出主要問題并做好記錄。同時,分析問題,制定針對性的措施,提出解決主要問題的可行方案,并對方案進行初步評價。
(3) 組織小組討論。將學生分成五至六人的討論組,由每位學生運用所學知識對案例作出分析和說明,提出解決的措施,重點闡述分析、設計的理由,然后,大家集思廣義,小組內展開討論,各抒己見,并由專人記錄,討論的重點是各個解決方案的相互對比和分析評價。最后,從各個可行方案中選出一個較為合理的解決方案,或者對所有方案進行整理和歸納,得到一個最佳方案。
(4) 小組代表發言,集體討論。每個討論組派一名代表上講臺,講述本組對案例的理解、分析、判斷、論證和決策過程,說明解決問題的方案和分析設計結果。對于同學的發言老師要圍繞題目給予必要的引導,鼓勵他們多角度、多因素地觀察分析問題,培養學生的知識遷移和拓寬思維的能力,啟迪他們學以致用的創造意識。然后,組織全體同學進行分析、討論、評價,對于非確定型的決策問題,同學們往往存在著意見分歧,結論很難統一。這一過程可以增加學生對軟件開發項目的感性認識和興趣,提高他們分析問題和解決問題的能力。
(5) 教師總結。在案例討論結束時教師要進行總結,但總結的重點不是對案例分析所做的結論性意見。因為,解決案例問題的決策方案不是唯一的,所以教師的總結應是就整個討論情況作出評價,對正確的論點給予肯定和完善,指出一些帶有傾向性和原則性的問題,特別是對某些問題可以更深一步的思考,進行啟發式的誘導。
案例教學法通過案例貫穿軟件工程各知識點的講授,將枯燥的理論與實際緊密結合,變抽象為具體,幫助學生充分理解和掌握各知識點;通過組織學生參與案例討論,要求學生從真正工程師的角度來分析問題和解決問題。正是這種參與性的學習方法,才使學生有可能成為未來優秀的人才。
2.5合理的實踐安排
軟件工程課程涉及面很廣,如果不結合實際工程項目進行教學,很難把教學內容教授給學生,因此,實踐是這門課程的一個重要環節。課程實踐一般集中安排在課堂教學結束后,但是,在把握教學進度的同時,必須及早布置課程設計題目,讓學生邊聽課邊實踐,使其有相對充裕的時間收集相關資料和進行獨立思考,及時消化理論知識并應用于實際,探詢問題的最佳解決方案。課堂學習結束后,進入集中的課程設計階段,對上一階段的工作成果進行補充和完善,編寫各階段的工程文檔,實現系統并測試,最后總結設計得失。
課程設計應以團隊合作的方式進行,每個小組4~6人,在優差生搭配的前提下自由組合,分別擔任項目經理、客戶、系統分析員、程序員和測試人員等角色,小組成員角色可以互換。以團隊合作的方式協同完成項目開發。這些項目都是從實際合作基地的項目。設計過程學生相對獨立的完成,需要學生在熟悉UML的面向對象軟件開發方法后,能夠通過Rational Rose針對實際應用問題構造UML模型,教師采用點撥方式或共同探究的方式進行指導。設計小組根據項目需求,制定項目計劃,進行分析、設計、編碼和測試,運用本課程學到的各方面知識,分工協同,在研究問題找出規律的過程中創造性地學到了知識,創造能力、應用能力、綜合能力和交流合作等都得到充分的發展。在課堂講授的同時及早布置課程設計題目,避免了理論學習與實踐應用的脫節,提高了學生課堂學習的認真程度,同時也提高了課程實踐的效果。同時每個階段要有成果展示和相應的文檔資料。最終應提交成功運行的產品及全部文檔。
2.6多形式考核方式
軟件工程是一門實踐性非常強的課程,考核的重點不應該只是理論考試,而應該看學生是否掌握了軟件工程學的思想和方法,另外考核的功能不僅是檢驗學生學習和掌握課程的情況,更重要的是鼓勵和督促學生學習的主動性,因此軟件工程的考核注重學生綜合知識和應用能力方面的考核,我們的考核方案是:平時作業5%,課堂表現(發言與討論)25%,案例分析(小組模式)40%,筆試30%,課程的實踐單獨考核。采用這種考核方式,可以避免學生對知識的死記硬背,轉而重視對知識的理解和運用,課堂發言踴躍,對學生學習的主動性和創造性思維具有很大的促進作用。
3結論
總之,針對信息管理與信息系統的專業特點改進軟件工程的課程教學,必須針對其實踐性強、發展迅速的特點,根據管理模式、軟件行業需求的變化不斷更新教學內容,設計合理的課程體系、教學方法,產學結合、理論與實踐相結合,在突出課程基本理論和概念知識的同時,更側重于對學生的軟件工程應用能力的培養,運用有效的教學手段,建立良好的教學環境,培養學生的學習興趣,提高學生學習的主動性與創造性。該課程的目標是培養適應社會需要的高素質的復合型人才。
參考文獻
[1] 駱斌,張大良,邵棟. 軟件工程專業的課程體系設計[J].中國大學教學,2005,1.
[2] 萬江平,安詩芳,黃德毅.軟件工程知識體系指南綜述[J].計算機應用研究,2006,10.
[3] 王志平,張毅,童華,李烈彪.軟件工程實驗室建設和實驗教學的探索[J].實驗科學與技術,2006,12(6).
[4] 沈備軍,顧春華.軟件工程教學模式的研究和實踐[J].計算機教育,2005,1.
[5] 尹鋒.軟件工程的若干熱點技術發展現狀與展望[J].長沙大學學報,2006,9(5).
[6] 牛麗,.基于UML的ERP開發方法研究[J].長春大學學報,2006,2(1).
收稿日期:2007-09-01
作者簡介
李凈(1977-),女,河北獲鹿人,講師(上海水產大學),博士生(同濟大學),研究方向為軟件復用、數據挖掘技術;多琦,女,講師,碩士,研究方向為評估模型優化;袁小華,女,副教授,博士,研究方向為模式識別,數據庫技術。