軟件工程的基礎(chǔ)知識_第1頁
軟件工程的基礎(chǔ)知識_第2頁
軟件工程的基礎(chǔ)知識_第3頁
軟件工程的基礎(chǔ)知識_第4頁
軟件工程的基礎(chǔ)知識_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件工程基礎(chǔ)知識

一.什么是軟件?

1.滿足功能規(guī)定和性能的指令或計(jì)算機(jī)程序集合;

2.處理信息的數(shù)據(jù)構(gòu)造:

3.描述程序功能以及程序怎樣操作和使用所規(guī)定的文檔;

二.軟件危機(jī)以及產(chǎn)生軟件危機(jī)的原因?

1.軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)迅速普及的趨勢。軟件產(chǎn)品“供不應(yīng)求工

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

3.軟件開發(fā)人員和顧客之間的信息交流往往很不充足,顧客對“已完畢的”內(nèi)軟件系統(tǒng)不滿足的現(xiàn)象常常發(fā)生。

4.軟件產(chǎn)品口勺質(zhì)量不輕易保證。

5.軟件產(chǎn)品常常是不可維護(hù)的。

6.軟件產(chǎn)品口勺重用性差,同樣的軟件多次反復(fù)開

發(fā)。

7.軟件一般沒有合適的文檔資料。

產(chǎn)生軟件危機(jī)的原因可歸結(jié)為兩個(gè)重要的方面:

軟件生產(chǎn)自身存在H勺復(fù)雜性:

軟件開發(fā)所使用的措施和技術(shù)。

三.有哪些軟件工程措施學(xué)及其要素?

L使用最廣泛的軟件工程措施學(xué)是構(gòu)造化措施學(xué)和面向?qū)ο蟮拇胧W(xué)。

2.要素:指施、工具和過程。

四.什么是軟件生存周期?有哪些活動?

4.1軟件生存周期

一種軟件從提出開發(fā)規(guī)定開始到軟件廢棄不用的整個(gè)過程。

4.2開發(fā)活動

可行性分析和項(xiàng)目開發(fā)計(jì)劃、需求分析和定義、軟件設(shè)計(jì)(先后細(xì)分為:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì))、編碼、測試和運(yùn)行維

護(hù)

4.3各活動階段重要文檔

可行行分析和項(xiàng)目開發(fā)計(jì)劃

可性行研究匯報(bào)

項(xiàng)目開發(fā)計(jì)劃

需求分析中的文檔

需求規(guī)格閩明書

初步顧客使用手冊

確認(rèn)測試計(jì)劃

修改完善的軟件開發(fā)計(jì)劃

概要設(shè)計(jì)階段文檔

概要設(shè)計(jì)閩明書

數(shù)據(jù)庫闡明書

顧客手冊

修訂的測試計(jì)劃(測試的方略、措施、環(huán)節(jié))

詳細(xì)設(shè)計(jì)階段

詳細(xì)設(shè)計(jì)闡明書

系統(tǒng)測試階段

系統(tǒng)測試計(jì)劃文檔

五.有哪些重要生存期模型?

瀑布模型、原型開發(fā)模型(迅速原型模型、演化模型、增量模型)、螺旋模型、噴泉模型、

5.1瀑布模型

瀑布模型(老式的軟件周期模型)嚴(yán)格遵照軟件生命周期各階段的固定次序:計(jì)劃、分析、設(shè)計(jì)、編程、測試和維護(hù),上

一階段完畢后才能進(jìn)入到下一階段,整個(gè)模型就像一種飛流直下H勺瀑布。

長處:可強(qiáng)迫開發(fā)人員采用規(guī)范的措施,嚴(yán)格規(guī)定了各階段必須提交的文檔:規(guī)定每一階段結(jié)束后,都要進(jìn)行嚴(yán)格的

評審。與它最相適應(yīng)的開發(fā)措施是構(gòu)造化措施。

缺陷:不適應(yīng)顧客需求的改動。

5.2原型模型

迅速原型模型

迅速原型的用途是獲知顧客日勺真正需求,一旦需求確定了,原型即被拋棄。重要用于需求分析階段。

不追求也不也許規(guī)定對需求H勺嚴(yán)格定義,而是采用了動態(tài)定義需求的I措施,因此不能定義完善的文檔。

特性:簡化項(xiàng)目管理、盡快建立初步需求、加強(qiáng)顧客參與和決策。

具有廣泛技能水平的原型化人員是原型實(shí)行的一重要保證。原型化人員應(yīng)當(dāng)是具有經(jīng)驗(yàn)與才能、訓(xùn)練有素的專業(yè)人員。

衡量原型化人員能力的重要原則是他與否可以從顧客的模糊描述中迅速獲取需求。

演化模型

在迅速原型模型中,原型的用途是獲知顧客的真正需求,一旦需求確定了,原型即被拋棄。而演化模型應(yīng)用于整個(gè)軟

件開發(fā)過程,是從初始模型逐漸演化為最終軟件產(chǎn)品的漸進(jìn)過程。也就是說,迅速原型模型是一種“拋棄式”的原型

化措施,而演化模型則是一種“漸進(jìn)式”口勺原型化措施。

增量模型

增量模型重要用于設(shè)計(jì)階段,把軟件產(chǎn)品劃分為一系列的增量構(gòu)件,分別進(jìn)行設(shè)計(jì)、編程、集成和測試。新的增量構(gòu)

件不得破壞已經(jīng)開發(fā)出來日勺產(chǎn)品。

原型模型小結(jié)

從卜面的有關(guān)原型化措施。勺論述中,選擇出對的的論述:

(1)迅速原型措施是一種企圖克服老式軟件周期模型缺陷H勺開發(fā)措施。

(2)在顧客II勺數(shù)據(jù)資源沒有得到很好地組織和管理口勺時(shí)候,應(yīng)當(dāng)使用原型化措施。

(3)在顧客沒有明確地肯定其需求H勺時(shí)候,應(yīng)當(dāng)使用原型化措施。

(4)在顧客不但愿把自己口勺時(shí)間花在軟件開發(fā)過程中的時(shí)候,應(yīng)當(dāng)使用原型化措施。

(5)使用原型化措施時(shí)應(yīng)當(dāng)使用第三代編程語言。

(6)原型化加強(qiáng)了開發(fā)過程中顧客的參與和決策。

(7)原型化措施大體可分為三類:拋棄式、演化式和遞增式。

(8)原型化措施大體可分為演化式和遞增式。

(9)采用原型化措施時(shí),軟件的開發(fā)成本較高。

(10)采用原型化措施時(shí),關(guān)鍵的原因是建立原形H勺速度,而不是原形運(yùn)行的效率。

5.3螺旋模型

螺旋模型綜合/瀑布模型和原型模型中的演化模型H勺長處,還增長了風(fēng)險(xiǎn)分析。螺旋線第一圈的開始點(diǎn)也許是一種概

念項(xiàng)目。從第二圈開始,一種新產(chǎn)品開發(fā)項(xiàng)目開始了,新產(chǎn)品口勺演化沿著螺旋線進(jìn)行若干次迭代,一直轉(zhuǎn)到軟件生命

期結(jié)束。

5.4噴泉模型

噴泉模型重要用于描述而向?qū)ο蟮拈_發(fā)過程。噴泉一詞體現(xiàn)了而向?qū)ο箝_發(fā)過程口勺迭代和無間隙特性。

六.軟件過程基礎(chǔ)知識

6.1軟件過程

軟件過程是指人們用于開發(fā)和維護(hù)軟件及有關(guān)產(chǎn)品口勺一系列活動,包括軟件工程過程和軟件管理過程。

6.2評估工具

軟件過程向評估,一般采用軟件能力成熟度

模型(CapabililyMaiurilyModel,CMM)。

CMM1.1的5個(gè)等級(由低級到高級);

初始級

軟件過程是無序的,有時(shí)甚至是混亂的,對過程幾乎沒有定義,成功取決于個(gè)人努力,管理是反應(yīng)式(消防式)

可反復(fù)級

建立了基本的項(xiàng)目管理過程來跟蹤費(fèi)用、進(jìn)度和功能特性。制定了必要的過程紀(jì)律,能反復(fù)早先類似應(yīng)用項(xiàng)目獲

得日勺成功。

已定義級

已將軟件管理和工程兩方面的過程文檔化、原則化,并綜合成該組織日勺原則化軟件過程。所有項(xiàng)目均使用經(jīng)原則、

淘汰的原則軟件過程來開發(fā)和維護(hù)軟件。

已管理級

搜集對軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量,對軟件過程和產(chǎn)品均有定量H勺理解與控制。

優(yōu)化級

加強(qiáng)了定量分析,通過來自過程質(zhì)量反饋和來自新觀念、新技術(shù)的反饋使過程能持續(xù)不停地改善“

七.軟件工程項(xiàng)目管理基本知識

軟件項(xiàng)目管理開始于任何技術(shù)活動之前,并且貫穿于?整個(gè)口勺軟件生命周期。

軟件工程項(xiàng)目管理一般分為時(shí)間管理、成本管理、人力資源管理.、風(fēng)險(xiǎn)管理。

7.1時(shí)間管理

Gantt圖

是一種簡樸的水平條形圖,它以水平線段表達(dá)子任務(wù)的工作階段,線段的起點(diǎn)和終點(diǎn)分別對應(yīng)著子任務(wù)的起始時(shí)間,

線段長度指示完畢該任務(wù)所需要的時(shí)間。

甘特圖H勺長處:直觀簡要、易學(xué)易繪、可從圖上清晰地標(biāo)出子任務(wù)間H勺時(shí)間對比,但它也有

缺陷:

(a)不能顯示地描繪各項(xiàng)彼此間的依賴關(guān)系:

(b)進(jìn)度計(jì)劃的關(guān)鍵部分不明顯,難以判斷哪些部分應(yīng)當(dāng)是主攻和主控的對象;

<c)計(jì)劃中有潛力H勺部分以及潛力口勺大小不明確,往往導(dǎo)致潛力H勺揮霍。

7.1.2PERT網(wǎng)圖與關(guān)鍵途徑

PERT對圖是一種由箭頭(標(biāo)識任務(wù))和結(jié)點(diǎn)(標(biāo)識事件)構(gòu)成的有向圖。將網(wǎng)絡(luò)措施用于工作計(jì)劃安排的評審和

檢查。

PERT國不僅給出了每個(gè)任務(wù)H勺開始時(shí)間、結(jié)束時(shí)間和完畢該任務(wù)所需的時(shí)間,還給出了任務(wù)之間的依賴關(guān)系,即

哪些任務(wù)完畢后才能開始另某些任務(wù),以及準(zhǔn)期完畢整個(gè)工程的“關(guān)鍵途徑”。

關(guān)鍵途徑(CriticalPath)是由一連串的任務(wù)所構(gòu)成的鏈,距離最大的一條途徑。

軟件項(xiàng)目的管理人員應(yīng)當(dāng)親密注視關(guān)鍵任務(wù)的進(jìn)展?fàn)顩r。假如但愿縮短工期,只有往關(guān)鍵任務(wù)中增長資源才會有效

果。

八.模塊化基本知識

