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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程考試題(含答案)軟件工程考試簡答J1、什么叫軟件?軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程 序,數據及其相關文檔的完整集合2、什么叫軟件危機?軟件危機包含哪兩點?軟件危機產生的原因是什么?軟件危機是指在計算機軟件開發(fā)與維護過程中所遇到的一系 列嚴重問題。包括兩點:(1)如何開發(fā)軟件,以滿足對軟件日益增長的需求;(2)如何維護數量不斷膨脹的已有軟件。軟件開發(fā)和維護過程中存在的許多嚴重問題,一方面與軟件本 身的特點有關,另一方面也和軟件開發(fā)與維護的方法不正確有 關。具體表現如下:(1)軟件是邏輯部件而不是物理部件。(2)軟件的規(guī)模越來越大,復雜性越來越大。(3)輕視需求分析的

2、重要性,輕視軟件維護的錯誤觀點和方法。3、什么叫軟件工程?1968年在第一屆NATO會議上的早期定義:“建立并使用完 善的工程化原則,以較經濟的手段獲得能在實際機器上有效運 行的可靠軟件的一系列方法”。1993年IEEE的定義:“軟件工程是:把系統(tǒng)的、規(guī)范的、 可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工 程應用于軟件;進而研究實現的途徑”。我們國家最近定義:軟件工程是指導計算機軟件開發(fā)和維護的 工程學科。它采用工程的概念、原理、技術和方法來開發(fā)與維 護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得 到的最好的技術方法結合起來。4、兩種軟件工程方法學開發(fā)軟件時要建立哪些模型?軟

3、件工程方法學包括:傳統(tǒng)方法學和面向對象方法學。常用的 開發(fā)模型有: 瀑布模型(需求穩(wěn)定,而且可以預先指定) 原型模型(需求模糊或者隨時間變化) 增量模型(分析員先作出需求分析和概要設計,用戶參與逐步 完善)螺旋模型(將瀑布模型與原型化模型結合起來,并加入了風險分 析)噴泉模型(使開發(fā)過程具有迭代性和無間隙性)5、軟件過程模型有哪些?簡述它們的特點。過程模型分為五大類:1.管理過程模型。2.瀑布模型(又稱為 生命周期模型)。3.增量過程模型:包括增量模型.RAD模型。4.煙花過程模型:包括原型開發(fā)模型,螺旋模型,協同開發(fā)模型。5.專用過程模型:包括機遇構建的開發(fā)模型,形式化方法 模型,面向方面的

4、軟件開發(fā)模型。6、什么是軟件生命周期?一個軟件從定義,開發(fā),使用和維護,直到最終被廢棄,要經 歷一個漫長的時期,通常把軟件經歷的這個漫長時期稱為生命 周期7、軟件生命周期有哪幾個階段和步驟?三個階段:定義、開發(fā)、維護八個步驟:問題定義、可行性研究、希求分析;總體設計、詳細設計、編碼與單元測試、綜合測試;運行維護。8、計算機軟件的開發(fā)經過哪三個大階段?三個階段:定義、開發(fā)、維護 定義階段:問題定義-任務:關于規(guī)模和目標的報告書;可行 性研究-任務:系統(tǒng)的高層邏輯模型:數據流圖,成本/效益分 析;需求分析任務:系統(tǒng)的邏輯模型:數據流圖,數據字典, 算法描述。9、軟件開發(fā)的各階段的任務是什么?開發(fā)階

5、段:總體設計任務:系統(tǒng)流程圖,成本/效益分析,推 薦的系統(tǒng)結構:層次圖/結構圖;詳細設計-任務:HIPO圖或PDL圖;編碼和單元測試-任務:源程序清單,單元測試方案和結果;綜合測試-任務:綜合測試方案,結果集成測試,驗 收測試,完整一致的軟件配置。維護階段:軟件維護-任務:維護記錄以及改正性維護,適應 性維護,完整性維護和預防性維護10、軟件設計分哪兩個階段?總體設計的兩個階段分別是什 么?分為總體設計和詳細設計兩個階段。11、總體設計包括系統(tǒng)設計(劃分出組成系統(tǒng)的程序、文件、數據庫、人工過程和文檔等物理元素) 和結構設計(確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互間的關系,不涉及

6、模塊 內部算法流程)12、軟件與硬件的區(qū)別是什么?軟件是一種邏輯部件,而不是具體的物理部件。軟件在開發(fā)、生產、使用、維護等方面與硬件相比有明顯差異。軟件是開發(fā),硬件是制造軟件是自定的,硬件是組裝的軟件不會磨損,硬件存在機械磨損問題13、軟件需求分析的任務是什么?需求分析的任務是確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、 分析的任務包括下述幾方面:具體的要求。一般說來,需求1 .確定對系統(tǒng)的綜合要求(主要有:功能需求、性能需求、 運行需求、將來可能提出的需求。)2 .分析系統(tǒng)的數據要求3 .導出系統(tǒng)的邏輯模型:數據流圖、實體聯系圖、狀態(tài)轉換圖、 數據字典、算法流程等4 .修

7、正系統(tǒng)開發(fā)計劃14、瀑布模型與原型模型分別適用于開發(fā)哪些軟件?瀑布模型與原型模型分別適用于開發(fā)哪些軟件瀑布模型適合 于需求穩(wěn)定,而且可以預先指定的大型系統(tǒng)工程項目。原型模型適合于需求模糊或者隨時間變化的中小型項目15、數據流圖的作用是什么?如何畫數據流圖簡稱DFD(Data Flow Diagram)圖,它是以特定的圖 形符號描述系統(tǒng)邏輯模型的工數據流圖具;它從數據傳送 和加工的角度抽象的描述信息在系統(tǒng)中的流動和數據處理的 過程;它是開發(fā)人員與用戶之間交流信息的通信工具;它也 是系統(tǒng)分析與系統(tǒng)設計的工具。數據流圖畫法總結1 .先找出數據源點和匯點。它們是外部實體,由它們確定系統(tǒng) 與外界的接口。

