軟件工程導(dǎo)論復(fù)習(xí)(期末-考研用)_第1頁(yè)
軟件工程導(dǎo)論復(fù)習(xí)(期末-考研用)_第2頁(yè)
軟件工程導(dǎo)論復(fù)習(xí)(期末-考研用)_第3頁(yè)
軟件工程導(dǎo)論復(fù)習(xí)(期末-考研用)_第4頁(yè)
軟件工程導(dǎo)論復(fù)習(xí)(期末-考研用)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 軟件工程概述1、什么是軟件工程?為什么會(huì)出現(xiàn)軟件工程?軟件工程是: 把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件; 研究中提到的途徑。軟件工作者在20世紀(jì)60年代后期開始認(rèn)真研究消除軟件危機(jī)的途徑,從而逐漸形成了一門新興的工程學(xué)科計(jì)算機(jī)軟件工程學(xué)(通常簡(jiǎn)稱為軟件工程)。2、軟件工程的主要目標(biāo)是什么?基本目標(biāo)是什么?軟件工程的目標(biāo):從管理和技術(shù)兩個(gè)方面開發(fā)和維護(hù)計(jì)算機(jī)軟件,用低成本,開發(fā)出達(dá)標(biāo)、高性能、易于移植、可靠性高的軟件。軟件工程的基本目標(biāo)是:優(yōu)質(zhì)、高產(chǎn)。3、什么是軟件工程方法學(xué)?軟件工程的3要素(軟件工程方法學(xué)的3要素)是什么?分別包含什么

2、內(nèi)容?軟件工程方法學(xué):軟件生命周期全過程中使用的一整套技術(shù)方法的集合軟件工程方法學(xué)包含3個(gè)要素:方法、工具和過程。方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問題;工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。4、什么是軟件過程?什么是軟件周期?常見軟件生命周期模型(課件中的前5類)的特點(diǎn)有哪些?軟件過程:它是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件生命周期:由軟件定義、軟

3、件開發(fā)和運(yùn)行維護(hù)(也稱之為軟件維護(hù))3個(gè)時(shí)期組成瀑布模型定義:傳統(tǒng)軟件工程方法學(xué)的軟件過程,基本上可以用瀑布模型來描述。瀑布模型的特點(diǎn):1.階段間具有順序性和依賴性;2.推遲實(shí)現(xiàn)的觀點(diǎn);3.質(zhì)量保證的觀點(diǎn)。瀑布模型的成功在很大程序上是由于它基本上是一種文檔驅(qū)動(dòng)的模型。瀑布模型的主要優(yōu)點(diǎn):a.可強(qiáng)迫開發(fā)人員采用規(guī)范的技術(shù)方法 ;b.嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔 ;c.每個(gè)階段結(jié)束前必須正式進(jìn)行嚴(yán)格的技術(shù)審查和管理復(fù)審 。瀑布模型的主要缺點(diǎn) :在可運(yùn)行的軟件產(chǎn)品交付給用戶之前,用戶只能通過文檔來了解未來的產(chǎn)品是什么樣的。開發(fā)人員和用戶之間缺乏有效的溝通,很可能導(dǎo)致最終開發(fā)出的軟件產(chǎn)品不能真正

4、滿足用戶的需求 ??焖僭湍P投x:所謂“快速原型”, 是快速建立起來的、可在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往是最終的軟件產(chǎn)品所能完成的功能的子集。 原型是軟件開發(fā)人員與用戶溝通的強(qiáng)有力工具,因此有助于所開發(fā)出的軟件產(chǎn)品滿足用戶的真實(shí)需求。快速原型模型的主要優(yōu)點(diǎn)是:A使用這種軟件過程開發(fā)出的軟件產(chǎn)品通常能滿足用戶的真實(shí)需求;B軟件產(chǎn)品的開發(fā)過程基本上是線性順序過程。增量模型 定義:增量模型也稱為漸增模型增量模型的主要優(yōu)點(diǎn):A能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品 ;B逐步增加產(chǎn)品功能,從而使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,減少一個(gè)全新的軟件給客戶組織帶來的沖擊 。螺旋模型定義