模塊是指執(zhí)行某一特定任務(wù)日勺數(shù)據(jù)和可執(zhí)行i"句程序元素的集合,一般是指可通過名字來訪問口勺過程、函數(shù)、子程序

或宏調(diào)用等。

模塊化就是將一種待開發(fā)的軟件劃提成若干個(gè)可完畢某一子功能的模塊,每個(gè)模塊可獨(dú)立地開發(fā)、測試,最終組裝成

完整的程序。

8.1模塊特性

可分解性

假如?種設(shè)計(jì)措施提供了將問題分解成子問題的系統(tǒng)化機(jī)制,它就能減少整個(gè)系統(tǒng)口勺復(fù)雜性,從而實(shí)現(xiàn)?種有效的模

塊化處理方案。

可組裝性

假如一種設(shè)計(jì)措施使現(xiàn)存的(可復(fù)用口勺)設(shè)”?構(gòu)件能被組裝成新系統(tǒng),它就能提供一種不需要一切從頭開始口勺模塊化

處理方案。

可理解性

假如一種模塊可以作為一種獨(dú)立的單位(不用參照其他模塊)被理解,那么它就易于構(gòu)造和修改。

持續(xù)性

假如對系統(tǒng)需求的微小修改只導(dǎo)致對單個(gè)棧塊,而不是整個(gè)系統(tǒng)H勺修改,則修改引起副作用就會被最小化。

保護(hù)性

假如模塊內(nèi)部出現(xiàn)異常狀況,并且它的影響限制在模塊內(nèi)部,不會影響其他膜塊,則錯(cuò)誤引起的副作用就會被最小化。

8.2模塊與模塊的耦合性

耦合是對一種軟件構(gòu)造內(nèi)不一樣模塊之間互連程序H勺度量。

耦合可以提成下列幾種,它們之間的耦合度由高到低排列。

內(nèi)容耦合

直接操作或修改另一模塊的數(shù)據(jù),或不通過正常人口轉(zhuǎn)入另一?種模塊。

軟件設(shè)計(jì)時(shí)應(yīng)堅(jiān)決嚴(yán)禁內(nèi)容耦合,應(yīng)設(shè)計(jì)成單入口、單出口的模塊,防止病態(tài)連接。

公共耦合

多種模塊引用同一全局?jǐn)?shù)據(jù)區(qū)。

外部耦合

模塊與軟件以外的環(huán)境有關(guān)聯(lián)。例如,輸入輸出把?種模塊與特定的設(shè)備、格式、通信協(xié)議耦合在?起。

控制耦合

一模塊明顯把開關(guān)量、名字等信息送入另一模塊,控制另一模塊的功能。

標(biāo)識耦合

兩個(gè)模塊之間通過傳遞公共指針或地址互相作用的耦合。

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

模塊間通過傳遞數(shù)據(jù)互換信息。

非直接耦合(無耦合)

模塊間無任何關(guān)系,獨(dú)立工作

原則上講,模塊化設(shè)計(jì)總是但愿模塊之間的耦合體現(xiàn)為非直接耦合方式。

在以上耦合中,耦合度從高到低,內(nèi)容耦合度艮"I—明%1

8.3模塊的內(nèi)聚性

內(nèi)聚是指一種模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程序,它是信息隱蔽和局部的蹴念的自然擴(kuò)展。設(shè)計(jì)時(shí)應(yīng)當(dāng)力爭高內(nèi)聚,

理想內(nèi)聚的模塊應(yīng)當(dāng)恰好做件事情。

1).偶爾內(nèi)聚:一種模塊日勺各成分之間亳無關(guān)系。例如:一組語句在程序的多處出現(xiàn),為了節(jié)省內(nèi)存空間,這些語句放

在一種模塊中,該楨塊的內(nèi)聚是偶爾內(nèi)聚的c

2)邏輯內(nèi)聚:把幾種邏輯上有關(guān)的功能組放在同一模塊中。

3)瞬時(shí)內(nèi)聚(時(shí)間內(nèi)聚):一種模塊所包括的任務(wù)必須在同一時(shí)間間隔內(nèi)執(zhí)行,例如初始化模塊。

4)過程內(nèi)聚:一種模塊的處理元素是有關(guān)口勺,并且必須按特定的次序執(zhí)行。

5)通信內(nèi)聚:一種模塊的所有成分都結(jié)合再同一種數(shù)據(jù)構(gòu)造上。

6)次序內(nèi)聚:模塊的成分同?種功能親密有關(guān),且輸出,作為此外?種成分的輸入。

7)功能內(nèi)聚:模塊內(nèi)I內(nèi)所有成分屬于一種整體,完畢單一口勺功能。

在以上的內(nèi)聚中,內(nèi)聚度從低到高,偶爾內(nèi)聚度最低,功能內(nèi)聚度最高。

模塊打勺高內(nèi)聚、低耦合的原則稱為模塊獨(dú)立原則,也稱為模塊設(shè)計(jì)日勺原則。

8.4模塊的深度、寬度、扇出與扇入

深度:表達(dá)軟件構(gòu)造中控制H勺層數(shù)。

寬度是軟件構(gòu)造中同一種層次上的模塊總數(shù)的最大值

一種模塊的扇入是指直接調(diào)用該模塊的上級模塊的個(gè)數(shù)。

一種模塊的嗣出是指該模塊直接調(diào)用的下級模塊H勺個(gè)數(shù)。

設(shè)計(jì)原則:低扇出、高扇入。

8.5模塊作用域和控制域

軟件設(shè)計(jì)時(shí),模塊口勺作用域應(yīng)在控制域之內(nèi)。

8.6模塊化基礎(chǔ)知識小結(jié)

通過模塊向合并和分解,減少模塊口勺耦合度。

模塊H勺扇人應(yīng)盡量大,厘出應(yīng)盡量小。一和模塊H勺嗣入是指直接調(diào)用該模塊的上級模塊的個(gè)數(shù)。一種模塊H勺期出是指

該模塊直接調(diào)用的下級模塊口勺個(gè)數(shù)。扇入大表達(dá)模塊的重用性高,運(yùn)用率高。扇出大表達(dá)模塊口勺復(fù)雜度高。因此要高

扇入,低扇出。

要將模塊f、J作用范圍限制在模塊的控制范圍之內(nèi)。

減少模塊之間的J更雜性,防止“病態(tài)連接”。

九.什么是軟件開發(fā)措施?有哪些重要措施?

軟件開發(fā)措施:使用已定義好的技術(shù)集及符號表達(dá)習(xí)慣組織軟件生產(chǎn)的過程。

構(gòu)造化措施、面向?qū)ο蟠胧?、JACKSON措施。

9.1構(gòu)造化措施學(xué)

構(gòu)造化措施學(xué)也稱為生命周期措施學(xué)(瀑布模型措施),是一種面向數(shù)據(jù)流的需求分析措施。它的基本思想是自頂向下

逐層分解。

為r在需求變化時(shí)對軟件H勺影響較小,構(gòu)造化分析時(shí)應(yīng)當(dāng)使程序構(gòu)造與問題構(gòu)造相對應(yīng)。

常用工具:

數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、實(shí)例一關(guān)系圖(E—R圖)及描述加工處理的構(gòu)造化語言、鑒定表、鑒定樹。

數(shù)據(jù)流圖(DFD圖)

DFD的基本成分

數(shù)據(jù)流圖重要由4種成分構(gòu)成:

數(shù)據(jù)流(dataflow):由一組固定成分的數(shù)據(jù)構(gòu)成,表達(dá)數(shù)據(jù)的流向。它可以從源、文獻(xiàn)流向加工,也可以從加工流向

文獻(xiàn)和宿,還可以從一種加工流向另一種加工。一般每個(gè)數(shù)據(jù)流必須有一種合適的名字,首先是為了區(qū)別,另首先也

給人一種直觀H勺印象,使人輕易理解這個(gè)數(shù)據(jù)流H勺含義。但流向文獻(xiàn)或從文獻(xiàn)流出H勺數(shù)據(jù)流不必命名,由于這種數(shù)據(jù)

流口勺構(gòu)成部分就是對應(yīng)文獻(xiàn)的構(gòu)成部分。

加工(process):描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)流之間的變換,也就是輸入數(shù)據(jù)流做了什么處理后變成了輸出數(shù)據(jù)流。

每個(gè)加_E有一種名字和一種編號。編號反應(yīng)了該加工位于分層DFD的哪個(gè)層次和哪張圖中以及它是哪個(gè)加工分解出來

的子加工。

文獻(xiàn)(file):可以表達(dá)數(shù)據(jù)文獻(xiàn),也可以表達(dá)一種數(shù)據(jù)記錄。流向文獻(xiàn)的數(shù)據(jù)流表達(dá)寫文獻(xiàn),流出文獻(xiàn)的數(shù)據(jù)流表達(dá)

讀文獻(xiàn),雙向箭頭表達(dá)對文獻(xiàn)既讀又寫。每個(gè)文獻(xiàn)均有一種文獻(xiàn)名。

源/宿(sourcc/sink):源是指系統(tǒng)所需數(shù)據(jù)的發(fā)源地,宿(也稱數(shù)據(jù)池)是指系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸宿地。無論源或宿,

均對應(yīng)于外部實(shí)體,在框內(nèi)應(yīng)加注實(shí)體的名字,在一種軟件各級軟件系統(tǒng)中,有些源和宿可以是一種外部實(shí)體,外部

實(shí)體是指存在于軟件系統(tǒng)之外的人員或組織,它指出系統(tǒng)所需數(shù)據(jù)H勺發(fā)源地和系統(tǒng)所產(chǎn)生數(shù)據(jù)的歸宿地。

分層數(shù)據(jù)流圖

一套分層的口勺數(shù)據(jù)流圖由頂層、底層、和中間層構(gòu)成。

畫分層數(shù)據(jù)流圖基本原則與注意事項(xiàng)

a.自外向內(nèi),自頂向下,逐層細(xì)化,完善求精。

b.保持父圖與子圖的平衡。也就是說,父圖口某加工的輸入數(shù)據(jù)流中的數(shù)據(jù)必須與它的子圖的輸入數(shù)據(jù)流在數(shù)量和名字

上相似。

c.保持?jǐn)?shù)據(jù)守恒。也就是說,一種加工所有輸出數(shù)據(jù)流中的數(shù)據(jù)必須能從該加工的輸入數(shù)據(jù)流中直接獲得,或者是通過

該加工能產(chǎn)生的數(shù)據(jù)。

d.加工細(xì)節(jié)隱藏。根據(jù)抽象原則,在畫父圖時(shí),只需畫出加工和加工之間H勺關(guān)系,而不必畫出各個(gè)加工內(nèi)部的細(xì)節(jié)。

e.簡化加工間關(guān)系。在數(shù)據(jù)流圖中,加工

間H勺數(shù)據(jù)流越少,各加工就越相對獨(dú)立,因此應(yīng)盡量減少加工間輸入輸出數(shù)據(jù)流H勺數(shù)目。

f.均勻分解。應(yīng)當(dāng)使一種數(shù)據(jù)流中的各個(gè)加工分解層次大體相似。

