暫無課程簡介!
暨南大學
軟件工程 教學大綱
課程英文名:Software Engineering
課程性質(zhì):專業(yè)課
課程類別:必修課
先修課程:數(shù)據(jù)結構、離散數(shù)學、高級語言程序設計
學 分:3
總學時數(shù):54
周學時數(shù):3
適用專業(yè):計算機科學與技術、軟件工程、網(wǎng)絡工程
開課單位:信息科學技術學院計算機科學系
教學目標及教學要求
軟件工程導論是計算機相關專業(yè)的一門重要的專業(yè)基礎課,它對于培養(yǎng)學生的軟件素質(zhì),提高學生的軟件開發(fā)能力與軟件項目管理能力具有重要的意義。通過本課程的學習,要求學生掌握軟件工程的基本概念、基本原理、實用的開發(fā)方法和技術;了解軟件工程各領域的發(fā)展方向;如何用工程化的方法開發(fā)軟件項目,以及開發(fā)過程中應遵循的流程、準則、標準和規(guī)范。
這是一門實踐性很強的課程,教師在講述課程的過程中,應結合實際的軟件項目或案例的進行講解并組織學生進行課堂討論,以加深學生對理論知識的理解。
二、本課程的重點和難點
本課程的重點主要有面向數(shù)據(jù)流的系統(tǒng)分析、面向?qū)ο蟮南到y(tǒng)分析、設計及實現(xiàn)。教學中具體的難點分布在各個章節(jié)如:需求分析的中需求建模、面向數(shù)據(jù)流的軟件結構設計、邏輯覆蓋及軟件測試用例的設計、UML統(tǒng)一建模語言等。
三、主要實踐性教學環(huán)節(jié)及要求
本課程沒有安排專門的實驗教學環(huán)節(jié),教師在課堂講授理論知識時,可以結合實際的軟件項目或案例的進行講解并組織課堂討論。
四.采用的教學手段和方法
主要利用多媒體課室課堂講授軟件工程的基本理論知識,其中安排幾次大作業(yè)和習題課。在講述軟件生命周期的各個階段時結合實際的軟件項目案例進行分析和討論。在講述軟件工程文檔時,主要介紹軟件文檔的國家標準。
五、教材與主要參考文獻
教 材:
[1] 張海藩. 軟件工程導論(第四版),北京:清華大學出版社,2003.
主要參考文獻:
[1] 史濟民. 軟件工程--原理方法與應用.北京:高等教育出版社,1990.
[2] 鄭人杰,殷人昆,陶永雷. 實用軟件工程(第二版).北京:清華大學出版社,1997.
[3] Roger S. Pressman著.梅宏譯. 軟件工程--實踐者的研究方法(第五版).北京:機械工業(yè)出版社,2002.
六、考核形式與成績計算
閉卷考試。平時占30%~40%,期末考試占60%~70%。
七、基本教學內(nèi)容
軟件危機及軟件工程
了解軟件的特點,軟件生產(chǎn)發(fā)展的三個階段,各階段的特點,軟件危機的產(chǎn)生及其表現(xiàn)形式;初步了解軟件的生存周期模型;理解軟件工程的定義及特點,軟件生存期各階段的特點和內(nèi)容;深刻理解軟件危機產(chǎn)生的原因。
可行性研究
深刻理解可行性研究的必要性,掌握可行性研究的任務及可行性研究的具體步驟;了解系統(tǒng)流程圖的作用及符號表示,重點掌握數(shù)據(jù)流圖的畫法及數(shù)據(jù)字典的編寫。
需求分析
深刻理解需要分析階段的概念及任務,熟練掌握數(shù)據(jù)流圖的細化及ER圖,IOP圖的畫法。
總體設計
深刻理解軟件總體設計的基本任務,軟件設計的基本原理。理解模塊化、抽象、信息隱蔽、模塊獨立性等概念,明確度量模塊獨立性的準則---偶和性及內(nèi)聚性。熟練掌握結構化設計方法(要求能劃分數(shù)據(jù)流的類型,將其能換成軟件結構圖,并能根據(jù)優(yōu)化準則將其優(yōu)化)。
詳細設計
能熟練的使用詳細設計描述工具來設計模塊中的算法及程序的邏輯結構。理解Jackson方法的概念及程序復雜度的度量方法,學會使用Jackson方法設計輸入輸出數(shù)據(jù)結構和程序結構。
編 碼
了解幾種常見的程序設計語言的特點,領會程序設計中應注意的問題,注意培養(yǎng)良好的編程風格。
軟件測試
總的要求是掌握測試階段的內(nèi)容,測試方法及測試步驟;深刻理解白盒,黑盒測試技術。深刻理解測試過程中單元測試,集成測試,驗收測試的任務及使用的方法;掌握調(diào)試程序的方法;熟練掌握的技能是:能針對某一問題采用白盒法或黑盒法進行測試用例的設計。
維護
本章總的要求是:掌握軟件維護的內(nèi)容、特點、方法、技術、文檔;了解軟件維護的各種困難,軟件維護的特點,軟件維護的文檔;理解軟件維護的內(nèi)容,維護任務的實施;深刻理解如何提高軟件的維護性。
面向?qū)ο蠓椒▽W
掌握面向?qū)ο蟮母拍钆c面向?qū)ο蠓治龅幕舅枷?、UML 概述(語言機制)、基于UML的軟件開發(fā)過程、基于UML的需求分析(步驟及語言機制詳解)。
管理技術
總的要求是了解軟件開發(fā)成本結算、軟件項目進度安排、軟件項目計劃內(nèi)容及軟件質(zhì)量的定義、質(zhì)量保證的基本概念。深入理解軟件項目計劃的重要性及各個環(huán)節(jié)之間的聯(lián)系。