安徽大學(xué)軟件工程復(fù)習(xí)題集_第1頁
安徽大學(xué)軟件工程復(fù)習(xí)題集_第2頁
安徽大學(xué)軟件工程復(fù)習(xí)題集_第3頁
安徽大學(xué)軟件工程復(fù)習(xí)題集_第4頁
安徽大學(xué)軟件工程復(fù)習(xí)題集_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

安徽大學(xué)軟件工程復(fù)習(xí)題集

第1章軟件工程概述

1、什么是軟件工程?為什么會出現(xiàn)軟件工程?

軟件工程是:①把系統(tǒng)的、標(biāo)準(zhǔn)的、可度量的途徑應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程

應(yīng)用于軟件;②研究①中提到的途徑。

軟件工作者在20世紀(jì)60年代后期開始認(rèn)真研究消除軟件危機(jī)的途徑,從而逐漸形成了一門新興的工程

學(xué)科——計(jì)算機(jī)軟件工程學(xué)(通常簡稱為軟件工程)。

2、什么是軟件工程方法學(xué)?軟件工程的3要素(軟件工程方法學(xué)的3要素)是什么?分別包含什么內(nèi)容?

軟件工程方法學(xué):軟件生命周期全過程中使用的一整套技術(shù)方法的集合

軟件工程方法學(xué)包含3個(gè)要素:方法、工具和過程。

方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,答復(fù)“怎樣做”的問題;

工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境;

過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。

目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。

3、什么是軟件過程?什么是軟件周期?常見軟件生命周期模型(課件中的前5類)的特點(diǎn)有哪些?

軟件過程:它是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步

驟。

軟件生命周期:由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)1也稱之為軟件維護(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ā)人員采用標(biāo)準(zhǔn)的技術(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)品不能真正滿足用戶的需求。

②快速原型模型

定義:所謂“快速原型〃,是快速建上起來的、可在計(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è)全新的軟件給客戶組織昔來的沖擊。

④螺旋模型

定義:螺旋模型的根本思想是,使用原型及其他方法盡量降低風(fēng)險(xiǎn)。理解這種模型的一個(gè)簡便方

法,是把它看作在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過程的快速原型模型。

螺旋模型所描述的軟件過程主要適用于內(nèi)部開發(fā)的大型軟件工程。

使用螺旋模型開發(fā)軟件,要求軟件開發(fā)人員具有豐富的風(fēng)險(xiǎn)評估知識和經(jīng)驗(yàn)。

螺旋模型主要有下述優(yōu)點(diǎn):A.有利于已有軟件的重用;

B.有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo);

C.減少了過多測試或測試缺乏所帶來的風(fēng)險(xiǎn);

D.軟件維護(hù)與軟件開發(fā)沒有本質(zhì)區(qū)別。

⑤噴泉模型

定義:迭代是軟件開發(fā)過程中普遍存在的一種內(nèi)在屬性。在面向?qū)ο蠓缎椭?,軟件開發(fā)過程各階段

之間的迭代或同一階段內(nèi)各個(gè)工作步驟之間的迭代,比在結(jié)構(gòu)化范型中更常見。

噴泉模型,是典型的面向?qū)ο笊芷谀P停浞直碇嗣嫦驅(qū)ο筌浖_發(fā)過程迭代和平滑過

渡的特性。

5、1.軟件生命周期概念

軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。

軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段,

軟件定義期:包括問題定義、可行性研究和需求分析3個(gè)階段:

軟件開發(fā)期:包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測試4個(gè)階段:

運(yùn)行維護(hù)期:即運(yùn)行維護(hù)階段。

表3-3軟件生命周期各階段的主要任務(wù)

任務(wù)描述

問題定義確定要求解決的問題是什么

可行性研究與方案制決定該問題是否存在?個(gè)可行的解決方法,指定完成開發(fā)任務(wù)的實(shí)施方案

需求分析對待開發(fā)軟件提出需求進(jìn)行分析并給出詳細(xì)定義。編寫軟件規(guī)格說明書及初步的用戶手冊,提交

評審

軟件設(shè)計(jì)通常又分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理

流程。這階段提交評審的文檔有概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書和測試方案初稿

軟件實(shí)現(xiàn)在軟件設(shè)計(jì)的根底上編寫程序。這階段完成的文檔有用戶手冊、操作手冊等面向用戶的文檔,以

及為下一步作準(zhǔn)備而編寫的單元測試方案

軟件測試在設(shè)計(jì)測試用例的根底上,檢驗(yàn)軟件的各個(gè)組成局部。編寫測試分析報(bào)告

運(yùn)行維護(hù)將已交付的軟件投入運(yùn)行,同時(shí)不斷的維護(hù),進(jìn)行必要而且可行的擴(kuò)充和刪改

第2章可行性研究

1、可行性研究包括哪幾方面(每方面解決什么問題),研究得到的文檔和結(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)流程圖:是什么,成份和根本符號,描述什么模型,畫法;

數(shù)據(jù)流圖:是什么,成份和根本符號,系統(tǒng)級和功能級、簡單細(xì)化數(shù)據(jù)流圖的區(qū)別,畫法;

數(shù)據(jù)字典:是什么,內(nèi)容、定義數(shù)據(jù)的方法。

⑴系統(tǒng)流程圖的定義:是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它用圖形符號以黑盒子形式描繪組成系統(tǒng)

的每個(gè)部件。

系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對數(shù)據(jù)進(jìn)行加工

處理的控制過程,是物理數(shù)據(jù)流圖而不是程序流程圖。

符號名稱說明

