




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程考試題簡答題1、 什么叫軟件?軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關文檔的完整集合2、 什么叫軟件危機?軟件危機包含哪兩點?軟件危機產生的原因是什么?軟件危機是指在計算機軟件開發(fā)與維護過程中所遇到的一系列嚴重問題。包括兩點:( 1)如何開發(fā)軟件,以滿足對軟件日益增長的需求;( 2)如何維護數(shù)量不斷膨脹的已有軟件。軟件開發(fā)和維護過程中存在的許多嚴重問題,一方面與軟件本身的特點有關,另一方面也和軟件開發(fā)與維護的方法不正確有關。具體表現(xiàn)如下:( 1)軟件是邏輯部件而不是物理部件。( 2)軟件的規(guī)模越來越大,復雜性越來越大。( 3)輕視需求分析的重要性,輕視軟件
2、維護的錯誤觀點和方法。3、 什么叫軟件工程?1968 年在第一屆NATO 會議上的早期定義:“建立并使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法”。1993 年 IEEE 的定義:“軟件工程是:把系統(tǒng)的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工程應用于軟件;進而研究實現(xiàn)的途徑”。我們國家最近定義:軟件工程是指導計算機軟件開發(fā)和維護的工程學科。它采用工程的概念、原理、技術和方法來開發(fā)與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。4、 兩種軟件工程方法學開發(fā)軟件時要建立哪些模型?軟件工程方法學包括
3、:傳統(tǒng)方法學和面向對象方法學。常用的開發(fā)模型有:瀑布模型(需求穩(wěn)定,而且可以預先指定)原型模型(需求模糊或者隨時間變化)增量模型(分析員先作出需求分析和概要設計,用戶參與逐步完善)螺旋模型(將瀑布模型與原型化模型結合起來,并加入了風險分析)噴泉模型(使開發(fā)過程具有迭代性和無間隙性)5、 軟件過程模型有哪些?簡述它們的特點。過程模型分為五大類:1.管理過程模型。2.瀑布模型(又稱為生命周期模型)。3.增量過程模型:包括增量模型,RAD型。 4.煙花過程模型:包括原型開發(fā)模型,螺旋模型,協(xié)同開發(fā)模型。5.專用過程模型:包括機遇構建的開發(fā)模型,形式化方法模型,面向方面的軟件開發(fā)模型。模6、 什么是軟
4、件生命周期?一個軟件從定義,開發(fā),使用和維護,直到最終被廢棄,要經歷一個漫長的時期,通常把軟件經歷的這個漫長時期稱為生命周期7、 軟件生命周期有哪幾個階段和步驟?三個階段:定義、開發(fā)、維護八個步驟:問題定義、可行性研究、需求分析;總體設計、詳細設計、編碼與單元測試、綜合測試;運行維護。8、 計算機軟件的開發(fā)經過哪三個大階段?三個階段:定義、開發(fā)、維護9、 軟件開發(fā)的各階段的任務是什么?定義階段:問題定義-任務:關于規(guī)模和目標的報告書;可行性研究-任務:系統(tǒng)的高層邏輯模型:數(shù)據(jù)流圖,成本/效益分析;需求分析-任務:系統(tǒng)的邏輯模型:數(shù)據(jù)流圖,數(shù)據(jù)字典,算法描述。開發(fā)階段:總體設計-任務:系統(tǒng)流程圖
5、,成本 / 效益分析,推薦的系統(tǒng)結構:層次圖/結構圖;詳細設計 - 任務: HIPO圖或 PDL 圖;編碼和單元測試 -任務:源程序清單,單元測試方案和結果;綜合測試-任務:綜合測試方案,結果集成測試,驗收測試,完整一致的軟件配置。維護階段:軟件維護-任務:維護記錄以及改正性維護,適應性維護,完整性維護和預防性維護10、軟件設計分哪兩個階段?總體設計的兩個階段分別是什么?分為總體設計和詳細設計兩個階段。11、 總體設計包括系統(tǒng)設計(劃分出組成系統(tǒng)的程序、文件、數(shù)據(jù)庫、人工過程和文檔等物理元素)和結構設計(確定系統(tǒng)中每個程序是由哪些模塊組成的,以及這些模塊相互間的關系,不涉及模塊內部算法流程)1
6、2、軟件與硬件的區(qū)別是什么?軟件是一種邏輯部件,而不是具體的物理部件。軟件在開發(fā)、 生產、使用、維護等方面與硬件相比有明顯差異。軟件是開發(fā),硬件是制造軟件是自定的,硬件是組裝的軟件不會磨損,硬件存在機械磨損問題13、軟件需求分析的任務是什么?需求分析的任務是確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、需求分析的任務包括下述幾方面:具體的要求。一般說來,1.確定對系統(tǒng)的綜合要求(主要有:功能需求、性能需求、運行需求、將來可能提出的需求。)2.分析系統(tǒng)的數(shù)據(jù)要求3.導出系統(tǒng)的邏輯模型:數(shù)據(jù)流圖、實體-聯(lián)系圖、狀態(tài)轉換圖、數(shù)據(jù)字典、算法流程等4.修正系統(tǒng)開發(fā)計劃14、瀑布模型與原
7、型模型分別適用于開發(fā)哪些軟件?瀑布模型與原型模型分別適用于開發(fā)哪些軟件瀑布模型適合于需求穩(wěn)定,而且可以預先指定的大型系統(tǒng)工程項目。原型模型適合于需求模糊或者隨時間變化的中小型項目15、數(shù)據(jù)流圖的作用是什么?如何畫數(shù)據(jù)流圖 簡稱 DFD(Data Flow Diagram) 圖,它是以特定的圖形符號描述系統(tǒng)邏輯模型的工數(shù)據(jù)流圖具;它從數(shù)據(jù)傳送和加工的角度抽象的描述信息在系統(tǒng)中的流動和數(shù)據(jù)處理的過程;它是開發(fā)人員與用戶之間交流信息的通信工具;它也是系統(tǒng)分析與系統(tǒng)設計的工具。數(shù)據(jù)流圖畫法總結1.先找出數(shù)據(jù)源點和匯點。它們是外部實體,由它們確定系統(tǒng)與外界的接口。2.找出外部實體的輸出數(shù)據(jù)流與輸入數(shù)據(jù)流
8、。畫出頂層數(shù)據(jù)流圖。3.從頂層加工出發(fā),逐步細化,畫出所需子圖。4.分析系統(tǒng)的主要處理功能,把每一個處理功能作為一個加工,并且確定它們之間的數(shù)據(jù)流入、流出關系,畫出第一層數(shù)據(jù)流圖。5. 對流圖中的每個加工進行細化,畫出所需的子圖,直到加工不需再分解為止。6.按照前面給出原則檢查和修改每一層數(shù)據(jù)流圖和子圖16、什么叫數(shù)據(jù)字典?如何寫數(shù)據(jù)字典?數(shù)據(jù)字典 是描述數(shù)據(jù)流圖中數(shù)據(jù)的信息的集合(描述內容包括:數(shù)據(jù)流圖、狀態(tài)轉換圖、數(shù)據(jù)字典E-R 圖中的數(shù)據(jù)信息(數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體)、控制信息(事件)等,不包括處理) 。如何寫?數(shù)據(jù)元素的組合方式順序:即以確定的次序連接兩個或多個分量。例:A+B選擇
9、:即從兩個或多個可能的元素中選取一個。例:A|B重復:即把指定的分量重復零次或多次。例:1A5可選:即一個分量是可有可無的(重復零次或一次)17、軟件設計的原則有哪些?模塊化,抽象化與逐步求精,信息隱藏與局部化,模塊獨立18、耦合與內聚分別有哪些?如何定義?如何區(qū)分?耦合 衡量不同模塊彼此間互相依賴(連接 ) 的緊密程度內聚 衡量一個模塊內部各個元素彼此結合的緊密程度耦合的種類 :數(shù)據(jù)耦合: 如果兩個模塊間的通訊信息是若干參數(shù),其中每一個參數(shù)都是一個數(shù)據(jù)元素,稱數(shù)據(jù)耦合這種耦合為數(shù)據(jù)耦合。這是模塊之間影響最小的耦合關系。標記耦合: 當把整個數(shù)據(jù)結構作為參數(shù)傳遞而被調用模塊只需要使用其中一部分數(shù)
10、據(jù)元素標記耦合時,這種情況稱為標記耦合??刂岂詈希耗敲?A 和 B 之間 控制耦合如果模塊A 向模塊 B 所傳遞的信息控制了模塊B 的內部邏輯,的耦合稱為控制耦合。公共耦合: 如果兩個或多個模塊都和同一個公共數(shù)據(jù)域有關,則稱為公共耦合。公共耦合公共耦合是一種不良的耦合關系,它給模塊的維護和修改帶來困難。如果兩個模塊共享的數(shù)據(jù)很多,都通過參數(shù)傳遞很不方便時,可以利用公共耦合。內容耦合: 如果一個模塊和另一個模塊的內部屬性(即運行程序和內部數(shù)據(jù))有關,則稱為內容耦合。功能內聚: 如果一個模塊內部的各組成部分的處理動作全都為執(zhí)行同一個功能而存在,并且 功能內聚: 只執(zhí)行一個功能,則稱為功能內聚。判斷
11、一個模塊是不是功能內聚,只要看這個模塊是“做什么”是完成一個具體的任務,還是完成多任務。順序內聚: 如果一個模塊內部的各個組成部分執(zhí)行的幾個處理動作有這樣的特征:前一個處順序內聚:理動作所產生的輸出數(shù)據(jù)是后一個處理動作的輸入數(shù)據(jù),稱為順序內聚。順序內聚維護起來不如功能內聚方便,要修改模塊中的一個功能,會影響到同一個模塊中的其他功能。通訊內聚:如果一個模塊內各組成部分的處理動作都使用相同的輸入數(shù)據(jù)或產生相同的輸通訊內聚出數(shù)據(jù),稱為通訊內聚。過程內聚: 如果一個模塊內部的各個組成部分的處理動作各不相同,彼此也沒有聯(lián)系, 但他 們都受同一個控制流支配,決定他們的執(zhí)行次序,稱為過程內聚。暫時內聚(時間
12、內聚) :如果一個模塊內的各組成部分的處理動作和時間有關,則稱為暫時: 內聚。暫時內聚模塊的處理動作必須在特定的時間內完成。- 指在一個特定的時間范圍內完成,但完成次序不重要。例如:程序設計中的模塊的初始化。邏輯內聚: 如果一個模塊內部的各組成部分的處理動作在邏輯上相似,但功能都彼此不同或邏輯內聚: 無關,則稱為邏輯內聚。一個邏輯內聚模塊往往包括若干個邏輯相似的動作,使用時可以選用一個或幾個功能。例如:把編輯各種輸入數(shù)據(jù)的功能放在一個模塊中。機械內聚(偶然內聚) : 如果一個模塊的內部各組成部分的處理動作彼此沒有任何聯(lián)系,則: 稱為機械內聚19、詳細設計階段用到了哪些圖形工具?程序流程圖( P
13、FD)盒圖( N-S 圖)問題分析圖( PAD )判定表 /判定樹 (其他非圖形工具有過程設計語言(PDL )20、軟件工程的啟發(fā)式規(guī)則有哪些?A. 當模塊過大時就應該分解它。一般按功能分解到成為一個小的功能單一的模塊為止。一般 一個模塊內包含的語句在 30-50條左右較好(指高級語言)。分解后不應該降低模塊的獨立性。B. 深度、寬度、扇出和扇入都應適當。好的設計結構通常是頂層扇出比較高,中層扇出比較少,底層扇入到公共的實用模塊中去(底層模塊有高扇入)。模塊的獨立性是貫穿始終的標準,不能為了追求其它目標而違背獨立性標準。C.對于任何一個內部存在判斷調用的模塊,它的判斷作用的范圍應該是其控制范圍
14、的一個子集。 存在判斷調用的模塊, 所在層次不要與那些屬于判斷作用范圍的模塊所在的層次相隔太遠 - 越近越好。D. 力爭降低模塊接口的復雜程度。模塊接口復雜是軟件發(fā)生錯誤的一個主要原因。應該仔細設計模塊接口,使得信息傳遞簡單并且和模塊的功能一致。接口復雜或不一致(即看起來傳遞的數(shù)據(jù)之間沒有聯(lián)系),是緊耦合或低內聚的征兆,應該重新分析這個模塊的獨立性。E.設計單入口單出口的模塊:防止出現(xiàn)內容耦合- 多入口 (多種處理功能) 意味著內容耦合。F.模塊功能應該可以預測 - 模塊是黑合子,輸入相同則輸出相同,其內部數(shù)據(jù)結構和接口受到限制。模塊的功能應該能夠預測,但也要防止模塊功能過分局限。過分局限將導
15、致模塊靈活性太差,會出現(xiàn)使用現(xiàn)場的修改。21、模塊的作用域與控制域分別指什么?模塊的控制域:本身及其所有下級模塊(包括直接和間接下級模塊)。模塊的作用域:受該模塊內一個判定影響的所有模塊的集合22、模塊的扇入、扇出、深度、寬度分別是什么意思?深度表示軟件結構中控制的層數(shù)-粗略的標志一個系統(tǒng)的大小和復雜程度。寬度是軟件結構同一層次上的模塊總數(shù)的最大值- 寬度越大系統(tǒng)越復雜。模塊的扇出指一個模塊擁有的直屬下級模塊的個數(shù),一般扇出數(shù)控制在7 以內,平均為3 模塊的扇出或 4。模塊的扇入是指一個模塊的直接上級模塊的個數(shù)。23、軟件測試的目的是什么?軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;測試是程序的執(zhí)
16、行過程,目的在于發(fā)現(xiàn)錯誤;軟件測試中需要數(shù)據(jù),即為測試而精心設計的測試用例,利用測試用例去運行程序,幫助發(fā)現(xiàn)程序錯誤;一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。軟件測試絕對不是要證明程序的正確性, 也證明不了程序的正確性.24、單元測試有那些內容?將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一個單元能正確運行。單元測試主要針對模塊的以下五個基本特征進行測試: 1.模塊接口 2.局部數(shù)據(jù)結構 3.重要的執(zhí)行路徑 4.錯誤處理 5.邊界條件25、什么是集成測試?非漸增式和漸增式有什么區(qū)別?漸增式如何組裝模塊?將模塊組合起來成為一個完整的系統(tǒng)對
17、其進行測試叫做集成測試。不論是子系統(tǒng)測試還是系統(tǒng)測試,都兼有檢測和組裝兩重含義,通常稱為集成測試。非漸增式是將模塊先進行單元測試然后組裝在一起進行測試。漸增式是逐個將未測試的模塊組裝到已經測試過的模塊上去進行集成測試,每加入一個就測試一次。非漸增式需要樁模塊和驅動模塊、非漸增式開始可以并行測試、漸增式可以及時的發(fā)現(xiàn)接口錯誤,非漸增式很難發(fā)現(xiàn)接口發(fā)現(xiàn)錯誤、漸增式開始不能并行測試、漸增式測試比較徹底。漸增式組裝模塊有自頂向下和自底向上兩種組裝方式。26、什么是確認測試?該階段有那些工作?按照需求規(guī)格說明書中的確定指標對系統(tǒng)進行功能與性能的測試。該階段進行明確測試(對照需求規(guī)格說明書用黑盒法進行測試
18、),軟件配置測試(文檔的完整性,發(fā)現(xiàn)遺漏錯誤及時補充和修改)27、什么叫流圖?如何畫出流圖?流圖的環(huán)形復雜度如何計算?流圖是抽象化的程序流圖,突出表現(xiàn)控制流.符號為流圖的一個結點,表示一個或多個無分支語句。箭頭為邊,表示控制流的方向。在分支結構中,分支的匯聚處應有一個匯聚結點. 每一條邊必須終止于一個結點。如果判斷中的條件表達式是由一個或多個邏輯運算符(OR,AND, NAND, NOR)連接的復合條件表達式,則需要改為一系列只有單個條件的嵌套的判斷。根據(jù)程序內單條件分支數(shù)或循環(huán)個數(shù)來度量環(huán)形復雜度即程序的復雜度. 環(huán)形復雜度即程序的復雜度根據(jù)程序內單條件分支數(shù)或循環(huán)個數(shù)來度量環(huán)形復雜度即程序
19、的復雜度V(G)= 流圖區(qū)域數(shù)28、白盒測試與黑盒測試分別有哪些測試方法?如何對具體問題測試?白盒測試 對程序模塊的所有的執(zhí)行路徑至少測試一次;對所有的邏輯判定,取“真”與取“假”白盒測試的兩種情況都至少測試一次;白盒測試也叫邏輯覆蓋法 包括:語句覆蓋,判定覆蓋,條件覆蓋黑盒測試 發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產生正確的輸出。黑盒測試有 等價類法和邊界值分析法29、軟件測試的步驟有哪些?每個測試階段的測試依據(jù)是什么?分別有誰來測試?步驟 測試內容 時間單元測試 : 將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一個單元能正確運行。(
20、編碼測試階段 )子系測試系統(tǒng) :將經過單元測試的模塊放在一起形成一個子系統(tǒng)來測試,以測試模塊間的接口正確性作為主要任務。(集中測試階段 )系統(tǒng)測試 : 將經過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試,檢驗系統(tǒng)是否確實能實現(xiàn)需求規(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ā)現(xiàn)的程序錯誤進行診斷和改正的過程;占維護工作量17-21% 。2、適應性維護:配合變化了的環(huán)境進行修改軟件的活動;占維護工作量18-25% 。3、完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進行的改進工作;占維護工作量50-66%。4、預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作;占維護工作量4%左右31、UML 中活動圖、狀態(tài)圖、順序圖都分別描述什么?活動圖 強調
22、的是從活動到活動的控制流,是一種表述過程基理、業(yè)務過程以及工作流的技術?;顒訄D 它可以用來對業(yè)務過程、工作流建模,也可以對用例實現(xiàn)甚至是程序實現(xiàn)來建模狀態(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 稱為 B的子類 ,而把 B稱為 A的 父類 。繼承使得相似對象可
24、以共享程序代碼和數(shù)據(jù)結構,大大減少程序中的冗余信息;繼承可以把已有的一般性的類具體化來提高軟件的可重用性。多態(tài)性( Polymorphism )是指在父類中定義的屬性或服務被子類繼承后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為34、用例圖的作用是什么?用例圖是外部參與者所能觀察到的系統(tǒng)功能的模型圖。由一組用例、 參與者及它們之間的關系組成。主要用于對系統(tǒng)、子系統(tǒng)或類的功能行為進行建模。參與者是與系統(tǒng)交互的外部實體,可以是人,也可以是其它系統(tǒng)。用例是從用戶的角度描述系統(tǒng)的行為(功能)它將系統(tǒng)的功能描述成一系列事件,這些事件最終對參與者產生可觀察結果35、UML 中的關系有哪些?關系有六種:依賴,
25、類屬,關聯(lián),實現(xiàn),聚合和組合36、UML 中實現(xiàn)關系、依賴關系、泛化關系等符號?實現(xiàn)關系-依賴關系-泛化關系37、用例、活動、狀態(tài)、節(jié)點等圖形符號分別是什么?填空參與者、用例間的關系類型關系類型說明表示符號關聯(lián)參與者和用例間的關系泛化參與者之間或用例之間的關系包含用例之間的關系擴展用例之間的關系面向對象 =對象 +類 +繼承 +通信聚合組合1、畫出UML中依賴關系的圖形符號-2、在UML 2.0中定義了四種交互圖,其中強調對象調用順序的是程序圖。3、 UML中實現(xiàn)關系的圖形符號是4、軟件生命周期可劃分為8 個階段,它們是什么?。問題定義、可行性研究、需求分析;總體設計、詳細設計、編碼與單元測試
26、、綜合測試;運行維護。5、軟件測試的目的是發(fā)現(xiàn)錯誤,通常把測試方法按功能劃分為墨盒測試 和白盒測試 兩大類。因為通常不可能做到窮盡測試,所以精心設計測試方案是保證達到測試目的所必須的。6、計算機軟件的開發(fā)經過三個階段分別為:定義、設計 和運行。7、軟件維護的活動包括四種:改正性維護、適應性維護 、完善性維護 和預防性維護。8、在軟件測試過程的4 個步驟中,測試依據(jù)是需求規(guī)格說明的是驗收測試 。選擇題1、以下哪個不是詳細設計中常用的圖形描述工具。A、數(shù)據(jù)流圖B、程序流圖C、盒圖( N-S 圖)D、問題分析圖(PAD)2、耦合是對軟件結構中各個不同模塊之間互相關聯(lián)程度的度量。一個模塊直接訪問另一個
27、模塊的內部信息應屬于方式。A 、控制耦合B、內容耦合C、數(shù)據(jù)耦合D 、外部耦合3、在七種內聚中屬于最強的是功能內聚,最弱的是偶然內聚4、軟件工程的原則包括:模塊化、抽象與逐步求精、信息隱藏與局部化、模塊獨立。模塊耦合程度低,則說明模塊的獨立性越強。A 耦合越強B 、 扇入數(shù)越高C、扇入數(shù)越低D、耦合越弱5、軟件設計包括兩個階段。A 、接口設計和結構設計B 、數(shù)據(jù)設計和概要設計C、結構設計和過程設計D 、概要設計和詳細設計6、現(xiàn)有一個計算類型的程序,它的輸入只有一個Y ,其范圍是 50 Y 50?,F(xiàn)從輸入的角度考慮設計了一組測試用例: 100, 100, 0。設計這組測試用例的方法是。A 、條件
28、覆蓋法B、邊緣值分析法C、錯誤推測法D 、等價劃分法7、系統(tǒng)設計分為兩個階段分別為設計方案與選擇方案。8、對于變換型的數(shù)據(jù)流圖,按照軟件設計思想,要將一個大型復雜的軟件進行分解,要確定數(shù)據(jù)流圖的輸入邊界,輸出邊界和變換中心。9、自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和寬度優(yōu)先策略。10、在用面向對象觀點建立起的3 種模型中,是最基本、最重要、最核心的。A 、動態(tài)模型、對象模型C、功能模型D 、狀態(tài)模型B11、在軟件結構圖的有關術語中,用于表示軟件結構中控制的層數(shù)的是。A 、扇出B、扇入C、深度D、寬度12、指出 PDL 是哪種語言 過程設計語言。13、在進行軟件測
29、試時,首先應當進行單元測試,然后再進行組裝測試,最后再進行有效性測試。14、結構化設計方法是面向的設計。A數(shù)據(jù)編碼B 數(shù)據(jù)流C數(shù)據(jù)庫D數(shù)據(jù)結構15、軟件工程的過程模型中,瀑布是經典的傳統(tǒng)模型。16、模塊定義為受該模塊內一個判斷影響的所有模塊集合。A 控制域、 作用域C、 寬度D、 接口B17、在軟件生命周期中,能準確確定軟件系統(tǒng)的體系結構的功能階段是。A、概要設計B、詳細設計C 、需求分析D、可行性分析18、下面不屬于軟件工程的基本原則的是_。A 、模塊化B、抽象C、局部化D、自頂向上19、在數(shù)據(jù)流圖中,用圓或者橢圓來表示。A 、數(shù)據(jù)流B 、數(shù)據(jù)源點或終點C、數(shù)據(jù)存儲D、加工20、 軟件是計算
30、機系統(tǒng)中與硬件相互依存的部分,它是包括(A)、( B)、及( C)的完整集合。其中,( A)是按事先設計的功能和性能要求執(zhí)行的指令序列,(B)是使程序員能夠正確操縱信息的數(shù)據(jù)結構,(C)是與程序開發(fā)、維護和使用有關的圖文材料。軟件程序代碼硬件文檔外設數(shù)據(jù)圖表21、 開發(fā)軟件時,對于提高軟件開發(fā)人員工作效率至關重要的是(A)。軟件工程中描述軟件生存周期的瀑布類型一般包括計劃、( B)、設計、編碼、測試、維護等幾個階段。其中,設計階段在管理上可以依次分成(C)和( D)兩個步驟。A: 程序開發(fā)環(huán)境 操作系統(tǒng)的資源管理功能 開發(fā)程序人員數(shù)量 計算機的并行處理能力B: 需求分析需求調查可行性分析問題定
31、義C、 D: 方案設計 代碼設計 概要設計 數(shù)據(jù)設計 運行設計 詳細設計 故障處理設計 軟件體系結構設計22在結構化的分析方法中,用以表達系統(tǒng)內數(shù)據(jù)的運行情況的工具有( ) 。A:數(shù)據(jù)流圖B :數(shù)據(jù)詞典C :結構化英語D :判定表與判定樹23在結構化的分析方法中,用實體關系圖表達系統(tǒng)中的對象及其關系,在實體關系圖中,表達對象的實例關系之間的關聯(lián)有三種類型:一對一聯(lián)系,() 聯(lián)系,多對多聯(lián)系。A : 一對多B :多對多24軟件需求分析的任務,不應包括(A) ,進行需求分析可使用多種工具,但(B) 是不適用的,在需求分析中,分析員要從用戶那里解決的最重要的問題是(C) 。規(guī)格說明書的內容不應當包括
32、(D) ,該文檔在開發(fā)中具有重要的作用,但其作用不應包括 (E) 。A: 1問題分析2信息域分析3 結構化程序設計4 確定邏輯模型B: 1數(shù)據(jù)流圖2判定表3PAD 圖4 數(shù)據(jù)詞典C: 1要讓軟件做什么2 要對該軟件提供哪些信息3要求軟件工作效率如何4 讓軟件具有什么結構D: 1對重要功能的描述2 對算法的詳細過程性描述3軟件確認準則4 軟件的性能E: 1軟件設計的依據(jù)2用戶和開發(fā)人員對軟件要”做什么”的共同理解3軟件驗收的依據(jù)4軟件可行性分析的依據(jù)25原型化方法是用戶和軟件開發(fā)人員之間進行的一種交互過程,適用于(A) 系統(tǒng),它從用戶界面的開發(fā)入手,首先形成 (B) ,用戶 (C) ,并就 (D
33、) 提出意見。A: 1需求不確定性高的2 需求確定的3管理信息4 決策支持B: 1用戶界面使用手冊2 用戶界面需求分析說明書3系統(tǒng)界面原型4 完善的用戶界面C: 1改進用戶界面的設計2 閱讀文檔資料3模擬用戶界面的運行4 運行用戶界面原型D: 1同意什么和不同意什么2 使用和不使用哪一種編程語言3 程序的結構4執(zhí)行速度是否滿足要求26. 從下列有關系統(tǒng)結構圖的描述中選出正確的敘述。 系統(tǒng)結構圖中反映的是程序中數(shù)據(jù)流的情況。 系統(tǒng)結構圖是精確表達程序結構的圖形表示法。因此有時也可將系統(tǒng)結構圖當作程序流程圖使用。 一個模塊的多個下屬模塊在系統(tǒng)結構圖中所處的左右位置是無關緊要的。 在系統(tǒng)結構圖中,上
34、級模塊與其下屬模塊之間的調用關系用有向線段表示。這時使用斜的線段和水平、垂直的線段具有相同的含義。27. 選出正確答案:一組語句在程序中多處出現(xiàn),為了節(jié)省內存空間,把這些語句放在一個模塊中,該模塊的內聚性是(A) 的。將幾個邏輯上相似的成份,放在同一個模塊中,通過模塊入口的一個判斷決定執(zhí)行哪一個功能,該模塊的內聚性是 (B) 的。模塊中所有成份引用共同的數(shù)據(jù),該模塊的內聚性是(C) 的。模塊內的某成份的輸出是另一些成份的輸入,該模塊的內聚性是(D) 的。模塊中所有成份結合起來完成一項任務,該模塊的內聚性是(E) 的。A E:偶然內聚時間內聚功能內聚通信內聚邏輯內聚信息內聚過程內聚28關于模塊化
35、程序設計的說法正確的五項:()1 程序設計比較方便但難于維護。2 便于由多人分工編制大型程序。3 軟件功能易于擴充。4 易于理解,也便于排錯。5 在主存儲器能夠容納的前提下,并使模塊盡可能大,以減少模塊的個數(shù)。6 模塊間的接口叫做數(shù)據(jù)文件。7 只要模塊之間的接口關系不變,模塊內部實現(xiàn)細節(jié)的修改將不會影響別的模塊。8 模塊間的單向調用關系叫做模塊的層次結構。9 模塊越小,模塊化的優(yōu)點越明顯,一般來說模塊的大小都在10 行以下。29從下列敘述中選出五條符合程序設計風格指導原則的敘述。1 嵌套的重數(shù)應加以限制。2 盡量少使用全局變量。3 不濫用語言特色。4 不用可以省略的括號。5 使用有意義的變量名
36、。6 盡可能把程序編的短些。7 把常見的局部優(yōu)化工作留給編譯程序去做。8 注解越少越好。9 程序的格式應有助于讀者理解程序。10 應盡可能多用 goto 語句。31. 測試過程需要三類輸入:(A) 、(B) 、 (C) 。A、 B、C:接口選擇軟件配置 硬件配置測試配置軟件環(huán)境測試工具32. 測試的費用已超過(A) 的 30以上,高產的測試是指(B) ,單元測試是在階段制定的,確認測試的計劃是在(E) 決定制定的。: 軟件開發(fā)費用軟件維護費用軟件開發(fā)和維護費用(C) 階段完成的,集成測試的計劃是在軟件研制費用(D)軟件生存期全部:用適量的測試用例運行程序,證明被測試程序正確無誤用適量的測試用例
37、運行程序,證明被測試程序符合相應的要求用少量的測試用例運行程序發(fā)現(xiàn)被測試程序盡可能多的錯誤用少量的測試用例運行程序,糾正被測程盡可能多的錯誤C、 D、 E:可行性研究和計劃需求分析概要設計 詳細設計實現(xiàn)集成測試確認測試使用和維護33. 軟件測試的目的是(A), 為了提高測試的效率,應該(B) 。使用白盒測試方法時,確定測試數(shù)據(jù)應根據(jù)(C) 和指定的附帶標準。與設計測試無關的文檔是(D) 。軟件的集成測試工作最好由(E) 承擔,以提高集成測試的結果。A:評價軟件的質量發(fā)現(xiàn)軟件的錯誤找出軟件中的所有錯誤證明軟件是正確的:隨機的選取測試數(shù)據(jù)取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)在完成編碼后,制定軟件的測試
38、計劃選 擇發(fā)現(xiàn)錯誤的可能性大的數(shù)據(jù)作為測試數(shù)據(jù)C: 程序的內部邏輯程序的復雜程度使用說明書程序的功能D:該軟件的設計人員程序的復雜程度源程序項目開發(fā)計劃E:該軟件的設計人員該軟件開發(fā)組的負責人該軟件的編程人員不屬于該軟件開發(fā)組的軟件設計人員34. 軟件調試的目的是(A): 找出錯誤所在,并改正之排除存在錯誤的可能性對錯誤性質進行分類統(tǒng)計出錯的次數(shù)一選擇題:1為了提高測試的效率,應該_ 。A 隨機地選取測試數(shù)據(jù)B 取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)庫C在完成編碼后制定軟件的測試計劃D 選擇發(fā)現(xiàn)錯誤可能性大的數(shù)據(jù)作為測試數(shù)據(jù)2與設計測試數(shù)據(jù)無關的文檔是_。A 需求說明書B。數(shù)據(jù)說明書C。源程序D 。
39、 項目開發(fā)設計3結構化設計是一種應用最廣泛的系統(tǒng)設計方法,是以_為基礎,自頂向下,求精和模塊化的過程。A 數(shù)據(jù)流B。 數(shù)據(jù)流圖4概要設計的結果是提供一份C。數(shù)據(jù)庫_ 。D 。數(shù)據(jù)結構A 模塊說明書B??驁DC 程序D 數(shù)據(jù)結構5需求分析是由分析員了解用戶的要求,認真細致地調研。分析,最終應建立目標系統(tǒng)的邏輯模型并寫出_ 。A 模塊說明書B。 軟件規(guī)格說明書C。項目開發(fā)計劃6注釋是提高程序可讀性的有效手段,好的程序注釋占到程序總量的D 。合同文檔_。A1/6B 。1/5C。 1/4D。1/37變換型和事務型是程序結構的標準形式。從某處獲得數(shù)據(jù),再對這些數(shù)據(jù)作處理,然后將結果送出是屬于A變換型B 事
40、務型8 PAD( Problem Analysis Diagram )圖是一種 _工具。A 系統(tǒng)描述B。 詳細設計C。測試D 。編程輔助_。9排錯一般是在測試發(fā)現(xiàn)錯誤后進行,其中找到錯誤位置占排錯總工作量的A 95%B 5%C 50%D 20%_ 。10分層數(shù)據(jù)流圖是一種比較嚴格又易于理解的描述方式,它的頂層描述了系統(tǒng)的_。A總貌B 細節(jié)C抽象D 軟件的作者11數(shù)據(jù)流圖中,當數(shù)據(jù)流向或流自文件時,_。A 數(shù)據(jù)流要命名,文件不必命名B 數(shù)據(jù)流不必命名,有文件名就足夠了D 數(shù)據(jù)流和文件均不要命名,通過加工可自然反映出12分析員是 _。A 用戶中系統(tǒng)的直接使用者B 用戶和軟件人員的中間人C軟件的編程
41、人員D 。用戶和軟件人員的領導13在軟件開發(fā)中,有利于發(fā)揮集體智慧的一種做法是_。A 設計評審 B 模塊化 C主程序員制D。進度控制14在開發(fā)軟件時,_可用來提高程序員的工作效率。A 程序開發(fā)環(huán)境B操作系統(tǒng)的作業(yè)管理功能C編譯程序的優(yōu)化功能D。并行運算的大型計算機15軟件測試中設計測試實例(test case)主要由輸入數(shù)據(jù)和_兩部分組成。A 測試規(guī)則B測試計劃C 預期輸出結果D以往測試記錄分析16結構化程序設計主要強調程序的_。A 效率B速度C可讀性D 大小17開發(fā)軟件需高成本和產品的低質量之間有著尖銳的矛盾,這種現(xiàn)象稱作_。A. 軟件投機B 軟件危機C軟件工程D 軟件產生18成功的測試是指
42、_。A 運行測試實例后未發(fā)現(xiàn)錯誤項B 發(fā)現(xiàn)程序的錯誤C證明程序正確D 改正程序的錯誤19系統(tǒng)開發(fā)的需求分析階段的重要工作之一是_。A 數(shù)據(jù)定義B 數(shù)據(jù)庫設計C數(shù)據(jù)維護20文檔是軟件開發(fā)人員.維護人員 .用戶以及計算機之間的果的 _和后段工作的_。_,D數(shù)據(jù)結構實現(xiàn)軟件開發(fā)人員在各個階段以文檔作為前段工作成A.接口B. 橋梁C.科學D. 繼續(xù)E.體現(xiàn)F.基礎21單獨測試一個模塊時試模塊調用的模塊。,有時需要一個_程序驅動被測試的模塊.有時還要有一個或幾個_模塊模擬由被測1.A. 理解2.A. 子(Sub)B.驅動B.仿真 (Initation)C.管理C.棧 (Ssack)D. 傳遞D. 樁(S
43、sub)22在結構化程序設計思想提出以前,在程序設計中曾強調程序的_?,F(xiàn)在,與程序的_相比,人們更重視程序的 _。12A 。安全性B。專用性C。一致性D 。合理性E。 可理解性F。 效率23軟件測試中, 白箱方法是通過分析程序的_來設計測試實例的方法,除了測試程序外,還適用于對_階段的軟件文檔進行測試。黑箱方法是根據(jù)程序的_來設計測試實例的方法,除了測試程序外,它適用于_ 階段的軟件文檔進行測試。1、 3A 應用范圍B 內部邏輯 C 功能 D輸入數(shù)據(jù)2、 4A 編碼 B 軟件詳細設計 C 軟件概要設計 D需求分析24( 1)在軟件生命期周期中,_階段所需工作量最大,約占70%;( 2)結構化分
44、析方法產生的系統(tǒng)說明書由一套_,一本數(shù)據(jù)字典和一組小說明及補充材料組成;( 3)軟件的 _一般由兩次故障平均間隔時間和故障平均恢復時間來度量;( 4)采用 _ 且編寫程序,可提高程序的可移植性;( 5)僅依據(jù)規(guī)格說明書描述的程序功能來設計測試實例的方法稱為_。1A分析 B設計 C 編碼 D 測試E 維護2 A 因果 B。 分層數(shù)據(jù)流圖 C PAD 圖 D程序流程圖3 A 可維護性B 可靠性C 效率D 互理解性4 A 機器語言B 宏指令C 匯編語言D 高級語言5 A 白箱法B 表態(tài)分析法C 黑箱法D 人工分析法25 _是以發(fā)現(xiàn)錯誤為目的的,而_是以定位,分析和改正錯誤為目的的。A 測試B 排錯(調試)C維護D開發(fā)26請按順
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農村板車出售合同范例
- 公司注銷業(yè)務合同范本
- 中醫(yī)診所招聘合同范本
- 單位出售土地合同范本
- 公司車定維修合同范本
- 共享出租場地合同范本
- 勞務聯(lián)營合同范例
- 加油站出租合同范本
- 企業(yè)賦能合同范本
- 二手房房東出租合同范例
- (2024年)中國傳統(tǒng)文化介紹課件
- 糖尿病患者飲食指導課件
- 人工智能數(shù)據(jù)標注百億產業(yè)詳細介紹
- 2023年高考真題-地理(天津卷) 含答案
- 2024年10月自考02160流體力學試題及答案含評分參考
- 2025年公務員考試《行測》模擬題及答案(詳細解析)
- 2024年黑龍江省牡丹江市中考歷史試卷
- 滬科版八年級物理知識點總結
- 孫權勸學(原卷版)-2024年中考語文之文言文對比閱讀
- 高速公路日常清掃與養(yǎng)護方案
- 風電epc合同模板
評論
0/150
提交評論