軟件工程概論復(fù)習(xí)資料2_第1頁(yè)
軟件工程概論復(fù)習(xí)資料2_第2頁(yè)
軟件工程概論復(fù)習(xí)資料2_第3頁(yè)
軟件工程概論復(fù)習(xí)資料2_第4頁(yè)
軟件工程概論復(fù)習(xí)資料2_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(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é)學(xué)概述什么叫軟件件危機(jī)?軟軟件危機(jī)的的表現(xiàn)有哪哪些?產(chǎn)生生軟件危機(jī)機(jī)的原因是是什么? 答:11.軟件危危機(jī)是指在在計(jì)算機(jī)軟軟件的開(kāi)發(fā)發(fā)和維護(hù)過(guò)過(guò)程中所遇遇到的一系系列嚴(yán)重問(wèn)問(wèn)題。 2.aa對(duì)軟件件開(kāi)發(fā)成本本和進(jìn)度的的估算很不不準(zhǔn)確。b.用戶對(duì)對(duì)“已完成的的”軟件系統(tǒng)統(tǒng)不滿意的的現(xiàn)象經(jīng)常常發(fā)生。c.軟件產(chǎn)產(chǎn)品的質(zhì)量量往往靠不不住。d.軟件常常常是不可可維護(hù)的。e.軟件通通常沒(méi)有適適當(dāng)?shù)奈臋n檔資料。f.軟件成成本在計(jì)算算機(jī)系統(tǒng)總總成本中所所占的比例例逐年上升升。g.軟件開(kāi)開(kāi)發(fā)生產(chǎn)率率提高的速速度,遠(yuǎn)遠(yuǎn)遠(yuǎn)跟不上計(jì)計(jì)算機(jī)應(yīng)用用迅速普及及深入的趨趨勢(shì)。 3. 客觀:軟軟件本身特特點(diǎn)邏輯部件:缺

2、乏“可見(jiàn)性”;硬件常常有通用部部件規(guī)模龐大:管理和控控制開(kāi)發(fā)過(guò)過(guò)程困難主觀:不正正確的開(kāi)發(fā)發(fā)方法忽視需求分分析錯(cuò)誤認(rèn)為:軟件開(kāi)發(fā)發(fā)=程序編寫(xiě)寫(xiě)輕視軟件維維護(hù)什么是軟件件工程?它它有哪些本本質(zhì)特性?怎么樣用用軟件工程程消除軟件件危機(jī)? 答:1. 用工程、科學(xué)和數(shù)數(shù)學(xué)的原則則與方法研研制、維護(hù)護(hù)計(jì)算機(jī)軟軟件的有關(guān)關(guān)技術(shù)及管管理方法。 2. a. 軟件工工程關(guān)注于于大型程序序的構(gòu)造b. 軟件件工程的中中心課題是是控制復(fù)雜雜性c. 軟件件經(jīng)常變化化d. 開(kāi)發(fā)發(fā)軟件的效效率非常重重要e. 和諧諧地合作是是開(kāi)發(fā)軟件件的關(guān)鍵f. 軟件件必須有效效地支持它它的用戶g. 在軟軟件工程領(lǐng)領(lǐng)域中是由由具有一種種文化

3、背景景的人替具具有另一種種文化背景景的人創(chuàng)造造產(chǎn)品3.a 對(duì)軟件有有一個(gè)正確確的認(rèn)識(shí):軟件程序序方法規(guī)則數(shù)數(shù)據(jù)文檔檔軟件開(kāi)發(fā)應(yīng)應(yīng)該組織良良好、管理理嚴(yán)密、協(xié)協(xié)調(diào)配合推廣使用成成功的技術(shù)術(shù)和方法應(yīng)用開(kāi)發(fā)和和使用好的的軟件工具具b. 為了消除除軟件危機(jī)機(jī),既要有有技術(shù)措施施(方法和和工具),又又要有必要要的組織管管理措施。軟件工程程正是從管管理和技術(shù)術(shù)兩方面研研究如何更更好地開(kāi)發(fā)發(fā)和維護(hù)計(jì)計(jì)算機(jī)軟件件的一門(mén)新新興學(xué)科什么是軟件件工程三要要素? 它它們之間是是什么關(guān)系系?軟件工工程的基本本原理是什什么?答:1.工工具,方法法,過(guò)程 2.方法是完完成軟件開(kāi)開(kāi)發(fā)的各項(xiàng)項(xiàng)任務(wù)的技技術(shù)方法,回回答“怎樣做”

4、的問(wèn)題;工具是運(yùn)運(yùn)用方法而而提供的自自動(dòng)或半自自動(dòng)的軟件件工程支撐撐環(huán)境;過(guò)過(guò)程是為了了獲得高質(zhì)質(zhì)量的軟件件所需完成成的一系列列任務(wù)的框框架,它規(guī)規(guī)定了完成成各項(xiàng)任務(wù)務(wù)的工作步步驟。 3. (1)嚴(yán)嚴(yán)格按照計(jì)計(jì)劃進(jìn)行管管理;(2)堅(jiān)持持進(jìn)行階段段評(píng)審;(3)實(shí)行行嚴(yán)格的產(chǎn)產(chǎn)品控制;(4)采用用現(xiàn)代化的的程序設(shè)計(jì)計(jì)技術(shù);(5)結(jié)果果要能清晰晰地審查;(6)開(kāi)發(fā)發(fā)小組成員員的素質(zhì)要要好,數(shù)量量卻不易多多;(7)要承承認(rèn)不斷改改善軟件工工程實(shí)踐的的必要性。說(shuō)明軟件生生命周期的的劃分為幾幾個(gè)階段,每每個(gè)階段的的基本任務(wù)務(wù)?瀑布模模型、原型型模型、螺螺旋模型、增量模型型優(yōu)缺點(diǎn)以以及適用范范圍?答:1.(

5、11).問(wèn)題題定義:?jiǎn)枂?wèn)題定義階階段必須回回答的關(guān)鍵鍵問(wèn)題是:“要解決的的問(wèn)題是什什么”.可行性研研究:該階階段要回答答的關(guān)鍵問(wèn)問(wèn)題是:“上一個(gè)階階段所確定定的問(wèn)題是是否有行得得通的解決決辦法”。需求分析:a.這個(gè)階階段的任務(wù)務(wù)仍然不是是具體地解解決客戶的的問(wèn)題,而而是準(zhǔn)確地地回答“目標(biāo)系統(tǒng)統(tǒng)必須做什什么”這個(gè)問(wèn)題題。b.這個(gè)階階段的另外外一項(xiàng)重要要任務(wù),是是用正式文文檔準(zhǔn)確地地記錄對(duì)目目標(biāo)系統(tǒng)的的需求,這這份文檔通通常稱為規(guī)規(guī)格說(shuō)明(speccificcatioon)。概要設(shè)計(jì):a.這個(gè)階階段的基本本任務(wù)是,概概括地回答答“怎樣實(shí)現(xiàn)現(xiàn)目標(biāo)系統(tǒng)統(tǒng)?”b.概要設(shè)設(shè)計(jì)的另一一項(xiàng)主要任任務(wù)就是設(shè)設(shè)計(jì)

