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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

11、按時(shí)完成,開發(fā)時(shí)間一再拖延。(2) 開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對(duì)用戶的要求了解不夠明確,未能得到明確的表達(dá)。 開發(fā)工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)解決,導(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)不好,運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。(4) 開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測(cè)試時(shí),又沒有嚴(yán)格的、充分的、完全的測(cè)試,提交給用戶的

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

13、、文檔評(píng)審、設(shè)計(jì)評(píng)審、審計(jì)和測(cè)試等具體手段來保證質(zhì)量。(3) 加強(qiáng)軟件測(cè)試。軟件測(cè)試是質(zhì)量保證的重要手段,因?yàn)闇y(cè)試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。(4) 推行軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹執(zhí)行。(5) 對(duì)軟件的變更進(jìn)行控制。軟件的修改和變更常常會(huì)引起潛伏的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改和變更。(6) 對(duì)軟件質(zhì)量進(jìn)行度量。即對(duì)軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和報(bào)告軟件質(zhì)量情況。 解析 軟件的質(zhì)量保證是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動(dòng),是軟件工程管理中的重要內(nèi)容。40. 請(qǐng)使用pad圖和 pdl語(yǔ)言描

14、述在數(shù)組a( 1) a( 10)中找最大數(shù)的算法。解: pdl語(yǔ)言:n=1while n<=10 doif a ( n) <=a( n+1) max =a( n+1); else max =a( n) endif;n=n+1; endwhile;pad圖: 解析 人工查找時(shí), 是從第一個(gè)元素開始查找,用當(dāng)前元素與下一個(gè)元素比較,將較大者作為當(dāng)前元素又與下一元素比較,如此循環(huán),直到數(shù)組末尾。四、應(yīng)用題(每題8 分,共 40 分)42. 某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位。現(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:生產(chǎn)科的任務(wù)是:(1) 根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)

15、品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。(2) 根據(jù)車間實(shí)際生產(chǎn)日?qǐng)?bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間技術(shù)科的任務(wù)是:(1) 根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科, 產(chǎn)生外購(gòu)需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。(2) 根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解:畫出生產(chǎn)科圖的給 6 分,畫出技術(shù)科的給 4 分。 解析 軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊

16、層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來程序的控制層次體系, 軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示, 其主要內(nèi)容有模塊及模塊的控制關(guān)系, 根據(jù)題意, 可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖, 其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為 4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為 3。1、 假設(shè)一家工廠的采購(gòu)部每天需要一張定貨報(bào)表,報(bào)表按零件編號(hào)排序,表中列出所有需要再次定貨的零件。對(duì)于每個(gè)需要再次定貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號(hào),零件名稱,定貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件入庫(kù)或出庫(kù)稱為事務(wù),通過放在倉(cāng)庫(kù)中的crt 終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫(kù)存數(shù)量少于庫(kù)存量臨界值時(shí)就應(yīng)該再次定

17、貨。要求:畫出系統(tǒng)的數(shù)據(jù)流圖。答:2、 將下面給出的偽碼轉(zhuǎn)換為n-s 圖和 pad 圖。void root ( float root1, float root2 ) i = 1 ;j = 0 ;while ( i <= 10 ) 輸入一元二次方程的系數(shù)a, b, c; p = b*b 4*a*c ;if ( p < 0 )輸出“方程i 無實(shí)數(shù)根” ;else if ( p > 0 ) 求出根并輸出; if ( p = 0 ) 求出重根并輸出; j = j + 1 ;i = i +1 ;輸出重根的方程的個(gè)數(shù)j ;【解答】(1) ) n-s 圖i = 1; j = 0;while

18、 ( i <= 10 )輸 入 a, b, c; 計(jì)算p = b2 - 4ac;fp < 0 ?t輸出“方程i”fp > 0 ?t求出根并輸出fp =0 ?t(2) ) pad 圖求出重根并輸出; j = j + 1; i = i + 1;輸出重根的方程個(gè)數(shù)ii = 1; j = 0;輸入 a,b,c; 計(jì)算p = b 24ac;while ( i <= 10 )p < 0 ?p > 0 ?求出根并輸出輸出方程i 無實(shí)根p = 0 ?求出重根并輸出; j = j+1;輸出重根的方程個(gè)數(shù)ii = i + 1;3、: 輸入三整數(shù) ,判斷是否構(gòu)成三角形,如構(gòu)成三角

