軟件工程試題及答案_第1頁
軟件工程試題及答案_第2頁
軟件工程試題及答案_第3頁
軟件工程試題及答案_第4頁
軟件工程試題及答案_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 軟件生命期各階段的任務(wù)是什么? 答:軟件生命期分為7個階段: 1、問題定義:要解決的問題是什么2、可行性研究:確定問題是否值得解,技術(shù)可行性、經(jīng)濟可行性、操作可行性3、需求分析:系統(tǒng)必須做什么4、總體設(shè)計:系統(tǒng)如何實現(xiàn),包括系統(tǒng)設(shè)計和結(jié)構(gòu)設(shè)計5、詳細(xì)設(shè)計:具體實現(xiàn)設(shè)計的系統(tǒng)6、實現(xiàn):編碼和測試7、運行維護:保證軟件正常運行。 2、軟件重用的效益是什么? 答:1、軟件重用可以顯著地改善軟件的質(zhì)量和可靠性。2、軟件重用可以極大地提高軟件開發(fā)的效率。3、節(jié)省軟件開發(fā)的成本,避免不必要的重復(fù)勞動和人力、財力的浪費。 3、 自頂而下漸增測試與自底而上漸增測試各有何優(yōu)、缺點? 答: 自頂而下漸增測試

2、 優(yōu)點:不需要測試驅(qū)動程序,能夠在測試階段的早期實現(xiàn)并驗證系統(tǒng)的主要功能,而且能夠盡早發(fā)現(xiàn)上層模塊的接口錯誤。 缺點:需要存根程序,底層錯誤發(fā)現(xiàn)較晚。 自底而上漸增測試 優(yōu)點與缺點和自頂而下漸增測試相反。 4 、 提高可維護性的方法有哪些? 答:在軟件工程的每一階段都應(yīng)該努力提高系統(tǒng)的可維護性,在每個階段結(jié)束前的審查和復(fù)審中,應(yīng)著重對可維護性進行復(fù)審。 在需求分析階段的復(fù)審中,應(yīng)對將來要擴充和修改的部分加以注明。在討論軟件可移植性問題時,要考慮可能要影響軟件維護的系統(tǒng)界面。 在軟件設(shè)計的復(fù)審中,因從便于修改、模塊化和功能獨立的目標(biāo)出發(fā),評價軟件的結(jié)構(gòu)和過程,還應(yīng)對將來可能修改的部分預(yù)先做準(zhǔn)備。

3、 在軟件代碼復(fù)審中,應(yīng)強調(diào)編碼風(fēng)格和內(nèi)部說明這兩個影響可維護性的因素。 在軟件系統(tǒng)交付使用前的每一測試步驟中都應(yīng)給出需要進行預(yù)防性維護部分的提示。 在完成每項維護工作后,都應(yīng)對軟件維護本身進行仔細(xì)認(rèn)真的復(fù)審。 為了從根本上提高軟件系統(tǒng)的可維護性,人們正試圖通過直接維護軟件規(guī)格說明來維護軟件 ,同時也在大力發(fā)展軟件重用技術(shù)。簡述軟件測試要經(jīng)過哪幾個步驟,每個步驟與什么文檔有關(guān)?!窘獯稹繙y試過程按 4 個步驟進行,即單元測試(模塊測試)、集成測試(子系統(tǒng)測試和系統(tǒng)測試)、確認(rèn)測試(驗收測試)和平行運行。單元測試集中對用源代碼實現(xiàn)的每一個程序單元進行測試,與其相關(guān)的文檔是單元測試計劃和詳細(xì)設(shè)計說明書

4、。集成測試把已測試過的模塊組裝起來,主要對與設(shè)計相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進行測試。與其相關(guān)的文檔是集成測試計劃和軟件需求說明書。確認(rèn)測試則是要檢查已實現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。與其相關(guān)的文檔是確認(rèn)測試計劃和軟件需求說明書。平行運行把已經(jīng)經(jīng)過確認(rèn)的軟件納入實際運行環(huán)境中,與其他系統(tǒng)成份組合在一起進行測試。與其相關(guān)的文檔:用戶指南、使用手冊等。36簡述容錯技術(shù)的四種主要手段,并解釋。結(jié)構(gòu)冗余:包括靜態(tài)冗余、動態(tài)冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復(fù)執(zhí)行指令或程序來消除瞬時錯誤帶來的影響。

