软件工程期末试题及答案
文章目錄
軟件工程期末試題及答案
一、填空題
二、選擇題
三、判斷題
四、簡答題
五、分析題
六、畫圖題
一、填空題
1.在信息處理和計算機領域內,一般認為軟件是 文庫 程序___、_ 文檔____ 和_ 數據____ 。
2.數據流圖的基本組成部分有 _ 數據的源點與終點____、 數據流 、 加工 、 數據文件。
3.數據流圖和數據字典共同構成了系統的 邏輯 模型,是需求規格說明書的主要組成部分。
4.劃分模塊時盡量做到 高內聚、低耦合,保持模塊的獨立性,盡量使用公共模塊。 5. 類的實例化是_對象 。
5.人們常用硬件可靠性的定量度量方法來度量軟件的可靠性和可用性,常用的度量軟件可
6.靠性的兩個指標是_成功地運行的概率 和 平均故障時間 。
7.將待開發的軟件細化,分別估算每一個子任務所需要的開發工作量,然后將它們加起來,
8.將得到軟件的總開發量。這種成本估算方法稱為 自底向上 。
9.如果一個模塊被 n 個模塊調用,其中直接的上級模塊的個數是 m 個( m<=n )那么該模塊的扇入數是 __ N 個。
10.結構化設計以 數據流圖 _________ 為基礎,按一定的步驟映射成軟件結構。
11.軟件的風險分析可包括風險識別、風險預測 和風險駕馭(或風險管理)等3項活動。 13. 軟件著作權登記的3種主要類型:(1) 著作權登記;(2)著作權延續登記;(3)權利轉移備案登記。
12.軟件工程管理的主要內容有:項目經費管理, 軟件質量管理,項目進度管理和 人員管理。
13.面向對象分析的目的是對客觀世界的系統進行 建模 _______________ 。
14.軟件維護工作的生產性活動包括分析評價、修改設計和 編寫程序代碼 _______ 等。
15.為了使應用軟件適應計算機環境的變化而 ___ 修改軟件 的過程稱為適應性維護。
16.一個進行學生成績統計的模塊其功能是先對學生的成績進行累加,然后求平均值,則該模塊的內聚性是 順序內聚 。
17.投資回收期就是使累計的經濟效益等于 __
最初的投資費用 所需的時間。
18.軟件生存周期是指一個軟件從提出開發要求開始直到
軟件廢棄____為止的整個時期。
19.曾被譽為“程序設計方法的革命”的 結構化
程序設計,使程序設計從主要依賴于程序員個人的自由活動變成為有章可循的一門科學。
20.從結構化程序設計到 面向對象程序設計
,是程序設計方法的又一次飛躍。
21.在單元測試時,需要為被測模塊設計___測試用例 。 名詞解釋
22.數據詞典——是描述數據信息的集合,它對數據流圖中的各個元素按規定格式進行詳細的描述和確切的解釋,是數據流圖的補充工具。
23.數據流圖——他以圖形的方式反映系統的數據流程
24.白盒測試——按照程序內部的結構測試程序,檢驗程序中的每條路徑是否都能按預定要求正確工作。有兩種測試法既邏輯覆蓋測試法和路徑測試法
25.黑盒測試——按照程序的功能測試程序,檢驗與程序功能有關的輸入、輸出與程序執行是否正確。有四種方法既等價分類法、邊界值分析法、錯誤猜測法和因果圖法
26.完善性維護——為了適應用戶業務和機構的發展變化而對軟
件的功能、性能進行修改、擴充的過程稱為完善性維護。因為各種用戶的業務和機構在相當長的時期內不可能是一成不變的,所以功能、性能的增加是不可避免的,而且這種維護活動在整個維護工作中所占的比重很大
27.軟件可靠性——指在給定的時間內,程序按照規定的條件成功地運行的概率
28.軟件配置——是一個軟件在生存周期內,他的各種形式、各種版本的文檔與程序的總稱
29.軟件再工程——運用逆向工程、重構等技術,在充分理解原有軟件的基礎上,進行分解、綜合、并重新構建軟件,用于提高軟件的可理解性、可維護性可復用性或演化性。
30.α測試——是在一個受控的環境下,由用戶在開發者的“指導”下進行的的測試,由開發者負責記錄錯誤和使用中出現的問題。
31.β測試——是由軟件的最終用戶(多個)在一個或多個用戶場所來進行。由用戶負責記下遇到的所有問題,包括主觀認定的和真實的問題,定期向開發者報告,開發者在綜合用戶的報告之后進行修改,最后將軟件產品交付給全體用戶使用。 11. 聚集關系——表示類或對象之間的整體與部分的關系 12. 泛化關系——表示類或對象之間的一般與特殊的關系
32.內聚——一個模塊內部各個元素彼此結合的緊密程度的度量。
33.耦合——一一個軟件結構內不同模塊之間互連程度的度量。 簡答題
1.軟件工程的七條基本原理是什么? 答:軟件工程的七條基本原理是:
(1) 用分階段的是的生存周期計劃嚴格管理; (2) 堅持進行階段評審; (3) 嚴格實施的產品控制; (4) 采用現代程序技術; (5) 結果應能清楚地審查;
(6) 開發小組的成員應該少而精;
(7) 承認不斷改進軟件工程的必要性。
2.良好的編碼風格應具備哪些條件? 答:應具備以下條件:
(1)使用標準的控制結構;
(2)有限制地使用GOTO語句;
(3)源程序的文檔化 (應具備以下內容)
①有意義的變量名稱 —— “匈牙利命名規則 ”。 ②適當的注釋 ——“注釋規范”。 ③標準的書寫格式:
——用分層縮進的寫法顯示嵌套結構的層次(鋸齒形風格); ——在注釋段的周圍加上邊框;
——在注釋段與程序段、以及不同程序段之間插入空行; ——每行只寫一條語句;
——書寫表達式時,適當使用空格或圓括號等作隔離符。
(4)滿足運行工程學的輸入輸出風格。
3.簡述文檔在軟件工程中的作用。 答:
(1) 提高軟件開發過程的能見度 (2) 提高開發效率
(3) 作為開發人員階段工作成果和結束標志 (4) 記錄開發過程的有關信息便于使用與維護; (5) 提供軟件運行、維護和培訓有關資料; (6) 便于用戶了解軟件功能、性能。
4.可行性研究包括哪幾方面的內容? 答:
(1)經濟可行性:是否有經濟效益,多長時間可以收回成本; (2)技術可行性:現有技術能否實現本系統,現有技術人員能否勝任,開發系統的資源能否滿足;
(3)運行可行性:系統操作在用戶內部行得通嗎?
(4)法律可行性:新系統開發是否會侵犯他人、集體或國家利益,是否違反國家法律。
5.結構化的需求分析描述工具有哪些?
答:有數據流圖(DFD)、數據字典(DD)、判定表、判定樹、結構化語言(PDL)、層次方框圖、Warnier圖、IPO圖、控制流圖(CFD)、控制說明(CSPEC)、狀態轉換圖(STD)和實體—關系圖(E—R)等。
6.一般面向對象分析建模的工具(圖形)有哪些?
答:用例圖、類/對象圖、對象關系圖、實體—關系圖(E—R)、事件軌跡圖(時序圖)和狀態轉換圖(STD)等 7.UML統一建模語言有哪幾種圖形?
用例圖、類圖、對象圖、構件(組件)圖、部署(配置)圖、狀態圖、活動圖、順序(時序)圖、合作(協作)圖等九種圖。
8.在面向對象分析時類和對象的靜態關系主要有哪幾種?
答:類和對象的靜態關系主要有關聯、聚集、泛化、依賴等四種關系。
34.變換型數據流由哪幾部分組成?
變換型結構由三部分組成:傳入路徑、變換(加工)中心和傳出路徑。
35.變換分析設計的步驟?
(1) 區分傳入、傳出和變換中心三部分,劃分DFD圖的分界線;
(2) 完成第一級分解:建立初始SC圖的框架; (3) 完成第二級分解:分解SC圖的各個分支;
(4) 對初始結構圖按照設計準則進行精化與改進。 13. 事務型數據流由哪幾部分組成? 事務型結構由至少一條接受路徑、一個事務中心與若干條動作路徑組成。
36.事務分析設計的步驟?
(1) 在DFD圖中確定事務中心、接收部分(包含全部接收路徑)和發送部分(包含全部動作路徑);
(2) 畫出SC圖框架,把DFD圖的三部分,分別映射"為事務控制模塊,接收模塊和動作發送模塊.一般得到SC圖的頂層和第一層(如果第一層簡單可以并入頂層);
(3) 分解和細化接收分支和動作分支,完成初始的SC圖; (4) 對初始結構圖按照設計準則進行精化與改進。 15.數據字典包括哪些內容?
數據字典是描述數據流圖中數據的信息的集合。它對數據流圖上每一個成分:數據項、文件(數據結構)、數據流、數據存儲、加工和外部項等給以定義和說明;它主要由數據流描述、加工描述
和文件描述三部分組成。 16.給出一組數從小到大的排序算法,分別用下列工具描述其詳細過程: (1)流程圖;(2)N-S圖;(3) PDL語言。
17.欲開發一個銀行的活期存取款業務的處理系統:儲戶將填好的存/取款單和存折交給銀行工作人員,
然后由系統作以下處理;
(1)業務分類處理:系統首先根據儲戶所填的存/取款單,確定本次業務的性質,并將存/取款單和存折交下一步處理;
(2)存款處理:系統將存款單上的存款金額分別記錄在存折和帳目文件中,并將現金存入現金庫;最后將存折還給儲戶; (3)取款處理:系統將取款單上的取款金額分別記錄在存折和帳目文件中,并從現金庫提取現金;最后將現金和存折還給儲戶。
繪制該系統的數據流圖和軟件結構圖。
18.什么是軟件生存周期?把生存周期劃分為階段的目的是什么?
答:一個軟件從開始計劃起,到廢棄不用止,成為軟件的生存周期。把整個生存周期劃分為較小的階段,給每個階段賦予確定而有限的任務,能夠簡化每一步的工作內容,
增長而大大增加了的軟件復雜性變得較易控制和管理。
19.詳細設計的目的?
為軟件結構圖(SC圖或HC圖)中的每一個模塊確定采用的算法和塊內數據結構,用某種選定的表達工具給出清晰的描述.
20.詳細設計的任務是什么? (1) 為每個模塊確定采用的算法; (2) 確定每一模塊使用的數據結構; (3) 確定模塊接口的細節; (4) 編寫過程設計說明書; (5) 設計每一模塊的測試用例。 21. 編碼的任務?
使用選定的程序設計語言,把模塊的過程性描述翻譯為用語言書寫的源程序(源代碼)。
22.軟件測試的基本任務?
軟件測試是按照特定的規則,發現軟件錯誤的過程;好的測試方案是盡可能發現迄今尚未發現錯誤的測試;成功的測試方案是發現迄今尚未發現錯誤的測試;
23.什么是黑盒測試?黑盒測試主要采用的技術有哪些?
黑盒測試也稱為功能測試,它著眼于程序的外部特征,而不考慮程序的內部邏輯結構。測試者把被測程序看成一個黑盒,不用關心程序的內部結構。黑盒測試是在程序接口處進行測試,它只檢查程序功能是否能按照規格說明書的規定正常使用,程序是否能適當地接收輸入數據產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。
黑盒測試主要采用的技術有:等價分類法、邊界值分析法、錯誤推測法和因果圖等技術。
24.什么是白盒測試?白盒測試主要采用的技術有哪些?
白盒測試是測試者了解被測程序的內部結構和處理過程,對程序的所有邏輯路徑進行測試,在不同點檢查程序狀態,確定實際狀態與預期狀態是否一致。
白盒測試主要采用的技術有:路徑測試技術和事務處理流程技術,對包含有大量邏輯判斷或條件組合的程序采用基于邏輯的測試技術。
25.路徑測試技術中幾種主要覆蓋的含義?舉例說明?
語句覆蓋:至少執行程序中所有語句一次。
判定覆蓋:使被測程序中的每一個分支至少執行一次。故也稱為分支覆蓋。
條件覆蓋:執行所有可能的穿過程序的控制路流程。
條件組合測試:設計足夠的測試用例,使每個判定中的所有可能條件取值組合至少執行一次。
(例略)
26.等價分類法的測試技術采用的一般方法?舉例說明?
(1) 為每個等價類編號;
(2) 設計一個新的測試方案,以盡可能多的覆蓋尚未被覆蓋的有效等價類,重復這一步驟,直到所有有效等價類被覆蓋為止。
(3) 設計一個新的測試方案,使它覆蓋一個尚未被覆蓋的無效等價類, 重復這一步驟,直到所有無效等價類被覆蓋為止。 (例略)
28.某城市電話號碼由三部分組成。它們的名稱和內容分別是: 地區碼:空白或三位數字;
前 綴:非‘0’或‘1’的三位數字; 后 綴:4位數字。
假定被測程序能接受一切符合上述規定的電話號碼,拒絕所有不符合規定的電話號碼。根據該程序的規格說明,作等價類的劃分,并設計測試方案。
29.為什么說軟件的維護是不可避免的?
因為軟件的開發過程中,一般很難檢測到所有的錯誤,其次軟件在應用過程中需要隨用戶新的要求或運行環境的變化而進行軟件的修改或完成功能的增刪等,為了提高軟件的應用水平和使用壽命,軟件的維護是不可避免的。
30.軟件的維護一般分為哪幾類?
完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能,以滿足用戶日益增長的需要而進行的工作; 適應性維護:是軟件適應新的運行環境而進行的工作; 糾錯性維護:糾正開發期間未發現的遺留錯誤,即在程序使用期間發現的程序錯誤進行診斷和改正的過程; 預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作。
31.決定軟件可維護性的因素?
(1) 軟件的可理解性、可測試性、可修改性;
(2) 文檔描述符合要求、用戶文檔簡潔明確、系統文檔完整并且標準。
32.分析軟件危機產生的主要原因有哪些? 答:導致軟件危機的主要原因有:
A=2
X>1 出口
X=X/A X=X+1 4 5 6
7 9
(1)軟件日益復雜和龐大(2)軟件開發管理困難和復雜(3)軟件開發技術落后(4)生產方式落后(5)開發工具落后(6)軟件開發費用不斷增加
1 個要點1分,只要答上5個要點得5分! 33.說明結構化程序設計的主要思想是什么?
答:(1)自頂向下、逐步求精的程序設計方法(2分)(2)使用3種基本控制結構、單入口、單出口來構造程序。(3分)
34、軟件測試的基本任務是什么?測試與糾錯有什么區別? 答:軟件測試的基本任務是通過在計算機上執行程序,暴露程序中潛在的錯誤。測試和糾錯目的和任務都不相同,測試是為了發現程序的錯誤,糾錯是為了定位和糾正錯誤,從而消除軟件故障,保證程序的可靠運行。
35.軟件測試包括哪些步驟?同時說明這些步驟的測試目的是什么?
答:(1)單元測試,目的是代碼達到模塊說明書的要求(2)集成測試,目的是將經過單元測試的模塊逐步組裝成具有良好一致性的完整的程序(3)確認測試,目的是確認程序系統是否滿足軟件需求規格說明書的要求(4)系統測試,目的是檢查能否與系統的其余部分協調運行,并且完成SRS對他的要求。 36.需求分析與軟件設計二個階段任務的主要區別是什么? 答:需求分析定義軟件的用戶需求,即定義待開發軟件能做什么(2.5分)
軟件設計定義軟件的實現細節以滿足用戶需求,即研究如何實現軟件。(2.5分)
37.說明軟件測試和調試的目的有何區別?
答:測試的目的是判斷和發現軟件是否有錯誤(2。5分)調試的目的是定位軟件錯誤并糾
根據以下被測試的流程圖,選擇相應的答案。(8分)
(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1
A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 ①在1-3的答案中滿足判定覆蓋的測試用例是___1 (2分) ②在1-3的答案中滿足條件覆蓋的測試用例是___3 (2分) ③在1-3的答案中滿足判定/條件覆蓋的測試用例是______2_ (2分)
39.工資計算系統中的一個子系統有如下功能:
( 1 )計算扣除部分—由基本工資計算出應扣除(比如水電費、缺勤)的部分;
( 2 )計算獎金部分—根據職工的出勤情況計算出獎勵金; ( 3 )計算工資總額部分—根據輸入的扣除額及獎金計算出總額;
( 4 )計算稅金部分—由工資總額中計算出應扣除各種稅金; ( 5 )生成工資表—根據計算總額部分和計算稅金部分傳遞來的有關職工工資的詳細信息生成工資表。 試根據要求畫出該問題的數據流程圖。
43、什么是軟件復用?簡述軟件復用和軟件共享、軟件移植的差別。
答:軟件復用是指在構造新的軟件系統的過程中,對已存在的軟件人工制品的使用技術。如果是在一個系統中多次使用一個相同的軟件成分,這叫軟件共享;對一個軟件進行修改,使它能運行于新的軟、硬件平臺這稱作軟件移植。
44、什么是軟件再工程?軟件再工程的主要活動有哪些? 答:軟件再工程是運用逆向工程、重構等技術,在充分理解原有軟件的基礎上,進行分解、綜合,并重新構建軟件,用以提高軟件的可理解性、可維護性、可復用性或演化性。主要活動:信息庫分析、文檔重構、逆向工程、代碼重構、數據重構、正向工程。
二、選擇題
1.軟件開發瀑布模型中的軟件定義時期各個階段依次是:( B)
A) 可行性研究,問題定義,需求分析。
B) 問題定義,可行性研究,需求分析。
C) 可行性研究,需求分析,問題定義。
D) 以上順序都不對。
(軟件開發時期:概要設計、詳細設計、軟件實現、軟件測試)
2.可行性研究主要從以下幾個方面進行研究: ( A)
A) 技術可行性,經濟可行性,操作可行性。
B) 技術可行性,經濟可行性,系統可行性。
C) 經濟可行性,系統可行性,操作可行性。
D) 經濟可行性,系統可行性,時間可行性。
3.耦合是對軟件不同模塊之間互連程度的度量。各種耦合按從強到弱排列如下: ( C)
A) 內容耦合,控制耦合,數據耦合,公共環境耦合。
B) 內容耦合,控制耦合,公共環境耦合,數據耦合。
C) 內容耦合,公共環境耦合,控制耦合,數據耦合。(內容耦合、公共耦合、外部耦合、控制耦合、特征耦合、數據耦合)
D) 控制耦合,內容耦合,數據耦合,公共環境耦合。
4.在詳細設計階段所使用到的設計工具是:(C )
A) 程序流程圖,PAD圖,N-S圖,HIPO圖,判定表,判定樹.
B) 數據流程圖,Yourdon 圖,程序流程圖,PAD圖,N-S圖,HIPO圖。
C) 判定表,判定樹,PDL,程序流程圖,PAD圖,N-S圖。
D) 判定表,判定樹,數據流程圖,系統流程圖,程序流程圖,層次圖。
詳細設計階段工具:判定表、判定樹、數據流程圖、系統流程圖、程序流程圖、PAD圖、N-S圖、PDL
在軟件詳細設計階段,常用的圖形描述工具有程序流程圖,盒圖(NS 圖)和問題分析圖(PAD) .常用的語言描述工具為 PDL(程序設計語言) ,常用的表格描述工具有判定表和判定樹.
DFD數據流圖:總體設計階段
5.按照軟件工程的原則,模塊的作用域和模塊的控制域之間的關系是: ( A)
A)模塊的作用域應在模塊的控制域之內。
B)模塊的控制域應在模塊的作用域之內。
C)模塊的控制域與模塊的作用域互相獨立。
D)以上說法都不對。
6.在軟件生命周期中,能準確確定軟件系統的體系結構的功能階段是 (C )
A.概要設計 B.詳細設計 C.需求分析 D.可行性分析
7.下面不是軟件工程的3個要素的是( C)
A過程 B.方法 C.環境 D.工具
軟件工程的三個要素:方法、工具、過程
8.下面不屬于軟件的組成的是(B )
A程序 B.記錄 C.文檔 D.數據
軟件=程序+數據+文檔+服務
9.在瀑布模型中,將軟件分為若干個時期,軟件項目的可行性研究一般歸屬于( C)
A.維護時期 B.運行時期 C.定義時期 D.開發時期
10.在瀑布模型中,下面(C )是其突出的缺點。
A.不適應平臺的變動
B.不適應算法的變動
C.不適應用戶需求的變動
D.不適應程序語言的變動
11下面不屬于軟件的特點的是( D)。
A軟件是一種軟件產品
B軟件產品不會用壞,不存在磨損、消耗問題
C軟件產品的生產主要是研制
D軟件產品非常便宜
12 軟件開發工具是協助開發人員進行軟件開發活動所使用的軟件或環境。下面不是軟件開發工具的是。A
A.維護工具 B.編碼工具 C.測試工具 D.需求分析工具
13.下列敘述中不屬于軟件生命周期模型的是(D )。
A.原型模型 B.瀑布模型 C.螺旋模型 D.快速組裝模型
14.軟件設計中,用抽象和分解的目的是(B )。
A.提高易讀性B.降低復雜性 C.增加內聚性 D.降低耦合性
15軟件生命周期中所花費用最多的階段是(D )。
A.詳細設計 B.軟件編碼 C.概要設計 D.軟件測試和維護
16.開發軟件時對提高開發人員工作效率至關重要的是(B )。
A.操作系統的資源管理功能
B.先進的軟件開發工具和環境
C.程序人員的數量
D.計算機的并行處理能力
17.開發軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作( B)。
A.軟件投機 B.軟件危機 C.軟件工程 D軟件產生
18軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)
A.定義、開發、運行維護
B.設計階段、編程階段、測試階段
C.總體設計、詳細設計、編程調試
D.需求分析、功能定義、系統設計
19.軟件工程的理論和技術性研究的內容主要包括軟件開發技術和(B )。
A.消除軟件危機
B.軟件工程管理
C.程序設計自動化
D.實現軟件可重用
20軟件工程的出現是由于( C)。
A.程序設計方法學的影響
B.軟件產業化的需要
C.軟件危機的出現
D.計算機的發展
21.在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D )。
A.概要設計
B.詳細設計
C.問題定義
D.需求分析
22. 開發大型軟件時,產生困難的根本原因是(A )。
A.大系統的復雜性 B.人員知識不足
C.客觀世界千變萬化 D.時間緊、任務重
23. 文檔是軟件開發人員、軟件管理人員、維護人員、用戶以及計算機之間的( B),軟件開發人員在各個階段以文檔作為前段工作成果的體現和后段工作的基礎。
A.接口B.橋梁C.科學D.繼續
24軟件工程學的目的是以 較低的成本,研制(A )質量的軟件。
A較高B較低C.可靠D.優秀
25軟件從一個計算機系統或環境轉換到另一個計算機和環境的容易程度稱為(D )。
A.可用性B.兼容性C.可靠性D.可移植性
26.軟件生存周期是指( D)階段。
A.軟件開始使用到用戶要求修改為止
B.軟件開始使用到被淘汰為止
C.從開始編寫程序到不能再使用為止
D.從立項制定計劃,進行需求分析到不能再使用為止
27.軟件工程學是應用科學理論和工程上的技術指導軟件開發的學科,其目的是( B)。
A引入新技術提高空間利用率
B用較少的投資獲得高質量的軟件
C縮短研制周期擴大軟件功能
D硬軟件結合使系統面向應用
28. 軟件可行性分析是著重確定系統的目標和規模。對成本-效益進行發現應屬于下列選項中的(A )。
A.經濟可行性B.操作可行性C.技術可行性D.社會可行性
29在數據流圖中,用圓或者橢圓來表示(B )。
A.數據流B.加工C.數據存儲D.數據源點或終點
30. 需求分析階段的任務是確定( C)。
A.軟件開發方法
B.軟件開發費用
C.軟件系統功能
D.軟件開發工具
31(D )的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。
A需求分析 B概要設計 C總體設計 D可行性研究
32.下列選項中( D)不是軟件需求規格目標。
A.便于用戶、分析員和軟件設計人員進行理解及交流
B.控制系統的實施過程
C.作為軟件測試和驗收以及維護的依據
D.便于軟件的維護
33下面描述中,不符合結構化程序設計風格的是( B)。
A使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯
B模塊只有一個入口,可以有多個出口
C注重提高程序的執行效率
D不使用goto語句
34. 下列工具中屬于需求分析常用工具的是(D )。
A.PAD B.PFD C.N-S D.DFD
35. 在數據流圖(DFD)中,帶有名字的箭頭表示(C )。
A.控制程序的執行順序
B.模塊之間的調用關系(直線)
C.數據的流向
D.程序的組成成分
長方形代表起點或者終點
36. 在軟件生產過程中,需求信息的給出是(D )。
A.程序員 B.項目管理者 C.軟件分析設計人員 D.軟件用戶
37下列敘述中,不屬于結構化分析方法的是( C)。
A.面向數據流的結構化分析方法
B.面向數據結構的結構化數據系統開發方法
C.面向對象的分析方法
38結構設計(SD)是一種應用最廣泛的系統設計方法,是以( B)為基礎、自頂向下、逐步求精和模塊化的過程。
A.數據流 B.數據流圖 C.數據庫 D數據結構
39需求分析是由分析員經了解用戶的要求,認真細致地調研、分析,最終應建立目標系統的邏輯模型并寫出( B)。
A.模塊說明書B.軟件規格說明書C.項目開發計劃 D.合同文檔
40. 結構化分析方法以數據流圖、( D)和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統模型。
A.DFD圖 B.PAD圖 C.IPO圖 D.數據字典
41. 數據字典是軟件需求分析階段的重要工具之一,它的基本功能是( A)
A.數據定義B.數據維護C.數據通訊D.數據庫設計
42. 以下( A)不是詳細設計中常用的圖形描述工具。
A.數據流圖B.程序流圖C.盒圖(N-S)D.問題分析圖(PAD)
43. 在結構圖的有關術語中,用于表示軟件結構中控制的層數的是 (C )
A.扇入B扇出C深度D寬度
44. 模塊的獨立程度是評價設計好壞的重要標準。( A)是衡量
軟件的模塊獨立性的兩個定性度量標準。
A耦合性和內聚性B內聚性和可靠性
C耦合性和獨立性D可靠性和獨立性
45. 軟件設計包括(B )兩個階段。
A.接口設計和結構設計B.概要設計和詳細設計
C.數據設計和概要設計D.結構設計和過程設計
46在詳細設計階段,經常采用的工具是(A )。
A.PAD B.SA C.SC(結構圖,總體設計) D.DFD
47. 在軟件開發中,下面任務不屬于設計階段的是(D )。
A.數據結構設計 B給出系統模塊結構
C定義模塊算法 D定義需求并建立系統模型
48.對建立良好的程序設計風格,下面描述正確的是( A)。
A程序應簡單、清晰、可讀性好 B符號名的命名要符合語法
C充分考慮程序的執行效率 D程序的注釋可有可無
49.下面不屬于軟件設計原則的是(C )。
A抽象B模塊化C自底向上D信息隱蔽
50. 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為(C )。
A PAD圖 B.N-S圖 C.結構圖 D數據流圖
51軟件測試按照功能劃分可以分為(B )。
A黑盒測試和單元測試 B白盒測試和黑盒測試
C集成測試和單元測試 D白盒測試和靜態測試
軟件測試按照功能劃分可以分為白盒測試和黑盒測試
按照開發階段劃分,軟件測試可分為單元測試、集成測試,系統測試和驗收測試
白盒測試方法:邏輯覆蓋、循環測試、基本路徑測試
黑盒測試方法:等價分類法,邊界值分析法、錯誤推斷法,因果圖法,場景法.
52在軟件測試過程的4個步驟中,測試依據是需求規格說明的是( C)
A單元測試B集成測試C確認測試D系統測試
53黑盒測試法屬于( C)。
A集成測試B系統測試C動態測試D靜態測試
靜態測試(不實際運行軟件,對軟件的格式和結構進行評估)包括:代碼規則檢查、程序結構分析、代碼質量度量(程序復雜度分析)
動態測試:功能確認與接口測試、覆蓋率分析、性能分析、內存分析
54下列敘述中錯誤的是( C)。
A測試是為了尋找錯誤而運行程序的過程
B一個成功的測試是揭示了迄今為止尚未發現的錯誤的測試
C測試的目的是為了證明程序是正確的
D一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的測試
55軟件測試過程是軟件開發過程的逆過程,其最基礎性的測試應是
( B)
A集成測試B單元測試C有效性測試D系統測試
55.1 有一組測試用例使得每一個被測試用例的分支覆蓋至少被執行一次,它滿足的覆蓋標準___________。( B )
A. 語句覆蓋 B.判定覆蓋 C.條件覆蓋 D.路徑覆蓋
6.關于白盒測試與黑盒測試的最主要區別,正確的是__。( A )
A.白盒測試側重于程序結構,黑盒測試側重于功能
B.白盒測試可以使用測試工具,黑盒測試不能使用工具
C.白盒測試需要程序參與,黑盒測試不需要
D.黑盒測試比白盒測試應用更廣泛
56. 程序的三種基本控制結構是( B)。
A. 過程、子程序和分程序
C. 遞歸、迭代和回溯
B. 順序、選擇和重復
D. 調用、返回和轉移
57. 面向對象的分析方法主要是建立三類模型,即(D )。
A) 系統模型、ER模型、應用模型
B) 對象模型、動態模型、應用模型
C) E-R模型、對象模型、功能模型
D) 對象模型、動態模型、功能模型
58. 在E-R模型中,包含以下基本成分( C)。
A) 數據、對象、實體
B) 控制、聯系、對象
C) 實體、聯系、屬性
59.軟件測試的目標是(B )。
A. 證明軟件是正確的
B. 發現錯誤、降低錯誤帶來的風險
C. 排除軟件中所有的錯誤
D. 與軟件調試相同
60.軟件生命周期中所花費用最多的階段是( D)
A.詳細設計 B.軟件編碼 C.軟件測試 D.軟件維護
61.在數據流圖中, 圓或橢圓表示 (1) A ,平行線表示 (2) D__。
(1) A、加工 B、外部實體
C、數據流 D、存儲
(2)) A、加工 B、外部實體
C、數據流(箭頭) D、存儲
62.瀑布模型(Waterfall Model)突出的缺點是不適應 ( D)的變動。
A、算法 B、平臺 C、程序語言 D、用戶需求
63.結構化分析方法(SA)的一個重要指導思想是(C ) 。
A.自頂向下,逐步抽象
B.自底向上,逐步抽象
C.自頂向下,逐步分解
D.自底向上,逐步分解
64.模塊的控制范圍包括它本身及它所有的從屬模塊,模塊的作用范圍是指模塊內一個判定的作用范圍,凡是受到這個判定影響的所有模塊都屬于這個判定的作用范圍,理想的情況是( A)
A.模塊的作用范圍應在控制范圍之內
B.模塊的控制范圍應在作用范圍之內
C.模塊的作用范圍與控制范圍交叉
D. 模塊的作用范圍與控制范圍不相交
65.軟件危機具有下列表現( D )
I、對軟件開發成本估計不準確
II、軟件產品的質量往往不可靠
III、軟件常常不可維護
IV、軟件成本逐年上升
A.I、II和III B.I、III和IV
C.II、III和IV D.以上都正確
66. 產生軟件危機的原因可能有( D )
I、用戶需求描述不精確、不準確
II、對大型軟件項目的開發缺乏有力的組織與管理
III、缺乏有力的方法學和工具的支持
IV、軟件產品的特殊性和人類智力的局限性
A.I和II B.I、II和IV
C.II、III和IV D.以上都正確
68. ( A )分批地逐步向用戶提交產品,每次提交一個滿足用戶需求子集的可運行的產品。
A.增量模型 (分批) B.噴泉模型(重疊) C.原型模型 D.螺旋模型(迭代,風險分析)
69. 為了克服軟件危機,人們提出了用 ( D ) 的原理來設計軟件,這就是軟件工程誕生的基礎。
A. 數學 B. 軟件學 C. 運籌學 D. 工程學
70.具有風險分析的軟件生存周期模型是( C )
A.瀑布模型 B.噴泉模型
C.螺旋模型 D.增量模型
71.瀑布模型的關鍵不足在于( B )
A.過于簡單 B.不能適應需求的動態變更
C.過于靈活 D.各個階段需要進行評審
72.軟件工程的目標有( B )。
A.易于維護 B.低的開發成本 C.高性能 D.短的開發期
73.軟件工程學的目的和意義是( D )。
A.應用科學的方法和工程化的規范管理來指導軟件開發
B.克服軟件危機
C.做好軟件開發的培訓工作
D.以較低的成本開發出高質量的軟件
74.開發軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱做 ( C)
A. 軟件工程 B. 軟件周期 C. 軟件危機 D. 軟件產生
75.快速原型模型的主要特點之一是 (D )
A. 開發完畢才見到產品 B. 及早提供全部完整的軟件產品
C. 開發完畢后才見到工作軟件 D. 及早提供工作軟件
76.瀑布模型的存在問題是( B )
A.用戶容易參與開發 B.缺乏靈活性
C.用戶與開發者易溝通 D.適用可變需求
77.軟件生存周期模型不包括:( B )
A.瀑布模型 B.對象模型 C.增量模型 D.噴泉模型
78.下列哪個不屬于軟件工程的內涵之一( C )
A.應用完善的科學與工程原理 B.經濟地開發軟件
C.高薪聘請軟件高手 D.開發既可靠又能有效運行的軟件
79.在瀑布模型中,將軟件劃分為若干個時期,軟件項目的可行性研究一般歸屬于( B )。
A.維護時期 B.計劃時期 C.運行時期 D.開發時期
80.下列哪個辦法不屬于解決軟件危機的途徑之一( B )
A. 研制新一代智能計算機 B. 大力扶持軟件企業
C. 采用軟件工程的解決途徑 D. 采用面向對象的軟件設計方法
81.下面哪一項不屬于快速原型模型的優點。B
A.可及早為用戶提供有用的產品。
B.可保證在開發后期,全面發現錯誤給以糾正。
C.減少技術應用風險,縮短開發時間,減少費用、提高生產率。
D.促使用戶主動參與開發活動,促進各類人員的協調,適應需求變化。
82.下列哪個不屬于瀑布模型與傳統的程序設計的不同之處( D )。
A.傳統的程序設計開發人員只開發程序,不寫文檔.
B.傳統的程序設計重點在問題求解和算法,并只有自己才能讀懂.
C.瀑布模型的各階段要第三方介入審察
D.傳統的程序設計規定各階段必須寫文檔.
83.下面哪個模式不屬于軟件工程的開發模式( C )
A.基于瀑布模型的開發模式 B.基于原型模型的開發模式
C.基于人機對話的開發模式 D.基于關系數據庫的開發模式
84.數據字典是數據流圖中所有元素的定義的集合,一般由以下四類條目組成( B )。
A.數據說明條目、控制流條目、加工條目、數據存儲條目
B.數據流條目、數據項條目、數據存儲條目、加工條目
C.數據源條目、數據流條目、數據處理條目、數據文件條目
D.數據流條目、數據文件條目、數據項條目、加工條目
85. 下列模型屬于成本估算方法的有 (A )
A.COCOMO 模型 B.McCall 模型 C.McCabe 度量法 D. 時間估算法
86.DFD圖反映系統( D )
A.怎么做 B.對誰做 C.何時做 D.做什么
87.經濟可行性研究的范圍包括( C )
A.資源有效性 B.管理制度 C.效益分析 D.開發風險
88.為高質量地開發軟件項目,在軟件結構設計時,必須遵循 ( A ) 原則。
A .信息隱蔽 B .質量控制 C .程序優化 D .數據共享
89.需求規格說明書的作用不包括( C )
A .軟件驗收的依據 B .用戶與開發人員對軟件要做什么的共同理解
C .軟件可行性研究的依據 D .軟件設計的依據
90.分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描述了系統的( A)。
A.總貌B.細節C.抽象D.軟件的作者
91.經調查,系統分析員給出有問題的初略陳述,其中部分描述如下:某商場的采購部門要求每天開出定購清單,交采購員;倉庫管理員將此要還應輸入系統,經庫存業務(進貸或出貸)處理后輸出。從這段描述可知該部分數據流圖中的外部項為:A
A.采購員、倉庫管理員 B.定購清單、庫存業務
C.庫存業務 D.定購清單、采購員
92.數據流是數據流圖的基本成分,下列關于數據流的敘述中,B 是正確的。
A.某加工的輸入是一個數據流,該加工的輸出也必定是一個數據流
B.多個不同的數據流可以流向一個加工,也可從一個加工中流出
C.數據流只能從加工流向文件,但不能從文件流向加工
D.一個數據流可以從一個文件流向另一個文件
93. 需求分析階段最重要的技術文檔之一是:( C )
A.項目開發計劃 B.設計說明書
C.需求規格說明書 D.可行性分析報告
94.需求工程的主要目的是( C )
A.系統開發的具體方案 B. 進一步確定用戶的需求
C.解決系統是“做什么的問題” D. 解決系統是“如何做的問題”
95.不適于作為數據流圖處理(加工)框名稱的是__B__。
A.人工校核工資數據 B.工資支票數據
C.打印工資支票 D.計算職工工資
96 結構化程序設計思想的核心是要求程序只由順序、循環和 (A ) 三種結構組成。
A. 選擇 B. 單入口 C. 單出口 D. 有規則 GOTO
97. 模塊( C),則說明模塊的獨立性越強。
A. 耦合越強 B. 扇入數越高 C. 耦合越弱 D. 扇入數越低
98. 當一個模塊直接使用另一個模塊的內部數據,這種模塊之間的耦合為(D)
A .數據耦合 B .公共耦合 C .標記耦合 D .內容耦合
[解析] 耦合分為以下幾種,按照耦合度由高到低排列是:
內容耦合――一個模塊直接訪問另一個模塊的內容。
公共耦合――組模塊都訪問同一全局數據結構。
外部耦合――組模塊都訪問同一個數據項。
控制耦合――一個模塊明顯地把開關量、名字等信息送入另一模塊,控制另一模塊的功能
99.軟件結構圖中,模塊框之間若有直線連接,表示它們之間存在( A )
A.調用關系 B.組成關系 C.鏈接關系 D.順序執行關系
100.概要設計最終結果是產生(C)
A.項目開發計劃 B.需求規格說明書
C.軟件結構設計說明書 D.可行性分析報告
101.在有集成(組裝)測試的敘述中,A__ 是正確的。
A測試底層模塊時不需要樁模塊
B驅動模塊的作用是模擬被調模塊
C自頂向下測試方法易于設計測試結果
D自底向上測試方法有有利于提前預計測試結果
102 .程序功能說明中指出:由三個輸入數據表示一個三角形的三條邊長。根據黑盒法中的邊緣值分析法設計測試用例,應選___D__。
A.a=3,b=4,c=5 B.a=1,b=2,c=4
C.上述A.B 項目都應選上 D.a=1,b=2,c=3
103、軟件維護的副作用,是指( C )。
A.開發時的錯誤 B.隱含的錯誤
C.因修改軟件而造成的錯誤 D.運行時誤操作
104.在考察系統的一些涉及時序和改變的狀態時,要用動態模型來表示。動態模型著重于系統的控制邏輯,它包括兩個圖:一個是事件追蹤圖,另一個是( D )。
A.狀態圖 B.數據流圖 C.系統結構圖 D.時序圖
105. 面向對象分析是對系統進行( A )的一種方法。
A.需求建模 B.程序設計 C.設計評審 D.測試驗收
106. ( C )是把對象的屬性和操作結合在一起,構成一個獨立的對象,其內部信息對外界是隱蔽的,外界只能通過有限的接口與對象發生聯系。
A.多態性 B.繼承 C.封裝 D.消息
107.下列不屬于面向對象開發方法的是( B)
A.Booch B.UML C.Coad D.OMT
108. 面向對象的分析方法主要是建立三類模型,即( D )
A.系統模型,ER模型,應用模型 B.對象模型,動態模型,實現(應用)模型
C.ER模型,對象模型,功能模型 D.對象模型,動態模型,功能模型
109.面向對象程序設計的基本機制( A )
A.繼承 B.消息 C.方法 D.結構
110. 下列屬于面向對象的要素有( C )
A.分類性 B.抽象 C.對象 D.封裝
對象三要素:對象、屬性、服務
111.在進行面向對象分析時,所采用的模型有( )。
A.對象模型 B.動態模型 C.靜態模型 D.功能模型
112.狀態是對象屬性的值的一種抽象,它的性質有( )。
A.時間性 B.持續性 C.有序性 D.有窮性
113.建立繼承關系時所采用的方式有( )。
A.自頂向下 B.從內到外 C.自底向上 D.從復雜到簡單
114.對象是人們要研究的任何事物,主要的對象類型有( )。
A.有形實體 B.作用 C.事件 D.性能說明
115. 類庫這種機制是 ( D ) 級別的信息共享。
A. 同一類 B. 不同類 C. 同一應用 D. 不同應用
116. 狀態是對象 ( D ) 的抽象。
A屬性值 B. 方法 C. 功能 D. 行為
117. 動態模型的描述工具是 ( D ) 。
A. 對象圖 B. 結構圖 C. 流程圖 D. 狀態圖
118.在確定對象的屬性中,所有 ( A ) 是候選的對象。
A. 名詞 B. 動詞 C. 詞組 D. 修飾性名詞詞組
119.對象實現了數據和操作的結合,使數據和操作( C )于對象的統一體中。
A.結合 B.隱藏 C.封裝 D.抽象
120.OOA是( D )
A. 結構化分析 B.面向對象程序設計
C. 面向對象程序分析 D. 面向對象分析
121. 面向對象的特征不包括( C )
A.繼承性。 B.多態性。 C.互換性 D. .封裝性
122. 在面向對象軟件開發方法中,類與類之間主要有以下結構關系(D)
A繼承和聚集 B繼承和一般 C聚集和消息傳遞 D繼承和方法調用
123. 以下哪一項不是面向對象的特征(D )
A多態性 B繼承性 C封裝性 D過程調用
124.對象實現了數據和操作的結合,使數據和操作( C )于對象的統一體中。
A.結合 B.隱藏 C.封裝 D.抽象
125. 在面向對象軟件開發方法中,類與類之間主要有以下結構關系( A )
A繼承和聚集 B繼承和一般 C聚集和消息傳遞 D繼承和方法調用
126. 以下哪一項不是面向對象的特征( D)
A多態性 B繼承性 C封裝性 D過程調用
127.下面所列的性質中,( D )不屬于面向對象程序設計的特性。
A.繼承性 B.重用性 C.封裝性 D.可視化
128.下列是面向對象設計方法中有關對象的敘述,其中( B )是正確的。
A.對象在內存中沒有它的存儲區
B.對象的屬性集合是它的特征表示
C.對象的定義與程序中類型概念相當
D.對象之間不能相互通信
129.在面向對象軟件方法中,“類”是( D )。
A.具有同類數據的對象的集合 B.具有相同操作的對象的集合
C.具有同類數據的對象的定義 D.具有同類數據和相同操作的對象的定義
130.面向對象分析時,所標識的對象為__D____是錯誤的。
A.與目標系統有關的物理實體
B.與目標系統發生作用和人或組織的角色
C.目標系統運行中需記憶的事件
D.目標系統中環境場所的狀態
131.面向對象設計OOD模型的主要部件中,通常不包括__A___。
A通信部件 B.人機交互部件 C.任務管理 D.數據管理
132.面向對象設計時,對象信息的隱藏主要是通過__A____實現的。
A.對象的封裝性 B.子類的繼承性
C.系統模塊化 D.模塊的可重用
133.作為面向對象分析的基礎、由問題領域中的對象所組成、用ER圖來描述是_A___。
A、消息模型 B.處理模型 C.狀態模型 D.瀑布模塊
134.開發軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作( C )。
A.軟件工程 B.軟件周期 C.軟件危機 D.軟件產生
135.下面不屬于軟件工程3要素的是( D )
A)工具 B)過程 C)方法 D)環境
136.檢查軟件產品是否符合需求定義的過程稱為( A )
A)確認測試 B)集成測試 C)驗證測試 D)驗收測試
137.數據存儲和數據流都是( D ),僅僅是所處的狀態不同。
A)分析結果 B)事件 C)動作 D)數據
138.數據流圖和( C )共同組成目標系統的邏輯(功能)模型。
A)HIPO圖 B)PDL C)數據字典 D)層次圖
139.數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是( A )。
A)控制流 B)加工 C)數據存儲 D)源和匯
140.結構化分析方法就是面向( B )的自頂向下逐步求精進行需求分析的方法。
A)目標 B)數據流 C)功能 D)對象
141.下面不屬于軟件工程設計基本原理的是( C )
A)抽象 B)模塊化 C)自底向上 D)信息隱蔽
142.( D )是數據說明、可執行語句等程序對象的集合,它是單獨命名的而且可以通過名字來訪問。
A)模塊化 B)抽象 C)精化 D)模塊
143.面向數據流的設計方法把( D )映射成軟件結構。
A)數據流 B)系統結構 C)控制結構 D)信息流
144.程序流程圖(PDF)中的箭頭代表的是( B )。
A)數據流 B)控制流 C)調用關系 D)組成關系
145.在進行軟件結構設計時應該遵循的最主要的原理是( C )
A)抽象 B)模塊化 C)模塊獨立 D)信息隱蔽
146.在測試中,下列說法錯誤的是( B )
A)測試是為了發現程序中的錯誤而執行程序的過程
B)測試是為了表明程序的正確性
C)好的測試方案是極可能發現迄今為止尚未發現的錯誤的測試方案
D)成功的測試是發現了至今為止尚未發現的錯誤的測試
147.下列工具中為需求分析常用工具是( D )
A)PAD B)PFD C)N-S D)DFD
148.軟件調試的目的是( B )
A)發現錯誤 B)改正錯誤 C)改善軟件的性能 D)挖掘軟件的潛能
149.軟件詳細設計主要采用的方法是( A )。
A)結構化程序設計 B)模型設計 C)結構化設計 D)流程圖設計
150.軟件開發的原型化方法是一種動態定義軟件需求的方,下述條件中,( A )是實施原型化方法所必需的。
Ⅰ 成熟的原型化人員
Ⅱ 快速的成型工具
Ⅲ 需求了解的正確性
A)Ⅰ和Ⅱ B)Ⅱ和Ⅲ C)Ⅰ、Ⅱ和Ⅲ D)Ⅲ
151.模塊本身的內聚是模塊獨立性的重要性度量因素之一。在7類內聚中,具有最強內聚的一類是( D )。
A)順序性內聚 B)過程性內聚 C)邏輯性內聚 D)功能性內聚
由弱到強:偶然內聚、邏輯內聚、時間內聚、過程內聚;通信內聚、順序內聚和功能內聚。
152.數據字典是對數據定義信息的集合,它所定義的對象都包含在( A )中。
A)數據流圖 B)程序框圖 C)軟件結構 D)方框圖
153.軟件開發的結構化分析方法,常用的描述軟件功能需求的工具是( C )。
A)業務流程圖、處理說明 B)軟件流程圖、模塊說明 C)數據流程圖、數據字典 D)系統流程圖、程序編碼
154.軟件開發的結構化設計方法(SD方法),全面指導模塊化分的最重要的原則應該是( C )。
A)模塊高內聚 B)模塊低耦合 C)模塊獨立性 D)程序模塊化
155.面向數據流的軟件設計方法,一般是把數據流圖中得數據流化分為( B )兩種流,再將數據流圖映射為軟件結構。
A)數據流與事務流 B)交換流和事務流 C)信息流與控制流 D)交換流和數據流
156.軟件設計中,可應用于詳細設計的工具有( A )。
A)程序流程圖、PAD、方框圖和偽碼
B)數據流程圖、PAD、結構圖和偽碼
C)業務流程圖、N-S圖和偽碼
D)數據流程圖、PAD、N-S圖和偽碼
157.軟件開發的可行性研究,一般涉及經濟、技術和操作的可能性,而進行可行性研究的基本依據則是用戶提出的軟件( B )。
A)系統質量 B)系統目標 C)系統功能 D)系統性能
158.結構化方法將軟件生命周期分為計劃、開發和運行3個時期,下列任務中( B )屬于計劃時期的任務。
A)需求分析 B)問題定義 C)總體設計 D)編碼
159.耦合是軟件各個模塊間連接的一種度量。一組模塊都訪問同一數據結構應屬于( B )方式。
A)內容耦合 B)公共耦合 C)外部耦合 D)控制耦合
[解析] 耦合分為以下幾種,按照耦合度由高到低排列是:
內容耦合――一個模塊直接訪問另一個模塊的內容。
公共耦合――組模塊都訪問同一全局數據結構。
外部耦合――組模塊都訪問同一個數據項。
控制耦合――一個模塊明顯地把開關量、名字等信息送入另一模塊,控制另一模塊的功能
160.內聚是從功能角度來度量模塊內的聯系,按照特定次序執行元素的模塊屬于( C )方式。
A)邏輯內聚 B)時間內聚 C)過程內聚 D)順序內聚
邏輯內聚是指把幾種相關的功能組合在一起,每次調用時,由傳給模塊的參數來確定模塊應完成哪一種功能;
時間內聚是指順序完成一類相關功能的模塊;
過程內聚是指內部的處理元素是相關的而且必須以特定次序執行的模塊,與題目相符
;而順序模塊是把模塊內的處理元素和同一個功能密切相關,而且這些處理必須順序執行的模塊。
161.軟件管理中,需要對軟件進行配置,各階段文檔的管理屬于( D )。
A)組織管理 B)資源管理 C)計劃管理 D)版本管理
162.軟件開發的結構化方法中,常用數據字典技術,其中數據加工是其組成內容之一,下述方法( D)是常采用編寫加工說明的方法。
Ⅰ 結構化語言
Ⅱ 判定樹
Ⅲ 判定表
A)Ⅰ B)Ⅱ C)Ⅱ、Ⅲ D)都是
163.軟件開發過程中,軟件結構設計是描述( B )。
A)數據存儲結構 B)軟件模塊體系 C)軟件結構測試 D)軟件控制過程
164.( B )是對象的靜態特征。
A.方法 B.屬性 C.關系 D.操作
165.對象的(D )是對象的動態特征。
A.特征 B.屬性 C.關系 D.操作
166.屬于某個類的一個具體對象稱為該類的( A )
A.實例 B.虛擬 C.繼承 D.多態
167.UML是( A )。
A) 一種可視化的建模語言
B) 是一種可視化的程序設計語言
C)是一種過程
D) 是一種方法
168.下列的( C )不屬于面向對象分析模型。
A. 用例圖 B. 類圖 C. 實體關系圖 D. 順序圖
169.程序的三種基本控制結構是( B )。
A.過程、子程序和分程序 B.順序、選擇和重復 C.遞歸、堆棧和隊列 D.調用、返回和轉移
170.結構化程序設計主要強調的是( D )。
A.程序的規模B.程序的效率 C.程序設計語言的先進性 D.程序易讀性
171.使用白盒測試方法時,確定測試數據應根據( A )和指定的覆蓋標準。
A.程序內部邏輯 B.程序復雜結構 C.使用說明書 D.程序的功能
172.確認測試主要涉及的文檔是( A )。
A)需求規格說明書B)概要設計說明書 C)詳細設計說明書D)源程序
173.測試的關鍵問題是( D )。
A.如何組織對軟件的評審
B.如何驗證程序的正確性
C.如何采用綜合策略
D.如何選擇測試用例
174.下面哪個測試屬于黑盒測試( B )。
A)路徑測試B)等價類劃分 C)條件判斷覆蓋測試 D)循環測試
175.軟件測試方法中,黑盒、白盒測試法是常用的方法,其中白盒測試主要用于測試( D )。
A) 結構合理性B)軟件外部功能C)程序正確性D)程序內部邏輯
176.為了適應軟硬件環境變化而修改軟件的過程是( C )。
A)校正性維護 B)完善性維護 C)適應性維護D)預防性維護
177.在McCall軟件質量度量模型中,( C )屬于面向軟件產品修改。
A.可靠性 B.可重用性 C.適應性 D.可移植性
178.瀑布模型的存在問題是( B )
A.用戶容易參與開發 B.缺乏靈活性 C.用戶與開發者易溝通 D.適用可變需求
179.軟件生命周期中所花費用最多的階段是( D )
A.詳細設計 B.軟件編碼 C.軟件測試 D.軟件維護
180.程序的三種基本控制結構的共同特點是 ( D )
A.不能嵌套使用 B.只能用來寫簡單程序 C.已經用硬件實現 D.只有一個入口和一個出口
181.原型化方法是用戶和設計者之間執行的一種交互構成,適用于( A )系統。
A.需求不確定性高的 B.需求確定的 C.管理信息 D.實時
182.以下不屬于邏輯覆蓋的是( D )。
A. 語句覆蓋 B. 判定覆蓋 C. 條件覆蓋 D. 基本路徑覆蓋
183.一個模塊的( B )是指能直接控制該模塊的模塊數。
A. 扇出數 B. 扇入數 C. 寬度 D. 深度
184.軟件需求分析階段的工作,可以分為4個方面:需求獲取,需求分析,編寫需求規格說明書以及( B ) 。
A)用戶B)需求審評C)總結D)都不正確
185.以下分析模型的結構成員中,屬于行為模型的是( C )。
A) 數據流圖 B) 實體-關系圖 C) 狀態轉換圖 D) 數據字典
186.在白盒法技術測試用例的設計中( A )是最弱的覆蓋標準。
A) 語句 B) 條件 C) 判定 D) 條件組合
187.模塊化中的信息隱藏原則是指( B )。
A) 使信息對用戶隱藏 B) 使信息對其它模塊隱藏
C) 使信息對軟件隱藏 D) 使信息對操作系統隱藏
188.CASE是指( C )。
A)計算機輔助軟件開發 B)計算機輔助軟件制造
C)計算機輔助軟件工程 D)計算機輔助軟件設計
189.以下軟件生命周期模型中,( A )是用戶驅動的模型。
A)快速原型模型 B)螺旋模型 C)噴泉模型 D)瀑布模型
190.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是( )
A)條件覆蓋法 B)等價分類法 C)邊界值分析法 D)錯誤推測法
191.模塊的扇入是指( A )。
A)本模塊的所有上層模塊數 B)本模塊的所有下層模塊數
C)調用本模塊的所有模塊數 D)本模塊調用的所有模塊數
192.軟件生存周期是指( D )。
A)開發軟件的全部時間
B)使用軟件的全部時間
C)開發和使用軟件的全部時間
D)從軟件計劃起直到軟件廢棄所經歷的全部時間
193.測試用例是指( C )。
A)被測對象 B)測試的輸入數據
C)測試數據+預期結果 D)測試的預期結果
194.軟件能力成熟度模型CMM分為( C )個等級。
A)3 B)4 C)5 D)6
195.數據流A由若干個數據項B和一個數據項C組成,用數據字典的符號表示出來( D )。
A.A = { B + C} B.A = {B}+{C} C.A = B+{C} D.A = {B} + C
196.分層DFD中父子平衡是指( D )。
A.父加工的數據流數目與子圖中數據流數目相同
B.父圖應包含子圖中的全部數據流
C.子圖應包含父圖中的全部數據流
D.父加工和子圖的輸入數據和輸出數據應分別保持一致
197.下列( B )屬于不良的編程習慣。
A.盡量不使用GOTO語句 B.從來不使用注釋
C.每行只寫一條語句 D.變量命名盡量直觀
198.瀑布模型中各階段按時間先后順序是( B )。
A.計劃→需求分析→編碼→設計→測試→維護
B.計劃→需求分析→設計→編碼→測試→維護
C.計劃→設計→需求分析→編碼→測試→維護
D.計劃→需求分析→設計→測試→編碼→維護
199.目前最流行的面向對象建模語言是( C )。
A)HTML B)XML C)UML D)VML
四、簡答題
1、什么叫軟件?
軟件是計算機系統中與硬件相互依存的另一部分,它是包括程序,數據及其相關文檔的完整集合
2、什么叫軟件危機?軟件危機包含哪兩點?軟件危機產生的原因是什么?
軟件危機是指在計算機軟件開發與維護過程中所遇到的一系列嚴重問題。包括兩點:
(1)如何開發軟件,以滿足對軟件日益增長的需求;
(2)如何維護數量不斷膨脹的已有軟件。
軟件開發和維護過程中存在的許多嚴重問題,一方面與軟件本身的特點有關,另一方面也和軟件開發與維護的方法不正確有關。具體表現如下:
(1)軟件是邏輯部件而不是物理部件。
(2)軟件的規模越來越大,復雜性越來越大。
(3)輕視需求分析的重要性,輕視軟件維護的錯誤觀點和方法。
3、什么叫軟件工程?
1968年在第一屆NATO會議上的早期定義: “建立并使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法”。
1993年IEEE的定義: “①軟件工程是:把系統的、規范的、可度量的途徑應用于軟件開發、運行和維護過程,也就是把工程應用于軟件;②進而研究①實現的途徑” 。
我們國家最近定義:軟件工程是指導計算機軟件開發和維護的工程學科。它采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。
4、兩種軟件工程方法學開發軟件時要建立哪些模型?
軟件工程方法學包括:傳統方法學和面向對象方法學。常用的開發模型有:
瀑布模型(需求穩定,而且可以預先指定)
原型模型(需求模糊或者隨時間變化)
增量模型(分析員先作出需求分析和概要設計,用戶參與逐步完善)
螺旋模型(將瀑布模型與原型化模型結合起來,并加入了風險分析)
噴泉模型(使開發過程具有迭代性和無間隙性)
5、軟件過程模型有哪些?簡述它們的特點。
過程模型分為五大類:1.管理過程模型。2.瀑布模型(又稱為生命周期模型)。3.增量過程模型:包括增量模型,RAD模型。4.煙花過程模型:包括原型開發模型,螺旋模型,協同開發模型。5.專用過程模型:包括機遇構建的開發模型,形式化方法模型,面向方面的軟件開發模型。
6、什么是軟件生命周期?
一個軟件從定義,開發,使用和維護,直到最終被廢棄,要經歷一個漫長的時期,通常把軟件經歷的這個漫長時期稱為生命周期
7、軟件生命周期有哪幾個階段和步驟?
三個階段:定義、開發、維護
八個步驟:問題定義、可行性研究、需求分析;總體設計、詳細設計、編碼與單元測試、綜合測試;運行維護。
8、計算機軟件的開發經過哪三個大階段?
三個階段:定義、開發、維護
9、軟件開發的各階段的任務是什么?
定義階段:問題定義–任務:關于規模和目標的報告書;可行性研究–任務:系統的高層邏輯模型:數據流圖,成本/效益分析;需求分析–任務:系統的邏輯模型:數據流圖,數據字典,算法描述。
開發階段:總體設計–任務:系統流程圖,成本/效益分析,推薦的系統結構:層次圖/結構圖;詳細設計–任務:HIPO圖或PDL圖;編碼和單元測試–任務:源程序清單,單元測試方案和結果;綜合測試–任務:綜合測試方案,結果集成測試,驗收測試,完整一致的軟件配置。
維護階段:軟件維護–任務:維護記錄以及改正性維護,適應性維護,完整性維護和預防性維護
10、軟件設計分哪兩個階段?總體設計的兩個階段分別是什么?
分為總體設計和詳細設計兩個階段。
11、總體設計包括系統設計(劃分出組成系統的程序、文件、數據庫、人工過程和文檔等物理元素)和結構設計(確定系統中每個程序是由哪些模塊組成的,以及這些模塊相互間的關系,不涉及模塊內部算法流程)
12、軟件與硬件的區別是什么?
軟件是一種邏輯部件,而不是具體的物理部件。軟件在開發、生產、使用、維護等方面與硬 件相比有明顯差異。 軟件是開發,硬件是制造 軟件是自定的,硬件是組裝的 軟件不會磨損,硬件存在機械磨損問題
13、軟件需求分析的任務是什么?
需求分析的任務是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、 具體的要求。一般說來,需求分析的任務包括下述幾方面:
1.確定對系統的綜合要求 (主要有: 功能需求、 性能需求、 運行需求、 將來可能提出的需求。 )
2.分析系統的數據要求
3.導出系統的邏輯模型:數據流圖、實體-聯系圖、狀態轉換圖、數據字典、算法流程等
4.修正系統開發計劃
14、瀑布模型與原型模型分別適用于開發哪些軟件?
瀑布模型與原型模型分別適用于開發哪些軟件瀑布模型適合于需求穩定,而且可以預先指定的大型系統工程項目。
原型模型適合于需求模糊或者隨時間變化的中小型項目
15、數據流圖的作用是什么?如何畫
數據流圖簡稱DFD(Data Flow Diagram)圖,它是以特定的圖形符號描述系統邏輯模型的工 數據流圖 具; 它從數據傳送和加工的角度抽象的描述信息在系統中的流動和數據處理的過程; 它是開發人員與用戶之間交流信息的通信工具;它也是系統分析與系統設計的工具。數據流圖畫法總結
1.先找出數據源點和匯點。它們是外部實體,由它們確定系統與外界的接口。
2.找出外部實體的輸出數據流與輸入數據流。畫出頂層數據流圖。
3.從頂層加工出發,逐步細化,畫出所需子圖。
4.分析系統的主要處理功能,把每一個處理功能作為一個加工,并且確定它們之間的數據流 入、流出關系,畫出第一層數據流圖。
5. 對流圖中的每個加工進行細化,畫出所需的子圖,直到加工不需再分解為止。
6.按照前面給出原則檢查和修改每一層數據流圖和子圖
16、 什么叫數據字典?如何寫數據字典?
數據字典是描述數據流圖中數據的信息的集合(描述內容包括:數據流圖、狀態轉換圖、 數據字典 E-R 圖中的數據信息(數據流、數據存儲、外部實體) 、控制信息(事件)等,不包括處理 ) 。
如何寫?
數據元素的組合方式
順序:即以確定的次序連接兩個或多個分量。例:A+B
選擇:即從兩個或多個可能的元素中選取一個。例:[A|B]
重復:即把指定的分量重復零次或多次。例:1{A}5
可選:即一個分量是可有可無的(重復零次或一次)
17、 軟件設計的原則有哪些?
模塊化,抽象化與逐步求精,信息隱藏與局部化,模塊獨立
18、 耦合與內聚分別有哪些?如何定義?如何區分?
耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度
內聚衡量一個模塊內部各個元素彼此結合的緊密程度
耦合的種類:
數據耦合:如果兩個模塊間的通訊信息是若干參數,其中每一個參數都是一個數據元素,稱 數據耦合 這種耦合為數據耦合。這是模塊之間影響最小的耦合關系。
標記耦合:當把整個數據結構作為參數傳遞而被調用模塊只需要使用其中一部分數據元素 標記耦合時,這種情況稱為標記耦合。
控制耦合: 那么A和B之間 控制耦合如果模塊A向模塊B所傳遞的信息控制了模塊B的內部邏輯,的耦合稱為控制耦合。
公共耦合:如果兩個或多個模塊都和同一個公共數據域有關,則稱為公共耦合。 公共耦合 公共耦合是一種不良的耦合關系,它給模塊的維護和修改帶來困難。 如果兩個模塊共享的數據很多,都通過參數傳遞很不方便時,可以利用公共耦合。
內容耦合:如果一個模塊和另一個模塊的內部屬性(即運行程序和內部數據)有關,則稱為 內容耦合。
功能內聚:如果一個模塊內部的各組成部分的處理動作全都為執行同一個功能而存在, 并且 功能內聚: 只執行一個功能,則稱為功能內聚。判斷一個模塊是不是功能內聚,只要看這個模塊是“做什么” 是完成一個具體的任務,還是完成多任務。
順序內聚:如果一個模塊內部的各個組成部分執行的幾個處理動作有這樣的特征: 前一個處 順序內聚:理動作所產生的輸出數據是后一個處理動作的輸入數據,稱為順序內聚。 順序內聚維護起來不如功能內聚方便, 要修改模塊中的一個功能, 會影響到同一個模塊中的 其他功能。
通訊內聚: 如果一個模塊內各組成部分的處理動作都使用相同的輸入數據或產生相同的輸 通訊內聚 出數據,稱為通訊內聚。
過程內聚:如果一個模塊內部的各個組成部分的處理動作各不相同,彼此也沒有聯系,但他 們都受同一個控制流支配,決定他們的執行次序,稱為過程內聚。
暫時內聚(時間內聚):如果一個模塊內的各組成部分的處理動作和時間有關,則稱為暫時 : 內聚。暫時內聚模塊的處理動作必須在特定的時間內完成。-----指在一個特定的時間范圍內 完成,但完成次序不重要。例如:程序設計中的模塊的初始化。
邏輯內聚:如果一個模塊內部的各組成部分的處理動作在邏輯上相似, 但功能都彼此不同或 邏輯內聚: 無關,則稱為邏輯內聚。一個邏輯內聚模塊往往包括若干個邏輯相似的動作,使用時可以選 用一個或幾個功能。例如:把編輯各種輸入數據的功能放在一個模塊中。
機械內聚(偶然內聚): 如果一個模塊的內部各組成部分的處理動作彼此沒有任何聯系,則 : 稱為機械內聚
19、詳細設計階段用到了哪些圖形工具?
程序流程圖(PFD)
盒圖(N-S 圖)
問題分析圖(PAD)
判定表/判定樹 (其他非圖形工具有過程設計語言(PDL)
20、軟件工程的啟發式規則有哪些?
A.當模塊過大時就應該分解它。 一般按功能分解到成為一個小的功能單一的模塊為止。 一般 一個模塊內包含的語句在 30-50 條左右較好(指高級語言) 。分解后不應該降低模塊的獨立 性。
B. 深度、寬度、扇出和扇入都應適當。好的設計結構通常是頂層扇出比較高,中層扇出比 較少,底層扇入到公共的實用模塊中去(底層模塊有高扇入) 。模塊的獨立性是貫穿始終的 標準,不能為了追求其它目標而違背獨立性標準。
C.對于任何一個內部存在判斷調用的模塊, 它的判斷作用的范圍應該是其控制范圍的一個子 集。 存在判斷調用的模塊, 所在層次不要與那些屬于判斷作用范圍的模塊所在的層次相隔太 遠----越近越好。
D. 力爭降低模塊接口的復雜程度。模塊接口復雜是軟件發生錯誤的一個主要原因。應該仔 細設計模塊接口,使得信息傳遞簡單并且和模塊的功能一致。接口復雜或不一致(即看起來 傳遞的數據之間沒有聯系) ,是緊耦合或低內聚的征兆,應該重新分析這個模塊的獨立性。 E.設計單入口單出口的模塊: 防止出現內容耦合—多入口 (多種處理功能) 意味著內容耦合。
F.模塊功能應該可以預測-----模塊是黑合子,輸入相同則輸出相同,其內部數據結構和接口 受到限制。模塊的功能應該能夠預測,但也要防止模塊功能過分局限。過分局限將導致模塊 靈活性太差,會出現使用現場的修改。
21、模塊的作用域與控制域分別指什么?
模塊的控制域:本身及其所有下級模塊(包括直接和間接下級模塊) 。
模塊的作用域:受該模塊內一個判定影響的所有模塊的集合
22、模塊的扇入、扇出、深度、寬度分別是什么意思?
深度表示軟件結構中控制的層數----粗略的標志一個系統的大小和復雜程度。
寬度是軟件結構同一層次上的模塊總數的最大值----寬度越大系統越復雜。
模塊的扇出指一個模塊擁有的直屬下級模塊的個數,一般扇出數控制在7以內,平均為3模塊的扇出或4。
模塊的扇入是指一個模塊的直接上級模塊的個數。
23、軟件測試的目的是什么?
軟件測試是為了發現錯誤而執行程序的過程;
測試是程序的執行過程,目的在于發現錯誤;
軟件測試中需要數據,即為測試而精心設計的測試用例,利用測試用例去運行程序,幫助發現程序錯誤;
一個好的測試用例在于能發現至今未發現的錯誤;
一個成功的測試是發現了至今未發現的錯誤的測試。
軟件測試絕對不是要證明程序的正確性, 也證明不了程序的正確性.
24、單元測試有那些內容?
將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一個單元能正確運行。
單元測試主要針對模塊的以下五個基本特征進行測試:1.模塊接口2.局部數據結構3.重要的執行路徑4.錯誤處理5.邊界條件
25、什么是集成測試?非漸增式和漸增式有什么區別?漸增式如何組裝模塊?
將模塊組合起來成為一個完整的系統對其進行測試叫做集成測試。不論是子系統測試還是系統測試,都兼有檢測和組裝兩重含義,通常稱為集成測試。
非漸增式是將模塊先進行單元測試然后組裝在一起進行測試。漸增式是逐個將未測試的模塊組裝到已經測試過的模塊上去進行集成測試,每加入一個就測試一次。非漸增式需要樁模塊和驅動模塊、非漸增式開始可以并行測試、漸增式可以及時的發現接口錯誤,非漸增式很難發現接口發現錯誤、漸增式開始不能并行測試、漸增式測試比較徹底。
漸增式組裝模塊有自頂向下和自底向上兩種組裝方式。
26、什么是確認測試?該階段有那些工作?
按照需求規格說明書中的確定指標對系統進行功能與性能的測試。該階段進行明確測試(對照需求規格說明書用黑盒法進行測試),軟件配置測試(文檔的完整性,發現遺漏錯誤及時補充和修改)
27、 什么叫流圖?如何畫出流圖?流圖的環形復雜度如何計算?
流圖是抽象化的程序流圖,突出表現控制流.
符號○為流圖的一個結點,表示一個或多個無分支語句。箭頭為邊,表示控制流的方向。在 分支結構中,分支的匯聚處應有一個匯聚結點. 每一條邊必須終止于一個結點。如果判斷中 的條件表達式是由一個或多個邏輯運算符 (OR, AND, NAND, NOR) 連接的復合條件 表達式,則需要改為一系列只有單個條件的嵌套的判斷。
根據程序內單條件分支數或循環個數來度量環形復雜度即程序的復雜度. 環形復雜度即程序的復雜度
根據程序內單條件分支數或循環個數來度量環形復雜度即程序的復雜度
V(G)=流圖區域數
V(G)=邊數-結點數+2
V(G)=單條件判定數+1
28、白盒測試與黑盒測試分別有哪些測試方法?如何對具體問題測試?
白盒測試對程序模塊的所有的執行路徑至少測試一次;對所有的邏輯判定,取“真”與取“假” 白盒測試的兩種情況都至少測試一次;白盒測試也叫邏輯覆蓋法包括:語句覆蓋,判定覆蓋,條件覆蓋
黑盒測試發現程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數據, 來檢查程序是否都能產生正確的輸出。黑盒測試有等價類法和邊界值分析法
29、軟件測試的步驟有哪些?每個測試階段的測試依據是什么?分別有誰來測試?
步驟 測試內容 時間
單元測試:將每一個模塊作為一個單獨的測試單元,保證每個模塊作為一個單元能正確運行。 (編碼測試階段)
子系測試系統:將經過單元測試的模塊放在一起形成一個子系統來測試,以測試模塊間的接口正確性作為主要任務。 (集中測試階段)
系統測試:將經過測試的子系統裝配成一個完整的系統來測試,檢驗系統是否確實能實現需求規格說明書中的功能,以及系統的動態特征是否符合預定要求。 階段 系統測試是指整個計算機系統(包括軟硬件)的測試,可與系統的安裝和驗收相結合進行。(集中測試階段)
驗收測試:在用戶的參與下,把軟件系統作為單一的實體進行測試,使軟件系統能滿足用戶的需要。測試內容與系統測試基本相同。 (驗收階段)
平行測試: 新舊兩個系統同時運行進行比較,避免風險的同時給用戶對新系統一段熟悉的時間(運行階段)
30、 什么叫維護?維護的類型有哪些?
軟件維護就是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。 軟件維護
類型有:
1、改正性維護:對程序使用期間發現的程序錯誤進行診斷和改正的過程;占維護工作量 17-21%。
2、適應性維護:配合變化了的環境進行修改軟件的活動;占維護工作量 18-25%。
3、完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而進行的 改進工作;占維護工作量 50-66%。
4、預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作;占維護工作量 4% 左右
31、UML中活動圖、狀態圖、順序圖都分別描述什么?
活動圖強調的是從活動到活動的控制流, 是一種表述過程基理、 業務過程以及工作流的技術。 活動圖 它可以用來對業務過程、工作流建模,也可以對用例實現甚至是程序實現來建模
狀態機圖常用來描述業務或軟件系統中的對象在外部事件的作用下, 對象的狀態從一種狀態 狀態機圖 到另一種狀態的控制流。
順序圖描述的是對象之間的消息發送關系,而不是類之間的關系
32、UML中的事物有哪些?
結構事物:UML 中的名詞,它是模型的靜態部分,描述概念或物理元素。
行為事物:UML 中的動詞,它是模型中的動態部分,是一種跨越時間、空間的行為。
分組事物:UML 中的容器,用來組織模型,使模型更加的結構化。
注釋事務:UML 中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型的
33、面向對象的基本概念類、對象、封裝、繼承等定義是什么?
類(Class)是具有相同屬性和服務的一組對象的集合,它為屬于該類的全部對象提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。
對象(Object)是系統中描述客觀事物的一個實體,它是構成系統的一個基本單位,由一組 屬性和對這組屬性進行操作的一組服務組成,是類的一個實例
封裝(Encapsulation)是把對象的屬性和服務結合成一個獨立的系統單位,并盡可能隱藏對象的內部細節。
繼承性:如果一個類 A 繼承自另一個類 B,就把這個 A 稱為"B 的子類",而把 B 稱為"A 的 父類"。繼承使得相似對象可以共享程序代碼和數據結構,大大減少程序中的冗余信息;繼 承可以把已有的一般性的類具體化來提高軟件的可重用性。
多態性(Polymorphism)是指在父類中定義的屬性或服務被子類繼承后,可以具有不同的數據類型或表現出不同的行為
34、用例圖的作用是什么?
用例圖是外部參與者所能觀察到的系統功能的模型圖。 由一組用例、 參與者及它們之間的關 系組成。主要用于對系統、子系統或類的功能行為進行建模。參與者是與系統交互的外部實體,可以是人,也可以是其它系統。用例是從用戶的角度描述系統的行為(功能)它將系 統的功能描述成一系列事件,這些事件最終對參與者產生可觀察結果
35、UML中的關系有哪些?
關系有六種:依賴,類屬,關聯,實現,聚合和組合
36、UML中實現關系、依賴關系、泛化關系等符號?
37、用例、活動、狀態、節點等圖形符號分別是什么?
面向對象=對象+類+繼承+通信
1、畫出UML中依賴關系的圖形符號 ---------------->
2、在UML 2.0中定義了四種交互圖,其中強調對象調用順序的是程序圖。
3、UML中實現關系的圖形符號是 (一條直線) 。
4、軟件生命周期可劃分為8個階段,它們是什么?
問題定義、可行性研究、需求分析;總體設計、詳細設計、編碼與單元測試、綜合測試;運行維護。
5、軟件測試的目的是發現錯誤,通常把測試方法按功能劃分為 墨盒測試和白盒測試兩大類。因為通常不可能做到窮盡測試,所以精心設計 測試方案 是保證達到測試目的所必須的。
6、計算機軟件的開發經過三個階段分別為:定義、設計和運行。
7、軟件維護的活動包括四種:改正性維護 、適應性維護、完善性維護和
預防性維護。
8、在軟件測試過程的4個步驟中,測試依據是需求規格說明的是 驗收測試。
五、分析題
六、畫圖題
總結
以上是生活随笔為你收集整理的软件工程期末试题及答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html id 重复,Apple ID一
- 下一篇: COLA 4.0应用架构在CSB集成平台