g.合適地為數(shù)據(jù)流、加工、文獻(xiàn)、源/宿命名,名字應(yīng)反應(yīng)當(dāng)成分的實(shí)際意義,防止空洞的名字。

h.忽視枝節(jié)。應(yīng)集中精力于重要的數(shù)據(jù)流,

而暫不考慮某些例外狀況、出借處理等枝個(gè)性問題。

i.體現(xiàn)的是數(shù)據(jù)流而不是控制流。

j.每個(gè)加工必須既有輸入數(shù)據(jù)流,又有輸

出數(shù)據(jù)流在整套數(shù)據(jù)流圖中,每個(gè)文獻(xiàn)必須既有讀文獻(xiàn)的數(shù)據(jù)流又有寫文獻(xiàn)H勺數(shù)據(jù)流,但在某一張子圖中也許只有讀

沒有寫或者只有寫沒有讀。

小結(jié):一種軟件系統(tǒng),其數(shù)據(jù)流圖往往有多層。假如父圖有N個(gè)加工(Process),則父圖容許有。?N張子圖,不過每張

子圖只能對應(yīng)一張父圖。在一張DFD圖中,任意兩個(gè)加工之間可以有。條或多條名字互不相似的數(shù)據(jù)流:在畫數(shù)據(jù)流

圖時(shí),應(yīng)當(dāng)注意父圖和子圖的平衡,即父圖中某加工的輸入輸出數(shù)據(jù)流必須與其輸入輸出流在數(shù)量和名字上相似。DFD

信息流大體可分為兩類:互換流和事務(wù)流。

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

數(shù)據(jù)字典是有關(guān)數(shù)據(jù)的信息日勺集合也就是對

數(shù)據(jù)流圖中包括的所有元素H勺定義的集合。

構(gòu)成部分:

a.數(shù)據(jù)項(xiàng)條目

b.數(shù)據(jù)流條目

c.文獻(xiàn)條目

d.加工條目

加工條目是對數(shù)據(jù)流圖中每一種不能再分

解的基本加工的精確闡明。

對于加工的描述是數(shù)據(jù)字典的構(gòu)成內(nèi)容之一,常用的加工描述措施有構(gòu)造化語言、鑒定樹和鑒定表。

構(gòu)造化語言

構(gòu)造化語言實(shí)際上是一種半形式化語言,

它口勺構(gòu)造一般可分為內(nèi)外兩層。外層靠近于形式化語言,而內(nèi)層近似于自然語言口勺描述。

實(shí)體一一關(guān)系圖(E—R圖)

實(shí)體----關(guān)系圖(Entity-Relabionship

Diagram),簡稱E-R圖,包括實(shí)體、關(guān)系和屬性等3種基本成分。一般用矩形框代表實(shí)體,并用直線把實(shí)體i或關(guān)系)

與其屬性連接起來。

E-R圖一般用于數(shù)據(jù)庫應(yīng)用系統(tǒng)。

9.2構(gòu)造化設(shè)計(jì)

構(gòu)迨化設(shè)計(jì)一般可分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),不過重要用于概要設(shè)計(jì)階段。概要設(shè)計(jì)的任務(wù)是確定軟件系統(tǒng)的

構(gòu)造,進(jìn)行模塊劃分,確定每個(gè)模塊H勺功能、接口以及模塊間H勺調(diào)用關(guān)系。詳細(xì)設(shè)計(jì)的任務(wù)是為每個(gè)模塊設(shè)計(jì)實(shí)現(xiàn)的

細(xì)節(jié)。

概要設(shè)計(jì)

通過需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)清晰了,概要設(shè)計(jì)的基本目的就是I可答”概括地說,系統(tǒng)應(yīng)

當(dāng)如實(shí)現(xiàn)?”這個(gè)問題。

概要設(shè)計(jì)時(shí)重要任務(wù):

將一種復(fù)雜的系統(tǒng)按功能化分為模塊、確定每個(gè)模塊的功能、確定模塊之間的調(diào)用關(guān)系、確定模塊之間的接口(模塊

之間傳遞的信息)、評價(jià)模塊的構(gòu)造質(zhì)量。

1.軟件構(gòu)造圖形工具

構(gòu)造化設(shè)計(jì)措施(SD)措施采用構(gòu)造圖(StructureChart)、層次圖和HIPO圖描述軟件構(gòu)造。

構(gòu)造圖的重要成分有模塊、調(diào)用和數(shù)據(jù),構(gòu)造圖中的模塊用矩形表達(dá),在矩形框內(nèi)可標(biāo)上模塊的名字。模塊間如

有箭頭或直線相連,表明它們之間有調(diào)用關(guān)系。

層次圖用來描繪軟件的層次構(gòu)造.層次圖中一種矩形框代表一種模塊,方框間口勺連線表達(dá)模塊間的調(diào)用關(guān)系.

HIPO圖實(shí)際上就是層次圖加輸入/處理/輸出圖.HIPO圖是美國IBM企業(yè)發(fā)明日勺”層次圖加輸入/處理/輸出圖”,是

在層次圖里出了最頂層的方框之外,每個(gè)方框都加了編號。編號規(guī)則和數(shù)據(jù)流圖的編號規(guī)則同樣。

詳細(xì)設(shè)計(jì)

概要設(shè)計(jì)已經(jīng)確定了每個(gè)模塊的功能和接口,詳細(xì)設(shè)計(jì)的任務(wù)就是為每個(gè)模塊設(shè)計(jì)其實(shí)現(xiàn)的細(xì)節(jié)。

詳細(xì)設(shè)計(jì)階段的主線目的是確定應(yīng)當(dāng)怎樣詳細(xì)地實(shí)現(xiàn)所規(guī)定的系統(tǒng),得出對目的系統(tǒng)的精確描述。

1.詳細(xì)設(shè)計(jì)階段的內(nèi)容

為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì)。

為模塊內(nèi)部的數(shù)據(jù)構(gòu)造進(jìn)行設(shè)計(jì)。

對數(shù)據(jù)庫進(jìn)行物理設(shè)計(jì)。

其他

詳細(xì)設(shè)計(jì)工具重要包括程序流程圖(系統(tǒng)流程圖)、盒圖(N-S圖)、PAD圖和偽碼(PDL)。

2.人機(jī)界面設(shè)計(jì)

人機(jī)界面的設(shè)計(jì)質(zhì)量,直接影響顧客對軟件產(chǎn)品口勺評價(jià)。界面的美觀、靈活和風(fēng)格都很重要,但人機(jī)界面設(shè)計(jì)中最

重要H勺也是最基本H勺目的是軟件的易操作性。

人機(jī)界面設(shè)計(jì)重要包括系統(tǒng)響應(yīng)時(shí)間、顧客協(xié)助設(shè)計(jì)、出錯(cuò)信息處理和命令交互設(shè)計(jì)等兒種方面。

9.3Jackson措施

上面講的構(gòu)造化設(shè)計(jì)措施是面向數(shù)據(jù)流的,此外尚有一種面向數(shù)據(jù)構(gòu)造的設(shè)計(jì)措施,

Jackson措施是最著名由J面向數(shù)據(jù)構(gòu)造的設(shè)計(jì)措施,而不是面向數(shù)據(jù)流口勺設(shè)計(jì)措施。

Jackson措施H勺基本環(huán)節(jié)是:建立系統(tǒng)的數(shù)據(jù)構(gòu)造:以數(shù)據(jù)構(gòu)造為基礎(chǔ),對應(yīng)地建立程序構(gòu)造;列出程序中要用到

的多種基本操作,再將這些操作分派到程序構(gòu)造合適的模塊中。

9.4面向?qū)ο蠓治龃胧?0A)

k軟件工具

軟件工具是指用于輔助軟件開發(fā)、運(yùn)行、維護(hù)、管理、支持等過程中的活動的軟件?。一般也稱為CASE(ComputerAided

SoftwareEngineering,計(jì)算機(jī)輔助軟件工程)工具。

按軟件過程H勺活動分為軟件開發(fā)工具、軟件維護(hù)工具和軟件管理工具等。

十一.軟件開發(fā)環(huán)境

集成型開發(fā)環(huán)境一般可由工具集和環(huán)境集成機(jī)制兩部分構(gòu)成。這種環(huán)境應(yīng)具有開放性和可淘汰性。環(huán)境集成機(jī)制重要

有數(shù)據(jù)集成機(jī)制、控制集成機(jī)制和界面集成機(jī)制。

十二.軟件質(zhì)量管理基礎(chǔ)知識

12.1軟件質(zhì)量

軟件質(zhì)量模型可從軟件功能性、可靠性、可用性、效率、可維護(hù)性、可移植性6個(gè)方面來衡量。

(1)功能性

與功能及其指定的性質(zhì)的一組軟件屬性。

(2)可靠性

軟件在規(guī)定的?段時(shí)間內(nèi)和規(guī)定的條件下保持其性能水平有關(guān)的?組軟件屬性。也可以稱為在規(guī)定的條件下和

規(guī)定的時(shí)間間隔內(nèi),軟件實(shí)現(xiàn)其規(guī)定功能H勺概率。

(3)可用性

與使用的難易程序及規(guī)定或隱含顧客對使用

方式所做的評價(jià)有關(guān)的軟件屬性。

(4)效率

與在規(guī)定條件的性能水平與所用資源量之間H勺關(guān)系有關(guān)的一組軟件屬性。

(5)可維護(hù)性

與軟件維護(hù)的難易程序有關(guān)的一組軟件屬性。

(6)可移植性

軟件可從某一環(huán)境轉(zhuǎn)移到另一環(huán)境的能力有關(guān)的一組屬性。即軟件從一種計(jì)算機(jī)系統(tǒng)轉(zhuǎn)換到另一種計(jì)算機(jī)系統(tǒng)

運(yùn)行日勺難易程度是指軟件H勺可移植性。為了提高可移植性,應(yīng)注意提高軟件的設(shè)備獨(dú)立性.采用表格驅(qū)動程序有助于

提高設(shè)備獨(dú)立性。為了提高可移植性,還應(yīng)有完備H勺文檔資料。使用C語言開發(fā)的系統(tǒng)軟件具有很好的可移植性。

12.2軟件質(zhì)量保證

軟件質(zhì)量保證的重要困難表目前如下幾種方面:

1)軟件開發(fā)口勺管理人員往往關(guān)懷項(xiàng)目開發(fā)的成本與進(jìn)度。由于成本和進(jìn)度是顯而易見的,而軟件質(zhì)量則難以度量。

假如軟件開發(fā)的管理人員對交付的軟件具有多少隱患并不必負(fù)什么責(zé)任,他們必然沒有太高的熱情去控制開發(fā)H勺質(zhì)量,

更不必說保證質(zhì)量并不輕易且代價(jià)昂貴。

開發(fā)人員的習(xí)慣一旦形成難以變化,他們H勺形為也難于控制,而高質(zhì)量的軟件產(chǎn)品,又重要取決于參與開發(fā)的人員。

復(fù)雜的軟件項(xiàng)目需要許多技術(shù)人員和管理人員參與,對問題的不?樣認(rèn)識和誤解如不能及時(shí)消除必然影響軟件質(zhì)量。