能麻雌僦雌心鼬加工蜥件,例虬程序、處理機(jī)、

處理

—人工加工等牌處理

表示輸入或輸■殖輸入乂鼬),是一個(gè)廣義的稀陽體

輸入輸出

U腦的朋

0連接指郵跳的另一部分或從圖的另一部分嘛.通儺冏一肚

換頁連接指出轉(zhuǎn)到另一頁肚或由另一頁圖轉(zhuǎn)來

--用槌接其他朋、概嬲㈣方K

系統(tǒng)流程圖的根本符號:------------------------------------------------------------

⑵數(shù)據(jù)流圖的定義:它是一種圖形化技術(shù),它描述信息和數(shù)據(jù)從輸入移動(dòng)到輸出過程中所經(jīng)歷的變換。

在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理

的邏輯過程。

數(shù)據(jù)流圖的根本符號:正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)或終點(diǎn);

圓角矩形(或圓形)代表變換數(shù)據(jù)的處理;

開口矩形〔或兩條平行橫線)代表數(shù)據(jù)存儲;

箭頭線表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。

⑶數(shù)據(jù)字典的定義:是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。

數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。

數(shù)據(jù)字典的內(nèi)容:數(shù)據(jù)流、數(shù)據(jù)流分量、數(shù)據(jù)存儲、處理

定義數(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ù)流圖和對數(shù)據(jù)流圖中每個(gè)元素的精確定義放在一起,

才能共同構(gòu)成系統(tǒng)的規(guī)格說明。

第3章需求分析

需求規(guī)格說明書

1、需求分析的任務(wù)是什么?分析得到的成果(文檔)是什么?包含哪些內(nèi)容?

1、需求分析的任務(wù):(1)確定對系統(tǒng)的綜合要求:功能需求、性能需求、可靠性和可用性需求、出錯(cuò)

處理需求、接口需求、約束、逆向需求、將來可能提出的要求(2)分析系統(tǒng)的數(shù)

據(jù)要求:13)導(dǎo)出系統(tǒng)的邏輯模型(4)修正系統(tǒng)開發(fā)方案:

2、需求分析得到的結(jié)果:是通過需求分析得到的除了分析模型之外,還應(yīng)該寫出軟件需求規(guī)格說明書,

它是需求分析階段得出的最主要的又檔。

2、軟件需求通常包括哪些方面?各類需求一般包含內(nèi)容有哪些?

(1)功能需求:這方面的需求指定系統(tǒng)必須提供的效勞。通過需求分析應(yīng)該劃分出系統(tǒng)必須完成的

所有功能。

(2)性能需求:性能需求指定系統(tǒng)必須滿足的定時(shí)約束或容量約束,通常包括速度(響應(yīng)時(shí)間)、信

息量速率、主存容量、磁盤容量、平安性等方面的需求。

(3)可靠性和可用性需求:可靠性需求定量地指定系統(tǒng)的可靠性??捎眯耘c可靠性密切相關(guān),它量

化了用戶可以使用系統(tǒng)的程度C

(4)出錯(cuò)處理需求:這類需求說明系統(tǒng)對環(huán)境錯(cuò)誤應(yīng)該怎樣響應(yīng)。

15)接口需求:接口需求描述應(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ù)分析將來很

可能會提出來的要求。這樣做的目的是,在設(shè)計(jì)過程中對系統(tǒng)將來可能的

擴(kuò)充和修改預(yù)做準(zhǔn)備,以便一旦確實(shí)需要時(shí)能比擬容易地進(jìn)行這種擴(kuò)充和

修改。

3、追加的主要描述工具的概念卻使用:

E-R圖;是什么,成份和根本符號,描述什么模型;

狀態(tài)轉(zhuǎn)換圖:是什么,描述什么模型

(1)E-R圖的定義:即實(shí)體一藤系圖,是表示數(shù)據(jù)對象及其之間關(guān)系的圖形語言機(jī)制,是建立數(shù)據(jù)模

型的圖形工具。

E-R圖的根本成份和使用的符號:實(shí)體(即數(shù)據(jù)而象)一一矩形框,關(guān)系一一菱形框,

屬性----橢圓形或圓角矩形。

E-R圖描述的模型:用來建立數(shù)據(jù)模型,ER模型使用簡單的圖形符號表達(dá)系統(tǒng)分析員對問題域

的理解

(2)狀態(tài)轉(zhuǎn)換圖的定義:通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的塞性,來表示系統(tǒng)的行為。

狀態(tài)轉(zhuǎn)換圖的根本成份和使用的符號:根木成分是狀態(tài)、事件、狀態(tài)轉(zhuǎn)換。

狀態(tài)轉(zhuǎn)換圖描述的模型:用來建立系統(tǒng)的行為模型。

4、在結(jié)構(gòu)化分析中,建模的核心是什么?3種模型分別是什么,分別用什么工具來描述?

建模的核心是數(shù)據(jù)字典,它描述了所有的在目標(biāo)系統(tǒng)中使月的和生成的數(shù)據(jù)對象。

(1)、數(shù)據(jù)模型,用實(shí)體-聯(lián)系圖描述;

12)、功能模型,用數(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ú)立性最重要的,是評價(jià)軟件

結(jié)構(gòu)質(zhì)量的首要標(biāo)準(zhǔn)。

模塊化設(shè)計(jì)的原理包括:模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨(dú)立。為了提高軟件的可

維護(hù)性,其中,模塊獨(dú)立性最重要的,是評價(jià)軟件結(jié)構(gòu)質(zhì)量的首要標(biāo)準(zhǔn)。