19、形,則輸出三條邊的值,否則輸出 ”不能構(gòu)成三角形 ”.要求:1. 用程序流程圖表示該問題的算法;2.計(jì)算程序復(fù)雜度;3.設(shè)計(jì)路徑覆蓋的測(cè)試用例。答:開始輸入 a,b,cfa+b>ctfa+c>btfb+c>at輸出 abc不能構(gòu)成三角形結(jié)束路徑:1234程序復(fù)雜度 =3+1=4測(cè)試用例路徑測(cè)試用例( a, b, c)結(jié)果1a=3,b=4,c=5a=3,b=4,c=52 a=5,b=8,c=2不能構(gòu)成三角形3 a=2,b=2,c=5不能構(gòu)成三角形4 a=5,b=2,c=2不能構(gòu)成三角形4、某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過30kg 的行李。 當(dāng)行李重量超過30kg 時(shí),

20、 對(duì)頭等艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)4 元,對(duì)其他艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)外國(guó)乘客超重部分每公斤收費(fèi)比國(guó)內(nèi)乘客多一倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。用判定樹表示與上述每種條件組合相對(duì)應(yīng)的計(jì)算行李費(fèi)的算法.答案 :5、一個(gè)軟件公司有許多部門,分為開發(fā)部門和管理部門兩種,每個(gè)開發(fā)部門開發(fā)多個(gè)軟件產(chǎn)品,每個(gè)部門由部門名字唯一確定。該公司有許多員工,員工分為經(jīng)理,工作人員和開發(fā)人員。開發(fā)部門有經(jīng)理和開發(fā)人員,管理部門有經(jīng)理和工作人員。每個(gè)開發(fā)人員可參加多個(gè)開發(fā)項(xiàng)目,每個(gè)開發(fā)項(xiàng)目需要多個(gè)開發(fā)人員,每位經(jīng)理可主持多個(gè)開發(fā)項(xiàng)目,建立該公司的對(duì)象模型。答案:軟件公司部門名有有1

21、+部門1+軟件產(chǎn)品開發(fā)1+開發(fā)部門管理部門員工有有1+有開發(fā)人員經(jīng)理工作人員2. 復(fù)印機(jī)的工作過程大致如下: 未接到復(fù)印命令時(shí)處于閑置狀態(tài),一旦接到復(fù)印命令則進(jìn)入復(fù)印狀態(tài), 完成一個(gè)復(fù)印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個(gè)復(fù)印命令; 如果執(zhí)行復(fù)印命令時(shí)發(fā)現(xiàn)沒紙, 則進(jìn)入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進(jìn)入閑置狀態(tài),準(zhǔn) 備接收復(fù)印命令; 如果復(fù)印時(shí)發(fā)生卡紙故障,則進(jìn)入卡紙狀態(tài), 發(fā)出警告等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請(qǐng)用狀態(tài)轉(zhuǎn)換圖描繪復(fù)印機(jī)的行為。3. 根據(jù)下邊的程序流程圖,畫出相應(yīng)的n-s圖,并計(jì)算它的環(huán)形復(fù)雜度。startfptaendbfqt5. 某報(bào)社采用面

22、向?qū)ο蠹夹g(shù)實(shí)現(xiàn)報(bào)刊征訂的計(jì)算機(jī)管理系統(tǒng),該系統(tǒng)基本需求如下:(1) 報(bào)社發(fā)行多種刊物,每種刊物通過訂單來征訂,訂單中有代碼,名稱,訂期,單價(jià),份數(shù)等項(xiàng)目,訂戶通過填寫訂單來訂閱報(bào)刊。(2) 報(bào)社下屬多個(gè)發(fā)行站,每個(gè)站負(fù)責(zé)收集登錄訂單、打印收款憑證等事務(wù)。(3) 報(bào)社負(fù)責(zé)分類并統(tǒng)計(jì)各個(gè)發(fā)行站送來的報(bào)刊訂閱信息。請(qǐng)就此需求建立對(duì)象模型。 ( 15 分)6. 在要建立的某庫(kù)房簡(jiǎn)化的信息管理系統(tǒng)中,庫(kù)房管理員負(fù)責(zé):1)當(dāng)新的貨物需要入庫(kù)時(shí), 根據(jù)入庫(kù)單(品名, 編號(hào),生產(chǎn)廠家,數(shù)量,單價(jià),日期)錄入物品信息。2)當(dāng)接到出庫(kù)單(品名,編號(hào),數(shù)量,日期)時(shí),進(jìn)行數(shù)量的修改。3)當(dāng)日結(jié)時(shí),打印庫(kù)房商品庫(kù)存清

