2021年3月南開(kāi)大學(xué)期末復(fù)習(xí)資料軟件工程與軟件測(cè)試技術(shù)_第1頁(yè)
2021年3月南開(kāi)大學(xué)期末復(fù)習(xí)資料軟件工程與軟件測(cè)試技術(shù)_第2頁(yè)
2021年3月南開(kāi)大學(xué)期末復(fù)習(xí)資料軟件工程與軟件測(cè)試技術(shù)_第3頁(yè)
2021年3月南開(kāi)大學(xué)期末復(fù)習(xí)資料軟件工程與軟件測(cè)試技術(shù)_第4頁(yè)
2021年3月南開(kāi)大學(xué)期末復(fù)習(xí)資料軟件工程與軟件測(cè)試技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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)介

《軟件工程與軟件測(cè)試技術(shù)》課程

期末復(fù)習(xí)資料

《軟件工程與軟件測(cè)試技術(shù)》課程講稿章節(jié)目錄及知識(shí)點(diǎn):

第1章概述

(1)了解軟件的定義

(2)了解軟件危機(jī)的產(chǎn)生

(3)了解軟件工程的定義

第2章軟件過(guò)程

(1)掌握軟件過(guò)程的定義

(2)掌握軟件生命周期的幾個(gè)階段

(3)掌握瀑布模型、快速原型模型、軟件開(kāi)發(fā)模型的基本過(guò)程,了解其優(yōu)缺

,(4)掌握增量模型、螺旋模型、噴泉模型的基本過(guò)程,了解其優(yōu)缺點(diǎn)

第3章可行性研究

(1)了解可行性研究的目的與任務(wù)

(2)掌握系統(tǒng)流程圖

(3)掌握數(shù)據(jù)流圖

(4)掌握數(shù)據(jù)字典

(5)了解成本-效益分析的方法

第4章軟件需求分析

(1)了解需求分析的任務(wù)

(2)掌握需求獲取的常用方法

(3)掌握結(jié)構(gòu)化分析方法

(4)熟練使用需求分析圖形工具

第5章軟件總體設(shè)計(jì)

(1)了解軟件設(shè)計(jì)和總體設(shè)計(jì)的定義

(2)掌握模塊化、抽象和信息隱蔽和局部化的原理

(3)掌握模型快獨(dú)立性和衡量標(biāo)準(zhǔn)

(4)掌握軟件結(jié)構(gòu)設(shè)計(jì)準(zhǔn)則

(5)熟練使用軟件結(jié)構(gòu)設(shè)計(jì)圖形工具

(6)掌握結(jié)構(gòu)化設(shè)計(jì)方法

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

(1)了解詳細(xì)設(shè)計(jì)的目標(biāo)和任務(wù)

(2)掌握程序流程圖、盒圖等程序設(shè)計(jì)工具的使用

(3)掌握程序判定表、判定樹(shù)等程序設(shè)計(jì)工具的使用

(4)掌握人機(jī)界面設(shè)計(jì)的原則和方法

第7章軟件編碼

(1)掌握程序設(shè)計(jì)語(yǔ)言的選擇準(zhǔn)則

(2)掌握程序設(shè)計(jì)風(fēng)格要點(diǎn)

第8章軟件測(cè)試

(1)掌握軟件測(cè)試的目標(biāo)和原則

(2)掌握幾種軟件測(cè)試方法的定義

(3)掌握語(yǔ)句覆蓋、判定覆蓋等邏輯覆蓋方法

(4)掌握條件覆蓋、條件組合覆蓋等邏輯覆蓋方法

(5)掌握循環(huán)測(cè)試和基本路徑測(cè)試基本方法

(6)掌握等價(jià)類(lèi)劃分的方法

(7)掌握邊界值分析、錯(cuò)誤推測(cè)和因果圖的原理和方法

(8)掌握單元測(cè)試方法

(9)掌握集成測(cè)試方法

(10)掌握確認(rèn)測(cè)試和系統(tǒng)測(cè)試方法

(11)掌握軟件調(diào)試的方式

第9章軟件維護(hù)

(1)了解軟件維護(hù)定義

(2)掌握軟件維護(hù)過(guò)程

(3)掌握軟件可維護(hù)定義和方法

(4)了解軟件維護(hù)中存在的問(wèn)題

第10章面向?qū)ο蠓椒▽W(xué)

(1)了解面向?qū)ο蠓椒ǘx

(2)掌握面向?qū)ο蟮幕靖拍?/p>

(3)掌握對(duì)象、類(lèi)及類(lèi)之間關(guān)系

(4)掌握統(tǒng)一建模語(yǔ)言UML

第11章面向?qū)ο蟮姆治?/p>

(1)掌握面向?qū)ο蟮姆治鲞^(guò)程

(2)掌握建立用例模型方法

(3)掌握建立對(duì)象模型方法

(4)掌握建立順序圖和通信圖方法

(5)掌握建立狀態(tài)圖和活動(dòng)圖方法

(6)掌握建立物理實(shí)現(xiàn)模型方法

第12章面向?qū)ο蟮脑O(shè)計(jì)與實(shí)現(xiàn)

(1)掌握面向?qū)ο蟮脑O(shè)計(jì)準(zhǔn)則和啟發(fā)式規(guī)則

(2)掌握問(wèn)題與子系統(tǒng)和人機(jī)監(jiān)護(hù)子系統(tǒng)

(3)掌握任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)

(4)掌握服務(wù)設(shè)計(jì)方法

(5)掌握關(guān)聯(lián)設(shè)計(jì)方法

(6)掌握面向?qū)ο笤O(shè)計(jì)優(yōu)化方法

(7)掌握面向?qū)ο笙到y(tǒng)實(shí)現(xiàn)方法

一、客觀部分:(單項(xiàng)選擇、多項(xiàng)選擇)

(一)、單項(xiàng)選擇

1模塊獨(dú)立性是由內(nèi)聚性和耦合性來(lái)度量的,其中內(nèi)聚性是()

A.模塊間的聯(lián)系程度

B.模塊的功能強(qiáng)度

C.信息隱藏程度

D.接口的復(fù)雜程度

★考核知識(shí)點(diǎn):模塊獨(dú)立性

參見(jiàn)講稿章節(jié):5.3

附1.1.1:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

模塊的獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而

和軟件系統(tǒng)中其它的模塊的接口是簡(jiǎn)單的。

模塊的獨(dú)立性可以從兩個(gè)方面來(lái)度量:耦合衡量不同模塊彼此間相互依賴(lài)的

緊密程度。耦合要低,即每個(gè)模塊和其他模塊之間的關(guān)系要簡(jiǎn)單。內(nèi)聚衡量一個(gè)

模塊內(nèi)部各個(gè)元素之間彼此結(jié)合的緊密程度的度量。內(nèi)聚要高,每個(gè)模塊完成

一個(gè)相對(duì)獨(dú)立的特定子功能。

模塊耦合性類(lèi)型包括:無(wú)直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、公共

環(huán)境耦合、內(nèi)容耦合,它們之間依次耦合性由低到高,模塊獨(dú)立性由強(qiáng)到弱。

模塊內(nèi)聚類(lèi)型包括:偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功

能內(nèi)聚,它們之間依次內(nèi)聚性由低至高,模塊獨(dú)立性由弱至強(qiáng)。

2.成本/效益分析是()的一項(xiàng)重要內(nèi)容

A.可行性研究

B.需求分析

C.軟件測(cè)試

D.軟件維護(hù)

[答案]:A

★考核知識(shí)點(diǎn):可行性研究-成本/效益分析

參考講稿章節(jié):3.1、3.5

附1.1.2(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

在澄清了問(wèn)題定義之后,分析員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。然后從系統(tǒng)邏輯

模型出發(fā),探索若干種可供選擇的主要解法,也就是系統(tǒng)實(shí)現(xiàn)方案。分析每種解

法可行性和利弊,從而判定系統(tǒng)的目標(biāo)和規(guī)模是否現(xiàn)實(shí),系統(tǒng)完成后帶來(lái)的效益

是否達(dá)到值得投資開(kāi)發(fā)這個(gè)系統(tǒng)的程度。

可行性的研究實(shí)際上是一次大大簡(jiǎn)化了的系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程,即以

抽象的方式進(jìn)行分析和研究。

成本-效益分析的目的是從經(jīng)濟(jì)角度評(píng)價(jià)開(kāi)發(fā)一個(gè)新的軟件項(xiàng)目是否可行,從

而幫助客戶正確地作出是否投資于這項(xiàng)開(kāi)發(fā)工程的決定。

3.軟件開(kāi)發(fā)模型不包括()

A.瀑布模型

B.用例模型

C.增量模型

D.螺旋模型

★考核知識(shí)點(diǎn):軟件開(kāi)發(fā)模型

參見(jiàn)講稿章節(jié):2.3、2.4

附1.1.3:(考核知識(shí)點(diǎn)解釋)

經(jīng)典的軟件開(kāi)發(fā)模型有瀑布模型、快速原型模型、增量模型、螺旋模型、噴

泉模型等。

瀑布模型也稱(chēng)生存周期模型或線性順序模型,是W-Royce于1970年首先

提出來(lái)的。它是將軟件生存周期各個(gè)活動(dòng)規(guī)定為依線性順序連接的若干階段的模

型,包括問(wèn)題定義、可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試

和維護(hù)。瀑布模型規(guī)定了由前至后、相互銜接的固定次序,恰如奔流不息拾級(jí)而

下的瀑布。所以稱(chēng)為'‘瀑布模型傳統(tǒng)軟件工程方法學(xué)的軟件過(guò)程,基本上可

以用瀑布模型來(lái)描述。而且是以文檔為驅(qū)動(dòng),適合于需求很明確的軟件項(xiàng)目開(kāi)發(fā)

的模型。

快速原型(rapidprototype)是快速建立起來(lái)的可以在計(jì)算機(jī)上運(yùn)行的程序,

它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個(gè)子集。

增量模型也稱(chēng)為漸增模型,是瀑布模型的順序特征和快速原型法的迭代特征

相結(jié)合的產(chǎn)物,是一種非整體開(kāi)發(fā)的模型。

螺旋模型加入了瀑布模型與增量模型都忽略了的風(fēng)險(xiǎn)分析,即將兩種模型結(jié)

合起來(lái),彌補(bǔ)了兩種模型的不足。螺旋模型是一種迭代模型,它把開(kāi)發(fā)過(guò)程分為

幾個(gè)螺旋周期,每迭代一次,螺旋線就前進(jìn)一周。它是一種風(fēng)險(xiǎn)驅(qū)動(dòng)的模型。基

本思想:使用原型及其他方法來(lái)盡量降低風(fēng)險(xiǎn)。簡(jiǎn)單理解,在每個(gè)階段之前都增

加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型。

噴泉模型是典型的面向?qū)ο笊芷谀P?。以用戶需求為?dòng)力,以對(duì)象作為