3、模塊獨(dú)立性度量(描述)的兩個(gè)指標(biāo):內(nèi)聚、耦合;什么是內(nèi)聚,什么是耦合;耦合和內(nèi)聚的具體分

類及使用原那么;在面向數(shù)據(jù)流的方法中,內(nèi)聚、耦合各分為哪幾級,每級的具體含義分別是什么?強(qiáng)

度從弱到強(qiáng)如何排列?耦合和內(nèi)聚兩者關(guān)系?

(1)耦合定義:它是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量;

低(無直接耦合強(qiáng)

(低耦合)數(shù)據(jù)耦合

特征耦合

(中耦合)控制耦合

?外部耦合

(較強(qiáng)耦合)缶共耦合

高(強(qiáng)耦合)內(nèi)容耦合

耦合使川原那么:盡量使用數(shù)據(jù)耦合,小川控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用

內(nèi)容耦合,最終降低模塊間接口的復(fù)雜性。

(2)內(nèi)聚定義:它標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自

然擴(kuò)展。

低偶然內(nèi)聚。分弱(功能分散)

邏輯內(nèi)聚1分

內(nèi)時(shí)間內(nèi)聚3分

聚過程內(nèi)聚5分

性通信內(nèi)聚7分

順序內(nèi)聚9分

強(qiáng)(功能單一)

高功能內(nèi)聚10分

內(nèi)聚分類:

內(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)該是力爭高內(nèi)聚、低耦合。

第6章詳細(xì)設(shè)計(jì)

1結(jié)構(gòu)化程序設(shè)計(jì)

1結(jié)構(gòu)化程序設(shè)計(jì)的原那么

結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原那么可以概括為自頂向下,逐步求精,模塊化,限制使用got。語句。

2結(jié)構(gòu)化程序的根本結(jié)構(gòu)與特點(diǎn)

1.順序結(jié)構(gòu)

2.選擇結(jié)構(gòu):選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu)。

3.重復(fù)結(jié)構(gòu):重復(fù)結(jié)構(gòu)又稱為循環(huán)結(jié)構(gòu)。

2、什么是過程設(shè)計(jì)的工具?分類?根本要求?

過程設(shè)計(jì)工具的定義:描述程序處理過程的工具

過程設(shè)計(jì)T?具的分類:它們可以分為圖形、表格、和語言3類.

過程設(shè)計(jì)工具的根本要求:不管是哪類工具,對它們的根本要求都是能提供對設(shè)計(jì)的無歧義的描述。

3、軟件詳細(xì)設(shè)計(jì)描述工具的概念和使用:程序流程圖、圖、PAD圖、PDL語言:是什么,根本符

號和表示的意義,畫法;各種工具描述結(jié)果間的轉(zhuǎn)換。

(1)程序流程圖的定義:又稱為程序框圖,它是歷史最悠久、使用最廣泛的描述過程設(shè)計(jì)的方法,然

而它也是用得最混亂的一種方法。

處理//輸入/出處理

判定

子程序調(diào)用

()起始/結(jié)束控制流

程序流程圖的根本符號:

(2)盒圖(N-S圖)的定義:出于要有一種不允許違背結(jié)構(gòu)程序設(shè)計(jì)精神的圖形工具的考慮,Nassi和

Shneiderman提出了盒圖。

它有下述特點(diǎn):

(1)功能域7即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。

(2)沒有箭頭,不可能任意轉(zhuǎn)移控制。

(3)很容易確定局部和全程數(shù)據(jù)的作用域。

(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。

盒圖(N-S圖)的根本符號:

(a)順序:(b)IF_THEB_ELSE型分支;(c)CASE型多分支:(d)循環(huán);(e)調(diào)用子程序

(3)PAD1問題分析圖)的定義:1973年由口本口立公司創(chuàng)造。它用二維樹形結(jié)構(gòu)的圖來表示程序的

控制流,將這種圖翻譯成程序代碼比擬容易。

PAD(問題分析圖)的根本符號:

