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

下載本文檔

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

文檔簡(jiǎn)介

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

第1章軟件工程概述

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

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

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

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

學(xué)科——計(jì)算機(jī)軟件工程學(xué)(通常簡(jiǎn)稱(chēng)為軟件工程)。

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

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

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

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

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

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

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

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

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

驟。

軟件生命周期:由軟件定義、軟件開(kāi)發(fā)和運(yùn)行維護(hù)1也稱(chēng)之為軟件維護(hù))3個(gè)時(shí)期組成

①瀑布模型

定義:傳統(tǒng)軟件工程方法學(xué)的軟件過(guò)程,根本上可以用瀑布模型來(lái)描述。

瀑布模型的特點(diǎn):1.階段間具有順序性和依賴(lài)性;2.推遲實(shí)現(xiàn)的觀點(diǎn);3.質(zhì)量保證的觀點(diǎn)。瀑布模

型的成功在很大程序上是由于它根本上是一種文檔驅(qū)動(dòng)的模型。

瀑布模型的主要優(yōu)點(diǎn):a.可強(qiáng)迫開(kāi)發(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)品交付給用戶(hù)之前,用戶(hù)只能通過(guò)文檔來(lái)了解未來(lái)的產(chǎn)

品是什么樣的。開(kāi)發(fā)人員和用戶(hù)之間缺乏有效的溝通,很可能導(dǎo)致最終開(kāi)發(fā)

出的軟件產(chǎn)品不能真正滿(mǎn)足用戶(hù)的需求。

②快速原型模型

定義:所謂“快速原型〃,是快速建上起來(lái)的、可在計(jì)算機(jī)上運(yùn)行的程序,它所能完成的功能往往

是最終的軟件產(chǎn)品所能完成的功能的子集。原型是軟件開(kāi)發(fā)人員與用戶(hù)溝通的強(qiáng)有力工具,

因此有助于所開(kāi)發(fā)出的軟件產(chǎn)品滿(mǎn)足用戶(hù)的真實(shí)需求。

快速原型模型的主要優(yōu)點(diǎn)是:A.使用這種軟件過(guò)程開(kāi)發(fā)出的軟件產(chǎn)品通常能滿(mǎn)足用戶(hù)的真實(shí)需求;

B.軟件產(chǎn)品的開(kāi)發(fā)過(guò)程根本上是線性順序過(guò)程。

③增量模型

定義:增量模型也稱(chēng)為漸增模型

增量模型的主要優(yōu)點(diǎn):A.能在較短時(shí)間內(nèi)向用戶(hù)提交可完成局部工作的產(chǎn)品:

B.逐步增加產(chǎn)品功能,從而使用戶(hù)有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,減

少一個(gè)全新的軟件給客戶(hù)組織昔來(lái)的沖擊。

④螺旋模型

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

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

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

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

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

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

C.減少了過(guò)多測(cè)試或測(cè)試缺乏所帶來(lái)的風(fēng)險(xiǎn);

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

⑤噴泉模型

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

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

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

渡的特性。

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

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

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

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

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

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

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

任務(wù)描述

問(wèn)題定義確定要求解決的問(wèn)題是什么

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

需求分析對(duì)待開(kāi)發(fā)軟件提出需求進(jìn)行分析并給出詳細(xì)定義。編寫(xiě)軟件規(guī)格說(shuō)明書(shū)及初步的用戶(hù)手冊(cè),提交

評(píng)審

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

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

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

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

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

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

第2章可行性研究

1、可行性研究包括哪幾方面(每方面解決什么問(wèn)題),研究得到的文檔和結(jié)論是什么?

技術(shù)可靠性:使用現(xiàn)有的技術(shù)能否實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?

經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能否超過(guò)它的開(kāi)發(fā)本錢(qián)?

操作可行性:系統(tǒng)的操作方式在這個(gè)用戶(hù)組織內(nèi)是否行得通?

研究的結(jié)果:是一份可行性研究的各個(gè)步驟的工作結(jié)果的文檔,它包含了工程是否能繼續(xù)進(jìn)行下去和分

析員的推薦方案;

2、主要描述工具的概念和使用:

系統(tǒng)流程圖:是什么,成份和根本符號(hào),描述什么模型,畫(huà)法;

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

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

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

的每個(gè)部件。

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

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

符號(hào)名稱(chēng)說(shuō)明

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

處理

—人工加工等牌處理

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

輸入輸出

U腦的朋

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

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

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

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

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

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

的邏輯過(guò)程。

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

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

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

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

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

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

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

