《軟件工程》課程教學大綱 (四)_第1頁
《軟件工程》課程教學大綱 (四)_第2頁
《軟件工程》課程教學大綱 (四)_第3頁
《軟件工程》課程教學大綱 (四)_第4頁
《軟件工程》課程教學大綱 (四)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件工程課程教學大綱

SoftwareEngineering

學時數(shù):48

其中:實訓學時:10

課外學時:0

學分數(shù):3

適用專業(yè):信息與計算科學

一、課程的性質(zhì)、目的和任務

軟件工程是一門計算機軟件類的理論性較強的學科,它建立并規(guī)范了整套與軟件特點

相適應的、完善的工程原理與技術(shù),目的是保證經(jīng)濟地生產(chǎn)高質(zhì)量的軟件產(chǎn)品并有效地維

護已有的軟件產(chǎn)品。

軟件工程是計算機軟件應用專業(yè)的必修課,學習對象為信息與計算科學專業(yè)本科高年

級學生。本課程主要介紹軟件工程的基本概念、生存期模型、系統(tǒng)分析和系統(tǒng)設(shè)計的基本

技術(shù)、程序語言與編碼風格、軟件測試與軟件可靠性、軟件維護等的概念與方法。

通過本課程的學習,要求學生掌握軟件工程的基礎(chǔ)知識和理論,能分析大型軟件開發(fā)過

程中出現(xiàn)的問題,了解軟件開發(fā)生命周期中常用的技術(shù),掌握軟件開發(fā)過程的結(jié)構(gòu)化方法和

面向?qū)ο蠓椒ǎ瑢W會運用結(jié)構(gòu)化和面向?qū)ο蟮能浖こ谭椒ㄟM行軟件需求分析?、系統(tǒng)設(shè)計、

實現(xiàn)和測試,并通過課程實踐實際運用軟件工程的思想和技術(shù)、掌握軟件項目管理和團隊開

發(fā)的工作方法。本課程除要求學生掌握軟件工程的基礎(chǔ)知識和理論,重點要求學生學會分析

問題的思想和方法。

二、課程教學的基本要求

(一)了解軟件的主要成分、軟件的分類,以及按軟件工程方法從事軟件開發(fā)的意義;

(二)初步掌握軟件工程的基本概念:軟件與軟件工程,生存周期與軟件開發(fā)模式,結(jié)構(gòu)化

分析、設(shè)計與編碼,面向?qū)ο蠓治?、設(shè)計與編碼,測試與維護,項目計劃與項目管理;

(三)掌握軟件需求分析的方法,重點是結(jié)構(gòu)化分析方法和面向?qū)ο蟮腛MT方法,學會如何

進行軟件建模,如何才能做出好的軟件需求說明。

(四)初步掌握軟件開發(fā)相關(guān)文檔的書寫規(guī)范,主要是業(yè)務流程描述、需求分析、系統(tǒng)設(shè)計

文檔;

(五)掌握軟件設(shè)計的方法,重點在結(jié)構(gòu)化設(shè)計方法和面向?qū)ο蟮腛OAD方法,學會如何才

能建立一個好的軟件體系結(jié)構(gòu),應如何度量和評價。

(六)掌握結(jié)構(gòu)化軟件開發(fā)過程,完成訓練課題的數(shù)據(jù)流程圖、數(shù)據(jù)字典、數(shù)據(jù)庫設(shè)計、編

碼、測試;

(七)掌握軟件測試的基本方法,重點在測試用例的設(shè)計,了解應做哪些方面的測試,測試

數(shù)據(jù)如何設(shè)計,測試的內(nèi)容和如何利用測試結(jié)果進行可靠性分析與預測。

(A)掌握軟件過程與管理的方法,重點在質(zhì)量管理和成本/進度管理,了解主要的軟件標

準和應產(chǎn)生哪些文檔,學習在軟件過程中建立質(zhì)量保證體系的方法和要求。

(九)掌握運能用軟件工程的方法參與軟件項目的分析、設(shè)計、實現(xiàn)和維護等技能