驅(qū)動(dòng)的模型,適合面向?qū)ο蟮拈_(kāi)發(fā)方法。

4.()是關(guān)于數(shù)據(jù)的信息集合,是結(jié)構(gòu)化分析模型的核心

A.數(shù)據(jù)流圖

B.數(shù)據(jù)字典

C.狀態(tài)轉(zhuǎn)換圖

D.實(shí)體關(guān)系圖

★考核知識(shí)點(diǎn):結(jié)構(gòu)化分析模型

參見(jiàn)講稿章節(jié):4.3

附LL4:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

結(jié)構(gòu)化分析模型的核心是數(shù)據(jù)字典,它描述了所有的在目標(biāo)系統(tǒng)中使用的和

生成的數(shù)據(jù)對(duì)象。圍繞著這個(gè)核心的有三種圖:1)實(shí)體一關(guān)系圖描述數(shù)據(jù)對(duì)象

之間的關(guān)系,它是用來(lái)進(jìn)行數(shù)據(jù)建模活動(dòng)的圖形。圖中出現(xiàn)的每個(gè)數(shù)據(jù)對(duì)象的屬

性可以在數(shù)據(jù)對(duì)象描述中描述。2)數(shù)據(jù)流圖描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變

換,以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能和子功能。數(shù)據(jù)流圖是功能建模的基

礎(chǔ),在加工規(guī)格說(shuō)明中給出了對(duì)出現(xiàn)在數(shù)據(jù)流圖中的每個(gè)功能的描述。3)狀態(tài)

轉(zhuǎn)換圖指明了作為外部事件結(jié)果的系統(tǒng)行為。為此,狀態(tài)轉(zhuǎn)換圖描繪了系統(tǒng)的各

種行為模式(稱(chēng)為“狀態(tài)”)和在不同狀態(tài)間轉(zhuǎn)換的方式。狀態(tài)轉(zhuǎn)換圖是行為建

模的基礎(chǔ),在“控制規(guī)格說(shuō)明”中包含了有關(guān)軟件控制的附加信息。

5.在實(shí)體-關(guān)系圖中,包含以下基本成分()

A.實(shí)體、關(guān)系、控制

B.狀態(tài)、事件、關(guān)系

C.數(shù)據(jù)對(duì)象、屬性、關(guān)系

D.數(shù)據(jù)、對(duì)象、實(shí)體

★考核知識(shí)點(diǎn):實(shí)體-關(guān)系圖

參見(jiàn)講稿章節(jié):4.3

附1.1.5:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

實(shí)體-關(guān)系圖中包含了實(shí)體(即數(shù)據(jù)對(duì)象)、關(guān)系和屬性3種基本成分。通常

用矩形框代表實(shí)體,用連接相關(guān)實(shí)體的菱形框表示關(guān)系,用橢圓形或圓角矩形表

示實(shí)體(或關(guān)系)的屬性,并用無(wú)向邊把實(shí)體(或關(guān)系)與其屬性連接起來(lái)。

6.以下對(duì)狀態(tài)轉(zhuǎn)換圖描述錯(cuò)誤的是()

A.狀態(tài)轉(zhuǎn)換圖通過(guò)描繪系統(tǒng)的狀態(tài)及引用系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的

行為。

B.狀態(tài)圖的狀態(tài)有初態(tài)、終態(tài)和中間狀態(tài),在一張圖中三種狀態(tài)都可以有。至

多個(gè)。

C.狀態(tài)圖中事件是引起系統(tǒng)做動(dòng)作或(和)轉(zhuǎn)換狀態(tài)的控制信息。

D.狀態(tài)圖提供了行為建模機(jī)制。

★考核知識(shí)點(diǎn):狀態(tài)轉(zhuǎn)換圖

參見(jiàn)講稿章節(jié):4.3

附1.1.6:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

狀態(tài)轉(zhuǎn)換圖簡(jiǎn)稱(chēng)狀態(tài)圖,通過(guò)描繪系統(tǒng)的狀態(tài)及引用系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,

來(lái)表示系統(tǒng)的行為。狀態(tài)圖還指出了作為特定事件的結(jié)果系統(tǒng)將做哪些動(dòng)作。因

此,狀態(tài)圖提供了行為建模機(jī)制。

狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種行為模

式。狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式。在狀態(tài)圖中定義的狀態(tài)主要有:初態(tài)(即

初始狀態(tài))、終態(tài)(即最終狀態(tài))和中間狀態(tài)。在一張狀態(tài)圖中只能有一個(gè)初態(tài),

而終態(tài)則可以有。至多個(gè)。

事件是在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起系統(tǒng)做動(dòng)作或(和)從一個(gè)

狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象。

7.在面向數(shù)據(jù)流的設(shè)計(jì)方法中,一般將數(shù)據(jù)流分為()

A.信息流和控制流

B.變換流和控制流

C.變換流和事務(wù)流

D.事務(wù)流和控制流

★考核知識(shí)點(diǎn):數(shù)據(jù)流類(lèi)型

參見(jiàn)講稿章節(jié):5.6

附1.1.7:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

通過(guò)對(duì)數(shù)據(jù)流圖中的數(shù)據(jù)流進(jìn)行分析,數(shù)據(jù)流可以分為兩種類(lèi)型:變換流和

事務(wù)流。

變換流:信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入

系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟

件系統(tǒng)。變換型數(shù)據(jù)流圖呈線形,由輸入、變換、輸出三部分組成,變換是系統(tǒng)

地變換中心。

事務(wù)流:數(shù)據(jù)沿著輸入通路到達(dá)一個(gè)處理T,T根據(jù)輸入數(shù)據(jù)的類(lèi)型,在若

干動(dòng)作序列中選出一個(gè)來(lái)執(zhí)行,這類(lèi)稱(chēng)為事務(wù)流。事務(wù)型數(shù)據(jù)流圖常呈輻射狀。

8.邏輯覆蓋測(cè)試法中,條件覆蓋的目的是()

A.使程序中每個(gè)語(yǔ)句至少執(zhí)行一次

B.使程序每個(gè)語(yǔ)句至少執(zhí)行一次,且每個(gè)判定表達(dá)式中條件的各種可能組合都

至少出現(xiàn)一次

C.使程序中每個(gè)語(yǔ)句至少執(zhí)行一次,且每個(gè)判定表達(dá)式至少獲得一次真值和假

D.使程序中每個(gè)語(yǔ)句至少執(zhí)行一次,且使判定表達(dá)式中的每個(gè)條件都取到各種

可能的結(jié)果

★考核知識(shí)點(diǎn):邏輯覆蓋測(cè)試

參見(jiàn)講稿章節(jié):8.3、8.4

附LL8:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

邏輯覆蓋測(cè)試法:用流程圖來(lái)設(shè)計(jì)測(cè)試,考察的重點(diǎn)是圖中的判定框(菱形

框),因?yàn)檫@些判定是決定程序結(jié)構(gòu)的關(guān)鍵成分,不是與選擇有關(guān),就是與循環(huán)

結(jié)構(gòu)有關(guān)。按照對(duì)被測(cè)程序所作測(cè)試的有效程度,可由弱到強(qiáng)區(qū)分為5種覆蓋標(biāo)

準(zhǔn):語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋。

語(yǔ)句覆蓋的基本思想是:選擇足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中

每個(gè)語(yǔ)句至少都能被執(zhí)行一次。

判定覆蓋又叫分支覆蓋,它的基本思想是:設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)

程序,不僅使得被測(cè)程序中每個(gè)語(yǔ)句必須至少執(zhí)行一次,而且每個(gè)判定表達(dá)式的

每種可能的結(jié)果都應(yīng)該至少執(zhí)行一次,也就是每個(gè)判定的每個(gè)分支都至少執(zhí)行一

次。

條件覆蓋的基本思想是,設(shè)計(jì)足夠多的測(cè)試用例,不僅每個(gè)語(yǔ)句至少執(zhí)行一

次,而且使判定表達(dá)式中的每個(gè)條件都取到各種可能的結(jié)果(真或假)。

判定/條件覆蓋實(shí)際上是判定和條件覆蓋結(jié)合起來(lái),它是判定和條件覆蓋的交

集?;舅枷胧牵涸O(shè)計(jì)足夠多的測(cè)試用例,不僅每個(gè)語(yǔ)句至少執(zhí)行一次,而且使

判定表達(dá)式中的每個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,并使每個(gè)判定表達(dá)式所

有可能的結(jié)果也至少出現(xiàn)一次。

條件組合覆蓋的基本思想是:設(shè)計(jì)足夠多的測(cè)試用例,使得每個(gè)判定表達(dá)式

中條件的各種可能組合都至少出現(xiàn)一次。

采用其中任何一種方法都不能完全覆蓋所有的測(cè)試用例,在實(shí)際的測(cè)試用例

設(shè)計(jì)過(guò)程中,可以根據(jù)需要和不同的測(cè)試用例設(shè)計(jì)特征,將不同的方法組合起來(lái)

