




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 軟件工程概念 第一章:軟件定義 1.軟件( Software):軟件=程序+數據+文檔軟件工程: 軟件工程是研究如何將完善的科學與工程原理,先進高效的管理技術以及完整規范的設計方法應用于經濟地開發即可靠,又能在實際計算機上有效運行的軟件的一門工程學科。3.軟件生命周期: 軟件生命周期是一個軟件系統從目標提出、定義、開發、使用和維
2、護,直到最后丟棄的整個過程。4.加工: 數據的基本處理過程.5.數據字典: 對數據流圖中所有的數據元素、數據結構、數據文件、數據流等的格式與內容進行定義的數據集合6.數據流圖: 一種描述數據在系統中流動的圖形工作7.模塊獨立性: 所謂模塊獨立性是指模塊完成它自身規定的功能而與系統中其它的模塊保持一定的相對獨立。8.UML: Unified Modeling Language統一建模語言,是一種標準的圖形化建模語言,它是面向對象分析與設計的一種標準表示。9.什么事軟件危機?危機的主要表現是什么?: 軟件危機是指在軟件開發和維護中遇到了一系列嚴重的問題。表現:對軟件開發的成本和進度難于估計。軟件質
3、量不高,潛在差錯的危害。缺乏完整、正確的文檔,維護極困難,難于移植以至于不得不重復開發類似的軟件。10.什么是軟件開發的工程化?工程化的軟件開發方法與早期的程序設計方法的不同點在哪里? : 軟件工程學的核心思想是:用工程化的規范方法指導軟件的開發、運行及維護工作。工程化需要包括如下四個方面: .具有相應的理論與技術 .具備實現工程化的工具和環境 .具備統一的工程規范 .管理和控制 早期的程序開發方法沒有統一的指導原則,隨意編寫程序,強調程序執行效率。工程化的軟件開發方法具有統一的指導原則,規范化的開發軟件,強調軟件的可理解性,可維護性和可復用性。11.瀑布模型的主要缺點是什么?原型開發方法有什
4、么好處?: 瀑布模型給出了固定的開發順序,它的突出缺點是缺乏靈活性。軟件需求往往無法一下子徹底弄清,因此瀑布模型可能導致開發出的不是用戶真正需要的軟件,或者由于需求不能確定而造成項目后續工作無法開始。l 瀑布模型很難適應需求的動態變更,特別是用戶對需求處于模糊認識時更為困難。后期更改需求將付出高昂的代價。l 原型方法的好處包括:增進了軟件開發人員和用戶對系統需求的理解,使比較含糊的軟件需求明確化;提供了一種有力的學習手段。12.需求與設計的主要任務是什么?: 需求的任務:l 對問題的識別和理解需求獲取l 對需求信息的分析和綜合需求規約編制“需求規格說明書” l 需求分析的復審設計的任務:l 制
5、定規范。l 軟件結構的設計l 數據結構的設計及接口設計:l 系統性能設計l 軟件質量的設計l 設計文檔的編寫l 設計的審查和復審13.什么叫耦合?什么叫內聚?耦合、內聚與模塊獨立性的關系?: 內聚是指模塊內部各軟件元素之間結合的緊密程度l耦合是度量一個軟件結構中模塊與模塊之間聯系程度強弱的一個指標l內聚程度越高模塊獨立性越強,耦合程度越低模塊獨立性越強。14. 軟件系統的兩種典型結構是什么?它們有什么特點?: 變換型結構:在系統數據流圖中,呈現出明確的輸入、變換處理和輸出3個部分的結構特征。 事務型結構有一個加工,它將輸入流分離成若干個不容的輸出流,從而形成若干種不同事務處理活動的路徑,并允許
6、系統逐一處理。15.什么是對象?什么是類?對象和類的關系是什么?:對象是各種客觀實體的抽象,是由一組屬性和對這組屬性進行操作的一組服務結合在一起所構成的獨立實體。它構成了系統概念模型的基本單元。l 類是一組具有相同數據結構和相同操作的對象的集合。類的定義包括一組數據屬性和在數據上的一組合法操作。l 類中的每個對象都稱為該類的一個實例。16.面向對象設計的原則?:模塊化數據抽象和過程抽象信息的隱蔽和封裝對象的高內聚和低耦合復用17.簡述算法的幾種描述工具:程序流程圖結構流程圖(盒圖) PAD圖判定表判定樹過程定義語言18.什么是白盒測試?什么是黑盒測試?:白盒測試技術是從程序內部結構入手來設計測
7、試用例的測試技術;l黑盒測試技術則相反,不考慮軟件內部結構,而是以軟件需求規格說明書為根據來設計測試用例的測試技術。2.軟件的特征:邏輯復雜,開發復雜,成本高,風險大,維護困難。 3.按軟件功能分類:系統軟件,支撐軟件,應用軟件。 系統軟件:操作系統,數據庫管理系統,設備驅動程序,通信處理程序等。 支撐軟件:文本編輯程序,文件格式化程序,程序庫系統等 應用軟件:商業數據處理軟件,工程與科學計算軟件,計算機輔助設計制造軟件,系統仿真軟件,智能嵌入軟件,醫療、制藥軟件,事務管理、辦公自動化軟件。 按軟件規模分類:微型,小型,中型,大型,甚大型,極大
8、型。 按軟件工作方式分:實時處理軟件,分時軟件,交互式軟件,批處理軟件 4.軟件危機:是指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題 5.軟件危機主要是兩個問題:1.如何開發軟件,以滿足對軟件的日益增長的需求?2.如何維護數量不斷膨脹的已有軟件? 5.軟件危機的表現:1.成本高,開發成本估計不準確2.軟件質量不高、可靠性差3.進度難以控制4.維護非常困難5.用戶不滿意6. 由于軟件質量問題導致失敗的軟件項目非常多。 6.產生軟件危機的原因:1.與軟件本身的特點有關 2.與軟件開發與維護的方法不正確有關.
9、軟件工程學的目的:以較低的成本研制具有較高質量的軟件 軟件工程技術的兩個明顯特點:1.強調規范化2. 強調文檔化 軟件工程的基本原理(7條):1.用分階段的生命周期計劃嚴格管理2.堅持進行階段評審3.實嚴格的產品控制4.采用現代程序設計技術5.結果應能清楚地審查6.開發小組的人員應該少而精7.承認不斷改進軟件工程實踐的必要性 8.軟件工程方法學包含3個要素:方法、工具和過程 9.軟件生命周期:軟件定義(問題定義,可行性研究,需求分析),軟件開發( 總體設計,詳細設計,編碼和單元測試,集成測試),運行維護 ( 持久滿
10、足用戶需求) 10.軟件過程模型:瀑布模型,快速原型模型,增量模型 ,螺旋模型,噴泉模型。 11.軟件過程模型RUP:初始階段,細化階段,構造階段,移交階段 1.可行性研究的五個方案:技術可行性,經濟可行性,操作可行性,法律可行性,社會效益 2.可行性研究過程:1.復查系統規模與目標、2.研究目前的系統、3. 導出新系統的高層邏輯模型、4. 進一步定義問題、5. 導出和評價供選擇的解法、6. 推薦行動方針、7. 草擬開發計劃、8.書寫文檔提交審查 3.系統流程圖:用來描述物理系統的工具
11、。 4.系統流程圖表達:是數據在系統各部件之間流動的情況,而不是對數據進行加工處理的控制過程。即:系統流程圖程序流程圖。 5.系統流程圖的基本思想:用圖形符號以黑盒子形式描繪組成系統的每個部件 6.系統流程圖元素:處理,輸入輸出,連接,換頁連接,數據流。 7.數據流圖:用來描述邏輯系統的工具。 數據流圖(DFD)是一種圖形化技術,它描繪信息流和數據從輸入移動到輸出的過程中所經受的變換,即數據流圖描繪數據在軟件中流動和被處理的邏輯過程。 8.數據流圖四種基本符號:數據加工/處理/變換,數據源點或終點 (外部實體),
12、數據存儲,數據流。 9.數據字典的組成:數據流,數據流分量(數據元素),數據存儲,處理。10.數據元素:順序,選擇,重復,可選。 1.需求分析:軟件定義時期的最后一個階段, 2.需求分析的基本任務:不是確定系統怎樣完成它的工作,而是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。 3.軟件需求的組成:業務需求, 用戶需求,系統需求。 4.需求分析方法:面向數據流的結構化分析方法 (SA),面向對象的分析方法 (OOA) 等5.邏輯模型:數據流圖(DFD),數據字典(
13、DD),實體-關系圖(ERD),狀態轉換圖(STD) 6.物理模型:系統流程圖, 7.需求分析的基本思想:“自頂向下,逐步求精”,抽象和分解 8.需求分析;功能模型數據流圖,數據模型實體-關系圖,行為模型狀態轉換圖 9.實體-關系圖(ERD):描述數據對象及數據對象之間的關系 10.數據流圖(DFD):描述數據在系統中如何被傳送或變換,以及描述如何對數據流進行變換的功能(子功能) 11.狀態轉換圖(STD):描述系統對外部事件如何響應,如何動作 模型的核心是數據字典
14、 12.實體-聯系圖(ER)組成::數據對象(實體)、數據對象的屬性及數據對象彼此間相互連接的關系。 聯系:一對一聯系,一對多聯系,多對多聯系。 通常用矩形框代表實體;用連接相關實體的菱形框表示關系;用橢圓形或圓角矩形表示實體(或關系)的屬性;并用直線把實體(或關系)與其屬性連接起來。 13.數據規范化目的是:1.消除數據冗余,即消除表格中數據的重復;2.消除多義性,使關系中的屬性含義清楚、單一;3.使關系的“概念”單一化,
15、讓每個數據項只是一個簡單的數或字符串,而不是一個組項或重復組;4.方便操作。使數據的插入、刪除與修改操作可行并方便;5.使關系模式更靈活,易于實現接近自然語言的查詢方式。 14.狀態轉換圖(簡稱為狀態圖):通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。此外,狀態圖還指明了作為特定事件的結果,系統將做哪些動作(例如,處理數據)。 15.狀態:初態:一個,終態:0或多個,中間狀態 16. 驗證軟件需求:一致性,完整性,現實性, 有效性。 1.總體設計(概要設計):將軟件需求轉化為數據結構和軟件的系統結構2.數據庫設計包括三
16、個步驟:模式設計,子模式設計,存儲模式設計。 3.軟件設計原理:模塊化,抽象,逐步求精,信息隱藏與信息局部化,模塊獨立 4.模塊:是由邊界元素限定的相鄰程序元素(例如,數據說明,可執行的語句)的序列,而且有一個總體標識符代表它。C、C+和Java語言中的 . 對過程、函數、子程序和宏等面向對象方法學中的對象是模塊,對象內的方法也是模塊 模塊化是好的軟件設計的一個基本準則 5.模塊獨立的含義:模塊完成獨立的功能,符合信息隱藏和信息局部化原則,模塊間關連和依賴程度盡量小。 6.獨立性的度量:耦合、內聚。 7.耦合是對一
17、個軟件結構內不同模塊之間互連程度的度量。 8.耦合的強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點以及通過接口的數據9.模塊間的耦合程度強烈影響系統的可理解性、可測試性、可靠性和可維護性。 耦合性越高,模塊獨立性越弱 10.耦合強度依賴的因素: 一模塊對另一模塊的引用 一模塊向另一模塊傳遞的數據量 一模塊施加到另一模塊的控制的數量 模塊間接口的復雜程度 11.耦合性由強到弱排列為:內容耦合,公共耦合,特征耦合,控制耦合,數據耦合。 12.原則:盡量使用數據耦合,少用控制耦合,限制公共耦合的范圍,完
18、全不用內容耦合。 13.內聚 (Cohesion):標志一個模塊內各元素彼此結合的緊密程度。 14.內聚有七種,由弱到強分別為:偶然內聚->邏輯內聚->時間內聚->過程內聚->通信內聚->順序內聚->功能內聚。 15.深度 = 分層的層數。過大表示分工過細。 16.寬度 = 同一層上模塊數的最大值。過大表示系統復雜度大。 17.扇出 = 一個模塊直接調用/控制的模塊數。 18.扇入 = 直接調用該模塊的模塊數。
19、 19控制域:這個模塊本身以及所有直接或間接從屬于它的模塊的集合。 20.作用域:受該模塊中的一個判定所影響的所有模塊的集合。 面向數據流的設計方法:變換流,事務流。 1.詳細設計:描述系統的每個程序,包括每個模塊和子程序名稱、標識符、層次結構系 2.對程序的功能、性能、輸入、輸出、算法、流程、接口等進行描述 3.程序控制結構:順序、選擇,循環,(多分支,DO While ,DO Until)五種基本控制結構。4.程序流程圖又稱為程序框圖:是對一個模塊的內部執行過程用圖形來描述。 5.盒圖:只能
20、從上邊進入,從下邊走出,沒有其他的入口和出口, 6.盒圖的基本符號:順序,選擇型(If-then-else),多分支選擇型(CASE型),DO-WHILE循環(先測試循環), DO-UNTIL循環(后測試循環). 調用子程序. 7.PAD圖:PAD圖中豎線的總條數就是程序中的層次數 8.PAD圖基本符號:順序,選擇,循環,Case分支,語句標號,定義. 9.判定表:左上部列出所有的條件,左下部是所有可能的操作,右上部是各種條件的組合矩陣,右下部是每種條件組合對應的動作 1.實現:編碼和測試 2編碼:把軟件設計結果翻
21、譯成用某種程序設計語言書寫的程序 3.程序設計語言:機器語言,匯編語言,高級語言 4.程序內部的文檔包括:恰當的標識符,適當的注釋,程序的視覺組織 。 5.符號名即標識符;包括模塊名、變量名、常量名、標號名、子程序名、數據區名以及緩沖區名等。 6.程序的注釋:程序員與日后的程序讀者之間通信的重要手段 7.注釋分為序言性注釋和功能性注釋. 8.軟件測試是保證軟件質量的關鍵步驟,是對軟件規格說明、設計和編碼的最后復審,其工件量約占總工作量40%以上(對于人命關天的情況,測試相當于其它部分總成本的35倍)。
22、8.軟件測試方法:靜態測試方法,動態測試方法 9.靜態測試方法:人工測試方法,計算機輔助靜態分析方法 10.動態測試方法:白盒測試方法,黑盒測試方法. 11.黑盒測試法又稱功能測試:把程序看作一個黑盒子,完全不考慮程序的內部結構和處理過程 12.白盒測試法又稱為結構測試:把程序看成裝在一個透明的白盒子,測試者完全知道程序的結構和處理算法 13.軟件測試步驟:1.模塊測試又稱(單元測試),2.子系統測試,3.系統測試稱為集成測試,4.驗收測試也稱為確認測試,5.平行運行 14.單元測試主要使用白盒測試技術。 15.單元測試重點
23、:模塊接口,局部數據結構 ,重要的執行通路,出錯處理通路,邊界條件。 16.集成測試方法:非漸增式測試方法,漸增式測試方法 17.漸增式測試策略:可使用深度優先的策略,或寬度優先的策略 18.回歸測試:是指重新執行已經做過的測試的某個子集,以保證修改變化沒有帶來非預期的副作用。 19.白盒測試技術:邏輯覆蓋 20.邏輯覆蓋是以程序內部的邏輯結構為基礎的設計測試用例的技術。 21.邏輯覆蓋:語句覆蓋, 判定覆蓋 ,條件覆蓋,判定條件覆蓋, 條件組合覆蓋,21.路徑覆蓋,點覆蓋=
24、0;語句覆蓋,邊覆蓋=判定覆蓋,路徑覆蓋 與條件組合覆蓋。 22.語句覆蓋:每條語句至少執行一次 23.判定覆蓋 :每一判定的每個分支至少執行一次 24.條件覆蓋:每一判定中的每個條件,分別按“真”、“假”至少各執行一次25.判定條件覆蓋:同時滿足判定覆蓋和條件覆蓋的要求 26.條件組合覆蓋:求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執行一次。 27.路徑覆蓋:每條可能的路徑都至少執行一次,若圖中有環,則每個環至少經過一次 28.黑盒測試著重測試軟件功能。 29.黑盒測試技術:等價類劃分,
25、邊界值分析法,錯誤推測法 30.等價類:有效等價類和無效等價類 31.邊界值分析法,應該選取剛好等于、稍小于和稍大于等價類邊界值的數據作為測試數據 32.調試途徑調試策略:蠻干法,回溯法,原因排除法33.原因排除法-包括:對分查找法、歸納法、演繹法34.軟件可靠性:可靠性,可用性,正確性 35.可靠性和可用性的區別是:可靠性是在0到t時間間隔內,系統沒有失效的概率。而可用性是在t時刻,系統正常運行的概率。 1.軟件維護的定義:在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。 2.軟件維護的原因:在運行中
26、發現軟件錯誤和設計缺陷,這些錯誤和缺陷在測試階段未能發現。 3.軟件維護的類型:改正性維護,適應性維護,完善性維護,預防性維護4.軟件維護的內容:程序維護,數據維護,硬件維護 5.軟件維護的特點:結構化維護與非結構化,維護的代價分(有形代價和無形代價),維護的問題。 6.軟件維護過程:建立維護組織,維護報告,維護的事件流,保存維護記錄,評價維護活動, 7.軟件的可維護性:1.決定軟件可維護性的因素(可理解性,可測試性,可修改性,可移植性, 可重用性)2.文檔 影響可維護性的決定因素,比代碼更重要。3.復審 2、某
27、銀行計算機儲蓄系統的工作流程大致如下:儲戶填寫的存款單或取款單由業務員鍵入系統,如果是存款則系統記錄存款人的姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存款單給儲戶;如果是取款而且存款時留有密碼,則系統首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統計算利息并印出利息清單給儲戶。請用數據流圖描繪本系統的功能。并畫出系統的E-R圖。3、試用N-S圖和PAD表示下面程序流程圖,并計算它們的McCabe復雜性度量.(基本路徑測試法的 環復雜度)。(10%)2、軟件工程軟件工程是研究如何將完善的科學與工程原理,先進高效的管理技術以及
28、完整規范的設計方法應用于經濟地開發即可靠,又能在實際計算機上有效運行的軟件的一門工程學科。4、模塊獨立性所謂模塊獨立性是指模塊完成它自身規定的功能而與系統中其它的模塊保持一定的相對獨立。二、簡答題2、什么是軟件開發的工程化?工程化的軟件開發方法與早期的程序設計方法的不同點在哪里?答:軟件工程學的核心思想是:用工程化的規范方法指導軟件的開發、運行及維護工作。工程化需要包括如下四個方面:.具有相應的理論與技術 .具備實現工程化的工具和環境.具備統一的工程規范.管理和控制 早期的程序開發方法沒有統一的指導原則,隨意編寫程序,強調程序執行效率。工程化的軟件開發方法具有統一的指導原則,規范化的開發軟件,
29、強調軟件的可理解性,可維護性和可復用性。3、瀑布模型的主要缺點是什么?原型開發方法有什么好處?答:瀑布模型給出了固定的開發順序,它的突出缺點是缺乏靈活性。軟件需求往往無法一下子徹底弄清,因此瀑布模型可能導致開發出的不是用戶真正需要的軟件,或者由于需求不能確定而造成項目后續工作無法開始。l瀑布模型很難適應需求的動態變更,特別是用戶對需求處于模糊認識時更為困難。后期更改需求將付出高昂的代價。l原型方法的好處包括:增進了軟件開發人員和用戶對系統需求的理解,使比較含糊的軟件需求明確化;提供了一種有力的學習手段。5、什么叫耦合?什么叫內聚?耦合、內聚與模塊獨立性的關系?答:內聚是指模塊內部各軟件元素之間
30、結合的緊密程度l耦合是度量一個軟件結構中模塊與模塊之間聯系程度強弱的一個指標l內聚程度越高模塊獨立性越強,耦合程度越低模塊獨立性越強。6、什么是對象,什么是類,對象和類的關系是什么?答:對象是各種客觀實體的抽象,是由一組屬性和對這組屬性進行操作的一組服務結合在一起所構成的獨立實體。它構成了系統概念模型的基本單元。類是一組具有相同數據結構和相同操作的對象的集合。類的定義包括一組數據屬性和在數據上的一組合法操作。l類中的每個對象都稱為該類的一個實例。 1、 白盒測試法是通過分析程序的(C)來設計測試用例的。 A.應用范圍 B.功能&
31、#160;C.內部邏輯 D.輸入數據 2、 風險預測從兩個方面評估風險,即風險發生的可能性以及(D)。 A.風險產生的原因 B.風險監控技術 C.風險能否消除 D.風險發生所產生的后果 3、 極限編程(XP)由價值觀、原則、實踐和行為四部分組成,其中價值觀包括溝通、簡單性和(C)。 A.好的計劃 B.不斷的發
32、布 C.反饋和勇氣 D.持續集成 4、 等價分類法的關鍵是(C)。 A.確定等價類的邊界條件 B.按照用例來確定等價類 C.劃分等價類 D.確定系統中相同和不同的部分 5、 下列不屬于黑盒測試的技術是(A)。 A程序段或語句的功能 B模塊的接口 C數據的名稱和用途 &
33、#160; D模塊的功能 6、 為了提高模塊的獨立性,模塊之間最好是(D)耦合。 A.控制耦合 B.公共耦合 C.內容耦合 D.數據耦合 7、 一個軟件開發過程描述了“誰做”,“做什么”,“怎么做”和“什么時候做”,RUP用(A)來表述“誰做”。 A.角色 B.活動 C.制品 D.工作流 8、 功能性注釋
34、嵌入在源程序內部,它是用來說明(A)。 A程序段或語句的功能 B模塊的接口 C數據的名稱和用途 D模塊的功能 9、 在結構化分析方法中,數據字典是重要的文檔。對加工的描述是數據字典的組成內容之一,常用的加工描述方法有( C )。 A.只有結構化語言 B有結構化
35、語言和判定樹 C有結構化語言、判定樹和判定表 D有判定樹和判定表 10、 某銀行為了使其網上銀行系統能夠支持信用卡多幣種付款功能而進行擴充升級,這需要對數據類型稍微進行一些改變,這一狀況需要對網上銀行系統進行( B )維護。 A正確性 B適應性 C完善性 D預防性 11、 軟件危機的主要原因是(A)。 A軟件本身特點與開發方法 B對軟件的
36、認識不夠 C軟件生產能力不足 D軟件工具落后 12、 DFD是常用的進行軟件需求分析的圖形工具,其基本符號是(C)。 A輸入、輸出、外部實體和加工 B變換、加工、數據流和存儲 C加工、數據流、數據存儲和外部實體 D 變換、數據存儲、加工和數據流 13、 軟件工程管理是對軟件項目的開發管理。具體地說,就是對整個軟件(A)的一切活動進行管理。 A.生存期
37、60; B.開發 C.制定計劃 D.項目14、 在面向數據流的軟件設計方法中,一般將信息流分為( A )。 A.變換流和事務流 B.變換流和控制流 C.事務流和控制流 D.數據流和控制流 15、 在軟件工程項目中,不隨參與人數的增加而使軟件生產率增加的主要原因是(D)。 A、工
38、作階段間的等待時間 B、 生產原型的復雜性 C、 參與人員所需的工作站數 D、參與人員之間的通信困難 16、 下面(B)不是軟件的特征。 A系統性與復制性 B有形性與可控性 C抽象性與智能性 D依附性與泛域性 17、 下列關于面向對象分析與設計說法錯誤的是(C)。 A.面向對象的設計以面向對象分析為基礎歸納出類 B.建立類結構或進一步構造成類庫,實現分析結果對問題空間的抽象&
39、#160;C.面向對象的設計是面向對象分析的另一種思維方式 D.面向對象的設計是面向對象分析進一步的細化和更高的抽象18、 在軟件的可行性分析中,可以從不同的角度對軟件進行研究,其中(B)是從軟件的功能可行性角度考慮的。 A. 經濟可行性 B. 技術可行性 C. 操作可行性 D. 法律可行性 19、 下述任務中,不屬于軟件工程需求分析階段的是( D ) 。 A. 分析
40、軟件系統的數據要求 B確定軟件系統的功能需求 C. 確定軟件系統的性能要求 D.確定軟件系統的運行平臺20、 在面向對象方法中,信息隱蔽是通過對象的( C )來實現的。 A分類性 B繼承性 C封裝性 D共享性 21、 采用面向對象方法開發軟件的過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫(D)。 A面向對象測試 B面向對象實現 C面
41、向對象設計 D面向對象分析22、 在遵循軟件工程原則開發軟件過程中,計劃階段應該依次完成(B)等步驟。 A. 軟件計劃、需求分析、系統定義 B. 系統定義、軟件計劃、需求分析 C. 需求分析、概要設計、軟件計劃 D. 軟件計劃、需求分析、概要設計 23、 一個項目為了修正一個錯誤而進行了變更,但這個錯誤被修正后,卻引起以前可以正確運行的代碼出錯。(C)測試最有可能發現這個問題。 A單元測試 B接受測試 C回歸測
42、試 D安裝測試 24、 從工程管理的角度來看,軟件設計分( A )兩步完成。 A) 概要設計與詳細設計B) 數據設計與接口設計 C) 軟件結構設計與數據設計 D) 過程設計與數據設計 25、 某系統重用了第三方組件(但無法獲得其源代碼),則應采用( D )對組件進行測試。 A.基本路徑覆蓋 B.分支覆蓋 C.環路覆蓋 D.黑盒測試 26、 在軟件設計與編碼過程中,采
43、取( C )的做法將使軟件更容易理解和維護。 A良好的程序結構,有無文檔均可 B使用標準或規定之外的語句 C編寫詳細正確的文檔,采用良好的程序結構 D盡量減少程序中的注釋27、 軟件維護成本在軟件成本中占較大比重,為降低維護的難度,可采取的措施有( D )。 A設計并實現沒有錯誤的軟件 B限制可修改的范圍 C增加維護人員數量 D在開發過
44、程中就采取有利于維護的措施并加強維護管理 28、 (A)是一種面向數據流的開發方法,其基本思想是軟件功能的分解和抽象。 A.結構化開發方法 B.Jackson系統開發方法 C.Booch方法 D.UML(統一建模語言) 30、 測試用例是測試使用的文檔化細則,應包括下列( B )內容的詳細信息。 測試目標和被測功能。 測試
45、環境和其他條件。 測試數據和測試步驟。 測試記錄和測試結果。 A B C D 31、( 螺旋 )模型適合于大型軟件的開發,它吸收了軟件工程“演化”的概念,使得開發人員和用戶對每個周期出現的風險有所了解,從而做出相應的反應。 32、
46、60;軟件測試中,白盒法是通過分析程序的(B)來設計測試用例的。 A.應用范圍 B.內部邏輯 C.功能 D.輸入數據 33、 可行性分析要進行的需求分析和設計應是(C)。 A詳細的 B
47、全面的 C簡化、壓縮的 D徹底的 34、 下面關于面向對象分析與面向對象設計的說法,不正確的是(D)。 A面向對象分析側重于理解問題 B面向對象設計側重于理解解決方案 C面向對象分析描述軟件要做什么 D面向對象設計一般不關注技術和實現層而的細節 35、 軟件設計時需要遵循抽象、模塊化、信息隱蔽和模塊獨立原則。在劃分軟件系統模塊時,應盡量做到(B)。 A. 高內聚高耦合&
48、#160; B. 高內聚低耦合 C. 低內聚高耦合 D. 低內聚低耦合 36、 軟件工程每一個階段結束前,應該著重對可維護性進行復審,在系統設計階段的復審期間,應該從(B)出發,評價軟件的結構和過程。 A指出可移植性問題以及可能影響軟件維護的系統界面 B容易修改、模塊化和功能獨立的目的 C強調編碼風格和內部說明文檔 D可測試性 37、 軟件的集成測試工作最好由(D)人員承擔,以提高集成測試的效果。 A.該軟件的設計人員
49、160; B.該軟件開發組的負責人 C.該軟件的編程人員 D.不屬于該軟件開發組的軟件設計人員 38、 程序的三種基本控制結構是(B )。 A.過程,子程序,
50、分程序 B.順序,條件,循環 C.遞歸,堆棧,隊列 D.調用,返回,轉移 39、 ( C )是決定軟件維護成敗和質量好壞的關鍵。 A修改程序 B建立目標程序 C分析
51、和理解程序 D重新驗證程序 40、 數據庫設計時的概念數據模型一般用(B )圖表示。 A.PAD B.E-R C.E-P D.HIPO 41、 若有一個計算類型的程序,它的輸入量只有一個,其范圍是-1.0,1.0,現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是( C )。 A邏輯覆蓋 B等價類劃分
52、 C邊界值分析 D錯誤推測 42、 在結構化分析方法(SA)中,( C )與數據流圖共同構成了系統的邏輯模型,是需求規格說明書的主要組成部分。 A模塊圖 BE-R 圖 C數據字典 D程序流程
53、圖 43、 面向對象的分析方法主要是建立三類模型,即( D )。 A.系統模型、ER 模型、應用模型 B.對象模型、動態模型、應用模型 C.-模型、對象模型、功能模型 D.對象模型、動態模型、功能模型 44、 成功的測試是指運行測試用例后( B )。 A未發現程序錯誤 B發現了程序錯誤 C證明程序正確 D改正了程序錯誤 45、 面向數據流的設計方法把( A
54、60;)映身成軟件結構。 A.數據流圖 B.系統結構圖 C.控制結構圖 D.變換流圖 46、 軟件危機是指(軟件開發和維護過程中遇到的一系列嚴重問題)。 47、 檢查軟件產品是否符合需求定義的過程稱為( A )。 A確認測試 B集成測試
55、160; C驗證測試 D驗收測試 48、 汽車有一個發動機,汽車和發動機之間的關系是(B)關系。 A.一般與具體 B.整體與部分 C.分類 D.is a 49、 詳細設計的基本任
56、務是確定每個模塊的( A )設計 A.算法和使用的數據結構 B.外部接口 C.功能 D.編程 50、 軟件產品的生產主要是腦力勞動,軟件產品的成本主要體現在軟件的( C )上。 A.復制 B.開發方式
57、160; C.開發和研制 D.磨損和消耗 51、 以下(D )不屬于系統設計。 A總體設計 B詳細設計 C過程設計 D需求設計 52、 需求規格說明書的作用不應該包括( D )。 A.軟件設計的依據 B.用戶與開發人員對軟件要做什么的共同理解 C.軟件驗收的依
58、據 D.軟件可行性研究的依據 53、 軟件質量必須從需求分析開始,在( D )加以保證。 A開發之前 B開發之后 C可行性研究過程 D整個開發過程 54、 軟件簡略定義是(一系列按照特定順序組織的計算機數據和指令的集合)。 55、 SA方法的基本思想是( C )。 A自底向上逐步抽象 B自底向上逐步分解 C自頂
59、向下逐步分解 D自頂向下逐步抽象 56、 軟件工程是一門(指導計算機軟件開發和維護的工程(交叉性))學科。 57、 等價分類法的關鍵是( C )。 A.確定等價類的邊界條件 B.按照用例來確定等價類 C.劃分等價類 D.確定系統中相同和不同的部分1 可行性研究 _的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。 2采用UML進行軟件設計時,可用_泛化_關系來表示兩類事物之間存在的特殊/一般關系,用
60、_ 聚集 _關系來表示事物之間存在的整體/部分關系。 3繼承與_ 多態 _機制,是面向對象程序中實現重用的主要手段。 4成本效益分析的目的是從 經濟 角度評價開發一個軟件項目是否可行。 5對象之間通過 消息 進行通信。 6在面向對象的軟件中, 類 是對具有相同數據和相同操作的一組相似對象的定義;實例是由某個特定的類所描述的一個具體對象。 7需求分析階段產生的最重要的文檔是
61、160; 需求規格說明書 。 8軟件開發中的原型是軟件的一個早期可運行的版本,它反映了最終系統的 重要特性 。 9軟件開發過程來自用戶方面的干擾和阻力主要有:不積極配合,求快求全和 功能變化。 10軟件文檔按照其產生和使用的范圍可分為開發文檔、管理文檔和用戶文檔,其中可行性研究報告屬于 開發文檔。 11可行性研究實質上是要進行一次 簡化、壓縮 了的需求分析、設計過程,是在較高層次上以較抽象的方式進行需求分析和設計過程。
62、;12一個軟件開發過程描述了“誰做”,“做什么”,“怎么做”和“什么時候做”,RUP用 角色 來表述“誰做”。 13在面向對象的軟件中,類是對具有相同數據和相同操作的一組相似對象的定義; 實例 是由某個特定的類所描述的一個具體對象。14軟件結構是以 模塊 為基礎而組成的一種控制層次結構。 15軟件能力成熟度模型(CMM)將軟件能力成熟度自低到高依次劃分為初始級、可重復級、定義級、管理級 和優化級。 16關聯是建立
63、類之間關系的一種手段,而鏈則是建立 對象 之間關系的一種手段。 17. 軟件測試方法中的 計算機輔助靜態分析 屬于靜態測試方法。 18繼承與 多態 機制是面向對象程序中實現重用的主要手段。 19系統詳細設計階段最后產生的文檔是 詳細設計說明書 。 20DFD利用圖形符號表示系統中的各個元素,表達了系統中各種元素之間的 信息流動 。 21在設計階段,要充分體現軟件工程
64、的“ 模塊化 ”、“抽象”、“信息隱蔽”等基本原則。 22在面向對象分析和OOD中,通常將對象的操作稱為 方法或服務 。 23單元測試一般以_ 白盒法 為主,測試的依據是系統的模塊功能規格說明。 24當A模塊調用B模塊時,若兩個模塊之間傳遞的是數值型參數,則這兩個模塊的耦合方式是 數據耦合 。 25軟件測試用例主要由輸入數據和 預期輸出結果 兩部分組成。 26為適應軟硬件環境變化而修改軟件的過程是 適應性維護 。 2
65、7提高程序效率的根本途徑在于選擇良好的設計方法、良好的 數據結構 和 算法 ,而不是靠編程時對程序語句做調整。 1數據字典:描述數據流圖的數據存儲、數據加工(最底層加工)和數據流。 2模塊獨立性:指每個模塊只完成系統要求的獨立的子功能(即:功能單一),并且與其他模塊的聯系最少且接口簡單(比如:只有一個接口)。 3軟件復用:將已有軟件的各種有關知識用于建立新的軟件,以縮減軟件開發和維護的花費。4內聚:一個模塊內部各成分之間相關聯程度的度量 5測試用例:為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試
66、某個程序路徑或核實是否滿足某個特定需求 6軟件生存周期模型:描述軟件開發過程中各種活動如何執行的模型 7.信息隱蔽:將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,定義每一個模塊時盡可能少地顯露其內部的處理 8.McCabe度量法:由Thomas McCabe提出的一種基于程序控制流的復雜性度量方法 9.動態模型:用于描述系統的過程和行為 10.軟件維護:在軟件運行或維護階段對軟件產品所進行的修改 11CMM:軟件過程能力成熟度模型 12軟件調試:軟件測試成功后,根據錯誤跡象確定錯誤的原因和準確位置,并加以改正。
67、13耦合:塊間聯系,軟件系統結構中各模塊間相互聯系緊密程度的一種度量 14配置管理:一種標識、組織和控制修改的技術,應用于整個軟件工程過程 15軟件項目計劃:一個軟件項目進入系統實施的啟動階段 1軟件工程的兩大范型分別是什么?它們有什么不同? 分別是傳統的結構化范型和面向對象范型。結構化范型要么面向行為要么面向數據,但沒有既面向數據又面向行為的;而面向對象范型把數據和行為看成同等重要,即將對象視作一個融合了數據及在其上操作的行為的統一的軟件組件。面向對象相對于結構化技術,無論對象的內部細節如何變化,只要對象提供的方法即接口保持不變,則整個軟件產品的其他部
68、分就不會受到影響,不需要了解對象內部的變化。 2如何畫分層數據流圖? 第一步,畫子系統的輸入輸出:把整個系統視為一個大的加工,然后根據數據系統從哪些外部實體接收數據流,以及系統發送數據流到那些外部實體,就可以畫出輸入輸出圖。這張圖稱為頂層圖。 第二步,畫子系統的內部:把頂層圖的加工分解成若干個加工,并用數據流將這些加工連接起來,使得頂層圖的輸入數據經過若干加工處理后,變成頂層圖的輸出數據流。這張圖稱為0層圖。從一個加工畫出一張數據流圖的過程就是對加工的分解。 3面向對象程序設計有哪些優點? 1)易維護采用面向對象思想設計的結構,可讀性高,由于繼
69、承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。 2)質量高在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求并具有較高的質量。 3)效率高在軟件開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢必提高軟件開發的效率和質量。 4)易擴展由于繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。 4在軟件測試中,應注意哪些原則? 1)認真執行測試計劃
70、2)“盡早和不斷地進行軟件測試/評審” 3)優選測試工具、技術和方法 4)精心設計測試用例 5)交叉進行軟件檢測 6)重點測試群集現象 7)全面檢查并分析測試結果 8)妥善保管測試文檔 5為了具有良好的程序設計風格,應注意哪些方面的問題? 程序設計風格是指一個人編制程序時所表現出來的特點、習慣、邏輯思路等。 要形成良好的程序設計風格,應從源程序文檔化、數據說明、語句構造、輸入輸出和追求效率幾個方面加以注意。 6面向對象分析與面向對象設計的關系? 面向對象分析與面向對象設計的任務相同,面
71、向對象分析的結果可以作為開始面向對象設計的模型,面向對象的設計結果可以作為藍圖,利用面向對象編程方法最終實現一個系統。 7成本-效益分析的目的是什么?可用哪些指標進行度量? 成本/效益分析的目的是從經濟角度論證開發一個特定的新系統開發是否劃算,是決定是否投資開發新系統的依據。 (1)貨幣的時間價值:貨幣的價值本身隨時間的增加而產生增值 (2)投資回收期:累計的經濟效益等于最初的投資所需的時間。 (3)純收入:在整個生存周期內系統的累計經濟效益(折合現在的錢)與投資之差。 (4)投資回收率-投資的年利率 8軟件設計分哪幾個階段
72、,它們的主要任務是什么? 軟件設計可以分為概要設計和詳細設計兩個階段。概要設計就是結構設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、算法和數據結構,次要任務就是設計數據庫,常用方法還是結構化程序設計方法。9用戶需求和系統需求各有什么特點? 用戶需求是從用戶角度來描述系統功能和非功能需求,以便讓不具備專業技術方面知識的用戶能看懂。用戶需求是描述系統的外部行為,用自然語言、圖表和直觀的圖形來敘述。系統需求是比用戶需求更詳細的需求描述,是系統實現的基本依據,因此,是一個完全的、一致的系統描述,是軟件工程人員系統設計的起點。
73、160;系統需求描述可能包括許多不同的模型,如對象模型和數據流模型。 10面向對象設計的準則? 1)模塊化 2)抽象 3)信息隱藏 4)弱耦合 5)強內聚 6)可重用 11需求分析過程主要有哪幾個步驟? 需求分析過程主要有溝通、導出需求、分析與精化、可行性研究、協商與溝通、規格說明、需求驗證、變更管理等步驟。 12軟件設計分哪幾個階段,它們的主要任務是什么? 總體設計概要設計、軟件結構設計、高層設計,仔細地分析需求規格說明,研究開發產品的模塊劃分。 詳細設計(模塊)過程設計、
74、低層設計,為結構設計中的各個模塊設計過程細節,確定模塊所需的算法和數據結構等。 設計測試測試和復審,確保設計的正確和優化。 13什么是軟件結構圖?它有哪些主要元素? 軟件結構圖是軟件系統的模塊層次結構,反映了整個系統的功能實現,即將來程序的控制層次體系。主要元素有: 14面向對象方法的特點是什么?為什么要用面向對象方法開發軟件? 面向對象方法的特點是: 方法的唯一性,即方法是對軟件開發過程所有階段進行綜合考慮而得到的。 從生存期的一個階段到下一個階段的高度連續性,即生存期后一階段的成果只是在前一階段成果的補充和修改。 把面向對象分析(OOA)、面向對象設計(OOD)和面向對象程序設計(OOP)集成到生存期的相應階段。 使用面向對象方法開發軟件的好處是: 開發方法的唯一性,開發階段的高度連續性,表示方式的一致性; 問題空間實體的自然表示,減輕了設計者的負擔,在設計系統之初不必考慮一個很完整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國SD卡用PCB行業市場發展前景及發展趨勢與投資戰略研究報告(2024-2030)-20241228-144211
- 高中地理教學中實驗教學的創新設計與學生實踐能力培養研究
- 中國用電標示牌行業市場前景預測及投資價值評估分析報告
- 中國聲敏傳感器市場供需現狀及投資戰略研究報告
- 2025-2030年中國鋼錠項目投資可行性研究分析報告
- 電氣件行業深度研究分析報告(2024-2030版)
- 農用塑料制品生項目投資可行性研究分析報告(2024-2030版)
- 周大福培訓課件
- 2025年中國制造執行系統(MES)行業市場深度調查評估及投資方向研究報告
- 中國供應鏈金融科技解決方案行業發展前景預測及投資規劃建議報告
- 069.糖尿病酮癥酸中毒診斷和處理
- 桿杠各類題型復習-2024-2025學年浙教版九年級上冊科學
- 可持續棕櫚油圓桌倡議組織RSPO供應鏈認證管理手冊及程序文件
- DL∕T 516-2017 電力調度自動化運行管理規程
- 江蘇省鹽城市東臺市2023-2024學年八年級下學期期末英語試卷(含答案解析)
- 服裝工藝師崗位職責
- 深圳市體育場館租賃合同
- 軸承座基本工藝專業課程設計
- MOOC 計算機系統局限性-華東師范大學 中國大學慕課答案
- MOOC 管理學原理-東北財經大學 中國大學慕課答案
- 《校園安全用電知識講座》課件模板(三套)
評論
0/150
提交評論