5、:螺旋模型的基本思想是, 使用原型及其他方法盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡(jiǎn)便方法,是把它看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型 。螺旋模型所描述的軟件過程主要適用于內(nèi)部開發(fā)的大型軟件項(xiàng)目 。使用螺旋模型開發(fā)軟件,要求軟件開發(fā)人員具有豐富的風(fēng)險(xiǎn)評(píng)估知識(shí)和經(jīng)驗(yàn) 。螺旋模型主要有下述優(yōu)點(diǎn) :A有利于已有軟件的重用 ;B有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo) ;C減少了過多測(cè)試或測(cè)試不足所帶來的風(fēng)險(xiǎn) ;D軟件維護(hù)與軟件開發(fā)沒有本質(zhì)區(qū)別 。噴泉模型定義:迭代是軟件開發(fā)過程中普遍存在的一種內(nèi)在屬性。在面向?qū)ο蠓缎椭校浖_發(fā)過程各階段之間的迭代或同一階段內(nèi)各個(gè)工作步驟之間的迭代,比在

6、結(jié)構(gòu)化范型中更常見。噴泉模型,是典型的面向?qū)ο笊芷谀P?,它充分體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和平滑過渡的特性。5、在“快速原型”模型中軟件原型的作用主要是什么?在哪類生命周期模型中引入了風(fēng)險(xiǎn)分析?哪類生命周期模型是典型的傳統(tǒng)軟件工程生命周期模型?哪類生命周期模型是典型的面向?qū)ο筌浖こ躺芷谀P??在“快速原型”模型中軟件原型的作用主要是:軟件開發(fā)人員與用戶溝通的強(qiáng)有力工具,因此有助于所開發(fā)出的軟件產(chǎn)品滿足用戶的真實(shí)需求。螺旋模型中引入風(fēng)險(xiǎn)分析瀑布模型是典型的傳統(tǒng)軟件工程生命周期模型噴泉模型是典型的面向?qū)ο筌浖こ痰?章 可行性研究1、可行性研究包括哪幾方面(每方面解決什么問題),研究得到

7、的文檔和結(jié)論是什么?技術(shù)可靠性:使用現(xiàn)有的技術(shù)能否實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能否超過它的開發(fā)成本?操作可行性:系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)是否行得通?研究的結(jié)果:是一份可行性研究的各個(gè)步驟的工作結(jié)果的文檔,它包含了工程是否能繼續(xù)進(jìn)行下去和分析員的推薦方案;2、主要描述工具的概念和使用:系統(tǒng)流程圖:是什么,成份和基本符號(hào),描述什么模型,畫法;數(shù)據(jù)流圖:是什么,成份和基本符號(hào),系統(tǒng)級(jí)和功能級(jí)、簡(jiǎn)單細(xì)化數(shù)據(jù)流圖的區(qū)別,畫法;數(shù)據(jù)字典:是什么,內(nèi)容、定義數(shù)據(jù)的方法。(1)系統(tǒng)流程圖的定義:是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件。系統(tǒng)流程圖表

8、達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控制過程,是物理數(shù)據(jù)流圖而不是程序流程圖。系統(tǒng)流程圖的基本符號(hào):(2)數(shù)據(jù)流圖的定義:它是一種圖形化技術(shù),它描述信息和數(shù)據(jù)從輸入移動(dòng)到輸出過程中所經(jīng)歷的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程。數(shù)據(jù)流圖的基本符號(hào):正方形(或立方體) 表示數(shù)據(jù)的源點(diǎn)或終點(diǎn);圓角矩形(或圓形) 代表變換數(shù)據(jù)的處理;開口矩形(或兩條平行橫線) 代表數(shù)據(jù)存儲(chǔ);箭頭線 表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。(3)數(shù)據(jù)字典的定義:是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典的作用也正

9、是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)字典的內(nèi)容:數(shù)據(jù)流、數(shù)據(jù)流分量、數(shù)據(jù)存儲(chǔ)、處理 定義數(shù)據(jù)的方法:用被定義的事物的成分的某種組合表示這個(gè)事物,這些組成成分又由更低的成分組合來定義。 3、 數(shù)據(jù)字典和數(shù)據(jù)流圖的關(guān)系。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格,然而沒有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖中每個(gè)元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說明。第3章 需求分析1、需求分析的任務(wù)是什么?分析得到的成果(文檔)是什么?包含哪些內(nèi)容?1、需求分析的任務(wù):(1)確定對(duì)系統(tǒng)的綜合要求:功能需求、性能需求、可靠性和可

