軟件工程期末考試試題題集_第1頁
軟件工程期末考試試題題集_第2頁
軟件工程期末考試試題題集_第3頁
軟件工程期末考試試題題集_第4頁
軟件工程期末考試試題題集_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、名詞解釋

1、需求分析:需求分析是指開發(fā)人員要準確理解用戶的需求,進行細致的調(diào)查分析,將用

戶非形式的需求陳述轉(zhuǎn)化成完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需

求規(guī)格說明)的過程。

2、白盒法:該方法把測試對象看作一個打開的盒子,測試人員須了解程序的內(nèi)部結(jié)構(gòu)

和處理過程,以檢查處理過程的細節(jié)為基礎(chǔ),對程序中盡可能多的邏輯路徑進行測試,檢

查內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒法也

不可能進行窮舉測試。

3、黑盒法:該方法把被測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)

構(gòu)和處理過程,只在軟件接口處進行測試,依照需求規(guī)格說明書,檢查程序是否滿足功能

要求。因此,黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動測試。

4、漸增式測試:逐個把未經(jīng)過測試的模塊組裝到已經(jīng)過測試的模塊上去,進行集成測

試。每加入一個新模塊進行一次集成測試,重復(fù)此過程直至程序組裝完畢。

5、非漸增式測試:首先對每個模塊分別進行單元測試,然后再把所有的模塊按設(shè)計要

求組裝在一起進行測試。

6、可執(zhí)行的規(guī)格說明:這是一種使要求說明過程自動化的技術(shù),通過可執(zhí)行的規(guī)格說

明語言來描述預(yù)期的行為“做什么”,人們可以從直接觀察中用規(guī)格說明語言來規(guī)定任何系

統(tǒng)行為。

7、經(jīng)濟可行性:對組織的經(jīng)濟狀況和投資能力進行分析,對系統(tǒng)建設(shè),運行和維護費

用進行估算,對系統(tǒng)建成后可能取得的社會及經(jīng)濟效益進行估計。

8、系統(tǒng)設(shè)計說明書:是從系統(tǒng)總體的角度出發(fā)對系統(tǒng)建設(shè)中各主要技術(shù)方面的設(shè)計進

行說明,是系統(tǒng)設(shè)計階段的產(chǎn)物,其著重點在于闡述系統(tǒng)設(shè)計的指導(dǎo)思想以及所采用的技

術(shù)路線和方法,編寫系統(tǒng)設(shè)計說明書將為后續(xù)的系統(tǒng)開發(fā)工作從技術(shù)和指導(dǎo)思想上提供必

要的保證。

9、面向?qū)ο笤O(shè)計:是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系

統(tǒng)實現(xiàn)方案的過程?;蛘哒f,面向?qū)ο笤O(shè)計就是用面向?qū)ο笥^點建立求解域模型的過程。

10、結(jié)構(gòu)化設(shè)計:面向數(shù)據(jù)流的設(shè)計是以需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),按一

定的步驟映射成軟件結(jié)構(gòu),因此又稱結(jié)構(gòu)化設(shè)計(SD)o

11、結(jié)構(gòu)化分析:是根據(jù)分解與抽象的原則,按照系統(tǒng)中數(shù)據(jù)處理的流程,用數(shù)據(jù)圖

來建立系統(tǒng)的功能模型,從而完成需求分析工作。

12、基于腳本的設(shè)計:此方法主要用于解決要求的驗證問題。一個腳本將模擬在系統(tǒng)

運行期間用戶經(jīng)歷的事件,它提供了輸入、處理、輸出的屏蔽,以及有關(guān)對話的一個模型,

開發(fā)者能夠給用戶顯示一個系統(tǒng)的逼真視圖。

13、IDEF方法:是美國空軍在1981年針對集成化計算機輔助制造(簡稱ICAM)工

程項目中用于進行復(fù)雜系統(tǒng)分析和設(shè)計的方法,是在結(jié)構(gòu)化分析與設(shè)計技術(shù)的基礎(chǔ)上提出

來的。

14、JSP方法:定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,他根據(jù)輸入、輸出的數(shù)據(jù)

結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu),而不是軟件的體系結(jié)構(gòu),因此

該方法適于詳細設(shè)計階段。

15、軟件概要設(shè)計:進入了設(shè)計階段,要把軟件“做什么”的邏輯模型變換為“怎么

做”的物理模型,即著手實現(xiàn)軟件的需求,并將設(shè)計的結(jié)果反應(yīng)在“設(shè)計規(guī)格說明書”文

檔中,所以軟件設(shè)計是一個把軟件需求轉(zhuǎn)換為軟件表示的過程,最初這種表示只是描述了

軟件的總的體系結(jié)構(gòu),稱為軟件的概要設(shè)計或結(jié)構(gòu)設(shè)計。

16、信息隱蔽:指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),

對于不需要這些信息的其它模塊來說,是不能訪問的。

17、系統(tǒng)流程圖:是描述物理系統(tǒng)的傳統(tǒng)工具,它用圖形符號來表示系統(tǒng)中的各個元

素,例如人工處理、數(shù)據(jù)處理、數(shù)據(jù)庫、文件、設(shè)備等。它表達了系統(tǒng)中各個元素之間的

信息流動的情況。

18、集成測試:是指在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成一個完整

的系統(tǒng)進行的測試,故也稱組裝測試或聯(lián)合測試。

19、附加策略:是將原型用于開發(fā)的全過程,原型由最基本的核心開始,逐步增加新

的功能和新的需求,反復(fù)修改反復(fù)擴充,最后發(fā)展為用戶滿意的最終系統(tǒng)。

20、拋棄策略:是將原型用于開發(fā)過程的某一階段,促使該階段的開發(fā)結(jié)果更加完整、

準確、一致、可靠,該階段結(jié)束后,原型隨之作廢。

21、抽象:是認識復(fù)雜現(xiàn)象過程中使用的思維工具,即抽出事物本質(zhì)的共同的特征而

暫不考慮它的細節(jié),不考慮其它因素。

22、參數(shù)化抽象:所謂參數(shù)化抽象,它是指當(dāng)描述類的規(guī)格說明時并不具體指定所要

操作的數(shù)據(jù)類型,而是把數(shù)據(jù)類型作為參數(shù)。

23、靜態(tài)測試:指被測試程序不在機器上運行,而是采用人工檢測和計算機輔助靜態(tài)

分析的手段對程序進行檢測。

24、原型:是指模擬某種產(chǎn)品的原型模型。軟件開發(fā)中的原型是軟件的一個早期可運

行的版本,它反映了最終系統(tǒng)的重要特征。

25、事件:是指定時刻發(fā)生的某件事情。它是某事情發(fā)生的信號,它沒有持續(xù)時間,

它是一種相對性的快速事件。

26、動態(tài)冗余:動態(tài)冗余的主要方式是多種模塊待機儲備,當(dāng)系統(tǒng)檢測到某工作模塊

出現(xiàn)錯誤時,就用一個備用的模塊來頂替它并重新運行。這里須有檢測、切換和恢復(fù)過程,

故稱其為動態(tài)冗余。

27、模塊化:是指解決一個復(fù)雜問題是自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過

程,每個模塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,

完成整個系統(tǒng)所要求的功能。