23、單(品名,編號(hào),庫(kù)存量,庫(kù)存金額)。就以上系統(tǒng)功能畫出 0層, 1層的dfd圖。頂層 dfd 的數(shù)據(jù)詞典。入庫(kù)單 =品名 +編號(hào) +生產(chǎn)廠家 +數(shù)量 +單價(jià) +日期出庫(kù)單 =品名 +編號(hào) +數(shù)量 +日期庫(kù)存清單 =品名 +編號(hào) +庫(kù)存量 +庫(kù)存余額年終庫(kù)存情況表=品名+編號(hào) +庫(kù)存量 +庫(kù)存金額簡(jiǎn)答題1. 軟件工程的七條基本原理是什么? 答: 軟件工程的七條基本原理是:(1) 用分階段的是的生存周期計(jì)劃嚴(yán)格管理(2) 堅(jiān)持進(jìn)行階段評(píng)審;(3) 嚴(yán)格實(shí)施的產(chǎn)品控制(4) 采用現(xiàn)代程序技術(shù)(5) 結(jié)果應(yīng)能清楚地審查;(6) 開發(fā)小組的成員應(yīng)該少而精(7) 承認(rèn)不斷改進(jìn)軟件工程的必要性。2. 良好的

24、編碼風(fēng)格應(yīng)具備哪些條件? 答: 應(yīng)具備以下條件:(1)使用標(biāo)準(zhǔn)的控制結(jié)構(gòu)(2)有限制地使用goto 語(yǔ)句(3) 源程序的文檔化(應(yīng)具備以下內(nèi)容)有意義的變量名稱 “匈牙利命名規(guī)則”適當(dāng)?shù)淖⑨尅?注釋規(guī)范”標(biāo)準(zhǔn)的書寫格式: 用分層縮進(jìn)的寫法顯示嵌套結(jié)構(gòu)的層次(鋸齒形風(fēng)格) 在注釋段的周圍加上邊框 在注釋段與程序段、以及不同程序段之間插入空行 每行只寫一條語(yǔ)句 書寫表達(dá)式時(shí),適當(dāng)使用空格或圓括號(hào)等作隔離符(4) 滿足運(yùn)行工程學(xué)的輸入輸出風(fēng)格3. 簡(jiǎn)述文檔在軟件工程中的作用答: (1) 提高軟件開發(fā)過程的能見度(2) 提高開發(fā)效率(3) 作為開發(fā)人員階段工作成果和結(jié)束標(biāo)志(4) 記錄開發(fā)過程的有關(guān)信

25、息便于使用與維護(hù)(5) 提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料(6) 便于用戶了解軟件功能、性能9. 什么是模塊化?模塊設(shè)計(jì)的準(zhǔn)則?模塊化是按規(guī)定的原則將一個(gè)大型軟件劃分為一個(gè)個(gè)較小的、相對(duì)獨(dú)立但又相關(guān)的模塊模塊設(shè)計(jì)的準(zhǔn)則:(1) 改進(jìn)軟件結(jié)構(gòu) ,提高模塊獨(dú)立性: 在對(duì)初步模塊進(jìn)行合并、分解和移動(dòng)的分析、精化過程中力求提高模塊的內(nèi)聚,降低藕合(2) 模塊大小要適中: 大約 50 行語(yǔ)句的代碼, 過大的模塊應(yīng)分解以提高理解性和可維護(hù)性; 過小的模塊 , 合并到上級(jí)模塊中(3) 軟件結(jié)構(gòu)圖的深度、寬度、扇入和扇出要適當(dāng)一般模塊的調(diào)用個(gè)數(shù)不要超過5 個(gè)(4) 盡量降低模塊接口的復(fù)雜程度(5) 設(shè)計(jì)單入口、