10、用性需求、出錯(cuò)處理需求、接口需求、約束、逆向需求、將來可能提出的要求(2)分析系統(tǒng)的數(shù)據(jù)要求:(3)導(dǎo)出系統(tǒng)的邏輯模型(4)修正系統(tǒng)開發(fā)計(jì)劃;2、需求分析得到的結(jié)果:是通過需求分析得到的除了分析模型之外,還應(yīng)該寫出軟件需求規(guī)格說明書,它是需求分析階段得出的最主要的文檔。2、軟件需求通常包括哪些方面?各類需求一般包含內(nèi)容有哪些?(1)功能需求 :這方面的需求指定系統(tǒng)必須提供的服務(wù)。通過需求分析應(yīng)該劃分出系統(tǒng)必須完成的所有功能。(2)性能需求:性能需求指定系統(tǒng)必須滿足的定時(shí)約束或容量約束,通常包括速度(響應(yīng)時(shí)間)、信息量速率、主存容量、磁盤容量、安全性等方面的需求。(3)可靠性和可用性需求:可靠性

11、需求定量地指定系統(tǒng)的可靠性。可用性與可靠性密切相關(guān),它量化了用戶可以使用系統(tǒng)的程度。(4)出錯(cuò)處理需求:這類需求說明系統(tǒng)對(duì)環(huán)境錯(cuò)誤應(yīng)該怎樣響應(yīng)。(5)接口需求:接口需求描述應(yīng)用系統(tǒng)與它的環(huán)境通信的格式。常見的接口需求有:用戶接口需求;硬件接口需求;軟件接口需求;通信接口需求。(6)約束:設(shè)計(jì)約束或?qū)崿F(xiàn)約束描述在設(shè)計(jì)或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時(shí)應(yīng)遵守的限制條件。(7)逆向需求:逆向需求說明軟件系統(tǒng)不應(yīng)該做什么。(8)將來可能提出的要求:應(yīng)該明確地列出那些雖然不屬于當(dāng)前系統(tǒng)開發(fā)范疇,但是據(jù)分析將來很可能會(huì)提出來的要求。這樣做的目的是,在設(shè)計(jì)過程中對(duì)系統(tǒng)將來可能的擴(kuò)充和修改預(yù)做準(zhǔn)備,以便一旦確實(shí)需要時(shí)能比較容易

12、地進(jìn)行這種擴(kuò)充和修改。3、追加的主要描述工具的概念和使用:E-R圖:是什么,成份和基本符號(hào),描述什么模型;狀態(tài)轉(zhuǎn)換圖:是什么,描述什么模型(1)E-R圖的定義:即實(shí)體-聯(lián)系圖,是表示數(shù)據(jù)對(duì)象及其之間關(guān)系的圖形語(yǔ)言機(jī)制,是建立數(shù)據(jù)模型的圖形工具。E-R圖的基本成份和使用的符號(hào) :實(shí)體(即數(shù)據(jù)對(duì)象)-矩形框,關(guān)系-菱形框,屬性-橢圓形或圓角矩形。E-R圖描述的模型:用來建立數(shù)據(jù)模型,ER模型使用簡(jiǎn)單的圖形符號(hào)表達(dá)系統(tǒng)分析員對(duì)問題域的理解(2)狀態(tài)轉(zhuǎn)換圖的定義:通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為。狀態(tài)轉(zhuǎn)換圖的基本成份和使用的符號(hào):基本成分是狀態(tài)、事件、狀態(tài)轉(zhuǎn)換。狀態(tài)轉(zhuǎn)換圖描

13、述的模型:用來建立系統(tǒng)的行為模型。4、在結(jié)構(gòu)化分析中,建模的核心是什么?3種模型分別是什么,分別用什么工具來描述?建模的核心是數(shù)據(jù)字典,它描述了所有的在目標(biāo)系統(tǒng)中使用的和生成的數(shù)據(jù)對(duì)象。(1)、數(shù)據(jù)模型,用實(shí)體-聯(lián)系圖描述;(2)、功能模型,用數(shù)據(jù)流圖描述;(3)、行為模型,用狀態(tài)轉(zhuǎn)換圖描述。第5章 總體設(shè)計(jì)1、什么是總體設(shè)計(jì)?將軟件需求轉(zhuǎn)化為軟件的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu),確定各組成成分(子系統(tǒng)或模塊)之間的相互關(guān)系2、模塊化設(shè)計(jì)的原理包括什么?為了提高軟件的可維護(hù)性,其中,模塊獨(dú)立性最重要的,是評(píng)價(jià)軟件結(jié)構(gòu)質(zhì)量的首要標(biāo)準(zhǔn)。模塊化設(shè)計(jì)的原理包括:模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨(dú)立。