交叉使用。一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例,達(dá)到

路徑覆蓋測(cè)試標(biāo)準(zhǔn),以實(shí)現(xiàn)最佳的測(cè)試用例輸出。

9.()是面向?qū)ο笙到y(tǒng)中對(duì)象之間交互的途徑,是向另外一個(gè)對(duì)象發(fā)出的服務(wù)

請(qǐng)求。

A.類(lèi)

B.消息

C.封裝

D.調(diào)用

★考核知識(shí)點(diǎn):面向?qū)ο蟮幕靖拍?/p>

參考講稿章節(jié):10.2

附129(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

對(duì)象的定義:對(duì)象是對(duì)問(wèn)題域中客觀存在的事物的抽象,是由描述該對(duì)象屬

性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對(duì)象包

括兩大要素:屬性(用來(lái)描述對(duì)象的靜態(tài)特征)和操作(用來(lái)描述對(duì)象的動(dòng)態(tài)特

征)。對(duì)象是面向?qū)ο蠓椒▽W(xué)中的基本成分,每個(gè)對(duì)象都可以用它本身的一組屬

性和它可以執(zhí)行的一組操作來(lái)定義。

類(lèi)的定義:類(lèi)是具有相同屬性和操作的一組相似對(duì)象(實(shí)體)的集合。類(lèi)為

屬于該類(lèi)的全部對(duì)象提供了統(tǒng)一的抽象描述。同類(lèi)的對(duì)象具有相同的屬性和方法。

消息的定義:消息是面向?qū)ο笙到y(tǒng)中對(duì)象之間交互的途徑,是向另外一個(gè)對(duì)

象發(fā)出的服務(wù)請(qǐng)求,請(qǐng)求對(duì)象參與某一處理或回答某一要求的信息,是對(duì)象之間

建立的一種通信機(jī)制。通常一個(gè)消息的關(guān)鍵要素包括消息的發(fā)送者、消息的接收

者、消息所要求的具體服務(wù)及其參數(shù)、消息的應(yīng)答等。

封裝的定義:封裝指把對(duì)象的屬性和操作結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,并盡

可能隱藏對(duì)象的內(nèi)部細(xì)節(jié),又稱(chēng)信息隱藏。通過(guò)對(duì)象的封裝特性,用戶只能看到

對(duì)象封裝界面上的信息,對(duì)象內(nèi)部對(duì)用戶是隱蔽的,有效地實(shí)現(xiàn)了模塊化功能。

封裝的目的是將對(duì)象的使用者與設(shè)計(jì)者分開(kāi)。封裝的作用有3個(gè)方面:一是使對(duì)

象形成接口和實(shí)現(xiàn)兩個(gè)部分;二是封裝的信息隱藏將所聲明的功能(行為)與內(nèi)

部實(shí)現(xiàn)(細(xì)節(jié))分離;三是封裝可以保護(hù)對(duì)象,避免用戶誤用,也可以保護(hù)客戶

機(jī),對(duì)象實(shí)現(xiàn)過(guò)程的改變不會(huì)影響到相應(yīng)客戶機(jī)的改變。

10.應(yīng)該在(),完整地定義每個(gè)類(lèi)的服務(wù)

A.建立對(duì)象模型之時(shí)

B.建立功能模型之后

C.建立動(dòng)態(tài)模型之后

D.建立動(dòng)態(tài)模型和功能模型之后

★考核知識(shí)點(diǎn):建立對(duì)象模型的過(guò)程

參見(jiàn)講稿章節(jié):11.3

附1.1.10:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

建立對(duì)象模型的過(guò)程:復(fù)雜問(wèn)題(大型系統(tǒng))的對(duì)象模型通常由下述5個(gè)層

次組成:主題層(也稱(chēng)范疇層)、類(lèi)與對(duì)象層、結(jié)構(gòu)層、屬性層和服務(wù)層。5個(gè)

層次對(duì)應(yīng)著在面向?qū)ο蠓治鲞^(guò)程中建立對(duì)象模型的5項(xiàng)主要活動(dòng):識(shí)別主題、識(shí)

別類(lèi)與對(duì)象、識(shí)別結(jié)構(gòu)、定義屬性和定義服務(wù)。通常,在概念中,面向?qū)ο蚰P?/p>

建立大體上按照下列順序進(jìn)行:識(shí)別類(lèi)與對(duì)象、識(shí)別結(jié)構(gòu)、識(shí)別主題、定義屬性

和定義服務(wù)。但通常在完整地定義每個(gè)類(lèi)的服務(wù)之前,需要先建立起動(dòng)態(tài)模型和

功能模型,通過(guò)對(duì)這兩種模型的研究,才能夠更正確、更合理地確定每個(gè)類(lèi)應(yīng)該

提供哪些服務(wù)。綜上,面向?qū)ο蠓治龃篌w上按照下列順序執(zhí)行:識(shí)別類(lèi)與對(duì)象、

識(shí)別結(jié)構(gòu)、識(shí)別主題、定義屬性、建立動(dòng)態(tài)模型、建立功能模型和定義服務(wù)。

(二)、多項(xiàng)選擇

1.軟件過(guò)程是為了獲得高質(zhì)量所需要完成的一系列任務(wù)的框架,它包括()

A.實(shí)現(xiàn)過(guò)程

B.管理過(guò)程

C.支持過(guò)程

D.測(cè)試過(guò)程

★考核知識(shí)點(diǎn):軟件過(guò)程

參考講稿章節(jié):2.1

附1.2.1(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件過(guò)程(softwareprocess)是為了獲得高質(zhì)量所需要完成的一系列任務(wù)的框

架,它規(guī)定了完成多項(xiàng)任務(wù)的工作步驟。軟件產(chǎn)品和服務(wù)的質(zhì)量,很大程度上取

決于生產(chǎn)和維護(hù)該軟件或者服務(wù)的過(guò)程的質(zhì)量。

軟件過(guò)程也包括實(shí)現(xiàn)過(guò)程(軟件開(kāi)發(fā)活動(dòng))、管理過(guò)程和支持過(guò)程三種類(lèi)型。

2.下述任務(wù)中,屬于軟件工程需求分析階段的是()

A.確定對(duì)系統(tǒng)的綜合需求

B.分析系統(tǒng)的數(shù)據(jù)需求

C.確定系統(tǒng)由哪些模型組成及每個(gè)模塊的功能

D.建立軟件的邏輯模型

★考核知識(shí)點(diǎn):需求分析的任務(wù)

參考講稿章節(jié):4.1

附1.2.2(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

需求分析是軟件生命周期最重要的一步,它在問(wèn)題定義和可行性研究階段

之后進(jìn)行。需求分析的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問(wèn)題。

需求分析指的是建立一個(gè)新的或改變一個(gè)現(xiàn)存的計(jì)算機(jī)系統(tǒng)時(shí),描寫(xiě)新系統(tǒng)的目

的、范圍、定義和功能時(shí)要做的所有工作。在軟件工程的歷史中,很長(zhǎng)時(shí)間認(rèn)為

需求分析是軟件工程中最簡(jiǎn)單的步驟,但越來(lái)越多的人認(rèn)識(shí)到它是整個(gè)過(guò)程中最

關(guān)鍵的環(huán)節(jié)。

需求分析的任務(wù)不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完

成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰而且具體的需求。需求分

析是調(diào)查、評(píng)價(jià)以及肯定用戶對(duì)軟件需求的過(guò)程,其目的在于精化軟件的作用范

圍,也是分析和確認(rèn)軟件系統(tǒng)構(gòu)成的過(guò)程,以確定未來(lái)系統(tǒng)的主要成分及它們之

間的接口細(xì)節(jié)。需求分析的任務(wù)包括:1)確定對(duì)系統(tǒng)的綜合需求;2)分析系統(tǒng)

的數(shù)據(jù)需求;3)建立軟件的邏輯模型;4)編寫(xiě)軟件需求規(guī)格說(shuō)明書(shū);5)需求

分析評(píng)審。

3.軟件設(shè)計(jì)是把軟件需求轉(zhuǎn)換為軟件表示的過(guò)程,軟件設(shè)計(jì)的任務(wù)包括()

A.數(shù)據(jù)設(shè)計(jì)

B.體系結(jié)構(gòu)設(shè)計(jì)

C.接口設(shè)計(jì)

D.過(guò)程設(shè)計(jì)

★考核知識(shí)點(diǎn):軟件設(shè)計(jì)

參考講稿章節(jié):5.1