6、程序的的體系結(jié)構(gòu)構(gòu),也就是是確定程序序由哪些模模塊組成以以及模塊間間的關(guān)系詳細(xì)設(shè)計(jì)a.詳細(xì)設(shè)設(shè)計(jì)階段的的任務(wù)就是是把解法具具體化,也也就是回答答“應(yīng)該怎樣樣具體地實(shí)實(shí)現(xiàn)這個(gè)系系統(tǒng)”這個(gè)關(guān)鍵鍵問(wèn)題。b.這個(gè)階階段的任務(wù)務(wù)還不是編編寫(xiě)程序,而而是設(shè)計(jì)出出程序的詳詳細(xì)規(guī)格說(shuō)說(shuō)明編碼和單元元測(cè)試:這這個(gè)階段的的關(guān)鍵任務(wù)務(wù)是寫(xiě)出正正確的容易易理解、容容易維護(hù)的的程序模塊塊。綜合測(cè)試a.這個(gè)階階段的關(guān)鍵鍵任務(wù)是通通過(guò)各種類類型的測(cè)試試(及相應(yīng)的的調(diào)試)使軟件達(dá)達(dá)到預(yù)定的的要求。軟件維護(hù)a.維護(hù)階階段的關(guān)鍵鍵任務(wù)是,通通過(guò)各種必必要的維護(hù)護(hù)活動(dòng)使系系統(tǒng)持久地地滿足用戶戶的需要b.通常有有四類維護(hù)護(hù)活動(dòng):改改

7、正性維護(hù)護(hù)、適應(yīng)性性維護(hù)、完完善性維護(hù)護(hù)、預(yù)防性性維護(hù)2.(1)瀑瀑布模型: 優(yōu)點(diǎn):可可強(qiáng)迫開(kāi)發(fā)發(fā)人員采用用規(guī)范的方方法;嚴(yán)格地規(guī)定定了每個(gè)階階段必須提提交的文檔檔;要求每個(gè)階階段交出的的所有產(chǎn)品品都必須經(jīng)經(jīng)過(guò)質(zhì)量保保證小組的的仔細(xì)驗(yàn)證證。 缺點(diǎn):“瀑布模型型是由文檔檔驅(qū)動(dòng)的”,缺乏靈靈活性:僅通過(guò)靜態(tài)態(tài)的規(guī)格說(shuō)說(shuō)明很難全全面正確地地認(rèn)識(shí)動(dòng)態(tài)態(tài)的軟件產(chǎn)產(chǎn)品。要求用戶不不經(jīng)過(guò)實(shí)踐踐就提出完完整準(zhǔn)確的的需求是不不切實(shí)際的的。 適用范范圍:由于于瀑布模型型完全依賴賴于書(shū)面的的規(guī)格說(shuō)明明,很可能能導(dǎo)致最終終開(kāi)發(fā)出的的軟件不能能真正滿足足用戶的需需要。(2)原型型模型: 優(yōu)點(diǎn):克克服瀑布模模型的缺點(diǎn)點(diǎn),

8、減少由由于軟件需需求不明確確帶來(lái)的開(kāi)開(kāi)發(fā)風(fēng)險(xiǎn);有助于獲獲取用戶需需求,加強(qiáng)強(qiáng)對(duì)需求的的理解盡早發(fā)現(xiàn)軟軟件中的錯(cuò)錯(cuò)誤支持需求的的動(dòng)態(tài)變化化缺點(diǎn):所選選用的開(kāi)發(fā)發(fā)技術(shù)和工工具不一定定符合主流流的發(fā)展; 快速建立起起來(lái)的系統(tǒng)統(tǒng)結(jié)構(gòu)加上上連續(xù)的修修改可能會(huì)會(huì)導(dǎo)致產(chǎn)品品質(zhì)量低下下; 適適用范圍:適合于需需求動(dòng)態(tài)變變化,事先先難以確定定系統(tǒng)(3)增量量模型:優(yōu)點(diǎn):能在在較短的時(shí)時(shí)間內(nèi)向用用戶提交可可完成部分分功能的產(chǎn)產(chǎn)品逐步增加產(chǎn)產(chǎn)品功能可可以使用戶戶有較充裕裕的時(shí)間學(xué)學(xué)習(xí)和適應(yīng)應(yīng)缺點(diǎn):在把把每個(gè)新的的增量構(gòu)件件集成到現(xiàn)現(xiàn)有的軟件件體系結(jié)構(gòu)構(gòu)中時(shí),必必須不破壞壞原來(lái)已經(jīng)經(jīng)開(kāi)發(fā)的產(chǎn)產(chǎn)品軟件體系結(jié)結(jié)構(gòu)必須是是