14、為了提高軟件的可維護(hù)性,其中,模塊獨(dú)立性最重要的,是評(píng)價(jià)軟件結(jié)構(gòu)質(zhì)量的首要標(biāo)準(zhǔn)。3、模塊獨(dú)立性度量(描述)的兩個(gè)指標(biāo):內(nèi)聚、耦合;什么是內(nèi)聚,什么是耦合;耦合和內(nèi)聚的具體分類及使用原則;在面向數(shù)據(jù)流的方法中,內(nèi)聚、耦合各分為哪幾級(jí),每級(jí)的具體含義分別是什么?強(qiáng)度從弱到強(qiáng)如何排列?耦合和內(nèi)聚兩者關(guān)系?(1)耦合定義:它是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量;耦合分類:耦合使用原則:盡量使用數(shù)據(jù)耦合,小用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合,最終降低模塊間接口的復(fù)雜性。(2)內(nèi)聚定義:它標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò)展。內(nèi)

15、聚分類:內(nèi)聚使用原則:設(shè)計(jì)時(shí)力求高內(nèi)聚,設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚,通常中等程度的內(nèi)聚也是可以采用的,而且效果和高內(nèi)聚相差不多;但是,低內(nèi)聚很壞,不要使用。(3)耦合和內(nèi)聚兩者關(guān)系:耦合與內(nèi)聚都是模塊獨(dú)立性的定性標(biāo)準(zhǔn),都反映模塊獨(dú)立性的良好程度。其中內(nèi)聚更重要。內(nèi)聚與耦合密切相關(guān)。同其它模塊強(qiáng)耦合的模塊意味著它自己是弱內(nèi)聚的;強(qiáng)內(nèi)聚模塊意味著與其它模塊間松散耦合。所以設(shè)計(jì)的目標(biāo)應(yīng)該是力爭(zhēng)高內(nèi)聚、低耦合。4、軟件總體結(jié)構(gòu)描述工具的概念和使用:軟件層次圖、軟件結(jié)構(gòu)(SC)圖、HIPO圖:是什么,基本符號(hào)和表示的結(jié)構(gòu),畫法。(1)軟件層次圖的定義:是用來描繪軟件層次結(jié)構(gòu)的圖形工具。一個(gè)矩形框代表一個(gè)模

16、塊,方框間的連線表示模塊間的調(diào)用關(guān)系。軟件層次圖的示例:(2)HIPO圖的定義:即層次圖 + 輸入/處理/輸出圖,由一張H圖和一組IPO圖組成。通常將HIPO圖作為軟件結(jié)構(gòu)的描繪,列入設(shè)計(jì)文檔。 H圖,是給每個(gè)模塊加上編號(hào)的層次圖。IPO圖,即為H圖中的每個(gè)模塊畫一張IPO圖。(3)結(jié)構(gòu)圖(SC)的定義:描述了軟件的模塊結(jié)構(gòu),表示了一個(gè)系統(tǒng)的層次分解關(guān)系;反映了模塊間的聯(lián)系以及塊內(nèi)聯(lián)系;反映了模塊間的信息傳遞。結(jié)構(gòu)圖一般不列入設(shè)計(jì)文檔,只用于設(shè)計(jì)階段檢查模塊設(shè)計(jì)的正確性和模塊獨(dú)立性。結(jié)構(gòu)圖(SC)的基本符號(hào): A 方框,內(nèi)有名稱,表示模塊; 直線,表示上層模塊對(duì)下層模塊的調(diào)用; 尾部帶空心圓的

17、箭頭,表示按方向傳遞的數(shù)據(jù)信息; 尾部帶實(shí)心圓的箭頭,表示按方向傳遞的控制信息; 判定為真時(shí)調(diào)用A,為假時(shí)調(diào)用B 模塊M循環(huán)調(diào)用模塊A、B、C5、 結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)(SD)的實(shí)質(zhì)是什么?SD是目前使用最廣泛的一種軟件設(shè)計(jì)方法,它的基本思想是模塊化,它給出了設(shè)計(jì)軟件結(jié)構(gòu)的一個(gè)系統(tǒng)化的途徑,它提出了“高內(nèi)聚、低偶合”的評(píng)價(jià)模塊結(jié)構(gòu)質(zhì)量的具體標(biāo)準(zhǔn)。SD的任務(wù),就是在需求分析的基礎(chǔ)上,將表示系統(tǒng)邏輯模型的數(shù)據(jù)流圖映射成軟件系統(tǒng)結(jié)構(gòu)的初始設(shè)計(jì)描述。6、數(shù)據(jù)流的分類?結(jié)構(gòu)化設(shè)計(jì)(SD)方法(面向數(shù)據(jù)流的設(shè)計(jì)方法)中,如何將分析的結(jié)果(數(shù)據(jù)流圖)逐層分解、轉(zhuǎn)換成設(shè)計(jì)的初步結(jié)果(軟件層次圖)?數(shù)據(jù)流分類

