




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程學(xué)學(xué)概述什么叫軟件件危機(jī)?軟軟件危機(jī)的的表現(xiàn)有哪哪些?產(chǎn)生生軟件危機(jī)機(jī)的原因是是什么? 答:11.軟件危危機(jī)是指在在計算機(jī)軟軟件的開發(fā)發(fā)和維護(hù)過過程中所遇遇到的一系系列嚴(yán)重問問題。 2.aa對軟件件開發(fā)成本本和進(jìn)度的的估算很不不準(zhǔn)確。b.用戶對對“已完成的的”軟件系統(tǒng)統(tǒng)不滿意的的現(xiàn)象經(jīng)常常發(fā)生。c.軟件產(chǎn)產(chǎn)品的質(zhì)量量往往靠不不住。d.軟件常常常是不可可維護(hù)的。e.軟件通通常沒有適適當(dāng)?shù)奈臋n檔資料。f.軟件成成本在計算算機(jī)系統(tǒng)總總成本中所所占的比例例逐年上升升。g.軟件開開發(fā)生產(chǎn)率率提高的速速度,遠(yuǎn)遠(yuǎn)遠(yuǎn)跟不上計計算機(jī)應(yīng)用用迅速普及及深入的趨趨勢。 3. 客觀:軟軟件本身特特點(diǎn)邏輯部件:缺
2、乏“可見性”;硬件常常有通用部部件規(guī)模龐大:管理和控控制開發(fā)過過程困難主觀:不正正確的開發(fā)發(fā)方法忽視需求分分析錯誤認(rèn)為:軟件開發(fā)發(fā)=程序編寫寫輕視軟件維維護(hù)什么是軟件件工程?它它有哪些本本質(zhì)特性?怎么樣用用軟件工程程消除軟件件危機(jī)? 答:1. 用工程、科學(xué)和數(shù)數(shù)學(xué)的原則則與方法研研制、維護(hù)護(hù)計算機(jī)軟軟件的有關(guān)關(guān)技術(shù)及管管理方法。 2. a. 軟件工工程關(guān)注于于大型程序序的構(gòu)造b. 軟件件工程的中中心課題是是控制復(fù)雜雜性c. 軟件件經(jīng)常變化化d. 開發(fā)發(fā)軟件的效效率非常重重要e. 和諧諧地合作是是開發(fā)軟件件的關(guān)鍵f. 軟件件必須有效效地支持它它的用戶g. 在軟軟件工程領(lǐng)領(lǐng)域中是由由具有一種種文化
3、背景景的人替具具有另一種種文化背景景的人創(chuàng)造造產(chǎn)品3.a 對軟件有有一個正確確的認(rèn)識:軟件程序序方法規(guī)則數(shù)數(shù)據(jù)文檔檔軟件開發(fā)應(yīng)應(yīng)該組織良良好、管理理嚴(yán)密、協(xié)協(xié)調(diào)配合推廣使用成成功的技術(shù)術(shù)和方法應(yīng)用開發(fā)和和使用好的的軟件工具具b. 為了消除除軟件危機(jī)機(jī),既要有有技術(shù)措施施(方法和和工具),又又要有必要要的組織管管理措施。軟件工程程正是從管管理和技術(shù)術(shù)兩方面研研究如何更更好地開發(fā)發(fā)和維護(hù)計計算機(jī)軟件件的一門新新興學(xué)科什么是軟件件工程三要要素? 它它們之間是是什么關(guān)系系?軟件工工程的基本本原理是什什么?答:1.工工具,方法法,過程 2.方法是完完成軟件開開發(fā)的各項項任務(wù)的技技術(shù)方法,回回答“怎樣做”
4、的問題;工具是運(yùn)運(yùn)用方法而而提供的自自動或半自自動的軟件件工程支撐撐環(huán)境;過過程是為了了獲得高質(zhì)質(zhì)量的軟件件所需完成成的一系列列任務(wù)的框框架,它規(guī)規(guī)定了完成成各項任務(wù)務(wù)的工作步步驟。 3. (1)嚴(yán)嚴(yán)格按照計計劃進(jìn)行管管理;(2)堅持持進(jìn)行階段段評審;(3)實(shí)行行嚴(yán)格的產(chǎn)產(chǎn)品控制;(4)采用用現(xiàn)代化的的程序設(shè)計計技術(shù);(5)結(jié)果果要能清晰晰地審查;(6)開發(fā)發(fā)小組成員員的素質(zhì)要要好,數(shù)量量卻不易多多;(7)要承承認(rèn)不斷改改善軟件工工程實(shí)踐的的必要性。說明軟件生生命周期的的劃分為幾幾個階段,每每個階段的的基本任務(wù)務(wù)?瀑布模模型、原型型模型、螺螺旋模型、增量模型型優(yōu)缺點(diǎn)以以及適用范范圍?答:1.(
5、11).問題題定義:問問題定義階階段必須回回答的關(guān)鍵鍵問題是:“要解決的的問題是什什么”.可行性研研究:該階階段要回答答的關(guān)鍵問問題是:“上一個階階段所確定定的問題是是否有行得得通的解決決辦法”。需求分析:a.這個階階段的任務(wù)務(wù)仍然不是是具體地解解決客戶的的問題,而而是準(zhǔn)確地地回答“目標(biāo)系統(tǒng)統(tǒng)必須做什什么”這個問題題。b.這個階階段的另外外一項重要要任務(wù),是是用正式文文檔準(zhǔn)確地地記錄對目目標(biāo)系統(tǒng)的的需求,這這份文檔通通常稱為規(guī)規(guī)格說明(speccificcatioon)。概要設(shè)計:a.這個階階段的基本本任務(wù)是,概概括地回答答“怎樣實(shí)現(xiàn)現(xiàn)目標(biāo)系統(tǒng)統(tǒng)?”b.概要設(shè)設(shè)計的另一一項主要任任務(wù)就是設(shè)設(shè)計
6、程序的的體系結(jié)構(gòu)構(gòu),也就是是確定程序序由哪些模模塊組成以以及模塊間間的關(guān)系詳細(xì)設(shè)計a.詳細(xì)設(shè)設(shè)計階段的的任務(wù)就是是把解法具具體化,也也就是回答答“應(yīng)該怎樣樣具體地實(shí)實(shí)現(xiàn)這個系系統(tǒng)”這個關(guān)鍵鍵問題。b.這個階階段的任務(wù)務(wù)還不是編編寫程序,而而是設(shè)計出出程序的詳詳細(xì)規(guī)格說說明編碼和單元元測試:這這個階段的的關(guān)鍵任務(wù)務(wù)是寫出正正確的容易易理解、容容易維護(hù)的的程序模塊塊。綜合測試a.這個階階段的關(guān)鍵鍵任務(wù)是通通過各種類類型的測試試(及相應(yīng)的的調(diào)試)使軟件達(dá)達(dá)到預(yù)定的的要求。軟件維護(hù)a.維護(hù)階階段的關(guān)鍵鍵任務(wù)是,通通過各種必必要的維護(hù)護(hù)活動使系系統(tǒng)持久地地滿足用戶戶的需要b.通常有有四類維護(hù)護(hù)活動:改改
7、正性維護(hù)護(hù)、適應(yīng)性性維護(hù)、完完善性維護(hù)護(hù)、預(yù)防性性維護(hù)2.(1)瀑瀑布模型: 優(yōu)點(diǎn):可可強(qiáng)迫開發(fā)發(fā)人員采用用規(guī)范的方方法;嚴(yán)格地規(guī)定定了每個階階段必須提提交的文檔檔;要求每個階階段交出的的所有產(chǎn)品品都必須經(jīng)經(jīng)過質(zhì)量保保證小組的的仔細(xì)驗證證。 缺點(diǎn):“瀑布模型型是由文檔檔驅(qū)動的”,缺乏靈靈活性:僅通過靜態(tài)態(tài)的規(guī)格說說明很難全全面正確地地認(rèn)識動態(tài)態(tài)的軟件產(chǎn)產(chǎn)品。要求用戶不不經(jīng)過實(shí)踐踐就提出完完整準(zhǔn)確的的需求是不不切實(shí)際的的。 適用范范圍:由于于瀑布模型型完全依賴賴于書面的的規(guī)格說明明,很可能能導(dǎo)致最終終開發(fā)出的的軟件不能能真正滿足足用戶的需需要。(2)原型型模型: 優(yōu)點(diǎn):克克服瀑布模模型的缺點(diǎn)點(diǎn),
8、減少由由于軟件需需求不明確確帶來的開開發(fā)風(fēng)險;有助于獲獲取用戶需需求,加強(qiáng)強(qiáng)對需求的的理解盡早發(fā)現(xiàn)軟軟件中的錯錯誤支持需求的的動態(tài)變化化缺點(diǎn):所選選用的開發(fā)發(fā)技術(shù)和工工具不一定定符合主流流的發(fā)展; 快速建立起起來的系統(tǒng)統(tǒng)結(jié)構(gòu)加上上連續(xù)的修修改可能會會導(dǎo)致產(chǎn)品品質(zhì)量低下下; 適適用范圍:適合于需需求動態(tài)變變化,事先先難以確定定系統(tǒng)(3)增量量模型:優(yōu)點(diǎn):能在在較短的時時間內(nèi)向用用戶提交可可完成部分分功能的產(chǎn)產(chǎn)品逐步增加產(chǎn)產(chǎn)品功能可可以使用戶戶有較充裕裕的時間學(xué)學(xué)習(xí)和適應(yīng)應(yīng)缺點(diǎn):在把把每個新的的增量構(gòu)件件集成到現(xiàn)現(xiàn)有的軟件件體系結(jié)構(gòu)構(gòu)中時,必必須不破壞壞原來已經(jīng)經(jīng)開發(fā)的產(chǎn)產(chǎn)品軟件體系結(jié)結(jié)構(gòu)必須是是
9、開放的本身具有矛矛盾性*面要求開開發(fā)人員把把軟件看作作一個整體體*另一方面面要求開發(fā)發(fā)人員把軟軟件看作構(gòu)構(gòu)件序列,構(gòu)構(gòu)件間彼此此獨(dú)立(4)螺旋旋模型: 優(yōu)點(diǎn):有有助于獲取取用戶需求求,加強(qiáng)對對需求的理理解 盡早發(fā)發(fā)現(xiàn)軟件中中的錯誤支持需求的的動態(tài)變化化支持風(fēng)險分分析,可降降低或者消消除軟件開開發(fā)風(fēng)險 缺點(diǎn):過多的迭迭代次數(shù)會會增加開發(fā)發(fā)成本,延延遲提交時時間只適合大型型軟件項目目的開發(fā),否否則,每個個階段的風(fēng)風(fēng)險分析將將占用很大大一部分資資源,增加加成本對開發(fā)人員員的風(fēng)險分分析能力是是極大的考考驗適用范圍:適合于需需求動態(tài)變變化,事先先難以確定定并且開發(fā)發(fā)風(fēng)險較大大的系統(tǒng)可行性分析析1. 可行
10、行性分析的的目的?.可行性研研究的步驟驟有哪些?從哪些方方面進(jìn)行可可行性研究究?答:1. 用最小的的代價,在在盡可能短短的時間內(nèi)內(nèi)確定問題題是否能夠夠解決2. (11)復(fù)查系系統(tǒng)規(guī)模和和目標(biāo) (2)研究究目前正在在使用的系系統(tǒng)(3)導(dǎo)出出新系統(tǒng)的的高層邏輯輯模型 ( 4) 進(jìn)一步定定義問題 (5)55導(dǎo)出和評評價供選擇擇的解法(6)推薦薦行動方針針(7) 草草擬開發(fā)計計劃 (8)書寫寫文檔提交交審查3. 技術(shù)術(shù)可行性:使用現(xiàn)有有的技術(shù)能能實(shí)現(xiàn)這個個系統(tǒng)經(jīng)濟(jì)可行性性:系統(tǒng)的的經(jīng)濟(jì)效益益能否超過過開發(fā)成本本操作可行性性:系統(tǒng)的的操作方式式在這個用用戶組織內(nèi)內(nèi)是否行得得通 常用的成成本估算方方法有哪
11、些些?答:代碼行行技術(shù),任任務(wù)分解技技術(shù),自動動估計成本本技術(shù) 什么是是數(shù)據(jù)流圖圖?其作用用是什么?其中的基基本符號各各表示什么么含義?畫畫數(shù)據(jù)流圖圖的原則有有哪些? 答答:1. 軟件系統(tǒng)統(tǒng)邏輯模型型的一種圖圖形。 數(shù)據(jù)流圖圖(DFDD)是一種種圖形化技技術(shù),它描描繪信息流流和數(shù)據(jù)從從輸入移動動到輸出的的過程中所所經(jīng)受的變變換。在數(shù)據(jù)流圖圖中沒有任任何具體的的物理部件件,它只是是描繪數(shù)據(jù)據(jù)在軟件中中流動和被被處理的邏邏輯過程。數(shù)據(jù)流圖是是系統(tǒng)邏輯輯功能的圖圖形表示,即即使不是專專業(yè)的計算算機(jī)技術(shù)人人員也容易易理解它,因因此是分析析員與用戶戶之間極好好的通信工工具。 數(shù)據(jù)流流圖有4種種基本符號號
12、:正方形形表示數(shù)據(jù)據(jù)的源點(diǎn)或或終點(diǎn);圓圓角矩形代代表變換數(shù)數(shù)據(jù)的處理理;開口矩矩形代表數(shù)數(shù)據(jù)存儲;箭頭表示示數(shù)據(jù)流。 畫數(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 盡量簡簡化加工之之間的聯(lián)系系5 用“自自頂向下”方法,逐逐層畫出數(shù)數(shù)據(jù)流圖,每每張數(shù)據(jù)流流圖 中加工工(處理)的個數(shù)不不能超過99個(7加減2) 66 注意分分解速度(一般每分分解一層增增加2-77個加工)7 在畫數(shù)數(shù)據(jù)流圖時時應(yīng)避免線線條交叉,必必要時可使使用重復(fù) 的外部部項(源點(diǎn)或終終點(diǎn))或數(shù)據(jù)存存儲符號8 適當(dāng)
13、的的命名,加加工處理要要編號什么是數(shù)據(jù)據(jù)字典?其其作用是什什么?包含含哪些元素素?數(shù)據(jù)字典是是關(guān)于數(shù)據(jù)據(jù)的信息的的集合,也也就是對數(shù)數(shù)據(jù)流圖中中包含的所所有元素的的定義的集集合。數(shù)據(jù)字典的的作用是在在軟件分析析和設(shè)計的的過稱中給給人提供關(guān)關(guān)于數(shù)據(jù)的的描述信息息。 數(shù)據(jù)據(jù)字典應(yīng)該該由對下列列4類元素的的定義組成成: (1) 數(shù)據(jù)流流 (22) 數(shù)據(jù)據(jù)流分量(即數(shù)據(jù)元元素) (33) 數(shù)據(jù)據(jù)存儲 (44) 處理理 考考察重點(diǎn):系統(tǒng)流程程圖、數(shù)據(jù)據(jù)流圖、數(shù)數(shù)據(jù)字典(應(yīng)應(yīng)用題) 第四章 總體設(shè)計計一需求分分析的定義義、任務(wù)和和目的是什什么?定義:為了了開發(fā)出真真正滿足用用戶需求的的軟件產(chǎn)品品,首先必必
14、須知道用用戶的需求求,對需求求的深入理理解是軟件件開發(fā)獲得得成功的前前提條件。任務(wù):基本本任務(wù)是準(zhǔn)準(zhǔn)確回答“系統(tǒng)必須須做什么”。 需求分析任任務(wù)綜述:深入描述軟軟件的功能能和性能確定軟件設(shè)設(shè)計的約束束確定軟件同同其它系統(tǒng)統(tǒng)元素的接接口細(xì)節(jié)定義軟件的的其它有效效性需求目的:為了了開發(fā)出真真正滿足用用戶需求的的軟件產(chǎn)品品。基本任任務(wù)是準(zhǔn)確確回答“系統(tǒng)必須須做什么”。.獲取需求求的常用方方法 11.訪談?wù)皆L談系統(tǒng)分析員員將提出一一些事先準(zhǔn)準(zhǔn)備好的具具體問題非正式訪談?wù)勏到y(tǒng)分析員員將提出一一些用戶可可以自由回回答的開放放性問題,以以鼓勵被訪訪問人員說說出自己的的想法2.面向數(shù)數(shù)據(jù)流自頂頂向下求精精基
15、本思想:“自頂向下下,逐步求求精” 抽象象和分解簡易的應(yīng)用用規(guī)格說明明技術(shù)快速建立軟軟件原型需求分析的的原則必須理解并并描述問題題的信息域域必須定義軟軟件應(yīng)完成成的功能必須描述作作為外部事事件結(jié)果的的軟件行為為必須對描述述信息、功功能和行為為的模型進(jìn)進(jìn)行分解考察重點(diǎn):狀態(tài)轉(zhuǎn)換換圖、ERR圖(應(yīng)用用題)第五章一:總體設(shè)設(shè)計的目標(biāo)標(biāo)是什么?遵循的基基本原理有有哪些?目的:概括括的說總體體設(shè)計的目目的就是回回答“系統(tǒng)該如如何實(shí)現(xiàn)這這個問題” 通過這這個這個階階段的工作作將劃分出出組成系統(tǒng)統(tǒng)的物理元元素-程程序、文件件數(shù)據(jù)庫、人工過程程和文檔等等,但每個個物理元素素仍然處于于黑盒級,這這些黑盒子子里的
16、具體體內(nèi)容將在在以后仔細(xì)細(xì)設(shè)計?;驹恚?抽象象:抽出本本質(zhì),忽略略細(xì)節(jié),分分層理解 2模模塊化:就就是把程序序劃分成獨(dú)獨(dú)立命名且且可獨(dú)立訪訪問的模塊塊,每個模模塊完成一一個子功能能,把這些些模塊集成成起來構(gòu)成成一個整體體,可以完完成指定的的功能滿足足用戶的需需求。 3逐步求精精:為了能能集中精力力解決主要要問題而盡盡量推遲對對問題細(xì)節(jié)節(jié)的考慮。 4信息隱蔽蔽和局部化化:信息隱蔽原原理應(yīng)該這樣設(shè)設(shè)計和確定定模塊,使使得一個模模塊內(nèi)包含含的信息(過過程或數(shù)據(jù)據(jù))對于不不需要這些些信息的模模塊來說,是是不能訪問問的局部化是把一些關(guān)關(guān)系密切的的軟件元素素物理地放放得彼此靠靠近。顯然然, 局部部化有
17、助于于實(shí)現(xiàn)信息息隱藏 5模塊獨(dú)立立性:模塊塊獨(dú)立是好好設(shè)計的關(guān)關(guān)鍵,而設(shè)設(shè)計又是決決定軟件質(zhì)質(zhì)量的關(guān)鍵鍵環(huán)節(jié) 模模塊化程度度較高的軟軟件容易編編制 獨(dú)獨(dú)立的模塊塊比較容易易維護(hù)和測測試2.什么是是耦合?有有哪幾種耦耦合?什么么是內(nèi)聚?有哪幾種種內(nèi)聚?如如何增強(qiáng)模模塊的獨(dú)立立性?耦合:是對對一個軟件件結(jié)構(gòu)內(nèi)不不同模塊之之間互連程程度的度量量耦合強(qiáng)弱取取決于模塊塊間接口復(fù)復(fù)雜程度,進(jìn)進(jìn)入或訪問問一個模塊塊的點(diǎn),以以及通過接接口的數(shù)據(jù)據(jù)模塊間的耦耦合程度強(qiáng)強(qiáng)烈影響系系統(tǒng)的可理理解性、可可測試性、可靠性和和可維護(hù)性性耦合表示示一個軟件件結(jié)構(gòu)內(nèi)各各個模塊之之間的互連連程度,應(yīng)應(yīng)盡量選用用松散耦合合的系統(tǒng)
18、耦合種類:公共耦合合:幾個模模塊共享一一個數(shù)據(jù)區(qū)區(qū)域 特征耦耦合:把整整個數(shù)據(jù)結(jié)結(jié)構(gòu)作為參參數(shù)傳遞而而被調(diào)用模模塊只使用用其中一部部分?jǐn)?shù)據(jù)元元素時就出出現(xiàn)了特征征耦合。 控制耦耦合:一個個模塊通過過傳遞控制制信息來控控制另一個個模塊 標(biāo)記耦耦合: 模模塊間通過過參數(shù)表傳傳遞記錄信信息,這個個記錄是某某一數(shù)據(jù)結(jié)結(jié)構(gòu)的子結(jié)結(jié)構(gòu),而不不是簡單變變量 數(shù)據(jù)耦耦合: 只只有數(shù)據(jù)在在模塊之間間進(jìn)行交換換,只通過過參數(shù)傳遞遞基本類型型的數(shù)據(jù) 非直接接耦合: 兩個模塊塊之間沒有有直接關(guān)系系,它們之之間的聯(lián)系系完全是通通過主模塊塊的控制和和調(diào)用來實(shí)實(shí)現(xiàn)的非直接耦合合的模塊獨(dú)獨(dú)立性最強(qiáng)強(qiáng)內(nèi)聚:標(biāo)志志著一個模模塊內(nèi)
19、各個個元素彼此此結(jié)合的緊緊密程度內(nèi)聚有七種種,由弱到到強(qiáng)分別為為 偶偶然內(nèi)聚-邏輯內(nèi)內(nèi)聚-時時間內(nèi)聚-過程內(nèi)內(nèi)聚-通通信內(nèi)聚-順序內(nèi)內(nèi)聚-功功能內(nèi)聚增強(qiáng)模塊獨(dú)獨(dú)立性:提提高模塊的的內(nèi)聚程度度,減少耦耦合衡量模塊獨(dú)獨(dú)立性的兩兩個標(biāo)準(zhǔn)是是什么?它它們各表示示什么含義義? * 高內(nèi)聚,少少耦合;*對于一個個模塊而言言,模塊自自身的內(nèi)聚聚越強(qiáng),模模塊間的耦耦合就越小小,模塊所所具有的獨(dú)獨(dú)立性就越越好??梢砸哉f高內(nèi)聚聚低耦合是是我們進(jìn)行行軟件設(shè)計計的一貫原原則4.什么叫叫模塊?什什么叫模塊塊化?模塊塊設(shè)計時應(yīng)應(yīng)注意哪些些規(guī)則? 模塊:是是由邊界元元素限定的的相鄰程序序元素(例例如,數(shù)據(jù)據(jù)說明,可可執(zhí)行的
20、語語句)的序序列,而且且有一個總總體標(biāo)識符符代表它。 模塊化:就是把程程序劃分成成獨(dú)立命名名且可獨(dú)立立訪問的模模塊,每個個模塊完成成一個子功功能,把這這些模塊集集成起來構(gòu)構(gòu)成一個整整體,可以以完成指定定的功能滿滿足用戶的的需求。 規(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è)計1.詳細(xì)設(shè)設(shè)計的根本本目標(biāo)和任任務(wù)?詳細(xì)設(shè)計階階段的根部部
21、目標(biāo)是確確定應(yīng)該怎怎樣具體地地實(shí)現(xiàn)所要要求的系統(tǒng)統(tǒng)。詳細(xì)設(shè)計階階段的任務(wù)務(wù)是要設(shè)計計出程序的的“藍(lán)圖”。2.層次圖圖和層次方方框圖分別別適用于軟軟件工程的的那個階段段?并比較較它們的區(qū)區(qū)別?層次圖和層層次方框圖圖不同點(diǎn):層次圖的的形式和第第3.7節(jié)中中介紹的層層次方框圖圖形式相同同,但是表表現(xiàn)的內(nèi)容容卻完全不不同。層次圖描描繪的是軟軟件的結(jié)構(gòu)構(gòu),層次方方框圖描繪繪的是數(shù)據(jù)據(jù)結(jié)構(gòu)層次圖中中的一個矩矩形框代表表一個模塊塊,方框間間的連線表表示調(diào)用關(guān)關(guān)系。層次次方框圖矩矩形框代表表數(shù)據(jù),連連線表示組組成關(guān)系。層次圖很適適于在自頂頂向下設(shè)計計軟件的過過程中使用用。層次方框圖圖適用于需需求分析階階段.3
22、.Jaccksonn方法的步步驟?Jaacksoon圖的優(yōu)優(yōu)點(diǎn)是什么么?三種基基本結(jié)構(gòu)Jacksson結(jié)構(gòu)構(gòu)化設(shè)計方方法基本上上由下述五五個步驟組組成: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)中有對應(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)層次次,為每對對有對應(yīng)關(guān)關(guān)系的數(shù)據(jù)據(jù)單元畫一一個處理框框 - 根據(jù)輸入入數(shù)據(jù)結(jié)構(gòu)構(gòu)中剩余的的每個數(shù)據(jù)據(jù)單元所處處的層次,在在程序結(jié)構(gòu)構(gòu)圖
23、相應(yīng)層層次分別為為它們畫上上對應(yīng)的處處理框 - 根據(jù)輸出出數(shù)據(jù)結(jié)構(gòu)構(gòu)中剩余的的每個數(shù)據(jù)據(jù)單元所處處的層次,在在程序結(jié)構(gòu)構(gòu)圖相應(yīng)層層次分別為為它們畫上上對應(yīng)的處處理框 - 若在構(gòu)成成順序結(jié)構(gòu)構(gòu)的元素中中出現(xiàn)了重重復(fù)或選擇擇元素,需需在Jaccksonn圖中增加加一個中間間層次的處處理框。4 列出所所有操作和和條件(包括分支支條件和循循環(huán)結(jié)束條條件),并且把把它們分配配到程序結(jié)結(jié)構(gòu)圖的適適當(dāng)位置。5 用偽碼碼表示程序序Jacksson圖的的優(yōu)點(diǎn)A:便于表表示層次結(jié)結(jié)構(gòu),而且且是對結(jié)構(gòu)構(gòu)進(jìn)行自頂頂向下分解解的有力工工具;B:形象直直觀、可讀讀性好C:既能表表示數(shù)據(jù)結(jié)結(jié)構(gòu)也能表表示程序結(jié)結(jié)構(gòu)(因為為結(jié)
24、構(gòu)程序序設(shè)計也只只使用上述述三種基本本結(jié)構(gòu)。三種基本結(jié)結(jié)構(gòu)順序結(jié)構(gòu)A seq B C DA endDCBA順序結(jié)構(gòu)的的數(shù)據(jù)由一一個或多個個數(shù)據(jù)元素素組成,每每個元素按按確定次序序出現(xiàn)一次次。選擇結(jié)構(gòu) 選擇擇結(jié)構(gòu)的數(shù)數(shù)據(jù)包含兩兩個或多個個數(shù)據(jù)元素素,每次按按一定的條條件從這些些數(shù)據(jù)元素素中選擇一一個使用,具具體分為:(1)選擇擇結(jié)構(gòu),(2)可選選結(jié)構(gòu)重復(fù)結(jié)構(gòu) 重復(fù)復(fù)結(jié)構(gòu)的數(shù)數(shù)據(jù),根據(jù)據(jù)使用時的的條件由一一個數(shù)據(jù)元元素出現(xiàn)零零次或多次次構(gòu)成。4.程序復(fù)復(fù)雜程度的的度量方法法?環(huán)形復(fù)復(fù)雜度的計計算方法?McCabbe方法和和Halssteadd方法McCabbe方法根根據(jù)程序控控制流的復(fù)復(fù)雜程度定定
25、量度量程程序的復(fù)雜雜程度,這這樣度量出出的結(jié)果稱稱為程序的的環(huán)形復(fù)雜雜度。環(huán)形復(fù)雜度度的計算方方法:可以用下述述3種方法中中的任何一一種來計算算環(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ù)目。例如,使用用上述任何何一種方法法,都可以以計算出圖圖616所示流流圖的環(huán)形形復(fù)雜度為為4。5. 說明明結(jié)構(gòu)化程程序設(shè)計的的主要思想想是什么?結(jié)構(gòu)化設(shè)設(shè)計方法的的步驟是什什么?結(jié)構(gòu)程序設(shè)設(shè)計的經(jīng)典典定義如下下所述:“如果
26、一個個程序的代代碼塊僅僅僅通過順序序、選擇和和循環(huán)這33種基本控控制結(jié)構(gòu)進(jìn)進(jìn)行連接,并并且每個代代碼塊只有有一個入口口和一個出出口,則稱稱這個程序序是結(jié)構(gòu)化化的?!苯Y(jié)構(gòu)化設(shè)計計的步驟如如下:評審和細(xì)細(xì)化數(shù)據(jù)流流圖;確定數(shù)據(jù)據(jù)流圖的類類型;把數(shù)據(jù)流流圖映射到到軟件模塊塊結(jié)構(gòu),設(shè)設(shè)計出模塊塊結(jié)構(gòu)的上上層;基于數(shù)據(jù)據(jù)流圖逐步步分解高層層模塊,設(shè)設(shè)計中下層層模塊;對模塊結(jié)結(jié)構(gòu)進(jìn)行優(yōu)優(yōu)化,得到到更為合理理的軟件結(jié)結(jié)構(gòu);描述模塊塊接口。掌握過程設(shè)設(shè)計工具:程序流程程圖,N-S圖,PPAD圖,判定樹,判定表(應(yīng)用題)程序流程圖圖也稱為程程序框圖,程程序流程圖圖使用五種種基本控制制結(jié)構(gòu)是:盒圖 (NN-S圖)
27、基本符號PAD圖第7章實(shí)現(xiàn)現(xiàn)一程序設(shè)設(shè)計語言的的選擇、編編碼風(fēng)格(選選擇)程序設(shè)計語語言的選擇擇: 1.系系統(tǒng)用戶的的要求: 如果所開開發(fā)的系統(tǒng)統(tǒng)由用戶負(fù)負(fù)責(zé)維護(hù),用用戶通常要要求用他們們熟悉的語語言書寫程程序. 2.可可以使用的的編譯程序序:運(yùn)行目目標(biāo)系統(tǒng)的的環(huán)境中可可以提供的的編譯程序序往往限制制了可以選選用的語言言的范圍. 3.可可以得到的的軟件工具具:如果某某種語言有有支持程序序開發(fā)的軟軟件工具可可以利用,則則目標(biāo)系統(tǒng)統(tǒng)的實(shí)現(xiàn)和和驗證都變變得比較容容易 4.工工程規(guī)模:如果工程程規(guī)模很龐龐大,現(xiàn)有有的語言又又不完全適適用,那么么設(shè)計并實(shí)實(shí)現(xiàn)一種供供這個工程程項目專用用的程序設(shè)設(shè)計語言,
28、可可能是一個個正確的選選擇 5.程程序員的知知識:如果果和其他標(biāo)標(biāo)準(zhǔn)不矛盾盾,那么應(yīng)應(yīng)該選擇一一種已經(jīng)為為程序員所所熟悉的語語言 6. 軟件可移移植性要求求:如果目目標(biāo)系統(tǒng)將將在幾臺不不同的計算算機(jī)上運(yùn)行行,或者預(yù)預(yù)期的使用用壽命很長長,那么選選擇一種標(biāo)標(biāo)準(zhǔn)化程度度高、程序序可移植性性好的語言言就是很重重要的 7.軟軟件的應(yīng)用用領(lǐng)域:FORTRRAN語言言特別適合合于工程和和科學(xué)計算算COBOLL語言適合合于商業(yè)領(lǐng)領(lǐng)域應(yīng)用C語言和AAda語言言適用于系系統(tǒng)和實(shí)時時應(yīng)用領(lǐng)域域LISP語語言適用于于組合問題題領(lǐng)域PROLOOG語言適適于表達(dá)知知識和推理理編碼風(fēng)格:源程序代碼碼的邏輯簡簡明清晰、易讀
29、易懂懂軟件測試的的定義、目目的?軟件件測試的原原則?簡述述軟件測試試的各個步步驟的主要要任務(wù)?定義:為了了發(fā)現(xiàn)程序序中的錯誤誤而執(zhí)行程程序的過程程。目的:從用用戶的角度度出發(fā),普普遍希望通通過軟件測測試暴露軟軟件中隱藏藏的錯誤和和缺陷,以以考慮是否否可接受該該產(chǎn)品。從軟件開發(fā)發(fā)者的角度度出發(fā),則則希望測試試成為表明明軟件產(chǎn)品品中不存在在錯誤的過過程,驗證證該軟件已已正確地實(shí)實(shí)現(xiàn)了用戶戶的要求,確確立人們對對軟件質(zhì)量量的信心。測試階段的的根本目標(biāo)標(biāo)是盡可能能多地發(fā)現(xiàn)現(xiàn)并排除軟軟件中潛藏藏的錯誤,最最終把一個個高質(zhì)量的的軟件系統(tǒng)統(tǒng)交給用戶戶使用原則:1.所有測測試都應(yīng)該該能追溯到到用戶需求求2.
30、應(yīng)該該在測試開開始之前就就制定出測測試計劃:1.完成成了需求模模型就可以以著手制定定測試計劃劃2.在建建立了設(shè)計計模型后就就可以立即即開始設(shè)計計詳細(xì)的測測試方案3.測試發(fā)發(fā)現(xiàn)的錯誤誤中的800很可能能是由程序序中20的模塊造造成的。問問題是怎樣樣找出這些些可疑的模模塊并徹底底地測試它它們4.應(yīng)該從從“小規(guī)?!睖y試開始始,并逐步步進(jìn)行“大規(guī)?!睖y試通常,首先先重點(diǎn)測試試單個程序序模塊,然然后把測試試重點(diǎn)轉(zhuǎn)向向在集成的的模塊簇中中尋找錯誤誤,最后在在整個系統(tǒng)統(tǒng)中尋找錯錯誤5.窮舉測測試是不可可能的,所所謂窮舉測測試就是把把程序所有有可能的執(zhí)執(zhí)行路徑都都檢查一遍遍的測試6.為了達(dá)達(dá)到最佳的的測試效果
31、果,應(yīng)該由由獨(dú)立的第第三方從事事測試工作作7.充分注注意測試中中的群集現(xiàn)現(xiàn)象。經(jīng)驗驗表明,測測試后程序序中殘存的的錯誤數(shù)目目與該程序序中已發(fā)現(xiàn)現(xiàn)的錯誤數(shù)數(shù)目成正比比。8.嚴(yán)格執(zhí)執(zhí)行測試計計劃,排除除測試的隨隨意性。9.妥善保保存測試計計劃,測試試用例,出出錯統(tǒng)計和和最終分析析報告,為為維護(hù)提供供方便。步驟:1.模塊測試試模塊測試的的目的是保保證每個模模塊作為一一個單元能能正確運(yùn)行行模塊測試通通常又稱為為單元測試試在這個測試試步驟中所所發(fā)現(xiàn)的往往往是編碼碼和詳細(xì)設(shè)設(shè)計的錯誤誤2子系統(tǒng)統(tǒng)測試子系統(tǒng)測試試是把經(jīng)過過單元測試試的模塊放放在一起形形成一個子子系統(tǒng)來測測試模塊相互間間的協(xié)調(diào)和和通信是這這個
32、測試過過程中的主主要問題這個步驟著著重測試模模塊的接口口3.系統(tǒng)測測試把經(jīng)過測試試的子系統(tǒng)統(tǒng)裝配成一一個完整的的系統(tǒng)來測測試發(fā)現(xiàn)的往往往是軟件設(shè)設(shè)計中的錯錯誤,也可可能發(fā)現(xiàn)需需求說明中中的錯誤兼有檢測和和組裝兩重重含義,通通常稱為集集成測試4驗收測測試(驗收收測試也稱稱為確認(rèn)測測試)驗收測試把把軟件系統(tǒng)統(tǒng)作為單一一的實(shí)體進(jìn)進(jìn)行測試,測測試內(nèi)容與與系統(tǒng)測試試基本類似似,但是它它是在用戶戶積極參與與下進(jìn)行的的,而且可可能主要使使用實(shí)際數(shù)數(shù)據(jù)(系統(tǒng)統(tǒng)將來要處處理的信息息)進(jìn)行測測試驗收測試的的目的是驗驗證系統(tǒng)確確實(shí)能夠滿滿足用戶的的需要,在在這個測試試步驟中發(fā)發(fā)現(xiàn)的往往往是系統(tǒng)需需求說明書書中的錯誤
33、誤5.平行運(yùn)運(yùn)行所謂平行運(yùn)運(yùn)行就是同同時運(yùn)行新新開發(fā)出來來的系統(tǒng)和和將被它取取代的舊系系統(tǒng),以便便比較新舊舊兩個系統(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)險(2)用戶戶能有一段段熟悉新系系統(tǒng)的時間間(3)可以以驗證用戶戶指南和使使用手冊之之類的文檔檔(4)能夠夠以準(zhǔn)生產(chǎn)產(chǎn)模式對新新系統(tǒng)進(jìn)行行全負(fù)荷測測試,可以以用測試結(jié)結(jié)果驗證性性能指標(biāo)集成測試中中常使用自自頂向下集集成和自底底向上集成成兩種策略略,比較它它們的區(qū)別別?自頂向下 : 可在在測試早期期實(shí)現(xiàn)并驗驗證系統(tǒng)主主要功能且且不需驅(qū)動動模塊,但但是需樁模模塊自底向上: 設(shè)計測測試用例容容易且不需需樁模塊 但是只有有到最后程程序才能作作為一個整整體 。四黑盒測測試的優(yōu)缺缺點(diǎn)?白盒盒測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財政政策的宏觀調(diào)控作用試題及答案
- 轉(zhuǎn)油站火災(zāi)應(yīng)急預(yù)案(3篇)
- 賓館火災(zāi)應(yīng)急援救預(yù)案(3篇)
- 火災(zāi)應(yīng)急預(yù)案適用范圍(3篇)
- 經(jīng)濟(jì)政策與政治穩(wěn)定性的關(guān)系探討試題及答案
- 廠區(qū)火災(zāi)應(yīng)急疏散預(yù)案(3篇)
- 福利院火災(zāi)應(yīng)急預(yù)案(3篇)
- 闡述積極向上的2023年高考作文試題及答案
- 針對性訓(xùn)練2024年數(shù)學(xué)試題及答案速查
- 行政法學(xué)思考與實(shí)踐試題與答案
- 戶外廣告行業(yè)行業(yè)商業(yè)計劃書
- 音樂演唱會居間協(xié)議書
- (2023版)養(yǎng)老機(jī)構(gòu)院內(nèi)感染預(yù)防與控制規(guī)范解讀課件
- 液冷板設(shè)計規(guī)范
- 精裝工程三邊兩線、墻磚防空鼓、木地板防爆灰做法交底
- 高校人才引進(jìn)機(jī)制研究
- 鋁合金鑄件冒口尺寸與補(bǔ)縮距離的影響因素
- 山東省淄博市光被中學(xué)高三物理下學(xué)期期末試卷含解析
- 2020教學(xué)能力大賽國賽一等獎實(shí)施報告匯報PPT-國一
- 信訪事項復(fù)查申請書
- 《馬褲先生》閱讀答案
評論
0/150
提交評論