28、JSP方法:定義了一組以數(shù)據(jù)結(jié)構(gòu)為指導(dǎo)的映射過程,它根據(jù)輸入、輸出的數(shù)據(jù)

結(jié)構(gòu),按一定的規(guī)則映射成軟件的過程描述,即程序結(jié)構(gòu),而不是軟件的體系結(jié)構(gòu),因此

該方法適于詳細設(shè)計階段。

29、模型:是為了理解事務(wù)而對事物做出一種抽象,它忽略不必要的細節(jié),它也是事

物的一種抽象形式,一個規(guī)劃,一個程式。

30、瀑布模型:是將軟件生存各個活動規(guī)定為依線性順序聯(lián)接的若干階段的模型。它

包括可行性分析、項目開發(fā)計劃、需求分析、概要設(shè)計、詳細設(shè)計、編碼、測試和維護。

它規(guī)定了由前至后,相互銜接的固定次序,如同瀑布流水,逐級下落。

31、增量模型:是在項目的開發(fā)工程中以一系列的增量方式開發(fā)系統(tǒng)。增量方式包括

增量開發(fā)和增量提交。增量開發(fā)是指在項目開發(fā)過程中以一定的時間間隔開發(fā)部分工作軟

件;增量提交是指在開發(fā)周期內(nèi),以一定的時間間隔增量方式向用戶提交工作軟件及相應(yīng)

穩(wěn)當(dāng)。增量開發(fā)和增量提交可以同時使用,也可單獨使用。

32、噴泉模型:是一種以用戶需求為動力,以對對象作為驅(qū)動的模型,適合于面向?qū)?/p>

象的開發(fā)方法。他克服了瀑布模型不支持軟件重用和多項開發(fā)活動集成的局限性。噴泉模

型使開發(fā)過程具有迭代性和無間隙性。系統(tǒng)某些部分常常重復(fù)工作多次,相關(guān)功能在每次

迭代中隨之加入演化的系統(tǒng)。無間隙是指在分析、設(shè)計、實現(xiàn)等開發(fā)活動之間不存在明顯

的邊界。

33、功能模型:描述了系統(tǒng)的所有計算,它表明一個計算如何從輸入值得到輸出值,

他不考慮所計算的次序。功能模型說明對象模型中操作的涵義、動態(tài)模型中動作的意義以

及對象模型中約束的意義。

34、動態(tài)模型:是與時間和變化有關(guān)的系統(tǒng)性質(zhì)。該模型描述了系統(tǒng)的控制結(jié)構(gòu),他

表示了瞬時的、行為化的系統(tǒng)控制性質(zhì)。它關(guān)心的是系統(tǒng)的控制,操作的執(zhí)行順序。它從

對象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了對象的相互行為。

35、對象模型:表示了靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),它

是從客觀世界實體的對象關(guān)系角度來描述,表現(xiàn)了對象的相互關(guān)系。

36、貨幣的時間價值:通常利用銀行的存款利息來表示貨幣的時間價值。設(shè)年利率為I,

現(xiàn)存入p元,n年后得到本金和利息為Fo若不計復(fù)利,則P元在n年后的價值為:

F=P*(l+n*i)。反過來,若n年后能收入的本金和利息為F,則將來F元的現(xiàn)在價值(本金)P

為:P=F/(l+n*i)?可用這個公式來計算將來收入的現(xiàn)在價值。這是效益分析的最基本公式。

37、類:具有相同或相似性質(zhì)的對象的抽象就是類。

38、對象:是人們要進行研究的任何事物,從最簡單的整數(shù)到復(fù)雜的飛機等均可看作

對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。類的具體化就是對

象,也可以說類的實例是對象。

39、多態(tài)性:指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果。

不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。

40、風(fēng)險分析:實際上就是貫穿在軟件工程上的一系列風(fēng)險管理步驟,其中包括風(fēng)險

識別、風(fēng)險估計、風(fēng)險管理策略、風(fēng)險解決和風(fēng)險監(jiān)督,它能讓人們主動“攻擊”風(fēng)險。

41、模塊:模塊在程序重視數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,或者是單獨?/p>

名和編址的元素,如高級語言中的過程、函數(shù)、子程序等等。

42、JSD方法:主要以活動事件為中心,通過有一串活動順序組合構(gòu)成的進程,建立

系統(tǒng)模型,最后實現(xiàn)該模型。

43、路徑覆蓋:指設(shè)計足夠的測試用例,覆蓋被測程序中所有可能的路徑。

44、判定/條件覆蓋:指設(shè)計足夠的測試用例,使得判定表達式中的每個條件的所有可

能取值至少出現(xiàn)一次,并使每個判定表達式所有可能的結(jié)果也至少出現(xiàn)一次。

45、條件組合覆蓋:是指設(shè)計足夠的測試用例,使的每個判定表達式中條件的各種可

能的值的組合都至少出現(xiàn)一次,條件組合覆蓋是比較強的覆蓋標準。

46、條件覆蓋:是指設(shè)計足夠的測試用例,使得判定表達式中每個條件的各種可能的

值至少出現(xiàn)一次。滿足條件覆蓋并不一定滿足判定覆蓋。

47、原型模型:又稱快速原型模型,它是在開發(fā)真實系統(tǒng)之前,構(gòu)造一個原型,在該

原型的基礎(chǔ)上,逐漸完成整個系統(tǒng)的開發(fā)工作。

48、軟件工程環(huán)境:美國國防部在STARS計劃中定義如下:“軟件工程環(huán)境是一組方

法、過程及計算機程序(計算機化的工具)的整體化構(gòu)件,他支持從需求定義、程序生成

知道維護的整個軟件生存期”。

49、程序圖:是退化的程序流程圖。也就是說,把程序流程圖中每個處理符號都退化

成一個結(jié)點,原來連接不同處理符號的流線變成連接不同結(jié)點的有向弧,這樣得到的有向

圖就叫程序圖。

二、填空題

1、可行性研究的目的是用最小的代價,在盡可能短的時間內(nèi),確定該項目是否能夠開發(fā)。

2、程序設(shè)計時代的生產(chǎn)方式是個體手工,程序系統(tǒng)時代的生產(chǎn)方式是作坊式小團體,

軟件工程時代的生產(chǎn)方式是工程化。

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

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

5、可行性研究需要從以下三個方面分析研究每種解決方法的可行性:技術(shù)可行性、經(jīng)

濟可行性、社會可行性。

6、可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個軟件項目是否值得開發(fā),

其中的問題能否解決。

7、判定樹較判定表直觀易讀,判定表進行邏輯驗證較嚴格,能把所有的可能性全部都

考慮到。可將兩種工具結(jié)合起來,先用判定表做底稿,在此基礎(chǔ)上產(chǎn)生判定樹。

8、軟件工具的發(fā)展特點是軟件工具有單一工具向多個工具集成化方向發(fā)展。重視用戶

界面的設(shè)計,不斷的采用新理論和新技術(shù)。軟件工具的商品化推動了軟件產(chǎn)業(yè)的發(fā)展,而

軟件產(chǎn)業(yè)的發(fā)展,又增加了對軟件工具的需求,促進了軟件工具的商品化進程。

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

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

11、結(jié)構(gòu)化方法有結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化程序設(shè)計構(gòu)成,它是一種面向數(shù)