18、:SD方法把信息流(數(shù)據(jù)流圖)映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法。DFD中的數(shù)據(jù)流可分為兩類:變換型數(shù)據(jù)流、事務(wù)型數(shù)據(jù)流;可轉(zhuǎn)換為相應(yīng)的軟件結(jié)構(gòu):變換型結(jié)構(gòu)、事務(wù)型結(jié)構(gòu)。變換分析-從變換流到變換型結(jié)構(gòu)的映射過程:事物分析-從事物流到事物型結(jié)構(gòu)的映射過程:第6章 詳細(xì)設(shè)計(jì)1、詳細(xì)設(shè)計(jì)的任務(wù)(主要工作)有哪些?得到的結(jié)果是什么?詳細(xì)設(shè)計(jì)的要求是什么?詳細(xì)設(shè)計(jì)的任務(wù)(工作):確定每個(gè)模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),用一定的工具精確描述目標(biāo)系統(tǒng),從而方便在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。包括:(1) 確定每一模塊的算法(2) 確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)(3) 確定本模

19、塊的外部接口和用戶界面(4) 為每一模塊設(shè)計(jì)一組測(cè)試用例設(shè)計(jì)得到的結(jié)果:是確定每個(gè)模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生描述各模塊處理過程的詳細(xì)文檔。詳細(xì)設(shè)計(jì)的要求:不僅要邏輯上正確地實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是設(shè)計(jì)出的處理過程容易閱讀和理解。2、什么是過程設(shè)計(jì)的工具?分類?基本要求?過程設(shè)計(jì)工具的定義:描述程序處理過程的工具過程設(shè)計(jì)工具的分類:它們可以分為圖形、表格、和語(yǔ)言3類。過程設(shè)計(jì)工具的基本要求:不論是哪類工具,對(duì)它們的基本要求都是能提供對(duì)設(shè)計(jì)的無歧義的描述。3、軟件詳細(xì)設(shè)計(jì)描述工具的概念和使用:程序流程圖、N-S圖、PAD圖、PDL語(yǔ)言:是什么,基本符號(hào)和表示的意義,畫法;各種工具描述結(jié)果

20、間的轉(zhuǎn)換。(1)程序流程圖的定義:又稱為程序框圖,它是歷史最悠久、使用最廣泛的描述過程設(shè)計(jì)的方法,然而它也是用得最混亂的一種方法。程序流程圖的基本符號(hào):(2)盒圖(N-S圖)的定義:出于要有一種不允許違背結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工具的考慮,Nassi和Shneiderman提出了盒圖。它有下述特點(diǎn):(1) 功能域(即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。(2) 沒有箭頭,不可能任意轉(zhuǎn)移控制。(3) 很容易確定局部和全程數(shù)據(jù)的作用域。(4) 很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。盒圖(N-S圖)的基本符號(hào):(a)順序;(b)IF_THEB_ELSE型分支;(c)CAS

21、E型多分支;(d)循環(huán);(e)調(diào)用子程序(3)PAD(問題分析圖)的定義: 1973年由日本日立公司發(fā)明。它用二維樹形結(jié)構(gòu)的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。PAD(問題分析圖)的基本符號(hào):(a)順序;(b)選擇(IF C THEN P1 ELSE P2);(c)CASE型多分支;(d)WHILE型循環(huán)(WHILE C DO P);(e)UNTIL型循環(huán)(REPEAT P UNTIL C);(f)語(yǔ)句標(biāo)號(hào);(g)定義(3)過程設(shè)計(jì)語(yǔ)言(PDL)的定義:也稱為偽碼,PDL是一種“混雜”語(yǔ)言,它使用一種語(yǔ)言的詞匯,同時(shí)卻使用另一種語(yǔ)言(某種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言)的語(yǔ)法。過程設(shè)計(jì)

22、語(yǔ)言(PDL)的舉例:4、什么是模塊的環(huán)形復(fù)雜度,如何計(jì)算?環(huán)形復(fù)雜度的定義:即程序的邏輯復(fù)雜度,主要是指模塊內(nèi)程序的復(fù)雜性。環(huán)形復(fù)雜度的計(jì)算方法: 方法一:流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度;方法二:流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù);方法三:流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點(diǎn)的數(shù)目第7章 實(shí)現(xiàn)1、什么是實(shí)現(xiàn)?選擇程序設(shè)計(jì)語(yǔ)言主要的實(shí)用標(biāo)準(zhǔn)有哪些?通常把編碼和測(cè)試統(tǒng)稱為實(shí)現(xiàn)。(1)系統(tǒng)用戶的要求(2)可以使用的編譯程序(3)可以得到的軟件工具(4)工程規(guī)模(5)程序員的知識(shí)(6)軟件可移植性要求(7)軟件的應(yīng)用領(lǐng)域2、軟件測(cè)試的目