(a)順序;(b)選擇(IFCTHENPlELSEP2);(c)CASE型多分支;(d)WHILE型循環(huán)(WHILEC

DOP);(e)UNTIL型循環(huán)(REPEATPUNTIL0;(f)語句標(biāo)號;(g)定義

(3)過程設(shè)計(jì)語言(PDL)的定義:也稱為偽碼,PDL是一種“混雜〃語言,它使用一種語言的詞匯,同

時(shí)卻使用另一種語言(某種結(jié)構(gòu)化的程序設(shè)計(jì)語言)的語法,

PROCEDUREAddSalarylS

BEGIN

打開文件

打印表頭

while(IW200)de

讀一個(gè)工資記求

ifS<36000then

S'=S+15(TN+100*Y

ifS〉36000then

S*=36000

endif

用S,更新工資文件中的S

endif

打印表中的一行

enddo

關(guān)閉文件

過程設(shè)計(jì)語言(PDL)的舉例:END

第7章實(shí)現(xiàn)

1、軟件測試的目的是什么?軟件測試方法的種類?

為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程,測試階段的根本目標(biāo)是盡可能多地發(fā)現(xiàn)并排除軟件中潛藏的

錯(cuò)誤,最終把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶使用。

2、軟件測試與軟件開發(fā)階段的關(guān)系?

軟件開發(fā)過程是一個(gè)自頂向下、逐步細(xì)化的過程,而測試那么是依相反的順序安排的,自底向上、

逐步集成的過程。低一級為上一級測試準(zhǔn)備條件。

3、軟件測試的步驟,過程。

模塊測試一一單元、子系統(tǒng)測試一一局部、系統(tǒng)測試一一全局、驗(yàn)收測試一一用戶參與、平行運(yùn)行一一

新舊共存

4、軟件測試的三大階段:單元測試、集成測試(組裝測試)、確認(rèn)測試(驗(yàn)收測試)的主要任務(wù)(目的)是什

么?測試的內(nèi)容主要有哪些?測試方案分別在什么時(shí)候制定?測試方案的內(nèi)容有哪些?

模塊測試(單元測試)

目的:是保證每個(gè)模塊作為一個(gè)單元能正確運(yùn)行。在編寫H源程序代碼并通過了編譯程序的語法檢

查之后,就可以用詳細(xì)設(shè)計(jì)描述作指南,對重要的執(zhí)行通路進(jìn)行測試,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。

內(nèi)容:

1.模塊接口測試----檢測數(shù)據(jù)能否正確無誤地進(jìn)入和流出模塊

2.路徑測試

3.出錯(cuò)處理測試一一測試程序中包含的出錯(cuò)處理是否有效

4.邊界條件測試一一檢測在數(shù)據(jù)邊界處,模塊能否正常工作

單元測試方案的時(shí)間:在詳細(xì)i殳計(jì)結(jié)束時(shí)制定,主要使用白盒測試技術(shù)

集成測試

任務(wù):在單元測試的根底上,需要將所有模塊按照設(shè)計(jì)要求組裝成為系統(tǒng),發(fā)現(xiàn)并排除在模塊連

接的接口中可能出現(xiàn)的問題,最終構(gòu)成所要求的軟件系統(tǒng)“

內(nèi)容:

(D把各個(gè)模塊連接起來后,考察穿越模塊接口的數(shù)據(jù)是否會喪失或產(chǎn)生錯(cuò)誤

(2)各個(gè)子功能組合起來,能否到達(dá)預(yù)期要求的主要功能

(3)一個(gè)模塊的功能是否會對另一個(gè)模塊的功能產(chǎn)生不利的影響

(4)全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有錯(cuò)誤

(5)單個(gè)模塊的誤差累積起來,是否會被放大,從而到達(dá)不能被接受的程度

集成測試方案的時(shí)間:在總體設(shè)計(jì)結(jié)束時(shí)制定,詳細(xì)設(shè)計(jì)結(jié)束時(shí)補(bǔ)充

確認(rèn)測試

目的:也稱為稱驗(yàn)收測試。它的主要目標(biāo)是驗(yàn)證軟件的有效性。證實(shí)軟件功能與用戶需求是否一致,

即測試軟件能否按照軟件需求規(guī)格說明書(合同)的要求運(yùn)行。

內(nèi)容:有效性測試、軟件配置復(fù)查、驗(yàn)收測試

確認(rèn)測試方案的時(shí)間:在需求分析時(shí)制定,后續(xù)階段補(bǔ)充,通過黑盒測試技術(shù)。

5、什么是白盒測試?典型的白盒測試技術(shù)有哪幾個(gè),含義如何?簡單的邏輯覆蓋測試用例設(shè)計(jì)。

白盒測試的定義:也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測

產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否

都能按預(yù)定要求正確工作。

應(yīng)用時(shí)間:白盒測試在測試過程的早期階段進(jìn)行

白盒測試技術(shù):1、邏輯覆蓋:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋、點(diǎn)覆

蓋、邊覆蓋、路徑覆蓋;

2、控制結(jié)構(gòu)測試:根本路徑測試、條件測試、循環(huán)測試。

邏輯覆蓋測試的5種標(biāo)準(zhǔn)

發(fā)現(xiàn)錯(cuò)誤的

標(biāo)準(zhǔn)含義

能力

發(fā)現(xiàn)錯(cuò)誤的

標(biāo)準(zhǔn)含義

能力

11弱)語句覆蓋每條語句至少執(zhí)行一次A=2,B=0,X=4

每一判定的每個(gè)分支至少執(zhí)行一次A=3,B=0,X=3

2判定覆蓋

A=2,B=l,X=1

每一判定中的每個(gè)條件,分別按“真"、"假"至少各

3條件覆蓋

執(zhí)行一次A=2,B=0,X=4A=l,B=l,X=1

同時(shí)滿足判定覆蓋和條件覆蓋的要求A=2,B=0,X=4

4判定/條件覆蓋

A=l,B=l,X=1

求出判定中所有條件的各種可能組合值,每一可能的條

5(強(qiáng))條件組合覆蓋

件組合至少執(zhí)行一次

?條件覆蓋不一定包含判定覆蓋;判定覆蓋也不一定包含條件覆蓋。

?條件組合覆蓋是前述幾種覆蓋標(biāo)準(zhǔn)中最強(qiáng)的。但是,滿足條件組合覆蓋標(biāo)準(zhǔn)的測試數(shù)據(jù)并不一定

能使程序中的每條路徑都執(zhí)行到O

s(人U)

d(返叵1)

例子:

第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)行的修改軟件的活動(dòng),(3)完善性維護(hù):在使用軟件的過程中用戶常常

提出新增功能或修改已有功能的建議,為了滿足這類要求的活動(dòng)(4)預(yù)防性維護(hù):為了改良將來的可

維護(hù)性或可靠性;

所占比例:完善性維護(hù):50%?66%改正性維護(hù):17與?2居適應(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)可測試性(3)可修改性(4)可移植性(5)可重用

定以維護(hù)的原因:在于這些軟件的文檔不全、質(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)文檔兩類

.軟件系統(tǒng)的文檔可以分為用戶文檔和系統(tǒng)文檔兩類.用戶文檔主要描述系統(tǒng)功能和使用方法,并不關(guān)心