據(jù)流的開發(fā)方法。

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

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

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

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

16、當(dāng)數(shù)據(jù)流圖中某個加工的一組動作存在著多個條件復(fù)雜組合的判斷時,使用判定

表或判定樹較好。

17、由于運用原型的目的和方式不同,在使用原型時也采取不同的策略,有拋棄策略

和附加策略。

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

術(shù),在維護階段用來提高維護的效率和質(zhì)量的維護支援技術(shù)。

19、軟件開發(fā)中原型是軟件的一個早期可運行的版本,它反映了最終系統(tǒng)的重要特性。

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

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

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

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

24、項目開發(fā)計劃是一個管理性文檔。

25、軟件配置管理,簡稱SCM,軟件配置項簡稱SCI。

26、在算法描述工具中,PAD圖可自動生成程序。由機器自動通過走樹的辦法生成相

應(yīng)的源代碼,大大提高軟件的生產(chǎn)率。

27、在CASE集成中,控制集成支持工作臺或環(huán)境中一個工具對系統(tǒng)中其它工具的訪

問。過程集成是指CASE系統(tǒng)嵌入了關(guān)于過程活動、階段、約束和支持這些活動所需的工

具的知識。

28、解決一個復(fù)雜問題,往往采取的策略是分解。

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

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

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

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

33、在SA方法的需求描述工具中,數(shù)據(jù)流圖描述系統(tǒng)的分解,即描述系統(tǒng)有哪幾部分

組成,各部分之間有什么聯(lián)系等等。數(shù)據(jù)字典定義了數(shù)據(jù)流圖中每一個圖形元素;結(jié)構(gòu)化

語言、判定表或判定樹則詳細描述數(shù)據(jù)流圖中不能被再分解的每一個加工。

34、IDEF圖是一種功能模型,表示系統(tǒng)功能的圖形稱為活動圖形,連方框上的箭頭有

四種類型,他們分別是輸入、輸出、控制、機制。

35、軟件項目計劃是可行性研究階段的結(jié)果產(chǎn)品。但由于可行性研究是在高層次進行

系統(tǒng)分析,未能考慮軟件系統(tǒng)開發(fā)的細節(jié)情節(jié),因此軟件項目計劃一般在需求分析階段完

成后才定稿的。

36、信息隱蔽指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對

于不需要這些信息的其它模塊來說,是不能訪問的。

37、同一個類中的共享是指同一個類中的對象有著相同的數(shù)據(jù)結(jié)構(gòu)和相同的行為特

征。

38、通過抽象,可以確定組成軟件的過程實體。通過信息隱蔽,可以定義和實施對模

塊的過程細節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。

39、IPO圖描述分層圖中一個模塊的輸入、輸出和處理內(nèi)容。

40、軟件是一種邏輯產(chǎn)品,它與物質(zhì)產(chǎn)品有很大區(qū)別。

41、數(shù)據(jù)流圖中的箭頭表示數(shù)據(jù)流。

42、軟件測試時需要三類信息:軟件配置、測試配置、測試工具。

43、基于IDEF0圖的設(shè)計也是結(jié)構(gòu)化設(shè)計技術(shù)之一,它以系統(tǒng)的功能模型和信息結(jié)構(gòu)

為基礎(chǔ)設(shè)計軟件結(jié)構(gòu)。

44、系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素,表達

了系統(tǒng)中各種元素之間的信息流動情況。

45、樁模塊是用來代替被測試模塊所調(diào)用的模塊,它的作用是返回被測模塊所需的信

息。

46、建立數(shù)據(jù)字典一般的兩種形式是手工建立和利用計算機輔助建立并維護。

47、匯編語言是面向機器的,可以完成高級語言無法滿足要求的特殊功能,如與外部

設(shè)備之間的一些接口操作。

48、黑盒測試是功能測試,因此設(shè)計測試用例時,需要研究需求規(guī)格說明書和概要設(shè)

計說明書中有關(guān)程序功能或輸入、輸出之間的關(guān)系等信息,從而與測試后的結(jié)果進行分析

比較。

49、在類層次中,子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為單重繼承。子類繼

承了多個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為多重繼承。

50、由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有流向。除了與數(shù)據(jù)存儲之間的數(shù)據(jù)流不

用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。

51、投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。項目的純收

入是指在整個生存周期之內(nèi)的累計經(jīng)濟效益(折合成現(xiàn)在值)與投資之差。

52、程序設(shè)計語言的簡潔性是指人們必須記住的語言成分的數(shù)量。人們要掌握一種語

言,需要記住的成分數(shù)量越多,簡潔性越差。

53、不同對象的同一屬性可以具有相同或不同的屬性值。

54、軟件開發(fā)劃分的各階段任務(wù)盡可能相對獨立,同一階段任務(wù)性質(zhì)盡可能相同。

55、瀑布模型是將生存周期各活動規(guī)定為線性順序聯(lián)接的若干階段的模型。

56、成本效益分析的目的是從經(jīng)濟角度評價開發(fā)一個軟件項目是否可行。

57、在需求分析階段要進行以下幾方面的工作:問題識別、分析與綜合、導(dǎo)出軟件的

邏輯模型、編寫文檔。

58、靜態(tài)冗余常用的有:三模冗余TMR和多模冗余。

59、McCabe質(zhì)量度量模型,針對面向軟件產(chǎn)品的運行、修正、轉(zhuǎn)移。

60、程序設(shè)計語言的局部性是指語言的聯(lián)想性。在編碼過程中,由語句組合成模塊,

由模塊組裝成系統(tǒng)結(jié)構(gòu),并在組裝過程中實現(xiàn)模塊的高內(nèi)聚,低耦合,使局部性得到加強。

61、軟件復(fù)雜性度量的參數(shù)主要有規(guī)模、難度、結(jié)構(gòu)和職能度。

62、項目開發(fā)計劃的主要內(nèi)容有:項目概述、實施計劃、人員組織及分工、交付期限。

63、可行性研究要在較高層次上以較抽象方式進行需求分析和設(shè)計。

64、軟件工程是一門綜合性交叉學(xué)科,計算機科學(xué)著重于原理和理論,軟件工程著重

于建造軟件系統(tǒng)。

65、維護的副作用有編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。

66、若年利率為I,不計復(fù)利,P元在n年后的價值F=P*(l+n*i)

67、軟件結(jié)構(gòu)是以模塊為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。

68、軟件設(shè)計階段產(chǎn)生的最重要的文檔之一是概要設(shè)計說明書。

69、獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,

一條獨立路徑是至少包含有一條在其它獨立路徑中未有過的邊的路徑。

70、各模塊經(jīng)過單元測試后,將各模塊組裝起來進行集成測試,以檢查與設(shè)計相關(guān)的

軟件系統(tǒng)結(jié)構(gòu)的有關(guān)問題。

71、開發(fā)過程管理包括項目計劃和控制和任務(wù)管理等。

72、臨時維護小組采用“同事復(fù)審”或“同行復(fù)審”等方法來提高維護工作的效率。

73、數(shù)據(jù)字典中的加工邏輯主要描述該加工做什么,即實現(xiàn)加工的策略,而不是實現(xiàn)

加工的細節(jié),它描述如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加式規(guī)則。

