教育部十六號文件《關於全面提高高等職業教育教學質量的若干意見》明確指出要“加強素質教育,增強學生的職業能力,加大課程建設與改革的力度”。本書嘗試摒棄傳統軟件工程的學科性教學,圍繞軟件開發需要的職業能力培養,組織與設計本教材的教學內容。
傳統的軟件教學重點在知識與技術教學,其不足主要表現在:概念與理論知識多、力求知識理論體繫的完善,但軟件開發技術、方法的教學針對性不強,每個軟件開發階段在過渡時技術上顯得脫節,教學內容對程序編碼的指導作用不明顯等。所以,學生難以理解與領悟其中的內容,特別在實際操作上難以做到學以致用。另外,軟件開發與管理模式靈活多樣,知識體繫龐大,要完整掌握難度也大。
針對上述問題,筆者在進行教學內容設計時,分析了高等職業院校學生的特點,以軟件開發專業人纔應知應會的知識、能力作為培養目標,並圍繞這些目標進行教學內容的設計。本書教學內容的設計具有以下特點:
? 內容的取舍以實用為原則,為職業能力培養目標服務。
? 以軟件開發過程典型工作任務為重點,力爭在技術上連貫。
? 教學情境的設計深入淺出,以任務驅動的形式組織教學,使學生容易消化。
? 加強各階段教學內容在技術層面的銜接,突出了軟件設計到編碼技術上的過渡。
? 內容組織中,體現了“項目導向、任務驅動”的教學。突出展現了軟件開發引導案例的技術連貫及其實現,再通過它突出體現軟件開發的重要理論知識。
? 整個教學內容以一個項目(物流管理繫統)為載體,將軟件開發的理論、方法、工具、開發過程等融為一體。最後一章還提供這些案例的完整文檔,讓讀者(特別是軟件專業的學生)能掌握軟件開發報告的編寫能力。
軟件開發過程主要有需求分析、軟件設計、編碼與測試、軟件維護等活動,它們構成了軟件開發過程的主要任務階段。但是這些活動之間的組織不是簡單線性的,它們之間的組織關繫非常靈活,有多種經典模式。這就是為什麼這些內容在實際中難以被掌握的原因。
軟件開發各重要階段的教學,就是本課程的教學重點內容,其實它們又是教學難點內容。這些教學內容及它們在技術層面的過渡往往被以前的教材忽略,或連貫性不強。本書以項目為導向,通過任務驅動組織這些內容,從而解決了上述重點與難點的教學內容展示及銜接問題。
另外,本書的組織利於軟件開發人員的學習。比如第1~3章,目的是培養學生了解軟件開發過程,讓初學者知道軟件是如何開發的,使學生掌握軟件編碼前的一些概念,並掌握傳統需求分析、軟件設計的過程與基本方法。而後續第4、第5章是面向對像的方法,學生在已學習需求分析和軟件設計的基礎上,采用流行的面向對像的方法進行分析建模與軟件設計,並體現了面向對像的設計向面向對像編碼技術上的過渡。第6章介紹了軟件的編碼實現與測試,說明在軟件的編碼過程中,測試非常重要,隻有通過測試纔能得到實用軟件,所以將代碼編寫與軟件測試融為一章。第7章介紹了軟件使用中的維護,軟件維護是軟件生命周期的一個重要內容,它保證了用戶正常使用軟件。第8章則通過一個物流管理繫統軟件開發案例,綜合應用前面介紹的面向對像軟件開發方法,示範了軟件開發的過程及文檔的編寫。
本書條理清晰、內容實用、技術連貫;書中內容的表述力爭做到深入淺出,使易混淆的概念、方法等容易被理解與掌握。本書內容的過渡在技術上連貫,體現了“項目導向、任務驅動”的教學思想,利於培養學生的軟件開發能力。本書內容有助於對軟件開發其他課程的學習與借鋻。
本書由牛德雄、龍立功擔任主編,其中,第1章、第4章、第5章由牛德雄、龍立功編寫;第2章、第3章由楊葉芬編寫;第6章由熊君麗編寫;第7章由扶卿妮編寫;第8章由牛德雄、施茂航編寫。另外,魏雲柯設計了本書所用到的圖,移動中心數學企業頂峰公司參與了本書內容的設計,在此一並表示感謝。
為了方便教師教學,本書配有電子教學課件及相關資源,請有此需要的教師登錄華信教育資源網(www.hxedu.com.cn)免費注冊後下載,如有問題,可在網站留言板留言或與電子工業出版社聯繫(E-mail:hxedu@phei.com.cn)。也可以通過178074603@qq.com與編者聯繫,或者進入QQ交流群(375571590)獲取更多教學資源。
目前,國內外關於軟件工程、軟件開發與管理方面的資料非常多,新理論、新技術層出不窮。如何更好地取舍與組織適合高等職業院校學生教學的內容,需要不斷探索。通過編者一段時間的教學實踐,證明使用本教材,學生很容易掌握以前煩瑣的軟件工程知識。
由於編者水平有限,書中難免存在疏漏和不足,懇請同行專家和讀者能給予批評和指正。
編 者