軟件開發(fā)人員的頻繁流動,尤其是骨干開發(fā)人員的流失,也會使軟件質(zhì)量受到一定的影響。

軟件質(zhì)量的保證手段:

開發(fā)初期制定質(zhì)量保證計(jì)劃,并在開發(fā)中堅(jiān)持實(shí)行。

開發(fā)前選定或制定開發(fā)原則或開發(fā)規(guī)范,并遵照實(shí)行。

從開始就迷擇分析設(shè)計(jì)措施和工具,形成高質(zhì)量的分析模型和設(shè)計(jì)模型。

嚴(yán)格執(zhí)行階段評審,以便及時(shí)發(fā)現(xiàn)問題。

各個(gè)開發(fā)階段的測試。

對軟件的每次“變動”都要通過申請、評估、同意、實(shí)行等環(huán)節(jié)。

軟件質(zhì)量特性的度量化。

軟件生存期H勺各階段都要完整的文檔。

十三.軟件測試

軟件測試的費(fèi)用已經(jīng)超過軟件開發(fā)費(fèi)用的30%左右?!案弋a(chǎn)”測試是指用少許的測試用例,發(fā)現(xiàn)被測試程序盡量多的錯(cuò)

誤。

13.1軟件測試通過日勺環(huán)節(jié)

單元測試一〉集成測試一〉確認(rèn)測試一>系統(tǒng)測試

13.2測試與軟件開發(fā)各階段H勺關(guān)系

單元測試對程序中每一種程序單元進(jìn)行測試,檢查各個(gè)模塊與否爭取實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法

中H勺錯(cuò)誤,該階段波及編碼和詳細(xì)設(shè)計(jì)文檔。

集成測試是為了檢查與設(shè)計(jì)有關(guān)的軟件體系構(gòu)造的有?關(guān)問題,也就是檢查概要設(shè)計(jì)與否合理有效.

確認(rèn)測試重要是檢查已實(shí)現(xiàn)H勺軟件與否滿足需求規(guī)格闡明書中已確定了的多種需求。

系統(tǒng)測試是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件,其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測試,以確定

軟件與否可以支付使用。

13.3白盒測試

白盒測試又稱為構(gòu)造測試??梢园殉绦虍?dāng)作裝在一種透明盒子里,測試者(一般為編程者)完全懂得程序口勺構(gòu)造和處

理算法。

按照程序內(nèi)部邏輯設(shè)計(jì)測試用例,檢測程序中的重要執(zhí)行通路與否能按預(yù)定規(guī)定正常工作。

白盒測試多用于單元測試階段。邏輯覆蓋是重要口勺白盒測試技術(shù)。白盒測試時(shí),確定測試數(shù)據(jù)應(yīng)根據(jù)程序口勺內(nèi)部邏輯

和指定的覆蓋方式。采用一下幾種邏輯蒞蓋原則:

語句覆蓋

鑒定覆盆

條件覆蓋

鑒定/條件覆蓋

條件組合覆蓋

途徑覆蓋

滿足條件狙合覆蓋測試用例,也一定滿足鑒定條件覆蓋。因此,條件組合覆蓋是上述五種覆蓋原則中最強(qiáng)H勺一種。

13.4黑盒測試

黑盒測試,又稱為功能測試。把軟件看做是一種不透明口勺黑盒子,完全不考慮(或不理解)軟件內(nèi)部構(gòu)造和公理算法,

它只檢測軟件功能與否能按照軟件需求闡明書的規(guī)定正常使用,軟件與否能合適時(shí)接受輸入數(shù)據(jù)并產(chǎn)生對H勺的輸出信

息,軟件運(yùn)行過程中能否保持外部信息(例如文獻(xiàn)和數(shù)據(jù)庫)的完整性等。

常用H勺黑盒測試技術(shù)包括等價(jià)類劃分,邊值分析、錯(cuò)誤推測和因果圖等。其中等價(jià)類劃分和邊界值分析法措施最常用。

假如兩者結(jié)合使用,更有也許發(fā)現(xiàn)軟件中的錯(cuò)誤。

13.4灰盒測試

灰盒測試介于白盒測試和黑盒測試之間,它把軟件看做是一種半透明的灰盒子,結(jié)合考慮軟件日勺內(nèi)部構(gòu)造和外部功能

設(shè)計(jì)測試用例

13.5回歸測試

糾正了程序中口勺錯(cuò)誤之后,選擇部分或所有原先已測試過的測試用例,對修改后程序重新測試以驗(yàn)證對軟件修改后有

無引出新的錯(cuò)誤,稱為回歸測試。

13.6單元惻試

單元測試(Unittesting)也稱為模塊測試或構(gòu)造測試,一般可放在編程階段(實(shí)現(xiàn)階段),重要采用邏輯覆蓋技術(shù),由

程序員對自己編寫H勺模塊自行測試,檢查模塊與否能實(shí)現(xiàn)「詳細(xì)設(shè)計(jì)闡明書中規(guī)定H勺功能和算法。

單元測試重要發(fā)現(xiàn)編程和詳細(xì)設(shè)計(jì)中產(chǎn)生口勺錯(cuò)誤。

測試一種模塊時(shí)需要為該模塊編寫一種驅(qū)動模塊和若干個(gè)樁(stub)模塊。頂層模塊測試時(shí)不需要驅(qū)動模塊,底層模塊

測試時(shí)不需要樁模塊。

在進(jìn)行單元測試時(shí),常用的措施是白盒測試(采用邏輯覆蓋日勺測試技術(shù)),輔之以黑盒測試。

13.7集成測試

集成測試(iniegraiiontesting)也稱為組裝測試,在單元測試的基礎(chǔ)之上,把所有的模塊組裝成一種系統(tǒng)進(jìn)行測試。重

要測試設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤,集成測試計(jì)劃應(yīng)當(dāng)在概要設(shè)計(jì)階段制定。

非漸增式集成測試

首先將每個(gè)模塊分別進(jìn)行單元測試,再把所有的模塊組裝成一種完整的系統(tǒng)進(jìn)行測試。目前在進(jìn)行集成測試時(shí)已普遍

采用漸增式集成。

漸增式集成測試

又可以分為自頂向下集成和自底向上集成。自頂向下集成先測試上層模塊,再測試下層模塊,由于測試下層模塊時(shí)上

層模塊已經(jīng)測試過,因此不必要此外編寫驅(qū)動模塊。自底向上集成,先測試下層模塊,再測試上層模塊。

頂層模塊測試時(shí)不需要驅(qū)動模塊,底層模塊測試時(shí)不需要樁模塊。

軟件H勺集成測試最佳由不屬于該軟件開發(fā)組H勺軟件設(shè)計(jì)人員承擔(dān),以提高集成測試H勺效果。

13.8確認(rèn)測試

在系統(tǒng)驗(yàn)收測試中,驗(yàn)證測試是在模擬的環(huán)境中進(jìn)行強(qiáng)度測試的基礎(chǔ)上進(jìn)行,重要根據(jù)軟件需求闡明書檢測軟件的功

能,性能及其他特性與否與顧客的規(guī)定一致,而確認(rèn)測試是在一種實(shí)際環(huán)境中使用真實(shí)數(shù)據(jù)運(yùn)行系統(tǒng)。

確認(rèn)測試計(jì)劃應(yīng)當(dāng)在需求分析階段制定。

a測試

由顧客在開發(fā)者H勺場所進(jìn)行,并且在開發(fā)者的指導(dǎo)下進(jìn)行測試。開發(fā)者負(fù)責(zé)紀(jì)錄發(fā)現(xiàn)的錯(cuò)誤和使用中碰到日勺'可題,也

就是說a測試是在受控的環(huán)境中進(jìn)行的。

8測試是在一種或多種顧客口勺現(xiàn)場由該軟件的最終顧客實(shí)行打勺,開發(fā)者一般不在現(xiàn)場,顧客負(fù)責(zé)記錄發(fā)現(xiàn)口勺錯(cuò)誤和使

用中碰到的問題并把這些問題匯報(bào)給開發(fā)者。也就是說,B測試是在受控H勺環(huán)境中進(jìn)行的。通過確認(rèn)測試之后的軟件

一般就可以交付使用了。

13.9系統(tǒng)測試

系統(tǒng)測試是將?已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他原因結(jié)合在?起,進(jìn)行信息系統(tǒng)的多種組裝測試

和確認(rèn)測試,其目H勺是通過與系統(tǒng)H勺需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與顧客需求不符或矛盾的地方。

包括如下的測試:

恢復(fù)測試:監(jiān)測系統(tǒng)的容錯(cuò)能力

安全性測試:監(jiān):測系統(tǒng)的安全機(jī)制、保密措施與否完善等防備能力。

強(qiáng)度測試:測試軟件的異常狀況的處理能力。

性能測試:監(jiān)測系統(tǒng)與否滿足系統(tǒng)設(shè)計(jì)方案闡明書對性能H勺規(guī)定。

可靠性測試:從平均失效間隔與否超過了規(guī)定的時(shí)限,因故障而停機(jī)的時(shí)間在一年中不應(yīng)超過的時(shí)間來進(jìn)行檢測。

安裝測試:監(jiān)測軟件在安裝過程中與否有錯(cuò)誤、與否輕易操作等。

系統(tǒng)測試計(jì)劃在系統(tǒng)測試階段初期制定,

問答題

I、可行性研究的任務(wù)是什么?

首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模和目的,確定項(xiàng)目的約束和限制,把他們清晰地列舉出來。然后,分析員進(jìn)行簡

要的需求分析,抽象出該項(xiàng)目的邏輯構(gòu)造,建立邏輯模型。從邏輯模型出發(fā),通過壓縮的設(shè)計(jì),探索出若干種可供選擇的重要處理措施,

對每種處理措施都要研究它口勺可行性,可從如下三個(gè)方面分析研究母種處理措施的可行性。()技術(shù)可行性:對要開發(fā)項(xiàng)目口勺功能、性能、

限制條件進(jìn)行分析,確定在既有的資源條件下,技術(shù)風(fēng)險(xiǎn)有多大,項(xiàng)目與否能實(shí)現(xiàn)。㈡經(jīng)濟(jì)可行性:進(jìn)行開發(fā)成木的估算以及理解獲得效

益口勺評估,確定要開發(fā)的項(xiàng)目與否值得投資開發(fā)。㈢社會可行性:要開發(fā)的項(xiàng)目與否存在任何侵犯、阻礙等責(zé)任問題,要開發(fā)項(xiàng)目的運(yùn)行

方式在顧客組織內(nèi)與否行得通,既有管理制度、人員素質(zhì)、操作方式與否可行。

2、需求分析階段的基本任務(wù)是什么?

需求分析階段的基本任務(wù)是要精確的定義新系統(tǒng)的目的,為了滿足顧客需要,回答系統(tǒng)必須“做什么”的問題。本階段要進(jìn)行如下幾方面

的工作:㈠問題識別。雙方確定對問題的綜合需求,這些需求包括:功能需求、性能需求、環(huán)境需求、顧客界面需求,此外尚有可靠性、

安全性、保密性、可移植性、可維護(hù)性等方面的需求。仁)分析與綜合,導(dǎo)出軟件的邏輯模型。分析人員對獲取的需求,進(jìn)行一致性的分析檢