74、為了較完整的描述用戶對系統(tǒng)的需求,DFD應(yīng)與數(shù)據(jù)庫中的ER圖結(jié)合起來。

75、純收入是軟件生存周期內(nèi)累計經(jīng)濟效益與投資之差。

76、反映軟件結(jié)構(gòu)的基本形態(tài)特征是深度、寬度、扇入和扇出。

77、若年利率為L不計復(fù)利,n年后能收入F元的現(xiàn)在價值p=F/(l+n*i)。

78、在一個模塊中,功能狀態(tài)與接口反映模塊的外部特性,邏輯反映它的內(nèi)部特性。

79、硬件與軟件一起構(gòu)成完整的計算機系統(tǒng)。

80、SA方法中主要描述工具是DFD與DD。

81、軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。

82、結(jié)構(gòu)化設(shè)計對數(shù)據(jù)流有兩種分析方法,他們是變換分析設(shè)計和事務(wù)分析設(shè)計。

83、數(shù)據(jù)字典中有四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、加工。

84、常借用硬件可靠性的定量度量方法來度量軟件的可靠性與可用性。常用指標有平

均失效等待時間MTTF和平均失效間隔時間MTBF?

85、Lisp是一種函數(shù)型語言,Prolog是一種邏輯性語言。

86、Jackson結(jié)構(gòu)圖能對結(jié)構(gòu)進行自頂向下分解,因此可以表示層次結(jié)構(gòu)。

87、變換模型是一種適合于形式化開發(fā)方法的模型,從軟件需求形式化說明開始,經(jīng)

過一系列變換,最終得到系統(tǒng)的目標程序。

88、軟件開發(fā)環(huán)境的主要目標是提高軟件開發(fā)的生產(chǎn)率,改善軟件質(zhì)量和降低軟件成

本。

89、“軟件”包含計算機程序及其說明程序的各種文檔。

90、開發(fā)過程依序包括需求分析、設(shè)計、編碼、集成、軟件安裝和驗收等活動。

91、社會可行性研究包括合同、責(zé)任、侵權(quán)、用戶組織的管理模式及規(guī)范,其他一些

技術(shù)人員常常不了解的陷阱等。

92、IDEF0方法中,將系統(tǒng)功能稱為活動,將表示系統(tǒng)功能的圖形稱為活動圖形。

93、數(shù)據(jù)庫的設(shè)計指數(shù)據(jù)存儲文件的設(shè)計,主要進行的設(shè)計方面有:概念設(shè)計、邏輯

設(shè)計、物理設(shè)計。

94、如果只有兩個模塊之間有公共數(shù)據(jù)環(huán)境,這種公共耦合有兩種情況:一是一個模

塊只是給公共數(shù)據(jù)環(huán)境送數(shù)據(jù),另一個模塊是只從公共環(huán)境中去數(shù)據(jù),這是比較松散的公

共耦合;二是兩個模塊都往公共環(huán)境中送數(shù)據(jù)又從里面取數(shù)據(jù),這是緊密的數(shù)據(jù)耦合。

95、Jackson方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。早期的Jackson方法用于開發(fā)模型較少

的數(shù)據(jù)處理系統(tǒng)的設(shè)計,簡稱JSP。

96、工程網(wǎng)絡(luò)圖只有一個開始點和一個終止點,開始點沒有流入箭頭,稱為入度為零;

終止點沒有流出箭頭,稱為出度為零。

97、為了確保每個開發(fā)過程的質(zhì)量,防止把軟件差錯傳遞到下一個過程,必須進行質(zhì)

量檢驗,檢驗的實施有實際運行檢驗(即白盒測試和黑盒測試)和鑒定兩種形式。

三、簡答題

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

首先需要進行概要的分析研究,初步確定項目的規(guī)模和目標,確定項目的約束和限制,

把他們清楚地列舉出來。然后,分析員進行簡要的需求分析,抽象出該項目的邏輯結(jié)構(gòu),

建立邏輯模型。從邏輯模型出發(fā),經(jīng)過壓縮的設(shè)計,探索出若干種可供選擇的主要解決方

法,對每種解決方法都要研究它的可行性,可從以下三個方面分析研究每種解決方法的可

行性。㈠技術(shù)可行性:對要開發(fā)項目的功能、性能、限制條件進行分析,確定在現(xiàn)有的資

源條件下,技術(shù)風(fēng)險有多大,項目是否能實現(xiàn)。㈡經(jīng)濟可行性:進行開發(fā)成本的估算以及

了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。㈢社會可行性:要開發(fā)的項

目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目的運行方式在用戶組織內(nèi)是否行得通,

現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。

2、什么是模塊的影響范圍?什么是模塊的控制范圍?他們之間應(yīng)該建

立什么關(guān)系?

一個模塊的作用范圍(或稱影響范圍)指受該模塊內(nèi)一個判定影響的所有模塊的集合。

一個模塊的控制范圍指模塊本身以及其所有下屬模塊(直接或間接從屬于它的模塊)的集

合。一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)在其影響的模塊在層

次上盡量靠近。如果再設(shè)計過程中,發(fā)現(xiàn)模塊作用范圍不在其控制范圍之內(nèi),可以用“上移

判點”或“下移受判斷影響的模塊,將它下移到判斷所在模塊的控制范圍內(nèi)”的方法加以改

進。

3、非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?

非漸增式測試與漸增式測試的測試方法有以下區(qū)別:㈠非漸增式測試方法把單元測試

和集成測試分成兩個不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試。

而漸增式測試往往把單元測試與集成測試和在一起,同時完成。㈡非漸增式需要更多的工

作量,因為每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅(qū)動模

塊或樁模塊,因此工作量較少。㈢漸增式可以較早的發(fā)現(xiàn)接口之間的錯誤,非漸增式最后

組裝是才發(fā)現(xiàn)。㈣漸增式有利于排錯,發(fā)生錯誤往往和最近加進來的模塊有關(guān),而非漸增

式發(fā)現(xiàn)接口錯誤推遲到最后,很難判斷是哪一部分接口出錯。㈤漸增式比較徹底,已測試

的模塊和新的模塊再測試。網(wǎng)漸增式占用的時間較多,但非漸增式須更多的驅(qū)動模塊、樁

