軟件工程作業題含答案_第1頁
軟件工程作業題含答案_第2頁
軟件工程作業題含答案_第3頁
軟件工程作業題含答案_第4頁
軟件工程作業題含答案_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16、模塊的扇入是指一個模塊的直接上級模塊的個數。23、 軟件測試的目的是什么? 軟件測試是為了發現錯誤而執行程序的過程; 測試是程序的執行過程,目的在于發現錯誤; 軟件測試中需要數據,即為測試而精心設計的測試用例,利用測試用例去運行程序,幫助發現程序錯誤;一個好的測試用例在于能發現至今未發現的錯誤;一個成功的測試是發現了至今未發現的錯誤的測試。軟件測試絕對不是要證明程序的正確性, 也證明不了程序的正確性.24、 單元測試有那些內容?將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一個單元能正確運行。單元測試主要針對模塊的以下五個基本特征進行測試:1.模塊接口2.局部數據結構3.重要的執行路徑4

17、.錯誤處理5.邊界條件25、 什么是集成測試?非漸增式和漸增式有什么區別?漸增式如何組裝模塊?不論是子系統測試還是系統測試,都兼有檢測和組裝兩重含義,通常稱為集成測試。26、 什么是確認測試?該階段有那些工作? 按照需求規格說明書中的確定指標對系統進行功能與性能的測試。該階段進行明確測試(對照需求規格說明書用黑盒法進行測試),軟件配置測試(文檔的完整性,發現遺漏錯誤及時補充和修改)27、 什么叫流圖?如何畫出流圖?流圖的環形復雜度如何計算? 流圖是抽象化的程序流圖,突出表現控制流. 符號為流圖的一個結點,表示一個或多個無分支語句。箭頭為邊,表示控制流的方向。在 分支結構中,分支的匯聚處應有一個

18、匯聚結點. 每一條邊必須終止于一個結點。如果判斷中 的條件表達式是由一個或多個邏輯運算符 (OR, AND, NAND, NOR) 連接的復合條件 表達式,則需要改為一系列只有單個條件的嵌套的判斷。 根據程序內單條件分支數或循環個數來度量環形復雜度即程序的復雜度. 環形復雜度即程序的復雜度 根據程序內單條件分支數或循環個數來度量環形復雜度即程序的復雜度 V(G)=流圖區域數 V(G)=邊數-結點數+2 V(G)=單條件判定數+1 28、 白盒測試與黑盒測試分別有哪些測試方法?如何對具體問題測試?白盒測試對程序模塊的所有的執行路徑至少測試一次;對所有的邏輯判定,取“真”與取“假” 白盒測試的兩種

19、情況都至少測試一次;白盒測試也叫邏輯覆蓋法包括:語句覆蓋,判定覆蓋,條件覆蓋 黑盒測試發現程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數據, 來檢查程序是否都能產生正確的輸出。黑盒測試有等價類法和邊界值分析法29、 軟件測試的步驟有哪些?每個測試階段的測試依據是什么?分別有誰來測試?步驟 測試內容 時間 單元測試:將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一個單元能正確運行。 (編碼測試階段) 子系測試系統:將經過單元測試的模塊放在一起形成一個子系統來測試,以測試模塊間的接口正確性作為主要任務。 (集中測試階段) 系統測試:將經過測試的子系統裝配成一個完整的系統來測試,

20、檢驗系統是否確實能實現需求規格說明書中的功能,以及系統的動態特征是否符合預定要求。 階段 系統測試是指整個計算機系統(包括軟硬件)的測試,可與系統的安裝和驗收相結合進行。(集中測試階段)驗收測試:在用戶的參與下,把軟件系統作為單一的實體進行測試,使軟件系統能滿足用戶的需要。測試內容與系統測試基本相同。 (驗收階段) 平行測試: 新舊兩個系統同時運行進行比較,避免風險的同時給用戶對新系統一段熟悉的時間(運行階段)30、 什么叫維護?維護的類型有哪些?軟件維護就是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。 軟件維護 類型有: 1、改正性維護:對程序使用期間發現的程序錯誤進