這些功能是怎樣實(shí)現(xiàn)的;系統(tǒng)文檔描述系統(tǒng)發(fā)設(shè)計(jì),實(shí)現(xiàn)和測試等各方面的內(nèi)容”

8.4.2文檔

分類

用戶文檔:主要描述系統(tǒng)功能和使用方法,并不關(guān)心這些功能是怎樣實(shí)現(xiàn)的

系統(tǒng)文檔:描述系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測試等各方面的內(nèi)容

文檔要求

必須描述如何使用這個(gè)系統(tǒng),沒有這種描述時(shí)即使是最簡單的系統(tǒng)也無法使用;

必須描述怎樣安裝和管理這個(gè)系統(tǒng);

必須描述系統(tǒng)需求和設(shè)計(jì);

必須描述系統(tǒng)的實(shí)現(xiàn)和測試,以便使系統(tǒng)成為可維護(hù)的

用戶文檔

功能描述,說明系統(tǒng)能做什么;

安裝文檔,說明怎樣安裝這個(gè)系統(tǒng)以及怎樣使系統(tǒng)適應(yīng)特定的硬件配置;

使用手冊,簡要說明如何著手使用這個(gè)系統(tǒng)(應(yīng)該通過豐富例子說明怎樣使用常用的系統(tǒng)功能,還應(yīng)該

說明用戶操作錯(cuò)誤時(shí)怎樣恢復(fù)和重新啟動(dòng)):

參考手冊,詳盡描述用戶可以使用的所有系統(tǒng)設(shè)施以及它們的使用方法,還應(yīng)該解釋系統(tǒng)可能產(chǎn)生的各

種出錯(cuò)信息的含義(對參考手冊最主要的要求是完整,因此通常使用形式化的描述技術(shù));

操作員指南(如果需要有系統(tǒng)操作員的話),說明操作員應(yīng)該如何處理使用中出現(xiàn)的各種情況。

8.4.2文檔

系統(tǒng)文檔

問題定義、需求說明到驗(yàn)收測試方案這樣一系列和系統(tǒng)實(shí)現(xiàn)有關(guān)的文檔

4、衡量軟件質(zhì)量的主要指標(biāo)?

可維護(hù)性、可使用性、可靠性是衡量軟件質(zhì)量的主要指標(biāo)

9.面向?qū)ο蟮母拍?/p>

9.2.1對象

是客觀事物或概念的抽象表述,即對客觀存在的事物的描述統(tǒng)稱為對象

對象可以是事、物、或抽象概念,是將一組數(shù)據(jù)和使用該數(shù)據(jù)的一組根本操作或過程封裝在一起的實(shí)

體。

對象的特點(diǎn)

(1)以數(shù)據(jù)為中心。

(2)對象是主動(dòng)的。

(3)實(shí)現(xiàn)了數(shù)據(jù)封裝。

(4)本質(zhì)上具有并行性。

(5)模塊獨(dú)立性好。

9.2.2類

類又稱對象類(ObjectClass),是一組具有相同屬性和相同操作的對象的集合。在一個(gè)類中,每個(gè)

對象都是類的實(shí)例(instance),它們都可以使用類中提供的函數(shù)。

9.2.3實(shí)例

實(shí)例就是由某個(gè)特定的類所描述的一個(gè)具體的對象。類是對具有相同屬性和行為的一組相似的對象的

抽象,類在現(xiàn)實(shí)世界中并不能真正存在。

9.2.4消息

消息就是向?qū)ο蟀l(fā)出的效勞請求(互相聯(lián)系、協(xié)同工作等)。一個(gè)消息包含3個(gè)局部:接收消息的對

象,消息名,消息變元。

例如,MyCirclc是Circle類的一個(gè)實(shí)例,發(fā)送消息如下:MyCircle.show(GREEN);

9.2.5方法

方法就是對象所能執(zhí)行的操作,也就是類中所定義的效勞。

方法描述了對象執(zhí)行操作的算法,響應(yīng)消息的方法。在C++語言中把方法稱為成員函數(shù)。

9.2.6屬性

屬性就是類中所定義的數(shù)據(jù),它是對客觀世界實(shí)體所具有的性質(zhì)的抽象.0

9.2.7封裝

對象封裝了對象的數(shù)據(jù)以及對這些數(shù)據(jù)的操作。

9.2.8繼承

繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。在面向?qū)ο蟮能浖夹g(shù)中,繼承是

子類自動(dòng)地共享基類中定義的數(shù)據(jù)和方法的機(jī)制。

單重繼承:子類僅從一個(gè)父類繼承屬性和方法

多重繼承:子類可從多個(gè)父類繼承屬性和方法

9.2.9多態(tài)性

在類等級的不同層次中可以共享(公用)一個(gè)行為(方法)的名字,然而不同層次中的每個(gè)類卻各自按白

己的需要來實(shí)現(xiàn)這個(gè)行為。

當(dāng)對象接收到發(fā)送給它的消息時(shí),根據(jù)該對象所屬于的類動(dòng)態(tài)選用在該類中定義的實(shí)現(xiàn)算法

有兩種重載:函數(shù)重載是指在同一作用域內(nèi)的假設(shè)十個(gè)參數(shù)特征不同的函數(shù)可以使用相同的函數(shù)名字;

運(yùn)算符重載是指同一個(gè)運(yùn)算符可以施加r不同類型的操作數(shù)上面。當(dāng)然,當(dāng)參數(shù)特征不同或被操作數(shù)的