查,在分析、綜合中逐漸細(xì)化軟件功能,劃提成各個(gè)子功能。這里也包括對數(shù)據(jù)域進(jìn)行分解,并分派到各個(gè)子功能上,以確定系統(tǒng)的構(gòu)成

及重要成分.并用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。㈢編寫文檔。編寫“需求規(guī)格闡明書”、編寫初步顧客使用手冊、編寫確

認(rèn)測試計(jì)劃,修改完善軟件開發(fā)計(jì)劃。

3、什么是模塊的影響范圍?什么是模塊fl勺控制范隔?他們之間應(yīng)當(dāng)建立什么關(guān)系?

一種模決的作用范圍(或稱影響范圍)指受該模塊內(nèi)?種鑒定影響的所有模塊的集合。?種模塊的控制范圍指模塊自身以及其所有卜.

屬模塊(直姿或間接附屬于它(1勺模塊)的集合。一種模塊的作用范用應(yīng)在其控制范圍之內(nèi),且鑒定所在的模塊應(yīng)在其影響的模塊在層次上

盡量靠近。假如再設(shè)計(jì)過程中,發(fā)現(xiàn)模塊作用范圍不在其控制范圍之內(nèi),可以用“上移判點(diǎn)”或“下移受判斷影響的模塊,將它下移到判

斷所在模塊小J控制范困內(nèi)”的措施加以改善。

4、非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試怎樣組裝模塊?

非漸增式測試與漸增式測試的測試措施有如下區(qū)別:(一)非漸增式測試措施把單.元測試和集成測試提成兩個(gè)不一樣的階段,前一階段完

華模塊的單元測試,后一階段完畢集成測試,而漸增式測試往往把單元測試與集成測試和在一起,同步完畢。㈡非漸增式需要更多的工作

量,由于每個(gè)模塊都需要驅(qū)動模塊和樁模塊,而漸增式運(yùn)用已測試過的模塊作為驅(qū)動模塊或樁模塊,因此匚作量較少。㈢漸增式可以較早

的發(fā)現(xiàn)接I」之間的錯(cuò)誤,非漸增式最終組裝是才發(fā)現(xiàn)。㈣漸用式有助「?排錯(cuò),發(fā)生錯(cuò)誤往往和近來加進(jìn)來的模塊有關(guān),而非漸增式發(fā)現(xiàn)接

口錯(cuò)誤推遲到最終,很難判斷是哪一部分接口出錯(cuò)。㈤漸增式比較徹底,已測試的模塊和新的模塊再朝!試。因漸增式占用的時(shí)間較多,但

非漸增式須更多的驅(qū)動模塊、樁模塊也占用某些時(shí)間。⑴非漸增式開始可并行測試所有模塊,能充足運(yùn)用人力,對測試大型軟件很故意義。

漸增式測試行如下兩種不?樣的組裝模塊的措施:()自頂向下組合。該措施只需編寫樁模塊,其環(huán)節(jié)是從頂層模塊開始,沿被測程序的軟

件構(gòu)造圖的控制途徑逐漸向下測試,從而把各個(gè)模塊都結(jié)合起來,它又有兩種組合方略:①深度有先方略:先從軟件構(gòu)造中選擇一條主控

制途徑,把該途徑上的模塊一種個(gè)結(jié)合進(jìn)來進(jìn)行測試,以便完畢一種特定的子功能,接若再結(jié)合其他需要優(yōu)先考慮的途徑。②寬度有先方

略:逐層結(jié)合直接下屬的所有模塊。㈡自低向上結(jié)合。該措施僅需編寫驅(qū)動模塊。其環(huán)羊?yàn)椋孩侔训讓幽K組合成實(shí)現(xiàn)一種個(gè)特定子功能

的族。②為每一種族編寫一種驅(qū)動模塊,以協(xié)調(diào)測試用例的輸入和測試成果的輸出。③對模塊族進(jìn)行測試。④按軟件構(gòu)造圖依次向上擴(kuò)展,

用實(shí)際模塊皆代驅(qū)動模塊,形成一種個(gè)更大的族。⑤反更②至④步,直至軟件系統(tǒng)所有冽試完畢。

5、軟件質(zhì)量與軟件質(zhì)量保證的含義是什么?

從實(shí)際應(yīng)用來說,軟件質(zhì)量定義為:㈠與所確定的功能和性能需求的一致性。。與所成文的開發(fā)原則一致性。㈢與所有專業(yè)開發(fā)的軟

件所期望的隱含特性的?致性。軟件質(zhì)后保證就是向顧客及社會提供滿意的高質(zhì)51邯J產(chǎn)品,保證軟件產(chǎn)品從誕生到消滅為止的所有階段的

質(zhì)量的活動.即確定、到達(dá)和維護(hù)需要的軟件質(zhì)量而進(jìn)行IKJ所有有計(jì)劃、有系統(tǒng)的管理活動。5、軟件工程原則化的意義是什么?均有哪

些軟件工程京則?積極推進(jìn)軟件工程原則化,其道理是顯而易見的。僅就一種軟件開發(fā)項(xiàng)目來說,有許多層次,不一樣分工的人員互相配

合.在開發(fā)預(yù)目的各個(gè)部分以及各開發(fā)階段之間也都存在許多聯(lián)絡(luò)和銜接問題.怎樣把這些錯(cuò)綜曳雜的關(guān)系協(xié)調(diào)好,需要有一系列統(tǒng)一的

約束和規(guī)定,在軟件開發(fā)項(xiàng)U獲得階段成果或最終完畢是時(shí),需要進(jìn)行階段評價(jià)和驗(yàn)收測試。投入運(yùn)行的軟件,其維護(hù)工作中碰到問題乂

與開發(fā)T.作者有著親密的關(guān)系。軟件II勺管理工作則滲透到軟件生存期的每一種環(huán)節(jié)。所有這些都要規(guī)定提供統(tǒng)一的行動規(guī)范和的量準(zhǔn)則,