定義數(shù)據(jù)的方法:用被定義的事物的成分的某種組合表示這個(gè)事物,這些組成成分又由更低的成分組

合來(lái)定義。

3、數(shù)據(jù)字典和數(shù)據(jù)流圖的關(guān)系。

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

數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖中每個(gè)元素的精確定義放在一起,

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

第3章需求分析

需求規(guī)格說(shuō)明書(shū)

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

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

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

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

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

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

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

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

所有功能。

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

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

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

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

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

15)接口需求:接口需求描述應(yīng)用系統(tǒng)與它的環(huán)境通信的格式。常見(jiàn)的接口需求有:用戶(hù)接口需求:

硬件接口需求;軟件接口需求;通信接口需求。

(6)約束:設(shè)計(jì)約束或?qū)崿F(xiàn)約束描述在設(shè)計(jì)或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時(shí)應(yīng)遵守的限制條件。

(7)逆向需求:逆向需求說(shuō)明軟件系統(tǒng)不應(yīng)該做什么。

(8)將來(lái)可能提出的要求:應(yīng)該明確地列出那些雖然不屬于當(dāng)前系統(tǒng)開(kāi)發(fā)范疇,但是據(jù)分析將來(lái)很

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

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

修改。

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

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

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

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

型的圖形工具。

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

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

E-R圖描述的模型:用來(lái)建立數(shù)據(jù)模型,ER模型使用簡(jiǎn)單的圖形符號(hào)表達(dá)系統(tǒng)分析員對(duì)問(wèn)題域

的理解

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

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

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

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

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

(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ú)立性最重要的,是評(píng)價(jià)軟件

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

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

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

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

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

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

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

低(無(wú)直接耦合強(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分

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

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

順序內(nèi)聚9分

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

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

內(nèi)聚分類(lè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)該是力爭(zhē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。語(yǔ)句。

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

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

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

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

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

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

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

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

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

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

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

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

處理//輸入/出處理

判定

子程序調(diào)用

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

程序流程圖的根本符號(hào):

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

Shneiderman提出了盒圖。

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

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

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

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

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

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

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

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

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

PAD(問(wèn)題分析圖)的根本符號(hào):

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

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

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

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

PROCEDUREAddSalarylS

BEGIN

打開(kāi)文件

打印表頭

while(IW200)de

讀一個(gè)工資記求

ifS<36000then

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

ifS〉36000then

S*=36000

endif

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

endif

打印表中的一行

enddo

關(guān)閉文件

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

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

1、軟件測(cè)試的目的是什么?軟件測(cè)試方法的種類(lèi)?

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

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

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

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

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

3、軟件測(cè)試的步驟,過(guò)程。

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

新舊共存

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

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

模塊測(cè)試(單元測(cè)試)

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

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

內(nèi)容:

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

2.路徑測(cè)試

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

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

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

集成測(cè)試

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

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

內(nèi)容:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

應(yīng)用時(shí)間:白盒測(cè)試在測(cè)試過(guò)程的早期階段進(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)含義

能力

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

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

能力

11弱)語(yǔ)句覆蓋每條語(yǔ)句至少執(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í)滿(mǎn)足判定覆蓋和條件覆蓋的要求A=2,B=0,X=4

4判定/條件覆蓋

A=l,B=l,X=1

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

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

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

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

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

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

s(人U)

d(返叵1)

例子:

第8章維護(hù)

1、什么是軟件維護(hù)、維護(hù)分哪四種類(lèi)型、其含義分別是什么、在維護(hù)工作中占得比例如何?

軟件維護(hù)定義:就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿(mǎn)足新的需要而修正軟件的過(guò)程。

維護(hù)分為四種類(lèi)型:(1)改正性維護(hù):把整斷和改正錯(cuò)誤的過(guò)程稱(chēng)為改正性維護(hù)(2)適應(yīng)性維護(hù):為

了和變化的環(huán)境適當(dāng)?shù)呐浜隙M(jìn)行的修改軟件的活動(dòng),(3)完善性維護(hù):在使用軟件的過(guò)程中用戶(hù)常常

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

維護(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ò)誤和缺陷,以及為滿(mǎn)足新的要求進(jìn)行

修改、擴(kuò)充或壓縮軟件的難易程度

決定軟件可維護(hù)性的五個(gè)因素:(1)可理解性(2)可測(cè)試性(3)可修改性(4)可移植性(5)可重用

定以維護(hù)的原因:在于這些軟件的文檔不全、質(zhì)量差、開(kāi)發(fā)過(guò)程不注意采用好的方法,無(wú)視程序設(shè)計(jì)風(fēng)

格等。

苑以維護(hù)的根本原因:軟件定義和軟件開(kāi)發(fā)的方法有缺點(diǎn),在軟件生命周期的頭兩個(gè)時(shí)期沒(méi)有嚴(yán)格而乂

科學(xué)的管理和規(guī)劃,沒(méi)有采用軟件工程思想開(kāi)發(fā)軟件。

3、文檔和可維護(hù)性之間的關(guān)系?

文檔是影響軟件可維護(hù)性的決定因素,文檔往往比代碼更加重要;

軟件系統(tǒng)的文檔可以分為用戶(hù)文檔和系統(tǒng)文檔兩類(lèi)

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

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

8.4.2文檔

分類(lèi)

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

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

文檔要求

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

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

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

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

用戶(hù)文檔

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

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

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

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

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

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

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

8.4.2文檔

系統(tǒng)文檔

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

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

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

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

9.2.1對(duì)象

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

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

體。

對(duì)象的特點(diǎn)

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

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

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

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

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

9.2.2類(lèi)

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

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

9.2.3實(shí)例

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

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

9.2.4消息

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

象,消息名,消息變?cè)?/p>

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