9、開(kāi)放的本身具有矛矛盾性*面要求開(kāi)開(kāi)發(fā)人員把把軟件看作作一個(gè)整體體*另一方面面要求開(kāi)發(fā)發(fā)人員把軟軟件看作構(gòu)構(gòu)件序列,構(gòu)構(gòu)件間彼此此獨(dú)立(4)螺旋旋模型: 優(yōu)點(diǎn):有有助于獲取取用戶需求求,加強(qiáng)對(duì)對(duì)需求的理理解 盡早發(fā)發(fā)現(xiàn)軟件中中的錯(cuò)誤支持需求的的動(dòng)態(tài)變化化支持風(fēng)險(xiǎn)分分析,可降降低或者消消除軟件開(kāi)開(kāi)發(fā)風(fēng)險(xiǎn) 缺點(diǎn):過(guò)多的迭迭代次數(shù)會(huì)會(huì)增加開(kāi)發(fā)發(fā)成本,延延遲提交時(shí)時(shí)間只適合大型型軟件項(xiàng)目目的開(kāi)發(fā),否否則,每個(gè)個(gè)階段的風(fēng)風(fēng)險(xiǎn)分析將將占用很大大一部分資資源,增加加成本對(duì)開(kāi)發(fā)人員員的風(fēng)險(xiǎn)分分析能力是是極大的考考驗(yàn)適用范圍:適合于需需求動(dòng)態(tài)變變化,事先先難以確定定并且開(kāi)發(fā)發(fā)風(fēng)險(xiǎn)較大大的系統(tǒng)可行性分析析1. 可行

10、行性分析的的目的?.可行性研研究的步驟驟有哪些?從哪些方方面進(jìn)行可可行性研究究?答:1. 用最小的的代價(jià),在在盡可能短短的時(shí)間內(nèi)內(nèi)確定問(wèn)題題是否能夠夠解決2. (11)復(fù)查系系統(tǒng)規(guī)模和和目標(biāo) (2)研究究目前正在在使用的系系統(tǒng)(3)導(dǎo)出出新系統(tǒng)的的高層邏輯輯模型 ( 4) 進(jìn)一步定定義問(wèn)題 (5)55導(dǎo)出和評(píng)評(píng)價(jià)供選擇擇的解法(6)推薦薦行動(dòng)方針針(7) 草草擬開(kāi)發(fā)計(jì)計(jì)劃 (8)書(shū)寫(xiě)寫(xiě)文檔提交交審查3. 技術(shù)術(shù)可行性:使用現(xiàn)有有的技術(shù)能能實(shí)現(xiàn)這個(gè)個(gè)系統(tǒng)經(jīng)濟(jì)可行性性:系統(tǒng)的的經(jīng)濟(jì)效益益能否超過(guò)過(guò)開(kāi)發(fā)成本本操作可行性性:系統(tǒng)的的操作方式式在這個(gè)用用戶組織內(nèi)內(nèi)是否行得得通 常用的成成本估算方方法有哪

11、些些?答:代碼行行技術(shù),任任務(wù)分解技技術(shù),自動(dòng)動(dòng)估計(jì)成本本技術(shù) 什么是是數(shù)據(jù)流圖圖?其作用用是什么?其中的基基本符號(hào)各各表示什么么含義?畫(huà)畫(huà)數(shù)據(jù)流圖圖的原則有有哪些? 答答:1. 軟件系統(tǒng)統(tǒng)邏輯模型型的一種圖圖形。 數(shù)據(jù)流圖圖(DFDD)是一種種圖形化技技術(shù),它描描繪信息流流和數(shù)據(jù)從從輸入移動(dòng)動(dòng)到輸出的的過(guò)程中所所經(jīng)受的變變換。在數(shù)據(jù)流圖圖中沒(méi)有任任何具體的的物理部件件,它只是是描繪數(shù)據(jù)據(jù)在軟件中中流動(dòng)和被被處理的邏邏輯過(guò)程。數(shù)據(jù)流圖是是系統(tǒng)邏輯輯功能的圖圖形表示,即即使不是專專業(yè)的計(jì)算算機(jī)技術(shù)人人員也容易易理解它,因因此是分析析員與用戶戶之間極好好的通信工工具。 數(shù)據(jù)流流圖有4種種基本符號(hào)號(hào)

12、:正方形形表示數(shù)據(jù)據(jù)的源點(diǎn)或或終點(diǎn);圓圓角矩形代代表變換數(shù)數(shù)據(jù)的處理理;開(kāi)口矩矩形代表數(shù)數(shù)據(jù)存儲(chǔ);箭頭表示示數(shù)據(jù)流。 畫(huà)數(shù)據(jù)據(jù)流圖的原原則有:11 確定系系統(tǒng)的源點(diǎn)點(diǎn)和終點(diǎn)2 確定系系統(tǒng)的輸入入和輸出數(shù)數(shù)據(jù)流的關(guān)關(guān)系3 保持分分解前后輸輸入/輸出數(shù)據(jù)據(jù)流必須相相同(父子平衡衡)4 盡量簡(jiǎn)簡(jiǎn)化加工之之間的聯(lián)系系5 用“自自頂向下”方法,逐逐層畫(huà)出數(shù)數(shù)據(jù)流圖,每每張數(shù)據(jù)流流圖 中加工工(處理)的個(gè)數(shù)不不能超過(guò)99個(gè)(7加減2) 66 注意分分解速度(一般每分分解一層增增加2-77個(gè)加工)7 在畫(huà)數(shù)數(shù)據(jù)流圖時(shí)時(shí)應(yīng)避免線線條交叉,必必要時(shí)可使使用重復(fù) 的外部部項(xiàng)(源點(diǎn)或終終點(diǎn))或數(shù)據(jù)存存儲(chǔ)符號(hào)8 適當(dāng)

