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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jì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、運行維護(hù):保證軟件正常運行。2、軟件重用的效益是什么?答: 1、軟件重用可以顯著地改善軟件的質(zhì)量和可靠性。2、軟件重用可以極大地提高軟件開發(fā)的效率。3、節(jié)省軟件開發(fā)的成本,避免不必要的重復(fù)勞動和人力、財力的浪費。3、 自頂而下漸增測試與自底而上漸增測試各有何優(yōu)、缺點?答:自頂而下漸增測試優(yōu)點:不需

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

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

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

5、所需的資源和技術(shù)。36可行性報告的主要內(nèi)容有哪些? 解:一個可行性研究報告的主要內(nèi)容如下:(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術(shù)語和參考資料。(2)可行性研究前提:說明開發(fā)項目的功能、性能和基本要求;達(dá)到的目標(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)對用戶的影響;對各種設(shè)備、 現(xiàn)有軟件、

6、 開發(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ā),是否值得去開發(fā),其中的問題能否解決

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

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

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

12、軟件的規(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)境來進(jì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)對軟件的變更進(jìn)行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴(yán)格控制軟件的修改和變更。(6)對軟件質(zhì)量進(jìn)行度量。即對軟件質(zhì)量進(jìn)行跟蹤,及時記錄和報告軟件質(zhì)量情況。解析 軟件的質(zhì)量保證是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,是軟件工程管理中的重要內(nèi)容。40請使用pad圖和 pdl語言描述在數(shù)組a(1) a(10)中找最大數(shù)的算法。解: pdl語言:n=1 while n=10

14、do if a (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某電器集團(tuán)公司下屬的廠包括技術(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)計劃為以及

15、,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。(4)將產(chǎn)品的組裝計劃傳達(dá)到各科,將組裝月計劃分解為周計劃,下達(dá)給車間技術(shù)科的任務(wù)是:(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。(2)根據(jù)組裝計劃進(jìn)行產(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)

16、系,根據(jù)題意, 可繪制出生產(chǎn)科和技術(shù)科的軟件結(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, floa

17、t root2 ) i = 1;j = 0; 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 圖(2)pad 圖i = 1; j = 0; while ( i = 10 ) 輸入 a, b, c; 計算p = b2- 4ac; p 0 ? p = 0 ? 求出重根并輸出; j = j + 1; i = i + 1; 輸出重根的方程個數(shù)i t t t f f f 3、:輸

18、入三整數(shù) ,判斷是否構(gòu)成三角形,如構(gòu)成三角形,則輸出三條邊的值,否則輸出 ” 不能構(gòu)成三角形 ” . 要求 :1.用程序流程圖表示該問題的算法;2.計算程序復(fù)雜度;3.設(shè)計路徑覆蓋的測試用例。答:路徑: 1 2i = 1; j = 0; 輸出重根的方程個數(shù)i while ( i 0 ? p c a+cb b+ca 輸出 abc 不能構(gòu)成三角形結(jié)束f f f t t t 3 4程序復(fù)雜度 =3+1=4 測試用例路徑測試用例( a,b, c )結(jié)果1 a=3,b=4,c=5 a=3,b=4,c=5 2 a=5,b=8,c=2 不能構(gòu)成三角形3 a=2,b=2,c=5 不能構(gòu)成三角形4 a=5,b=

19、2,c=2 不能構(gòu)成三角形4、某航空公司規(guī)定,乘客可以免費托運重量不超過30kg 的行李。 當(dāng)行李重量超過30kg 時,對頭等艙的國內(nèi)乘客超重部分每公斤收費4 元,對其他艙的國內(nèi)乘客超重部分每公斤收費6元,對外國乘客超重部分每公斤收費比國內(nèi)乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。用判定樹表示與上述每種條件組合相對應(yīng)的計算行李費的算法. 答案 :5、一個軟件公司有許多部門,分為開發(fā)部門和管理部門兩種,每個開發(fā)部門開發(fā)多個軟件產(chǎn)品,每個部門由部門名字唯一確定。該公司有許多員工,員工分為經(jīng)理,工作人員和開發(fā)人員。開發(fā)部門有經(jīng)理和開發(fā)人員,管理部門有經(jīng)理和工作人員。每個開發(fā)人員可參加

20、多個開發(fā)項目,每個開發(fā)項目需要多個開發(fā)人員,每位經(jīng)理可主持多個開發(fā)項目,建立該公司的對象模型。答案:軟件公司部門名部門開發(fā)部門管理部門軟件產(chǎn)品開發(fā)人員經(jīng)理工作人員員工有有有有開發(fā)1+ 1+ 1+ 1+ 有2. 復(fù)印機的工作過程大致如下: 未接到復(fù)印命令時處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài), 完成一個復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復(fù)印命令; 如果執(zhí)行復(fù)印命令時發(fā)現(xiàn)沒紙,則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn)備接收復(fù)印命令; 如果復(fù)印時發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài), 發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機的行

21、為。3. 根據(jù)下邊的程序流程圖,畫出相應(yīng)的n-s圖,并計算它的環(huán)形復(fù)雜度。f t start p a b q end f t 5. 某報社采用面向?qū)ο蠹夹g(shù)實現(xiàn)報刊征訂的計算機管理系統(tǒng),該系統(tǒng)基本需求如下:(1)報社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價,份數(shù)等項目,訂戶通過填寫訂單來訂閱報刊。(2)報社下屬多個發(fā)行站,每個站負(fù)責(zé)收集登錄訂單、打印收款憑證等事務(wù)。(3)報社負(fù)責(zé)分類并統(tǒng)計各個發(fā)行站送來的報刊訂閱信息。請就此需求建立對象模型。 (15 分)6. 在要建立的某庫房簡化的信息管理系統(tǒng)中,庫房管理員負(fù)責(zé):1)當(dāng)新的貨物需要入庫時, 根據(jù)入庫單(品名,編號,生

22、產(chǎn)廠家,數(shù)量,單價,日期)錄入物品信息。2)當(dāng)接到出庫單(品名,編號,數(shù)量,日期)時,進(jìn)行數(shù)量的修改。3)當(dāng)日結(jié)時,打印庫房商品庫存清單(品名,編號,庫存量,庫存金額) 。就以上系統(tǒng)功能畫出 0層,1層的dfd 圖。頂層 dfd 的數(shù)據(jù)詞典。入庫單 =品名 +編號 +生產(chǎn)廠家 +數(shù)量 +單價 +日期出庫單 =品名 +編號 +數(shù)量 +日期庫存清單 =品名 +編號 +庫存量 +庫存余額年終庫存情況表=品名 +編號 +庫存量 +庫存金額簡答題1. 軟件工程的七條基本原理是什么?答: 軟件工程的七條基本原理是:(1) 用分階段的是的生存周期計劃嚴(yán)格管理(2) 堅持進(jìn)行階段評審;(3) 嚴(yán)格實施的產(chǎn)品控