模塊也占用一些時間。(芍非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大

型軟件很有意義。漸增式測試有以下兩種不同的組裝模塊的方法:㈠自頂向下組合。該方

法只需編寫樁模塊,其步驟是從頂層模塊開始,沿被測程序的軟件結(jié)構(gòu)圖的控制路徑逐步

向下測試,從而把各個模塊都結(jié)合起來,它又有兩種組合策略:①深度有先策略:先從軟

件結(jié)構(gòu)中選擇一條主控制路徑,把該路徑上的模塊一個個結(jié)合進來進行測試,以便完成一

個特定的子功能,接著再結(jié)合其它需要優(yōu)先考慮的路徑。②寬度有先策略:逐層結(jié)合直接

下屬的所有模塊。㈡自低向上結(jié)合。該方法僅需編寫驅(qū)動模塊。其步驟為:①把底層模塊

組合成實現(xiàn)一個個特定子功能的族。②為每一個族編寫一個驅(qū)動模塊,以協(xié)調(diào)測試用例的

輸入和測試結(jié)果的輸出。③對模塊族進行測試。④按軟件結(jié)構(gòu)圖依次向上擴展,用實際模

塊替換驅(qū)動模塊,形成一個個更大的族。⑤重復(fù)②至④步,直至軟件系統(tǒng)全部測試完畢。

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

從實際應(yīng)用來說,軟件質(zhì)量定義為:㈠與所確定的功能和性能需求的一致性。㈡與所

成文的開發(fā)標準一致性。㈢與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。軟件質(zhì)量

保證就是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有

階段的質(zhì)量的活動,即確定、達到和維護需要的軟件質(zhì)量而進行的所有有計劃、有系統(tǒng)的

管理活動。5、軟件工程標準化的意義是什么?都有哪些軟件工程標準?積極推進軟件工程

標準化,其道理是顯而易見的。僅就一個軟件開發(fā)項目來說,有許多層次,不同分工的人

員相互配合,在開發(fā)項目的各個部分以及各開發(fā)階段之間也都存在許多聯(lián)系和銜接問題。

如何把這些錯綜復(fù)雜的關(guān)系協(xié)調(diào)好,需要有一系列統(tǒng)一的約束和規(guī)定。在軟件開發(fā)項目取

得階段成果或最后完成是時,需要進行階段評價和驗收測試。投入運行的軟件,其維護工

作中遇到問題又與開發(fā)工作者有著密切的關(guān)系。軟件的管理工作則滲透到軟件生存期的每

一個環(huán)節(jié)。所有這些都要要求提供統(tǒng)一的行動規(guī)范和衡量準則,使得各種工作都有章可循。

軟件工程的標準主要有以下三個:㈠FIPS135是美國國家標準局發(fā)布的《軟件文檔管理指

南》㈡NSAC——39是美國核子安全分析中心發(fā)布的《安全參數(shù)顯示系統(tǒng)的驗證與確認》。

㈢ISO5807是國際標準化組織公布(現(xiàn)已成為中國的國家標準)的《信息處理一數(shù)據(jù)流程

圖、程序流程圖、程序網(wǎng)絡(luò)圖和系統(tǒng)資源圖的文件編制符號及約定》。

1、需求分析階段的基本任務(wù)是什么?需求分析階段的基本任務(wù)是要準確的定義

新系統(tǒng)的目標,為了滿足用戶需要,回答系統(tǒng)必須“做什么”的問題。本階段要進行以下幾

方面的工作:㈠問題識別。雙方確定對問題的綜合需求,這些需求包括:功能需求、性能

需求、環(huán)境需求、用戶界面需求,另外還有可靠性、安全性、保密性、可移植性、可維護

性等方面的需求。㈡分析與綜合,導(dǎo)出軟件的邏輯模型。分析人員對獲取的需求,進行一致

性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。這里也包括對數(shù)

據(jù)域進行分解,并分配到各個子功能上,以確定系統(tǒng)的構(gòu)成及主要成份,并用圖文結(jié)合的

形式,建立起新系統(tǒng)的邏輯模型。㈢編寫文檔。編寫“需求規(guī)格說明書”、編寫初步用戶使

用手冊、編寫確認測試計劃、修改完善軟件開發(fā)計劃。

2、采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點?

㈠等價類劃分。等價類劃分是將輸入數(shù)據(jù)域按有效的或無效的(也稱合理的或不合理的)

劃分成若干個等價類,測試每個等價類的代表值就等于對該類其它值的測試。㈡邊界值分

析。該方法是將測試邊界情況作為重點目標,選取正好等于,剛剛大于或剛剛小于邊界值

的情況,根據(jù)這些情況選擇測試用例。㈢錯誤推測。錯誤推測法沒有確定的步驟,憑檢驗

進行。它的基本思想是列出程序中可能發(fā)生錯誤的情況,根據(jù)這些情況選擇測試用例。㈣

因果圖。因果圖能有效的檢測輸入條件的各種組合可能會引起的錯誤。因果圖的基本原理

是通過畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)

計一個測試用例。

3、說明動態(tài)建模的過程。㈠準備腳本。動態(tài)分析從尋找事件開始,然后確定各對

象的可能事件的順序。在分析階段不考慮算法的執(zhí)行,算法是實現(xiàn)模型的一部分。㈡確定

事件。確定所有外部事件。事件包括所有來自或發(fā)往用戶的信息、外部設(shè)備的信號、輸入、

轉(zhuǎn)換和動作。㈢準備事件跟蹤表。把腳本表示成一個事件跟蹤表,對象為表中的列,給每

一個對象分配一個獨立的列。㈣構(gòu)造狀態(tài)圖。對各對象類建立狀態(tài)圖,反映對象接收和發(fā)

送的事件,每個事件跟蹤都對應(yīng)于狀態(tài)圖中一條路徑。

4、軟件生產(chǎn)經(jīng)歷了幾個階段?各有何特征?軟件生產(chǎn)至今已經(jīng)歷了三個階段:

㈠程序設(shè)計時代(1946-1956):這個階段的生產(chǎn)方式是個體手工勞動,使用的工具實際其語

言、匯編語言。開發(fā)方法是追求編程技巧,追求程序運行效率。硬件特征是價格貴、存儲

容量小,運行可靠性差。軟件特征是只有程序、程序設(shè)計概念,不重視程序設(shè)計方法。㈡

程序系統(tǒng)時代(1956-1968):這個階段的生產(chǎn)方式是作坊式的小集團合作生產(chǎn),生產(chǎn)工具是

高級語言,開發(fā)方法仍就靠個人技巧,但開始提出結(jié)構(gòu)化方法。硬件特征是速度、容量、

工作可靠性有明顯提高。軟件特征是程序員數(shù)量猛增,但開發(fā)技術(shù)沒有新的突破,開發(fā)人

員的素質(zhì)和落后的開發(fā)技術(shù)不適應(yīng)規(guī)模大、結(jié)構(gòu)復(fù)雜的軟件開發(fā),導(dǎo)致軟件危機的產(chǎn)生。

㈢軟件工程時代(1968至今):這個階段的生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫、開發(fā)工

具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件。硬件特征是向超高速、大容量、

微型化以及網(wǎng)絡(luò)化方向發(fā)展。軟件特征是開發(fā)技術(shù)有很大進步,但是未能獲得突破性進展,

軟件價格不斷上升,沒有完全擺脫軟件危機。5、簡述Gantt圖的功能及不足。Gantt圖常

用水平線段來描述把任務(wù)分解成子任務(wù),以及每個子任務(wù)的進度安排,動態(tài)反映軟件開發(fā)

進度情況,該圖可以:表示任務(wù)分解成子任務(wù)情況;表示每個任務(wù)的開始時間和完成時間,

線段的長度表示子任務(wù)完成所需要的時間;表示子任務(wù)之間的并行和串行關(guān)系。Gantt圖只

能表示任務(wù)之間的并行與串行的關(guān)系,難以反映多個任務(wù)之間存在的復(fù)雜關(guān)系,不能直觀

表示任務(wù)之間相互依賴制約關(guān)系,以及哪些任務(wù)是關(guān)鍵字任務(wù)等信息,因此僅僅用Gantt

圖作為進度的安排是不夠的。6、什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?數(shù)據(jù)字