21、行診斷和改正的過程;占維護工作量 17-21%。 2、適應性維護:配合變化了的環境進行修改軟件的活動;占維護工作量 18-25%。 3、完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進行的 改進工作;占維護工作量 50-66%。 4、預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作;占維護工作量 4% 左右31、 UML中活動圖、狀態圖、順序圖都分別描述什么?活動圖強調的是從活動到活動的控制流, 是一種表述過程基理、 業務過程以及工作流的技術。 活動圖 它可以用來對業務過程、工作流建模,也可以對用例實現甚至是程序實現來建模 狀態機圖常用來描述業務或軟件系統中的

22、對象在外部事件的作用下, 對象的狀態從一種狀態 狀態機圖 到另一種狀態的控制流。 順序圖描述的是對象之間的消息發送關系,而不是類之間的關系32、 UML中的事物有哪些?結構事物:UML 中的名詞,它是模型的靜態部分,描述概念或物理元素。 行為事物:UML 中的動詞,它是模型中的動態部分,是一種跨越時間、空間的行為。分組事物:UML 中的容器,用來組織模型,使模型更加的結構化。 注釋事務:UML 中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型的33、 面向對象的基本概念類、對象、封裝、繼承等定義是什么?類(Class)是具有相同屬性和服務的一組對象的集合,它為屬于該類的全部對象提供了統一的

23、抽象描述,其內部包括屬性和服務兩個主要部分。對象(Object)是系統中描述客觀事物的一個實體,它是構成系統的一個基本單位,由一組 屬性和對這組屬性進行操作的一組服務組成,是類的一個實例 封裝(Encapsulation)是把對象的屬性和服務結合成一個獨立的系統單位,并盡可能隱藏對象的內部細節。繼承性:如果一個類 A 繼承自另一個類 B,就把這個 A 稱為"B 的子類",而把 B 稱為"A 的 父類"。繼承使得相似對象可以共享程序代碼和數據結構,大大減少程序中的冗余信息;繼 承可以把已有的一般性的類具體化來提高軟件的可重用性。 多態性(Polymorph

24、ism)是指在父類中定義的屬性或服務被子類繼承后,可以具有不同的數據類型或表現出不同的行為34、 用例圖的作用是什么?用例圖是外部參與者所能觀察到的系統功能的模型圖。 由一組用例、 參與者及它們之間的關 系組成。主要用于對系統、子系統或類的功能行為進行建模。參與者是與系統交互的外部實體,可以是人,也可以是其它系統。用例是從用戶的角度描述系統的行為(功能)它將系 統的功能描述成一系列事件,這些事件最終對參與者產生可觀察結果35、 UML中的關系有哪些?關系有六種:依賴,類屬,關聯,實現,聚合和組合36、 UML中實現關系、依賴關系、泛化關系等符號?實現關系-依賴關系->泛化關系37、 用例

25、、活動、狀態、節點等圖形符號分別是什么?填空參與者、用例間的關系類型關系類型說明表示符號關聯參與者和用例間的關系泛化參與者之間或用例之間的關系包含用例之間的關系<<include>>擴展用例之間的關系<<extend>> 面向對象=對象+類+繼承+通信1、畫出UML中依賴關系的圖形符號 ->2、在UML 2.0中定義了四種交互圖,其中強調對象調用順序的是程序圖。3、UML中實現關系的圖形符號是 。4、 軟件生命周期可劃分為8個階段,它們是什么?問題定義、可行性研究、需求分析;總體設計、詳細設計、編碼與單元測試、綜合測試;運行維護。5、軟件測

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