23、的是什么?軟件測(cè)試方法的種類?為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程,測(cè)試階段的根本目標(biāo)是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶使用。3、軟件測(cè)試與軟件開發(fā)階段的關(guān)系?軟件開發(fā)過程是一個(gè)自頂向下、逐步細(xì)化的過程,而測(cè)試則是依相反的順序安排的,自底向上、逐步集成的過程。低一級(jí)為上一級(jí)測(cè)試準(zhǔn)備條件。4、軟件測(cè)試的步驟,過程。模塊測(cè)試-單元、子系統(tǒng)測(cè)試-局部、系統(tǒng)測(cè)試-全局、驗(yàn)收測(cè)試-用戶參與、平行運(yùn)行-新舊共存5、軟件測(cè)試的三大階段:?jiǎn)卧獪y(cè)試、集成測(cè)試(組裝測(cè)試)、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)的主要任務(wù)(目的)是什么?測(cè)試的內(nèi)容主要有哪些?測(cè)試計(jì)劃分別在什么時(shí)候制定?測(cè)試計(jì)

24、劃的內(nèi)容有哪些?模塊測(cè)試(單元測(cè)試)目的:是保證每個(gè)模塊作為一個(gè)單元能正確運(yùn)行。在編寫出源程序代碼并通過了編譯程序的語(yǔ)法檢查之后,就可以用詳細(xì)設(shè)計(jì)描述作指南,對(duì)重要的執(zhí)行通路進(jìn)行測(cè)試,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。內(nèi)容:1.模塊接口測(cè)試-檢測(cè)數(shù)據(jù)能否正確無誤地進(jìn)入和流出模塊2.路徑測(cè)試3.出錯(cuò)處理測(cè)試-測(cè)試程序中包含的出錯(cuò)處理是否有效4.邊界條件測(cè)試-檢測(cè)在數(shù)據(jù)邊界處,模塊能否正常工作單元測(cè)試計(jì)劃的時(shí)間:在詳細(xì)設(shè)計(jì)結(jié)束時(shí)制定,主要使用白盒測(cè)試技術(shù)集成測(cè)試任務(wù):在單元測(cè)試的基礎(chǔ)上,需要將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng),發(fā)現(xiàn)并排除在模塊連接的接口中可能出現(xiàn)的問題,最終構(gòu)成所要求的軟件系統(tǒng)。內(nèi)容:(1)

25、把各個(gè)模塊連接起來后,考察穿越模塊接口的數(shù)據(jù)是否會(huì)丟失或產(chǎn)生錯(cuò)誤(2)各個(gè)子功能組合起來,能否達(dá)到預(yù)期要求的主要功能(3)一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響(4)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有錯(cuò)誤(5)單個(gè)模塊的誤差累積起來,是否會(huì)被放大,從而達(dá)到不能被接受的程度集成測(cè)試計(jì)劃的時(shí)間:在總體設(shè)計(jì)結(jié)束時(shí)制定,詳細(xì)設(shè)計(jì)結(jié)束時(shí)補(bǔ)充確認(rèn)測(cè)試目的:也稱為稱驗(yàn)收測(cè)試。它的主要目標(biāo)是驗(yàn)證軟件的有效性。證實(shí)軟件功能與用戶需求是否一致,即測(cè)試軟件能否按照軟件需求規(guī)格說明書(合同)的要求運(yùn)行。內(nèi)容:有效性測(cè)試、軟件配置復(fù)查、驗(yàn)收測(cè)試確認(rèn)測(cè)試計(jì)劃的時(shí)間:在需求分析時(shí)制定,后續(xù)階段補(bǔ)充,通過黑盒測(cè)試技術(shù)。6、什么

26、是白盒測(cè)試?典型的白盒測(cè)試技術(shù)有哪幾個(gè),含義如何?簡(jiǎn)單的邏輯覆蓋測(cè)試用例設(shè)計(jì)。白盒測(cè)試的定義:也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。應(yīng)用時(shí)間:白盒測(cè)試在測(cè)試過程的早期階段進(jìn)行白盒測(cè)試技術(shù):1、邏輯覆蓋:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點(diǎn)覆蓋、邊覆蓋、路徑覆蓋;2、控制結(jié)構(gòu)測(cè)試:基本路徑測(cè)試、條件測(cè)試、循環(huán)測(cè)試。邏輯覆蓋測(cè)試的5種標(biāo)準(zhǔn) 發(fā)現(xiàn)錯(cuò)誤的能力標(biāo)準(zhǔn)含義1(弱)語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次 A=2,B=0,X=42判定覆蓋每一判定的