三、課程的教學內(nèi)容、重點和難點

第一章軟件與軟件工程

一、軟件危機

(一)軟件危機的介紹

(-)產(chǎn)生軟件危機的原因

(三)消除軟件危機的途徑

二、軟件工程

(一)軟件工程的介紹

(二)軟件工程的基本原理

(三)軟件工程方法學

三、軟件生命周期

四、軟件過程

(一)瀑布模型

(二)快速原型模型

(三)增量模型

(四)螺旋模型

(五)噴泉模型

(六)Rational統(tǒng)一過程

(七)敏捷過程與極限編程

(八)微軟過程

重點:軟件定義,軟件語言及分類;軟件工程的概念,生存周期;軟件過程模型。

難點:軟件過程模型。

第二章可行性研究

一、可行性研究的任務

二、可行性研究過程

三、系統(tǒng)流程圖

(一)符號

(-)例子

(三)分層

四、數(shù)據(jù)流圖

(一)符號

(二)例子

(三)命名

(四)用途

五、數(shù)據(jù)字典

(一)數(shù)據(jù)字典的內(nèi)容

(-)定義數(shù)據(jù)的方法

(三)數(shù)據(jù)字典的用途

(四)數(shù)據(jù)字典的實現(xiàn)

六、成本/效益分析

(一)成本估計

(二)成本/效益分析的方法

重點:可行性分析、軟件度量,軟件開發(fā)成本結(jié)算,流程圖、數(shù)據(jù)流圖和數(shù)據(jù)字典的表示方

法和應用范圍。

難點:系統(tǒng)的可性分析、成本/效益分析

第三章需求分析

一、需求分析的任務

<-)確定對系統(tǒng)的綜合要求

(二)分析系統(tǒng)的數(shù)據(jù)要求

(三)導出系統(tǒng)的邏輯模型

(四)修正系統(tǒng)開發(fā)計劃

二、與用戶溝通獲取需求的方法

(一)訪談

(二)面向數(shù)據(jù)流自頂向下求精

(三)簡易的應用規(guī)格說明技術(shù)

(四)快速建立軟件原型

三、分析建模與規(guī)格說明

(一)分析建模

(二)軟件需求規(guī)格說明

四、實體-聯(lián)系圖

(-)數(shù)據(jù)對象

(二)屬性

(三)聯(lián)系

(四)實體-聯(lián)系圖的符號

五、數(shù)據(jù)規(guī)范化

六、狀態(tài)轉(zhuǎn)換圖

(一)狀態(tài)

(-)事件

(三)符號

(四)例子

七、其他圖形工具

(一)層次方框圖

(-)Warnier圖

(三)IPO圖

八、驗證軟件需求

(一)從哪些方面驗證軟件需求的正確性

(二)驗證軟件需求的方法

(三)用于需求分析的軟件工具

重點:需求分析的任務及過程,獲取需求的方法,需求分析建模方法,各種圖形工具的應

用,需求規(guī)格說明書的書寫。

難點:獲取需求的方法.需求分析建模方法,

第四章總體設(shè)計

一、設(shè)計過程

二、設(shè)計原理

(一)模塊化

(二)抽象

(三)逐步求精

(四)信息隱藏和局部化

(五)模塊獨立

三、啟發(fā)規(guī)則

四、描繪軟件結(jié)構(gòu)的圖形工具

(-)層次圖和HIPO圖

(二)結(jié)構(gòu)圖

五、面向數(shù)據(jù)流的設(shè)計方法

(一)概念

(二)變換分析

(三)事務分析

(四)設(shè)計優(yōu)化

重點:軟件的總體設(shè)計過程、設(shè)計原理和啟發(fā)式規(guī)則、面向數(shù)據(jù)流的設(shè)計方法。

難點:面向數(shù)據(jù)流的設(shè)計方法。

第五章詳細設(shè)計

一、結(jié)構(gòu)程序設(shè)計

二、人機界面設(shè)計

(一)設(shè)計問題