27、 A、控制耦合 B、內容耦合 C、數據耦合 D、外部耦合3、在七種內聚中屬于最強的是 功能 內聚,最弱的是 偶然 內聚4、軟件工程的原則包括:模塊化、抽象與逐步求精、信息隱藏與局部化、模塊獨立。模塊耦合程度低,則說明模塊的獨立性越強。 A 耦合越強 B、 扇入數越高 C、扇入數越低 D、耦合越弱5、軟件設計包括 兩個階段。 A、接口設計和結構設計 B、數據設計和概要設計 C、結構設計和過程設計 D、概要設計和詳細設計6、現有一個計算類型的程序,它的輸入只有一個Y,其范圍是50Y50。現從輸入的角度考慮設計了一組測試用例:100,100,0。設計這組測試用例的方法是 。 A、條件覆蓋法 B、邊緣

28、值分析法 C、錯誤推測法 D 、等價劃分法7、系統設計分為兩個階段分別為 設計方案 與 選擇方案 。8、對于變換型的數據流圖,按照軟件設計思想,要將一個大型復雜的軟件進行分解,要確定數據流圖的輸入邊界,輸出邊界和 變換中心 。9、自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和 寬度優先策略 。10、在用面向對象觀點建立起的3種模型中, 是最基本、最重要、最核心的。 A、動態模型 B、對象模型 C、功能模型 D、狀態模型11、在軟件結構圖的有關術語中,用于表示軟件結構中控制的層數的是 。 A、扇出 B、扇入 C、深度 D、寬度12、指出PDL是哪種語言 過程設計語言 。1

29、3、在進行軟件測試時, 首先應當進行 單元 測試,然后再進行組裝測試,最后再進行有效性測試。14、結構化設計方法是面向 的設計。 A數據編碼 B數據流 C數據庫 D數據結構15、軟件工程的過程模型中, 瀑布 是經典的傳統模型。16、模塊 定義為受該模塊內一個判斷影響的所有模塊集合。 A 控制域 B、 作用域 C、 寬度 D、 接口17、在軟件生命周期中,能準確確定軟件系統的體系結構的功能階段是 。 A、概要設計 B、詳細設計 C、需求分析 D、可行性分析18、下面不屬于軟件工程的基本原則的是_ _。 A、模塊化B、抽象 C、局部化 D、自頂向上19、在數據流圖中,用圓或者橢圓來表示 。 A、數

30、據流   B、數據源點或終點 C、數據存儲 D、加工20、 軟件是計算機系統中與硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。其中,(A)是按事先設計的功能和性能要求執行的指令序列,(B)是使程序員能夠正確操縱信息的數據結構,(C)是與程序開發、維護和使用有關的圖文材料。 軟件   程序   代碼   硬件   文檔   外設   數據   圖表21、 開發軟件時,對于提高軟件開發人員工作效率至關重要的是(A)。軟件工

31、程中描述軟件生存周期的瀑布類型一般包括計劃、(B)、設計、編碼、測試、維護等幾個階段。其中,設計階段在管理上可以依次分成(C)和(D)兩個步驟。 A: 程序開發環境    操作系統的資源管理功能   開發程序人員數量    計算機的并行處理能力 B: 需求分析   需求調查   可行性分析   問題定義 C、D: 方案設計     代碼設計     概要設計 

32、0;     數據設計 運行設計     詳細設計     故障處理設計   軟件體系結構設計22在結構化的分析方法中,用以表達系統內數據的運行情況的工具有( )。 A:數據流圖   B:數據詞典   C:結構化英語   D:判定表與判定樹23在結構化的分析方法中,用實體關系圖表達系統中的對象及其關系,在實體關系圖中,表達對象的實例關系之間的關聯有三種類型:一對一聯系,(  

33、)聯系,多對多聯系。 A:一對多   B:多對多24軟件需求分析的任務,不應包括(A),進行需求分析可使用多種工具,但(B)是不適用的,在需求分析中,分析員要從用戶那里解決的最重要的問題是(C)。規格說明書的內容不應當包括(D),該文檔在開發中具有重要的作用,但其作用不應包括(E)。 A: 1 問題分析    2 信息域分析    3 結構化程序設計    4 確定邏輯模型 B: 1 數據流圖    2 判定表    