類型不同時(shí),實(shí)現(xiàn)函數(shù)的算法或運(yùn)算符的語義是不相同的。重載進(jìn)一步提高了面向?qū)ο笙到y(tǒng)的靈活性和

可讀性。

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

類與類之間關(guān)系有:關(guān)聯(lián),聚集,泛化(繼承),依賴,細(xì)化

9.4.2.1關(guān)聯(lián)

關(guān)聯(lián)表示兩個(gè)類的對象之間存在某種語義上的聯(lián)系。

(1)普通關(guān)聯(lián)

普通關(guān)聯(lián)例如

在表示關(guān)聯(lián)的直線兩端可以寫上重?cái)?shù)(multiplicity),它表示該類有多少個(gè)對象與對方的一個(gè)對象

連接。重?cái)?shù)的表示方法通常有:

0-1表示0到1個(gè)對象

0…*或*表示0到多個(gè)對象

1+或1…*表示1到多個(gè)對象

1-15表示1到15個(gè)對象

3表示3個(gè)對象

如果圖中未明確標(biāo)出關(guān)聯(lián)的重?cái)?shù),那么默認(rèn)重?cái)?shù)是lo

(2)關(guān)聯(lián)的角色

在任何關(guān)聯(lián)中都會涉及到參與此關(guān)聯(lián)的對象所扮演的角色(即起的作用),在某些情況下顯式標(biāo)明角

色名有助于別人理解類圖。如果沒有顯式標(biāo)出角色名,那么意味著用類名作為角色名。

(3)限定關(guān)聯(lián)

限定關(guān)聯(lián)通常用在一對多或多對多的關(guān)聯(lián)關(guān)系中,可以把模型中的重?cái)?shù)從一對多變成一對一,或從多

對多簡化成多對一。在類圖中把限定詞放在關(guān)聯(lián)關(guān)系末端的一個(gè)小方框內(nèi)。

(4)關(guān)聯(lián)類

為了說明關(guān)聯(lián)的性質(zhì)可能需要一些附加信息??梢砸胍粋€(gè)關(guān)聯(lián)類來記錄這些信息。關(guān)聯(lián)中的每個(gè)連

接與關(guān)聯(lián)類的一個(gè)對象相聯(lián)系。關(guān)聯(lián)類通過一條虛線與關(guān)聯(lián)連接。

9.4.2.2聚集

聚集是一種特殊的關(guān)聯(lián),它指出類間的“整體-局部"關(guān)系。

(1)共享聚集

如果在聚集關(guān)系中處于局部方的對象可同時(shí)參與多個(gè)處于整體方對象的構(gòu)成,那么該聚集稱為共享聚

集。

(2)組合聚集

如果局部類完全隸屬于整體類,局部與整體共存,整體不存在了局部也會隨之消失,那么該聚集稱為

組合聚集。

9.4.2.3泛化

?UML中的泛化關(guān)系就是通常所說的繼承關(guān)系。

(1)普通泛化

(2)受限泛化

可以給泛化關(guān)系附加約束條件,以進(jìn)一步說明該泛化關(guān)系的使用方法或擴(kuò)充方法,這樣的泛化關(guān)系稱

為受限泛化。預(yù)定義的約束有4種:多重、不相交、完全和不完全。下列圖:多重繼承

9.4.2.3泛化(IH)

完全繼承指的是父類的所有子類都已在類圖中窮舉出來了,圖示符號是指定(完全)約束。

不完全繼承與完全繼承恰好和反,父類的子類并沒有都窮舉出來,不完全繼承是一般情況下默認(rèn)的繼

承關(guān)系9.4.2.4依賴

依賴關(guān)系表示:其中一個(gè)模型元素是獨(dú)立的,另一個(gè)模型元素不是獨(dú)立的,它依賴于獨(dú)立的模型元素,

如果獨(dú)立的模型元素改變了,將影響依賴于它的模型元素。

9.4.2.5細(xì)化

當(dāng)對同一個(gè)事物在不同抽象層次上描述時(shí),這些描述之間具有細(xì)化關(guān)系。假設(shè)兩個(gè)模型元素A和B描

述同一個(gè)事物,它們的區(qū)別是抽象層次不同,如果B是在A的根底上的更詳細(xì)的描述,那么稱B細(xì)化了

A,或稱A細(xì)化成了B。

9.3面向?qū)ο蠼C嫦驅(qū)ο箝_發(fā)軟件,需要建立3種形式的模型。

對象模型。描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)一數(shù)據(jù)結(jié)構(gòu).

動(dòng)態(tài)模型。描述系統(tǒng)控制結(jié)構(gòu)一執(zhí)行操作。

功能模型。描述系統(tǒng)功能一數(shù)值變化。

這三種模型從不同側(cè)面描述了對系統(tǒng)的需求。在面向?qū)ο筚⒎治?00A)階段,這三種模型是必不可少

的。

9.4對象模型

對象模型描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。00方法強(qiáng)調(diào)圍繞對象而不是功能來構(gòu)造系統(tǒng)。

使用統(tǒng)一建模語言UML(UnifiedModelingLanguage)提供的類圖來建'Z對象模型。

UML用例圖是建立功能模型的有力工具。

動(dòng)態(tài)模型描述系統(tǒng)控制結(jié)構(gòu)。通常用狀態(tài)圖表不。

上升

超時(shí)

功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,通常,功能模型由一組數(shù)據(jù)

流圖組成。

UML提供的用例圖也是進(jìn)行需求分析和建立功能模型的強(qiáng)有力工具。

對象模型動(dòng)態(tài)模型功能模型