附1.2.3(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件設(shè)計(jì)是把軟件需求轉(zhuǎn)換為軟件表示的過(guò)程。軟件設(shè)計(jì)的任務(wù)就是把分析

模塊轉(zhuǎn)換成設(shè)計(jì)。軟件設(shè)計(jì)必須依據(jù)對(duì)軟件的需求來(lái)進(jìn)行,結(jié)構(gòu)化分析的結(jié)果為

結(jié)構(gòu)化設(shè)計(jì)提供了最基本的輸入信息。分析模型的每個(gè)元素都提供了創(chuàng)建設(shè)計(jì)模

型時(shí)所需要的信息。

數(shù)據(jù)設(shè)計(jì)把分析階段創(chuàng)建的信息域模型轉(zhuǎn)變成實(shí)現(xiàn)軟件所需要的數(shù)據(jù)結(jié)構(gòu)。

體系結(jié)構(gòu)設(shè)計(jì)確定了程序的主要結(jié)構(gòu)元素(即程序構(gòu)件)之間的關(guān)系。

接口設(shè)計(jì)根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各構(gòu)件之間、軟件與其它協(xié)同系統(tǒng)之間

及軟件與用戶之間的交互機(jī)制。

過(guò)程設(shè)計(jì)把程序體系結(jié)構(gòu)中的結(jié)構(gòu)元素,變換成對(duì)軟件構(gòu)件的過(guò)程性描述。

4.結(jié)構(gòu)化程序設(shè)計(jì)所使用的結(jié)構(gòu)有()

A.順序

B.選擇

C.重復(fù)

D.GOTO

★考核知識(shí)點(diǎn):結(jié)構(gòu)化程序設(shè)計(jì)

參考講稿章節(jié):6.1

附124(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

結(jié)構(gòu)程序設(shè)計(jì)的概念最早是由E.W.Dijkstra在1965年召開(kāi)的IFIP(國(guó)際信息

處理聯(lián)合會(huì))會(huì)議上提出的,他指出:“可以從高級(jí)語(yǔ)言中取消GOTO語(yǔ)句程

序的質(zhì)量與程序中所包含的GOTO語(yǔ)句的數(shù)量成反比1966年,Bohm和

Jacopini證明了程序設(shè)計(jì)語(yǔ)言中,只用3種基本控制結(jié)構(gòu)就能實(shí)現(xiàn)任何單入口、

單出口的程序。這3種基本的控制結(jié)構(gòu)是順序、選擇和循環(huán)。

結(jié)構(gòu)化程序設(shè)計(jì)經(jīng)典定義:“如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇

和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,

則稱(chēng)這個(gè)程序是結(jié)構(gòu)化的?!?/p>

5.以下哪些是軟件詳細(xì)設(shè)計(jì)工具。

A.程序流程圖

B.盒圖(N-S圖)

C.問(wèn)題分析圖(PAD圖)

D.HIPO圖

★考核知識(shí)點(diǎn):詳細(xì)設(shè)計(jì)工具

參考講稿章節(jié):6.2、6.3

附125(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

詳細(xì)設(shè)計(jì)工具:描述程序處理過(guò)程的工具稱(chēng)為詳細(xì)設(shè)計(jì)工具,可以分為以下

三類(lèi):圖形工具、表格工具、語(yǔ)言工具。

程序流程圖也稱(chēng)為程序框圖,它是一種最古老、應(yīng)用最廣泛、且最有爭(zhēng)議的

描述詳細(xì)設(shè)計(jì)的工具。流程圖包括三種基本成分:(1)處理,用方框表示;(2)

判斷條件,用菱形框表示;(3)控制流,用箭頭表示。

盒圖:為了克服流程圖在描述邏輯時(shí)的隨意等缺點(diǎn),提出了一種不用GOTO

語(yǔ)句、不需要流向線的結(jié)構(gòu)化流程圖,稱(chēng)為盒圖,也稱(chēng)為N-S圖。在N-S圖中,

每個(gè)“處理步驟”是用一個(gè)盒子表示的,所謂“處理步驟”可以是語(yǔ)句或語(yǔ)句序

列。盒子中可以嵌套另一個(gè)盒子,嵌套深度一般沒(méi)有限制。只能從上邊進(jìn)入盒子

然后從下邊走出,除此之外別無(wú)其他出入口,N-S圖限制了隨意的控制轉(zhuǎn)移,保

證了程序的良好結(jié)構(gòu)。

問(wèn)題分析圖(PAD圖)是用二維樹(shù)形結(jié)構(gòu)的圖來(lái)表示程序的控制流,將這種

圖翻譯成程序代碼比較容易。PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許

遞歸使用。

判定表:當(dāng)算法中包含多重嵌套的條件選擇時(shí),判定表能夠清晰地表示復(fù)雜

的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。判定表用于表示程序的靜態(tài)邏輯,在

判定表中的條件部分給出所有的兩分支判斷的列表,動(dòng)作部分給出相應(yīng)的處理,

要求將程序流程圖中的多分支判斷都改成兩分支判斷。一張判定表由4部分組成:

左上部列出所有條件;左下部是所有可能做的動(dòng)作;右上部是表示各種條件組合

的一個(gè)矩陣;右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作。判定表右半部的每一列實(shí)

質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對(duì)應(yīng)的動(dòng)作。

判定樹(shù):判定樹(shù)是判定表的變種,也能清晰地表示復(fù)雜的條件組合與應(yīng)做的

動(dòng)作之間的對(duì)應(yīng)關(guān)系。

過(guò)程設(shè)計(jì)語(yǔ)言(PDL):過(guò)程設(shè)計(jì)語(yǔ)言(ProcessDesignLanguage,PDL)是一

種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)節(jié)的語(yǔ)言,稱(chēng)為設(shè)計(jì)程序用語(yǔ)言,它是

一種偽碼。

6.從發(fā)展歷程來(lái)看,程序設(shè)計(jì)語(yǔ)言可以分為()幾代

A.機(jī)器語(yǔ)言

B.匯編語(yǔ)言

C.高級(jí)語(yǔ)言

D.非過(guò)程化語(yǔ)言

★考核知識(shí)點(diǎn):程序設(shè)計(jì)語(yǔ)言

參考講稿章節(jié):7.1

附126(考核知識(shí)點(diǎn)解釋):

程序設(shè)計(jì)語(yǔ)言的分類(lèi):從發(fā)展歷程來(lái)看,程序設(shè)計(jì)語(yǔ)言可以分為4代。機(jī)器

語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言、非過(guò)程化語(yǔ)言。

7.軟件產(chǎn)品在交付使用之前一般要經(jīng)過(guò)()

A.單元測(cè)試

B.集成測(cè)試

C.確認(rèn)測(cè)試

D.系統(tǒng)測(cè)試

★考核知識(shí)點(diǎn):軟件測(cè)試過(guò)程

參考講稿章節(jié):8.8

附127(考核知識(shí)點(diǎn)解釋):

軟件產(chǎn)品在交付使用之前一般要經(jīng)過(guò)單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)

測(cè)試4個(gè)階段的測(cè)試。

單元測(cè)試是對(duì)軟件基本組成單元進(jìn)行的測(cè)試,檢查每個(gè)獨(dú)立模塊是否正確地

實(shí)現(xiàn)了規(guī)定的功能,單元測(cè)試所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)中的錯(cuò)誤。各模塊

經(jīng)過(guò)單元測(cè)試后,接下來(lái)需要進(jìn)行集成測(cè)試。

集成測(cè)試是將已分別通過(guò)測(cè)試的單元按設(shè)計(jì)要求組合起來(lái)再進(jìn)行測(cè)試,以檢

查這些單元之間的接口是否存在問(wèn)題,同時(shí)檢查與設(shè)計(jì)相關(guān)的軟件體每畝結(jié)構(gòu)的

有關(guān)問(wèn)題。在這個(gè)測(cè)試階段發(fā)現(xiàn)的往往是軟件設(shè)計(jì)中的錯(cuò)誤,也可能發(fā)現(xiàn)需求中

的錯(cuò)誤。

確認(rèn)測(cè)試是檢查所開(kāi)發(fā)的軟件是否滿足需求規(guī)格說(shuō)明書(shū)中所確定的功能和

性能的需求,在這個(gè)測(cè)試階段發(fā)現(xiàn)的是需求分析階段的錯(cuò)誤,如對(duì)用戶需求的誤

解,有沖突的用戶需求等。

完成確認(rèn)測(cè)試后,得到的應(yīng)該是用戶確認(rèn)的合格的軟件產(chǎn)品,但為了檢查該

產(chǎn)品能否與系統(tǒng)的其他部分協(xié)調(diào)工作,需要進(jìn)行系統(tǒng)測(cè)試。系統(tǒng)測(cè)試是在實(shí)際運(yùn)

行環(huán)境下對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的嚴(yán)格有效的測(cè)試來(lái)發(fā)現(xiàn)軟件的潛在問(wèn)題,以

保證各組成部分不僅單獨(dú)的正常運(yùn)行,而且在系統(tǒng)各部分統(tǒng)一協(xié)調(diào)下也能正常運(yùn)

行。

8.下列關(guān)于軟件測(cè)試和調(diào)試的說(shuō)法正確的是()

A.測(cè)試的目的是為找出軟件中所有存在的錯(cuò)誤

B.調(diào)試的目的是為了解決軟件中存在的錯(cuò)誤

C.成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試

D.調(diào)試能夠證明軟件的正確性

★考核知識(shí)點(diǎn):軟件測(cè)試、軟件調(diào)試

參考講稿章節(jié):8.1、8.11

附1.2.8(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程,好的測(cè)試方案是極可

能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案,成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未

發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

調(diào)試,也稱(chēng)為糾錯(cuò),是在測(cè)試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過(guò)程。

軟件測(cè)試的目的是為找出軟件中存在的錯(cuò)誤,即通過(guò)測(cè)試來(lái)發(fā)現(xiàn)錯(cuò)誤,而調(diào)

試的目的是為了解決存在的錯(cuò)誤,即對(duì)錯(cuò)誤定位、分析并找出原因改正錯(cuò)誤,因

此調(diào)試也稱(chēng)為糾錯(cuò)。

常用調(diào)試技術(shù)包括:簡(jiǎn)單調(diào)試技術(shù)、回溯法、消去原因法(又包括折半查找

法、歸納法和演繹法)。

9.軟件維護(hù)活動(dòng)可以歸結(jié)為以下()幾類(lèi)

A.改正性維護(hù)

B.適應(yīng)性維護(hù)

C.完善性維護(hù)

D.預(yù)防性維護(hù)

★考核知識(shí)點(diǎn):軟件維護(hù)的分類(lèi)

參考講稿章節(jié):9.1

附1.2.9(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件維護(hù)活動(dòng)可以歸結(jié)為以下四類(lèi):改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);

預(yù)防性維護(hù)。在整個(gè)軟件維護(hù)階段所花費(fèi)的全部工作中,預(yù)防性維護(hù)只占很小的

比例,大約4%;改正性維護(hù)占21%,適應(yīng)性維護(hù)占25%,而完善性維護(hù)占了約

一半的工作量。

10.統(tǒng)一建模語(yǔ)言UML的表示方法有。

A.視圖

B.圖

C.模型元素

D.公共機(jī)制

★考核知識(shí)點(diǎn):統(tǒng)一建模語(yǔ)言UML

參考講稿章節(jié):10.4

附1.2.10(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

UML的表示方法:UML的表示方法有視圖、圖、模型元素、公共機(jī)制等。

11.在面向?qū)ο蟮脑O(shè)計(jì)中,應(yīng)遵循的設(shè)計(jì)準(zhǔn)則包括()

A.高內(nèi)聚、低耦合

B.信息隱藏

C.模塊化、抽象

D.可重用

★考核知識(shí)點(diǎn):面向?qū)ο蟮脑O(shè)計(jì)準(zhǔn)則