5、冗余附加技術(shù):指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。36可行性報告的主要內(nèi)容有哪些?解:一個可行性研究報告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項目的功能、性能和基本要求;達到的目標(biāo);各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對現(xiàn)有系統(tǒng)的分析:說明現(xiàn)有系統(tǒng)的處理流程和數(shù)據(jù)流程;工作負(fù)荷;各項費用支出;所需要各類專業(yè)技術(shù)人員的數(shù)量;所需要各種設(shè)備;現(xiàn)有系統(tǒng)存在什么問題。(4)所建議系統(tǒng)的技術(shù)可行性分析:所建議系統(tǒng)的簡要說明;處理流程和數(shù)據(jù)流程;與現(xiàn)有的系統(tǒng)比較的優(yōu)越性;采用所建議系統(tǒng)對用戶

6、的影響;對各種設(shè)備、現(xiàn)有軟件、開發(fā)環(huán)境、運行環(huán)境的影響;對經(jīng)費支出的影響;對技術(shù)可行性的評價。(5)所建議系統(tǒng)的經(jīng)濟可行性分析:說明所建議系統(tǒng)的各種支出,各種效益;收益投資比;投資回收周期。(6)社會因素可行性分析:說明法律因素,對合同責(zé)任、侵犯專利權(quán)、侵犯版權(quán)等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質(zhì)的要求。(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。(8)結(jié)論意見:說明項目是否能開發(fā);還需要什么條件才能開發(fā);對項目目標(biāo)有什么變動等。解析做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得

7、去開發(fā),其中的問題能否解決,報告共分為八個基本內(nèi)容。37系統(tǒng)設(shè)計的內(nèi)容是什么?解:系統(tǒng)設(shè)計階段先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計階段的更詳細(xì)策略的設(shè)計提供了基礎(chǔ)。(1)系統(tǒng)分解。系統(tǒng)中主要的組成部分稱為子系統(tǒng),子系統(tǒng)既不是一個對象也不是一個功能,而是類、關(guān)聯(lián)、操作、時間和約束的集合。每次分解的各子系統(tǒng)數(shù)目不能太多,最底層子系統(tǒng)稱為模塊。(2)確定并發(fā)性。分析模型、現(xiàn)實世界及硬件中不少對象均是并發(fā)的。系統(tǒng)設(shè)計的一個重要目標(biāo)就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務(wù)。(3)處理器及任務(wù)分配。各并發(fā)子系統(tǒng)

8、必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現(xiàn)子系統(tǒng)的硬軟件,將軟件子系統(tǒng)分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現(xiàn)各子系統(tǒng)的各物理單元的連接。(4)數(shù)據(jù)存儲管理。系統(tǒng)中的內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)的存儲管理是一項重要的任務(wù)。通常各數(shù)據(jù)存儲可以將數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫組合在一起,不同數(shù)據(jù)存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅(qū)動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標(biāo)識符、類