(二)設(shè)計過程

(三)人機界面設(shè)計指南

三、過程設(shè)計的工具

(一)程序流程圖

(二)盒圖

(三)PAD圖

(四)判定表

(五)判定樹

(六)過程設(shè)計語言

四、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法

(一)Jackson圖

(二)改進的Jackson圖

(三)Jackson方法

五、程序復雜程度的定量度量

(一)McCabe方法

(二)Halstead方法

重點:結(jié)構(gòu)程序、人機界面、和過程設(shè)計的方法,面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法、程序復雜

程度的度量。

難點:面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法、程序復雜程度的度量。

第六章實現(xiàn)

一、編碼

(一)選擇程序設(shè)計語言

(-)編碼風格

二、軟件測試基礎(chǔ)

(-)軟件測試的目標

(二)軟件測試準則

(三)測試方法

(四)測試步驟

(五)測試階段的信息流

三、單元測試

(一)測試重點

(二)代碼審查

(三)計算機測試

四、集成測試

(-)自頂向下集成

(二)自底向上集成

(三)不同集成測試策略的比較

(四)回歸測試

五、確認測試

(一)確認測試的范圍

(二)軟件配置復查

(三)Alpha和Beta測試

六、白盒測試技術(shù)

(一)邏輯覆蓋

(二)控制結(jié)構(gòu)測試

七、黑盒測試技術(shù)

(一)等價劃分

(二)邊界值分析

(三)錯誤推測

八、調(diào)試

(一)調(diào)試過程

(二)調(diào)試途徑

九、軟件可靠性

(一)基本概念

(二)估算平均無故障時間的方法

重點:掌握測試階段的內(nèi)容,測試方法及測試步驟

難點:白盒與黑盒測試方法;單元測試,集成測試的方法;自頂向下及自底向上結(jié)合模

塊的步驟:漸增式及非漸增式測試的區(qū)別;歸納法與演繹法調(diào)試策略:測試用例的設(shè)

44-

第七章維護

一、軟件維護的定義

二、軟件維護的特點

(-)結(jié)構(gòu)化維護與非結(jié)構(gòu)化維護差別巨大

(二)維護的代價高昂

(三)維護的問題很多

三、軟件維護過程

四、軟件的可維護性

(-)決定軟件可維護性的因素

(二)文檔

(三)可維護性復審

五、預防性維護

六、軟件再工程過程

重點:掌握軟件維護的過程、特點、方法、技術(shù)、文檔。

難點:軟件維護的過程。

第八章面向?qū)ο蠓椒▽W引論

一、面向?qū)ο蠓椒▽W概述

(一)面向?qū)ο蠓椒▽W的要點

(二)面向?qū)ο蠓椒▽W的優(yōu)點

二、面向?qū)ο蟮母拍?/p>

(一)對象

(二)其他概念

三、面向?qū)ο蠼?/p>

四、對象模型

(一)類圖的基本符號

(二)表示關(guān)系的符號

五、動態(tài)模型

六、功能模型

(-)用例圖

(二)用例建模

七、3種模型之間的關(guān)系

重點:面向?qū)ο竺娣椒▽W的理解,面向?qū)ο蟮母拍罴叭N模型

難點:面向?qū)ο竺娣椒▽W

第九章面向?qū)ο蠓治?/p>

一、面向?qū)ο蠓治龅幕具^程

(一)概述

(-)3個子模型與5個層次

二、需求陳述

(一)書寫要點

(二)例子

三、建立對象模型

(-)確定類與對象

(二)確定關(guān)聯(lián)

(三)劃分主題

(四)確定屬性

(五)識別繼承關(guān)系

(六)反復修改

四、建立動態(tài)模型

(-)編寫腳本

(二)設(shè)想用戶界面

(三)畫事件跟蹤圖

(四)畫狀態(tài)圖

(五)審查動態(tài)模型

五、建立功能模型

(一)畫出基本系統(tǒng)模型圖

(二)畫出功能級數(shù)據(jù)流圖

(三)描述處理框功能

