嶺南師范學(xué)院大學(xué)本科專業(yè)教學(xué)大綱
中文課程名稱:軟件工程
英文課程名稱:Software Engineering
適用專業(yè):計算機(jī)科學(xué)與技術(shù)
制定單位:信息工程學(xué)院
執(zhí)筆人:周迎春
審核人:
單位負(fù)責(zé)人:
制定時間:
嶺南師范學(xué)院教務(wù)處
二〇一七年一月
《 軟件工程 》課程教學(xué)大綱
一,、課程基本信息
(一)課程代碼及課程名稱
1.課程代碼:08191060
2.課程名稱(中/英文): 軟件工程/Software Engineering
(二)課程類別及課程性質(zhì)
專業(yè)選修課
(三)學(xué)時及學(xué)分:
總學(xué)時數(shù):44;總學(xué)分?jǐn)?shù):2.5,。
其中,,講授學(xué)時:36 ,實踐(實驗)學(xué)時:8,。
(四)適用專業(yè)及開設(shè)學(xué)期
適用專業(yè):計算機(jī)科學(xué)與技術(shù)(本科)
開設(shè)學(xué)期:第二學(xué)期
(五)先修課程與后續(xù)課程
先修課程:高級語言程序設(shè)計,、數(shù)據(jù)結(jié)構(gòu)
后續(xù)課程:系統(tǒng)分析與設(shè)計,、軟件項目管理
二、課程簡介
《軟件工程》課程是計算機(jī)科學(xué)與技術(shù)專業(yè)教學(xué)計劃中一門綜合性和實踐性很強的核心課程,,主要內(nèi)容包括軟件工程概述,、軟件開發(fā)所需要的過程、活動和任務(wù),,以及這些過程,、活動和任務(wù)的組織、實施和管理,;軟件開結(jié)構(gòu)化開發(fā)方法,、面向?qū)ο箝_發(fā)方法;軟件測試技術(shù),;軟件項目的軟件過程管理,;軟件開發(fā)組織過程改進(jìn)途徑。
根據(jù)培養(yǎng)基層應(yīng)用型人才的需要,,本課程的目的與任務(wù)是使學(xué)生通過本課程的學(xué)習(xí),,了解軟件項目開發(fā)和維護(hù)的一般過程,掌握軟件開發(fā)的傳統(tǒng)方法和最新方法,,為今后更深入地學(xué)習(xí)和從事軟件工程實踐打下良好的基礎(chǔ),。
三、教學(xué)目的與基本要求
(一)該課程教學(xué)目的與專業(yè)培養(yǎng)要求對應(yīng)關(guān)系矩陣
培養(yǎng)要求
課程名稱 | 培養(yǎng) 要求1 | 培養(yǎng) 要求2 | 培養(yǎng) 要求3 | 培養(yǎng) 要求4 | 培養(yǎng) 要求5 | 培養(yǎng) 要求6 | 培養(yǎng) 要求7 | 培養(yǎng) 要求8 | …… | …… |
● | ◎ | ○ | ◎ | ◎ |
說明:表格要清晰展示該課程與每項培養(yǎng)要求達(dá)成的關(guān)聯(lián)度情況,,關(guān)聯(lián)度強的用“●”標(biāo)識,,關(guān)聯(lián)度中等的用“◎”標(biāo)識,關(guān)聯(lián)度弱的用“○”標(biāo)識,;每門課程與4-8項(底線為總培養(yǎng)要求的50%)培養(yǎng)要求相關(guān)聯(lián),。
(二)教學(xué)目的
通過本課程的學(xué)習(xí),使學(xué)生具備從事軟件開發(fā)的基本素質(zhì)與能力,,在理解軟件開發(fā)本質(zhì)的基礎(chǔ)上,,理解軟件項目開發(fā)和維護(hù)的一般過程,掌握軟件開發(fā)的傳統(tǒng)方法和最新方法,,為更深入地學(xué)習(xí)和今后從事軟件工程實踐打下良好的基礎(chǔ),。
通過本課程的學(xué)習(xí),應(yīng)使學(xué)生達(dá)到:
第一,、基本掌握軟件開發(fā)所需要的過程,、活動和任務(wù)以及相關(guān)的活動組織框架。
第二,、掌握結(jié)構(gòu)化開發(fā)方法,,并能針對小型系統(tǒng),應(yīng)用這些方法給出問題定義和軟件設(shè)計,并運用詳細(xì)設(shè)計工具給出模塊的詳細(xì)設(shè)計,。
第三,、掌握面向?qū)ο箝_發(fā)方法,并能運用MUL建模方法與RUP過程建立小型系統(tǒng)的用況模型,、需求分析模型等,。
第四、掌握至少三種軟件測試技術(shù):基于路徑的白盒測試技術(shù),、基于需求規(guī)約的事物流測試技術(shù)和等價類劃分技術(shù),。
第五、了解一個軟件項目的軟件過程管理,;了解軟件開發(fā)組織過程改進(jìn)途徑,。
(三)教學(xué)要求:
作業(yè):每章布置1-2道習(xí)題,以鞏固學(xué)生的學(xué)習(xí)效果,,促進(jìn)其多思考,,培養(yǎng)學(xué)生的創(chuàng)造能力,動手能力,。
考試:《軟件工程》期末考試的目的是考核學(xué)生掌握軟件工程的基本知識和基本軟件開發(fā)原理,、方法和運用所學(xué)知識解決實際問題的能力,??荚囋囶}反映本課程的主要內(nèi)容和要求,考題內(nèi)容能覆蓋教材的各章節(jié),。平時成績(作業(yè)和實驗)占30%,,期末考試占70%。
四,、教學(xué)內(nèi)容
第一章 緒論(共1學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),,了解軟件工程提出的歷史背景,以及軟件,、軟件工程,、模型等基本概念,掌握軟件開發(fā)的本質(zhì)等,。
(二)本章教學(xué)重點與難點
重點: 1. 軟件與軟件工程的概念,。
2. 模型概念。
難點:1. 軟件開發(fā)的本質(zhì),。
(三)教學(xué)內(nèi)容
第一節(jié) 緒論(1學(xué)時)
一,、軟件工程概念的提出。
二,、軟件開發(fā)的本質(zhì),。
第二章 軟件過程(共2學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),了解軟件生存周期中的基本過程、支持過程與組織過程,,軟件生存周期過程以及角色和關(guān)系,;了解軟件項目生存周期過程的控制與規(guī)劃方法等;掌握軟件生存周期模型的概念及其模型之間的區(qū)別等,。
(二)本章教學(xué)重點與難點
重點: 1. 軟件生存周期過程,。
2. 軟件生存周期模型。
難點:1. 軟件生存周期模型的比較及運用場合,。
(三)教學(xué)內(nèi)容
第一節(jié) 軟件生存周期過程(1學(xué)時)
一,、軟件生存周期的基本過程。
二,、軟件生存周期的支持過程,。
三、軟件生存周期的組織過程,。
四,、軟件生存周期過程以及角色和關(guān)系。
第二節(jié) 軟件生存周期模型(1學(xué)時)
一,、引言及瀑布模型
二,、增量模型、演化模型,、螺旋模型,、噴泉模型
三、軟件項目生存周期過程的規(guī)劃與控制
第三章 軟件需求與軟件需求規(guī)約(共2學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),,了解軟件需求和需求規(guī)約的概念,、表達(dá)規(guī)約需求的基本手段、需求規(guī)約在軟件開發(fā)中的作用,;掌握需求和需求規(guī)約的基本特征,;掌握需求的分類;掌握需求發(fā)現(xiàn)基本技術(shù)等,。
(二)本章教學(xué)重點與難點
重點: 1. 軟件需求分類,、需求和需求規(guī)約的基本特征。
2. 需求發(fā)現(xiàn)技術(shù),、規(guī)約需求的三種語言,。
難點:1. 功能需求和非功能需求及它們之間的基本關(guān)系,。
(三)教學(xué)內(nèi)容
第一節(jié) 需求與需求獲取(1學(xué)時)
一,、軟件需求定義。
二,、軟件需求分類,。
三,、軟件需求發(fā)現(xiàn)技術(shù)。
第二節(jié) 需求規(guī)約及其格式(1學(xué)時)
一,、需求規(guī)約的定義,、基本性質(zhì)。
二,、需求規(guī)約格式,。
三、表達(dá)需求規(guī)約的三種語言,。
四,、需求規(guī)約的作用。
第四章 結(jié)構(gòu)化分析方法(共6學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),,了解結(jié)構(gòu)化分析方法中運用的基本術(shù)語,、需求分析的輸出及應(yīng)用中應(yīng)該注意的問題;掌握結(jié)構(gòu)化模型表示,、建模過程需求驗證等,。
(二)本章教學(xué)重點與難點
重點: 1.表達(dá)問題域信息的基本術(shù)語及其表示。
2.表達(dá)功能模型的工具---DFD圖,。
3.結(jié)構(gòu)化建模過程,。
難點:1.結(jié)構(gòu)化模型表示。
2.結(jié)構(gòu)化建模過程,、數(shù)據(jù)結(jié)構(gòu)符和判定樹,、判定表。
(三)教學(xué)內(nèi)容
第一節(jié) 基本術(shù)語及模型表示(2學(xué)時)
一,、結(jié)構(gòu)化分析方法中的基本術(shù)語,。
二,、結(jié)構(gòu)化分析方法中的模型表示,。
第二節(jié) 建模過程與實例研究(2學(xué)時)
一、結(jié)構(gòu)化方法的建模過程,。
二,、實例研究:飛機(jī)預(yù)訂系統(tǒng)的建模過程。
第三節(jié) 結(jié)構(gòu)化應(yīng)用中注意的問題(2學(xué)時)
一,、在應(yīng)用結(jié)構(gòu)化方法中應(yīng)注意的問題,。
二、需求分析的輸出,。
三,、需求驗證。
第五章 結(jié)構(gòu)化設(shè)計(共4學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),,了解結(jié)構(gòu)化總體設(shè)計中運用的基本術(shù)語,、詳細(xì)設(shè)計工具的優(yōu)缺點以及相互轉(zhuǎn)換;掌握結(jié)構(gòu)化設(shè)計的目標(biāo)及其表示、總體設(shè)計,、詳細(xì)設(shè)計等,。
(二)本章教學(xué)重點與難點
重點: 1.變換型數(shù)據(jù)流圖和事物型數(shù)據(jù)流圖。
2.模塊以及模塊內(nèi)聚和耦合,。
3.詳細(xì)設(shè)計工具:框圖,、PAD、N-S圖和偽代碼,。
難點:1.變換設(shè)計與事物設(shè)計,。
2.模塊化及啟發(fā)式規(guī)則。
(三)教學(xué)內(nèi)容
第一節(jié) 總體設(shè)計(2學(xué)時)
一,、總體設(shè)計的目標(biāo)及其表示,。
二、數(shù)據(jù)流圖的類型,、變換設(shè)計與事物設(shè)計,。
三、模塊化及啟發(fā)式規(guī)則,。
四,、總體設(shè)計的實例研究。
第二節(jié) 詳細(xì)設(shè)計(2學(xué)時)
一,、結(jié)構(gòu)化程序設(shè)計,。
二、詳細(xì)設(shè)計工具:框圖,、PAD,、N-S圖和偽代碼。
第六章 面向?qū)ο蠓椒?--MUL(共6學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),,了解面向?qū)ο蠓椒ǖ幕拘g(shù)語,、UML的每一術(shù)語所基于的原理以及它們在建模中作用;掌握面向?qū)ο蠓椒ㄔ趧?chuàng)建系統(tǒng)/產(chǎn)品模型中用于表達(dá)信息的基本術(shù)語以及用于表達(dá)模型的用況圖,、類圖,、順序圖和狀態(tài)圖等。
(二)本章教學(xué)重點與難點
重點: 1.表達(dá)客觀事物的術(shù)語:類,、接口,、用況、協(xié)作等概念,。
2.表達(dá)關(guān)系術(shù)語:關(guān)聯(lián),、泛華、實現(xiàn),、依賴等概念,。
3.模型表達(dá)工具:類圖,、用況圖、狀態(tài)圖,、順序圖,。
難點:1.類圖、用況圖,、順序圖的構(gòu)成,。
2.狀態(tài)以及狀態(tài)圖的構(gòu)成。
3.狀態(tài)的種類及其描述,。
(三)教學(xué)內(nèi)容
第一節(jié) 表達(dá)客觀事物的術(shù)語(2學(xué)時)
一,、類與對象及在建模中的作用。
二,、接口,、協(xié)作、用況,。
三,、主動類、構(gòu)件,、制品,、節(jié)點。
第二節(jié) 表達(dá)關(guān)系的術(shù)語(2學(xué)時)
一,、關(guān)聯(lián),、泛化、細(xì)化,、依賴,。
二、表達(dá)信息的一種通用機(jī)制:包,。
第三節(jié) 表達(dá)模型的工具(2學(xué)時)
一,、類圖、用況圖的構(gòu)成及在模型中的作用,。
二,、狀態(tài)圖,、順序圖的構(gòu)成及其特點,。
第七章 面向?qū)ο蠓椒?--RUP(共6學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),了解面向?qū)ο蠓椒?/span>RUP的基本術(shù)語,、RUP的每一術(shù)語所基于的原理以及它們在建模中作用,;掌握創(chuàng)建系統(tǒng)/產(chǎn)品需求獲取模型、需求分析模型和設(shè)計模型中的基本活動與任務(wù),,并能運用RUP建立小型簡單系統(tǒng)的用況模型,、需求分析模型,,以及在設(shè)計中如何處理共性的非功能需求等。
(二)本章教學(xué)重點與難點
重點: 1.需求獲取層,、需求分析層,、軟件設(shè)計層上的術(shù)語。
2.用況之間的基本關(guān)系,;系統(tǒng)/產(chǎn)品用況模型的構(gòu)成,、系統(tǒng)/產(chǎn)品需求分析模型的構(gòu)成、系統(tǒng)/產(chǎn)品設(shè)計模型和部署模型的構(gòu)成,。
3.設(shè)計模型的四層結(jié)構(gòu),;用況細(xì)化以及用況和協(xié)作之間的基本關(guān)系。
難點:1.領(lǐng)域模型,、業(yè)務(wù)模型以及在系統(tǒng)開發(fā)中創(chuàng)建的目的 ,。
2.邊界類、實體類,、控制類的標(biāo)識及它們之間的關(guān)系和作用,。
3.需求獲取模型與需求分析模型的比較;需求分析模型與設(shè)計模型的比較,。
(三)教學(xué)內(nèi)容
第一節(jié) RUP的作用與特點(1學(xué)時)
一,、RUP作用與特點:以用況為驅(qū)動以體系結(jié)構(gòu)為中心。
第二節(jié) 核心工作流(2學(xué)時)
一,、需求獲取:列出候選需求,、理解系統(tǒng)語境、捕獲功能需求,。
二,、需求分析:基本術(shù)語、分析模型的表達(dá),、分析主要活動,。
第三節(jié) 設(shè)計(3學(xué)時)
一、設(shè)計層的術(shù)語:設(shè)計類,、用況細(xì)化,、設(shè)計子系統(tǒng)、接口,。
二,、設(shè)計模型、部署模型的描述,、基于RUP方法的工作流,。
第八章 軟件測試(共6學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),了解軟件測試的基本步驟,、測試過程模型,;掌握基于程序路徑的白盒測試技術(shù),、基于需求規(guī)約的事物流測試技術(shù)和等價類劃分技術(shù)(黑盒測試技術(shù));并能針對簡單系統(tǒng),,運用這些測試技術(shù)開展相應(yīng)的軟件測試工作,,包括用例測試、測試執(zhí)行以及結(jié)果比較,。
(二)本章教學(xué)重點與難點
重點: 1.軟件測試的概念,、測試過程模型概念
2.路徑測試技術(shù)(白盒測試技術(shù))中的被測試對象模型及其創(chuàng)建。
3.基于事物流的測試技術(shù)(黑盒測試技術(shù)),。
難點:1.事物流與控制流之間的區(qū)別以及為測試帶來的影響,。
2.等價類劃分技術(shù)測試。
3.軟件測試步驟,。
(三)教學(xué)內(nèi)容
第一節(jié) 軟件測試目標(biāo)及過程模型(1學(xué)時)
一,、軟件測試目標(biāo)。
二,、測試過程模型,。
第二節(jié) 軟件測試技術(shù)(3學(xué)時)
一、路徑測試技術(shù),、測試覆蓋及其它們之間的基本關(guān)系,。
二、基于事物流的測試技術(shù):事物流與控制流的區(qū)別,。
三,、等價類劃分技術(shù)及其他功能測試技術(shù)簡介。
第三節(jié) 軟件測試步驟(2學(xué)時)
一,、單元測試,、集成測試。
二,、軟件有效性測試,。
第九章 軟件項目管理概述及軟件開發(fā)工具(共4學(xué)時)
(一)本章教學(xué)目的和要求
通過本章學(xué)習(xí),了解圍繞軟件開發(fā)所需要的軟件工程管理過程中軟件的規(guī)模,、成本和進(jìn)度估算,,軟件管理過程中的能力成熟度模型CMM的特點。
(二)本章教學(xué)重點與難點
重點: 1.軟件工程管理中軟件規(guī)模,、成本和進(jìn)度估算,。
2.能力成熟度模型CMM的特點。
難點:1.軟件成本和進(jìn)度估算,。
(三)教學(xué)內(nèi)容
第一節(jié) 軟件工程管理活動(1學(xué)時)
一,、軟件系統(tǒng)/產(chǎn)品規(guī)模估算。
二,、成本和進(jìn)度估算,。
第二節(jié) 能力成熟度模型CMM(2學(xué)時)
一、CMM產(chǎn)生背景,、CMM的成熟度等級,、結(jié)構(gòu)。
二,、ISO9000系列標(biāo)準(zhǔn)簡介,。
第三節(jié) 軟件開發(fā)工具與環(huán)境(1學(xué)時)
一、基本概念,。
二,、工具集成模型概念。
五,、教學(xué)時數(shù)分配
《軟件工程》課程教學(xué)時數(shù)分配表
總學(xué)時:36 學(xué)分:2.5
章次 | 章標(biāo)題名稱 | 學(xué)時小計 | 講授 學(xué)時 | 實驗 學(xué)時 | 實踐 學(xué)時 | 討論,、習(xí)題課等學(xué)時 |
第一章 | 緒論 | 1 | 1 | 0 | 0 | 0 |
第二章 | 軟件過程 | 2 | 2 | 0 | 0 | 0 |
第三章 | 軟件需求與軟件需求規(guī)約 | 3 | 3 | 1 | 0 | 0 |
第四章 | 結(jié)構(gòu)化分析方法 | 4 | 4 | 0 | 0 | 0 |
第五章 | 結(jié)構(gòu)化設(shè)計 | 4 | 4 | 2 | 0 | 0 |
第六章 | 面向?qū)ο蠓椒?-MUL | 6 | 6 | 0 | 0 | 0 |
第七章 | 面向?qū)ο蠓椒?-RUP | 6 | 6 | 3 | 0 | 0 |
第八章 | 軟件測試 | 6 | 6 | 2 | 0 | 0 |
第九章 | 軟件項目管理與開發(fā)工具 | 4 | 2 | 0 | 0 | 2 |
六、實驗內(nèi)容與學(xué)時分配
《軟件工程》課程實驗教學(xué)一覽表
序號 | 項目名稱 | 內(nèi)容提要 | 學(xué)時 | 實驗類型(演示,、驗證,、綜合、設(shè)計等) | 是否為 開放實驗 |
1 | 軟件需求規(guī)約文檔 | 編寫一個小型簡單系統(tǒng),,運用合適的需求發(fā)現(xiàn)技術(shù),,以限定的自然語言給出系統(tǒng)的需求規(guī)約 | 1 | 演示 | 否 |
2 | 圖書信息管理系統(tǒng)結(jié)構(gòu)化設(shè)計 | 給出圖書管理信息系統(tǒng)的需求陳述,構(gòu)建該信息系統(tǒng)的詳細(xì)結(jié)構(gòu)化建模過程,,并在此基礎(chǔ)上給出系統(tǒng)的模塊結(jié)構(gòu)圖,。 | 2 | 驗證 | 否 |
3 | 面向?qū)ο筌浖TO(shè)計 | 運用面向?qū)ο蠓椒ń⒖萍脊?jié)信息管理系統(tǒng)的模型,構(gòu)建基于面向?qū)ο蟮挠脹r模型,、分析模型及設(shè)計模型等,。 | 3 | 驗證 | 否 |
4 | 軟件測試 | 運用白盒測試或者等價類劃分方法對實驗2或者實驗3中的管理信息系統(tǒng)進(jìn)行測試 | 2 | 驗證 | 否 |
七、本課程的實踐環(huán)節(jié)
無
八,、主要的教學(xué)方法與教學(xué)手段
1.課程與教學(xué)方法,、教學(xué)手段對應(yīng)關(guān)系矩陣
課程名稱 | 對應(yīng)的教學(xué)方式方法 | ||||||||||||
講授法 | 啟發(fā)式 | 討論法 | 案例法 | 項目教學(xué) | 實驗室 實驗 | 技能訓(xùn)練 | 研究與設(shè)計 | 小組教學(xué) | 個別教學(xué) | 課程作業(yè) | 課外閱讀及自學(xué)鍛煉 | …… | |
軟件工程 | √ | √ | √ | √ | √ |
說明:每門課程應(yīng)使用多種教學(xué)方式方法,在相應(yīng)的教學(xué)方式方法中打“√”,。
2.主要采用的幾種教學(xué)方法和手段
主要的教學(xué)方法:主要以課堂講授與實際應(yīng)用實例相結(jié)合,。
九、考核與成績評定
1. 該課程與評價方法對應(yīng)關(guān)系矩陣
課程名稱 | 對應(yīng)的評價方法 | |||||||||
課堂表現(xiàn) | 實驗報告 | 項目作業(yè)或報告 | 課程作業(yè)或報告 | 口試 | 口頭報告 | 上機(jī)操作 | 實踐操作 | 期中考核 | 期末考核 | |
軟件工程 | √ | √ | √ | √ |
說明:每門課程應(yīng)使用多種評價方式,,注重過程評價,,實現(xiàn)平時成績、期中成績與期末成績相結(jié)合,,在相應(yīng)的評價方法中打“√”,。
2.具體考核與成績評定辦法
考核方式:閉卷筆試
成績評定:平時成績40%(含課堂表現(xiàn)和實驗報告)
期末成績60%(閉卷筆試)
十、推薦教材及參考書
(一)推薦教材
《軟件工程》,,王立福主編,,北京大學(xué)出版社,,2009年10月第3版。
(二)參考書
1.《軟件工程》,,馮玉琳主編,,中國科學(xué)技術(shù)大學(xué)出版社,1992年9第1版,。
2.《軟件工程技術(shù)概論》,,朱三元主編,科學(xué)出版社,,2002年1月第1版,。
3.《軟件工程》,錢樂秋主編,,清華大學(xué)出版社,,2016年3月第2版。
十一,、其他需要說明的問題