13、的的命名,加加工處理要要編號(hào)什么是數(shù)據(jù)據(jù)字典?其其作用是什什么?包含含哪些元素素?數(shù)據(jù)字典是是關(guān)于數(shù)據(jù)據(jù)的信息的的集合,也也就是對(duì)數(shù)數(shù)據(jù)流圖中中包含的所所有元素的的定義的集集合。數(shù)據(jù)字典的的作用是在在軟件分析析和設(shè)計(jì)的的過(guò)稱中給給人提供關(guān)關(guān)于數(shù)據(jù)的的描述信息息。 數(shù)據(jù)據(jù)字典應(yīng)該該由對(duì)下列列4類元素的的定義組成成: (1) 數(shù)據(jù)流流 (22) 數(shù)據(jù)據(jù)流分量(即數(shù)據(jù)元元素) (33) 數(shù)據(jù)據(jù)存儲(chǔ) (44) 處理理 考考察重點(diǎn):系統(tǒng)流程程圖、數(shù)據(jù)據(jù)流圖、數(shù)數(shù)據(jù)字典(應(yīng)應(yīng)用題) 第四章 總體設(shè)計(jì)計(jì)一需求分分析的定義義、任務(wù)和和目的是什什么?定義:為了了開(kāi)發(fā)出真真正滿足用用戶需求的的軟件產(chǎn)品品,首先必必

14、須知道用用戶的需求求,對(duì)需求求的深入理理解是軟件件開(kāi)發(fā)獲得得成功的前前提條件。任務(wù):基本本任務(wù)是準(zhǔn)準(zhǔn)確回答“系統(tǒng)必須須做什么”。 需求分析任任務(wù)綜述:深入描述軟軟件的功能能和性能確定軟件設(shè)設(shè)計(jì)的約束束確定軟件同同其它系統(tǒng)統(tǒng)元素的接接口細(xì)節(jié)定義軟件的的其它有效效性需求目的:為了了開(kāi)發(fā)出真真正滿足用用戶需求的的軟件產(chǎn)品品?;救稳蝿?wù)是準(zhǔn)確確回答“系統(tǒng)必須須做什么”。.獲取需求求的常用方方法 11.訪談?wù)皆L談系統(tǒng)分析員員將提出一一些事先準(zhǔn)準(zhǔn)備好的具具體問(wèn)題非正式訪談?wù)勏到y(tǒng)分析員員將提出一一些用戶可可以自由回回答的開(kāi)放放性問(wèn)題,以以鼓勵(lì)被訪訪問(wèn)人員說(shuō)說(shuō)出自己的的想法2.面向數(shù)數(shù)據(jù)流自頂頂向下求精精基

15、本思想:“自頂向下下,逐步求求精” 抽象象和分解簡(jiǎn)易的應(yīng)用用規(guī)格說(shuō)明明技術(shù)快速建立軟軟件原型需求分析的的原則必須理解并并描述問(wèn)題題的信息域域必須定義軟軟件應(yīng)完成成的功能必須描述作作為外部事事件結(jié)果的的軟件行為為必須對(duì)描述述信息、功功能和行為為的模型進(jìn)進(jìn)行分解考察重點(diǎn):狀態(tài)轉(zhuǎn)換換圖、ERR圖(應(yīng)用用題)第五章一:總體設(shè)設(shè)計(jì)的目標(biāo)標(biāo)是什么?遵循的基基本原理有有哪些?目的:概括括的說(shuō)總體體設(shè)計(jì)的目目的就是回回答“系統(tǒng)該如如何實(shí)現(xiàn)這這個(gè)問(wèn)題” 通過(guò)這這個(gè)這個(gè)階階段的工作作將劃分出出組成系統(tǒng)統(tǒng)的物理元元素-程程序、文件件數(shù)據(jù)庫(kù)、人工過(guò)程程和文檔等等,但每個(gè)個(gè)物理元素素仍然處于于黑盒級(jí),這這些黑盒子子里的

16、具體體內(nèi)容將在在以后仔細(xì)細(xì)設(shè)計(jì)?;驹恚?抽象象:抽出本本質(zhì),忽略略細(xì)節(jié),分分層理解 2模模塊化:就就是把程序序劃分成獨(dú)獨(dú)立命名且且可獨(dú)立訪訪問(wèn)的模塊塊,每個(gè)模模塊完成一一個(gè)子功能能,把這些些模塊集成成起來(lái)構(gòu)成成一個(gè)整體體,可以完完成指定的的功能滿足足用戶的需需求。 3逐步求精精:為了能能集中精力力解決主要要問(wèn)題而盡盡量推遲對(duì)對(duì)問(wèn)題細(xì)節(jié)節(jié)的考慮。 4信息隱蔽蔽和局部化化:信息隱蔽原原理應(yīng)該這樣設(shè)設(shè)計(jì)和確定定模塊,使使得一個(gè)模模塊內(nèi)包含含的信息(過(guò)過(guò)程或數(shù)據(jù)據(jù))對(duì)于不不需要這些些信息的模模塊來(lái)說(shuō),是是不能訪問(wèn)問(wèn)的局部化是把一些關(guān)關(guān)系密切的的軟件元素素物理地放放得彼此靠靠近。顯然然, 局部部化有

17、助于于實(shí)現(xiàn)信息息隱藏 5模塊獨(dú)立立性:模塊塊獨(dú)立是好好設(shè)計(jì)的關(guān)關(guān)鍵,而設(shè)設(shè)計(jì)又是決決定軟件質(zhì)質(zhì)量的關(guān)鍵鍵環(huán)節(jié) 模模塊化程度度較高的軟軟件容易編編制 獨(dú)獨(dú)立的模塊塊比較容易易維護(hù)和測(cè)測(cè)試2.什么是是耦合?有有哪幾種耦耦合?什么么是內(nèi)聚?有哪幾種種內(nèi)聚?如如何增強(qiáng)模模塊的獨(dú)立立性?耦合:是對(duì)對(duì)一個(gè)軟件件結(jié)構(gòu)內(nèi)不不同模塊之之間互連程程度的度量量耦合強(qiáng)弱取取決于模塊塊間接口復(fù)復(fù)雜程度,進(jìn)進(jìn)入或訪問(wèn)問(wèn)一個(gè)模塊塊的點(diǎn),以以及通過(guò)接接口的數(shù)據(jù)據(jù)模塊間的耦耦合程度強(qiáng)強(qiáng)烈影響系系統(tǒng)的可理理解性、可可測(cè)試性、可靠性和和可維護(hù)性性耦合表示示一個(gè)軟件件結(jié)構(gòu)內(nèi)各各個(gè)模塊之之間的互連連程度,應(yīng)應(yīng)盡量選用用松散耦合合的系統(tǒng)