27、每個(gè)分支至少執(zhí)行一次 A=3,B=0,X=3 A=2,B=1,X=13條件覆蓋每一判定中的每個(gè)條件,分別按“真”、“假”至少各執(zhí)行一次A=2,B=0,X=4 A=1,B=1,X=14判定/條件覆蓋同時(shí)滿足判定覆蓋和條件覆蓋的要求A=2,B=0,X=4 A=1,B=1,X=15(強(qiáng))條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次條件覆蓋不一定包含判定覆蓋;判定覆蓋也不一定包含條件覆蓋。條件組合覆蓋是前述幾種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的。但是,滿足條件組合覆蓋標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù)并不一定能使程序中的每條路徑都執(zhí)行到。例子:7、什么是黑合測(cè)試?典型的黑盒測(cè)試技術(shù)有哪幾個(gè),含義如何?簡(jiǎn)單

28、的等價(jià)類劃分測(cè)試用例設(shè)計(jì)。黑盒測(cè)試的定義:著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。應(yīng)用時(shí)間:黑盒測(cè)試主要用于測(cè)試過程的后期。黑盒測(cè)試技術(shù):1、等價(jià)劃分;2、邊界值分析;3、錯(cuò)誤推測(cè)。例子1:時(shí)間報(bào)表(需8個(gè)測(cè)試實(shí)例)例子2:學(xué)號(hào)(需10個(gè)測(cè)試實(shí)例)第8章 維護(hù)1、什么是軟件維護(hù)、維護(hù)分哪四種類型、其含義分別是什么、在維護(hù)工作中占得比例如何?軟件維護(hù)定義:就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修正軟件的過程。維護(hù)分為四種類型:(1)改正性維護(hù):把整斷和改正錯(cuò)誤的過程稱為改正性維護(hù)(2)適應(yīng)性維護(hù):為了和變化的環(huán)境適當(dāng)?shù)呐浜隙M(jìn)行的修改軟件的活

29、動(dòng),(3)完善性維護(hù):在使用軟件的過程中用戶常常提出新增功能或修改已有功能的建議,為了滿足這類要求的活動(dòng)(4)預(yù)防性維護(hù):為了改進(jìn)將來的可維護(hù)性或可靠性;所占比例:完善性維護(hù):50%66% 改正性維護(hù):17%21% 適應(yīng)性維護(hù):18%25% 其他維護(hù):4%2、什么是軟件的可維護(hù)性?決定軟件可維護(hù)性的因素有哪些?造成軟件難以維護(hù)的原因有哪些?軟件的可維護(hù)性:是指軟件維護(hù)人員理解、糾正軟件系統(tǒng)出現(xiàn)的錯(cuò)誤和缺陷,以及為滿足新的要求進(jìn)行修改、擴(kuò)充或壓縮軟件的難易程度決定軟件可維護(hù)性的五個(gè)因素:(1)可理解性(2)可測(cè)試性(3)可修改性(4)可移植性(5)可重用性難以維護(hù)的原因:在于這些軟件的文檔不全、

30、質(zhì)量差、開發(fā)過程不注意采用好的方法,忽視程序設(shè)計(jì)風(fēng)格等。難以維護(hù)的根本原因:軟件定義和軟件開發(fā)的方法有缺點(diǎn),在軟件生命周期的頭兩個(gè)時(shí)期沒有嚴(yán)格而又科學(xué)的管理和規(guī)劃,沒有采用軟件工程思想開發(fā)軟件。3、文檔和可維護(hù)性之間的關(guān)系?文檔是影響軟件可維護(hù)性的決定因素,文檔往往比代碼更加重要;軟件系統(tǒng)的文檔可以分為用戶文檔和系統(tǒng)文檔兩類4、衡量軟件質(zhì)量的主要指標(biāo)?可維護(hù)性、可使用性、可靠性是衡量軟件質(zhì)量的主要指標(biāo)5、什么是軟件再工程?軟件再工程,也叫做修理或再生,是一類軟件工程活動(dòng)。它將逆向工程、重構(gòu)和正向工程組合起來,將現(xiàn)存系統(tǒng)重新構(gòu)造為新的形式。它從已存在的程序中重新獲得設(shè)計(jì)信息,而且使用這些信息來改