六、定義服務

重點:面向?qū)ο蠓治鲞^程、對象、動態(tài)和功能模型的建立。

難點:對象、動態(tài)和功能模型的建立。

第十章面向?qū)ο笤O(shè)計

一、面向?qū)ο笤O(shè)計的準則

二、啟發(fā)規(guī)則

三、軟件重用

(一)概述

(二)類構(gòu)件

(三)軟件重用的效益

四、系統(tǒng)分解

五、設(shè)計問題域子系統(tǒng)

六、設(shè)計人機交互子系統(tǒng)

七、設(shè)計任務管理子系統(tǒng)

八、設(shè)計數(shù)據(jù)管理子系統(tǒng)

(一)選擇數(shù)據(jù)存儲管理模式

(-)設(shè)計數(shù)據(jù)管理子系統(tǒng)

(三)例子

九、設(shè)計類中的服務

(一)確定類中應有的服務

(-)設(shè)計實現(xiàn)服務的方法

十、設(shè)計關(guān)聯(lián)

十一、設(shè)計優(yōu)化

(一)確定優(yōu)先級

(二)提高效率的幾項技術(shù)

(三)調(diào)整繼承關(guān)系

重點:面向?qū)ο笤O(shè)計準則、啟發(fā)式規(guī)則,軟件重用技術(shù),面向?qū)ο笤O(shè)計過程。

難點:任務分解。

第十一章面向?qū)ο髮崿F(xiàn)

一、程序設(shè)計語言

(一)面向?qū)ο笳Z言的優(yōu)點

(二)面向?qū)ο笳Z言的技術(shù)特點

(三)選擇面向?qū)ο笳Z言

—、程序設(shè)計風格

(一)提高可重用性

(二)提高可擴充性

(三)提高健壯性

三、測試策略

(一)面向?qū)ο蟮膯卧獪y試

(-)面向?qū)ο蟮募蓽y試

(三)面向?qū)ο蟮拇_認測試

四、設(shè)計測試用例

(一)測試類的方法

(-)集成測試方法

重點:選擇面向?qū)ο笳Z言的原因,面向?qū)ο笳Z言的設(shè)計風格,面向?qū)ο鬁y試過程。

難點:面向?qū)ο鬁y試過程。

第十二章軟件項目管理

一、估算軟件規(guī)模

(一)代碼行技術(shù)

(-)功能點技術(shù)

二、工作量估算

(-)靜態(tài)單變量模型

(二)動態(tài)多變量模型

(三)C0C0M02模型

三、進度計劃

(一)估算開發(fā)時間

(二)Gantt圖

(三)工程網(wǎng)絡(luò)

(四)估算工程進度

(五)關(guān)鍵路徑

(六)機動時間

四、人員組織

(一)民主制程序員組

(二)主程序員組

(三)現(xiàn)代程序員組

五、質(zhì)量保證

(一)軟件質(zhì)量

(二)軟件質(zhì)量保記措施

六、軟件配置管理

(一)軟件配置

(-)軟件配置管理過程

七、能力成熟度模型

重點:軟件工作量的度量,軟件項目進度安排,軟件項目計劃內(nèi)容,;軟件配置管理

難點:軟件開發(fā)成本結(jié)算,軟件項目進度安排。

四、課程各教學環(huán)節(jié)要求

(-)上機5次10機時,教師根據(jù)課本自擬上機實驗大綱和方案。

(二)作業(yè):10道必做題,反映教學目的和基本要求。

(三)輔導答疑:主要安排在課后。

五、學時分配(黑體四號)

作業(yè)備

教學內(nèi)容各教學環(huán)節(jié)學時分配

題量注

講實討習課其小

章節(jié)主要內(nèi)容

授驗論題外它計

—軟件工程學概述222

二可行性研究442

三需求分析6283

四總體設(shè)計4262

五詳細設(shè)計443

六實現(xiàn)4264

七維護221

八面向?qū)ο蠓椒▽W引論222

九面向?qū)ο蠓治?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論