18、耦合種類:公共耦合合:幾個(gè)模模塊共享一一個(gè)數(shù)據(jù)區(qū)區(qū)域 特征耦耦合:把整整個(gè)數(shù)據(jù)結(jié)結(jié)構(gòu)作為參參數(shù)傳遞而而被調(diào)用模模塊只使用用其中一部部分?jǐn)?shù)據(jù)元元素時(shí)就出出現(xiàn)了特征征耦合。 控制耦耦合:一個(gè)個(gè)模塊通過(guò)過(guò)傳遞控制制信息來(lái)控控制另一個(gè)個(gè)模塊 標(biāo)記耦耦合: 模模塊間通過(guò)過(guò)參數(shù)表傳傳遞記錄信信息,這個(gè)個(gè)記錄是某某一數(shù)據(jù)結(jié)結(jié)構(gòu)的子結(jié)結(jié)構(gòu),而不不是簡(jiǎn)單變變量 數(shù)據(jù)耦耦合: 只只有數(shù)據(jù)在在模塊之間間進(jìn)行交換換,只通過(guò)過(guò)參數(shù)傳遞遞基本類型型的數(shù)據(jù) 非直接接耦合: 兩個(gè)模塊塊之間沒(méi)有有直接關(guān)系系,它們之之間的聯(lián)系系完全是通通過(guò)主模塊塊的控制和和調(diào)用來(lái)實(shí)實(shí)現(xiàn)的非直接耦合合的模塊獨(dú)獨(dú)立性最強(qiáng)強(qiáng)內(nèi)聚:標(biāo)志志著一個(gè)模模塊內(nèi)

19、各個(gè)個(gè)元素彼此此結(jié)合的緊緊密程度內(nèi)聚有七種種,由弱到到強(qiáng)分別為為 偶偶然內(nèi)聚-邏輯內(nèi)內(nèi)聚-時(shí)時(shí)間內(nèi)聚-過(guò)程內(nèi)內(nèi)聚-通通信內(nèi)聚-順序內(nèi)內(nèi)聚-功功能內(nèi)聚增強(qiáng)模塊獨(dú)獨(dú)立性:提提高模塊的的內(nèi)聚程度度,減少耦耦合衡量模塊獨(dú)獨(dú)立性的兩兩個(gè)標(biāo)準(zhǔn)是是什么?它它們各表示示什么含義義? * 高內(nèi)聚,少少耦合;*對(duì)于一個(gè)個(gè)模塊而言言,模塊自自身的內(nèi)聚聚越強(qiáng),模模塊間的耦耦合就越小小,模塊所所具有的獨(dú)獨(dú)立性就越越好。可以以說(shuō)高內(nèi)聚聚低耦合是是我們進(jìn)行行軟件設(shè)計(jì)計(jì)的一貫原原則4.什么叫叫模塊?什什么叫模塊塊化?模塊塊設(shè)計(jì)時(shí)應(yīng)應(yīng)注意哪些些規(guī)則? 模塊:是是由邊界元元素限定的的相鄰程序序元素(例例如,數(shù)據(jù)據(jù)說(shuō)明,可可執(zhí)行的

20、語(yǔ)語(yǔ)句)的序序列,而且且有一個(gè)總總體標(biāo)識(shí)符符代表它。 模塊化:就是把程程序劃分成成獨(dú)立命名名且可獨(dú)立立訪問(wèn)的模模塊,每個(gè)個(gè)模塊完成成一個(gè)子功功能,把這這些模塊集集成起來(lái)構(gòu)構(gòu)成一個(gè)整整體,可以以完成指定定的功能滿滿足用戶的的需求。 規(guī)則: 高內(nèi)聚,少少耦合影響耦合度度的因素有有哪些?.降低耦合合度的方法法有哪些? 內(nèi)容耦合 公共共耦合 特征耦合合 控控制耦合 標(biāo)記記耦合 數(shù)據(jù)耦耦合 非非直接耦合合 -內(nèi)容方法:盡量量使用數(shù)據(jù)據(jù)耦合,少少用控制耦耦合和特征征耦合,限限制公共環(huán)環(huán)境耦合環(huán)環(huán)境的范圍圍,完全不不用內(nèi)容耦耦合。 第六六章詳細(xì)設(shè)設(shè)計(jì)1.詳細(xì)設(shè)設(shè)計(jì)的根本本目標(biāo)和任任務(wù)?詳細(xì)設(shè)計(jì)階階段的根部部

21、目標(biāo)是確確定應(yīng)該怎怎樣具體地地實(shí)現(xiàn)所要要求的系統(tǒng)統(tǒng)。詳細(xì)設(shè)計(jì)階階段的任務(wù)務(wù)是要設(shè)計(jì)計(jì)出程序的的“藍(lán)圖”。2.層次圖圖和層次方方框圖分別別適用于軟軟件工程的的那個(gè)階段段?并比較較它們的區(qū)區(qū)別?層次圖和層層次方框圖圖不同點(diǎn):層次圖的的形式和第第3.7節(jié)中中介紹的層層次方框圖圖形式相同同,但是表表現(xiàn)的內(nèi)容容卻完全不不同。層次圖描描繪的是軟軟件的結(jié)構(gòu)構(gòu),層次方方框圖描繪繪的是數(shù)據(jù)據(jù)結(jié)構(gòu)層次圖中中的一個(gè)矩矩形框代表表一個(gè)模塊塊,方框間間的連線表表示調(diào)用關(guān)關(guān)系。層次次方框圖矩矩形框代表表數(shù)據(jù),連連線表示組組成關(guān)系。層次圖很適適于在自頂頂向下設(shè)計(jì)計(jì)軟件的過(guò)過(guò)程中使用用。層次方框圖圖適用于需需求分析階階段.3