典(簡稱DD)是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,它以一種準確的、無二義

性的說明方式為系統(tǒng)的分析、設(shè)計及維護提供了有關(guān)元素的一致的定義和詳細的描述。他

和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。數(shù)據(jù)字典是

為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細定義而服務(wù)的,因此也像普通字典一樣,要把

所有條目按一定的次序排列起來,以便查閱。數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、

數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。源點、終點不在系統(tǒng)

之內(nèi),故一般不在字典中說明。7、調(diào)試的目的是什么?調(diào)試有哪些技術(shù)手段?調(diào)試的目的

是確定錯誤的原因和位置,并改正錯誤,因此調(diào)試也成為糾錯。調(diào)試技術(shù)主要有:簡單的

調(diào)試方法,主要有在程序中插入打印語句、運行部分程序等;歸納法調(diào)試,他從測試結(jié)果

發(fā)現(xiàn)的線索(錯誤跡象、征兆)入手、分析他們之間的聯(lián)系,導(dǎo)處錯誤原因的假設(shè),然后

再證明或否定這個假設(shè);演繹法調(diào)試,該方法列出所有可能的錯誤原因的假設(shè),然后利用

測試數(shù)據(jù)排除不適當(dāng)?shù)募僭O(shè),最后再測試數(shù)據(jù)驗證余下的假設(shè)確實是出錯的原因;回溯法

調(diào)試,該方法從程序產(chǎn)生錯誤的地方出發(fā),人工沿程序的邏輯路徑反向搜索,直到找到錯

誤的原因為止。

1、如何做好軟件質(zhì)量保證工作?軟件質(zhì)量保證工作是軟件工程管理的重要內(nèi)容,

軟件質(zhì)量保證應(yīng)做好以下幾個方面的工作:采用技術(shù)手段和工具。質(zhì)量保證活動要貫徹

開發(fā)過程始終,必須從采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進行軟件開發(fā)。

<2>組織正式技術(shù)評審,在軟件開發(fā)的第一個階段結(jié)束時,都要組織正式的技術(shù)評審。國家

標準要求單位必須采用審查、文檔評審、設(shè)計評審、審計和測試等具體手段來保證質(zhì)量。

<3>加強軟件測試。軟件測試是質(zhì)量保證的重要手段,因為測試可發(fā)現(xiàn)軟件可發(fā)現(xiàn)軟件中大

多數(shù)潛在錯誤。<4>推選軟件工程規(guī)范(標準)。用戶可以自己指定軟件工程規(guī)范(標準),

但標準一旦確認就應(yīng)貫徹執(zhí)行。<5>對軟件的變更進行控制。軟件的修改和變更常常會引起

潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。<6>對軟件質(zhì)量進行度量。即對軟件質(zhì)

量進行跟蹤,及時記錄和報告軟件質(zhì)量情況。

2、什么是數(shù)據(jù)流圖?其作用是什么?其中的基本符號各表示什么含義?

數(shù)據(jù)流圖簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描

述數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一

種功能模型。數(shù)據(jù)流圖有四種基本圖形符號:“t”箭頭表示數(shù)據(jù)流;“?!眻A或橢圓表述加工;

“=”雙杠表示數(shù)據(jù)存儲;"”方框表示數(shù)據(jù)的源點或終點。

3、什么是確認測試?該階段有哪些工作?確認測試又稱有效性測試。它的任

務(wù)是檢查軟件的功能與性能是否與需求規(guī)格說明書中確定的指標相符合。確認測試階段有

兩項工作,進行確認測試與軟件配置審查。確認測試一般是在模擬環(huán)境中運用黑盒測試

方法,由專門測試人員和用戶參加的測試。<2>軟件配置審查的任務(wù)是檢查軟件的所有文檔

資料的完整性、正確性。如果發(fā)現(xiàn)遺漏和錯誤,應(yīng)補充和改正,同時要編排好目錄,為以

后的軟件維護工作奠定基礎(chǔ)。

4、詳細設(shè)計的基本任務(wù)是什么?有哪幾種描述方法?詳細設(shè)計是軟件設(shè)計

的第二階段,其基本任務(wù)有:為每個模塊進行詳細的算法設(shè)計;為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行

設(shè)計;對數(shù)據(jù)庫進行物理設(shè)計,即確定數(shù)據(jù)庫的物理結(jié)構(gòu);其它設(shè)計,根據(jù)軟件系統(tǒng)類型,

還可能要進行代碼設(shè)計、輸入/輸出格式設(shè)計、人機對話設(shè)計;編寫詳細設(shè)計說明書;評審。

詳細描述處理過程常用三種工具:圖形、表格和語言。如結(jié)構(gòu)化程序流程圖、盒圖和問題

分析圖。IPO圖也是詳細設(shè)計的主要工具之一。表格工具如判定表可作為詳細設(shè)計中描述

邏輯條件復(fù)雜的算法。過程設(shè)計語言(PDL)是一種用于描述模塊算法設(shè)計和處理細節(jié)的

語言工具。5、什么是軟件危機?其產(chǎn)生的原因是什么?當(dāng)軟件開發(fā)技術(shù)的進步不能跟上硬

件技術(shù)的進步,未能滿足發(fā)展的要求,致軟件開發(fā)中遇到的問題找不到解決的辦法,使問

題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機。主要表現(xiàn)為:<1>經(jīng)費預(yù)算經(jīng)常突

破,完成時間一再拖延;<2>開發(fā)的軟件不能滿足用戶要求;<3>開發(fā)的軟件可維護性差;

<4>開發(fā)的軟件可靠性差。造成軟件危機的原因是由于軟件產(chǎn)品本身的特點以及開發(fā)軟件的

方式、方法、技術(shù)和人員引起的。共產(chǎn)生原因主要有以下幾方面:<1>軟件的規(guī)模越來越大,

結(jié)構(gòu)越來越復(fù)雜;<2>軟件開發(fā)管理困難而復(fù)雜;<3>軟件開發(fā)費用不斷增加;<4>軟件開

發(fā)技術(shù)落后;<5>生產(chǎn)方式落后;<6>開發(fā)工具落后,生產(chǎn)率提高緩慢。6、CASE工作臺有

哪些分類?一個CASE工作臺是一組工具集,支持像設(shè)計、實現(xiàn)或測試等特定的軟件開發(fā)

階段。工作臺工具能通過共享文件、共享倉庫或共享數(shù)據(jù)結(jié)構(gòu)來集成。它能支持大多數(shù)的

軟件過程活動。工作臺有:<1>程序設(shè)計工作臺;<2>分析和設(shè)計工作臺;<3>測試工作臺;

<4>交叉開發(fā)工作臺;<5>配置管理(CM)工作臺;<6>文檔工作臺<7>項目管理工作臺。7、

IDEFO方法有什么特點?<1>采用方框和箭頭等簡單的圖形符號描述系統(tǒng)的活動和數(shù)據(jù)流,

描述活動所受到的約束條件及實現(xiàn)機制。從側(cè)面清楚的反映了系統(tǒng)的功能。故IDEF0圖宜

全為正式文檔。<2>采用嚴格的自頂向下、逐層分解的方式建立系統(tǒng)功能模型。頂層確定系