34、;    3 PAD圖            4 數據詞典 C: 1 要讓軟件做什么               2 要對該軟件提供哪些信息   3 要求軟件工作效率如何         4 讓軟件具有什么結構 D: 1

35、 對重要功能的描述    2 對算法的詳細過程性描述 3 軟件確認準則        4 軟件的性能 E: 1 軟件設計的依據      2 用戶和開發人員對軟件要”做什么”的共同理解 3 軟件驗收的依據      4 軟件可行性分析的依據25原型化方法是用戶和軟件開發人員之間進行的一種交互過程,適用于(A)系統,它從用戶界面的開發入手,首先形成(B),用戶(C),并就(D)提出意見。 A: 1

36、需求不確定性高的    2 需求確定的      3 管理信息      4 決策支持 B: 1 用戶界面使用手冊      2 用戶界面需求分析說明書   3 系統界面原型          4 完善的用戶界面 C: 1 改進用戶界面的設計    2 閱讀文檔資料 &

37、#160;  3 模擬用戶界面的運行    4 運行用戶界面原型 D: 1 同意什么和不同意什么    2 使用和不使用哪一種編程語言     3 程序的結構              4 執行速度是否滿足要求26.從下列有關系統結構圖的描述中選出正確的敘述。 系統結構圖中反映的是程序中數據流的情況。 系統結構圖是精確表達程序結構的圖形表示法。因此有時也可將系統結構圖當作程序流

38、程圖使用。 一個模塊的多個下屬模塊在系統結構圖中所處的左右位置是無關緊要的。 在系統結構圖中,上級模塊與其下屬模塊之間的調用關系用有向線段表示。這時使用斜的線段和水平、垂直的線段具有相同的含義。27.選出正確答案:一組語句在程序中多處出現,為了節省內存空間,把這些語句放在一個模塊中,該模塊的內聚性是(A)的。將幾個邏輯上相似的成份,放在同一個模塊中,通過模塊入口的一個判斷決定執行哪一個功能,該模塊的內聚性是(B)的。模塊中所有成份引用共同的數據,該模塊的內聚性是(C)的。模塊內的某成份的輸出是另一些成份的輸入,該模塊的內聚性是(D)的。模塊中所有成份結合起來完成一項任務,該模塊的內聚性是(E)

39、的。AE:偶然內聚   時間內聚   功能內聚   通信內聚   邏輯內聚   信息內聚   過程內聚28關于模塊化程序設計的說法正確的五項:(   )1程序設計比較方便但難于維護。2便于由多人分工編制大型程序。3軟件功能易于擴充。4易于理解,也便于排錯。5在主存儲器能夠容納的前提下,并使模塊盡可能大,以減少模塊的個數。6模塊間的接口叫做數據文件。7只要模塊之間的接口關系不變,模塊內部實現細節的修改將不會影響別的模塊。8模塊間的單向調用關系叫做模塊的層次結

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

41、試的計劃是在(D)階段制定的,確認測試的計劃是在(E)決定制定的。:軟件開發費用   軟件維護費用   軟件開發和維護費用   軟件研制費用軟件生存期全部:用適量的測試用例運行程序,證明被測試程序正確無誤用適量的測試用例運行程序,證明被測試程序符合相應的要求用少量的測試用例運行程序發現被測試程序盡可能多的錯誤   用少量的測試用例運行程序,糾正被測程盡可能多的錯誤C、D、E:可行性研究和計劃 需求分析 概要設計 詳細設計 實現 集成測試 確認測試   使用和維護33.軟件測試的目的是(A),為了