22、.Jaccksonn方法的步步驟?Jaacksoon圖的優(yōu)優(yōu)點(diǎn)是什么么?三種基基本結(jié)構(gòu)Jacksson結(jié)構(gòu)構(gòu)化設(shè)計(jì)方方法基本上上由下述五五個(gè)步驟組組成:1 分析并并確定輸入入數(shù)據(jù)和輸輸出數(shù)據(jù)的的邏輯結(jié)構(gòu)構(gòu),并用JJacksson圖描描繪這些數(shù)數(shù)據(jù)結(jié)構(gòu)2 找出輸輸入數(shù)據(jù)結(jié)結(jié)構(gòu)和輸出出數(shù)據(jù)結(jié)構(gòu)構(gòu)中有對(duì)應(yīng)應(yīng)關(guān)系的數(shù)數(shù)據(jù)單元3 從描繪繪數(shù)據(jù)結(jié)構(gòu)構(gòu)的Jaccksonn圖導(dǎo)出描描繪程序結(jié)結(jié)構(gòu)的Jaacksoon圖 - 按照在數(shù)數(shù)據(jù)結(jié)構(gòu)圖圖中的層次次,在程序序結(jié)構(gòu)圖的的相應(yīng)層次次,為每對(duì)對(duì)有對(duì)應(yīng)關(guān)關(guān)系的數(shù)據(jù)據(jù)單元畫(huà)一一個(gè)處理框框 - 根據(jù)輸入入數(shù)據(jù)結(jié)構(gòu)構(gòu)中剩余的的每個(gè)數(shù)據(jù)據(jù)單元所處處的層次,在在程序結(jié)構(gòu)構(gòu)圖

23、相應(yīng)層層次分別為為它們畫(huà)上上對(duì)應(yīng)的處處理框 - 根據(jù)輸出出數(shù)據(jù)結(jié)構(gòu)構(gòu)中剩余的的每個(gè)數(shù)據(jù)據(jù)單元所處處的層次,在在程序結(jié)構(gòu)構(gòu)圖相應(yīng)層層次分別為為它們畫(huà)上上對(duì)應(yīng)的處處理框 - 若在構(gòu)成成順序結(jié)構(gòu)構(gòu)的元素中中出現(xiàn)了重重復(fù)或選擇擇元素,需需在Jaccksonn圖中增加加一個(gè)中間間層次的處處理框。4 列出所所有操作和和條件(包括分支支條件和循循環(huán)結(jié)束條條件),并且把把它們分配配到程序結(jié)結(jié)構(gòu)圖的適適當(dāng)位置。5 用偽碼碼表示程序序Jacksson圖的的優(yōu)點(diǎn)A:便于表表示層次結(jié)結(jié)構(gòu),而且且是對(duì)結(jié)構(gòu)構(gòu)進(jìn)行自頂頂向下分解解的有力工工具;B:形象直直觀、可讀讀性好C:既能表表示數(shù)據(jù)結(jié)結(jié)構(gòu)也能表表示程序結(jié)結(jié)構(gòu)(因?yàn)闉榻Y(jié)

24、構(gòu)程序序設(shè)計(jì)也只只使用上述述三種基本本結(jié)構(gòu)。三種基本結(jié)結(jié)構(gòu)順序結(jié)構(gòu)A seq B C DA endDCBA順序結(jié)構(gòu)的的數(shù)據(jù)由一一個(gè)或多個(gè)個(gè)數(shù)據(jù)元素素組成,每每個(gè)元素按按確定次序序出現(xiàn)一次次。選擇結(jié)構(gòu) 選擇擇結(jié)構(gòu)的數(shù)數(shù)據(jù)包含兩兩個(gè)或多個(gè)個(gè)數(shù)據(jù)元素素,每次按按一定的條條件從這些些數(shù)據(jù)元素素中選擇一一個(gè)使用,具具體分為:(1)選擇擇結(jié)構(gòu),(2)可選選結(jié)構(gòu)重復(fù)結(jié)構(gòu) 重復(fù)復(fù)結(jié)構(gòu)的數(shù)數(shù)據(jù),根據(jù)據(jù)使用時(shí)的的條件由一一個(gè)數(shù)據(jù)元元素出現(xiàn)零零次或多次次構(gòu)成。4.程序復(fù)復(fù)雜程度的的度量方法法?環(huán)形復(fù)復(fù)雜度的計(jì)計(jì)算方法?McCabbe方法和和Halssteadd方法McCabbe方法根根據(jù)程序控控制流的復(fù)復(fù)雜程度定定

25、量度量程程序的復(fù)雜雜程度,這這樣度量出出的結(jié)果稱稱為程序的的環(huán)形復(fù)雜雜度。環(huán)形復(fù)雜度度的計(jì)算方方法:可以用下述述3種方法中中的任何一一種來(lái)計(jì)算算環(huán)形復(fù)雜雜度。(1)流圖圖中的區(qū)域域數(shù)等于環(huán)環(huán)形復(fù)雜度度。 (2)流圖圖G的環(huán)形復(fù)復(fù)雜度V(G)E-N+2,其中中,E是流圖中中邊的條數(shù)數(shù),N是結(jié)點(diǎn)數(shù)數(shù)。(3)流圖圖G的環(huán)形復(fù)復(fù)雜度V(G)P+1,其其中,戶是是流圖中判判定結(jié)點(diǎn)的的數(shù)目。例如,使用用上述任何何一種方法法,都可以以計(jì)算出圖圖616所示流流圖的環(huán)形形復(fù)雜度為為4。5. 說(shuō)明明結(jié)構(gòu)化程程序設(shè)計(jì)的的主要思想想是什么?結(jié)構(gòu)化設(shè)設(shè)計(jì)方法的的步驟是什什么?結(jié)構(gòu)程序設(shè)設(shè)計(jì)的經(jīng)典典定義如下下所述:“如果