使得多種工車均有章可循。軟件工程的原則重要有如下三個(gè):㈠FIPS135是美國國標(biāo)局公布的《軟件文檔管理指南》(4NSAC一一39是美

國核子安全分析中心公布的《安全參數(shù)顯示系統(tǒng)的驗(yàn)證與確認(rèn)》.(HJISO5807是國際原則化組織公布(現(xiàn)已成為中國的國標(biāo))的《信息處

理一數(shù)據(jù)流程圖、程序流程圖、程序網(wǎng)絡(luò)圖和系統(tǒng)資源圖的文獻(xiàn)編制符號及約定》。

6、采用黑盒技術(shù)設(shè)計(jì)測試用例有哪幾種措施?這些措施各有什么特點(diǎn)?

㈠等價(jià)類劃分。等價(jià)類劃分是將輸入數(shù)據(jù)域按有效口勺或無效的(也稱合理的或不合理的)劃提成若干個(gè)等價(jià)類,測試每個(gè)等價(jià)類的代表值

就等于對該類其他值的測試。仁)邊界值分析。該措施是將測試邊界狀況作為重點(diǎn)目的,選用恰好等于,剛剛不小于或剛剛不不小于邊界值

的狀況,根據(jù)這些狀況選擇測試用例。㈢錯(cuò)誤推測。錯(cuò)誤推測法沒有確定的環(huán)節(jié),憑檢查進(jìn)行。它的基木思想是列出程序中也許發(fā)生錯(cuò)誤

的狀況,根用這些狀況選擇測試用例。㈣因果圖。因果圖能有效的檢測輸入條件的多種組合也許會引起的錯(cuò)誤。因果圖的基本原理是通過

畫因果圖,把用自然語言描述的功能闡明轉(zhuǎn)換為鑒定表,最終為鑒定表的每一列設(shè)計(jì)一種測試用例。

7、軟件生產(chǎn)經(jīng)歷了幾種階段?各有何特性?

軟件生產(chǎn)至今已經(jīng)歷了三個(gè)階段:㈠程序設(shè)計(jì)時(shí)代(1946-1956):這個(gè)階段的生產(chǎn)方式是個(gè)體手工勞動,使用的工具實(shí)際其語言、匯編語

吉。開發(fā)措施是追求編程技巧,追求程序運(yùn)行效率。硬件特性是價(jià)格貴、存儲容量小,運(yùn)行可靠性差。軟件特性是只有程序、程序設(shè)計(jì)概

念,不重視程序設(shè)計(jì)措施。C程序系統(tǒng)時(shí)代(1956/968):這個(gè)階段的生產(chǎn)方式是作坊式的小集團(tuán)合作生產(chǎn),生產(chǎn)工具是高級譜言,開發(fā)

措施仍就靠個(gè)人技巧,但開始提出構(gòu)造化措施。硬件特性是速度、容旱、工作可靠性有明顯提高。軟件特性是程序員數(shù)量猛增,但開發(fā)技

術(shù)沒有新的突破,開發(fā)人員的素質(zhì)和落后的開發(fā)技術(shù)不適應(yīng)規(guī)模大、構(gòu)造豆雜的軟件開發(fā),導(dǎo)致軟件危機(jī)的產(chǎn)生。㈢軟件工程時(shí)代(1968

至今):這個(gè)階段的生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件。硬件特性

是向超高速.大容量、微型化以及網(wǎng)絡(luò)化方向發(fā)展.軟件特性是開發(fā)技術(shù)有很大進(jìn)步.不過未能獲得突破性進(jìn)展,軟件價(jià)格不停上升,沒

有完全掙脫秋件危機(jī)。

8、簡述Ganil圖的功能及局限性。

Ganll圖常用水平線段來描述把任務(wù)分解成子任務(wù),以及每個(gè)子任務(wù)的進(jìn)度安排,動態(tài)反應(yīng)軟件開發(fā)進(jìn)度狀況,該圖可以:表達(dá)任務(wù)

分解成子任務(wù)狀況:表達(dá)每個(gè)任務(wù)的開始時(shí)間和完畢時(shí)間,線段的長度表達(dá)子任務(wù)完畢所需要的時(shí)間:表達(dá)子任務(wù)之間的并行和串行關(guān)系。

Gunlt圖只能表達(dá)任務(wù)之間的并行與串行的關(guān)系,難以反應(yīng)多種任務(wù)之間存在H勺豆雜關(guān)系,不能宜觀表達(dá)任務(wù)之間互相依賴制約關(guān)系,以

及哪些任務(wù)是關(guān)鍵字任務(wù)等信息,因此僅僅用Gantt圖作為進(jìn)度的安排是不夠的.

9、什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?數(shù)據(jù)字典(簡稱DD)是用來定義數(shù)據(jù)流圖中的各個(gè)成分I向詳細(xì)含義I向,它以一種精

確的、無二義性的闡明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了市?關(guān)元案的一致的定義和詳細(xì)的描述。他和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯

模型,是需求規(guī)格闡明書的重要構(gòu)成部分。數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義而服務(wù)口勺,因此也像一般字典同樣,

要把所有條目按一定的次序排列起來,以便杳閱。數(shù)據(jù)字典有如下四類條目:數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項(xiàng)是構(gòu)成數(shù)據(jù)

流和數(shù)據(jù)存諸的最小元素。源點(diǎn)、終點(diǎn)不在系統(tǒng)之內(nèi),故一般不在字典中闡明。

10、調(diào)試的小向是什么?調(diào)試有哪些技術(shù)手段?調(diào)試的目的是確定錯(cuò)誤的原因和位省,并改正錯(cuò)誤,因此調(diào)試也成為糾錯(cuò)。調(diào)試技術(shù)重要

有:簡樸的倜試措施,重要有在程序中插入打印語句、運(yùn)行部分程序等:歸納法調(diào)試,他從測試成果發(fā)現(xiàn)的線索(錯(cuò)誤跡象、征兆)入手、

分析他們之間的聯(lián)絡(luò),導(dǎo)處錯(cuò)誤原因的假設(shè),然后再證明或否認(rèn)這個(gè)假設(shè):演繹法調(diào)試,該措施列出所有也許的錯(cuò)誤原因的假設(shè),然后運(yùn)

用測試數(shù)據(jù)琲除不合適的假設(shè),最終再測試數(shù)據(jù)驗(yàn)證余下的假設(shè)確實(shí)是出錯(cuò)的原因:回測法調(diào)試,該措施從程序產(chǎn)生錯(cuò)誤的地方出發(fā),人

工沿程序的笈輯途徑反向搜索,直到找到錯(cuò)誤的原由于止。

II、怎樣做好軟件質(zhì)量保證工作?

軟件質(zhì)量保證工作是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好如下幾種方面的工作:<|>采用技術(shù)手段和工具。質(zhì)量保證活動要貫

徹開發(fā)過程一直,必須從采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。<2>組織正式技術(shù)評審,在軟件開發(fā)的第一種

階段結(jié)束時(shí).都要組織正式的技術(shù)評審。國標(biāo)規(guī)定單位必須采用審查、文檔評審、設(shè)計(jì)評審、審計(jì)和測試等詳細(xì)手段來保證質(zhì)量。<3>加

強(qiáng)軟件測試,軟件測試是質(zhì)量保證的重要手段,由于測試可發(fā)現(xiàn)軟件可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。<4>推選軟件工程規(guī)范(原則)。顧

客可以自己指定軟件工程規(guī)范(原則),但原則一旦確認(rèn)就應(yīng)貫徹執(zhí)行。<5>時(shí)軟件的變更進(jìn)行控制。軟件的修改和變更常常會引起潛伏

的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改和變更。<6>對軟件質(zhì)量進(jìn)行度量。即對軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和匯報(bào)軟件質(zhì)量狀況。

12、什么是數(shù)據(jù)流圖?其作用是什么?

其中的基本符號各表達(dá)什么含義?數(shù)據(jù)流圖簡稱DFD,是SA措施中用于表達(dá)系統(tǒng)邏輯模型的一種工具。它以圖形的方式描述數(shù)據(jù)在系統(tǒng)

中流動和處理的過程,山于它只反應(yīng)系統(tǒng)必須完畢的邏輯功能,因此它是一種功能模型。數(shù)據(jù)流圖有四種基本圖形符號:“一”箭頭表達(dá)

數(shù)據(jù)流;“Q”網(wǎng)或橢圓表述加工:“=”雙杠表達(dá)數(shù)據(jù)存儲:””方框表達(dá)數(shù)據(jù)的源點(diǎn)或終點(diǎn)。

13什么是確認(rèn)測試?該階段有哪些工作?

確認(rèn)測試又稱有效性測試。它的任務(wù)是檢查軟件的功能與性能與否與需求規(guī)格闡明書中確定的指標(biāo)相符合。確認(rèn)測試階段有兩項(xiàng)工作,進(jìn)

行確認(rèn)測試與軟件配置審查。<1>確認(rèn)測試一般是在模擬壞境中運(yùn)用黑盒測試措施,由專||測試人員和顧客參與的測試。<2>軟件配置審查

的任務(wù)是檢查軟件的所有文檔資料的完整性、對的性.假如發(fā)現(xiàn)遺漏和錯(cuò)誤,應(yīng)補(bǔ)充和改正,同步要編排好目錄,為后來的軟件維護(hù)工作

奧定基礎(chǔ)。

14、詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?有哪幾種描述措施?

詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的第二階段,其法本任務(wù)有:為每個(gè)模塊進(jìn)行詳細(xì)的.算法設(shè)計(jì);為模塊內(nèi)的數(shù)據(jù)構(gòu)造進(jìn)行設(shè)計(jì);對數(shù)據(jù)庫進(jìn)行物理設(shè)

計(jì),即確定數(shù)據(jù)庫時(shí)物理構(gòu)造:其他設(shè)計(jì),根據(jù)軟件系統(tǒng)類型,還也許要進(jìn)行代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對話設(shè)計(jì):編寫詳細(xì)設(shè)

計(jì)闡明書:評審。詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。如構(gòu)造化程序流程圖、盒圖和問題分析圖。1P0圖也走詳細(xì)設(shè)計(jì)

的重要匚具之一。表格工具如鑒定表可作為詳細(xì)設(shè)計(jì)?中描述邏輯條件豆雜的算法。過程設(shè)計(jì)語言(PDL)是一種用于描述模塊算法設(shè)”?和

處理細(xì)H的君言工具。

15、什么是軟件危機(jī)?其產(chǎn)生的原因是什么?當(dāng)軟件開發(fā)技術(shù)內(nèi)進(jìn)步不能跟上硬件技術(shù)的進(jìn)步,未能滿足發(fā)展的規(guī)定,致軟件開發(fā)中碰到

的問題找不到處理的措施,使問題積累起來,形成了鋒利的矛盾,因而導(dǎo)致了軟件危機(jī)。幣要體現(xiàn)為:<1>經(jīng)費(fèi)預(yù)算常常突破,完畢時(shí)間

一再遲延:<2>開發(fā)的軟件不能滿足顧客規(guī)定:<3>開發(fā)的軟件可維護(hù)性差:<4>開發(fā)的軟件可匏性差。導(dǎo)致軟件危機(jī)的原因是日于軟件產(chǎn)

品自身的特點(diǎn)以及開發(fā)軟件的方式、措施、技術(shù)和人員引起的。共產(chǎn)生原因重要有如下幾方面:<1>軟件的規(guī)模越來越大,構(gòu)造越來越旦

如<2>軟件開發(fā)管理困難而更雜:<3>軟件開發(fā)費(fèi)用不停增長:<4>軟件開發(fā)技術(shù)落后;<5>生產(chǎn)方式落后;<6>開發(fā)工具落后,生產(chǎn)率提

高緩慢。

16、CASE工作臺有哪些分類??種CASE工作臺是?組工具集,支持像設(shè)計(jì)、實(shí)現(xiàn)或i則試等特定的軟件開發(fā)階段。工作臺工具能通過共

享文獻(xiàn)、共享倉庫或共享數(shù)據(jù)構(gòu)造來集成。它能支持大多數(shù)的軟件過程活動。工作臺有:<>程序設(shè)計(jì)工作臺:<2>分析利設(shè)計(jì)工作臺:<3>

測試工作臺:<4>交叉開發(fā)工作臺:<5>配置管理1CM)工作臺;<6>文檔工作臺<7>項(xiàng)II管理工作臺。

18、什么是CASE?CASE1具有哪些分類?

CASE是一組工具和措施的集合,可以輔助軟件開發(fā)生命周期各階段進(jìn)行軟件開發(fā)。從學(xué)術(shù)研究角度講,CASE是數(shù)年來在軟件開發(fā)管理、

軟件開發(fā)措施、軟件開發(fā)環(huán)境和軟件工具等方面研究和發(fā)展的產(chǎn)物。CASE把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)措施集成到一種統(tǒng)一而

一致的框架中,并且吸引J'CAD(計(jì)算機(jī)輔助設(shè)計(jì))、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、IW絡(luò)和許多其他計(jì)算機(jī)領(lǐng)域向原理和技術(shù)。因而,

CASE領(lǐng)域站?種應(yīng)用集成和綜合的領(lǐng)域。從產(chǎn)業(yè)角度講,CASE是種類繁多的軟件開發(fā)和系統(tǒng)集成的產(chǎn)品及軟件工具的集合。CASE分

類:<I>CASE技術(shù)種類CASE系統(tǒng)所波及到的技術(shù)有兩類:一類是支持軟件開發(fā)過程自身II勺技術(shù):另一類是支持軟件開發(fā)過程管理的技

術(shù)。從CASE系統(tǒng)產(chǎn)生方式來看,尚有一種特殊的CASE技術(shù),即元一一CASE技術(shù)。他是生成CASE系統(tǒng)的牛.成器所采用的技術(shù)。該生

成器可用來創(chuàng)立支持軟件開發(fā)過程活動及過程管理叫CASE系統(tǒng)“<2>CASEI:1MH<J分類對CASE匚具分類的原則可分為,①功能.功能

是對軟件進(jìn)行分類的最常用H勺原則。②支持的過程。根據(jù)支持的過程,工具可分為設(shè)計(jì)工具、編程工具、維護(hù)工具等。③支持的范圍。根

據(jù)支持的范圍,可分為窄支持、較寬支持和一般支持T具。窄支持指支持過程中特定的任務(wù),較寬支持是指支持特定過程階段:一般支持

是指支持覆蓋軟件過程的所有階段或大多數(shù)階段。1993年,F(xiàn)uggeiia根據(jù)CASE系統(tǒng)對軟件過程的支持范圍,提出CASE系統(tǒng)可分為三類:

①支持單個(gè)日程任務(wù)的工具。工具也許是通用的,或者也也許歸組到工作臺。②工作臺支持某一過程所有活動或某些活動。他們一般以或

多或少1向集成度構(gòu)成工具集。③環(huán)境支持軟件過程所有活動或至少大部分。他們一般包括幾種不一樣的工作臺,將這些工作臺以某種方式

集成起來。

19軟件維護(hù)的特點(diǎn)是什么?

重要體目前三個(gè)方面:<1>非構(gòu)造化維護(hù)和構(gòu)造化維護(hù)。軟件的開發(fā)過程對軟件的維護(hù)有很大的影響。若不采用軟件工程的措施開發(fā)軟件,

則軟件只有程序而無文檔,維護(hù)工作非常困難,這是一種非構(gòu)造化的維護(hù)。若采用軟件工程的措施開發(fā)軟件,則各階段均有對應(yīng)的文檔,

輕易進(jìn)行維護(hù)工作,這是一種構(gòu)造化的維護(hù)。<2>維護(hù)的困難性。軟件維護(hù)的困難性是由于軟件需求分析和開發(fā)措施的缺陷。軟件生存周

期中的開發(fā)階段沒有嚴(yán)格而有科學(xué)的管理和規(guī)劃,就會引起軟件運(yùn)行時(shí)的維護(hù)困難。<3>軟件維護(hù)的費(fèi)用。軟件維護(hù)的費(fèi)用在總費(fèi)用中的

比重是在不呼增長的,這是軟件維護(hù)有形的代價(jià)。此外尚有無形的代價(jià),即要占用更多的資源。軟件維護(hù)費(fèi)用增長小J重要原因是軟件維護(hù)