對象的靜態(tài)結(jié)構(gòu)及相互與時(shí)間和順序有關(guān)的系與值的變化有關(guān)的系統(tǒng)

關(guān)系統(tǒng)性質(zhì)性質(zhì)

描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)控制結(jié)構(gòu)系統(tǒng)的功能

“干事的主體〃“什么時(shí)候干〃“干什么〃

第13章軟件工程管理

1、什么是軟件工程管理?目的是什么?軟件工程管理的主要內(nèi)容是什么?主要職能是什么?

軟件工程管理的定義:是為了實(shí)現(xiàn)工程目標(biāo),運(yùn)用相關(guān)的知識、技能、方法、工具,對工程的方案、進(jìn)

度、質(zhì)量、本錢、資源進(jìn)行管理和控制的活動(dòng)。

目的:通過方案、組織和控制等一系列活動(dòng),合理地配置和使用各種資源,以到達(dá)既定目標(biāo)的過程。工

程管理不僅是為了節(jié)約金錢,而且是為了節(jié)省時(shí)間,縮短產(chǎn)品的開發(fā)周期。

內(nèi)容:

(1)人員的管理與組織

(2)軟件度量

(3)軟件工程方案

(4)風(fēng)險(xiǎn)管理

(5)軟件質(zhì)量保證

(6)軟件過程能力評估

(7)軟件配置管理

主要職能:制定方案、建立組織、配備人員、指導(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ì)值為:

6

功能點(diǎn)技術(shù)含義:依據(jù)對軟件信息域特性和軟件復(fù)雜性的評估結(jié)果,估算軟件規(guī)模

3、軟件開發(fā)小組人員如何確定,人員個(gè)數(shù)怎么確定?

根據(jù)軟件規(guī)模估算出完成工程所需的工作量,確定開發(fā)人員的個(gè)數(shù),并合理地組織工程組結(jié)構(gòu)。

4、根據(jù)什么、如何確定軟件工程組的最正確規(guī)模,為什么存在工程組的最正確規(guī)模?

對于某一個(gè)組員來說,他與其他組員通信的路徑數(shù)在1~(P-1)的范圍內(nèi)變化。如果不與任何人通信時(shí)

個(gè)人生產(chǎn)率為L,而且每條通信路徑導(dǎo)致生產(chǎn)率減少1,那么組員個(gè)人平均生產(chǎn)率為

Lr=L-l(P-l)r(13.5)

其中,r是對通信路徑數(shù)的度量,()<W1(假設(shè)至少有一名組員需要與一個(gè)以上的其他組員通信,因此00)。

對于一個(gè)規(guī)模為P的工程組,從(13.5)式導(dǎo)出工程組的總生產(chǎn)率為

L:ot=P(L-l(P-l)r)(13.6)

對于給定的一組L、1和r的值,總生產(chǎn)率Ltot是工程組規(guī)模P的函數(shù)。隨著P值增加,Ltot將從。增

大到某個(gè)最大值,然后再下降。因此,存在一個(gè)最正確的工程組規(guī)模Popt,這個(gè)規(guī)模的工程組其總生產(chǎn)

率最高。

4、以工程網(wǎng)絡(luò)圖為工具,如何估算工程進(jìn)度(工程網(wǎng)絡(luò)圖如何圓)?

5、什么是軟件質(zhì)量?它主要包括哪三方面的內(nèi)容?軟件質(zhì)量保證的三個(gè)措施及其具體內(nèi)容?

軟件質(zhì)量的定義:就是“軟件與明確地和隱含地定義的需求向一致的程度"。更具體地說,軟件質(zhì)量是

軟件與明確地表達(dá)的功能和性能需求、文檔中明確描述的開發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開發(fā)

的軟件產(chǎn)品但都應(yīng)該具有的隱含特征相一致的程度。

它包括三方面含義:3)軟件需求是度量軟件質(zhì)量的根底,與需求不一致就是質(zhì)量不高;

(2)指定的開發(fā)標(biāo)準(zhǔn)定義了一組指導(dǎo)軟件開發(fā)的準(zhǔn)那么,如果沒有遵守這些準(zhǔn)那么,

肯定會導(dǎo)致軟件質(zhì)量不高;

(3)通常,有一組沒有顯式描述的隱含需求(例如,軟件應(yīng)該是容易維護(hù)的)。如

果軟件滿足明確描述的需求,但卻不滿足隱含的需求,那么軟件的質(zhì)量仍然是

值得疑心的;

軟件質(zhì)量保證的措施:(1)基于非執(zhí)行的測試即復(fù)審,在編碼開始之前,對前期產(chǎn)生的各種文檔進(jìn)行檢

查(閱讀和審查);

(2)基于執(zhí)行的測試即軟件測試;

(3)程序正確性證明,使用數(shù)學(xué)方法嚴(yán)格驗(yàn)證程序是否與對它的說明完全一致。

6、什么是軟件配置項(xiàng)、什么是軟件配置(包含的內(nèi)容)、什么是基線(在什么時(shí)候產(chǎn)生)?

軟件配置項(xiàng):1、計(jì)算機(jī)程序(源代碼和可執(zhí)行程序);2、描述計(jì)算機(jī)程序的文檔(供技術(shù)人員或用戶

使用);3、數(shù)據(jù)(程序內(nèi)包含的或在程序外的)。

軟件配置的定義:是指一個(gè)軟件產(chǎn)品在軟件生存周期各個(gè)階段所產(chǎn)生的各種形式(機(jī)器可讀或人工可讀)

和各種版本依文檔、程序及其數(shù)據(jù)的集合。