參考講稿章節(jié):12.1

附1.2.11(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

面向?qū)ο笤O(shè)計(jì)的過(guò)程可以看作是按照設(shè)計(jì)準(zhǔn)則,對(duì)分析模型進(jìn)行細(xì)化的過(guò)程。

面向?qū)ο蟮脑O(shè)計(jì)準(zhǔn)則包括以下6個(gè)方面:模塊化、抽象、信息隱藏、弱耦合、強(qiáng)

內(nèi)聚、可重用。

12.面向?qū)ο笙到y(tǒng)的邏輯設(shè)計(jì)模型劃分為若干部分,分別對(duì)應(yīng)組成目標(biāo)系統(tǒng)的()。

A.問(wèn)題域子系統(tǒng)

B.人機(jī)交互子系統(tǒng)

C.任務(wù)管理子系統(tǒng)

D.數(shù)據(jù)管理子系統(tǒng)

★考核知識(shí)點(diǎn):面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)

參考講稿章節(jié):12.2

附1.2.12(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

面向?qū)ο笙到y(tǒng)的邏輯設(shè)計(jì)模型可以劃分為4部分,分別對(duì)應(yīng)組成目標(biāo)系統(tǒng)的

4個(gè)子系統(tǒng)。分別是:?jiǎn)栴}域子系統(tǒng)、人機(jī)交互子系統(tǒng)、任務(wù)管理子系統(tǒng)、數(shù)據(jù)

管理子系統(tǒng)。

13.在面向?qū)ο蟮姆?wù)設(shè)計(jì)中,確定類(lèi)中應(yīng)用的服務(wù)包括()

A.從對(duì)象模型中引入服務(wù)

B.從用例模型中引入服務(wù)

C.從動(dòng)態(tài)模型中引入服務(wù)

D.從物理模型中引入服務(wù)

★考核知識(shí)點(diǎn):面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)

參考講稿章節(jié):12.4

附1.2.13(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

面向?qū)ο蟮姆?wù)設(shè)計(jì):設(shè)計(jì)和細(xì)化類(lèi)中的服務(wù)是面向?qū)ο笤O(shè)計(jì)階段的重要工

作。面向?qū)ο笤O(shè)計(jì)中服務(wù)的設(shè)計(jì)可以分為兩個(gè)步驟:確定類(lèi)中應(yīng)有的服務(wù)、設(shè)計(jì)

實(shí)現(xiàn)服務(wù)的方法。確定類(lèi)中應(yīng)有的服務(wù)包括:從對(duì)象模型中引入服務(wù)、從動(dòng)態(tài)模

型中確定服務(wù)、從用例模型中引入服務(wù)。設(shè)計(jì)實(shí)現(xiàn)服務(wù)的方法主要包括以下幾項(xiàng)

工作:選擇數(shù)據(jù)結(jié)構(gòu)、定義內(nèi)部類(lèi)和內(nèi)部操作、設(shè)計(jì)實(shí)現(xiàn)服務(wù)的算法。

二、主觀部分:

(一)、名詞解釋

1.軟件工程

★考核知識(shí)點(diǎn):軟件工程的定義

參考講稿章節(jié):1.3

附2.1.1(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的一門(mén)工程學(xué)科,采用工程的概念、原理、

技術(shù)和方法來(lái)開(kāi)發(fā)和維護(hù)軟件。

2.軟件過(guò)程

★考核知識(shí)點(diǎn):軟件過(guò)程

參考講稿章節(jié):2.1

附2.1.2(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件過(guò)程(softwareprocess)是為了獲得高質(zhì)量所需要完成的一系列任務(wù)的框

架,它規(guī)定了完成多項(xiàng)任務(wù)的工作步驟。

3.軟件生命周期

★考核知識(shí)點(diǎn):軟件生命周期

參考講稿章節(jié):2.2

附2.1.3(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件生命周期是指某一軟件項(xiàng)目被提出來(lái)并著手實(shí)現(xiàn)開(kāi)始直到該軟件報(bào)廢或停

止使用為止的生命周期,又稱(chēng)軟件生存期。

4.數(shù)據(jù)流圖

★考核知識(shí)點(diǎn):數(shù)據(jù)流圖

參考講稿章節(jié):3.3

附2.1.4(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

數(shù)據(jù)流圖(DataFlowDiagram,DFD)用于表示系統(tǒng)邏輯模型的一種工具,它以直

觀的圖形清晰地描述了系統(tǒng)數(shù)據(jù)的流動(dòng)和處理過(guò)程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的

圖形展示。圖中沒(méi)有任何具體的物理元素,主要強(qiáng)調(diào)的是數(shù)據(jù)流和處理過(guò)程。即

使不是計(jì)算機(jī)專(zhuān)業(yè)人員也很容易理解,因此是軟件開(kāi)發(fā)人員和用戶之間極好的通

信工具。設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮軟件系統(tǒng)必須完成的基本邏輯功能,不需要考

慮如何具體實(shí)現(xiàn)這些功能,所以它也是今后進(jìn)行軟件設(shè)計(jì)開(kāi)發(fā)的很好的出發(fā)點(diǎn)。

數(shù)據(jù)流圖有4種基本符號(hào):方框或立方體,表示數(shù)據(jù)的源點(diǎn)或終點(diǎn),是系統(tǒng)之外

的實(shí)體;圓形或者圓角矩形,表示加工(變換數(shù)據(jù)的處理);兩行平行線或者開(kāi)

口矩形表示數(shù)據(jù)存儲(chǔ);箭頭表示數(shù)據(jù)流,即特定數(shù)據(jù)的流動(dòng)方向。

5.數(shù)據(jù)字典

★考核知識(shí)點(diǎn):數(shù)據(jù)字典

參考講稿章節(jié):3.4

附2.1.5(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

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

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

據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。沒(méi)有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格;

然而沒(méi)有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。對(duì)數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖中每個(gè)

元素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說(shuō)明。

6.軟件總體設(shè)計(jì)

★考核知識(shí)點(diǎn):軟件總體設(shè)計(jì)

參考講稿章節(jié):5.1

附2.1.6(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件總體設(shè)計(jì)是將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)的過(guò)程??傮w設(shè)計(jì)

是軟件結(jié)構(gòu)的建立過(guò)程,它將軟件系統(tǒng)分解成許多個(gè)模塊,并決定每個(gè)模塊的外

部特征,即功能和界面(輸入和輸出)。

7.結(jié)構(gòu)化設(shè)計(jì)方法

★考核知識(shí)點(diǎn):結(jié)構(gòu)化設(shè)計(jì)方法

參考講稿章節(jié):5.6

附2.1.7(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign,簡(jiǎn)稱(chēng)SD)方法,也稱(chēng)為面向數(shù)據(jù)流的設(shè)計(jì)方法,

與結(jié)構(gòu)化分析方法相銜接。結(jié)構(gòu)化設(shè)計(jì)方法目標(biāo)是通過(guò)對(duì)數(shù)據(jù)流的分析來(lái)設(shè)計(jì)軟

件結(jié)構(gòu),將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)圖。

8.判定表

★考核知識(shí)點(diǎn):判定表

參見(jiàn)講稿章節(jié):6.3

附2.1.8:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

當(dāng)算法中包含多重嵌套的條件選擇時(shí),判定表能夠清晰地表示復(fù)雜的條件組合與

應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。判定表用于表示程序的靜態(tài)邏輯,在判定表中的條

件部分給出所有的兩分支判斷的列表,動(dòng)作部分給出相應(yīng)的處理,要求將程序流

程圖中的多分支判斷都改成兩分支判斷。一張判定表由4部分組成:左上部列出

所有條件;左下部是所有可能做的動(dòng)作;右上部是表示各種條件組合的一個(gè)矩陣;

右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作。判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)

則,規(guī)定了與特定的條件組合相對(duì)應(yīng)的動(dòng)作。

9.靜態(tài)測(cè)試

★考核知識(shí)點(diǎn):軟件測(cè)試方法

參見(jiàn)講稿章節(jié):8.2

附2.1.9:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

靜態(tài)測(cè)試,就是靜態(tài)分析,指被測(cè)程序不在機(jī)器上運(yùn)行,對(duì)模塊的源代碼進(jìn)行研

讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),檢測(cè)只進(jìn)行特性分析。

10.動(dòng)態(tài)測(cè)試

★考核知識(shí)點(diǎn):軟件測(cè)試方法

參見(jiàn)講稿章節(jié):8.2

附2.1.10:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

動(dòng)態(tài)測(cè)試是指通過(guò)運(yùn)行程序發(fā)現(xiàn)錯(cuò)誤。

11.黑盒測(cè)試

★考核知識(shí)點(diǎn):軟件測(cè)試方法

參見(jiàn)講稿章節(jié):8.2

附2.1.11:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

黑盒測(cè)試,也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。它不考慮程序內(nèi)部結(jié)構(gòu)和處理過(guò)程。

把被測(cè)程序看成一個(gè)黑盒子,只在軟件接口處進(jìn)行測(cè)試。測(cè)試者只知道該程序輸

入和輸出之間的關(guān)系或程序的功能,依靠能夠反映這一關(guān)系和程序功能的需求規(guī)

格說(shuō)明書(shū)考慮確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性,檢查程序是否滿足功能要

求黑盒測(cè)試被用來(lái)證實(shí)軟件功能的正確性和可操作性。

12.白盒測(cè)試

★考核知識(shí)點(diǎn):軟件測(cè)試方法

參見(jiàn)講稿章節(jié):8.2

附2.1.12:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

白盒測(cè)試,也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試法與黑盒測(cè)試法不同,測(cè)試

人員將程序視為一個(gè)透明的白盒子,測(cè)試人員需了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。

以檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ),要求對(duì)程序的結(jié)構(gòu)特性做到一定程度的覆蓋,對(duì)

程序中的所有邏輯路徑進(jìn)行測(cè)試,并檢驗(yàn)內(nèi)部控制結(jié)構(gòu)是否有錯(cuò),確定實(shí)際的運(yùn)

行狀態(tài)與預(yù)期的狀態(tài)是否一致。

13.測(cè)試用例

★考核知識(shí)點(diǎn):測(cè)試用例

參見(jiàn)講稿章節(jié):8.3

附2.1.13.:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

測(cè)試用例是針對(duì)特定測(cè)試對(duì)象而開(kāi)發(fā)的一組輸入、預(yù)置條件和預(yù)期結(jié)果。測(cè)試用

例的基本目的是確定一組最有可能發(fā)現(xiàn)某個(gè)錯(cuò)誤或某類(lèi)錯(cuò)誤的測(cè)試數(shù)據(jù)。測(cè)試用

例的不足在于不可能測(cè)試程序的每條路徑,也不能把所有數(shù)據(jù)都試一遍。

14.集成測(cè)試

★考核知識(shí)點(diǎn):集成測(cè)試

參見(jiàn)講稿章節(jié):8.9

附2.1.14:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

集成測(cè)試是在單元測(cè)試基礎(chǔ)上,將所有模塊按要求組裝成一個(gè)完整的系統(tǒng)而進(jìn)行

的測(cè)試。集成測(cè)試用于組裝軟件的一種系統(tǒng)的技術(shù),是要把模塊按照設(shè)計(jì)要求組

裝起來(lái)的同時(shí)進(jìn)行測(cè)試,用以發(fā)現(xiàn)和接口相聯(lián)系的問(wèn)題。

15.確認(rèn)測(cè)試

★考核知識(shí)點(diǎn):確認(rèn)測(cè)試

參見(jiàn)講稿章節(jié):8.10

附2.1.15:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

確認(rèn)測(cè)試,又稱(chēng)為有效性測(cè)試或驗(yàn)收測(cè)試,是從質(zhì)量的角度,在功能、性能、可

靠性、易用性等方面對(duì)軟件做全面的質(zhì)量檢測(cè)。

16.系統(tǒng)測(cè)試

★考核知識(shí)點(diǎn):系統(tǒng)測(cè)試

參見(jiàn)講稿章節(jié):8.10

附2.1.16:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

系統(tǒng)測(cè)試是將經(jīng)過(guò)單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試以后的軟件,作為計(jì)算機(jī)系統(tǒng)

中的一個(gè)組成部分,需要與系統(tǒng)中的硬件、外部設(shè)備、支持軟件、數(shù)據(jù)及操作人

員結(jié)合起來(lái),在實(shí)際運(yùn)行環(huán)境下對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的嚴(yán)格有效的測(cè)試來(lái)發(fā)

現(xiàn)軟件的潛在問(wèn)題,以保證各組成部分不僅單獨(dú)的正常運(yùn)行,而且在系統(tǒng)各部分

統(tǒng)一協(xié)調(diào)下也能正常運(yùn)行。

系統(tǒng)測(cè)試不同于功能測(cè)試。功能測(cè)試主要是驗(yàn)證軟件功能是否符合用戶需求,并

不考慮各種環(huán)境及非功能問(wèn)題,如安全性、可靠性、性能等,而系統(tǒng)測(cè)試是在更

大范圍內(nèi)進(jìn)行的測(cè)試,著重對(duì)系統(tǒng)的性能、特性進(jìn)行測(cè)試。

17.a測(cè)試

★考核知識(shí)點(diǎn):a測(cè)試

參見(jiàn)講稿章節(jié):8.10

附2.1.17:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

a測(cè)試:是用戶在開(kāi)發(fā)者的場(chǎng)所進(jìn)行,并且在開(kāi)發(fā)者對(duì)用戶的“指導(dǎo)”下進(jìn)行測(cè)

試。開(kāi)發(fā)者負(fù)責(zé)記錄發(fā)現(xiàn)的錯(cuò)誤和使用中遇到的問(wèn)題。

18.B測(cè)試

★考核知識(shí)點(diǎn):B測(cè)試

參見(jiàn)講稿章節(jié):8.10

附2.1.18:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

B測(cè)試:是由軟件的最終用戶們?cè)谝粋€(gè)或多個(gè)客戶場(chǎng)所進(jìn)行,在開(kāi)發(fā)者不能控制