的生產(chǎn)率非常低。

20、軟件概要設(shè)計(jì)階段的基本任務(wù)是什么?

⑴設(shè)計(jì)軟件系統(tǒng)構(gòu)造(簡稱軟件構(gòu)造),詳細(xì)為:①采用某種設(shè)計(jì)措施,將一種復(fù)雜#'J系統(tǒng)按功能劃提成模塊。②確定每個(gè)模塊的功能。

③確定模塊之間的調(diào)用關(guān)系。④確定模塊之間的接口,即模塊之間傳遞的信息。⑤評價(jià)模塊構(gòu)造的質(zhì)質(zhì)。⑵數(shù)據(jù)構(gòu)造及數(shù)據(jù)庫設(shè)計(jì),漢數(shù)

據(jù)構(gòu)造的設(shè)汁及數(shù)據(jù)庫的設(shè)計(jì)。⑶編寫概要設(shè)計(jì)文檔。重要有:概要設(shè)計(jì)闡明電:數(shù)據(jù)庫設(shè)計(jì)闡明書:顧客手冊:修訂測試計(jì)劃。⑷評審。

21、迅速原型模型有幾種?各有何特點(diǎn)?根據(jù)原型的不一樣作用,有三類原型模型:⑴探索型原型。這種類型的原型模型是把原型用廣開

發(fā)的需求分析階段,目的是要弄清顧客的需求,確定所期望的特性,并探索多種方案的兀行性.它重要針對開發(fā)目的模糊,顧客與開發(fā)告

對項(xiàng)目都缺乏經(jīng)驗(yàn)的狀況,通過對原型的開發(fā)來明確顧客的需求。⑵試驗(yàn)型原型。這種原型重要用r設(shè)計(jì)階段,考核算現(xiàn)方案與否合適,

能否實(shí)現(xiàn),對于一種大型系統(tǒng),若對設(shè)計(jì)方案心中沒有把握時(shí),可通過這種原型來i正明設(shè)計(jì)方案的對的性。⑶演化型原型。這種原型重要

用于及早向顧客提交一種原型系統(tǒng),該原型系統(tǒng)或者包括系統(tǒng)的框或者包括系統(tǒng)的重耍功能。在得到顧客的承認(rèn)后,將原型系統(tǒng)不停獷充

演變?yōu)樽罱KI向軟件系統(tǒng),它將原型的思緒擴(kuò)展到軟件開發(fā)I向全過程。

22、在劃分就件生存周期階段時(shí),應(yīng)遵照的基本原則是什么?

軟件生存周期的各個(gè)階段有不一樣的劃分。軟件規(guī)模、種類、開發(fā)方式、開發(fā)環(huán)境以及開發(fā)使用措施都影響軟件生存周期的劃分。在劃分

軟件生存周期階段時(shí),應(yīng)遵照的一條基本原則是各階段I陽任務(wù)應(yīng)盡玨相對獨(dú)立,同一階段各項(xiàng)目任務(wù)的性質(zhì)盡量相似,從而減少每個(gè)階段

任務(wù)的笈雜程度,簡化不一樣階段之間的聯(lián)絡(luò),有助于軟件項(xiàng)目開發(fā)的組織管理。

23、請闡明軟件文檔時(shí)作用?

軟件開發(fā)項(xiàng)目生存期各階段都包括哪些文檔?軟件文檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)效率;作為開發(fā)人員階段工作成

果和結(jié)束標(biāo)志:記錄開發(fā)過程R勺有關(guān)信息便于使用與維護(hù):提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料:便于顧客理解軟件功能、性能。軟件開

發(fā)項(xiàng)目生存期各階段應(yīng)包括得文檔以及與各類人員的關(guān)系如下:可行性研究匯報(bào)、項(xiàng)目開發(fā)計(jì)劃、軟件需求闡明書、數(shù)據(jù)規(guī)定閩明書、測

試計(jì)劃、概要設(shè)計(jì)闡明書、詳細(xì)設(shè)計(jì)闡明書、顧客手冊、操作手冊、測試分析匯報(bào)、開發(fā)進(jìn)度月報(bào)、項(xiàng)目開發(fā)總結(jié)、程序維護(hù)手冊(維護(hù)

修改提議).

24、簡述SA措施II勺優(yōu)缺陷?

構(gòu)造化分析措施是軟件需求分析中公認(rèn)的、有成效的、技術(shù)成熟、使用廣泛的?種措施,它較適合于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。

該措施運(yùn)用圖形等半形式化工詳細(xì)現(xiàn)需求,簡要、易讀,也易于使用,為后一階段附設(shè)A、測試、評價(jià)提供了有利的條件。但SA措施也

存在有局限性之處:(I)老式『JSA措施重要用于數(shù)據(jù)處理方面的問題,事.要工具DFD體現(xiàn)了系統(tǒng)“做什么”的功能,但它僅是一種靜態(tài)模

型,沒有反應(yīng)處理口勺次序,即控制流程。因此,不適合描述實(shí)時(shí)控制系統(tǒng)。(2)SA措施使用DFD在分析與描述“數(shù)據(jù)規(guī)定”方面是有限口勺,

DFD應(yīng)與數(shù)據(jù)庫技術(shù)中的實(shí)體聯(lián)絡(luò)圖(ER圖)結(jié)合起來。(3)DFD不是和描述人機(jī)界面系統(tǒng)的需求。SA措施則對這一部分用自然語言作

補(bǔ)充,對此類系統(tǒng)可采用其他的分析措施。⑷為了更精確地描述軟件需求,提高軟件系統(tǒng)的可靠性、安全性,也便于實(shí)現(xiàn)自動化,SA措

施可與形式化措施結(jié)合起來。

25、什么是軟件工程?它的目的和內(nèi)容是什么?

軟件工程是一種用科學(xué)知識和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。軟件工程是一門工程性學(xué)科,目的是成功的建造一種大型軟

件系統(tǒng),所渭成功是要到達(dá)如下幾種目I向:付出較低的開發(fā)成本,到達(dá)規(guī)定的軟件功能:獲得很好的軟件性能:開發(fā)的軟件易二移植:需

要較低口勺維護(hù)贄用:能準(zhǔn)忖完畢開發(fā)任務(wù),及時(shí)交付使用:開發(fā)I向軟件可靠性高。軟件工程研究的重要內(nèi)容是軟件開發(fā)技術(shù)和軟件開發(fā)管

理兩方面,在軟件開發(fā)技術(shù)中,重要研究軟件開發(fā)措施、軟件開發(fā)過程、軟件開發(fā)工R和環(huán)境.在軟件開發(fā)管理中,重要研究軟件管理學(xué)、

軟件經(jīng)濟(jì)學(xué)、軟件心理學(xué)等。

26、試述系統(tǒng)開發(fā)的生命周期。

系統(tǒng)開發(fā)是管理信息系統(tǒng)建設(shè)中最重要的一種階段,從項(xiàng)目開發(fā)開始到結(jié)束的整個(gè)過程,稱為系統(tǒng)開發(fā)的生命周期。系統(tǒng)開發(fā)時(shí)生命

周期一般分為如下階段:⑴系統(tǒng)分析。這一階段的市.要任務(wù)是明確顧客的信息需求,提出新系統(tǒng)的邏輯方案。需要進(jìn)行的工作有系統(tǒng)的初

步調(diào)查,可,亍性研究,現(xiàn)行系統(tǒng)的詳細(xì)調(diào)臺及新系統(tǒng)邏輯模型的提出等。⑵系統(tǒng)設(shè)計(jì)。這一階段的重要任務(wù)是根據(jù)新系統(tǒng)的邏輯方案進(jìn)行

軟、硬件系統(tǒng)(KJ設(shè)計(jì),其中包括總體構(gòu)造設(shè)計(jì)、輸出設(shè)計(jì)、輸入設(shè)計(jì)、處理過程設(shè)計(jì)、數(shù)據(jù)存儲設(shè)計(jì)和計(jì)算機(jī)系統(tǒng)方案的選擇等。(3)系統(tǒng)

實(shí)行。這?階段將設(shè)計(jì)的系統(tǒng)付諸實(shí)行,重要工作有軟件內(nèi)程序編制與軟件包的購置.、計(jì)算機(jī)與通訊設(shè)備的購置.、系統(tǒng)的安裝、調(diào)試與測

試、新舊系統(tǒng)的轉(zhuǎn)換等。

27、什么是基本加工?

描述體現(xiàn)基本加工邏輯功能的構(gòu)造化工具"勺特點(diǎn)?數(shù)據(jù)流圖中所有不深入分解的加工,稱為基本加工。描述體現(xiàn)基本加工邏輯功能的構(gòu)造

化工具重要有:⑴自然語言的文字論述。⑵構(gòu)造化語言。⑶決策樹。⑷決策表。⑸數(shù)學(xué)公式。⑹上述各工具的聯(lián)合使用。其特點(diǎn)如卜所述:

⑴自然語言.吾義豐富,語法靈活,可描述十分廣泛而且雜的問題,體現(xiàn)人們豐富的感情和智慧。(2)構(gòu)造化語言沒有嚴(yán)格的語法規(guī)定,使用

的詞匯比形式化的計(jì)算機(jī)語言廣泛,但使用的語句類型很少,構(gòu)造規(guī)范,體現(xiàn)的內(nèi)容清晰、精確、易理解,不易產(chǎn)生歧義。⑶決策樹清晰

的體現(xiàn)了在什么狀況下應(yīng)采用什么方略,不易產(chǎn)生邏輯上的混亂。是描述基本加T的邏輯功能的有效工具。⑷決策表將比較過柒的決策問

題簡潔、明確、一目了然的描述出來。它是描述條件比較多的決策問題的有效工具。

28、增量模型I向基本思想是什么?

為了克服瀑布模型I內(nèi)局限性,使開發(fā)過程具有一定的靈活性和可修改性,于是產(chǎn)生了增量模型。它是在瀑布模型的基礎(chǔ)上加以修改而

形成的。增量模型和瀑布模型之間的本質(zhì)區(qū)別是:瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一種階段的工作之附,必須完此前一階段

的所有細(xì)節(jié)。而增量模型屬于非整體開發(fā)模型,它推遲某些階段或所有階段中的細(xì)節(jié),從而較早的產(chǎn)生工作軟件。增量模型是在項(xiàng)目的開

發(fā)過程中以?系列的增最方式開發(fā)系統(tǒng)。增定方式包括增最開發(fā)和增量提交。增信開發(fā)是指在項(xiàng)目開發(fā)周期內(nèi),以?定時(shí)時(shí)間間隔開發(fā)部

分工作軟件:增量:提交是指在項(xiàng)目開發(fā)周期內(nèi),以一定的時(shí)間間隔煙量方式向顧客提交工作軟件及對應(yīng)文檔。增量:開發(fā)和增量提交可以同

步使用,也可以單獨(dú)使用。

29、對軟件開發(fā)環(huán)境的基本規(guī)定有哪些?

⑴軟件開發(fā)環(huán)境應(yīng)是高度集成的一體化的系統(tǒng)。⑵軟件開發(fā)環(huán)境應(yīng)具有高度的通用性。⑶軟件開發(fā)環(huán)境應(yīng)易于定制、裁剪或擴(kuò)充以符

合顧客規(guī)定.即軟件開發(fā)環(huán)境應(yīng)具有高度的適應(yīng)性和靈活性。⑷軟件開發(fā)環(huán)境不僅可應(yīng)用性要好,并且是易使用的、經(jīng)濟(jì)高效的系統(tǒng)。⑸

軟件開發(fā)環(huán)境應(yīng)有輔助開發(fā)向半自動開發(fā)和自動開發(fā)逐漸過渡的系統(tǒng)

30、項(xiàng)目開發(fā)計(jì)劃有哪些內(nèi)容?

項(xiàng)目開發(fā)計(jì)劃是一種管理性IKJ文檔,它II勺重要內(nèi)容如下:⑴項(xiàng)目概述:闡明項(xiàng)目的各項(xiàng)重要工作:闡明軟件的功能、性能:為完畢項(xiàng)

目應(yīng)具有的條件:顧客及協(xié)議承包者承擔(dān)的工作、完畢期限及其他條件限制:應(yīng)交付的程序名稱,所使用的語言及存儲形式;應(yīng)交付的文

檔。⑵實(shí)行計(jì)劃:闡明任務(wù)的劃分,各項(xiàng)任務(wù)的負(fù)賁人:闡明項(xiàng)目開發(fā)進(jìn)度,按階段應(yīng)完畢的任務(wù),用圖表闡明每項(xiàng)任務(wù)的開始時(shí)間和完

華時(shí)間;闡明項(xiàng)目的預(yù)算,各階段的費(fèi)用支出預(yù)算。⑶人員組織及分工:闡明開發(fā)該項(xiàng)目所需人員的類型、構(gòu)成構(gòu)造、數(shù)量等。⑷交付期

限:闡明項(xiàng)目最終竣工交付II勺日期。

31、軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容?

模塊化。是指處理一種復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)化提成若干模塊的過程。每個(gè)模塊完畢一種特定的子功能,所有的模塊按