9、名、文件名等。如果資源是物理對象,則可以通過建立協(xié)議實現(xiàn)對并發(fā)系統(tǒng)的訪問,以達到自身控制;如果資源是邏輯實體,如對象標(biāo)識符,那么在共享環(huán)境中有沖突訪問的可能,如獨立的事務(wù)可能同時使用同一個對象標(biāo)識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。(6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統(tǒng)設(shè)計必須從多種方法中選擇某種方法來實現(xiàn)軟件的控制。(7)人機交互接口設(shè)計。設(shè)計中的大部分工作都與穩(wěn)定的狀態(tài)行為有關(guān),但必須考慮用戶使用系統(tǒng)的交互接口。38什么是軟件危機?軟件危機的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件發(fā)展第二階段的末期,由于計算機硬件技術(shù)

10、的進步,計算機運行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計算機的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項目提出來了,但是,軟件開發(fā)技術(shù)的進步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機。軟件危機表現(xiàn)在以下四個方面:(1)經(jīng)費預(yù)算經(jīng)常突破,完成時間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計劃很難制定。主觀盲目制定計劃,執(zhí)行起來與實際情況有很大差距,使得開發(fā)經(jīng)費一再突破。由于對工作量估計不足,對開發(fā)難度估計不足,進度計劃無法按時完成,開發(fā)時間一再拖延。(2)開發(fā)的軟件不能滿足用

11、戶要求。開發(fā)初期對用戶的要求了解不夠明確,未能得到明確的表達。開發(fā)工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開發(fā)失敗。(3)開發(fā)的軟件可維護性差。開發(fā)過程中沒有同意的、公認(rèn)的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序結(jié)構(gòu)不好,運行時發(fā)現(xiàn)錯誤也很難修改,導(dǎo)致維護性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測試時,又沒有嚴(yán)格的、充分的、完全的測試,提交給用戶的軟件質(zhì)量差,在運行中暴露出大量的問題。造成軟件危機的原因是:(

12、1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。6)開發(fā)工具落后,生產(chǎn)率提高緩慢。39軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:(1)采用技術(shù)手段和工具。質(zhì)量保證活動要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進行軟件開發(fā)。(2)組織正式技術(shù)評審。在軟件開發(fā)的每一個階段結(jié)束時,都要組織正式的技術(shù)評審。國家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評審、設(shè)計評審、審計和測試等具體手段來保證質(zhì)量。(3)加強軟件測試。軟件測試

13、是質(zhì)量保證的重要手段,因為測試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯誤。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹執(zhí)行。(5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴(yán)格控制軟件的修改和變更。(6)對軟件質(zhì)量進行度量。即對軟件質(zhì)量進行跟蹤,及時記錄和報告軟件質(zhì)量情況。解析軟件的質(zhì)量保證是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,是軟件工程管理中的重要內(nèi)容。40請使用PAD圖和PDL語言描述在數(shù)組A(1)A(10)中找最大數(shù)的算法。解:PDL語言:N=1WHILE N=10 DOIF A

14、(N)=A(N+1) MAX =A(N+1);ELSE MAX =A(N) ENDIF;N=N+1;ENDWHILE;PAD圖:解析人工查找時,是從第一個元素開始查找,用當(dāng)前元素與下一個元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。四、應(yīng)用題(每題8分,共40分)42某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:生產(chǎn)科的任務(wù)是:(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。(2)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組

15、裝月計劃。(4)將產(chǎn)品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間技術(shù)科的任務(wù)是:(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。(2)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。 試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解:畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。 解析軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟

16、件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。1、 假設(shè)一家工廠的采購部每天需要一張定貨報表,報表按零件編號排序,表中列出所有需要再次定貨的零件。對于每個需要再次定貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報告給定貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時就應(yīng)該再次定貨。要求:畫出系統(tǒng)的數(shù)據(jù)流圖。 答: 2、 將下面給出的偽碼轉(zhuǎn)換為N-S圖和PAD圖。void root ( float root1, float root2 ) i = 1; j = 0;

17、 while ( i = 10 ) 輸入一元二次方程的系數(shù)a, b, c;p = b*b 4*a*c;if ( p 0 ) 求出根并輸出;if ( p = 0 ) 求出重根并輸出; j = j + 1;i = i +1; 輸出重根的方程的個數(shù)j;【解答】(1)N-S圖i = 1; j = 0;while ( i = 10 )輸入a, b, c; 計算 p = b2 - 4ac; p 0 ?p = 0 ?求出重根并輸出; j = j + 1;i = i + 1;輸出重根的方程個數(shù)iTTTFFF(2)PAD圖i = 1; j = 0;輸出重根的方程個數(shù)iwhile ( i 0 ?p CA+CBB+

18、CA輸出ABC不能構(gòu)成三角形結(jié)束FFFTTT 路徑: 1 2 3 4 程序復(fù)雜度=3+1=4測試用例路徑測試用例(A,B,C)結(jié)果1A=3,B=4,C=5A=3,B=4,C=52A=5,B=8,C=2不能構(gòu)成三角形3A=2,B=2,C=5不能構(gòu)成三角形4A=5,B=2,C=2不能構(gòu)成三角形4、某航空公司規(guī)定,乘客可以免費托運重量不超過30kg的行李。當(dāng)行李重量超過30kg時,對頭等艙的國內(nèi)乘客超重部分每公斤收費4元,對其他艙的國內(nèi)乘客超重部分每公斤收費6元,對外國乘客超重部分每公斤收費比國內(nèi)乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。用判定樹表示與上述每種條件組合相對應(yīng)的計算行李

19、費的算法.答案:5、一個軟件公司有許多部門,分為開發(fā)部門和管理部門兩種,每個開發(fā)部門開發(fā)多個軟件產(chǎn)品,每個部門由部門名字唯一確定。該公司有許多員工,員工分為經(jīng)理,工作人員和開發(fā)人員。開發(fā)部門有經(jīng)理和開發(fā)人員,管理部門有經(jīng)理和工作人員。每個開發(fā)人員可參加多個開發(fā)項目,每個開發(fā)項目需要多個開發(fā)人員,每位經(jīng)理可主持多個開發(fā)項目,建立該公司的對象模型。答案:軟件公司部門名部門開發(fā)部門管理部門軟件產(chǎn)品開發(fā)人員經(jīng)理開發(fā)項目工作人員員工是是有有有有開發(fā)參加1+1+1+1+1+1+1+有2.復(fù)印機的工作過程大致如下:未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進入復(fù)印狀態(tài),完成一個復(fù)印命令規(guī)定的工作后又回

20、到閑置狀態(tài),等待下一個復(fù)印命令;如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令;如果復(fù)印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機的行為。3.根據(jù)下邊的程序流程圖,畫出相應(yīng)的N-S圖,并計算它的環(huán)形復(fù)雜度。FTSTARTPABQENDFT5.某報社采用面向?qū)ο蠹夹g(shù)實現(xiàn)報刊征訂的計算機管理系統(tǒng),該系統(tǒng)基本需求如下: (1)報社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價,份數(shù)等項目,訂戶通過填寫訂單來訂閱報刊。 (2)報社下屬多個發(fā)行站,每個站負(fù)責(zé)

21、收集登錄訂單、打印收款憑證等事務(wù)。 (3)報社負(fù)責(zé)分類并統(tǒng)計各個發(fā)行站送來的報刊訂閱信息。 請就此需求建立對象模型。(15分)6.在要建立的某庫房簡化的信息管理系統(tǒng)中,庫房管理員負(fù)責(zé): 1)當(dāng)新的貨物需要入庫時,根據(jù)入庫單(品名,編號,生產(chǎn)廠家,數(shù)量,單價,日期)錄入物品信息。2)當(dāng)接到出庫單(品名,編號,數(shù)量,日期)時,進行數(shù)量的修改。3)當(dāng)日結(jié)時,打印庫房商品庫存清單(品名,編號,庫存量,庫存金額)。 就以上系統(tǒng)功能畫出0層,1層的DFD圖。頂層DFD的數(shù)據(jù)詞典。入庫單=品名+編號+生產(chǎn)廠家+數(shù)量+單價+日期出庫單=品名+編號+數(shù)量+日期 庫存清單=品名+編號+庫存量+庫存余額年終庫存情況

22、表=品名+編號+庫存量+庫存金額簡答題1. 軟件工程的七條基本原理是什么?答: 軟件工程的七條基本原理是:(1) 用分階段的是的生存周期計劃嚴(yán)格管理 (2) 堅持進行階段評審;(3) 嚴(yán)格實施的產(chǎn)品控制 (4) 采用現(xiàn)代程序技術(shù) (5) 結(jié)果應(yīng)能清楚地審查;(6) 開發(fā)小組的成員應(yīng)該少而精 (7) 承認(rèn)不斷改進軟件工程的必要性。2. 良好的編碼風(fēng)格應(yīng)具備哪些條件?答:應(yīng)具備以下條件:(1)使用標(biāo)準(zhǔn)的控制結(jié)構(gòu) (2)有限制地使用GOTO語句(3)源程序的文檔化 (應(yīng)具備以下內(nèi)容)有意義的變量名稱 “ 匈牙利命名規(guī)則 ”適當(dāng)?shù)淖⑨?“ 注釋規(guī)范 ”標(biāo)準(zhǔn)的書寫格式:用分層縮進的寫法顯示嵌套結(jié)構(gòu)的層次