26、單出口的模塊(6) 模塊的作用域應(yīng)在控制域之內(nèi)10. 什么是模塊獨(dú)立性?用什么度量?答:模塊獨(dú)立性概括了把軟件劃分為模塊時(shí)要遵守的準(zhǔn)則,也是判斷模塊構(gòu)造是不是合理的標(biāo)準(zhǔn)。獨(dú)立性可以從兩個(gè)方面來度量:即模塊本身的內(nèi)聚和模塊之間的耦合。11. 變換型數(shù)據(jù)流由哪幾部分組成?變換型結(jié)構(gòu)由三部分組成:傳入路徑、變換( 加工 ) 中心和 傳出路徑12. 變換分析設(shè)計(jì)的步驟?(1) 區(qū)分傳入、傳出和變換中心三部分,劃分dfd圖的分界線(2) 完成第一級(jí)分解: 建立初始 sc圖的框架(3) 完成第二級(jí)分解: 分解 sc圖的各個(gè)分支(4) 對(duì)初始結(jié)構(gòu)圖按照設(shè)計(jì)準(zhǔn)則進(jìn)行精化與改進(jìn)14. 事務(wù)分析設(shè)計(jì)的步驟?(1)

27、 在 dfd圖中確定事務(wù)中心、接收部分( 包含全部接收路徑)和 發(fā)送部分 ( 包含全部動(dòng)作路徑 )(2) 畫出 sc圖框架 , 把 dfd圖的三部分, 分別映射 " 為事務(wù)控制模塊, 接收模塊和動(dòng)作發(fā)送模塊 . 一般得到sc圖的頂層和第一層( 如果第一層簡(jiǎn)單可以并入頂層)(3) 分解和細(xì)化接收分支和動(dòng)作分支, 完成初始的sc圖(4) 對(duì)初始結(jié)構(gòu)圖按照設(shè)計(jì)準(zhǔn)則進(jìn)行精化與改進(jìn)15. 數(shù)據(jù)字典包括哪些內(nèi)容?數(shù)據(jù)字典是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合。它對(duì)數(shù)據(jù)流圖上每一個(gè)成分:數(shù)據(jù)項(xiàng)、文件 (數(shù)據(jù)結(jié)構(gòu) )、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工和外部項(xiàng)等給以定義和說明;它主要由數(shù)據(jù)流描述、加工描述和文件描述三

28、部分組成 16給出一組數(shù)從小到大的排序算法,分別用下列工具描述其詳細(xì)過程:(1) 流程圖; (2)n-s 圖; (3) pdl 語(yǔ)言17. 欲開發(fā)一個(gè)銀行的活期存取款業(yè)務(wù)的處理系統(tǒng):儲(chǔ)戶將填好的存/取款單和存折交給銀行工作人員,然后由系統(tǒng)作以下處理(1) 業(yè)務(wù)分類處理:系統(tǒng)首先根據(jù)儲(chǔ)戶所填的存/取款單,確定本次業(yè)務(wù)的性質(zhì),并將存/取款單和存折交下一步處理(2) 存款處理:系統(tǒng)將存款單上的存款金額分別記錄在存折和帳目文件中,并將現(xiàn)金存入現(xiàn)金庫(kù);最后將存折還給儲(chǔ)戶(3) 取款處理:系統(tǒng)將取款單上的取款金額分別記錄在存折和帳目文件中,并從現(xiàn)金庫(kù)提取現(xiàn)金;最后將現(xiàn)金和存折還給儲(chǔ)戶繪制該系統(tǒng)的數(shù)據(jù)流圖和

29、軟件結(jié)構(gòu)圖26. 等價(jià)分類法的測(cè)試技術(shù)采用的一般方法?舉例說明?(1) 為每個(gè)等價(jià)類編號(hào)(2) 設(shè)計(jì)一個(gè)新的測(cè)試方案, 以盡可能多的覆蓋尚未被覆蓋的有效等價(jià)類, 重復(fù)這一步驟, 直到所有有效等價(jià)類被覆蓋為止(3) 設(shè)計(jì)一個(gè)新的測(cè)試方案, 使它覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步驟,直到所有無效等價(jià)類被覆蓋為止( 例略 )27. 如圖顯示某程序的邏輯結(jié)構(gòu)試為它設(shè)計(jì)足夠的測(cè)試用例,分別實(shí)現(xiàn)對(duì)程序的判定覆概、條件覆概和條件組合覆概。nyn設(shè)計(jì)測(cè)試方案覆蓋種類需滿足的條件測(cè)試數(shù)據(jù)期望結(jié)果a>1,b=0a=2,b=0執(zhí)行 s1判定覆蓋a>1,b0 或a=2,b=1 或a 1,b=0 或