9.2.5方法

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

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

9.2.6屬性

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

9.2.7封裝

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

9.2.8繼承

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

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

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

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

9.2.9多態(tài)性

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

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

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

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

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

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

可讀性。

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

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

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

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

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

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

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

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

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

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

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

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

3表示3個(gè)對(duì)象

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

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

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

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

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

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

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

(4)關(guān)聯(lián)類(lèi)

為了說(shuō)明關(guān)聯(lián)的性質(zhì)可能需要一些附加信息。可以引入一個(gè)關(guān)聯(lián)類(lèi)來(lái)記錄這些信息。關(guān)聯(lián)中的每個(gè)連

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

9.4.2.2聚集

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

(1)共享聚集

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

集。

(2)組合聚集

如果局部類(lèi)完全隸屬于整體類(lèi),局部與整體共存,整體不存在了局部也會(huì)隨之消失,那么該聚集稱(chēng)為

組合聚集。

9.4.2.3泛化

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

(1)普通泛化

(2)受限泛化

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

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

9.4.2.3泛化(IH)

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

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

承關(guān)系9.4.2.4依賴(lài)

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

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

9.4.2.5細(xì)化

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

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

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

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

對(duì)象模型。描述系統(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è)面描述了對(duì)系統(tǒng)的需求。在面向?qū)ο筚⒎治?00A)階段,這三種模型是必不可少

的。

9.4對(duì)象模型

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

使用統(tǒng)一建模語(yǔ)言UML(UnifiedModelingLanguage)提供的類(lèi)圖來(lái)建'Z對(duì)象模型。

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)有力工具。

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

對(duì)象的靜態(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)的知識(shí)、技能、方法、工具,對(duì)工程的方案、進(jìn)

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

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

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

內(nèi)容:

(1)人員的管理與組織

(2)軟件度量

(3)軟件工程方案

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

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

(6)軟件過(guò)程能力評(píng)估

(7)軟件配置管理

主要職能:制定方案、建立組織、配備人員、指導(dǎo)

2、軟件規(guī)模估算的兩種典型方法是什么?含義分別是什么?

代碼行技術(shù)含義:這種方法依據(jù)以往開(kāi)發(fā)類(lèi)似產(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ù)對(duì)軟件信息域特性和軟件復(fù)雜性的評(píng)估結(jié)果,估算軟件規(guī)模

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

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

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

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

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

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

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

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

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

對(duì)于給定的一組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ì)量的定義:就是“軟件與明確地和隱含地定義的需求向一致的程度"。更具體地說(shuō),軟件質(zhì)量是

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

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

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

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

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

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

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

值得疑心的;

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

查(閱讀和審查);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

超支之苦。

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

軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)。

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

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

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

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

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

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

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

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

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

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

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

(時(shí)間120分鐘)

院/系專(zhuān)業(yè)姓名學(xué)號(hào)

題號(hào)一二三四總分

得分

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

得分

1.()

軟件工程的三要素是過(guò)程、、工具。

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

2.()

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

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

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

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

3.()

一個(gè)程序向另一個(gè)子程序傳遞姓名、住址、號(hào)碼、生日和身份證號(hào)碼等五個(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è)框架,將軟件過(guò)程改良的進(jìn)化步驟組織成5個(gè)成熟度等級(jí)。除第1級(jí)外,每個(gè)等級(jí)都包

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

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

6.()

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

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

7.()

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

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

8.()

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

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

9.()

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

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

10.()

耦合是對(duì)軟件

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論