統(tǒng)范圍,采用抽象原則,然后有控制的逐步展開有關(guān)活動的細節(jié),符合SA方法的分析策略。

同時,IDEFO規(guī)定每張圖至少有3個、最多有6個方框,上界6保證采用層次性描述復(fù)雜

問題的可理解性,下界3保證分解有意義。

1、軟件維護的特點是什么?主要體現(xiàn)在三個方面:<1>非結(jié)構(gòu)化維護和結(jié)構(gòu)化維

護。軟件的開發(fā)過程對軟件的維護有很大的影響。若不采用軟件工程的方法開發(fā)軟件,則

軟件只有程序而無文檔,維護工作非常困難,這是一種非結(jié)構(gòu)化的維護。若采用軟件工程

的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進行維護工作,這是一種結(jié)構(gòu)化的維護。

<2>維護的困難性。軟件維護的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周

期中的開發(fā)階段沒有嚴格而有科學(xué)的管理和規(guī)劃,就會引起軟件運行時的維護困難。<3>軟

件維護的費用。軟件維護的費用在總費用中的比重是在不斷增加的,這是軟件維護有形的

代價。另外還有無形的代價,即要占用更多的資源。軟件維護費用增加的主要原因是軟件

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

2、什么是CASE?CASE工具有哪些分類?CASE是一組工具和方法的集合,

可以輔助軟件開發(fā)生命周期各階段進行軟件開發(fā)。從學(xué)術(shù)研究角度講,CASE是多年來在

軟件開發(fā)管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和軟件工具等方面研究和發(fā)展的產(chǎn)物。CASE

把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)方法集成到一個統(tǒng)一而一致的框架中,并且吸引了

CAD(計算機輔助設(shè)計)、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)和許多其它計算機領(lǐng)域的原

理和技術(shù)。因而,CASE領(lǐng)域是一個應(yīng)用集成和綜合的領(lǐng)域。從產(chǎn)業(yè)角度講,CASE是種類

繁多的軟件開發(fā)和系統(tǒng)集成的產(chǎn)品及軟件工具的集合。CASE分類:<1>CASE技術(shù)種類

CASE系統(tǒng)所涉及到的技術(shù)有兩類:一類是支持軟件開發(fā)過程本身的技術(shù);另一類是支持

軟件開發(fā)過程管理的技術(shù)。從CASE系統(tǒng)產(chǎn)生方式來看,還有一種特殊的CASE技術(shù),即

元—CASE技術(shù)。他是生成CASE系統(tǒng)的生成器所采用的技術(shù)。該生成器可用來創(chuàng)建支

持軟件開發(fā)過程活動及過程管理的CASE系統(tǒng)。<2>CASE工具的分類對CASE工具分類的

標準可分為:①功能。功能是對軟件進行分類的最常用的標準。②支持的過程。根據(jù)支持

的過程,工具可分為設(shè)計工具、編程工具、維護工具等。③支持的范圍。根據(jù)支持的范圍,

可分為窄支持、較寬支持和一般支持工具。窄支持指支持過程中特定的任務(wù),較寬支持是

指支持特定過程階段;一般支持是指支持覆蓋軟件過程的全部階段或大多數(shù)階段。1993年,

Fuggetta根據(jù)CASE系統(tǒng)對軟件過程的支持范圍,提出CASE系統(tǒng)可分為三類:①支持單

個過程任務(wù)的工具。工具可能是通用的,或者也可能歸組到工作臺。②工作臺支持某一過

程所有活動或某些活動。他們一般以或多或少的集成度組成工具集。③環(huán)境支持軟件過程

所有活動或至少大部分。他們一般包括幾個不同的工作臺,將這些工作臺以某種方式集成

起來。

3、說明容錯軟件的定義與容錯的一般方法。歸納容錯軟件的定義,有以下四

種:⑴規(guī)定功能的軟件,在一定程序上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則

稱此軟件為具有容錯功能的軟件。⑵規(guī)定功能的軟件,在一定程序上能從錯誤狀態(tài)自動恢

復(fù)到正常狀態(tài),則稱之為容錯軟件。⑶規(guī)定功能的軟件,在因錯誤而發(fā)生錯誤時,仍然能

在一定程度上完成預(yù)期的功能,則把該軟件稱為容錯軟件。⑷規(guī)定功能的軟件,在一定程

度上具有容錯能力,則稱之為容錯軟件。實現(xiàn)容錯技術(shù)的主要手段是冗余,通常冗余技術(shù)

分為四類。⑴結(jié)構(gòu)冗余。結(jié)構(gòu)冗余是通常用的冗余技術(shù)。按其工作方式,它分為靜態(tài)、動

態(tài)和混合冗余三種。⑵信息冗余。為檢查或糾正信息在運算或傳輸中的錯誤須外加一部分

信息,這種現(xiàn)象稱為信息冗余。⑶時間冗余。是指以重復(fù)執(zhí)行指令(指令復(fù)執(zhí))或程序(程

序復(fù)算)來消除瞬時錯誤帶來的影響。⑷冗余附加技術(shù)。是指為實現(xiàn)上述冗余技術(shù)所需的

資源和技術(shù)。包括程序、指令、數(shù)據(jù)、存放和調(diào)動他們的空間和通道等。

4、軟件概要設(shè)計階段的基本任務(wù)是什么?⑴設(shè)計軟件系統(tǒng)結(jié)構(gòu)(簡稱軟件結(jié)

構(gòu)),具體為:①采用某種設(shè)計方法,將一個復(fù)雜的系統(tǒng)按功能劃分成模塊。②確定每個模

塊的功能。③確定模塊之間的調(diào)用關(guān)系。④確定模塊之間的接口,即模塊之間傳遞的信息。

⑤評價模塊結(jié)構(gòu)的質(zhì)量。⑵數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計,漢數(shù)據(jù)結(jié)構(gòu)的設(shè)計及數(shù)據(jù)庫的設(shè)計。

⑶編寫概要設(shè)計文檔。主要有:概要設(shè)計說明書;數(shù)據(jù)庫設(shè)計說明書;用戶手冊;修訂測

試計劃。⑷評審。5,快速原型模型有幾種?各有何特點?根據(jù)原型的不同作用,有三類原

型模型:⑴探索型原型。這種類型的原型模型是把原型用于開發(fā)的需求分析階段,目的是

要弄清用戶的需求,確定所期望的特性,并探索各種方案的可行性。它主要針對開發(fā)目標

模糊,用戶與開發(fā)著對項目都缺乏經(jīng)驗的情況,通過對原型的開發(fā)來明確用戶的需求。⑵

實驗型原型。這種原型主要用于設(shè)計階段,考核實現(xiàn)方案是否合適,能否實現(xiàn),對于一個

大型系統(tǒng),若對設(shè)計方案心中沒有把握時,可通過這種原型來證實設(shè)計方案的正確性。⑶

演化型原型。這種原型主要用于及早向用戶提交一個原型系統(tǒng),該原型系統(tǒng)或者包含系統(tǒng)

的框或者包含系統(tǒng)的主要功能。在得到用戶的認可后,將原型系統(tǒng)不斷擴充演變?yōu)樽罱K的

軟件系統(tǒng),它將原型的思路擴展到軟件開發(fā)的全過程。

1、在劃分軟件生存周期階段時,應(yīng)遵循的基本原則是什么?軟件生存周期