23、制(4) 采用現(xiàn)代程序技術(shù)(5) 結(jié)果應(yīng)能清楚地審查;(6) 開發(fā)小組的成員應(yīng)該少而精(7) 承認(rèn)不斷改進(jì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)的書寫格式: 用分層縮進(jìn)的寫法顯示嵌套結(jié)構(gòu)的層次(鋸齒形風(fēng)格) 在注釋段的周圍加上邊框 在注釋段與程序段、以及不同程序段之間插入空行 每行只寫一條語句 書寫表達(dá)式時,適當(dāng)使用空格或圓括號等作隔離符(4)滿足運行工程學(xué)的輸入輸出風(fēng)格3. 簡述文檔在軟件工程中的作用

24、答:(1) 提高軟件開發(fā)過程的能見度(2) 提高開發(fā)效率(3) 作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志(4) 記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù)(5) 提供軟件運行、維護(hù)和培訓(xùn)有關(guān)資料(6) 便于用戶了解軟件功能、性能9. 什么是模塊化?模塊設(shè)計的準(zhǔn)則?模塊化是按規(guī)定的原則將一個大型軟件劃分為一個個較小的、相對獨立但又相關(guān)的模塊模塊設(shè)計的準(zhǔn)則:(1) 改進(jìn)軟件結(jié)構(gòu) , 提高模塊獨立性: 在對初步模塊進(jìn)行合并、分解和移動的分析、精化過程中力求提高模塊的內(nèi)聚,降低藕合(2) 模塊大小要適中: 大約 50 行語句的代碼, 過大的模塊應(yīng)分解以提高理解性和可維護(hù)性; 過小的模塊 , 合并到上級模塊中(3)