42、提高測試的效率,應該(B)。使用白盒測試方法時,確定測試數據應根據(C)和指定的附帶標準。與設計測試無關的文檔是(D)。軟件的集成測試工作最好由(E)承擔,以提高集成測試的結果。A:評價軟件的質量 發現軟件的錯誤 找出軟件中的所有錯誤 證明軟件是正確的:隨機的選取測試數據       取一切可能的輸入數據作為測試數據在完成編碼后,制定軟件的測試計劃選擇發現錯誤的可能性大的數據作為測試數據C:程序的內部邏輯   程序的復雜程度   使用說明書   程序的功能D:該軟件的設計人員

43、   程序的復雜程度   源程序   項目開發計劃E:該軟件的設計人員   該軟件開發組的負責人   該軟件的編程人員 不屬于該軟件開發組的軟件設計人員34.軟件調試的目的是(A) :找出錯誤所在,并改正之   排除存在錯誤的可能性   對錯誤性質進行分類   統計出錯的次數一 選擇題:1為了提高測試的效率,應該_。A隨機地選取測試數據 B取一切可能的輸入數據作為測試數據庫C在完成編碼后制定軟件的測試計劃D選擇發現錯誤可能性大的數據作為

44、測試數據2與設計測試數據無關的文檔是_。 A需求說明書 B。數據說明書 C。源程序 D。項目開發設計3結構化設計是一種應用最廣泛的系統設計方法,是以_為基礎,自頂向下,求精和模塊化的過程。 A數據流 B。數據流圖 C。數據庫 D。數據結構4概要設計的結果是提供一份_。 A模塊說明書 B。框圖 C 程序 D 數據結構5需求分析是由分析員了解用戶的要求,認真細致地調研。分析,最終應建立目標系統的邏輯模型并寫出_。 A模塊說明書 B。 軟件規格說明書 C。項目開發計劃 D。合同文檔6注釋是提高程序可讀性的有效手段,好的程序注釋占到程序總量的_。 A1/6 B。1/5 C。1/4 D。1/37變換型和

45、事務型是程序結構的標準形式。從某處獲得數據,再對這些數據作處理,然后將結果送出是屬于_。 A變換型 B 事務型 8PAD(Problem Analysis Diagram)圖是一種_工具。 A系統描述 B。詳細設計 C。測試 D。編程輔助9排錯一般是在測試發現錯誤后進行,其中找到錯誤位置占排錯總工作量的_。A 95%B5%C50%D20% 10分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描述了系統的_。A 總貌B細節C抽象D軟件的作者 11數據流圖中,當數據流向或流自文件時,_。A數據流要命名,文件不必命名B數據流不必命名,有文件名就足夠了C數據流和文件均要命名,因為流出和流進數據

46、流是不同的D數據流和文件均不要命名,通過加工可自然反映出 12分析員是_。A 用戶中系統的直接使用者B用戶和軟件人員的中間人C軟件的編程人員 D。用戶和軟件人員的領導 13在軟件開發中,有利于發揮集體智慧的一種做法是_。A 設計評審B模塊化C主程序員制D。進度控制14在開發軟件時,_可用來提高程序員的工作效率。A程序開發環境B操作系統的作業管理功能C編譯程序的優化功能D。并行運算的大型計算機 15軟件測試中設計測試實例(test case)主要由輸入數據和_兩部分組成。A 測試規則B測試計劃C預期輸出結果D以往測試記錄分析 16結構化程序設計主要強調程序的_。A 效率B速度C可讀性D大小 17

47、開發軟件需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作_。A.軟件投機B軟件危機C軟件工程D軟件產生18成功的測試是指_。A運行測試實例后未發現錯誤項B發現程序的錯誤C證明程序正確D改正程序的錯誤19系統開發的需求分析階段的重要工作之一是_。A數據定義B數據庫設計C數據維護D數據結構實現20文檔是軟件開發人員.維護人員.用戶以及計算機之間的_, 軟件開發人員在各個階段以文檔作為前段工作成果的_和后段工作的_。A. 接口B.橋梁C.科學D.繼續E.體現F.基礎21單獨測試一個模塊時,有時需要一個_程序驅動被測試的模塊.有時還要有一個或幾個_模塊模擬由被測試模塊調用的模塊 。1.A.理解B