的各個階段有不同的劃分。軟件規(guī)模、種類、開發(fā)方式、開發(fā)環(huán)境以及開發(fā)使用方法都影

響軟件生存周期的劃分。在劃分軟件生存周期階段時,應(yīng)遵循的一條基本原則是各階段的

任務(wù)應(yīng)盡可能相對獨立,同一階段各項目任務(wù)的性質(zhì)盡可能相同,從而降低每個階段任務(wù)

的復(fù)雜程度,簡化不同階段之間的聯(lián)系,有利于軟件項目開發(fā)的組織管理。

2、請說明軟件文檔的作用?軟件開發(fā)項目生存期各階段都包含哪些文檔?軟件文

檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)效率;作為開發(fā)人員階段工作成果和

結(jié)束標志;記錄開發(fā)過程的有關(guān)信息便于使用與維護;提供軟件運行、維護和培訓(xùn)有關(guān)資

料;便于用戶了解軟件功能、性能。軟件開發(fā)項目生存期各階段應(yīng)包括得文檔以及與各類

人員的關(guān)系如下:可行性研究報告、項目開發(fā)計劃、軟件需求說明書、數(shù)據(jù)要求說明書、

測試計劃、概要設(shè)計說明書、詳細設(shè)計說明書、用戶手冊、操作手冊、測試分析報告、開

發(fā)進度月報、項目開發(fā)總結(jié)、程序維護手冊(維護修改建議)。

3、軟件開發(fā)成本估算方法有哪幾種?自頂向下估算方法。估算人員參照以

前完成的項目所耗費的總成本(或總工作量),來推算將要開發(fā)的軟件的總成本(或總工作

量),然后把它們按階段、步驟和工作單元進行分配,這樣方法稱為自頂向下的估算方法。

<2>自底向上估算方法。自底向上估算方法是將待開發(fā)的軟件細分,分別估算每一個子任務(wù)

所需要的開發(fā)工作量,然后將它們加起來,得到軟件的總開發(fā)量。<3>差別估算方法。差別

估算是將開發(fā)項目與一個或多個已完成的類似項目進行比較,找出與某個相類似項目的若

干不同之處,并估算每個不同之處對成本的影響,導(dǎo)出開發(fā)項目的總成本。<4>專家估算法。

依靠一個或多個專家對要求的項目做出估算。<5>類推估算法。<6>算式估算法。

4、簡述SA方法的優(yōu)缺點?結(jié)構(gòu)化分析方法是軟件需求分析中公認的、有成效的、

技術(shù)成熟、使用廣泛的一種方法,它較適合于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。該方法

利用圖形等半形式化工具表達需求,簡明、易讀,也易于使用,為后一階段的設(shè)計、測試、

評價提供了有利的條件。但SA方法也存在有不足之處:⑴傳統(tǒng)的SA方法主要用于數(shù)據(jù)處

理方面的問題,主要工具DFD體現(xiàn)了系統(tǒng)“做什么”的功能,但它僅是一個靜態(tài)模型,沒有

反映處理的順序,即控制流程。因此,不適合描述實時控制系統(tǒng)。(2)SA方法使用DFD在

分析與描述“數(shù)據(jù)要求”方面是有限的,DFD應(yīng)與數(shù)據(jù)庫技術(shù)中的實體聯(lián)系圖(ER圖)結(jié)

合起來。⑶DFD不是和描述人機界面系統(tǒng)的需求。SA方法則對這一部分用自然語言作補充,

對這類系統(tǒng)可采取其它的分析方法。⑷為了更精確地描述軟件需求,提高軟件系統(tǒng)的可靠

性、安全性,也便于實現(xiàn)自動化,SA方法可與形式化方法結(jié)合起來。5、什么是軟件工程?

它的目標和內(nèi)容是什么?軟件工程是一種用科學(xué)知識和技術(shù)原理來定義、開發(fā)、維護軟件

的一門學(xué)科。軟件工程是一門工程性學(xué)科,目的是成功的建造一個大型軟件系統(tǒng),所謂成

功是要達到以下幾個目標:付出較低的開發(fā)成本,達到要求的軟件功能;取得較好的軟件

性能;開發(fā)的軟件易于移植;需要較低的維護費用;能按時完成開發(fā)任務(wù),及時交付使用;

開發(fā)的軟件可靠性高。軟件工程研究的主要內(nèi)容是軟件開發(fā)技術(shù)和軟件開發(fā)管理兩方面,

在軟件開發(fā)技術(shù)中,主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟

件開發(fā)管理中,主要研究軟件管理學(xué)、軟件經(jīng)濟學(xué)、軟件心理學(xué)等。6、簡述容錯系統(tǒng)的設(shè)

計過程?容錯系統(tǒng)的設(shè)計過程包括以下設(shè)計步驟:⑴安設(shè)計任務(wù)要求進行常規(guī)設(shè)計,盡量

保證設(shè)計的正確。⑵對可能出現(xiàn)的錯誤分類,確定實現(xiàn)容錯的范圍。⑶按照成本一效益最

優(yōu)原則,選用某種冗余手段來實現(xiàn)對各類錯誤的屏蔽。⑷分析或驗證上述冗余結(jié)構(gòu)的容錯

效果。如果效果沒有達到預(yù)期的程度,則應(yīng)重新進行冗余結(jié)構(gòu)設(shè)計。如此重復(fù),直到有一

個滿意的結(jié)果為止。7、漸增模型有幾種?各有何特點?漸增模型是瀑布模型的變種,它有

兩類:⑴增量構(gòu)造模型。它在瀑布模型基礎(chǔ)上,對一些階段進行整體開發(fā),對另一些階段

進行增量開發(fā)。也就是說在前面的開發(fā)階段按瀑布模型進行整體開發(fā),后面的開發(fā)階段按

增量方式開發(fā)。⑵演化提交模型。它在瀑布模型基礎(chǔ)上,所有階段都進行增量開發(fā),也就

是說不僅是增量開發(fā),也是增量提交。8、試述系統(tǒng)開發(fā)的生命周期。系統(tǒng)開發(fā)是管理信息

系統(tǒng)建設(shè)中最重要的一個階段,從項目開發(fā)開始到結(jié)束的整個過程,稱為系統(tǒng)開發(fā)的生命

周期。系統(tǒng)開發(fā)的生命周期一般分為以下階段:⑴系統(tǒng)分析。這一階段的主要任務(wù)是明確

用戶的信息需求,提出新系統(tǒng)的邏輯方案。需要進行的工作有系統(tǒng)的初步調(diào)查,可行性研

究,現(xiàn)行系統(tǒng)的詳細調(diào)查及新系統(tǒng)邏輯模型的提出等。⑵系統(tǒng)設(shè)計。這一階段的主要任務(wù)

是根據(jù)新系統(tǒng)的邏輯方案進行軟、硬件系統(tǒng)的設(shè)計,其中包括總體結(jié)構(gòu)設(shè)計、輸出設(shè)計、

輸入設(shè)計、處理過程設(shè)計、數(shù)據(jù)存儲設(shè)計和計算機系統(tǒng)方案的選擇等。⑶系統(tǒng)實施。這一

階段將設(shè)計的系統(tǒng)付諸實施,主要工

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論