23、(鋸齒形風(fēng)格)在注釋段的周圍加上邊框在注釋段與程序段、以及不同程序段之間插入空行每行只寫一條語句書寫表達式時,適當(dāng)使用空格或圓括號等作隔離符(4)滿足運行工程學(xué)的輸入輸出風(fēng)格3. 簡述文檔在軟件工程中的作用答:(1)提高軟件開發(fā)過程的能見度(2) 提高開發(fā)效率(3) 作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志(4) 記錄開發(fā)過程的有關(guān)信息便于使用與維護(5) 提供軟件運行、維護和培訓(xùn)有關(guān)資料(6) 便于用戶了解軟件功能、性能9. 什么是模塊化?模塊設(shè)計的準(zhǔn)則? 模塊化是按規(guī)定的原則將一個大型軟件劃分為一個個較小的、相對獨立但又相關(guān)的模塊 模塊設(shè)計的準(zhǔn)則:(1) 改進軟件結(jié)構(gòu), 提高模塊獨立性:在對初步

24、模塊進行合并、分解和移動的分析、精化過程中力求提高模塊的內(nèi)聚,降低藕合(2) 模塊大小要適中:大約50行語句的代碼,過大的模塊應(yīng)分解以提高理解性和可維護性;過小的模塊,合并到上級模塊中(3) 軟件結(jié)構(gòu)圖的深度、寬度、扇入和扇出要適當(dāng)一般模塊的調(diào)用個數(shù)不要超過5個(4) 盡量降低模塊接口的復(fù)雜程度(5) 設(shè)計單入口、單出口的模塊(6) 模塊的作用域應(yīng)在控制域之內(nèi)10. 什么是模塊獨立性?用什么度量?答:模塊獨立性概括了把軟件劃分為模塊時要遵守的準(zhǔn)則,也是判斷模塊構(gòu)造是不是合理的標(biāo)準(zhǔn)。獨立性可以從兩個方面來度量:即模塊本身的內(nèi)聚和模塊之間的耦合。11. 變換型數(shù)據(jù)流由哪幾部分組成?變換型結(jié)構(gòu)由三部