48、.驅動C.管理D.傳遞2.A.子(Sub)B.仿真(Initation)C.棧(Ssack)D.樁(Ssub)22在結構化程序設計思想提出以前,在程序設計中曾強調程序的_。現在,與程序的_相比,人們更重視程序的_。12A。安全性B。專用性C。一致性D。合理性 E。可理解性F。效率23軟件測試中,白箱方法是通過分析程序的_來設計測試實例的方法,除了測試程序外,還適用于對_階段的軟件文檔進行測試。黑箱方法是根據程序的_來設計測試實例的方法,除了測試程序外,它適用于_階段的軟件文檔進行測試。 1、3A應用范圍B內部邏輯C功能D輸入數據 2、4A編碼B軟件詳細設計C軟件概要設計D需求分析24(1)在軟

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

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

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

52、小的階段。A詳細設計B可行性分析C運行及維護D測試與排錯30軟件的_設計又稱為總體設計,其主要任務是建立軟件系統的總體結構。A概要B抽象C邏輯D規劃31結構化分析SA是軟件開發需求分析階段所使用的方法,_不是SA所使用的工具。ADFD圖BPAD圖C結構化英語D判定表32結構化分析方法以數據流圖、_和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統模型。ADFD圖BPAD圖CIPO圖D數據字典33模塊本身的內聚是模塊獨立性的重要度量因素之一,在七類內聚中,具有最強內聚的一類是_。A順序性內聚B過程性內聚C邏輯性內聚D功能性內聚34Jackson設計方法由英國的M. Jackson提出的

53、,它是一種面向_的設計方法。A對象B數據流C數據結構D控制結構35結構化設計思想的核心是要求程序只由順序、循環和_三種結構組成。A分支B單入口C單出口D有規則GOTO36源程序的版面文檔要求應有變量說明、適當注釋和_。A框圖B統一書寫格式C修改記錄D編程日期37在軟件工程中,軟件測試的目的是_。A試驗性運行軟件B發現軟件錯誤C證明軟件是正確的D找出軟件中的全部錯誤38在軟件工程中,當前用于保證軟件質量的主要技術手段還是_。A正確性證明B測試C自動程序設計D符號證明39在軟件工程中,高質量的文檔標準是完整性、一致性和_。A統一性B安全性C無二義性D組合性40在軟件研究過程中,CASE是_。A指計

54、算機輔助系統工程BCAD和CAM技術的發展動力C正在實驗室用的工具D指計算機輔助軟件工程41軟件(結構)設計階段(概要設計)的文檔是_。A系統模型說明書B程序流程圖C系統功能說明書D模塊結構圖和說明書42軟件的維護是指_。A對軟件的改進、適應和完善B維護正常運行C配置新軟件D軟件開發期的一個階段43逆向工程在軟件工程中主要用于_階段。A分析B設計C編碼D維護44軟件工程中,只根據程序的功能說明而不關心程序內部的邏輯結構的測試方法,稱為_測試。A白盒法B灰盒法C黑盒法D綜合法45模塊內聚聯系最大的是_。A順序內聚B功能內聚C通信內聚D時間內聚46在軟件的設計階段應提供的文檔是_。A 軟件需求規格說明書B 概要設計規格說明書和詳細設計規格說明書C 數據字典及流程圖D 源程序以及源程序的說明書47程序流程圖、N-S圖和PAD圖是_使用的算法表達工具。A設計階段的概要設計B設計階段的詳細設計C編碼階段D測試階段48軟件的可維護性是指_。A軟件的可理解程度,程序修改的難易程度B軟件文檔修改的難易程度C程序修改的難易程度D使用維護工具進行維護的難易程度49月收入<=800元者免稅,現用輸入數800元和801元測試程序,則采用的是_方法。A邊緣值分析B條件覆蓋C錯誤推測

溫馨提示

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

評論

0/150

提交評論