26、一個(gè)個(gè)程序的代代碼塊僅僅僅通過(guò)順序序、選擇和和循環(huán)這33種基本控控制結(jié)構(gòu)進(jìn)進(jìn)行連接,并并且每個(gè)代代碼塊只有有一個(gè)入口口和一個(gè)出出口,則稱稱這個(gè)程序序是結(jié)構(gòu)化化的?!苯Y(jié)構(gòu)化設(shè)計(jì)計(jì)的步驟如如下:評(píng)審和細(xì)細(xì)化數(shù)據(jù)流流圖;確定數(shù)據(jù)據(jù)流圖的類類型;把數(shù)據(jù)流流圖映射到到軟件模塊塊結(jié)構(gòu),設(shè)設(shè)計(jì)出模塊塊結(jié)構(gòu)的上上層;基于數(shù)據(jù)據(jù)流圖逐步步分解高層層模塊,設(shè)設(shè)計(jì)中下層層模塊;對(duì)模塊結(jié)結(jié)構(gòu)進(jìn)行優(yōu)優(yōu)化,得到到更為合理理的軟件結(jié)結(jié)構(gòu);描述模塊塊接口。掌握過(guò)程設(shè)設(shè)計(jì)工具:程序流程程圖,N-S圖,PPAD圖,判定樹(shù),判定表(應(yīng)用題)程序流程圖圖也稱為程程序框圖,程程序流程圖圖使用五種種基本控制制結(jié)構(gòu)是:盒圖 (NN-S圖)

27、基本符號(hào)PAD圖第7章實(shí)現(xiàn)現(xiàn)一程序設(shè)設(shè)計(jì)語(yǔ)言的的選擇、編編碼風(fēng)格(選選擇)程序設(shè)計(jì)語(yǔ)語(yǔ)言的選擇擇: 1.系系統(tǒng)用戶的的要求: 如果所開(kāi)開(kāi)發(fā)的系統(tǒng)統(tǒng)由用戶負(fù)負(fù)責(zé)維護(hù),用用戶通常要要求用他們們熟悉的語(yǔ)語(yǔ)言書(shū)寫(xiě)程程序. 2.可可以使用的的編譯程序序:運(yùn)行目目標(biāo)系統(tǒng)的的環(huán)境中可可以提供的的編譯程序序往往限制制了可以選選用的語(yǔ)言言的范圍. 3.可可以得到的的軟件工具具:如果某某種語(yǔ)言有有支持程序序開(kāi)發(fā)的軟軟件工具可可以利用,則則目標(biāo)系統(tǒng)統(tǒng)的實(shí)現(xiàn)和和驗(yàn)證都變變得比較容容易 4.工工程規(guī)模:如果工程程規(guī)模很龐龐大,現(xiàn)有有的語(yǔ)言又又不完全適適用,那么么設(shè)計(jì)并實(shí)實(shí)現(xiàn)一種供供這個(gè)工程程項(xiàng)目專用用的程序設(shè)設(shè)計(jì)語(yǔ)言,

28、可可能是一個(gè)個(gè)正確的選選擇 5.程程序員的知知識(shí):如果果和其他標(biāo)標(biāo)準(zhǔn)不矛盾盾,那么應(yīng)應(yīng)該選擇一一種已經(jīng)為為程序員所所熟悉的語(yǔ)語(yǔ)言 6. 軟件可移移植性要求求:如果目目標(biāo)系統(tǒng)將將在幾臺(tái)不不同的計(jì)算算機(jī)上運(yùn)行行,或者預(yù)預(yù)期的使用用壽命很長(zhǎng)長(zhǎng),那么選選擇一種標(biāo)標(biāo)準(zhǔn)化程度度高、程序序可移植性性好的語(yǔ)言言就是很重重要的 7.軟軟件的應(yīng)用用領(lǐng)域:FORTRRAN語(yǔ)言言特別適合合于工程和和科學(xué)計(jì)算算COBOLL語(yǔ)言適合合于商業(yè)領(lǐng)領(lǐng)域應(yīng)用C語(yǔ)言和AAda語(yǔ)言言適用于系系統(tǒng)和實(shí)時(shí)時(shí)應(yīng)用領(lǐng)域域LISP語(yǔ)語(yǔ)言適用于于組合問(wèn)題題領(lǐng)域PROLOOG語(yǔ)言適適于表達(dá)知知識(shí)和推理理編碼風(fēng)格:源程序代碼碼的邏輯簡(jiǎn)簡(jiǎn)明清晰、易讀

29、易懂懂軟件測(cè)試的的定義、目目的?軟件件測(cè)試的原原則?簡(jiǎn)述述軟件測(cè)試試的各個(gè)步步驟的主要要任務(wù)?定義:為了了發(fā)現(xiàn)程序序中的錯(cuò)誤誤而執(zhí)行程程序的過(guò)程程。目的:從用用戶的角度度出發(fā),普普遍希望通通過(guò)軟件測(cè)測(cè)試暴露軟軟件中隱藏藏的錯(cuò)誤和和缺陷,以以考慮是否否可接受該該產(chǎn)品。從軟件開(kāi)發(fā)發(fā)者的角度度出發(fā),則則希望測(cè)試試成為表明明軟件產(chǎn)品品中不存在在錯(cuò)誤的過(guò)過(guò)程,驗(yàn)證證該軟件已已正確地實(shí)實(shí)現(xiàn)了用戶戶的要求,確確立人們對(duì)對(duì)軟件質(zhì)量量的信心。測(cè)試階段的的根本目標(biāo)標(biāo)是盡可能能多地發(fā)現(xiàn)現(xiàn)并排除軟軟件中潛藏藏的錯(cuò)誤,最最終把一個(gè)個(gè)高質(zhì)量的的軟件系統(tǒng)統(tǒng)交給用戶戶使用原則:1.所有測(cè)測(cè)試都應(yīng)該該能追溯到到用戶需求求2.