25、 軟件結(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)由三部分組成: 傳入路徑、變換( 加工 ) 中心和 傳出路徑12. 變換分析設(shè)計的步驟?(1) 區(qū)分傳入、傳出和變換中心三部分,劃分dfd圖的分界線(2) 完成第一級分解: 建立初始 sc圖的框

26、架(3) 完成第二級分解: 分解 sc圖的各個分支(4) 對初始結(jié)構(gòu)圖按照設(shè)計準(zhǔn)則進(jìn)行精化與改進(jìn)14. 事務(wù)分析設(shè)計的步驟?(1) 在 dfd圖中確定事務(wù)中心、接收部分( 包含全部接收路徑) 和 發(fā)送部分 ( 包含全部動作路徑 ) (2) 畫出 sc圖框架 , 把 dfd圖的三部分, 分別映射 為事務(wù)控制模塊, 接收模塊和動作發(fā)送模塊 . 一般得到sc圖的頂層和第一層( 如果第一層簡單可以并入頂層) (3) 分解和細(xì)化接收分支和動作分支, 完成初始的sc圖(4) 對初始結(jié)構(gòu)圖按照設(shè)計準(zhǔn)則進(jìn)行精化與改進(jìn)15數(shù)據(jù)字典包括哪些內(nèi)容? 數(shù)據(jù)字典是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合。它對數(shù)據(jù)流圖上每一個成分

27、:數(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)存款處理:系統(tǒng)將存款單上的存款金額分別記錄在存折和帳目文件中,并將現(xiàn)金存入現(xiàn)金庫;最后將存折還給儲戶(3)取款處理:系統(tǒng)將取款

28、單上的取款金額分別記錄在存折和帳目文件中,并從現(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è)計足夠的測試用例,分別實現(xiàn)對程序的判定覆概、條件覆概和條件組合覆概。設(shè)計測試方案覆蓋種類需滿足的條件測試數(shù)據(jù)期望

29、結(jié)果判定覆蓋a1,b=0 a=2,b=0 執(zhí)行 s1 a1,b 0 或a 1,b=0 或a 1,b0 a=2,b=1 或a=1,b=0 或a=1,b=1 執(zhí)行 s2 條件覆蓋以下四種情況各出現(xiàn)一次a1 b=0 a=2, b=0 執(zhí)行 s1 a 1 b 0 a=1, b=1 執(zhí)行 s2 條件組合覆蓋a1,b=0 a=2,b=0 執(zhí)行 s1 a1,b 0 a=2,b=1 執(zhí)行 s2 a 1,b=0 a=1,b=0 執(zhí)行 s2 a 1,b0 a=1,b=1 執(zhí)行 s2 28. 某城市電話號碼由三部分組成。它們的名稱和內(nèi)容分別是:地區(qū)碼:空白或三位數(shù)字前綴:非 0或 1的三位數(shù)字后綴: 4 位數(shù)字假定

30、被測程序能接受一切符合上述規(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è)計測試方案yn n 方案內(nèi)容輸入預(yù)期輸出地區(qū)碼前綴后綴1 空白200999 之間的三位數(shù)字四位數(shù)字( )276-

31、2345 有效2 三位數(shù)字四位數(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-3456

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

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論