30、a=1,b=0 或執(zhí)行 s2a 1,b0以下四種情況各出現(xiàn)一次a=1,b=1條件覆蓋a>1b=0a=2, b=0執(zhí)行s1a 1b 0a=1, b=1執(zhí)行s2a>1,b=0a=2,b=0執(zhí)行s1條件組合a>1,b0a=2,b=1執(zhí)行s2覆蓋a 1,b=0a=1,b=0執(zhí)行s2a 1,b0a=1,b=1執(zhí)行s228. 某城市電話號(hào)碼由三部分組成。它們的名稱和內(nèi)容分別是: 地區(qū)碼:空白或三位數(shù)字前綴:非 0或 1的三位數(shù)字后綴: 4 位數(shù)字假定被測(cè)程序能接受一切符合上述規(guī)定的電話號(hào)碼,拒絕所有不符合規(guī)定的電話號(hào)碼。根據(jù)該程序的規(guī)格說明,作等價(jià)類的劃分,并設(shè)計(jì)測(cè)試方案。劃分等價(jià)類輸入

31、條件有效等價(jià)類無效等價(jià)類地區(qū)碼1. 空白;2. 三位數(shù);1.有非數(shù)字字符;2. 少于三位數(shù)字;3. 多于三位數(shù)字。前綴3. 從 200 到位999 之間的三4. 有非數(shù)字字符;6. 起始位為 1;5. 起始位為 0;7.少于三位數(shù)字;后綴4. 四位數(shù)字。8. 多于三位數(shù)字。9. 有非數(shù)字字符;10. 少于四位數(shù)字;11. 多于四位數(shù)字。設(shè)計(jì)測(cè)試方案方案地區(qū)碼內(nèi)容前綴后綴輸入預(yù)期輸出1空白200 999 之間四位數(shù)字()276-2345有效2三位數(shù)字的三位數(shù)字四位數(shù)字(635)805-9321有效3有非數(shù)字字符(20a)723-4567無效4少于三位數(shù)字(33 )234-5678無效5多于三位數(shù)

32、字(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. 為什么說軟件的維護(hù)是不可避免的?因?yàn)檐浖拈_發(fā)過程中,一般很難檢測(cè)到所有的錯(cuò)誤,其次軟件在應(yīng)用過程中需要隨用戶新的要求或運(yùn)行環(huán)境的變化而進(jìn)行軟件的修改或完成功能的增刪等,為了提高軟件的應(yīng)用水平和

33、使用壽命,軟件的維護(hù)是不可避免的。22. 試由程序流程圖導(dǎo)出程序圖入口1fa>12ttb=0fta=2ftx>13x=x/a845x=x+169f出口7(a)程序流程圖( b)導(dǎo)出程序圖30. 軟件的維護(hù)一般分為哪幾類?完善性維護(hù): 滿足用戶在使用過程中提出增加新的功能或修改已有功能,以滿足用戶日益增長(zhǎng)的需要而進(jìn)行的工作適應(yīng)性維護(hù):是軟件適應(yīng)新的運(yùn)行環(huán)境而進(jìn)行的工作糾錯(cuò)性維護(hù): 糾正開發(fā)期間未發(fā)現(xiàn)的遺留錯(cuò)誤,即在程序使用期間發(fā)現(xiàn)的程序錯(cuò)誤進(jìn)行診斷和改正的過程預(yù)防性維護(hù):為了改善未來的可維護(hù)性或可靠性而修改軟件的工作31. 決定軟件可維護(hù)性的因素?(1) 軟件的可理解性、可測(cè)試性、可修改性;(2) 文檔描述符合要求、用戶文檔簡(jiǎn)潔明確、系統(tǒng)文檔完整并且標(biāo)準(zhǔn)33. 說明結(jié)構(gòu)化程序設(shè)計(jì)的主要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論