30、應(yīng)該該在測(cè)試開(kāi)開(kāi)始之前就就制定出測(cè)測(cè)試計(jì)劃:1.完成成了需求模模型就可以以著手制定定測(cè)試計(jì)劃劃2.在建建立了設(shè)計(jì)計(jì)模型后就就可以立即即開(kāi)始設(shè)計(jì)計(jì)詳細(xì)的測(cè)測(cè)試方案3.測(cè)試發(fā)發(fā)現(xiàn)的錯(cuò)誤誤中的800很可能能是由程序序中20的模塊造造成的。問(wèn)問(wèn)題是怎樣樣找出這些些可疑的模模塊并徹底底地測(cè)試它它們4.應(yīng)該從從“小規(guī)?!睖y(cè)試開(kāi)始始,并逐步步進(jìn)行“大規(guī)?!睖y(cè)試通常,首先先重點(diǎn)測(cè)試試單個(gè)程序序模塊,然然后把測(cè)試試重點(diǎn)轉(zhuǎn)向向在集成的的模塊簇中中尋找錯(cuò)誤誤,最后在在整個(gè)系統(tǒng)統(tǒng)中尋找錯(cuò)錯(cuò)誤5.窮舉測(cè)測(cè)試是不可可能的,所所謂窮舉測(cè)測(cè)試就是把把程序所有有可能的執(zhí)執(zhí)行路徑都都檢查一遍遍的測(cè)試6.為了達(dá)達(dá)到最佳的的測(cè)試效果

31、果,應(yīng)該由由獨(dú)立的第第三方從事事測(cè)試工作作7.充分注注意測(cè)試中中的群集現(xiàn)現(xiàn)象。經(jīng)驗(yàn)驗(yàn)表明,測(cè)測(cè)試后程序序中殘存的的錯(cuò)誤數(shù)目目與該程序序中已發(fā)現(xiàn)現(xiàn)的錯(cuò)誤數(shù)數(shù)目成正比比。8.嚴(yán)格執(zhí)執(zhí)行測(cè)試計(jì)計(jì)劃,排除除測(cè)試的隨隨意性。9.妥善保保存測(cè)試計(jì)計(jì)劃,測(cè)試試用例,出出錯(cuò)統(tǒng)計(jì)和和最終分析析報(bào)告,為為維護(hù)提供供方便。步驟:1.模塊測(cè)試試模塊測(cè)試的的目的是保保證每個(gè)模模塊作為一一個(gè)單元能能正確運(yùn)行行模塊測(cè)試通通常又稱為為單元測(cè)試試在這個(gè)測(cè)試試步驟中所所發(fā)現(xiàn)的往往往是編碼碼和詳細(xì)設(shè)設(shè)計(jì)的錯(cuò)誤誤2子系統(tǒng)統(tǒng)測(cè)試子系統(tǒng)測(cè)試試是把經(jīng)過(guò)過(guò)單元測(cè)試試的模塊放放在一起形形成一個(gè)子子系統(tǒng)來(lái)測(cè)測(cè)試模塊相互間間的協(xié)調(diào)和和通信是這這個(gè)

32、測(cè)試過(guò)過(guò)程中的主主要問(wèn)題這個(gè)步驟著著重測(cè)試模模塊的接口口3.系統(tǒng)測(cè)測(cè)試把經(jīng)過(guò)測(cè)試試的子系統(tǒng)統(tǒng)裝配成一一個(gè)完整的的系統(tǒng)來(lái)測(cè)測(cè)試發(fā)現(xiàn)的往往往是軟件設(shè)設(shè)計(jì)中的錯(cuò)錯(cuò)誤,也可可能發(fā)現(xiàn)需需求說(shuō)明中中的錯(cuò)誤兼有檢測(cè)和和組裝兩重重含義,通通常稱為集集成測(cè)試4驗(yàn)收測(cè)測(cè)試(驗(yàn)收收測(cè)試也稱稱為確認(rèn)測(cè)測(cè)試)驗(yàn)收測(cè)試把把軟件系統(tǒng)統(tǒng)作為單一一的實(shí)體進(jìn)進(jìn)行測(cè)試,測(cè)測(cè)試內(nèi)容與與系統(tǒng)測(cè)試試基本類似似,但是它它是在用戶戶積極參與與下進(jìn)行的的,而且可可能主要使使用實(shí)際數(shù)數(shù)據(jù)(系統(tǒng)統(tǒng)將來(lái)要處處理的信息息)進(jìn)行測(cè)測(cè)試驗(yàn)收測(cè)試的的目的是驗(yàn)驗(yàn)證系統(tǒng)確確實(shí)能夠滿滿足用戶的的需要,在在這個(gè)測(cè)試試步驟中發(fā)發(fā)現(xiàn)的往往往是系統(tǒng)需需求說(shuō)明書(shū)書(shū)中的錯(cuò)誤

33、誤5.平行運(yùn)運(yùn)行所謂平行運(yùn)運(yùn)行就是同同時(shí)運(yùn)行新新開(kāi)發(fā)出來(lái)來(lái)的系統(tǒng)和和將被它取取代的舊系系統(tǒng),以便便比較新舊舊兩個(gè)系統(tǒng)統(tǒng)的處理結(jié)結(jié)果。這樣樣做的具體體目的有如如下幾點(diǎn):(1)可以以在準(zhǔn)生產(chǎn)產(chǎn)環(huán)境中運(yùn)運(yùn)行新系統(tǒng)統(tǒng)而又不冒冒風(fēng)險(xiǎn)(2)用戶戶能有一段段熟悉新系系統(tǒng)的時(shí)間間(3)可以以驗(yàn)證用戶戶指南和使使用手冊(cè)之之類的文檔檔(4)能夠夠以準(zhǔn)生產(chǎn)產(chǎn)模式對(duì)新新系統(tǒng)進(jìn)行行全負(fù)荷測(cè)測(cè)試,可以以用測(cè)試結(jié)結(jié)果驗(yàn)證性性能指標(biāo)集成測(cè)試中中常使用自自頂向下集集成和自底底向上集成成兩種策略略,比較它它們的區(qū)別別?自頂向下 : 可在在測(cè)試早期期實(shí)現(xiàn)并驗(yàn)驗(yàn)證系統(tǒng)主主要功能且且不需驅(qū)動(dòng)動(dòng)模塊,但但是需樁模模塊自底向上: 設(shè)計(jì)測(cè)測(cè)試用例容容易且不需需樁模塊 但是只有有到最后程程序才能作作為一個(gè)整整體 。四黑盒測(cè)測(cè)試的優(yōu)缺缺點(diǎn)?白盒盒測(cè)

溫馨提示

  • 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)論