8、2 .找出外部實體的輸出數據流與輸入數據流。畫出頂層數據流 圖。3 .從頂層加工出發(fā),逐步細化,畫出所需子圖。4 .分析系統(tǒng)的主要處理功能,把每一個處理功能作為一個加工, 并且確定它們之間的數據流入、流出關系,畫出第一層數據 流圖。5 .對流圖中的每個加工進行細化,畫出所需的子圖,直到加工 不需再分解為止。6 .按照前面給出原則檢查和修改每一層數據流圖和子圖16、什么叫數據字典?如何寫數據字典?數據字典是描述數據流圖中數據的信息的集合(描述內容包 括:數據流圖、狀態(tài)轉換圖、數據字典E-R圖中的數據信息 (數據流、數據存儲、外部實體)、控制信息(事件)等, 不包括處理)。如何寫?數據元素的組合方

9、式 順序:即以確定的次序連接兩個或多個分量。例:A+B 選擇:即從兩個或多個可能的元素中選取一個。例:AIB 重復:即把指定的分量重復零次或多次。例:1A5 可選:即一個分量是可有可無的(重復零次或一次)17、 軟件設計的原則有哪些? 模塊化,抽象化與逐步求精,信息隱藏與局部化,模塊獨立18、 耦合與內聚分別有哪些?如何定義?如何區(qū)分?耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度 內聚衡量一個模塊內部各個元素彼此結合的緊密程度 耦合的種類:數據耦合:如果兩個模塊間的通訊信息是若干參數,其中每一 個參數都是一個數據元素,稱數據耦合這種耦合為數據耦 合。這是模塊之間影響最小的耦合關系。標記耦合

10、:當把整個數據結構作為參數傳遞而被調用模塊只需 要使用其中一部分數據元素標記耦合時,這種情況稱為標記 耦合??刂岂詈希耗敲碅和B之間控制耦合如果模塊A向模塊B 所傳遞的信息控制了模塊B的內部邏輯,的耦合稱為控制耦 合。公共耦合:如果兩個或多個模塊都和同一個公共數據域有關, 則稱為公共耦合。公共耦合公共耦合是一種不良的耦合關 系,它給模塊的維護和修改帶來困難。如果兩個模塊共享的 數據很多,都通過參數傳遞很不方便時,可以利用公共耦合。 內容耦合:如果一個模塊和另一個模塊的內部屬性(即運行程 序和內部數據)有關,則稱為內容耦合。功能內聚:如果一個模塊內部的各組成部分的處理動作全都為 執(zhí)行同一個功能而

11、存在,并且功能內聚:只執(zhí)行一個功能, 則稱為功能內聚。判斷一個模塊是不是功能內聚,只要看這個 模塊是“做什么”是完成一個具體的任務,還是完成多任務。順序內聚:如果一個模塊內部的各個組成部分執(zhí)行的幾個處理 動作有這樣的特征:前一個處順序內聚:理動作所產生的輸 出數據是后一個處理動作的輸入數據,稱為順序內聚。順序 內聚維護起來不如功能內聚方便,要修改模塊中的一個功能, 會影響到同一個模塊中的其他功能。通訊內聚:如果一個模塊內各組成部分的處理動作都使用相 同的輸入數據或產生相同的輸 通訊內聚出數據,稱為通訊內 聚。過程內聚:如果一個模塊內部的各個組成部分的處理動作各不 相同,彼此也沒有聯系,但他 們

12、都受同一個控制流支配,決 定他們的執(zhí)行次序,稱為過程內聚。暫時內聚(時間內聚):如果一個模塊內的各組成部分的處理 動作和時間有關,則稱為暫時:內聚。暫時內聚模塊的處理 動作必須在特定的時間內完成。-指在一個特定的時間范圍 內完成,但完成次序不重要。例如:程序設計中的模塊的初 始化。邏輯內聚:如果一個模塊內部的各組成部分的處理動作在邏輯 上相似,但功能都彼此不同或 邏輯內聚:無關,則稱為邏 輯內聚。一個邏輯內聚模塊往往包括若干個邏輯相似的動作, 使用時可以選用一個或幾個功能。例如:把編輯各種輸入數 據的功能放在一個模塊中。機械內聚(偶然內聚):如果一個模塊的內部各組成部分的處 理動作彼此沒有任何