25、分組成: 傳入路徑、變換(加工)中心 和 傳出路徑12. 變換分析設(shè)計的步驟?(1) 區(qū)分傳入、傳出和變換中心三部分,劃分DFD圖的分界線(2) 完成第一級分解:建立初始SC圖的框架(3) 完成第二級分解:分解SC圖的各個分支(4) 對初始結(jié)構(gòu)圖按照設(shè)計準(zhǔn)則進行精化與改進14. 事務(wù)分析設(shè)計的步驟?(1) 在DFD圖中確定事務(wù)中心、接收部分(包含全部接收路徑) 和 發(fā)送部分(包含全部動作路徑)(2) 畫出SC圖框架,把DFD圖的三部分,分別映射為事務(wù)控制模塊,接收模塊和動作發(fā)送模塊.一般得到SC圖的頂層和第一層(如果第一層簡單可以并入頂層)(3) 分解和細(xì)化接收分支和動作分支,完成初始的SC圖

26、(4) 對初始結(jié)構(gòu)圖按照設(shè)計準(zhǔn)則進行精化與改進15數(shù)據(jù)字典包括哪些內(nèi)容?數(shù)據(jù)字典是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合。它對數(shù)據(jù)流圖上每一個成分:數(shù)據(jù)項、文件(數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)流、數(shù)據(jù)存儲、加工和外部項等給以定義和說明;它主要由數(shù)據(jù)流描述、加工描述和文件描述三部分組成16給出一組數(shù)從小到大的排序算法,分別用下列工具描述其詳細(xì)過程:(1)流程圖;(2)N-S圖;(3) PDL語言17.欲開發(fā)一個銀行的活期存取款業(yè)務(wù)的處理系統(tǒng):儲戶將填好的存/取款單和存折交給銀行工作人員,然后由系統(tǒng)作以下處理(1)業(yè)務(wù)分類處理:系統(tǒng)首先根據(jù)儲戶所填的存/取款單,確定本次業(yè)務(wù)的性質(zhì),并將存/取款單和存折交下一步處理(2)

27、存款處理:系統(tǒng)將存款單上的存款金額分別記錄在存折和帳目文件中,并將現(xiàn)金存入現(xiàn)金庫;最后將存折還給儲戶(3)取款處理:系統(tǒng)將取款單上的取款金額分別記錄在存折和帳目文件中,并從現(xiàn)金庫提取現(xiàn)金;最后將現(xiàn)金和存折還給儲戶繪制該系統(tǒng)的數(shù)據(jù)流圖和軟件結(jié)構(gòu)圖26. 等價分類法的測試技術(shù)采用的一般方法 ? 舉例說明 ?(1)為每個等價類編號(2)設(shè)計一個新的測試方案,以盡可能多的覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步驟,直到所有有效等價類被覆蓋為止(3)設(shè)計一個新的測試方案,使它覆蓋一個尚未被覆蓋的無效等價類, 重復(fù)這一步驟,直到所有無效等價類被覆蓋為止(例略)27. 如圖顯示某程序的邏輯結(jié)構(gòu) 試為它設(shè)計足夠