的環(huán)境中的“真實(shí)”應(yīng)用。用戶記錄下在B測(cè)試過(guò)程中遇到的一切問(wèn)題(真實(shí)的

或想象的),并且定期把這些問(wèn)題報(bào)告給開(kāi)發(fā)者。開(kāi)發(fā)者對(duì)產(chǎn)品進(jìn)行修改和完善,

最終得到正式的發(fā)布版本。

16.軟件可維護(hù)性

★考核知識(shí)點(diǎn):軟件可維護(hù)性

參見(jiàn)講稿章節(jié):9.3

附2.1.16:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件可維護(hù)性是指糾正軟件系統(tǒng)出現(xiàn)的錯(cuò)誤和缺陷,以及為滿足新的要求進(jìn)行修

改、擴(kuò)充或壓縮的容易程度。軟件可維護(hù)性是軟件開(kāi)發(fā)階段各個(gè)時(shí)期的關(guān)鍵目標(biāo)。

17.封裝

★考核知識(shí)點(diǎn):面向?qū)ο蠡靖拍?/p>

參見(jiàn)講稿章節(jié):10.2

附2.1.17:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

封裝指把對(duì)象的屬性和操作結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,并盡可能隱藏對(duì)象的內(nèi)

部細(xì)節(jié),又稱(chēng)信息隱藏。通過(guò)對(duì)象的封裝特性,用戶只能看到對(duì)象封裝界面上的

信息,對(duì)象內(nèi)部對(duì)用戶是隱蔽的,有效地實(shí)現(xiàn)了模塊化功能。封裝的目的是將對(duì)

象的使用者與設(shè)計(jì)者分開(kāi)。

18.構(gòu)件

★考核知識(shí)點(diǎn):構(gòu)件

參見(jiàn)講稿章節(jié):11.6

附2.1.18:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

構(gòu)件是一個(gè)相對(duì)獨(dú)立的可裝配的物理塊,一般作為一個(gè)獨(dú)立的文件存在。構(gòu)件具

有確定的接口,相互之間可以調(diào)用,構(gòu)件之間存在依賴(lài)關(guān)系。構(gòu)件定義了一個(gè)系

統(tǒng)的功能,一個(gè)構(gòu)件是一個(gè)或多個(gè)類(lèi)的實(shí)現(xiàn)。

(二)、簡(jiǎn)答

1.簡(jiǎn)述軟件危機(jī)的表現(xiàn)形式,產(chǎn)生軟件危機(jī)的原因,軟件危機(jī)的解決途徑

★考核知識(shí)點(diǎn):軟件危機(jī)

參見(jiàn)講稿章節(jié):1.2

附2.2.1(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。

軟件危機(jī)的表現(xiàn)形式:

1)對(duì)軟件開(kāi)發(fā)成本和研制進(jìn)度的估計(jì)常常很不精確。

2)“已完成”的軟件不能滿足用戶要求。

3)軟件產(chǎn)品質(zhì)量差,可靠性得不到保證。

4)軟件產(chǎn)品可維護(hù)性差。

5)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。

6)軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用速度普及深入的趨勢(shì)。

產(chǎn)生軟件危機(jī)的原因:

1)軟件是計(jì)算機(jī)系統(tǒng)中的邏輯部件,軟件產(chǎn)品往往規(guī)模龐大,結(jié)構(gòu)復(fù)雜。

2)軟件開(kāi)發(fā)的管理困難。

3)軟件開(kāi)發(fā)費(fèi)用不斷增加,維護(hù)費(fèi)用急劇上升,直接威脅計(jì)算機(jī)應(yīng)用的擴(kuò)大。

4)軟件開(kāi)發(fā)技術(shù)落后。

5)生產(chǎn)方式落后。

6)開(kāi)發(fā)工具落后,生產(chǎn)效率提高緩慢。

軟件危機(jī)的解決途徑:

1)首先應(yīng)該對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí),徹底清除“軟件就是程序”的錯(cuò)

誤觀念。

2)要使用好的開(kāi)發(fā)技術(shù)和方法,并且要不斷研究探索更好更有效的技術(shù)和方法。

盡快消除在計(jì)算機(jī)系統(tǒng)早期發(fā)展階段形成的一些錯(cuò)誤觀念和作法。

3)要有良好的組織、嚴(yán)密的管理,各類(lèi)人員要相互配合,共同完成任務(wù)。充分

認(rèn)識(shí)軟件開(kāi)發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧。

2.簡(jiǎn)述軟件工程的基本目標(biāo)。

★考核知識(shí)點(diǎn):軟件工程

參見(jiàn)講稿章節(jié):L3

附222:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件工程是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的一門(mén)工程學(xué)科,采用工程的概念、原理、

技術(shù)和方法來(lái)開(kāi)發(fā)和維護(hù)軟件。

軟件工程的宗旨是為了提高軟件生產(chǎn)率、降低生產(chǎn)成本,以較小的代價(jià)獲得

高質(zhì)量的軟件產(chǎn)品。

軟件工程的基本目標(biāo)包括

1)付出較低的開(kāi)發(fā)成本

2)達(dá)到用戶要求的全部軟件功能

3)取得較好的軟件性能

4)具有較好的易用性、可重用性和可移植性

