總學(xué)時數(shù): 60學(xué)時,其中:理論教學(xué) 30學(xué)時,實踐教學(xué) 30 學(xué)時
學(xué)分:
先修課程:《計算機(jī)基礎(chǔ)》,《C語言程序設(shè)計》,《數(shù)據(jù)結(jié)構(gòu)》和《數(shù)據(jù)庫原理及其應(yīng)用》
考核方式:考試
一、制訂大綱的依據(jù)
本大綱根據(jù)2020年計算機(jī)應(yīng)用技術(shù)專業(yè)教學(xué)計劃制訂
二、課程簡介
軟件工程作為一門專業(yè)主干課,重點要求學(xué)生學(xué)習(xí)與軟件開發(fā)和維護(hù)有關(guān)的四個方面的主要內(nèi)容——過程與模型、方法與技術(shù)、工具與環(huán)境、標(biāo)準(zhǔn)與規(guī)范。進(jìn)而通過課程實踐培養(yǎng)學(xué)生運用軟件工程基本原理解決實際問題,并從事復(fù)雜軟件項目開發(fā)和維護(hù)的實踐應(yīng)用能力與創(chuàng)新能力,努力成為當(dāng)今信息社會和知識經(jīng)濟(jì)時代所需要的高素質(zhì)計算機(jī)專業(yè)人才。
三、課程性質(zhì)、教育目標(biāo)
(一)性質(zhì):本課程是計算機(jī)軟件專業(yè)的專業(yè)主干課。通過本課程的學(xué)習(xí),使學(xué)生初步建立工程化意識,學(xué)會用工程化思想(包括技術(shù)、方法與環(huán)境)開發(fā)各種軟件,以軟件的生命周期作為主線,掌握軟件工程的基本理論,進(jìn)一步系統(tǒng)化、工程化,為今后實際工程中能夠進(jìn)行系統(tǒng)分析與設(shè)計奠定良好的基礎(chǔ)。
(二)教育目標(biāo):
通過本課程的教學(xué),應(yīng)使學(xué)生達(dá)到以下要求:
1.熟練掌握軟件與軟件工程基本概念和基本知識。
2.熟練掌握生存周期與軟件開發(fā)模式。
3.掌握結(jié)構(gòu)化程序設(shè)計的編程思想。
4.掌握面向?qū)ο蠓治觥⒃O(shè)計與編碼方法。
5.掌握有關(guān)軟件的評審、測試與維護(hù),項目計劃與項目管理方法。
6. 能用軟件工程的方法參與軟件項目的分析、設(shè)計、實現(xiàn)和維護(hù)。
四、課程教學(xué)內(nèi)容與基本要求(課程教學(xué)內(nèi)容、重難點、基本要求、教法說明)
《軟件工程》的教學(xué)分為理論教學(xué)和實驗教學(xué)兩個環(huán)節(jié),本部分為理論教學(xué)大綱。
第1章、軟件工程學(xué)概述
1、課程教學(xué)內(nèi)容:
1) 軟件危機(jī)
2) 軟件工程
3) 軟件生命周期
4) 軟件過程。
2、基本要求:產(chǎn)生軟件危機(jī)的原因及解決途徑,軟件工程的基本原理,軟件工程方法學(xué),軟件生命周期中各階段的基本任務(wù),軟件過程模型。
3、重點:軟件工程的基本原理,軟件生命周期中各階段的基本任務(wù)。
4、難點:各類軟件過程模型的特點及適用范圍。
5、教法說明:通過一些具體的軟件危機(jī)事例來充分說明軟件工程的重要性,使學(xué)生對本課程產(chǎn)生濃厚的興趣。
第2章、可行性研究
1、課程教學(xué)內(nèi)容:
1) 可行性研究的任務(wù)
2) 可行性研究過程
3) 系統(tǒng)流程圖
4) 數(shù)據(jù)流圖
5) 數(shù)據(jù)字典
6) 成本/效益分析。
2、基本要求:可行性研究的任務(wù),系統(tǒng)流程圖、數(shù)據(jù)流圖和數(shù)據(jù)字典的畫法,成本/效益分析的方法。
3、重點:系統(tǒng)流程圖、數(shù)據(jù)流圖和數(shù)據(jù)字典的畫法。
4、難點:數(shù)據(jù)流圖和數(shù)據(jù)字典的畫法。
5、教法說明:可用學(xué)生比較熟悉的系統(tǒng)來講解數(shù)據(jù)流圖和數(shù)據(jù)字典的建立,以合適的項目為分析對象,要求學(xué)生建立起數(shù)據(jù)流圖,作為課后作業(yè),并對學(xué)生作業(yè)進(jìn)行分析和討論。
第3章、需求分析
1、課程教學(xué)內(nèi)容:
1) 需求分析的任務(wù)
2) 與用戶溝通獲取需求的方法
3) 分析建模與規(guī)格說明
4) 實體—聯(lián)系圖
5) 數(shù)據(jù)規(guī)范化
6) 狀態(tài)轉(zhuǎn)換圖
7) 其他圖形工具
8) 驗證軟件需求。
2、基本要求:分析建模、規(guī)格說明和數(shù)據(jù)的規(guī)范化,實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖和常用圖形工具的使用方法,驗證軟件需求的方法。
3、重點:實體-聯(lián)系圖、狀態(tài)轉(zhuǎn)換圖和常用圖形工具的使用方法。
4、難點:狀態(tài)轉(zhuǎn)換圖等常用圖形工具的使用方法。
5、教法說明:可提供一份具體需求分析報告供學(xué)生分析和學(xué)習(xí)。
第4章、形式化說明技術(shù)
1、課程教學(xué)內(nèi)容:
1) 形式化說明技術(shù)概述
2) 有窮狀態(tài)機(jī)
3) Petri網(wǎng)
4) Z語言。
2、基本要求:形式化方法的優(yōu)缺點,有窮狀態(tài)機(jī)、Petri網(wǎng)和Z語言三種典型的形式化方法,應(yīng)用形式化方法的準(zhǔn)則。
3、重點:形式化方法的優(yōu)缺點,應(yīng)用形式化方法的準(zhǔn)則。
4、難點:有窮狀態(tài)機(jī)、Petri網(wǎng)和Z語言三種典型的形式化方法。
5、教法說明:本章只要求學(xué)生簡單了解形式化說明技術(shù)的重要性,對幾種技術(shù)的詳細(xì)內(nèi)容不做要求,老師了根據(jù)個人興趣讓學(xué)生自行安排。
第5章、總體設(shè)計
1、課程教學(xué)內(nèi)容:
1) 設(shè)計過程
2) 設(shè)計原理
3) 啟發(fā)規(guī)則
4) 描繪軟件結(jié)構(gòu)的圖形工具
5) 面向數(shù)據(jù)流的設(shè)計方法。
2、基本要求:總體設(shè)計的過程,軟件設(shè)計的概念和原理、啟發(fā)式規(guī)則,常用圖形工具的使用方法,面向數(shù)據(jù)流的設(shè)計方法。
3、重點:軟件設(shè)計的概念和原理、啟發(fā)式規(guī)則,面向數(shù)據(jù)流的設(shè)計方法。
4、難點:面向數(shù)據(jù)流的設(shè)計方法。
5、教法說明:本章內(nèi)容非常重要,可讓學(xué)生用第三章的需求分析實例進(jìn)行總體設(shè)計。
第6章、詳細(xì)設(shè)計
1、課程教學(xué)內(nèi)容:
1) 結(jié)構(gòu)程序設(shè)計
2) 人機(jī)界面設(shè)計
3) 過程設(shè)計的工具
4) 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法
5) 程序復(fù)雜程度的定量度量。
2、基本要求:結(jié)構(gòu)程序設(shè)計的概念,人機(jī)界面設(shè)計,常用的詳細(xì)設(shè)計工具使用方法,Jackson程序設(shè)計方法,程序復(fù)雜程序的定量度量。
3、重點:常用的詳細(xì)設(shè)計工具,包括流程圖、盒圖、PAD圖、判定樹和判定表的使用方法,Jackson程序設(shè)計方法以及程序復(fù)雜性定量度量方法McCabe基本思路。
4、難點:Jackson程序設(shè)計方法以及程序復(fù)雜性定量度量McCabe的方法。
5、教法說明:講解人機(jī)界面設(shè)計中,可向?qū)W生展示不同系統(tǒng)的多種界面;Jackson方法也結(jié)合實例進(jìn)行講解。
第7章、實現(xiàn)
1、課程教學(xué)內(nèi)容:
1) 編碼
2) 軟件測試基礎(chǔ),
3) 單元測試
4) 集成測試
5) 確認(rèn)測試
6) 白盒測試技術(shù)
7) 黑盒測試技術(shù)
8) 調(diào)試
9) 軟件可靠性。
2、基本要求:軟件測試的有關(guān)的基本概念和步驟,單元測試、集成測試和確認(rèn)測試的方法,白盒測試和黑盒測試技術(shù),軟件調(diào)試技術(shù)和軟件可靠性估算方法。
3、重點:單元測試、集成測試和確認(rèn)測試的方法,白盒測試和黑盒測試技術(shù)。
4、難點:白盒測試和黑盒測試技術(shù)的測試用例設(shè)計。
5、教法說明:介紹一些與軟件測試技術(shù)相關(guān)的背景知識,特別是涉及到的一些數(shù)學(xué)知識。
第8章、維護(hù)
1、課程教學(xué)內(nèi)容:軟件維護(hù)的定義,軟件維護(hù)的特點,軟件維護(hù)過程,軟件的可維護(hù)性,預(yù)防性維護(hù),軟件再工程過程。
2、基本要求:軟件維護(hù)的定義、特點及軟件再工程過程,軟件維護(hù)的過程,軟件可維護(hù)性的概念以及決定軟件可維護(hù)性的因素。
3、重點:軟件維護(hù)的過程,軟件的可維護(hù)性。
4、難點:軟件維護(hù)的過程。
5、教法說明:應(yīng)用實例來說明軟件維護(hù)的重要性,并與學(xué)生討論。
第9章、面向?qū)ο蠓椒▽W(xué)引論
1、課程教學(xué)內(nèi)容:
1) 面向?qū)ο蠓椒▽W(xué)概述
2) 面向?qū)ο蟮母拍?/p>
3) 面向?qū)ο蠼?/p>
4) 對象模型
5) 動態(tài)模型
6) 功能模型
7) 3種模型之間的關(guān)系。
2、基本要求:面向?qū)ο蠓椒▽W(xué)要點、優(yōu)點、噴泉模型,面向?qū)ο蟮幕靖拍睿瑢ο竽P停瑒討B(tài)模型,功能模型。
3、重點:對象模型,功能模型。
4、難點:三種模型的功能和關(guān)系。
5、教法說明:將結(jié)構(gòu)化分析的案例和習(xí)題改用面向?qū)ο蠓椒ㄟM(jìn)行分析,讓學(xué)生對這兩種方法進(jìn)行對比。
第10章、面向?qū)ο蠓治?/b>
1、課程教學(xué)內(nèi)容:
1) 面向?qū)ο蠓治龅幕具^程
2) 需求陳述
3) 建立對象模型
4) 建立動態(tài)模型
5) 建立功能模型
6) 定義服務(wù)。
2、基本要求:面向?qū)ο蠓治龅幕具^程,需求陳述,建立對象模型、功能模型和動態(tài)模型。
3、重點:建立對象模型、功能模型和動態(tài)模型的方法。
4、難點:動態(tài)模型的建立。
5、教法說明:要求學(xué)生結(jié)合具體案例,完成一個綜合作業(yè),以熟悉面向?qū)ο蠓治龅乃枷搿?/p>
第11章、面向?qū)ο?/b>設(shè)計
1、課程教學(xué)內(nèi)容:
1) 面向?qū)ο笤O(shè)計的準(zhǔn)則
2) 啟發(fā)規(guī)則
3) 軟件重用
4) 系統(tǒng)分解
5) 設(shè)計問題子系統(tǒng)
6) 設(shè)計人機(jī)交互子系統(tǒng)
7) 設(shè)計任務(wù)管理子系統(tǒng)
8) 設(shè)計數(shù)據(jù)管理子系統(tǒng)
9) 設(shè)計類中的服務(wù)
10) 設(shè)計關(guān)聯(lián)
11) 設(shè)計優(yōu)化
2、基本要求:面向?qū)ο笤O(shè)計準(zhǔn)則,軟件重用的基本思想,問題域、人機(jī)交互、任務(wù)管理和數(shù)據(jù)管理的設(shè)計策略。
3、重點:面向?qū)ο笤O(shè)計準(zhǔn)則,軟件重用的基本思想。
4、難點:設(shè)計優(yōu)化。
5、教法說明:注意將面向?qū)ο笤O(shè)計準(zhǔn)則和啟發(fā)規(guī)則與結(jié)構(gòu)化方法進(jìn)行比較。
第12章、 面向?qū)ο?/b>實現(xiàn)
1、課程教學(xué)內(nèi)容:
1) 程序設(shè)計語言
2) 程序設(shè)計風(fēng)格
3) 測試策略
4) 設(shè)計測試用例
2、基本要求:面向?qū)ο笳Z言的優(yōu)點和技術(shù)特點,面向?qū)ο蟪绦蛟O(shè)計遵循的新準(zhǔn)則。
3、重點:面向?qū)ο蟪绦蛟O(shè)計語言的特點。
4、難點:測試策略。
5、教法說明:與結(jié)構(gòu)化方法進(jìn)行比較。
第13章、 軟件項目管理
1、課程教學(xué)內(nèi)容:
1) 估算軟件規(guī)模
2) 工作量估算
3) 進(jìn)度計劃
4) 人員組織
5) 質(zhì)量保證
6) 軟件配置管理。
2、基本要求:人員組織和能力成熟度模型,軟件規(guī)模和工作量的估算方法,進(jìn)度計劃和質(zhì)量保證技術(shù)。
3、重點:軟件規(guī)模和工作量的估算方法,軟件配置管理過程。
4、難點:軟件規(guī)模和工作量的估算方法及其對CMM的深刻理解。
5、教法說明:結(jié)合具體案例進(jìn)行講述,并在課堂上進(jìn)行討論。
五、學(xué)時(理論和實踐)分配表
序號 | 教學(xué)內(nèi)容 | 課時分配 | ||
理論教學(xué) | 實踐教學(xué) | 考核權(quán)重 | ||
1 | 軟件工程學(xué)概述 | 6 | 0 | 10 |
2 | 可行性研究 | 4 | 1 | 5 |
3 | 需求分析 | 4 | 2 | 15 |
4 | 形式化說明技術(shù) | 5 | 2 | 15 |
5 | 總體設(shè)計 | 6 | 4 | 10 |
6 | 詳細(xì)設(shè)計 | 6 | 4 | 10 |
7 | 實現(xiàn) | 6 | 4 | 15 |
8 | 維護(hù) | 6 | 5 | |
9 | 面向?qū)ο蠓椒▽W(xué)引論 | 1 | 2 | |
10 | 面向?qū)ο蠓治?/p> | 1 | 2 | |
11 | 面向?qū)ο笤O(shè)計 | 1 | 2 | |
12 | 面向?qū)ο髮崿F(xiàn) | 1 | 2 | |
13 | 軟件項目管理 | 4 | 7 |
六、學(xué)習(xí)教學(xué)場地、設(shè)施要求(課程中的實踐部分)
序號 | 項目(實驗)名稱 | 學(xué)習(xí)教學(xué)場地、設(shè)施要求 |
1 | 項目立項和可行性分析 | 教室 |
2 | 需求分析與建模 | |
3 | 總體設(shè)計與詳細(xì)設(shè)計 | |
4 | 程序設(shè)計語言的選擇和編程 | |
5 | 測試 | |
6 | 項目管理 |
。
七、考核及評分辦法
本課程擬采取結(jié)構(gòu)評分方式,總成績=平時成績 + 期末考試成績。
平時成績=作業(yè)成績+實驗成績;平時成績占總成績的30%,其中作業(yè)成績占總成績的10%,實驗成績占總成績的20%,期末考試根據(jù)教學(xué)大綱統(tǒng)一命題,占總成績的70%。
八、學(xué)習(xí)資源的選用
建議教材
張海藩,軟件工程導(dǎo)論(第六版),清華出版社,2018.2
教學(xué)參考書
1 蔡敏等,UML基礎(chǔ)和Rose建模教程,人民郵電出版社,2016年
2 李芷,軟件工程方法與實踐,電子工業(yè)出版社,2014年
3 鄭人杰,實用軟件工程(第二版),清華大學(xué)出版社,2007年
講師課酬: 面議
常駐城市:北京市
學(xué)員評價:
講師課酬: 面議
常駐城市:深圳市
學(xué)員評價:
講師課酬: 面議
常駐城市:上海市
學(xué)員評價:
講師課酬: 面議
常駐城市:深圳市
學(xué)員評價:
講師課酬: 面議
常駐城市:深圳市
學(xué)員評價: