《軟件工程》理論教學(xué)大綱_第1頁(yè)
《軟件工程》理論教學(xué)大綱_第2頁(yè)
《軟件工程》理論教學(xué)大綱_第3頁(yè)
《軟件工程》理論教學(xué)大綱_第4頁(yè)
《軟件工程》理論教學(xué)大綱_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程理論教學(xué)大綱(2000年制訂,2004年修訂)課程編號(hào):210024英 文 名:Software Engineering課程類別:專業(yè)主干課前 置 課:計(jì)算機(jī)導(dǎo)論、程序設(shè)計(jì)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)、離散數(shù)學(xué)后 置 課:畢業(yè)設(shè)計(jì)和畢業(yè)論文學(xué) 分:3學(xué)分課 時(shí):48課時(shí)(其中理論教學(xué)32課時(shí),實(shí)驗(yàn)教學(xué)16課時(shí))主講教師: 韓忠愿等選定教材: 張海藩. 軟件工程. 北京:人民郵電出版社. 2002年.課程概述:本課程面向信息系統(tǒng)與信息管理專業(yè)的學(xué)生,介紹軟件系統(tǒng)性質(zhì)、目標(biāo)、環(huán)境的分析方法,目標(biāo)系統(tǒng)邏輯聯(lián)系、功能聯(lián)系、控制聯(lián)系和狀態(tài)轉(zhuǎn)換過(guò)程的描述方法,軟件結(jié)構(gòu)、測(cè)試方案的設(shè)計(jì)要求和分析

2、方法,軟件工程學(xué)新進(jìn)展,以及上述過(guò)程所用的規(guī)范化圖文數(shù)表模型。具體包括:軟件工程概念及其過(guò)程模型、結(jié)構(gòu)化分析/設(shè)計(jì)/實(shí)現(xiàn)方法和工具,面向?qū)ο蠓椒▽W(xué)及面向?qū)ο蟮母拍睢⒛P汀⒎治龇椒ā⒃O(shè)計(jì)方法、實(shí)現(xiàn)方法,軟件項(xiàng)目管理及其定量度量方法、相關(guān)國(guó)際標(biāo)準(zhǔn)。最后介紹佩特網(wǎng)等形式化方法、統(tǒng)一建模語(yǔ)言、軟件常用技術(shù)和軟構(gòu)件的分類與檢索。教學(xué)目的:本課程的教學(xué)目的,應(yīng)使學(xué)生掌握大型復(fù)雜軟件系統(tǒng)的開(kāi)發(fā)方法、規(guī)則和工具。首先,應(yīng)使其克服長(zhǎng)期書(shū)寫(xiě)小程序形成的“重編碼、輕分析設(shè)計(jì);重編碼、輕技術(shù)資料建設(shè)和管理”的習(xí)慣;其次,要理解軟件工程原理/方法/規(guī)則的必要性和掌握其技術(shù)細(xì)節(jié);第三,要了解軟件工程學(xué)的進(jìn)展和前沿動(dòng)態(tài);第

3、四,要通過(guò)軟件系統(tǒng)設(shè)計(jì)的練習(xí),鞏固和應(yīng)用所學(xué)知識(shí)。教學(xué)方法:本課程的難點(diǎn)在于,學(xué)生不曾經(jīng)過(guò)大型軟件開(kāi)發(fā)的訓(xùn)練,因此在講解中要適時(shí)插入大量軟件開(kāi)發(fā)事例,要求教師具有一定的軟件開(kāi)發(fā)經(jīng)驗(yàn);本課程不安排具體編程環(huán)境和開(kāi)發(fā)語(yǔ)言的學(xué)習(xí),但必須以大型軟件開(kāi)發(fā)實(shí)例說(shuō)明問(wèn)題,因此要求教師熟悉多種開(kāi)發(fā)環(huán)境和開(kāi)發(fā)語(yǔ)言;此外,軟件開(kāi)發(fā)技術(shù)的滯后和軟件應(yīng)用的廣泛性所形成的反差,要求教師了解并適時(shí)提出計(jì)算機(jī)輔助軟件工程(CASE)的問(wèn)題。因此,作為教師,應(yīng)把案例的收集和規(guī)律的提取作為重點(diǎn);作為學(xué)生,重點(diǎn)是掌握基本思想和基本方法及其綜合應(yīng)用。教學(xué)中以講授和討論為主,實(shí)驗(yàn)內(nèi)容則是在Power Designer、Project

4、、IBM Rational Rose等CASE環(huán)境下實(shí)習(xí)理論教學(xué)中的建模、分析和管理過(guò)程。 各章教學(xué)要求及教學(xué)要點(diǎn)第一章 軟件工程概述課時(shí)分配:2課時(shí)教學(xué)要求:本章對(duì)計(jì)算機(jī)軟件工程學(xué)進(jìn)行簡(jiǎn)短的概述。首先要通過(guò)回顧計(jì)算機(jī)系統(tǒng)軟硬件關(guān)系的發(fā)展簡(jiǎn)史,說(shuō)明開(kāi)發(fā)軟件的一些錯(cuò)誤方法和觀念是怎樣形成的。然后列舉這些錯(cuò)誤方法帶來(lái)的嚴(yán)重弊病(軟件危機(jī)),澄清一些糊涂觀念。為了計(jì)算機(jī)系統(tǒng)的進(jìn)一步發(fā)展,需要認(rèn)真研究開(kāi)發(fā)和維護(hù)軟件的科學(xué)技術(shù)。應(yīng)總結(jié)計(jì)算機(jī)軟件技術(shù)發(fā)展的歷史經(jīng)驗(yàn)教訓(xùn),借鑒其他工程領(lǐng)域的管理技術(shù)。教學(xué)內(nèi)容:第一節(jié) 軟件工程一、什么是軟件工程概括地說(shuō),軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。采用工程的

5、概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。二、軟件工程的基本原理1用分階段的生命周期計(jì)劃嚴(yán)格管理;2堅(jiān)持進(jìn)行階段評(píng)審;3實(shí)行嚴(yán)格的產(chǎn)品控制;4采用現(xiàn)代程序設(shè)計(jì)技術(shù);5結(jié)果應(yīng)能清楚地審查;6開(kāi)發(fā)小組的人員應(yīng)該少而精;7承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。第二節(jié) 軟件工程方法學(xué)一、方法學(xué)(methodology)范型(paradigm)瀑布模型、噴泉模型、快速原型模型、增量模型、螺旋模型。二、軟件工程方法學(xué)三要素:方法、工具和過(guò)程。三、傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)思考題:1

6、.什么是軟件工程?怎么應(yīng)用軟件工程消除軟件危機(jī)?2.軟件工程化的觀點(diǎn)認(rèn)為,軟件生命周期包含哪些階段?3.簡(jiǎn)要論述結(jié)構(gòu)化范式和面向?qū)ο蠓妒降囊c(diǎn),并比較這兩種范式的優(yōu)缺點(diǎn)。第二章 軟件過(guò)程課時(shí)分配:2課時(shí)教學(xué)要求:本章需要明確:軟件過(guò)程是為了獲得高質(zhì)量軟件產(chǎn)品所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件過(guò)程必須科學(xué)、合理,才能開(kāi)發(fā)出高質(zhì)量的軟件產(chǎn)品。按照在軟件生命周期全過(guò)程中應(yīng)完成任務(wù)的性質(zhì),在概念上可以把軟件生命周期劃分成問(wèn)題定義、可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試以及維護(hù)等八個(gè)階段。實(shí)際從事軟件開(kāi)發(fā)工作時(shí),軟件規(guī)模、種類、開(kāi)發(fā)環(huán)境及使用的

7、技術(shù)方法等因素,都影響階段的劃分。因此,一個(gè)科學(xué)、有效的軟件過(guò)程應(yīng)該定義一組適合于所承擔(dān)的項(xiàng)目特點(diǎn)的任務(wù)集合。據(jù)此,本章講授五類典型的軟件生命周期模型及其特點(diǎn)。教學(xué)要點(diǎn)第一節(jié) 軟件生命周期的基本任務(wù)一、問(wèn)題定義“要解決的問(wèn)題是什么?”二、可行性研究“上一個(gè)階段所確定的問(wèn)題是否有行得通的解決辦法?”三、需求分析用規(guī)格說(shuō)明(specification) 定義“目標(biāo)系統(tǒng)必須做什么?”四、概要設(shè)計(jì)“怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”五、詳細(xì)設(shè)計(jì)“怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)?”六、編碼和單元測(cè)試寫(xiě)出正確的容易理解、容易維護(hù)的程序模塊。七、綜合測(cè)試通過(guò)各種類型的測(cè)試及相應(yīng)的調(diào)試,使軟件達(dá)到預(yù)定的要求。八、軟件維護(hù)通過(guò)各種必

8、要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要(改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù))。第二節(jié) 瀑布模型一、 階段間具有順序性和依賴性。二、 推遲實(shí)現(xiàn)的觀點(diǎn)。三、 質(zhì)量保證的觀點(diǎn)。思考題:1.什么是軟件過(guò)程?它與軟件工程方法學(xué)有什么關(guān)系?2.假設(shè)你要開(kāi)發(fā)一個(gè)軟件,它的功能是把某個(gè)數(shù)開(kāi)平方,所得的結(jié)果應(yīng)該精確到小數(shù)點(diǎn)后4位。一旦實(shí)現(xiàn)并測(cè)試完畢后,該產(chǎn)品將會(huì)被拋棄。你打算選用哪種軟件生命周期模型?3.列出上一題所述軟件產(chǎn)品在開(kāi)發(fā)過(guò)程中可能遇到的風(fēng)險(xiǎn)。第三章 結(jié)構(gòu)化分析課時(shí)分配:3課時(shí)教學(xué)要求:本章講授用戶需求的發(fā)現(xiàn)、求精、建模、規(guī)格說(shuō)明和復(fù)審的過(guò)程。本章還要說(shuō)明模型的以下作用:1.模型能幫助分析

9、員更好地理解軟件系統(tǒng)的信息、功能和行為,從而使得需求分析工作更容易完成,使需求分析的結(jié)果更系統(tǒng)化。2.模型是復(fù)審需求分析成果時(shí)的焦點(diǎn),因此,也成為驗(yàn)證規(guī)格說(shuō)明的完整性、一致性和準(zhǔn)確性的重要依據(jù)。3.模型是設(shè)計(jì)的基礎(chǔ),為設(shè)計(jì)者提供軟件的實(shí)質(zhì)性表示,通過(guò)設(shè)計(jì)工作將把這些表示轉(zhuǎn)化成軟件實(shí)現(xiàn)。在此基礎(chǔ)上,引導(dǎo)學(xué)生使用實(shí)體關(guān)系圖來(lái)建立數(shù)據(jù)模型,掌握數(shù)據(jù)流圖的基本符號(hào),并能正確地使用這些符號(hào)建立目標(biāo)系統(tǒng)的功能模型。此外,簡(jiǎn)要說(shuō)明狀態(tài)轉(zhuǎn)換圖和數(shù)據(jù)字典。教學(xué)內(nèi)容:第一節(jié) 概述一、需求分析的含義(發(fā)現(xiàn)、求精、建模、規(guī)格說(shuō)明和復(fù)審的過(guò)程)。二、模型為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一種無(wú)歧義的書(shū)面描述

10、。三、結(jié)構(gòu)化分析通常建立數(shù)據(jù)模型、功能模型和行為模型等三種模型。四、用分析模型表示軟件需求并寫(xiě)出準(zhǔn)確的軟件需求規(guī)格說(shuō)明。第二節(jié) 需求分析與需求工程一、 訪談訪談(或稱為會(huì)談)。最早開(kāi)始運(yùn)用的獲取用戶需求的技術(shù),也是迄今為止仍然廣泛使用的主要的需求分析技術(shù)。二、 規(guī)格說(shuō)明技術(shù)。這種方法提倡用戶與開(kāi)發(fā)者密切合作,共同標(biāo)識(shí)問(wèn)題,提出解決方案的要素,商討不同的方法并指定基本的需求。三、軟件原型化方法。構(gòu)建原型的要點(diǎn)是,它應(yīng)該實(shí)現(xiàn)用戶看得見(jiàn)的功能(例如屏幕顯示或打印報(bào)表),省略目標(biāo)系統(tǒng)的“隱含”功能(例如修改文件)。第三節(jié) 軟件需求規(guī)格說(shuō)明一、 軟件需求規(guī)格說(shuō)明簡(jiǎn)略大綱。引言、信息描述、功能描述、行為描

11、述、確認(rèn)標(biāo)準(zhǔn)、參考書(shū)目、附錄。二、需求規(guī)格說(shuō)明書(shū)各部分的撰寫(xiě)要點(diǎn)。第四節(jié) 實(shí)體關(guān)系圖數(shù)據(jù)模型包含三種相互關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象、描述數(shù)據(jù)對(duì)象的屬性及數(shù)據(jù)對(duì)象彼此間相互連接的關(guān)系。第五節(jié) 數(shù)據(jù)流圖一、數(shù)據(jù)流圖符號(hào)。正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)或終點(diǎn);圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;開(kāi)口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲(chǔ);箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。二、例子。三、圖元命名。第六節(jié) 狀態(tài)轉(zhuǎn)換圖一、 狀況轉(zhuǎn)換圖的各種圖形結(jié)構(gòu)要素。二、換圖的應(yīng)用實(shí)例。第七節(jié) 數(shù)據(jù)字典一、數(shù)據(jù)字典是為了描述在結(jié)構(gòu)化分析過(guò)程中定義的對(duì)象的內(nèi)容而使用的一種半形式化的工具。二、數(shù)據(jù)字典是所有與系統(tǒng)相關(guān)的數(shù)據(jù)元

12、素的有組織的列表。三、數(shù)據(jù)字典是對(duì)系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。四、數(shù)據(jù)字典的內(nèi)容(名字、別名、使用地點(diǎn)與方式、內(nèi)容描述、補(bǔ)充信息)。五、數(shù)據(jù)字典中表示數(shù)據(jù)構(gòu)成的符號(hào)。思考題:1.銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作過(guò)程大致如下:儲(chǔ)戶填寫(xiě)存款單和取款單,由業(yè)務(wù)員鍵入系統(tǒng)。如果是存款,則系統(tǒng)記錄存款人姓名、住址(或電話號(hào)碼)、身份證號(hào)、存儲(chǔ)類型、存款日期、到期日起、利率及密碼等信息,并打印存款單給儲(chǔ)戶;如果是取款而且存款時(shí)留有密碼,則系統(tǒng)首先核對(duì)儲(chǔ)戶密碼,若密碼正確和存款時(shí)未留密碼,則計(jì)算利息并打印利息清單。2.用數(shù)據(jù)流圖描繪本系統(tǒng)的功能,并用實(shí)體聯(lián)系圖描繪系統(tǒng)中的數(shù)據(jù)對(duì)象。第四章 結(jié)構(gòu)化設(shè)計(jì)課時(shí)分

13、配:6課時(shí)教學(xué)要求:本章應(yīng)使學(xué)生學(xué)會(huì)用各種圖形描繪軟件結(jié)構(gòu)。描述程序處理過(guò)程的工具,可分為圖形、表格和語(yǔ)言三類,這三類工具各有所長(zhǎng),教學(xué)中應(yīng)該讓學(xué)生能夠根據(jù)需要選用適當(dāng)?shù)墓ぞ摺=虒W(xué)內(nèi)容:第一節(jié) 結(jié)構(gòu)化設(shè)計(jì)與結(jié)構(gòu)化分析的關(guān)系結(jié)構(gòu)化分析的結(jié)果為結(jié)構(gòu)化設(shè)計(jì)提供了最基本的輸入信息,結(jié)構(gòu)化設(shè)計(jì)是結(jié)構(gòu)化分析的繼續(xù)。第二節(jié) 軟件設(shè)計(jì)的概念和原理一、模塊化。模塊是由邊界元素限定的相鄰的程序元素(例如,數(shù)據(jù)說(shuō)明,可執(zhí)行的語(yǔ)句)的序列,而且有一個(gè)總體標(biāo)識(shí)符來(lái)代表它。像Pascal或Ada這樣的塊結(jié)構(gòu)語(yǔ)言中的Beginend對(duì),或者C,C+和Java語(yǔ)言中的對(duì),都是邊界元素的例子。因此,過(guò)程、函數(shù)、子程序和宏等,都

14、可作為模塊。面向?qū)ο蠓缎椭械膶?duì)象是模塊,對(duì)象內(nèi)的方法也是模塊。模塊是構(gòu)成程序的基本構(gòu)件。模塊化就是把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求。1.模塊可分解性;2.模塊可組裝性;3.模塊可理解性;4.模塊連續(xù)性;5.模塊保護(hù)性。二、抽象。三、逐步求精。四、信息隱藏。第三節(jié) 模塊獨(dú)立一、耦合。耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量,分為數(shù)據(jù)耦合,控制耦合,公共環(huán)境耦合,內(nèi)容耦合。二、內(nèi)聚。內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)展。分為功能內(nèi)聚、順序內(nèi)聚、通訊內(nèi)聚

15、、過(guò)程內(nèi)聚、時(shí)間內(nèi)聚、邏輯內(nèi)聚、偶爾內(nèi)聚。第四節(jié) 啟發(fā)規(guī)則一、改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性。二、模塊規(guī)模應(yīng)該適中。三、深度、寬度、扇出和扇入都應(yīng)適當(dāng)。四、模塊的作用域應(yīng)該在控制域之內(nèi)。五、力爭(zhēng)降低模塊接口的復(fù)雜程度。六、設(shè)計(jì)單入口單出口的模塊。七、模塊功能應(yīng)該可以預(yù)測(cè)。第五節(jié) 表示軟件結(jié)構(gòu)的圖形工具一、 層次圖。二、 HIPO圖。三、 層次圖和HIPO圖的區(qū)別和所適用的情況。第六節(jié) 面向數(shù)據(jù)流的設(shè)計(jì)方法一、概念。1.變換流如果數(shù)據(jù)流圖中的輸入經(jīng)過(guò)加工處理后才沿輸出通道變換成外部形式后離開(kāi)軟件系統(tǒng),這種數(shù)據(jù)流稱為變換流。2.事務(wù)流如果數(shù)據(jù)流圖中的輸入未經(jīng)加工處理后就沿多個(gè)輸出通道離開(kāi)軟件系統(tǒng)進(jìn)入下

16、一個(gè)分支,這種數(shù)據(jù)流稱為變換流。二、變換分析。復(fù)查基本系統(tǒng)模型、復(fù)查并精化數(shù)據(jù)流圖、確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性、確定輸入流和輸出流的邊界,從而孤立出變換中心、完成“第一級(jí)分解”、完成“第二級(jí)分解”、使用設(shè)計(jì)度量和啟發(fā)規(guī)則對(duì)第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。三、事務(wù)分析。事務(wù)分析的設(shè)計(jì)步驟和變換分析的設(shè)計(jì)步驟大部分相同或類似,主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。四、設(shè)計(jì)優(yōu)化。第七節(jié) 過(guò)程設(shè)計(jì)一、經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì)。只允許使用順序、IF-THEN-ELSE型分支和DO-WHILE型循環(huán)這三種基本控制結(jié)構(gòu)。二、擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì)。除了上述三種基本控制結(jié)構(gòu)之外,還允許使用DO

17、-CASE型多分支結(jié)構(gòu)和DO-UNTIL型循環(huán)結(jié)構(gòu)。三、修正的結(jié)構(gòu)程序設(shè)計(jì)。在上述結(jié)構(gòu)的基礎(chǔ)上,再加上允許使用LEAVE(或BREAK)的結(jié)構(gòu)。第八節(jié) 過(guò)程設(shè)計(jì)的工具描述程序處理過(guò)程的工具稱為過(guò)程設(shè)計(jì)的工具,它們可以分為圖形、表格和語(yǔ)言三類。一、程序流程圖。二、盒圖(N-S圖) 。盒圖沒(méi)有箭頭,因此不允許隨意轉(zhuǎn)移控制。堅(jiān)持使用盒圖作為詳細(xì)設(shè)計(jì)的工具,可以使程序員逐步養(yǎng)成用結(jié)構(gòu)化的方式思考問(wèn)題和解決問(wèn)題的習(xí)慣。三、PAD圖。用二維樹(shù)形結(jié)構(gòu)的圖來(lái)表示程序的控制流,將這種圖翻譯成程序代碼比較容易。四、判定表。當(dāng)算法中包含多重嵌套的條件選擇時(shí),判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)

18、系。五、判定樹(shù)。判定表雖然能清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系,但其含義卻不是一眼就能看出來(lái)的,初次接觸這種工具的人要理解它需要有一個(gè)簡(jiǎn)短的學(xué)習(xí)過(guò)程。判定樹(shù)是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。六、過(guò)程設(shè)計(jì)語(yǔ)言(PDL)。思考題:1.分析模型中的哪些信息為數(shù)據(jù)設(shè)計(jì)奠定了基礎(chǔ)?哪些信息為軟件體系結(jié)構(gòu)設(shè)計(jì)奠定了基礎(chǔ)?那些信息為接口設(shè)計(jì)奠定了基礎(chǔ)?那些信息為過(guò)程設(shè)計(jì)奠定了基礎(chǔ)?2.為每種類型的模塊偶合舉一個(gè)具體例子。3.對(duì)每種類型的模塊內(nèi)聚舉一個(gè)具體例子。4.舉例說(shuō)明信息隱藏和模塊獨(dú)立的關(guān)系。5.舉例說(shuō)明藕合和可移植性的關(guān)系。第五章 結(jié)構(gòu)化實(shí)現(xiàn)課時(shí)分

19、配:3課時(shí)教學(xué)要求:學(xué)習(xí)本章后,為了設(shè)計(jì)出有效的測(cè)試方案,學(xué)生必須深入理解并應(yīng)用指導(dǎo)軟件測(cè)試的基本準(zhǔn)則,應(yīng)該能夠應(yīng)用各種測(cè)試方法設(shè)計(jì)軟件系統(tǒng)的測(cè)試方案,并根據(jù)測(cè)試結(jié)構(gòu)進(jìn)行錯(cuò)誤定位、軟件調(diào)試和軟件可靠性估計(jì)等后續(xù)工作。教學(xué)內(nèi)容:第一節(jié) 軟件實(shí)現(xiàn)的基本問(wèn)題一、選擇程序設(shè)計(jì)語(yǔ)言。二、編碼風(fēng)格。程序內(nèi)部的文檔、數(shù)據(jù)說(shuō)明、語(yǔ)句構(gòu)造、輸入/輸出、效率。第二節(jié) 軟件測(cè)試基礎(chǔ)一、測(cè)試目標(biāo)。1.測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程;2.好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;3.成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。二、黑盒測(cè)試和白盒測(cè)試。三、測(cè)試準(zhǔn)則。1.所有的測(cè)試都應(yīng)該能追

20、溯到用戶需求;2.應(yīng)該在測(cè)試開(kāi)始之前的相當(dāng)長(zhǎng)時(shí)間,就制定出測(cè)試計(jì)劃;3.測(cè)試發(fā)現(xiàn)的錯(cuò)誤中的80%很可能是由程序中20%的模塊造成的;4.測(cè)試應(yīng)該從“小規(guī)模”開(kāi)始,并逐步進(jìn)行“大規(guī)模”測(cè)試;5.窮舉測(cè)試是不可能的;6.為了達(dá)到最佳的測(cè)試效果,應(yīng)該由獨(dú)立的第三方來(lái)從事測(cè)試工作。四、流圖。第三節(jié) 邏輯覆蓋一、 語(yǔ)句覆蓋。二、 判定覆蓋。三、 條件覆蓋。四、 判定/條件覆蓋。五、 條件組合覆蓋。第四節(jié) 控制結(jié)構(gòu)測(cè)試一、基本路徑測(cè)試。1. 根據(jù)過(guò)程設(shè)計(jì)結(jié)果畫(huà)出相應(yīng)的流圖;2. 計(jì)算流圖的環(huán)形復(fù)雜度;3. 確定線性獨(dú)立路徑的基本集合;4. 設(shè)計(jì)可強(qiáng)制執(zhí)行基本集合中每條路徑的測(cè)試用例。二、條件測(cè)試。三、數(shù)據(jù)

21、流測(cè)試。四、循環(huán)測(cè)試。1. 簡(jiǎn)單循環(huán);2. 嵌套循環(huán);3. 串接循環(huán)。第五節(jié) 黑盒測(cè)試技術(shù)一、等價(jià)劃分。1.如果規(guī)定了輸入值的范圍,則可劃分出一個(gè)有效的等價(jià)類輸入值在此范圍內(nèi)(兩個(gè)無(wú)效的等價(jià)類輸入值小于最小值或大于最大值)。2.如果規(guī)定了輸入數(shù)據(jù)的個(gè)數(shù),則類似地也可以劃分出一個(gè)有效的等價(jià)類和兩個(gè)無(wú)效的等價(jià)類。3.如果規(guī)定了輸入數(shù)據(jù)的一組值,則每個(gè)允許的輸入值是一個(gè)有效的等價(jià)類,此外還有一個(gè)無(wú)效的等價(jià)類(任一個(gè)不允許的輸入值)。4.如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分出一個(gè)有效的等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效的等價(jià)類(從各種不同角度違反規(guī)則)。5.如果規(guī)定了輸入數(shù)據(jù)為整型,則可以劃分出正

22、整數(shù)、零和負(fù)整數(shù)等三個(gè)有效類。6.如果程序的處理對(duì)象是表格,則應(yīng)該使用空表,以及含一項(xiàng)或多項(xiàng)的表。二、邊界值分析。三、錯(cuò)誤推測(cè)。第六節(jié) 測(cè)試策略一、測(cè)試步驟。二、單元測(cè)試。1. 代碼審查;2. 軟件測(cè)試。三、集成測(cè)試。1. 自頂向下集成;2. 自底向上集成;3. 回歸測(cè)試;4. 不同集成測(cè)試策略的比較。四、確認(rèn)測(cè)試。第七節(jié) 調(diào)試一、調(diào)試過(guò)程。二、調(diào)試途徑。1. 蠻干法;2. 回溯法;3. 原因排除法。思考題:航空公司向軟件公司訂購(gòu)了一個(gè)規(guī)劃飛行路線的程序。假設(shè)你是另一軟件公司的軟件工程師。航空公司已雇用你在的公司對(duì)上述程序進(jìn)行驗(yàn)收測(cè)試。你的任務(wù)是,根據(jù)下述事實(shí)設(shè)計(jì)驗(yàn)收測(cè)試的輸入數(shù)據(jù),并解釋你選

23、取這些數(shù)據(jù)的理由:領(lǐng)航員向程序輸入出發(fā)點(diǎn)和目的地,以及根據(jù)天氣和飛機(jī)型號(hào)而初步確定的飛行高度。程序讀入途中的風(fēng)向風(fēng)力等數(shù)據(jù),并且制定出三套飛行計(jì)劃(高度、速度、方向及途中的五個(gè)位子校核點(diǎn))。所制定的飛行計(jì)劃應(yīng)做到燃油消耗和飛行時(shí)間都最少。第六章 面向?qū)ο蟮母拍钆c模型課時(shí)分配:3課時(shí)教學(xué)要求:面向?qū)ο蠓椒▽W(xué)比較自然地模擬了人類認(rèn)識(shí)客觀世界的思維方式,本章教學(xué)應(yīng)使學(xué)生了解面向?qū)ο蠓椒ǖ母拍詈鸵?guī)律和工具,能夠用面向?qū)ο蟮乃枷朊枋鰡?wèn)題域,從而建立關(guān)于軟件系統(tǒng)的對(duì)象模型,當(dāng)然,出于面向?qū)ο蠼5男枰惨販剡^(guò)程建模和功能建模方法。教學(xué)內(nèi)容:第一節(jié) 概述一、面相對(duì)象思想基本內(nèi)涵:OO=Objects+

24、Classes+ Inheritance+ Communication with messages。二、 面向?qū)ο蠓椒▽W(xué)的主要優(yōu)點(diǎn)。與人類習(xí)慣的思維方法一致、穩(wěn)定性好、可重用性好、較易開(kāi)發(fā)大型軟件產(chǎn)品、可維護(hù)性好。三、面向?qū)ο蠓椒ǖ钠渌拍睢?(類Class)、對(duì)象、消息(Message)、方法(Method)、屬性(Attribute)、封裝(Encapsulation)、繼承(Inheritance)、多態(tài)性(Polymorphism)、重載(Overloading)。第二節(jié) 對(duì)象模型一、表示類&對(duì)象的圖形符號(hào)。二、表示結(jié)構(gòu)的圖形符號(hào)。三、對(duì)象模型之例。第三節(jié) 動(dòng)態(tài)模型一、概念。二

25、、符號(hào)。第四節(jié) 功能模型一、表示方法。二、三種模型之間的關(guān)系。思考題:1.試分析傳統(tǒng)的生命周期方法學(xué)的優(yōu)缺點(diǎn)。2.什么是面向?qū)ο蠓椒▽W(xué)?這種方法有什么優(yōu)點(diǎn)?3.什么是對(duì)象?它與傳統(tǒng)的數(shù)據(jù)有何關(guān)系?有何不同?4.什么是模型?開(kāi)發(fā)軟件為什么要建立模型?5.什么是對(duì)象模型?6.什么是動(dòng)態(tài)模型?7.什么是功能模型?第七章 面向?qū)ο蠓治稣n時(shí)分配:2課時(shí)教學(xué)要求:本章介紹面向?qū)ο笏枷牒头椒ㄔ诰唧w軟件系統(tǒng)分析中的應(yīng)用,包括一些具體的操作技術(shù),如對(duì)象、屬性、聯(lián)系和行為的初選和求精等。本章講述的自動(dòng)取款機(jī)系統(tǒng)和電梯系統(tǒng)這兩個(gè)實(shí)例,應(yīng)該有助于讀者更深入、具體地理解面向?qū)ο蠓治龅姆椒ㄅc過(guò)程。教學(xué)內(nèi)容:第一節(jié) 分析過(guò)

26、程一、概述。二、三個(gè)子模型與五個(gè)層次。第二節(jié) 需求陳述一、書(shū)寫(xiě)要點(diǎn)。二、例子。第三節(jié) 建立對(duì)象模型一、確定類&對(duì)象。1. 找出候選的類&對(duì)象;2. 篩選出正確的類&對(duì)象。二、確定關(guān)聯(lián)。1. 初步確定關(guān)聯(lián);2. 篩選;3. 進(jìn)一步完善。三、劃分主題。四、確定屬性。1.分析;2.選擇。五、識(shí)別繼承關(guān)系。六、反復(fù)修改。第四節(jié) 其他過(guò)程一、建立動(dòng)態(tài)模型。二、建立功能模型。三、定義服務(wù)。第五節(jié) 面向?qū)ο蠓治鰧?shí)例思考題:1.用面向?qū)ο蠓椒ǚ治鲅芯恳粋€(gè)儲(chǔ)蓄系統(tǒng),試建立它的對(duì)象模型、動(dòng)態(tài)模型和功能模型。2.用面向?qū)ο蠓椒ǚ治鲅芯恳粋€(gè)機(jī)票預(yù)定系統(tǒng),試建立它的對(duì)象模型、動(dòng)態(tài)模型和功能模型。

27、3.用面向?qū)ο蠓椒ǚ治鲅芯恳粋€(gè)患者監(jiān)護(hù)系統(tǒng),試建立它的對(duì)象模型、動(dòng)態(tài)模型和功能模型。第八章 面向?qū)ο笤O(shè)計(jì)課時(shí)分配:2課時(shí)教學(xué)要求:本章在前面兩章關(guān)于面向?qū)ο笏枷爰捌浠緫?yīng)用的系統(tǒng)介紹的基礎(chǔ)上,考慮到面向?qū)ο蠓治雠c結(jié)構(gòu)化分析在過(guò)程、要求和原則等方面的相似性,講授從略;同時(shí)考慮到具體實(shí)現(xiàn)技術(shù)的差異,著重介紹在面向?qū)ο蠓椒ㄖ袑?shí)現(xiàn)模塊化、信息隱蔽的若干技術(shù)。教學(xué)內(nèi)容:第一節(jié) 面相對(duì)象設(shè)計(jì)方法與過(guò)程一、面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則。二、啟發(fā)規(guī)則。三、系統(tǒng)分解。四、設(shè)計(jì)問(wèn)題域子系統(tǒng)。五、設(shè)計(jì)人-機(jī)交互子系統(tǒng)。六、設(shè)計(jì)任務(wù)管理子系統(tǒng)。七、設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)。八、設(shè)計(jì)類中的服務(wù)。九、設(shè)計(jì)關(guān)聯(lián)。十、設(shè)計(jì)優(yōu)化。十一、面向?qū)?/p>

28、象分析與設(shè)計(jì)實(shí)例。第九章 計(jì)劃課時(shí)分配:4課時(shí)教學(xué)要求:軟件工程包括技術(shù)和管理兩方面的內(nèi)容,是管理與技術(shù)緊密結(jié)合的產(chǎn)物。只有在科學(xué)而嚴(yán)格的管理之下,先進(jìn)的技術(shù)方法和優(yōu)秀的軟件工具才能真正發(fā)揮出它們的威力。因此,本章教學(xué)應(yīng)使學(xué)生在認(rèn)識(shí)軟件管理特點(diǎn)的基礎(chǔ)上,掌握主流的估算和評(píng)價(jià)指標(biāo),并能據(jù)此安排和優(yōu)化軟件項(xiàng)目的進(jìn)度。教學(xué)內(nèi)容:第一節(jié) 度量軟件規(guī)模一、代碼行技術(shù)。二、功能點(diǎn)技術(shù)。功能點(diǎn)技術(shù)依據(jù)對(duì)軟件信息域特性和軟件復(fù)雜性的評(píng)估結(jié)果,估算軟件規(guī)模。1.信息域特性輸入項(xiàng)數(shù)(Inp)、輸出項(xiàng)數(shù)(Out)、查詢數(shù)(Inq),主文件數(shù)(Maf)和外部接口數(shù)(Inf)。2.計(jì)算未調(diào)整的功能點(diǎn)數(shù)UFP。3.計(jì)算技

29、術(shù)復(fù)雜性因子TCF。第二節(jié) 工作量估算一、靜態(tài)單變量模型:E=A+B×(ev)C 。二、動(dòng)態(tài)多變量模型:E=LOC×B0.333/P3×(1/t)4。三、COCOMO模型。第三節(jié) 進(jìn)度計(jì)劃一、基本原則。二、Gantt圖。三、工程網(wǎng)絡(luò)。四、估算進(jìn)度。五、關(guān)鍵路徑。六、機(jī)動(dòng)時(shí)間。思考題:分析研究一個(gè)倉(cāng)庫(kù)管理信息系統(tǒng),要求:1.用代碼行技術(shù)估算本系統(tǒng)的規(guī)模;2.用功能點(diǎn)技術(shù)估算本系統(tǒng)的規(guī)模;3.用靜態(tài)單變量模型估算開(kāi)發(fā)本系統(tǒng)所需的工作量;4.假設(shè)由一個(gè)人開(kāi)發(fā)本系統(tǒng),請(qǐng)制定進(jìn)度計(jì)劃;5.假設(shè)由兩個(gè)人開(kāi)發(fā)本系統(tǒng),請(qǐng)制訂進(jìn)度計(jì)劃。第十章 軟件工程項(xiàng)目管理組織課時(shí)分配:2課時(shí)教學(xué)要求:本章教學(xué)要具體

溫馨提示

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

評(píng)論

0/150

提交評(píng)論