某種措施組裝起來,成為一種整體,完畢整個(gè)系統(tǒng)所規(guī)定I向功能。模塊化是軟件處理兜泉問題所具有的手段。抽象。抽象是認(rèn)識豆雜現(xiàn)象

過程中使用的思維工具即抽出事物本質(zhì)的共同的特性而暫不考慮它的細(xì)節(jié),不考慮其他原因。軟件工程過程中的每一部都可以看作是對軟

件處理措施rJ抽象層次的一次細(xì)化。信息隱蔽。是指在設(shè)計(jì)和確定模塊時(shí),使得一種模塊內(nèi)包括的信息(過程或數(shù)據(jù)),對于木需要這些

信息的其他噢塊來說,是不能訪問的。通過信息除蔽,可以定義和實(shí)行對模塊的過程細(xì)節(jié)和局部數(shù)據(jù)構(gòu)造的存取限制。數(shù)據(jù)獨(dú)立性。指每

個(gè)模塊只完華系統(tǒng)規(guī)定的獨(dú)立的子功能,并且與其他模塊的聯(lián)絡(luò)至少且接口簡樸。

32、白盒測試法有哪些覆蓋原則?試對他們的檢錯(cuò)能力進(jìn)行比較。

白盒測式法的覆蓋原則有:語句覆蓋、鑒定覆蓋、條件覆蓋、鑒定/條件覆蓋、條件組合覆蓋、途徑覆蓋。語句覆蓋發(fā)現(xiàn)錯(cuò)誤能力最弱。

鑒定覆蓋包括了語句覆蓋,但它也許會使某些條件均不到測試。條件覆蓋對每一條件進(jìn)行單獨(dú)檢查,?般狀況它的檢錯(cuò)能力較鑒定而蓋強(qiáng),

但有時(shí)達(dá)不到鑒定覆蓋的規(guī)定。鑒定/條件覆蓋包括r鑒定覆蓋和條件覆蓋的規(guī)定,但由于計(jì)算機(jī)系統(tǒng)軟件實(shí)現(xiàn)方式的限制,實(shí)際上不一定

到達(dá)條件覆蓋的原則。條件組合覆蓋發(fā)現(xiàn)錯(cuò)誤能力較強(qiáng),凡滿足其原則的測試用例,也必須滿足前四種覆蓋原則。前五?種覆蓋原則把注意

力集中在單個(gè)鑒定或鑒定的各個(gè)條件上,也許會使程序某些途徑?jīng)]有執(zhí)行到“途徑覆蓋楸據(jù)各鑒定體現(xiàn)式取值的組合,使程序沿著不一樣

的途徑執(zhí)行.查錯(cuò)能力強(qiáng)。但由「?它是從各鑒定的整體組合出發(fā)設(shè)計(jì)測試用例的,也許便測試用例達(dá)不到條件組合覆蓋的規(guī)定。

知識點(diǎn)

I、可行性研究的目的是用最小的代價(jià),在盡量短的時(shí)間內(nèi),確定該項(xiàng)目與否可以開發(fā)。

2、程序設(shè)計(jì)時(shí)代的生產(chǎn)方式是個(gè)體手工,程序系統(tǒng)時(shí)代的生產(chǎn)方式是作坊式小團(tuán)體,軟件工程時(shí)代的生聲方式是

工程化。

3、噴泉模型是一種以需求分析為動力,以對象為驅(qū)動的模型。

4、需求分析階段,分析人員要確定對問題的綜合需求,其中最里要的是功能需求。

5、可行性研究需要從如下三個(gè)方面分析研究每種處理措施的可行性:技術(shù)可行性、經(jīng)濟(jì)可行性、社會可行性。

6、可行性研究的目的不是去開發(fā)一種軟件項(xiàng)目,而是研究這個(gè)軟件項(xiàng)目與否值得開發(fā),其中的問題能否處理。

7、鑒定樹較鑒定表直觀易讀.鑒定表進(jìn)行邏輯驗(yàn)證較嚴(yán)格,能把所有的也許性所有都考慮到??蓪煞N工具結(jié)合

起來,先用鑒定表做底稿,在此基礎(chǔ)上產(chǎn)生鑒定樹。

8、軟件工具的發(fā)展特點(diǎn)是軟件工具有單一工具向多種工具集成化方向發(fā)展。重視顧客界面的設(shè)計(jì),不停的采用新

理論和新技術(shù)。軟件工具口勺商品化推進(jìn)了軟件產(chǎn)業(yè)口勺發(fā)展,而軟件產(chǎn)業(yè)的發(fā)展,又增長了對軟件工具的需求,增進(jìn)了

軟件工具的商品化進(jìn)程。

9、環(huán)境集成重要有數(shù)據(jù)集成、界面集成、控制集成、平臺集成、過程集成。

10、可行性研究實(shí)質(zhì)上是進(jìn)行一項(xiàng)簡化、壓縮了的需求分析、設(shè)計(jì)過程。

II、構(gòu)造化措施有構(gòu)造化分析、構(gòu)造化設(shè)計(jì)、構(gòu)造化程序設(shè)計(jì)構(gòu)成,它是?種面向數(shù)據(jù)流的開發(fā)措施。

12、投資回收期就是合計(jì)的經(jīng)濟(jì)效益等于最初的項(xiàng)目投資所需的時(shí)間。

13、詳細(xì)描述處理過程常用三種描述工具:圖形、表格和語言。

14、數(shù)據(jù)流圖中,每個(gè)加工至少有一種輸入流和一種輸出流。

15、構(gòu)造化設(shè)計(jì)以數(shù)據(jù)流為基礎(chǔ)映射成軟件構(gòu)造。

16、當(dāng)數(shù)據(jù)流圖中某個(gè)加工H勺一組動作存在著多種條件復(fù)雜組合的判斷時(shí),使用鑒定表或鑒定樹很好。

17、由于運(yùn)用原型的目的和方式不一樣,在使用原型時(shí)也采用不一樣口勺方略,有拋棄方略和附加方略。

18、有兩類維護(hù)技術(shù):在開發(fā)階段是用來減少錯(cuò)誤、提高軟件可維護(hù)性面向維護(hù)的技術(shù),在維護(hù)階段用來提高維

護(hù)的效率和質(zhì)量的維護(hù)支援技術(shù)。

19、軟件開發(fā)中原型是軟件H勺一種初期可運(yùn)行的版本,它反應(yīng)了最終系統(tǒng)的重要特性。

20、產(chǎn)品管理包括版本管理和配置管理。

21、任何程序都可由次序、選擇、反復(fù)三種基本控制構(gòu)造構(gòu)造。

22、測試用例應(yīng)有輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分構(gòu)成。這樣便于對照檢查。

23、需求分析階段產(chǎn)生的最重要的文檔之一是需求規(guī)格闡明書。

24、項(xiàng)目開發(fā)計(jì)劃是一種管理性文檔,

25、軟件配置管理,簡稱SCM,軟件配置項(xiàng)簡稱SCI。

26、在算法描述工具中,PAD圖可自動生成程序。由機(jī)器自動通過走樹的措施生成對應(yīng)的源代碼,大大提高軟件

的生產(chǎn)率。

27、在CASE集成中,控制集成支持工作臺或環(huán)境中一種工具對系統(tǒng)中其他工具的訪問。過程集成是指CASE系

統(tǒng)嵌入了有關(guān)過程活動、階段、約束和支持這些活動所需口勺工具口勺知識。

28、處理一種復(fù)雜問題,往往采用的方略是分解。

29、效益分析有有形效益和無形效益兩種。

30、兩個(gè)模塊都是用同一張表,這種耦合稱為公共耦合。

31、一種模塊把數(shù)值作為參數(shù)傳送給另一種模塊,這種耦合方式稱為教據(jù)耦合。

32、一種模塊內(nèi)部各程序段都在同一張表上操作,這個(gè)模塊H勺內(nèi)聚性稱為通信內(nèi)聚。

33、在SA措施的需求描述工具中,數(shù)據(jù)流圖描述系統(tǒng)的分解,即描述系統(tǒng)有哪幾部分構(gòu)成,各部分之間有什么聯(lián)

絡(luò)等等。數(shù)據(jù)字典定義了數(shù)據(jù)流圖中每一種圖形元素:構(gòu)造化語言、鑒定表或鑒定樹則詳細(xì)描述數(shù)據(jù)流圖中不能被再

分解的每一種加工。

34、數(shù)據(jù)庫的設(shè)計(jì)指數(shù)據(jù)存儲文獻(xiàn)的設(shè)計(jì),重要進(jìn)行口勺設(shè)計(jì)方面有:概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)。

35、軟件項(xiàng)目計(jì)劃是可行性研究階段H勺成果產(chǎn)品。但由于可行性研究是在高層次進(jìn)行系統(tǒng)分析,未能考慮軟件系

統(tǒng)開發(fā)的纖節(jié)情節(jié),因此軟件項(xiàng)目計(jì)劃一般在需求分析階段完畢后才定稿H勺。

36、信息隱蔽指在設(shè)計(jì)和確定模塊時(shí),使得一種模塊內(nèi)包括

溫馨提示

  • 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

提交評論