28、的測試用例,分別實現(xiàn)對程序的判定覆概、條件覆概和條件組合覆概。NYN設(shè)計測試方案覆蓋種類需滿足的條件測試數(shù)據(jù)期望結(jié)果判定覆蓋A1,B=0A=2,B=0執(zhí)行S1A1,B0或A1,B=0或A1,B0A=2,B=1或A=1,B=0或A=1,B=1執(zhí)行S2條件覆蓋以下四種情況各出現(xiàn)一次A1B=0A=2,B=0執(zhí)行S1A1B0A=1,B=1執(zhí)行S2條件組合覆蓋A1,B=0A=2,B=0執(zhí)行S1A1,B0A=2,B=1執(zhí)行S2A1,B=0A=1,B=0執(zhí)行S2A1,B0A=1,B=1執(zhí)行S228. 某城市電話號碼由三部分組成。它們的名稱和內(nèi)容分別是: 地區(qū)碼:空白或三位數(shù)字 前 綴:非0或1的三位數(shù)字 后

29、 綴:4位數(shù)字 假定被測程序能接受一切符合上述規(guī)定的電話號碼,拒絕所有不符合規(guī)定的電話號碼。根據(jù)該程序的規(guī)格說明,作等價類的劃分,并設(shè)計測試方案。 劃分等價類輸入條件有效等價類無效等價類地區(qū)碼1.空白;2.三位數(shù);1. 有非數(shù)字字符;2.少于三位數(shù)字;3.多于三位數(shù)字。前 綴3.從200到999之間的三位4.有非數(shù)字字符;5.起始位為0;6.起始位為1; 7.少于三位數(shù)字;8.多于三位數(shù)字。后 綴4.四位數(shù)字。9.有非數(shù)字字符;10.少于四位數(shù)字;11.多于四位數(shù)字。設(shè)計測試方案方案內(nèi)容輸 入預(yù)期輸出地區(qū)碼前綴后綴1空白200999之間的三位數(shù)字四位數(shù)字( )276-2345有效2三位數(shù)字四位

30、數(shù)字(635)805-9321有效3有非數(shù)字字符(20A)723-4567無效4少于三位數(shù)字(33 )234-5678無效5多于三位數(shù)字(5555)345-6789無效6有非數(shù)字字符(345)5A2-3456無效7起始位為0(345)012-3456無效8起始位為1(345)132-3456無效9少于三位數(shù)字(345) 92-3456無效10多于三位數(shù)字(345)4562-3456無效11有非數(shù)字字符(345)342-3A56無效12少于四位數(shù)字(345)342- 356無效13多于四位數(shù)字(345)562-34567無效29.為什么說軟件的維護是不可避免的?因為軟件的開發(fā)過程中,一般很難檢測

31、到所有的錯誤,其次軟件在應(yīng)用過程中需要隨用戶新的要求或運行環(huán)境的變化而進行軟件的修改或完成功能的增刪等,為了提高軟件的應(yīng)用水平和使用壽命,軟件的維護是不可避免的。22.試由程序流程圖導(dǎo)出程序圖1入口2A1 F38B=0 T TX=X/A 4 FA=25 TX1 F96X=X+1 T 7出口 F(a)程序流程圖 (b)導(dǎo)出程序圖30. 軟件的維護一般分為哪幾類?完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能,以滿足用戶日益增長的需要而進行的工作 適應(yīng)性維護:是軟件適應(yīng)新的運行環(huán)境而進行的工作糾錯性維護:糾正開發(fā)期間未發(fā)現(xiàn)的遺留錯誤,即在程序使用期間發(fā)現(xiàn)的程序錯誤進行診斷和改正的過程預(yù)防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作31. 決定軟件可維護性的因素?(1) 軟件的可理解性、可測試性、可修改性;(2) 文檔描述符合要求、用戶文檔簡潔明確、系統(tǒng)文檔完整并且標(biāo)準(zhǔn)33. 說明結(jié)構(gòu)化程序設(shè)計的主要思想是什么? 答(1)自頂向下、逐步求精的程序設(shè)計方法(2)使用3種基本控制結(jié)構(gòu)、單入口、單出口來構(gòu)造程序 34、軟件測試的基本任務(wù)是什么?測試與糾錯有什么區(qū)別?答:軟件測試的基本任務(wù)是通過在計算機上執(zhí)行程序,暴露程序中潛在的錯誤。測試和糾錯目的和任務(wù)都不相同,測試是為了發(fā)現(xiàn)程序的錯誤,糾錯是為了定位

溫馨提示

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

評論

0/150

提交評論