基線的定義:通過了正式復(fù)審的軟件配置項(xiàng)稱為基線,只有通過正式的變化控制過程才能改變它。是一

個(gè)軟件配置管理概念,它有助于人們在不嚴(yán)重阻礙合理變化的前提下來控制變化。

7、軟件配置管理的工作(任務(wù))包括哪幾方面?

軟件配置管理主要有5項(xiàng)任務(wù):標(biāo)識軟件配置項(xiàng)、版本控制、變化控制、配置審計(jì)、狀態(tài)報(bào)告。

8、什么是CMM,它的根本思想是什么?

CMM是指能力成熟度模型,是用于評價(jià)軟件機(jī)構(gòu)的軟件過程能力成熟度的模型

CMM(能力成熟度模型)的根本思想是:由于問題是由人們管理軟件過程的方法不當(dāng)引起的,所以新

軟件技術(shù)的運(yùn)用并不會自動(dòng)提高軟件的生產(chǎn)率和質(zhì)量。CMM有助于軟件開發(fā)機(jī)構(gòu)建立一個(gè)有規(guī)律的、

成熟的軟件過程。改良后的軟件過程將開發(fā)出質(zhì)量更好的軟件,使更多的軟件工程免受時(shí)間延誤和費(fèi)用

超支之苦。

9、CMM的兩個(gè)主要應(yīng)用分別是什么?

軟件過程評估和軟件能力評價(jià)。

10、CMM有哪5個(gè)等級,其根本含義分別是什么?

I初始級:軟件過程的特征是無序的,有時(shí)甚至是混亂的。

2、可重復(fù)級:軟件機(jī)構(gòu)建立了很本的工程管理過程(過程模型),可跟蹤本錢、進(jìn)度、功能和質(zhì)量。

3、已定義級:軟件機(jī)構(gòu)已經(jīng)定義了完整的軟件過程(過程模型),軟件過程已經(jīng)文檔化和標(biāo)準(zhǔn)化。所有

的工程組都使用文檔化的、經(jīng)過批準(zhǔn)的過程來開發(fā)和維護(hù)軟件。

4、已管理級:軟件機(jī)構(gòu)對軟件過程(過程模型和過程實(shí)例)和軟件產(chǎn)品都建立了定量的質(zhì)量目標(biāo),所

有工程的重要的過程活動(dòng)都是可度量的。

5、優(yōu)化級:軟件機(jī)構(gòu)集中精力持續(xù)不斷地改良軟件過程。這一級的軟件機(jī)構(gòu)是一個(gè)以防止出現(xiàn)缺陷為

目標(biāo)的機(jī)構(gòu),它有能力識別軟件過程要素的薄弱環(huán)節(jié),并有足夠的手段改良它們,

安徽大學(xué)2023-2023學(xué)年第」一學(xué)期

《軟件工程》考試試卷(A卷)

(時(shí)間120分鐘)

院/系專業(yè)姓名學(xué)號

題號一二三四總分

得分

一、單項(xiàng)選擇題(每題2分,共20分){―—―|------------

得分

1.()

軟件工程的三要素是過程、、工具。

A.文檔B.代碼C.數(shù)據(jù)D.方法

2.()

修改一個(gè)已有的庫存清單系統(tǒng),使它能在每天送給采購員一份定貨報(bào)表。修改已有的庫存清單并且編寫

產(chǎn)生報(bào)表的程序,估計(jì)共需3000元;系統(tǒng)修改后,能及時(shí)定貨將消除零件短缺影響生產(chǎn)的問題,估計(jì)

因此每年可以節(jié)省2500元,假設(shè)年利率為12$,軟件的生存周期是2年,開發(fā)該軟件的純收入是多少?

A.2232.14B.1225.12C.3000D.2000

3.()

一個(gè)程序向另一個(gè)子程序傳遞姓名、住址、號碼、生日和身份證號碼等五個(gè)變量。它們之間的耦合

屬于

A.標(biāo)記耦合B.控制耦合C.數(shù)據(jù)耦合D.公共耦合

4.()

可行性研究主要從以下幾個(gè)方面進(jìn)行研究:

A技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性。

B.技術(shù)可行性,經(jīng)濟(jì)可行性,系統(tǒng)可行性。

C.經(jīng)濟(jì)可行性,系統(tǒng)可行性,操作可行性。

D.經(jīng)濟(jì)可行性,系統(tǒng)可行性,時(shí)間可行性。

5.()

CMM提供了??個(gè)框架,將軟件過程改良的進(jìn)化步驟組織成5個(gè)成熟度等級。除第1級外,每個(gè)等級都包

含了實(shí)現(xiàn)該成熟度等級目標(biāo)的假設(shè)干

A.關(guān)鍵實(shí)踐B.關(guān)鍵過程域C.軟件過程能力D.軟件過程

6.()

“國家一一中國”之間的關(guān)系屬于

A繼承B關(guān)聯(lián)C聚合D類一一實(shí)例

7.()

面向?qū)ο蠓治鍪菍ο到y(tǒng)進(jìn)行的一種方法。

A需求建模B程序設(shè)計(jì)C設(shè)計(jì)評審D測試驗(yàn)收

8.()

結(jié)構(gòu)化分析方法中,數(shù)據(jù)流程圖屬于

A對象模型B功能模型C行為模型D數(shù)據(jù)模型

9.()

Jackson圖屬于階段使用到的圖形工具。

A需求分析B概要設(shè)計(jì)C詳細(xì)設(shè)計(jì)D軟件實(shí)現(xiàn)

10.()

耦合是對軟件

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論