31、建或重構(gòu)現(xiàn)有的系統(tǒng),同時(shí)加進(jìn)新的功能或改善它的性能,以改進(jìn)它的綜合質(zhì)量。第13章 軟件項(xiàng)目管理1、什么是軟件項(xiàng)目管理?目的是什么?軟件項(xiàng)目管理的主要內(nèi)容是什么?主要職能是什么?軟件項(xiàng)目管理的定義:是為了實(shí)現(xiàn)項(xiàng)目目標(biāo),運(yùn)用相關(guān)的知識(shí)、技能、方法、工具,對(duì)項(xiàng)目的計(jì)劃、進(jìn)度、質(zhì)量、成本、資源進(jìn)行管理和控制的活動(dòng)。目的:通過計(jì)劃、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以達(dá)到既定目標(biāo)的過程。項(xiàng)目管理不僅是為了節(jié)約金錢,而且是為了節(jié)省時(shí)間,縮短產(chǎn)品的開發(fā)周期。內(nèi)容:(1) 人員的管理與組織(2) 軟件度量(3) 軟件項(xiàng)目計(jì)劃(4) 風(fēng)險(xiǎn)管理(5) 軟件質(zhì)量保證(6) 軟件過程能力評(píng)估(7) 軟

32、件配置管理主要職能:制定計(jì)劃、建立組織、配備人員、指導(dǎo)2、軟件規(guī)模估算的兩種典型方法是什么?含義分別是什么?代碼行技術(shù)含義:這種方法依據(jù)以往開發(fā)類似產(chǎn)品的經(jīng)驗(yàn)和歷史數(shù)據(jù),估計(jì)實(shí)現(xiàn)一個(gè)功能所需要的源程序行數(shù)代碼行技術(shù)估算方法:估計(jì)該程序模塊的最小規(guī)模(設(shè)為a)、最大規(guī)模(設(shè)為b)和最可能的規(guī)模(設(shè)為m),則計(jì)算單元規(guī)模的估計(jì)值為:功能點(diǎn)技術(shù)含義:依據(jù)對(duì)軟件信息域特性和軟件復(fù)雜性的評(píng)估結(jié)果,估算軟件規(guī)模3、軟件開發(fā)小組人員如何確定,人員個(gè)數(shù)怎么確定?根據(jù)軟件規(guī)模估算出完成項(xiàng)目所需的工作量,確定開發(fā)人員的個(gè)數(shù),并合理地組織項(xiàng)目組結(jié)構(gòu)。4、根據(jù)什么、如何確定軟件項(xiàng)目組的最佳規(guī)模,為什么存在項(xiàng)目組的最佳

33、規(guī)模?對(duì)于某一個(gè)組員來說,他與其他組員通信的路徑數(shù)在1(P-1)的范圍內(nèi)變化。如果不與任何人通信時(shí)個(gè)人生產(chǎn)率為L(zhǎng),而且每條通信路徑導(dǎo)致生產(chǎn)率減少l,則組員個(gè)人平均生產(chǎn)率為L(zhǎng)r=L-l(P-1)r(13.5)其中,r是對(duì)通信路徑數(shù)的度量,00)。對(duì)于一個(gè)規(guī)模為P的項(xiàng)目組,從(13.5)式導(dǎo)出項(xiàng)目組的總生產(chǎn)率為L(zhǎng)tot=P(L-l(P-1)r)(13.6)對(duì)于給定的一組L、l和r的值,總生產(chǎn)率Ltot是項(xiàng)目組規(guī)模P的函數(shù)。隨著P值增加,Ltot將從0增大到某個(gè)最大值,然后再下降。因此,存在一個(gè)最佳的項(xiàng)目組規(guī)模Popt,這個(gè)規(guī)模的項(xiàng)目組其總生產(chǎn)率最高。4、以工程網(wǎng)絡(luò)圖為工具,如何估算工程進(jìn)度(工程網(wǎng)絡(luò)圖如何畫)?5、什么是軟件質(zhì)量?它主要包括哪三方面的內(nèi)容?軟件質(zhì)量保證的三個(gè)措施及其具體內(nèi)容?軟件質(zhì)量的定義:就是“軟件與明確地和隱含地定義的需求向一致的程度”。更具體地說,軟件質(zhì)量是軟件與明確地?cái)⑹龅墓δ芎托阅苄枨?、文檔中明確描述的開發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開發(fā)的軟件產(chǎn)品但都應(yīng)該具有的隱含特征相一致的程度。它包括三方面含義:(1)軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論