5)需要較低的維護(hù)費(fèi)用,較高的可靠性

6)能按時(shí)完成開(kāi)發(fā)工作,及時(shí)交付用戶使用

3.什么是軟件的生命周期?典型的軟件生命周期包括哪些階段?軟件生命周期

中軟件開(kāi)發(fā)時(shí)期包含哪些階段?并簡(jiǎn)述各階段的主要任務(wù)。

★考核知識(shí)點(diǎn):軟件生命周期

參見(jiàn)講稿章節(jié):2.2

附223:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件生命周期是借用工程中產(chǎn)品生命周期的概念而得來(lái)的,是指某一軟件項(xiàng)

目被提出來(lái)并著手實(shí)現(xiàn)開(kāi)始直到該軟件報(bào)廢或停止使用為止的生命周期,又稱(chēng)軟

件生存期。

軟件的生命周期一般分為軟件定義、軟件開(kāi)發(fā)和軟件運(yùn)行三個(gè)時(shí)期。

軟件定義時(shí)期一般有問(wèn)題定義、可行性研究和需求分析三個(gè)階段;軟件開(kāi)發(fā)

時(shí)期有概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試階段;軟件維護(hù)時(shí)期完

成運(yùn)行維護(hù)階段。

軟件開(kāi)發(fā)時(shí)期通常由下述4個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元

測(cè)試、綜合測(cè)試。其中前兩個(gè)階段又稱(chēng)為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱(chēng)為系統(tǒng)實(shí)現(xiàn)。

(1)概要設(shè)計(jì)又稱(chēng)為總體設(shè)計(jì)、初步設(shè)計(jì)、邏輯設(shè)計(jì)或高層設(shè)計(jì)。這個(gè)階

段是要概括地回答“怎樣實(shí)現(xiàn)目標(biāo)系統(tǒng)?”,主要任務(wù)是將需求轉(zhuǎn)變?yōu)檐浖谋?/p>

示形式。開(kāi)發(fā)人員要把確定的各項(xiàng)功能需求轉(zhuǎn)換成需求的體系結(jié)構(gòu),即從需求規(guī)

格說(shuō)明書(shū)導(dǎo)出軟件結(jié)構(gòu)圖(體系結(jié)構(gòu)設(shè)計(jì)),確定由哪些模塊組成以及模塊之間

的關(guān)系(接口設(shè)計(jì)、組件設(shè)計(jì)),同時(shí)還要設(shè)計(jì)該項(xiàng)目的應(yīng)用系統(tǒng)的總體數(shù)據(jù)結(jié)

構(gòu)和數(shù)據(jù)庫(kù)結(jié)構(gòu)(數(shù)據(jù)庫(kù)設(shè)計(jì)),撰寫(xiě)出總體設(shè)計(jì)說(shuō)明書(shū)。

(2)詳細(xì)設(shè)計(jì)也稱(chēng)為模塊設(shè)計(jì)、物理設(shè)計(jì)或低層設(shè)計(jì),詳細(xì)設(shè)計(jì)階段的任

務(wù)是要回答“應(yīng)該怎樣具體地實(shí)現(xiàn)這個(gè)系統(tǒng)?”,為概要設(shè)計(jì)階段得到的軟件結(jié)

構(gòu)圖中的每個(gè)模塊完成的功能進(jìn)行具體描述、內(nèi)部特征,要把功能描述轉(zhuǎn)變?yōu)榫?/p>

確的、結(jié)構(gòu)化的過(guò)程描述,即確定實(shí)現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu),并用

相應(yīng)的詳細(xì)設(shè)計(jì)工具表示出來(lái),撰寫(xiě)軟件的詳細(xì)設(shè)計(jì)說(shuō)明書(shū)。

(3)編碼和單元測(cè)試這個(gè)階段的關(guān)鍵任務(wù)將軟件設(shè)計(jì)轉(zhuǎn)換成程序代碼,寫(xiě)

出正確的,容易理解、容易維護(hù)的程序模塊。程序員應(yīng)該根據(jù)目標(biāo)系統(tǒng)的性質(zhì)和

實(shí)際環(huán)境,選取一種適當(dāng)?shù)母呒?jí)程序設(shè)計(jì)語(yǔ)言(必要時(shí)用匯編語(yǔ)言),把詳細(xì)設(shè)

計(jì)的結(jié)果翻譯成用選定的語(yǔ)言書(shū)寫(xiě)的程序,并且仔細(xì)測(cè)試編寫(xiě)出的每一個(gè)模塊。

最終提交源程序、詳盡的程序說(shuō)明和單元測(cè)試報(bào)告。

(4)測(cè)試是開(kāi)發(fā)時(shí)期的最后一個(gè)階段,是保證軟件質(zhì)量的重要手段。這個(gè)

階段的關(guān)鍵任務(wù)是通過(guò)各種類(lèi)型的測(cè)試(及相應(yīng)的調(diào)試)使軟件達(dá)到預(yù)定的要求。

最基本的測(cè)試是集成測(cè)試和驗(yàn)收測(cè)試。必要時(shí)還可以再通過(guò)現(xiàn)場(chǎng)測(cè)試或平行運(yùn)行

等方法對(duì)目標(biāo)系統(tǒng)進(jìn)一步測(cè)試檢驗(yàn)。集成測(cè)試是根據(jù)設(shè)計(jì)的軟件結(jié)構(gòu),把經(jīng)過(guò)單

元測(cè)試檢驗(yàn)的模塊按某種選定的策略裝配起來(lái),在裝配過(guò)程中對(duì)程序進(jìn)行必要的

測(cè)試。驗(yàn)收測(cè)試則是按照規(guī)格說(shuō)明書(shū)的規(guī)定(通常在需求分析階段確定),由用

戶(或在用戶積極參加下)對(duì)目標(biāo)系統(tǒng)進(jìn)行驗(yàn)收。最終提交測(cè)試計(jì)劃、詳細(xì)測(cè)試

方案以及實(shí)際測(cè)試結(jié)果等。

4.什么是模塊、模塊化?軟件設(shè)計(jì)為什么要模塊化?

★考核知識(shí)點(diǎn):軟件設(shè)計(jì)模塊化

參見(jiàn)講稿章節(jié):5.4

附2.2.4:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

模塊,又稱(chēng)“組件”,是軟件結(jié)構(gòu)的基礎(chǔ),是軟件元素,是能夠單獨(dú)命名、

獨(dú)立完成一定功能的程序語(yǔ)句的集合。

模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊

的過(guò)程。

模塊化是為了使一個(gè)復(fù)雜的大型程序能被人的智力所管理。如果一個(gè)大型程

序僅由一個(gè)模塊組成,它將很難被人所理解。

模塊化的目的是降低軟件復(fù)雜性,使軟件設(shè)計(jì)、測(cè)試、維護(hù)等操作變得容易。

運(yùn)用模塊化技術(shù)還可以防止錯(cuò)誤蔓延,從而可以提高系統(tǒng)的可靠性。

4.簡(jiǎn)述軟件模塊設(shè)計(jì)準(zhǔn)則。

★考核知識(shí)點(diǎn):軟件結(jié)構(gòu)設(shè)計(jì)準(zhǔn)則

參見(jiàn)講稿章節(jié):5.4

附224:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

軟件模塊設(shè)計(jì)需要遵循的準(zhǔn)則如下:

1)降低模塊之間的耦合性,提高模塊的內(nèi)聚性。

2)模塊結(jié)構(gòu)的深度、寬度、扇出和扇入應(yīng)適當(dāng)

3)模塊的作用范圍應(yīng)該在控制范圍內(nèi)

4)模塊接口設(shè)計(jì)要簡(jiǎn)單,以便降低復(fù)雜程度和冗余度

5)設(shè)計(jì)功能可預(yù)測(cè)并能得到驗(yàn)證的模塊

6)適當(dāng)劃分模塊規(guī)模,以保持其獨(dú)立性

5.簡(jiǎn)述軟件測(cè)試的原則。

★考核知識(shí)點(diǎn):軟件測(cè)試的原理

參見(jiàn)講稿章節(jié):8.1

附225:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

原則一:所有的測(cè)試都應(yīng)該能追溯到用戶需求

原則二:測(cè)試工作具有創(chuàng)造性,但很困難。

1.測(cè)試用例既要有輸入數(shù)據(jù),又要有對(duì)應(yīng)的輸出結(jié)果。

2.測(cè)試用例不僅要選用合理的輸入數(shù)據(jù),還應(yīng)選擇不合理的輸入數(shù)據(jù)。

3.除了檢查程序是否做了它應(yīng)該做的工作,還應(yīng)該檢查程序是否做了它不應(yīng)

該做的工作。

原則三:測(cè)試要有計(jì)劃性

1.應(yīng)該遠(yuǎn)在測(cè)試開(kāi)始之前就制定測(cè)試計(jì)劃

2.測(cè)試計(jì)劃、測(cè)試用例、測(cè)試報(bào)告必須作為文檔長(zhǎng)期保存

3.嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性

原則四:把Pareto原理應(yīng)用于軟件測(cè)試

原則五:窮舉測(cè)試是不可能的

原則六:測(cè)試要有獨(dú)立性

5.有哪些常用的黑盒測(cè)試方法?有哪些常用的白盒測(cè)試方法?

★考核知識(shí)點(diǎn):白盒測(cè)試、黑盒測(cè)試

參見(jiàn)講稿章節(jié):83-8.7

附225:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

用黑盒技術(shù)設(shè)計(jì)測(cè)試用例一般有等價(jià)類(lèi)劃分、邊界值分析、錯(cuò)誤推測(cè)和因果

圖4種方法。

常用的白盒測(cè)試方法包括邏輯覆蓋測(cè)試法、循環(huán)測(cè)試法、基本路徑測(cè)試法。

在邏輯覆蓋法中大致又可以分為:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定條件覆

蓋和條件組合覆蓋。

6.簡(jiǎn)述等價(jià)類(lèi)劃分以及等價(jià)類(lèi)劃分原則。