13、聯系,則:稱為機械內聚19、詳細設計階段用到了哪些圖形工具?程序流程圖(PFD) 盒圖(NS圖) 問題分析圖(PAD)判定表/判定樹(其他非圖形工具有過程設計語言(PDL) 20、軟件工程的啟發(fā)式規(guī)則有哪些?A.當模塊過大時就應該分解它。一般按功能分解到成為一個 小的功能單一的模塊為止。一般一個模塊內包含的語句在 30-50條左右較好(指高級語言)。分解后不應該降低模塊的 獨立性。B.深度、寬度、扇出和扇入都應適當。好的設計結構通常是頂層扇出比較高,中層扇出比較少,底層扇入到公共的實用 模塊中去(底層模塊有高扇入)。模塊的獨立性是貫穿始終 的標準,不能為了追求其它目標而違背獨立性標準。C對于任

14、何一個內部存在判斷調用的模塊,它的判斷作用的范圍應該是其控制范圍的一個子集。存在判斷調用的模塊, 所在層次不要與那些屬于判斷作用范圍的模塊所在的層次相 隔太遠越近越好。D.力爭降低模塊接口的復雜程度。模塊接口復雜是軟件發(fā)生錯誤的一個主要原因。應該仔細設計模塊接口,使得信息傳 遞簡單并且和模塊的功能一致。接口復雜或不一致(即看起來 傳遞的數據之間沒有聯系),是緊耦合或低內聚的征兆,應 該重新分析這個模塊的獨立性。E.設計單入口單出口的模塊: 防止出現內容耦合一多入口 (多種處理功能)意味著內容耦 合。F.模塊功能應該可以預測-模塊是黑合子,輸入相同則輸出 相同,其內部數據結構和接口受到限制。模塊

15、的功能應該能 夠預測,但也要防止模塊功能過分局限。過分局限將導致模塊 靈活性太差,會出現使用現場的修改。21、模塊的作用域與控制域分別指什么?模塊的控制域:本身及其所有下級模塊(包括直接和間接下級模塊)。模塊的作用域:受該模塊內一個判定影響的所有模塊的集合22、模塊的扇入、扇出、深度、寬度分別是什么意思?深度表示軟件結構中控制的層數粗略的標志一個系統(tǒng)的大 小和復雜程度。寬度是軟件結構同一層次上的模塊總數的最大值一寬度越大系統(tǒng)越復雜。模塊的扇出指一個模塊擁有的直屬下級模塊的個數,般扇出數控制在7以內,平均為3模塊的扇出或4。模塊的扇入是指一個模塊的直接上級模塊的個數。23、軟件測試的目的是什么?

16、軟件測試是為了發(fā)現錯誤而執(zhí)行程序的過程;測試是程序的執(zhí)行過程,目的在于發(fā)現錯誤;軟件測試中需要數據,即為測試而精心設計的測試用例,利用測 試用例去運行程序,幫助發(fā)現程序錯誤;一個好的測試用例在于能發(fā)現至今未發(fā)現的錯誤;一個成功的測試是發(fā)現了至今未發(fā)現的錯誤的測試。軟件測試絕對不是要證明程序的正確性,也證明不了程序的正 確性.24、單元測試有那些內容?將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一 個單元能正確運行。25、什么是集成測試?非漸增式和漸增式有什么區(qū)別?漸增 式如何組裝模塊?將模塊組合起來成為一個完整的系統(tǒng)對其進行測試叫做集成 測試。不論是子系統(tǒng)測試還是系統(tǒng)測試,都兼有檢測和

17、組裝兩 重含義,通常稱為集成測試。非漸增式是將模塊先進行單元測試然后組裝在一起進行測試.漸增式是逐個將未測試的模塊組裝到已經測試過的模塊上去進行集成測試, 每加入一個就測試一次。非漸增式需要樁模塊和驅動模塊、非漸增式開始可以并行測試、漸增式可以及時的發(fā)現接口錯誤,非漸增式很難 發(fā)現接口發(fā)現錯誤、漸增式開始不能并行測試、漸增式測試比較徹底.漸增式組裝模塊有自頂向下和自底向上兩種組裝方式。26、什么是確認測試?該階段有那些工作?按照需求規(guī)格說明書中的確定指標對系統(tǒng)進行功能與性能的 測試。該階段進行明確測試(對照需求規(guī)格說明書用黑盒法進 行測試),軟件配置測試(文檔的完整性,發(fā)現遺漏錯誤及時補充和修

18、改)27、什么叫流圖?如何畫出流圖?流圖的環(huán)形復雜度如何計流圖是抽象化的程序流圖,突出表現控制流.符號。為流圖的一個結點,表示一個或多個無分支語句。箭頭 為邊,表示控制流的方向。在 分支結構中,分支的匯聚處應 有一個匯聚結點.每一條邊必須終止于一個結點。如果判斷中 的條件表達式是由一個或多個邏輯運算符(OR, AND, NAND, NOR)連接的復合條件表達式,則需要改為一系列只有單個 條件的嵌套的判斷。根據程序內單條件分支數或循環(huán)個數來度量環(huán)形復雜度即程 序的復雜度.環(huán)形復雜度即程序的復雜度 根據程序內單條件分支數或循環(huán)個數來度量環(huán)形復雜度即程 序的復雜度V(G)=流圖區(qū)域數V(G)=邊數結

19、點數+2V(G)=單條件判定數+1 28、白盒測試與黑盒測試分別有哪些測試方法?如何對具體問題測試?白盒測試對程序模塊的所有的執(zhí)行路徑至少測試一次;對所有 的邏輯判定,取“真”與取“假”白盒測試的兩種情況都至 少測試一次;白盒測試也叫邏輯覆蓋法包括:語句覆蓋,判定 覆蓋,條件覆蓋 黑盒測試發(fā)現程序中的錯誤,必須在所有可能的輸入條件和輸 出條件中確定測試數據,來檢查程序是否都能產生正確的輸 出。黑盒測試有等價類法和邊界值分析法29、軟件測試的步驟有哪些?每個測試階段的測試依據是什么?分別有誰來測試?步驟測試內容時間單元測試:將每一個模塊作為一個單獨的測試單元,保證每個 子系測試系統(tǒng):將經過單元測

20、試的模塊放在一起形成一個子系 統(tǒng)來測試,以測試模塊間的接口正確性作為主要任務。(集中 測試階段)模塊作為一個單元能正確運行。(編碼測試階段)系統(tǒng)測試:將經過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測 試,檢驗系統(tǒng)是否確實能實現需求規(guī)格說明書中的功能,以及 系統(tǒng)的動態(tài)特征是否符合預定要求。階段系統(tǒng)測試是指整個 計算機系統(tǒng)(包括軟硬件)的測試,可與系統(tǒng)的安裝和驗收相結 合進行。(集中測試階段)驗收測試:在用戶的參與下,把軟件系統(tǒng)作為單一的實體進行測試,使軟件系統(tǒng)能滿足用戶的需要。測試內容與系統(tǒng)測試基 本相同。(驗收階段) 平行測試:新舊兩個系統(tǒng)同時運行進行比較,避免風險的同時 給用戶對新系統(tǒng)一段熟悉的時

21、間(運行階段) 30、什么叫維護?維護的類型有哪些?軟件維護就是在軟件已經交付使用之后,為了改正錯誤或滿足 新的需要而修改軟件的過程。軟件維護類型有:1、改正性維護:對程序使用期間發(fā)現的程序錯誤進行診斷和改正的過程;占維護工作量2、適應性維護:配合變化了的環(huán)境進行修改軟件的活動;占 維護工作量18.25%。3、完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進行的 改進工作;占維護工作量50-66% o 4、預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作;占維護工作量4%左右31、UML中活動圖、狀態(tài)圖、順序圖都分別描述什么?活動圖強調的是從活動到活動的控制流

22、,是一種表述過程基 理、業(yè)務過程以及工作流的技術?;顒訄D它可以用來對業(yè) 務過程、工作流建模,也可以對用例實現甚至是程序實現來建 模狀態(tài)機圖常用來描述業(yè)務或軟件系統(tǒng)中的對象在外部事件的 作用下,對象的狀態(tài)從一種狀態(tài) 狀態(tài)機圖到另一種狀態(tài)的 控制流。順序圖描述的是對象之間的消息發(fā)送關系,而不是類之間的關32、UML中的事物有哪些?結構事物:UML中的名詞,它是模型的靜態(tài)部分,描述概念 或物理元素。行為事物:UML中的動詞,它是模型中的動態(tài)部分,是一種跨越時間、空間的行為。分組事物:UML中的容器,用來組織模型,使模型更加的結構化。注釋事務:UML中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型

23、的33、面向對象的基本概念類、對象、封裝、繼承等定義是什么? 類(Class)是具有相同屬性和服務的一組對象的集合,它為屬 于該類的全部對象提供了統(tǒng)一的抽象描述,其內部包括屬性和 服務兩個主要部分。對象(Object)是系統(tǒng)中描述客觀事物的一個實體,它是構成 系統(tǒng)的一個基本單位,由一組屬性和對這組屬性進行操作的 一組服務組成,是類的一個實例 封裝(Encapsulation)是把對象的屬性和服務結合成一個獨立 的系統(tǒng)單位,并盡可能隱藏對象的內部細節(jié)。繼承性:如果一個類A繼承自另一個類B,就把這個A稱為nB的子類”,而把B稱為"A的父類工 繼承使得相似對象 可以共享程序代碼和數據結構,

24、大大減少程序中的冗余信息;繼 承可以把已有的一般性的類具體化來提高軟件的可重用 性。多態(tài)性(Polymorphism)是指在父類中定義的屬性或服務被子 類繼承后,可以具有不同的數據類型或表現出不同的行為 34、用例圖的族用導什么?一 聚合組合用例囹是外都蓼與看所能觀祭到的系統(tǒng)功能的模型圖。由一 組用例、參與者及它們之間的關系組成。主要用于對系統(tǒng)、 子系統(tǒng)或類的功能行為進行建模。參與者是與系統(tǒng)交互的外部 實體,可以是人,也可以是其它系統(tǒng)。用例是從用戶的角度描 述系統(tǒng)的行為(功能)它將系統(tǒng)的功能描述成一系列事件, 這些事件最終對參與者產生可觀察結果35、UML中的關系有哪些?關系有六種:依賴,類屬

25、,關聯,實現,聚合和組合 36、UML中實現關系、依賴關系、泛化關系等符號? 實現關系-上依賴關系>泛化關系一37、用例、活動、狀態(tài)、節(jié)點等圖形符號分別是什么?填空面展間的室18 文 t<end7>之間的關系示一符1、畫出UML中依賴關系的圖形符號>2、在UML 2.0中定義了四種交互圖,其中強調對象調用順序 的是期圖。3、UML中實現關系的圖形符號是4、軟件生命周期可劃分為8個階段,它們是什么?問題定義、可行性研究、需求分析;總體設計、詳細設計、編碼與單元測試、綜合測試;運行維護。5、軟件測試的目的是發(fā)現錯誤,通常把測試方法按功能劃分為 墨盒測試和白盒測試兩大類。因為

26、通常不可能做到窮盡測 試,所以精心設計 測試方案 是保證達到測試目的所必須 的。6、計算機軟件的開發(fā)經過三個階段分別為:定義、設計和運 行。7、軟件維護的活動包括四種:改正性維護、適應性維護、完 善性維護和預防性維護。8、在軟件測試過程的4個步驟中,測試依據是需求規(guī)格說明的是一驗收測試。選擇題1、以下哪個不是詳細設計中常用的圖形描述工具人數據流圖B、程序流圖C、盒圖(NS圖)D、問題分析圖(PAD) 2、耦合是對軟件結構中各個不同模塊之間互相關聯程度的度量。一個模塊直接訪問另一個模塊的內部信息應屬于B、內容耦合C、數據耦合方式。A、控制耦合D、外部耦合3、在七種內聚中屬于最強的是內聚,最弱的是

27、然_內聚4、軟件工程的原則包括:模塊化、抽象與逐步求精、信息隱 藏與局部化、模塊獨立。模塊耦合程度低,則說明模塊的獨立性越強。A.耦合越強B、扇入數越高C、扇入數越低D、耦合越弱5、軟件設計包括兩個階段。A、接口設計和結構設計B、數據設計和概要設C、結構設計和過程設計D,概要設計和詳細設計6、A、條件覆蓋法B、邊緣值分析法C、錯誤推現有一個計算類型的程序,它的輸入只有一個Y,其范E是一50WYW50。現從輸入的角度考慮設計了一組測試用例:-100, 100, 0o設計這組測試用例的方法是 o測法 D、等價劃分法7、系統(tǒng)設計分為兩個階段分別為設計方案與選擇方案 。8、對于變換型的數據流圖,按照軟

28、件設計思想,要將一個大 型復雜的軟件進行分解,要確定數據流圖的輸入邊界,輸出邊9、自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和寬度優(yōu)先策略 。10、在用面向對象觀點建立起的3種模型中,是最基本、最重要、最核心的。A、動態(tài)模型B、對象模型C、功能模型D、狀態(tài)模型11、在軟件結構圖的有關術語中,用于表示軟件結構中控制的層數的是A、扇出B、扇入D、寬度 12、指出PDL是哪種語言過程設計語言。13、在進行軟件測試時,首先應當進行單元 測試,然后 再進行組裝測試,最后再進行有效性測試。14、結構化設計方法是面向 的設計。A.數據編碼B.數據流 C.數據庫D.數據結構15、軟件

29、工程的過程模型中,是經典的傳統(tǒng)模型。16、模塊定義為受該模塊內一個判斷影響的所有模塊集合。A.控制域B、作用域C、寬度D、接口 17、在軟件生命周期中,能準確確定軟件系統(tǒng)的體系結構的功能階段是 O4、概要設計 B、詳細設計C、需求分析 D、可行性分析18、下面不屬于軟件工程的基本原則的是_oA、模塊化 B、抽象 C、局部化 D,自頂向 ± 19、在數據流圖中,用圓或者橢圓來表示 oA、數據流 B、數據源點或終點C、數據存儲D、加工20、軟件是計算機系統(tǒng)中與硬件相互依存的部分,它是包括 (A)、(B)、及(C)的完整集合。其中,(A)是按事先設 計的功能和性能要求執(zhí)行的指令序列,(B)

30、是使程序員能夠正確操縱信息的數據結構,(C)是與程序開發(fā)、維護和使用有關的圖文材料。軟件程序代碼硬件檔 外設 數據 圖表21、開發(fā)軟件時,對于提高軟件開發(fā)人員工作效率至關重要的是(A)。軟件工程中描述軟件生存周期的瀑布類型一般包 括計劃、(B)、設計、編碼、測試、維護等幾個階段。其中,設計階段在管理上可以依次分成(C)和(D)兩個步驟。A:程序開發(fā)環(huán)境操作系統(tǒng)的資源管理功開發(fā)程序人員數量計算機的并行處理能B:需求分析需求調查可行性分析 問題定義c、D:方案設計代碼設計概要設計數據設計運行設詳細設計故障處理設計軟件體系結構設計22 .在結構化的分析方法中,用以表達系統(tǒng)內數據的運行情況 的工具有(

31、)。A:數據流圖B:數據詞典C:結構化英語 D:判定表與判定樹23 .在結構化的分析方法中,用實體關系圖表達系統(tǒng)中的對象 及其關系,在實體關系圖中,表達對象的實例關系之間的關聯 有三種類型:一對一聯系,()聯系,多對多聯系。A: 一對多 B:多對多24 .軟件需求分析的任務,不應包括(A),進行需求分析可使 用多種工具,但是不適用的,在需求分析中,分析員要從 用戶那里解決的最重要的問題是(0。規(guī)格說明書的內容不應當包括(D),該文檔在開發(fā)中具有重要的作用,但其作用不應包括(E)oA:問題分析2信息域分析3結構化程序設計4確定邏輯模型B: 圖C:數據流圖2判定表4數據詞典3 PAD1要讓軟件做什

32、么要對該軟件提供哪些信息3要求軟件工作效率如何4讓軟件具有什么結構D: 描述1對重要功能的描述2對算法的詳細過程性E:3軟件確認準則1軟件設計的依據4軟件的性能2用戶和開發(fā)人員對軟件要“做什么”的共同理解 3軟件驗收的依據4軟件可行性分析的依據25.原型化方法是用戶和軟件開發(fā)人員之間進行的一種交互過 程,適用于(A)系統(tǒng),它從用戶界面的開發(fā)入手,首先形成(B), 用戶(C),并就(D)提出意見。A: 1 的B: 1 析說明書需求不確定性高的3管理信息用戶界面使用手冊2需求確定4決策支持2用戶界面需求分系統(tǒng)界面原型4完善的用戶界面C: 料改進用戶界面的設計2閱讀文檔資模擬用戶界面的運行D:同意什

33、么和不同意什么4運行用戶界面原型2使用和不使用哪一種編程語言3程序的結構 行速度是否滿足要求26.從下列有關系統(tǒng)結構圖的描述中選出正確的敘述。系統(tǒng)結構圖中反映的是程序中數據流的情況。系統(tǒng)結構圖是精確表達程序結構的圖形表示法。因此 有時也可將系統(tǒng)結構圖當作程序流程圖使用。一個模塊的多個下屬模塊在系統(tǒng)結構圖中所處的左右 位置是無關緊要的。在系統(tǒng)結構圖中,上級模塊與其下屬模塊之間的調用 關系用有向線段表示。這時使用斜的線段和水平、垂直的 線段具有相同的含義。27 .選出正確答案:一組語句在程序中多處出現,為了節(jié)省內存空間,把這 些語句放在一個模塊中,該模塊的內聚性是(A)的o 將幾個邏輯上相似的成份

34、,放在同一個模塊中,通過模 塊入口的一個判斷決定執(zhí)行哪一個功能,該模塊的內聚性 是的。模塊中所有成份引用共同的數據,該模塊的內聚性是(C) 的。模塊內的某成份的輸出是另一些成份的輸入,該模塊的 內聚性是的。模塊中所有成份結合起來完成一項任務,該模塊的內聚性是的oAE:偶然內聚時間內聚功能內通信內聚邏輯內聚信息內聚 過程內聚28.關于模塊化程序設計的說法正確的五項:()1程序設計比較方便但難于維護。3軟件功能易于擴充。4易于理解,也便于排錯。5在主存儲器能夠容納的前提下,并使模塊盡可能大,以減少模塊的個數。6模塊間的接口叫做數據文件。7只要模塊之間的接口關系不變,模塊內部實現細節(jié)的修 改將不會影

35、響別的模塊。8模塊間的單向調用關系叫做模塊的層次結構。9模塊越小,模塊化的優(yōu)點越明顯,一般來說模塊的大小都在10行以下。29.從下列敘述中選出五條符合程序設計風格指導原則的敘述。1嵌套的重數應加以限制。2盡量少使用全局變量。3不濫用語言特色。4不用可以省略的括號。5使用有意義的變量名。6盡可能把程序編的短些。7把常見的局部優(yōu)化工作留給編譯程序去做。8注解越少越好。9程序的格式應有助于讀者理解程序。10應盡可能多用goto語句。31 .測試過程需要三類輸入:(A)、(C)oA、B、C:接口選擇軟件配置硬件配置測試配置軟件環(huán)境測試工具32 .測試的費用已超過(A)的30%以上,高產的測試是指(B)

36、,單元測試是在階段完成的,集成測試的計劃是在階 段制定的,確認測試的計劃是在(E)決定制定的。A:軟件開發(fā)費用軟件維護費用軟件開發(fā)和維護費用軟件研制費用 軟件生存期全部B:用適量的測試用例運行程序,證明被測試程序正確無誤 用適量的測試用例運行程序,證明被測試程序符合相應 的要求用少量的測試用例運行程序發(fā)現被測試程序盡可能多 的錯誤用少量的測試用例運行程序,糾正被測程盡可能多的錯 誤C、D、E:可行性研究和計劃 需求分析概要設計詳細設計實現集成測試確認測試使用和維護33 .軟件測試的目的是(A),為了提高測試的效率,應該(B)。使用白盒測試方法時,確定測試數據應根據(0和指定的附帶標準。與設計測

37、試無關的文檔是(D)。軟件的集成測試 工作最好由(E)承擔,以提高集成測試的結果。A:評價軟件的質量 發(fā)現軟件的錯誤找出軟件中 的所有錯誤證明軟件是正確的B:隨機的選取測試數據取一切可能的輸入數據作為測試數據 在完成編碼后,制定軟件的測試計劃選擇發(fā)現錯誤的可能性大的數據作為測試數據C:程序的內部邏輯程序的復雜程度使用說明書 程序的功能D:該軟件的設計人員程序的復雜程度源程序項目開發(fā)計劃E:該軟件的設計人員該軟件開發(fā)組的負責人 該軟件的編程人員不屬于該軟件開發(fā)組的 軟件設計人員34 .軟件調試的目的是(A)A:找出錯誤所在,并改正之排除存在錯誤的可能性對錯誤性質進行分類統(tǒng)計出錯的次數選擇題:1

38、.為了提高測試的效率,應該 A.隨機地選取測試數據B.取一切可能的輸入數據作為測試數據庫C.在完成編碼后制定軟件的測試計劃D.選擇發(fā)現錯誤可能性大的數據作為測試數據2 .與設計測試數據無關的文檔是A.需求說明書Bo數據說明書Co源程序Do項目開發(fā)設計3 .結構化設計是一種應用最廣泛的系統(tǒng)設計方法,是以為基礎,自頂向下,求精和模塊化的過程。A.數據流 Bo數據流圖Co數據庫 Do數據結 構4 .概要設計的結果是提供一份oA.模塊說明書 Bo框圖 C程序 D數據結構 5.需求分析是由分析員了解用戶的要求,認真細致地調研。分析,最終應建立目標系統(tǒng)的邏輯模型并寫出A.模塊說明書Bo軟件規(guī)格說明書Co項

39、目開發(fā)計劃 Do合同文檔6 .注釋是提高程序可讀性的有效手段,好的程序注釋占到 程序總量的OA. 1/6 Bo 1/5 Co 1/4Do 1/37 .變換型和事務型是程序結構的標準形式。從某處獲得數A.變換型據,再對這些數據作處理,然后將結果送出是屬于B事務型8 . PAD (Problem Analysis Diagram)圖是一種 工具。A.系統(tǒng)描述Bo詳細設計Co測試Do編程輔助9.排錯一般是在測試發(fā)現錯誤后進行,其中找到錯誤位置占排錯總工作量的A. 95%B. 5%C. 50%D. 20%10.分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描述了系統(tǒng)的A.總貌B.細節(jié)C.抽象

40、D.軟件的作者 11.數據流圖中,當數據流向或流自文件時, A.數據流要命名,文件不必命名B.數據流不必命名,有文件名就足夠了C.數據流和文件均要命名,因為流出和流進數據流是不同的D.數據流和文件均不要命名,通過加工可自然反映出12 .分析員是 oA.用戶中系統(tǒng)的直接使用者B.用戶和軟件人員的中間AC.軟件的編程人員Do用戶和軟件人員的領導13 .在軟件開發(fā)中,有利于發(fā)揮集體智慧的一種做法是A.設計評審R,模塊化C.主程序員制D。進度控制14 .在開發(fā)軟件時,可用來提高程序員的工作效率。A.程序開發(fā)環(huán)境 B.操作系統(tǒng)的作業(yè)管理功能C.編譯程序的優(yōu)化功能 Do并行運算的大型計算機15 .軟件測試

41、中設計測試實例(test case)主要由輸入數據和一兩部分組成。A.測試規(guī)則 B.測試計劃C.預期輸出結果D.以往測試記錄分析16.結構化程序設計主要強調程序的A.效率B.速度 C.可讀性 D.大小17 .開發(fā)軟件需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作A.軟件投機 B.軟件危機 C.軟件工程D.軟件產生18 .成功的測試是指A.運行測試實例后未發(fā)現錯誤項B.發(fā)現程序的錯誤C.證明程序正確D.改正程序的錯誤19 .系統(tǒng)開發(fā)的需求分析階段的重要工作之一是一A.數據定義 B.數據庫設計C.數據維護D.數據結構實現A.接口 B,橋梁C.科學D濰續(xù)E體現E基礎21.單獨測試一個模塊時,

42、有時需要一個程序驅動被測試的模塊.有時還要有一個或幾個 模塊模擬由被測試模塊調用的模塊。驅動=1 "" ID .傳遞&(Ssub)22.在結構化程序設計思想提出以前,在程序設計中曾強調程序的O現在,與程序的相比,人們更重視程序的12Ao安全性Bo專用性Co 一致性Do合理性 Eo可理解性效率23.軟件測試中,白箱方法是通過分析程序的試實例的方法,除了測試程序外,還適用于對來設計測階段的軟件文檔進行測試。黑箱方法是根據程序的方法,除了測試程序外,它適用于來設計測試實例的 階段的軟件文檔進行測試。1、3A.應用范圍B.內部邏輯C.功能輸入數據2、4A.編碼B.軟件詳細設

43、計C.軟件概要設計.需求分析24. (1)在軟件生命期周期中,階段所需工作量最大,約占70%;(2)結構化分析方法產生的系統(tǒng)說明書由一套,一本 數據字典和一組小說明及補充材料組成;(3)軟件的_ 均恢復時間來度量;(4)采用般由兩次故障平均間隔時間和故障平且編寫程序,可提高程序的可移植性;(5)僅依據規(guī)格說明書描述的程序功能來設計測試實例的方法稱為1.2.3.4.5.析法25.A.分析B.設計C編碼D測試E維護A.因果B。分層數據流圖CEP0圖D程序流程圖A.可維護性B可靠性 C效率 D互理解性A.機器語言B宏指令C匯編語言 D高級語言A.白箱法B表態(tài)分析法C黑箱法 D人工分是以發(fā)現錯誤為目的

44、的,而是以定位,分析和改正錯誤為目的的。A.測試 B.排錯(調試)C.維護 D.開發(fā)26.請按順序寫出軟件生命期的幾個階段99 OA.維護 B.測試 C.詳細設計D.概要設計E.編碼F.需求分析27.軟件發(fā)展過程中,第一階段(50年代)稱為“程序設計原始時期”,這時既沒有1也沒有2_,程序員只能用匯編語言編寫程序。第二階段(50年代末一一60年代末)稱為“基本軟件期”,出現了 1并漸普及,隨之2編譯技術也有較大發(fā)展。第三階段(60年代70年代中)稱為“程 序設計方法的時代”。與硬件費用下降相反,軟件開發(fā)費急劇 上升。人們提出了 3和4等到程序設計方法,設法降低軟件開發(fā)的費用。第四代階段(70年

45、代中至今)稱為“軟件工程時期”,軟件開發(fā)技術不再僅僅是程序設計技術,而是同軟件開發(fā)的各階段(5, 6 整體和管理有關。,編碼,測試,7A.匯編語言B.操作系統(tǒng)C.虛擬存儲器概念 D.高級語言E.結構化程序設計數據庫概念F.固件G.模塊化程序設計A.使用和維護B.兼容性的確認C.完整性的確定 D.設計E需求定義F圖像處理28.軟件危機出現于,為了解決軟件危機,人們提出了用的原理來設計軟件,這是軟件工程誕生的基礎。A.50年代末 B.60年代初C.60年代末D.70年代初A.運籌學 B.工程學 C.軟件學 D.軟件學 E.數字29 .瀑布模型把軟件生存周期劃分為軟件定義、軟件開發(fā) 和三個階段,而每

46、一階段又可細分為若干個更小的階段。A.詳細設計 B.可行性分析 C.運行及維護D.測試與排錯30.軟件的設計又稱為總體設計,其主要任務是建立軟件系統(tǒng)的總體結構。A.概要 B.抽象C.邏輯 D.規(guī)劃31 .結構化分析SA是軟件開發(fā)需求分析階段所使用的方法, 不是SA所使用的工具。A. DFD圖 B. PAD圖 C.結構化英語 D.判定 表D.數據字典32 .結構化分析方法以數據流圖、和加工說明等描述工 具,即用直觀的圖和簡潔的語言來描述軟件系統(tǒng)模型。A. DFD 圖 B. PAD 圖 C. IPO 圖33 .模塊本身的內聚是模塊獨立性的重要度量因素之一,在七類內聚中,具有最強內聚的一類是A.順序

47、性內聚B.過程性內聚C.邏輯性內聚D.功能性內聚34 . Jackson設計方法由英國的MJackson提出的,它是一種面向的設計方法。A.對象 B.數據流 C.數據結構 D.控制結構35 .結構化設計思想的核心是要求程序只由順序、循環(huán)和三種結構組成。A.分支 B.單入口 C.單出口 D .有規(guī)則 GOTO36 .源程序的版面文檔要求應有變量說明、適當注釋和oA.框圖 B.統(tǒng)一書寫格式C.修改記錄D.編程日期 37.在軟件工程中,軟件測試的目的是A.試驗性運行軟件B.發(fā)現軟件錯誤C.證明軟件是正確的D.找出軟件中的全部錯誤38 .在軟件工程中,當前用于保證軟件質量的主要技術手段 還是0A.正確

48、性證明 B.測試 C.自動程序設計D.符號證明39 .在軟件工程中,高質量的文檔標準是完整性、一致性和A.統(tǒng)一性 B.安全性 C.無二義性 D.組合性40 .在軟件研究過程中,CASE是A.指計算機輔助系統(tǒng)工程B. CAD和CAM技術的發(fā)展動力C.正在實驗室用的工具D.指計算機輔助軟件工41 .軟件(結構)設計階段(概要設計)的文檔是A.系統(tǒng)模型說明書B.程序流程圖C.系統(tǒng)功能說明書D.模塊結構圖和說明書42 .軟件的維護是指A.對軟件的改進、適應和完善B.維護正常運行C.配置新軟件D.軟件開發(fā)期的一個階段43.逆向工程在軟件工程中主要用于階段。A.分析 B.設計C.編碼D.維護44 .軟件工

49、程中,只根據程序的功能說明而不關心程序內部的邏輯結構的測試方法,稱為測試。A.白盒法 B.灰盒法C.黑盒醫(yī)D.綜合法45 .模塊內聚聯系最大的是A.順序內聚B.功能內聚C.通信內聚 D.時間內聚46 .在軟件的設計階段應提供的文檔是A.B.軟件需求規(guī)格說明書概要設計規(guī)格說明書和詳細設計規(guī)格說明書C.數據字典及流程圖D.源程序以及源程序的說明書47 .程序流程圖、N-S圖和PAD圖是使用的算法表達工具。A.設計階段的概要設計B.設計階段的詳細設計C.編碼階段D.測試階段48 .軟件的可維護性是指A.軟件的可理解程度,程序修改的難易程度B.軟件文檔修改的難易程度C.D.程序修改的難易程度使用維護工

50、具進行維護的難易程度49.月收入v=800元者免稅,現用輸入數800元和801元測試程序,則采用的是方法。A.邊緣值分析B.條件覆蓋C.錯誤推測 D.等價類50 .采用黑盒法測試程序是根據A.程序的邏輯B.程序的功能說明C.程序中的語句D.程序中的數據51 .數據流圖的小說明中描述的最基本部分是A.激發(fā)條件 B.加工邏輯C.優(yōu)先級 D.執(zhí)行頻率52 .系統(tǒng)的健壯性是指oA.系統(tǒng)能夠正確地完成預期的功能B.系統(tǒng)能有效地使用計算機資源C.在有干擾或輸入數據不合理等意外情況下,系統(tǒng) 仍能進行適當地工作D.在任何情況下,系統(tǒng)均具有錯誤自修復功能 53.軟件工程學是應用科學理論和工程上的技術指導軟件開

51、發(fā)的學科,其目的是oA.引入新技術提高空間利用率B.用較少的投資 獲得高質量的軟件C.縮短研制周期擴大軟件功能D.硬軟件結合使 系統(tǒng)面向應用54 .不適于作為數據流圖處理(加工)框名稱的是oA.人工校核工資數據B.工資支票數據C.打印工資支票D.計算職工工資55 .如果模塊中所有成分引用共同的數據,該模塊內的聯系類型是A.順序內聚B.功能內聚C.通信內聚 D.過程內聚56 .某模塊的功能是打印錄取通知書或不錄取通知書,調用模塊可通過向此模塊傳遞布爾標志信息決定本次調用哪種 通知書的打印,這種模塊之間的耦合稱為OA.數據耦合 B.混合耦合 C.公共耦合 制耦合57 .適應性維護的含義是所進行的維

52、護。A.為使軟件在改變了的環(huán)境下仍能使用B.為改正在開發(fā)時期產生、測試階段沒有發(fā)現、運 行時出現的錯誤C.為改善系統(tǒng)性能、擴充功能D.為軟件的正常執(zhí)行58 .采用白盒法測試模塊(程序),應根據A.內部邏輯結構 B.算法復雜度C.外部功能特性59.D.支撐環(huán)境下列關于軟件工程方面的敘述中,正確的說法是A.軟件的質量標準中,某些因素是不可兼得的B.數據字典包括數據流、文件、模塊調用關系等三 種條目C.測試過程即調試D.白盒法測試用例中,滿足條件覆蓋的一定滿足判定覆蓋60.程序編寫(實現)階段完成的文檔有A.詳細設計說明書B.詳細設計說明書、用戶手冊C.模塊開發(fā)宗卷、操作手冊D.用戶手冊、操作手61 .軟件總體結構的內容應在文檔中闡明。A.軟件需求規(guī)格說明書B.概要設計規(guī)格說明書C.詳細設計規(guī)格說明書D.數據要求規(guī)格說明書62 .使用結構化分析方法時,采用的基本手段是A.分解和抽象B.分解和綜合C.歸納與推導D.試探與回溯63 .決定軟件可維護性的主要因素可概括為A.可測試性、可理解性、可修改性B. 一致性、結構性、自我描述性C.可計測性、可訪問性、可通訊性D.可擴充性、簡潔性、

溫馨提示

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

評論

0/150

提交評論