★考核知識(shí)點(diǎn):等價(jià)類(lèi)劃分

參見(jiàn)講稿章節(jié):8.6

附226:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

等價(jià)類(lèi)劃分法是把所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等

價(jià)類(lèi)。則可以合理地做出下述假定:每類(lèi)中的一個(gè)典型值在測(cè)試中的作用與這一

類(lèi)中所有其他值的作用相同。用少量有代表性的測(cè)試數(shù)據(jù)代替大量測(cè)試目的相同

的例子,能有效提高測(cè)試效率,并取得良好的測(cè)試效果。在劃分等價(jià)類(lèi)時(shí),可以

將其劃分為兩類(lèi):有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)。有效等價(jià)類(lèi)是指完全滿足程序輸入

的規(guī)范說(shuō)明,是合理的、有意義的輸入數(shù)據(jù)所構(gòu)成的集合。利用有效等價(jià)類(lèi)可以

檢驗(yàn)程序是否滿足規(guī)范說(shuō)明書(shū)所規(guī)定的功能和性能。無(wú)效等價(jià)類(lèi)是指不滿足程序

輸入的規(guī)范說(shuō)明,是不合理的、無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。利用無(wú)效等價(jià)

類(lèi)可以檢驗(yàn)程序的容錯(cuò)性。

等價(jià)類(lèi)劃分原則:

1)如果規(guī)定了輸入取值范圍或輸入數(shù)據(jù)的個(gè)數(shù),則可劃分出一個(gè)有效等價(jià)

類(lèi)(在范圍內(nèi))和兩個(gè)無(wú)效等價(jià)類(lèi)(輸入值小于最小值或大于最大值)。

2)如果規(guī)定了輸入數(shù)據(jù)的一組值,且程序?qū)Σ煌斎胫底霾煌幚恚瑒t每

個(gè)允許的輸入值是一個(gè)有效等價(jià)類(lèi),還有一個(gè)無(wú)效等價(jià)類(lèi)(不允許的輸入值,

3)如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可劃分出一個(gè)有效等價(jià)類(lèi)(符

合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從各種不同角度違反規(guī)則)。

4)如果規(guī)定了輸入數(shù)據(jù)為整型,則可以劃分出正整數(shù)、零、負(fù)整數(shù)3個(gè)有

效等價(jià)類(lèi),其他為無(wú)效等價(jià)類(lèi)。

6.簡(jiǎn)述邊界值分析法及邊界值分析的原則。

★考核知識(shí)點(diǎn):邊界值分析

參見(jiàn)講稿章節(jié):8.7

附226:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

邊界值分析也是一種黑盒測(cè)試方法,是對(duì)等價(jià)類(lèi)劃分方法的補(bǔ)充,人們從長(zhǎng)

期的測(cè)試工作經(jīng)驗(yàn)得知,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是

在輸入范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。

這里所說(shuō)的邊界是指,相當(dāng)于輸入等價(jià)類(lèi)和輸出等價(jià)類(lèi)而言,稍高于其邊界值及

稍低于其邊界值的一些特定情況。通常輸入等價(jià)類(lèi)與輸出等價(jià)類(lèi)的邊界,是重點(diǎn)

測(cè)試的內(nèi)容,應(yīng)當(dāng)選取正好等于、剛剛大于、或剛剛小于邊界的值作為測(cè)試數(shù)據(jù)。

邊界值分析原則:1)剛剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超越這個(gè)范圍

的邊界值作為測(cè)試輸入數(shù)據(jù);2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、

最小個(gè)數(shù)、比最大個(gè)數(shù)多1、比最小個(gè)數(shù)少1的數(shù)作為測(cè)試數(shù)據(jù);3)根據(jù)規(guī)格

說(shuō)明書(shū)的每個(gè)輸出條件,使用前面的原則1和2;4)規(guī)格說(shuō)明書(shū)給出的輸入域

或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。

7.什么是類(lèi),什么是對(duì)象,類(lèi)和對(duì)象是什么關(guān)系?

★考核知識(shí)點(diǎn):面向?qū)ο蟮幕靖拍?,?duì)象、類(lèi)及類(lèi)之間關(guān)系

參見(jiàn)講稿章節(jié):10.2、10.3

附227:(考核知識(shí)點(diǎn)解釋?zhuān)?/p>

類(lèi)是具有相同屬性和操作的一組相似對(duì)象(實(shí)體)的集合。也就是說(shuō),類(lèi)是

對(duì)具有相同屬性和行為的一個(gè)或多個(gè)對(duì)象的描述,通常在這種描述中也包括對(duì)怎

樣創(chuàng)建該類(lèi)的新對(duì)象的說(shuō)明。類(lèi)為屬于該類(lèi)的全部對(duì)象提供了統(tǒng)一的抽象描述。

同類(lèi)的對(duì)象具有相同的屬性和方法。

對(duì)象是對(duì)問(wèn)題域中客觀存在的事物的抽象,是一組屬性和在這些屬性上的操

作的封裝體。

在應(yīng)用領(lǐng)域中有意義的、與所要解決的問(wèn)題有關(guān)系的任何事物都可以作為對(duì)

象,它既可以是具體的物理實(shí)體的抽象,也可以是人為的概念,或者是任何有明

確邊界和意義的東西。

由于客觀世界中的實(shí)體通常都既具有靜態(tài)的屬性,又具有動(dòng)杰的行為,因此,

面向?qū)ο蠓椒▽W(xué)中的對(duì)象是由描述該對(duì)象屬性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加

的所有操作封裝在一起構(gòu)成的統(tǒng)一體。

類(lèi)給出了屬于該類(lèi)的全部對(duì)象的抽象定義,而對(duì)象則是符合這種定義的一個(gè)

實(shí)體。

因此,對(duì)象又稱(chēng)為是類(lèi)的一個(gè)“實(shí)例(Instance)",類(lèi)又稱(chēng)為是對(duì)象的“模

板(Template)”。

另外,類(lèi)是靜態(tài)的,類(lèi)的語(yǔ)義和類(lèi)之間的關(guān)系在程序執(zhí)行之前已經(jīng)定義,但

對(duì)象是動(dòng)態(tài)的,在程序執(zhí)行過(guò)程中可以動(dòng)態(tài)地創(chuàng)建和刪除對(duì)象;

類(lèi)代表一類(lèi)抽象的概念或事物,對(duì)象是在客觀世界中實(shí)際存在的類(lèi)的實(shí)例。

8.簡(jiǎn)述面向?qū)ο蠓椒▽W(xué)中類(lèi)與類(lèi)之間的關(guān)系。

★考核知識(shí)點(diǎn):類(lèi)及類(lèi)之間關(guān)系

參見(jiàn)講稿章節(jié):10.3

附228:(考核知識(shí)點(diǎn)解釋)

類(lèi)與類(lèi)之間的關(guān)系:包括繼承、多態(tài)性、關(guān)聯(lián)、依賴(lài)、實(shí)現(xiàn)、聚集與組合。

繼承是子類(lèi)自動(dòng)地共享父類(lèi)中定義的數(shù)據(jù)和方法的機(jī)制。反過(guò)來(lái),從子類(lèi)抽

取共同通用的特征形成父類(lèi)的過(guò)程也叫做泛化(Generalization)。繼承可以表示

類(lèi)與類(lèi)、接口與接口之間的繼承關(guān)系,或類(lèi)與接口之間的實(shí)現(xiàn)關(guān)系。具有繼承關(guān)

系的類(lèi)之間,既具有共享特性又具有差別或新增,并且類(lèi)之間具有層次結(jié)構(gòu)。繼

承具有傳遞性。

多態(tài)性指子類(lèi)對(duì)象可以像父類(lèi)對(duì)象那樣使用,它們可以共享一個(gè)操作名,然

而卻有不同的實(shí)現(xiàn)方法。

關(guān)聯(lián)體現(xiàn)的是兩個(gè)類(lèi)之間語(yǔ)義級(jí)別的一種強(qiáng)依賴(lài)關(guān)系,長(zhǎng)期性的,平等的。

關(guān)聯(lián)可以是單向的、雙向的。

依賴(lài)就是一個(gè)類(lèi)A使用到了另一個(gè)類(lèi)B,而這種使用關(guān)系是具有偶然性的、

臨時(shí)性的、非常弱的,但是類(lèi)B的變化會(huì)影響到類(lèi)A。關(guān)于關(guān)聯(lián)關(guān)系和依賴(lài)關(guān)

系有一個(gè)簡(jiǎn)單的判斷原則:某個(gè)類(lèi)以成員變量的形式出現(xiàn)在另一個(gè)類(lèi)中,二者是

關(guān)聯(lián)關(guān)系;某個(gè)類(lèi)以局部變量的形式出現(xiàn)在另一個(gè)類(lèi)中,二者是依賴(lài)關(guān)系。

實(shí)現(xiàn)是用來(lái)規(guī)定接口和實(shí)現(xiàn)接口的類(lèi)之間的關(guān)系,接口是操作的集合,而這

些操作就用于規(guī)定類(lèi)或者構(gòu)件的一種服務(wù)。

一個(gè)類(lèi)可由一個(gè)或多類(lèi)部分類(lèi)組成,表示組成關(guān)系的整體和部分類(lèi)之間的關(guān)

聯(lián)又可以細(xì)分為聚集和組合。整體擁有各部分,部分與整體不是相同的生存期,

如整體不存在了,部分還存在,稱(chēng)為聚集;還有一種情況,整體擁有各部分,部

分與整體具有同樣的生存期,如整體不存在了,部分也會(huì)隨之消失,稱(chēng)為組合。

9.面向?qū)ο蠓治鲋饕⒛膸追N模型?各自的特點(diǎn)是什么?

★考核知識(shí)點(diǎn):面向?qū)ο蟮姆治鲞^(guò)程

參見(jiàn)講稿章節(jié):11.1

附2

溫馨提示

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