第一篇:軟件工程導論試題
軟件工程導論試題 一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和(C)。A、詳細計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結構化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環節出錯,對軟件的影響最大(C)。A、詳細設計階段 B、概要設計階段 C、需求分析階段 D、測試和運行階段
3、在結構化的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目標(A)。
A、需求分析階段 B、詳細設計階段 C、概要設計階段 D、可行性研究階段
4、軟件工程的出現主要是由于(C)。
A.程序設計方法學的影響 B.其它工程科學的影響 C.軟件危機的出現 D.計算機的發展
5、軟件工程方法學的目的是:使軟件生產規范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環境 B、軟件開發的環境 C、軟件開發工具和軟件開發的環境 D、開發人員的素質
6、軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法(C)A、基于瀑布模型的結構化方法 B、基于需求動態定義的原型化方法 C、基于對象的面向對象的方法 D、基于數據的數據流開發方法
8、在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高(B)A、結構化方法 B、原型化方法 C、面向對象的方法 D、控制流方法
9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的(B)A、控制流 B、數據流 C、程序流 D、指令流
10、軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設計、詳細設計、編程調試 D、需求分析、功能定義、系統設計
11、軟件開發中常采用的結構化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型 C、螺旋模型 D、層次模型
12、軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼和測試等階段,一般認為可能占用人員最多的階段是(C)A、分析階段 B、設計階段 C、編碼階段 D、測試階段 二.填空
21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的(信息流動)情況。
[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經濟)角度評價開發一個項目是否可行。
[解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和(寬度優先策略)。
[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。
26.在JSP方法中解決結構沖突的具體辦法是(中間數據結構或中間文件)。
[解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。
27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。
[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。
28.所有軟件維護申請報告要按規定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。
29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。
[解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。
30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發與運行經常受到硬件的限制和制約。(√)
2.模塊內的高內聚往往意味著模塊間的松耦合。(√)
3.Jackson圖只能表達程序結構,不能表達數據結構。(X)
上述數據流圖表示數據A和B同時輸入變換成C。(X)
5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應用于軟件系統模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開發環境
32.錯誤推測法
33.黑盒測試法
34.軟件質量保證
35.瀑布模型 31.經濟可行性
解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。
[解析]對于一個系統所必須要衡量的是經濟上是否合算,經濟可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會可行性
解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。
[解析]社會可行性包括合同、責任、侵權等技術人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。
[解析]通常我們用投資回收期來衡量一個開發項目的價值,投資回收期越短,就越快獲得利潤。
34.對應關系
解:即有直接因果關系在程序中可以同時處理。
[解析]對應關系是指數據單元在數據內容上、數量上和順序上有直接的因果關系,對于重復的數據單元,重復的次序和次數都相同才有對應關系。
35.結構沖突
解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。
[解析]使用JSP方法時會遇到此類結構沖突問題,對此,Jackson提出了引入中間數據結構或中間文件的辦法,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設計中的錯誤,再根據 改進模 塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關系),并說明是按照
哪條基本 原則進行改進的。
解:圖 b 為一個改進方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯系。
40.請使用PAD圖和PDL語言描述在數組A(1)~A(10)中找最大數的算法。
解:PDL語言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時,是從第一個元素開始查找,用當前元素與下一個元素比較,將較大者作為當前元素又與下一元素比較,如此循環,直到數組末尾。
41.根據下列條件使用等價類劃分法設計測試用例。
某一8位微機,其八進制常數定義為:以零開頭的數是八進制整數,其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設計測試用例,表中有兩個合理等價類,設計兩個例子(2分)
(3)為不合理等價類測試用例,至少設計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數據域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預期的效果。
42.某電器集團公司下屬的廠包括技術科、生產科等基層單位?,F在想建立一個計算機輔助企業管理系統,其中:
生產科的任務是:
(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。
(2)根據車間實際生產日報表、周報表調整月生產計劃
(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。
(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間
技術科的任務是:
(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。
(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。試寫出以上系統中生產科和技術科處理的軟件結構圖。
解:
畫出生產科圖的給6分,畫出技術科的給4分。
[解析]軟件結構圖是軟件系統的模塊層次結構,反映了整個系統的功能實現,即將來程序的控制層次體系,軟件結構往往用樹狀或網狀結構的圖形來表示,其主要內容有模塊及模塊的控制關系,根據題意,可繪制出生產科和技術科的軟件結構圖,其中生產科的結構圖深度和寬度均為4,技術科的結構圖的深度和寬度均為3。
一、判斷題(每題2分,共30分)
1.螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動。(對)
2.數據字典是對數據流圖中的數據流,加工、數據存儲、數據的源和終點進行詳細定義。(錯)
3.JAVA語言編譯器是一個CASE工具。(對)。
4.軟件是指用程序設計語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,軟件開發實際上就是
編寫程序代碼。(錯)
5.軟件模塊之間的耦合性越弱越發。(對)6.數據庫設計說明書是一個軟件配置項(對)
7.在面向對象的軟件開發方法中,每個類都存在其相應的對象,類是對象的實例,對象是生成類的模
板。(錯)
8.過程描述語言可以用于描述軟件的系統結構。(錯)
9.如果通過軟件測試沒有發現錯誤,則說明軟件是正確的。(錯)
10.快速原型模型可以有效地適應用戶需求的動態變化。(對)
11.模塊化,信息隱藏,抽象和逐步求精的軟件設計原則有助于得到高內聚,低耦合度的軟件產品。
(對)
12.集成測試主要由用戶來完成。(錯)
13.確認測試計劃應該在可行性研究階段制定(錯)
14.白盒測試無需考慮模塊內部的執行過程和程序結構,只要了解模塊的功能即可。(錯)
15.軟件概要設計包括軟件系統結構設計以及數據結構和數據庫設計。(對)
二。單選題(每題2分,共20分)1.瀑布模型的關鍵不足在于(2)
(1)過于簡單(2)不能適應需求的動態變更(3)過于靈活(4)各個階段需要進行評審
2.在面向對象軟件開發方法中,類與類之間主要有以下結構關系(1)
(1)繼承和聚集(2)繼承和一般(3)聚集和消息傳遞(4)繼承和方法調用
3.以下哪一項不是軟件危機的表現形式(3)
(1)成本高(2)生產率低(3)技術發展快(4)質量得不到保證
4.以下哪一項不是面向對象的特征(4)
(1)多態性(2)繼承性(3)封裝性(4)過程調用
5.面向對象模型主要由以下哪些模型組成(1)
(1)對象模型、動態模型、功能模型(2)對象模型、數據模型、功能模型(3)數據模型、動態模型、功能模型(4)對象模型、動態模型、數據模型
6.軟件可行性研究一般不考慮(4)
(1)是否有足夠的人員和相關的技術來支持系統開發(2)是否有足夠的工具和相關的技術來支持系統開發(3)待開發軟件是否有市場、經濟上是否合算(4)待開發的軟件是否會有質量問題
7.軟件維護的副作用主要有以下哪幾種(3)
(1)編碼副作用、數據副作用、測試副作用(2)編碼副作用、數據副作用、調試副作用(3)編碼副作用、數據副作用、文檔副作用(4)編碼副作用、文檔副作用、測試副作用
8.軟件項目計劃一般不包括以下哪項內容(4)
(1)培訓計劃(2)人員安排(3)進度安排(4)軟件開發標準的選擇和制定
9.以下哪一項不屬于面向對象的軟件開發方法(3)
(1)coad方法(2)booch方法(3)jackson方法(4)omt方法
10.以下哪種測試方法不屬于白盒測試技術(2)
(1)基本路徑測試(2)邊界值分析測試(3)循環覆蓋測試(4)邏輯覆蓋測試
第二篇:軟件工程導論試題
軟件工程導論試題
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和(C)。A、詳細計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結構化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環節出錯,對軟件的影響最大(C)。A、詳細設計階段 B、概要設計階段
C、需求分析階段 D、測試和運行階段
3、在結構化的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目標(A)。
A、需求分析階段 B、詳細設計階段
C、概要設計階段 D、可行性研究階段
4、軟件工程的出現主要是由于(C)。
A.程序設計方法學的影響 B.其它工程科學的影響
C.軟件危機的出現 D.計算機的發展
5、軟件工程方法學的目的是:使軟件生產規范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環境 B、軟件開發的環境
C、軟件開發工具和軟件開發的環境 D、開發人員的素質
6、軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法(C)A、基于瀑布模型的結構化方法 B、基于需求動態定義的原型化方法 C、基于對象的面向對象的方法 D、基于數據的數據流開發方法
8、在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高(B)A、結構化方法 B、原型化方法 C、面向對象的方法 D、控制流方法
9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的(B)A、控制流 B、數據流 C、程序流 D、指令流
10、軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設計、詳細設計、編程調試 D、需求分析、功能定義、系統設計
11、軟件開發中常采用的結構化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型 C、螺旋模型 D、層次模型
12、軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼和測試等階段,一般認為可能占用人員最多的階段是(C)A、分析階段 B、設計階段 C、編碼階段 D、測試階段 二.填空
21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的(信息流動)情況。
[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經濟)角度評價開發一個項目是否可行。
[解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和(寬度優先策略)。
[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。
[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。
26.在JSP方法中解決結構沖突的具體辦法是(中間數據結構或中間文件)。
[解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。
27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。
[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。
28.所有軟件維護申請報告要按規定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。
29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。
[解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。
30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發與運行經常受到硬件的限制和制約。(√)
2.模塊內的高內聚往往意味著模塊間的松耦合。(√)3.Jackson圖只能表達程序結構,不能表達數據結構。(X)
上述數據流圖表示數據A和B同時輸入變換成C。(X)
5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應用于軟件系統模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.軟件開發環境
32.錯誤推測法
33.黑盒測試法
34.軟件質量保證
35.瀑布模型 31.經濟可行性
解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。
[解析]對于一個系統所必須要衡量的是經濟上是否合算,經濟可行性的范圍很廣,包括效益分析、潛在市場前景等。
32.社會可行性
解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。
[解析]社會可行性包括合同、責任、侵權等技術人員不甚了解的諸多問題。
33.投資回收期
解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。
[解析]通常我們用投資回收期來衡量一個開發項目的價值,投資回收期越短,就越快獲得利潤。
34.對應關系
解:即有直接因果關系在程序中可以同時處理。
[解析]對應關系是指數據單元在數據內容上、數量上和順序上有直接的因果關系,對于重復的數據單元,重復的次序和次數都相同才有對應關系。
35.結構沖突
解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。
[解析]使用JSP方法時會遇到此類結構沖突問題,對此,Jackson提出了引入中間數據結構或中間文件的辦法,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設計中的錯誤,再根據 改進模 塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關系),并說明是按照
哪條基本 原則進行改進的。
解:圖 b 為一個改進方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減 少模塊 之間的聯系。
40.請使用PAD圖和PDL語言描述在數組A(1)~A(10)中找最大數的算法。
解:PDL語言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時,是從第一個元素開始查找,用當前元素與下一個元素比較,將較大者作為當前元素又與下一元素比較,如此循環,直到數組末尾。
41.根據下列條件使用等價類劃分法設計測試用例。
某一8位微機,其八進制常數定義為:以零開頭的數是八進制整數,其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設計測試用例,表中有兩個合理等價類,設計兩個例子(2分)
(3)為不合理等價類測試用例,至少設計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數據域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預期的效果。
42.某電器集團公司下屬的廠包括技術科、生產科等基層單位。現在想建立一個計算機輔助企業管理系統,其中:
生產科的任務是:
(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。
(2)根據車間實際生產日報表、周報表調整月生產計劃
(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。
(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間
技術科的任務是:
(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。
(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。試寫出以上系統中生產科和技術科處理的軟件結構圖。
解:
畫出生產科圖的給6分,畫出技術科的給4分。
[解析]軟件結構圖是軟件系統的模塊層次結構,反映了整個系統的功能實現,即將來程序的控制層次體系,軟件結構往往用樹狀或網狀結構的圖形來表示,其主要內容有模塊及模塊的控制關系,根據題意,可繪制出生產科和技術科的軟件結構圖,其中生產科的結構圖深度和寬度均為4,技術科的結構圖的深度和寬度均為3。
第三篇:軟件工程導論期末試題
軟件工程導論期末考試試題
一.選擇(20分)
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和(C)。A、詳細計劃 B、可行性分析
C、運行階段 D、測試與排錯
2、從結構化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環節出錯,對軟件的影響最大(C)。A、詳細設計階段 B、概要設計階段
C、需求分析階段 D、測試和運行階段
3、在結構化的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目標(A)。
A、需求分析階段 B、詳細設計階段
C、概要設計階段 D、可行性研究階段
4、軟件工程的出現主要是由于(C)。
A.程序設計方法學的影響 B.其它工程科學的影響
C.軟件危機的出現 D.計算機的發展
5、軟件工程方法學的目的是:使軟件生產規范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環境 B、軟件開發的環境
C、軟件開發工具和軟件開發的環境 D、開發人員的素質
6、軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為(B)A、相互排斥 B、相互補充
C、獨立使用 D、交替使用
7、UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法(C)A、基于瀑布模型的結構化方法 B、基于需求動態定義的原型化方法 C、基于對象的面向對象的方法 D、基于數據的數據流開發方法
8、在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高(B)A、結構化方法 B、原型化方法 C、面向對象的方法 D、控制流方法
9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的(B)A、控制流 B、數據流 C、程序流 D、指令流
10、軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發階段、運行階段 B、計劃階段、編程階段、測試階段 C、總體設計、詳細設計、編程調試 D、需求分析、功能定義、系統設計
二.填空(20分)
21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的(信息流動)情況。
22.成本效益分析的目的是從(經濟)角度評價開發一個項目是否可行。23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和(寬度優先策略)。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。
26.在JSP方法中解決結構沖突的具體辦法是(中間數據結構或中間文件)。27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。
28.所有軟件維護申請報告要按規定方式提出,該報告也稱(軟件問題)報告。
29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。三.判斷(10分)1.軟件的開發與運行經常受到硬件的限制和制約。(√)
2.模塊內的高內聚往往意味著模塊間的松耦合。(√)
3.Jackson圖只能表達程序結構,不能表達數據結構。(X)
上述數據流圖表示數據A和B同時輸入變換成C。(X)
5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。(X)
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應用于軟件系統模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)31.經濟可行性
解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。32.社會可行性
解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。
33.投資回收期
解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。
34.對應關系
解:即有直接因果關系在程序中可以同時處理。35.結構沖突
解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。
五、簡答題(本大題共5小題,每小題3分,共15分)
1、軟件維護的目的和主要任務是什么?維護的類型有哪些?
答:軟件維護是軟件生命周期中最后一個、持續時間最長的階段。
主要任務是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,目的是提高軟件的可靠性、可用性,延長軟件的壽命。維護的類型有:改正性(錯誤)、適應性(環境)、完善性(功能)、預防性(新產品)
2、什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結構內不同模塊之間互連程度的度量。
模塊的耦合包括以下幾種類型:數據耦合,控制耦合,特征耦合,公共環境耦合,內容
耦合,標記耦合,無耦合/非直接耦合
3、什么是內聚?模塊的內聚包括哪些類型? 答:內聚標志著一個模塊內各個元素彼此結合的緊密程度,它是信息隱蔽和局部化概念的自
然擴展
模塊的內聚包括以下幾種類型:低內聚—偶然內聚,邏輯內聚,時間內聚
中內聚—過程內聚,通信內聚; 高內聚—順序內聚,功能內聚
4、如何選擇程序設計語言的工程特性
答:1.系統用戶的要求2.可以使用的編譯程序
3.可以得到的軟件工具4.工程規模5.程序員的知識 6.軟件可移植性的要求7.軟件的應用領域
5、什么是編碼風格?為什么要強調編碼風格? 答:編碼風格包括以下內容:程序內部良好的文檔(注釋)、數據說明、語句構造、輸入輸
出和效率保障等。
因為編碼風格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調編碼風
格。
六、綜合題(20分)
1、某電器集團公司下屬的廠包括技術科、生產科等基層單位?,F在想建立一個計算機輔助企業管理系統,其中: 生產科的任務是:
(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。
(2)根據車間實際生產日報表、周報表調整月生產計劃
(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。
(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間
技術科的任務是:
(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。
(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。試寫出以上系統中生產科和技術科處理的軟件結構圖。
解:
畫出生產科圖的給6分,畫出技術科的給4分。
第四篇:軟件工程導論試題(打印)
軟件工程導論試題(老師給的)
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和()。
A、詳細計劃 B、可行性分析
C、運行階段
D、測試與排錯
2、從結構化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環節出錯,對軟件的影響最大()。
A、詳細設計階段 B、概要設計階段
標()。A、需求分析階段
C、需求分析階段D、測試和運行階段
3、在結構化的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目
B、詳細設計階段 C、概要設計階段 D、可行性研究階段
4、軟件工程的出現主要是由于()。
A.程序設計方法學的影響
B.其它工程科學的影響 C.軟件危機的出現 D.計算機的發展
5、軟件工程方法學的目的是:使軟件生產規范化和工程化,而軟件工程方法得以實施的主要保證是()
A、硬件環境 B、軟件開發的環境 C、軟件開發工具和軟件開發的環境D、開發人員的素質
6、軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為()A、相互排斥 B、相互補充
C、獨立使用
D、交替使用
7、UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法()A、基于瀑布模型的結構化方法 C、基于對象的面向對象的方法 A、結構化方法 A、控制流 B、原型化方法 B、數據流
B、基于需求動態定義的原型化方法
D、基于數據的數據流開發方法
D、控制流方法
8、在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高()
C、面向對象的方法 C、程序流
9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的()
D、指令流
10、軟件開發的結構化生命周期方法將軟件生命周期劃分成()A、計劃階段、開發階段、運行階段 C、總體設計、詳細設計、編程調試 A、瀑布模型 B、對象模型
B、計劃階段、編程階段、測試階段
D、需求分析、功能定義、系統設計
D、層次模型
11、軟件開發中常采用的結構化生命周期方法,由于其特征而一般稱其為()
C、螺旋模型
12、軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼和測試等階段,一般認為可能占用人員最多的階段是()A、分析階段 二.填空
21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的()情況。
22.成本效益分析的目的是從()角度評價開發一個項目是否可行。
23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和()。B、設計階段
C、編碼階段
D、測試階段 24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。
25.匯編語言是面向()的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。
26.在JSP方法中解決結構沖突的具體辦法是()。
27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、()。
28.所有軟件維護申請報告要按規定方式提出,該報告也稱()報告。29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的()技術。
30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。三.判斷
1.軟件的開發與運行經常受到硬件的限制和制約。()2.模塊內的高內聚往往意味著模塊間的松耦合。()3.Jackson圖只能表達程序結構,不能表達數據結構。()上述數據流圖表示數據A和B同時輸入變換成C。()5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。()6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。()7.應該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。()8.UML只能應用于軟件系統模型的建立。()9.容錯就是每個程序采用兩種不同的算法編寫。()10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。()
四、名詞解釋題(本大題共5小題,每小題3分,共15分)31.軟件開發環境32.錯誤推測法33.黑盒測試法34.軟件質量保證35.瀑布模型
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設計中的錯誤,再根據改進模塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關系),并說明是按照哪條基本原則進行改進的。
40.請使用PAD圖和PDL語言描述在數組A(1)~A(10)中找最大數的算法。41.根據下列條件使用等價類劃分法設計測試用例。某一8位微機,其八進制常數定義為:以零開頭的數是八進制整數,其值的范圍是-177~177,如05,0127,-065 42.某電器集團公司下屬的廠包括技術科、生產科等基層單位?,F在想建立一個計算機輔助企業管理系統,其中:
生產科的任務是:(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。(2)根據車間實際生產日報表、周報表調整月生產計劃(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間 技術科的任務是:
(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件外購需求計劃給供應科,并產生產品自制物料清單。廠。試寫出以上系統中生產科和技術科處理的軟件結構圖。
2009—2010學年第二學期期末考試試題 1.軟件危機具有下列表現()。
I.對軟件開發成本估計不準確 II.軟件產品的質量往往靠不住 III.軟件常常不可維護 IV.軟件成本逐年上升
A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確
2.軟件生命周期一般都被劃分為若干個獨立的階段,其中占用精力和費用最多的階段往往是()。A.運行和維護階段 B.設計階段 C.代碼實現階段 D.測試階段 3.下列屬于軟件的特點的是()。
A.軟件是一種邏輯實體,具有抽象性 B.軟件在使用過程中沒有磨損、老化的問題 C.軟件不同于一般程序,它的一個顯著特點是規模龐大,復雜程度高 D.以上都正確 4.軟件工程的出現是由于()。
A.軟件危機的出現 B.計算機硬件技術的發展C.軟件社會化的需要 D.計算機軟件技術的發展
5.軟件開發技術不包含()。
A.軟件開發方法學 B.軟件工程環境 C.軟件工具
D.軟件質量度度量 6.軟件工程的課程特點()。
I.學科理論及其知識應用的多維性 II.工程化 III.濃厚的方法學色彩 IV.實踐性、指導性強
A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確 7.下列屬于應用軟件的是()。
I.計算機輔助教學軟件 II.軟件測試工具 III.辦公自動化軟件 IV.工程與科學計算軟件
A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確 8.需求分析階段最重要的技術文檔是()。
A.設計說明書
B.需求規格說明書 C.可行性分析報告 D.用戶手冊 9.以下關于數據流圖的說法錯誤的是()。
A.數據流圖舍去了具體的物質,只剩下數據的流動、加工處理和存儲 B.數據流圖是用作結構化分析的一種工具 C.傳統的數據流圖中主要由加工、數據源點/終點、數據流、控制流、數據存儲組成 D.數據流圖的繪制采用自上向下、逐層分解的方法
10.數據字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()。A.數據庫設計
B.數據通信 C.數據定義 D.數據維護 11.需求分析階段的研究對象是()。
A.系統分析員要求
B.用戶要求 C.軟硬件要求 D.系統要求 12.結構化方法的基本原則是()。
A.模塊化
B.抽象與分解 C.信息隱蔽 D.逐步求精
13.耦合度最高的是()耦合。A.環境 B.內容 C.控制 D.數據 14.內聚程度較低的是()內聚。A.偶然 B.通訊 C.順序 D.時間 15.對一個程序來說,組成系統的模塊數目(),則開發成本越小。A.越多
B.越少
C.順序
D.時間 16.畫軟件結構圖時應注意調用關系只能是()。
A.從下到上 B.從上到下 C.從左到右 D.從右到左 17.程序流程圖中的“→”代表()。
A.數據流
B.控制流
C.順序流
D.調用 18.DFD中的“→”代表()。
A.數據流
B.文件 C.處理 D.控制流 19.DFD中的“○”代表()。
A.數據流
B.文件 C.處理 D.控制流 20.DFD中的“_”代表()。
A.數據流
B.文件 C.處理 D.控制流 1.計算機軟件不僅僅是程序,還應該有一整套。2.傳統的軟件生存期模型是。
3.軟件按照功能的不同可以劃分為3大類型、和。
4.DFD在軟件工程中表示。
5.與 是模塊獨立性的兩個定性標準,將軟件系統劃分模塊時,盡量做到 內聚、耦合,提高模塊的,為設計高質量的軟件結構奠定基礎。
6.數據流圖有四種基本成分:、、、。
7.12.數據字典有以下四類條目:、、、。
是組成數據流和數據存儲的最小元素。
8.某廠對部分職工重新分配工作的政策是:年齡有20歲以下者,初中文化程度脫產學習,高中文化程度當電工;年齡有20歲至40歲之間者,中學文化程度男性當鉗工,女性當車工,大學文化程度者當技術員;年齡有40歲以上者,中學文化程度當材料員,大學文化程度當技術員。請用結構化語言、判定表或判定樹描述上述問題的加工邏輯。
一、單項選擇題
1.D 2.A 3.D4.D5.D6.D 7.B 8.B 9.C 10.C 11.B12.B13.B14.A15.C16.B17.B18.A 19.C20.B
二、填空題
1.文檔2.瀑布模型3.系統軟件 支持軟件 應用軟件4.數據流圖 5.耦合性 內聚性 高 低 獨立性 6.數據流 加工(又稱為數據處理)文件 數據的源點或終點 7.數據流 數據項 文件 基本加工 數據項
三、簡答題 答:(1)結構化語言。IF 年齡<20 THEN IF 文化程度=初中
THEN 脫產學習
ELSE 工作為電工
ENDIF ELSE IF 年齡≤40
THEN IF(文化程度=大學)
THEN 工作為技術員
ELSE IF 性別=男性
THEN 工作為鉗工
ELSE 工作為車工
ENDIF
ENDIF
ELSE IF(文化程度=大學)
THEN 工作為技術員
ELSE 工作為材料員
ENDIF
ENDIF ENDIF(2)判定樹如下:
單項選擇題(每小題1分,共10分)
在結構性的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目標(A)
(A)需求分析階段(B)詳細設計階段(C)概要設計階段(D)可行性研究階段 軟件工程方法中普遍定義的方法之一是結構化生命周期方法(SLC方法),下述哪一個論述不具有SLC方法的主要特征(C)A 嚴格定義需求 B 劃分開發階段 C 規范文檔格式 D 分析控制流程
軟件結構中兩個模塊之間有調用關系,傳遞簡單數據值,相當于高級語言中的值傳遞,這兩個模塊之間的耦合是(D)(A)公共耦合(B)控制耦合(C)標記耦合(D)數據耦合
軟件維護的四類維護活動是(A)
(A)改正性維護,適應性維護,完善性維護和預防性維護。(B)適應性維護,完善性維護,搶救性維護和輔助性維護。(C)改正性維護,適應性維護,完善性維護和輔助性維護。(D)適應性維護,完善性維護,搶救性維護和預防性維護。
主要從(A)幾個方面進行系統可行性研究。(A)技術可行性,經濟可行性,操作可行性。(B)技術可行性,經濟可行性,系統可行性。(C)經濟可行性,系統可行性,操作可行性。(D)經濟可行性,系統可行性,時間可行性。
進行需求分析可使用多種工具,但(C)是不適用的。
(A)數據流圖(B)判定表(C)PAD圖(D)數據字典
軟件需求分析階段的工作,可以分為四個方面:對問題的識別、分析與綜合、編寫需求分析文檔以及(B)(A)軟件的總結(B)需求分析評審(C)階段性報告(D)以上答案都不對 OMT(Object Modelling Technique)方法的第一步是從問題的陳述入手,構造系統模型。系統模型由對象模型、(C)組成。
A靜態模型和功能模型 B動態模型和過程模型C動態模型和功能模型 D靜態模型和操作模型
為了表示項目管理功能工作中各項任務之間的進度銜接關系,常用的計劃管理工具是(D)
(A)程序結構圖(B)數據流圖(C)E-R圖(D)甘特(Gantt)圖 判斷題(每小題1分,共5分)
軟件開發的主要任務是寫程序。錯
測試功能是否符合要求是白盒測試。錯
流圖中的區域數等于環形復雜度。對
扇出是一個模塊直接控制(調用)的模塊數目,扇出過大意味著模塊過分復雜,需要控制和協調過多的下級模塊。對
在面向對象程序中,使用繼承機制是實現共享和提高重用程度的主要途徑。對 簡答題
簡述需求分析的三個層次。
業務需求:反映了組織機構或客戶對系統、產品高層次的目標要求。用戶需求: 文檔描述了用戶使用產品必須要完成的任務。
功能需求:定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求。軟件測試中一般包含幾個步驟?請分別加以說明。
制定測試計劃 設計測試用例 執行測試 撰寫測試報告 消除軟件缺陷 完成說出你所知道的兩種估算軟件規模的方法的名稱,并說明他們的優缺點。(4分)
軟件生命周期都包含哪些階段,并簡述每個階段的基本任務(5分)① 軟件生命周期中所花費用最多的階段是()A. 詳細設計B.軟件編碼C.軟件測試D.軟件維護
②可行性分析是在系統開發的早期所做的一項重要的論證工作,它是決定該系統是否開發 的決策依據,因必須給出()的回答。A.確定B.行或不行C.正確D.無二義
③下列關于瀑布模型的描述正確的是()。A.瀑布模型的核心是按照軟件開發的時間順序將問題簡化。B.瀑布模型具由于良好的靈活性。
C.瀑布模型采用結構化的分析與設計方法,將邏輯實現與物理實現分開。D.利用瀑布模型,如果發現問題則修改的代價很低。④ 詳細設計的結果基本決定了最終程序的()A.代碼的規模B.運行速度C.質量D.可維護性 ⑤ 結構化程序設計主要強調的是()
A. 程序的規模B. 程序的效率C. 程序設計語言的先進性D. 程序易讀性 ⑥ 程序的三種基本控制結構是()
A.過程、子程序和分程序B.順序、選擇和重復C.遞歸、堆棧和隊列D.調用、返回和轉移 ⑦ 確認軟件的功能是否與需求規格說明書中所要求的功能相符的測試屬于()A、集成測試B、恢復測試C、驗收測試D、單元測試
⑧ 面向對象技術中,對象是類的實例。對象有三種成份:()、屬性和方法(或操作)。A.標識 B.規則 C.封裝D.消息
⑨ 下面關于面向對象方法中消息的敘述,不正確的是()。A.鍵盤、鼠標、通信端口、網絡等設備一有變化,就會產生消息
B.操作系統不斷向應用程序發送消息,但應用程序不能向操作系統發送消息 C.應用程序之間可以相互發送消息
D.發送與接收消息的通信機制與傳統的子程序調用機制不同 ⑩ 面向對象程序設計中的數據隱藏指的是()。
A. 輸入數據必須輸入保密口令B.數據經過加密處理
C.對象內部數據結構上建有防火墻D.對象內部數據結構的不可訪問性 答案:①D ②B ③C ④C ⑤D ⑥B ⑦C ⑧A ⑨B ⑩D 1.程序設計屬于軟件開發過程()階段。A、設計B、編程C、實現D、編碼
2.結構設計是一種應用最廣泛的系統設計方法,是以()為基礎、自頂向下、逐步求精 和模塊化的過程。
A、數據流B、數據流圖C、數據庫D、數據結構 3.結構化程序設計主要強調程序的()。A、效率B、速度C、可讀性D、大小 4.分析員是()
A、戶中系統的直接使用者B、用戶和軟件人員的中間人 C、軟件的編程人員D、用戶和軟件人員的領導 5.程序的三種基本控制結構的共同特點是()。
A、不能嵌套使用B、只能用來寫簡單的程序C、已經用硬件實現D、只有一個入口和一個出口 6.軟件生產過程中,需求信息由()給出。
A、程序員B、項目管理者C、軟件分析設計人員D、軟件用戶 7.與設計測試數據無關的文檔是()。
A、需求說明書B、設計說明書C、源程序D、項目開發設計 8.結構化分析SA 方法以數據流圖、()和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟系統模型。
A、DFD 圖B、數據字典C、IPO 圖D、PAD 圖
9.面向數據流的軟件設計方法,一般是把數據流圖中數據流劃分為(),再將數據流圖映射為軟件結構。A、數據流和事務流B、交換流和事務流C、信息流和控制流D、交換流和數據流 10.總體設計的結果是提供一份()。A、模塊說明書B、框圖C、程序D、數據結構
1.C 2.A 3.C 4.B 5.D 6.D 7.D 8.B 9.B 10.A 1.軟件是()。
A.處理對象和處理規則的描述 B.程序C.程序及其文檔 D.計算機系統 2.軟件需求規格說明的內容不應包括()。
A.主要功能 B.算法的詳細描述C.用戶界面及運行環境 D.軟件的性能 3.程序的三種基本控制結構是()。
A.過程、子程序和分程序 B.順序、選擇和重復 C.遞歸、迭代和回溯 D.調用、返回和轉移
4.面向對象的分析方法主要是建立三類模型,即()。
A)系統模型、ER 模型、應用模型B)對象模型、動態模型、應用模型 C)E-R模型、對象模型、功能模型D)對象模型、動態模型、功能模型 5.在E-R 模型中,包含以下基本成分()。A)數據、對象、實體B)控制、聯系、對象 C)實體、聯系、屬性D)實體、屬性、操作 6.各種軟件維護的類型中最重要的是()。
A)完善性維護B)糾錯性維護C)適應性維護D)預防性維護 7.軟件測試的目標是()。
A.證明軟件是正確的 B.發現錯誤、降低錯誤帶來的風險 C.排除軟件中所有的錯誤 D.與軟件調試相同 8.軟件生命周期中所花費用最多的階段是()A.詳細設計B.軟件編碼C.軟件測試D.軟件維護
9.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0, 1.0],現從 輸入的角度考慮一組測試用例:-1.001,-1.0, 1.0, 1.001.設計這組測試用例的方法是()A.條件覆蓋法B.等價分類法C.邊界值分析法D.錯誤推測法
10、詳細設計的基本任務是確定每個模塊的()設計 A.功能B.調用關系C.輸入輸出數據D.算法
11.設函數C(X)定義問題X 的復雜程序,函數E(X)確定解決問題X 需要的工
作量(時間)。對于兩個問題P1 和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得 出結論E(P1+P2)>E(P1)+E(P2)就是:()
A.模塊化的根據B.逐步求精的根據C.抽象的根據D.信息隱藏和局部化的根據 12.下面幾種白箱測試技術,哪種是最強的覆蓋準則()A.語句覆蓋B.條件覆蓋C.判定覆蓋D.條件組合覆蓋 13.面向數據流的設計方法把()映射成軟件結構。A.數據流B.系統結構C.控制結構D.信息流 14.內聚程度最低的是()內聚 A.偶然B.過程C.順序D.時間
15.確定測試計劃是在()階段制定的.A.總體設計B.詳細設計C.編碼D.測試 16.需求分析的產品是()
A.數據流程圖案B.數據字典C.判定表D.需求規格說明書
17.數據字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()A.數據庫設計B.數據通信C.數據定義D.數據維護
18.()引入了“風險驅動”的思想,適用于大規模的內部開發項目。A.增量模型B.噴泉模型C.原型模型D.螺旋模型 19.模塊的內聚性最高的是()
A.邏輯內聚B.時間內聚C.偶然內聚D.功能內聚 20.提高測試的有效性非常重要,成功的測試是指()A.證明了被測試程序正確無誤B.說明了被測試程序符合相應的要求 C.未發現被測程序的錯誤D.發現了至今為止尚未發現的錯誤__ 答案:1.C 2.B 3.B 4.D 5.C 6.A 7.B 8.D 9.C 10.D 11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D 簡述軟件測試的任務、目的與類型。
答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。
目的就是為了發現軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發現
的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。軟件測試 主要分為白盒測試和黑盒測試兩大類。簡述軟件工程目標和面臨的主要問題。
答:軟件工程的目標是應用計算機科學、數學及管理科學等原理開發軟件的工程。它采用經
過實踐驗證的工程的原則、方法,以提高質量,降低成本。
但是目前的軟件開發面臨著許多問題:(1)對軟件開發成本和進度的估計常常很不準
確。(2)用戶常對“已完成的”軟件系統不滿意。(3)軟件產品的質量往往靠不住。(4)
軟件常常很難維護。(5)軟件常常缺乏適當的文檔資料。(6)軟件開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。(7)軟件成本在計算機系統總成本
中所占的比例逐年上升。
簡述軟件開發過程、每個里程碑的提交物。
答:軟件開發的基本過程:(1)可行性研究,做初步的需求分析工作,決定項目可行與否
(2)軟件需求分析,軟件工程師必須了解軟件的信息領域,以及需求的功能、行為、性能和接口。系統需求和軟件需求均需文檔化,并與用戶一起復審。并提交需求分析報 告。(3)設計,包括總體設計和詳細設計,軟件設計是一個多步驟的過程,主要是對 軟件的數據結構、軟件體系結構、界面表示及過程細節進行設計。設計過程將需求轉換 為軟件表示,在編碼之前可以評估其質量,所有設計均要文檔化,它是軟件配置的重要 組成部分,經復審后提交相應的概要設計和詳細設計報告。(4)編碼,把設計轉化為 機器可執行的程序。提交源程序清單。(5)測試,提交測試報告。(6)維護,提交維 護報告。
軟件生命周期模型?瀑布模型?快速原型模型?
答;概括的說,軟件生命周期模型由軟件定義、軟件開發和運行維護3個時期組成,每個時
期又進一步劃分成若干個階段。
軟件生命周期模型有問題定義,可行性研究,需求分析,總體詳細設計,總體編碼和單元測試,綜合測試,軟件維護組
瀑布模型是一個項目開發架構,開發過程是通過設計一系列階段順序展開的,從系統需
求分析開始直到產品發布和維護,每個階段都會產生循環反饋,如果有信息未被覆蓋或
者發現了問題,那么最好 “返回”上一個階段并進行適當的修改,項目開發進程從一個階
段“流動”到下一個階段。
快速原型模型是在用戶不能給出完整、準確的需求說明,或者開發者不能確定算法的有
效性、操作系統的適應性或人機交互的形式等許多情況下,可以根據用戶的一組基本需
求,快速建造一個原型(可運行的軟件),然后進行評估,進一步精化、調整原型,使其
滿足用戶的要求,也使開發者對將要做的事情有更好的理解。軟件?軟件產品具有哪些特性? 答:軟件是計算機系統中與硬件相互依存的另一部分,它是包括程序,數據及其相關文檔的完整集合。
軟件產品具有以下特性:
1、非常復雜;
2、成本高;
3、風險大;
4、維護困難; 可行性分析的目的和主要任務是什么?
答:可行性分析的目的不是解決問題,而是確定問題是否值得去解決。
主要任務是從下面幾方面研究每種解法的可行性:技術可行性,經濟可行性,操作可行
性,社會可行性,抉擇可行性。需求分析的目的和主要任務是什么?
答:進行需求分析是為了準確地回答“系統必須做什么”這個問題,決定可以做什么不做什
么。需求分析的主要任務是描述系統的功能需求、性能需求、數據需求、可靠性/可用 性需求、出錯處理需求、接口需求、約束條件、其他需求??傮w設計的目的和主要任務是什么?
答:總體設計的目的是用比較抽象的方法確定系統概要地是如何實現的(How to do
generally!)。從初步的數據流圖導出(設計出)軟件結構;根據數據需求設計數據結構(數據庫結構、文件結構設計)。
主要任務是概括地說,如何解決這些問題,系統怎樣實現?
劃分系統的構成成分(黑盒子),如程序、文件、數據庫、人工
操作等。
設計系統的軟件結構,即構成模塊。詳細設計的目的和主要任務是什么?
答:在總體設計的基礎上,進一步確定軟件怎樣具體實現,經過這個階段的設計工作,應該
得出對目標系統的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設
計語言書寫的程序。
主要任務包括人機界面設計、模塊過程設計。編碼的目的和主要任務是什么?
答:把軟件設計結果翻譯成用某種程序設計語言書寫的程序 軟件測試的目的和主要任務是什么(G.J.Myers的觀點)? 答:發現程序中的錯誤
軟件維護的目的和主要任務是什么?維護的類型有哪些?
答:軟件維護是軟件生命周期中最后一個、持續時間最長的階段。
主要任務是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,目的是提高軟件的可靠性、可用性,延長軟件的壽命。維護的類型有:改正性(錯誤)、適應性(環境)、完善性(功能)、預防性(新產品)什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結構內不同模塊之間互連程度的度量。
模塊的耦合包括以下幾種類型:數據耦合,控制耦合,特征耦合,公共環境耦合,內容
耦合,標記耦合,無耦合/非直接耦合 什么是內聚?模塊的內聚包括哪些類型? 答:內聚標志著一個模塊內各個元素彼此結合的緊密程度,它是信息隱蔽和局部化概念的自
然擴展
模塊的內聚包括以下幾種類型:低內聚—偶然內聚,邏輯內聚,時間內聚 中內聚—過程內聚,通信內聚; 高內聚—順序內聚,功能內聚 如何選擇程序設計語言的工程特性
答:1.系統用戶的要求2.可以使用的編譯程序
3.可以得到的軟件工具4.工程規模5.程序員的知識 6.軟件可移植性的要求7.軟件的應用領域 什么是編碼風格?為什么要強調編碼風格? 答:編碼風格包括以下內容:程序內部良好的文檔(注釋)、數據說明、語句構造、輸入輸
出和效率保障等。
因為編碼風格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調編碼風
格。
一、單選題
1. 在軟件危機中表現出來的軟件質量差的問題,其原因是_______。A. 軟件研發人員素質太差 C. 沒有軟件質量標準 B. 用戶經常干預軟件系統的研發工作 D. 軟件開發人員不遵守軟件質量標準 2. 在軟件質量因素中,軟件在異常條件下仍能運行的能力成為軟件的_____。A. 安全性 C. 可用性 B. 健壯性 D. 可靠性 3. 在下列測試技術中,______不屬于黑盒測試技術。A. 等價劃分 C. 錯誤推測,因果圖,D. 邏輯覆蓋 B. 邊界值分析 綜合策略
4. 軟件工程方法是在實踐中不斷發展著的方法,而早期的軟件工程方法主要是指______。A. 原型化方法 C. 功能化方法 B. 結構化方法 D. 面向對象方法
5. ______是把對象的屬性和操作結合在一起,構成一個獨立的對象,其內部信息對外界是隱蔽的,外界只能通過有限的接口與對象發生聯系。A. 多態 C. 封裝 B. 繼承 D. 消息
6. Jackson方法是在軟件開發過程中常用的方法,使用Jackson方法時可以實現______。A. 從數據結構導出程序結構 C. 從模塊結構導出數據結構 B. 從數據流圖導出初始結構圖 D. 從模塊結構導出程序結構 7. 軟件測試時為了________而執行程序的過程。
A. 糾正錯誤 C. 避免錯誤 B. 發現錯誤 D. 證明錯誤
8. 在軟件系統中,一個模塊應具有什么樣的功能,這是由_____決定的。A. 總體設計 C. 詳細設計 B. 需求分析 D. 程序設計 9. 面向對象分析是對系統進行_________的一種方法。A. 需求分析 C. 設計評審 B. 程序設計 D. 測試驗收 10. 軟件文檔是軟件工程實施中的重要部分,它不僅是軟件開發各階段的重要依據,而且影響軟件的_______。A. 可理解性 C. 可擴展性 B. 可維護性 D. 可移植 11. 模塊內聚度越高,說明模塊內各成分彼此結合的程序越_______。A. 松散 C. 無法判斷 B. 緊密 D. 相等 12. 軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼、測試和維護等階段,一般認為可能占用人員最多的階段是________。A. 分析階段 C. 維護階段 B. 設計階段 D. 測試階段 13. 常用的面向對象的軟件過程模型是_______。A. 瀑布模型 C. 原型模型 B. 噴泉模型 D. 增量模型 14. 面向對象的分析階段建立的系統模型不包括________。A. 對象模型 C. 功能模型 B. 動態模型 D. 數據模型 15. 提高軟件的可維護性可采用很多措施,下列哪個不在措施之列? A. 提供沒有錯誤的程序 C. 改進程序文檔質量 B. 建立質量保證制度 D. 明確軟件質量標準
二、填空題
1. 軟件工程中的結構化分析SA是一種面向________的分析方法。2. 軟件模塊獨立性的兩個定性度量標準是_________________。
3. 軟件開發是一個自頂向下逐步細化和求精的過程,而軟件測試是一個________的過程。4. ________和數據字典共同構成了系統的邏輯模型
5. ___________是一種黑盒測試技術,這種技術把程序的輸入域劃分為若干個數據類,據此導出測試用例。
三、判斷題
1. 軟件工程學只有理論意義,沒有實際用途。()2. 軟件工程的方法只適用于大型軟件的開發,對小型軟件的開發沒有幫助。()3. 可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。()4. 代碼審查方法沒有計算機測試方法好。()5. 驗證軟件需求的方法主要靠人工審查的方法。()6. 并發系統中遇到的一個主要問題是定時問題。()7. 編碼風格由個人喜好決定,沒有固定格式。()8. 面向對象建模得到的模型包含系統的3個要素,即靜態結構、交互次序和數據變換()9. 軟件重用是提高軟件開發生產率和目標系統質量的重要途徑。()10. 判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。()11. Power Designer是一個CASE工具。()12. 軟件是指用程序設計語言(如Pascal,C,Visual Basic等)編寫的程序,軟件開發實際上就是編寫程序代碼。()13. 在進行需求分析時需同時考慮維護問題。()14. UML是一種面向對象的分析設計方法,即OOA/OOD方法。()15. 在面向對象的軟件開發方法中,每個類都存在其相應的對象,對象是類的實例,類是生成對象的模板。()
四、名詞解釋 1. 白盒測試 2. 模塊化 3. 對象
五、簡答題
1. 簡述軟件測試的任務、目的與類型。2. 簡述結構化程序設計方法的基本要點 答案:
一、單選題
1.C 2.B 3.D 4.B 5.C 6.A 7.B 8.B 9.A 10.B 11.B 12.C 13.B 14.D 15.A
二、填空題 1. 數據流 3. 由下而上 5. 等價劃分 2. 內聚性、耦合性 4. 數據流圖
三、判斷題
1、×
2、×
3、√
4、×
5、√
6、√
7、×
8、√
9、√
10、√
11、√
12、×
13、×
14、×
15、√
四、名詞解釋
1. 白盒測試——又叫做結構測試,把程序看成裝在一個透明的白盒子里,按照程序內部的邏輯測試程序,檢測程序中的主要執行通路是否都能按預定要求正確工作。
2. 模塊化——把程序劃分成獨立運行且可以獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。
3. 對象——描述該對象屬性的數據以及可以對這些數據施加的所有操作封裝在一起構成的統一體。
五、簡答題
1. 答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。目的就是為了發現軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。
2. 答:(1)采用自頂向下,逐步求精的程序設計方法。
(2)使用三種基本控制結構構造程序,分別是順序,選擇和循環(3)采用主程序員組的組織形式。(4)采用單入口單出口的模塊形式。
第五篇:軟件工程導論試題(打印)
軟件工程導論試題(老師給的)
一.選擇
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發階段和(C)。
A、詳細計劃 B、可行性分析
C、運行階段
D、測試與排錯
2、從結構化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環節出錯,對軟件的影響最大(C)。
A、詳細設計階段 B、概要設計階段
C、需求分析階段D、測試和運行階段
3、在結構化的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目標(A)。
A、需求分析階段 B、詳細設計階段 C、概要設計階段
D、可行性研究階段
4、軟件工程的出現主要是由于(C)。
A.程序設計方法學的影響
B.其它工程科學的影響 C.軟件危機的出現 D.計算機的發展
5、軟件工程方法學的目的是:使軟件生產規范化和工程化,而軟件工程方法得以實施的主要保證是(C)A、硬件環境 B、軟件開發的環境 C、軟件開發工具和軟件開發的環境D、開發人員的素質
6、軟件開發常使用的兩種基本方法是結構化和原型化方法,在實際的應用中,它們之間的關系表現為(B)A、相互排斥 B、相互補充
C、獨立使用
D、交替使用
7、UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法(C)A、基于瀑布模型的結構化方法 C、基于對象的面向對象的方法
B、基于需求動態定義的原型化方法
D、基于數據的數據流開發方法
8、在下面的軟件開發方法中,哪一個對軟件設計和開發人員的開發要求最高(B)A、結構化方法 B、原型化方法
C、面向對象的方法 D、控制流方法
9、結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的(B)A、控制流 B、數據流
C、程序流
D、指令流
10、軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)A、計劃階段、開發階段、運行階段
B、計劃階段、編程階段、測試階段 C、總體設計、詳細設計、編程調試 D、需求分析、功能定義、系統設計
11、軟件開發中常采用的結構化生命周期方法,由于其特征而一般稱其為(A)A、瀑布模型 B、對象模型
C、螺旋模型
D、層次模型
12、軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼和測試等階段,一般認為可能占用人員最多的階段是(C)A、分析階段 二.填空
21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的(信息流動)情況。
[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。
22.成本效益分析的目的是從(經濟)角度評價開發一個項目是否可行。
[解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。
23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和(寬度優先策略)。[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。
[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。
25.匯編語言是面向(機器)的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。B、設計階段
C、編碼階段
D、測試階段 [解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。26.在JSP方法中解決結構沖突的具體辦法是(中間數據結構或中間文件)。
[解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。
[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。
28.所有軟件維護申請報告要按規定方式提出,該報告也稱(軟件問題)報告。
[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。
29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。
[解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。
30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
[解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/
1、FORTRAN語言都是工程計算中常用的語言。三.判斷
1.軟件的開發與運行經常受到硬件的限制和制約。(√)2.模塊內的高內聚往往意味著模塊間的松耦合。(√)3.Jackson圖只能表達程序結構,不能表達數據結構。(X)4.上述數據流圖表示數據A和B同時輸入變換成C。(X)5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。(X)6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)7.應該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)8.UML只能應用于軟件系統模型的建立。(X)9.容錯就是每個程序采用兩種不同的算法編寫。(X)10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)31.軟件開發環境---是指在計算機的基本軟件的基礎上,為了支持軟件的開發而提供的一組工具軟件系統。
32.錯誤推測法---在測試程序時,人們可能根據經驗或直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例的方法。
33.黑盒測試法
把測試對象看成一個黑盒子,測試人員完全不考慮程序的內部結構和處理過程,只在軟件的接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求 34.軟件質量保證
是向用戶及社會提供滿意質量的產品,確保軟件產品從誕生到消亡為止的所有階段的質量的活動,即確定、達到和維護需要的軟件質量而進行的所有有計劃、有系統的管理活動 35.瀑布模型
將軟件生存周期各個活動規定為依線性順序鏈接的若干階段的一種軟件開發模型。瀑布模型把軟件生命周期劃分為八個階段:【問題的定義】、【可行性研究】、【軟件需求分析】、【系統總體設計】、【詳細設計】、【編碼】、【測試和運行】、【維護】
八個階段又可歸納為三個大的階段:【計劃階段】、【開發階段】和【運行階段】
五、圖 a 中,模塊 G 為判定,判斷涉及到模塊 B、F、G,請指出設計中的錯誤,再根據改進模塊圖的基本原則,畫出 1~2 個改進方案(不改變模塊 G 的判斷關系),并說明是按照哪條基本原則進行改進的。
解:圖 b 為一個改進方案,將模塊 G 的位置提高,使其作用范圍為控制范圍的子集,減少模塊 之間的聯系。
40.請使用PAD圖和PDL語言描述在數組A(1)~A(10)中找最大數的算法。解:PDL語言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD圖:
[解析]人工查找時,是從第一個元素開始查找,用當前元素與下一個元素比較,將較大者作為當前元素又與下一元素比較,如此循環,直到數組末尾。
41.根據下列條件使用等價類劃分法設計測試用例。
某一8位微機,其八進制常數定義為:以零開頭的數是八進制整數,其值的范圍是-177~177,如05,0127,-065
解:(1)劃分等價類并編號,如下表示:(4分)
(2)為合理等價類設計測試用例,表中有兩個合理等價類,設計兩個例子(2分)
(3)為不合理等價類測試用例,至少設計一個測試用例(2分)
[解析]等價類劃分屬于黑盒測試的一種,它將輸入數據域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試,這樣用少量有代表性的例子代替大量測試目的相同的例子,可以有效提高測試效率。本題劃分了3個合理等價類,9個不合理等價類進行測試,取到了預期的效果。
42.某電器集團公司下屬的廠包括技術科、生產科等基層單位?,F在想建立一個計算機輔助企業管理系統,其中: 生產科的任務是:(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。(2)根據車間實際生產日報表、周報表調整月生產計劃
(3)以月生產計劃為以及,制定產品設計(結構、工藝)及產品組裝月計劃。(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間 技術科的任務是:(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,并產生產品自制物料清單。(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。試寫出以上系統中生產科和技術科處理的軟件結構圖。
解:
畫出生產科圖的給6分,畫出技術科的給4分。
[解析]軟件結構圖是軟件系統的模塊層次結構,反映了整個系統的功能實現,即將來程序的控制層次體系,軟件結構往往用樹狀或網狀結構的圖形來表示,其主要內容有模塊及模塊的控制關系,根據題意,可繪制出生產科和技術科的軟件結構圖,其中生產科的結構圖深度和寬度均為4,技術科的結構圖的深度和寬度均為3。
2009—2010學年第二學期期末考試試題 1.軟件危機具有下列表現(D)。
I.對軟件開發成本估計不準確 II.軟件產品的質量往往靠不住 III.軟件常常不可維護 IV.軟件成本逐年上升 A.I、II和III B.I、III和IV C.II、III和IV D.以上都正確
2.軟件生命周期一般都被劃分為若干個獨立的階段,其中占用精力和費用最多的階段往往是(A)。A.運行和維護階段 B.設計階段
C.代碼實現階段
D.測試階段
3.下列屬于軟件的特點的是(D)。
A.軟件是一種邏輯實體,具有抽象性
B.軟件在使用過程中沒有磨損、老化的問題 C.軟件不同于一般程序,它的一個顯著特點是規模龐大,復雜程度高
D.以上都正確 4.軟件工程的出現是由于(D)。A.軟件危機的出現
B.計算機硬件技術的發展
C.軟件社會化的需要
D.計算機軟件技術的發展
5.軟件開發技術不包含(D)。A.軟件開發方法學 B.軟件工程環境
C.軟件工具
D.軟件質量度度量
6.軟件工程的課程特點(D)。
I.學科理論及其知識應用的多維性
II.工程化 III.濃厚的方法學色彩
IV.實踐性、指導性強 A.I、II和III B.I、III和IV C.II、III和IV
D.以上都正確
7.下列屬于應用軟件的是(B)。
I.計算機輔助教學軟件
II.軟件測試工具
III.辦公自動化軟件 IV.工程與科學計算軟件 A.I、II和III B.I、III和IV C.II、III和IV
D.以上都正確
8.需求分析階段最重要的技術文檔是(B)。A.設計說明書 B.需求規格說明書
C.可行性分析報告
D.用戶手冊
9.以下關于數據流圖的說法錯誤的是(C)。
A.數據流圖舍去了具體的物質,只剩下數據的流動、加工處理和存儲 B.數據流圖是用作結構化分析的一種工具
C.傳統的數據流圖中主要由加工、數據源點/終點、數據流、控制流、數據存儲組成 D.數據流圖的繪制采用自上向下、逐層分解的方法
10.數據字典是軟件需求分析階段的最重要工具之一,其最基本的功能是(C)。A.數據庫設計
B.數據通信
C.數據定義
D.數據維護
11.需求分析階段的研究對象是(B)。A.系統分析員要求 B.用戶要求
C.軟硬件要求
D.系統要求
12.結構化方法的基本原則是(B)。A.模塊化 B.抽象與分解
C.信息隱蔽
D.逐步求精
13.耦合度最高的是(B)耦合。A.環境 B.內容 C.控制 D.數據 14.內聚程度較低的是(A)內聚。A.偶然
B.通訊 C.順序 D.時間
15.對一個程序來說,組成系統的模塊數目(C),則開發成本越小。A.越多 B.越少
C.順序
D.時間
16.畫軟件結構圖時應注意調用關系只能是(B)。A.從下到上 B.從上到下
C.從左到右
D.從右到左
17.程序流程圖中的“→”代表(B)。A.數據流 B.控制流
C.順序流
D.調用
18.DFD中的“→”代表(A)。A.數據流 B.文件
C.處理
D.控制流
19.DFD中的“○”代表(C)。A.數據流 B.文件
C.處理
D.控制流
20.DFD中的“_”代表(B)。A.數據流
二、填空題
1.計算機軟件不僅僅是程序,還應該有一整套
文檔
。2.傳統的軟件生存期模型是
瀑布模型。
3.軟件按照功能的不同可以劃分為3大類型 系統軟件、應用軟件和
支持軟件。4.DFD在軟件工程中表示
數據流圖。
5.耦合性 與 內聚性 是模塊獨立性的兩個定性標準,將軟件系統劃分模塊時,盡量做到 高 內聚、低 耦合,提高模塊的獨立性,為設計高質量的軟件結構奠定基礎。
6.數據流圖有四種基本成分: 數據流、加工(又稱為數據處理)、文件、數據的源點或終點。
7.數據字典有以下四類條目: 數據流、數據項、文件、基本加工。
數據項是組成數據流和數據存儲的最 B.文件
C.處理
D.控制流 小元素。
三、簡答題
8.某廠對部分職工重新分配工作的政策是:年齡有20歲以下者,初中文化程度脫產學習,高中文化程度當電工;年齡有20歲至40歲之間者,中學文化程度男性當鉗工,女性當車工,大學文化程度者當技術員;年齡有40歲以上者,中學文化程度當材料員,大學文化程度當技術員。請用結構化語言、判定表或判定樹描述上述問題的加工邏輯。
答:(1)結構化語言。IF 年齡<20
THEN IF 文化程度=初中
THEN 脫產學習ELSE 工作為電工
ENDIF ELSE IF 年齡≤40
THEN IF(文化程度=大學)
THEN 工作為技術員 ELSE
IF 性別=男性
THEN 工作為鉗工 ELSE
工作為車工
ENDIF
ENDIF ELSE
IF(文化程度=大學)
THEN 工作為技術員 ELSE
工作為材料員
ENDIF ENDIF ENDIF(2)判定樹如下:
單項選擇題(每小題1分,共10分)
在結構性的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統測試階段的目標(A)(A)需求分析階段
(B)詳細設計階段(C)概要設計階段
(D)可行性研究階段 軟件工程方法中普遍定義的方法之一是結構化生命周期方法(SLC方法),下述哪一個論述不具有SLC方法的主要特征(C)A 嚴格定義需求
B 劃分開發階段 C 規范文檔格式
D 分析控制流程
軟件結構中兩個模塊之間有調用關系,傳遞簡單數據值,相當于高級語言中的值傳遞,這兩個模塊之間的耦合是(D)(A)公共耦合(B)控制耦合(C)標記耦合 軟件維護的四類維護活動是(A)
(A)改正性維護,適應性維護,完善性維護和預防性維護。(B)適應性維護,完善性維護,搶救性維護和輔助性維護。(C)改正性維護,適應性維護,完善性維護和輔助性維護。(D)適應性維護,完善性維護,搶救性維護和預防性維護。
主要從(A)幾個方面進行系統可行性研究。
(A)技術可行性,經濟可行性,操作可行性。(B)技術可行性,經濟可行性,系統可行性。(C)經濟可行性,系統可行性,操作可行性。(D)經濟可行性,系統可行性,時間可行性。
進行需求分析可使用多種工具,但(C)是不適用的。
(A)數據流圖
(B)判定表
(C)PAD圖
(D)數據字典
軟件需求分析階段的工作,可以分為四個方面:對問題的識別、分析與綜合、編寫需求分析文檔以及(B)(A)軟件的總結
(B)需求分析評審(C)階段性報告
(D)以上答案都不對
(D)數據耦合
OMT(Object Modelling Technique)方法的第一步是從問題的陳述入手,構造系統模型。系統模型由對象模型、(C)組成。
A靜態模型和功能模型
B動態模型和過程模型C動態模型和功能模型
D靜態模型和操作模型
為了表示項目管理功能工作中各項任務之間的進度銜接關系,常用的計劃管理工具是(D)(A)程序結構圖
(B)數據流圖
(C)E-R圖
(D)甘特(Gantt)圖 判斷題(每小題1分,共5分)
軟件開發的主要任務是寫程序。
錯 測試功能是否符合要求是白盒測試。
錯 流圖中的區域數等于環形復雜度。
對
扇出是一個模塊直接控制(調用)的模塊數目,扇出過大意味著模塊過分復雜,需要控制和協調過多的下級模塊。
對
在面向對象程序中,使用繼承機制是實現共享和提高重用程度的主要途徑。
對 簡答題
簡述需求分析的三個層次。
答:業務需求:反映了組織機構或客戶對系統、產品高層次的目標要求。用戶需求: 文檔描述了用戶使用產品必須要完成的任務。
功能需求:定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求。
軟件測試中一般包含幾個步驟?請分別加以說明 答:單元測試、集成測試、確認測試、系統測試
單元測試:對源程序中的每個程序單元進行測試,檢查各模塊是否正確實規定的功能,從而發現模塊在編碼中或算法中的錯誤
集成測試:檢查與設計相關的軟件結構的有關問題
確認測試:主要檢查已實現的軟件是否滿足需求規格說明書中確定了的各種需求 系統測試:把已確認的軟件與其他系統元素結合在一起進行測試
(制定測試計劃
設計測試用例
執行測試 撰寫測試報告 消除軟件缺陷
完成)
說出你所知道的兩種估算軟件規模的方法的名稱,并說明他們的優缺點。(4分)答:代碼行技術,功能點技術
軟件生命周期都包含哪些階段,并簡述每個階段的基本任務(5分)
答:軟件生命周期由軟件定義、軟件開發和運行維護(也稱為軟件維護)3個時期組成。軟件定義時期通常進一步劃分成3個階段,即問題定義、可行性研究和需求分析。
1問題定義2可行性研究3需求分析4總體設計5詳細設計6編碼和單元測試7綜合測試8軟件維護
① 軟件生命周期中所花費用最多的階段是(D)A. 詳細設計B.軟件編碼C.軟件測試D.軟件維護
②可行性分析是在系統開發的早期所做的一項重要的論證工作,它是決定該系統是否開發 的決策依據,因必須給出(B)的回答。A.確定B.行或不行C.正確D.無二義 ③下列關于瀑布模型的描述正確的是(C)。
A.瀑布模型的核心是按照軟件開發的時間順序將問題簡化。B.瀑布模型具由于良好的靈活性。
C.瀑布模型采用結構化的分析與設計方法,將邏輯實現與物理實現分開。D.利用瀑布模型,如果發現問題則修改的代價很低。④ 詳細設計的結果基本決定了最終程序的(C)A.代碼的規模B.運行速度C.質量D.可維護性 ⑤ 結構化程序設計主要強調的是(D)
A. 程序的規模B. 程序的效率C. 程序設計語言的先進性D. 程序易讀性 ⑥ 程序的三種基本控制結構是(B)A.過程、子程序和分程序B.順序、選擇和重復C.遞歸、堆棧和隊列D.調用、返回和轉移 ⑦ 確認軟件的功能是否與需求規格說明書中所要求的功能相符的測試屬于(C)A、集成測試B、恢復測試C、驗收測試D、單元測試
⑧ 面向對象技術中,對象是類的實例。對象有三種成份:(A)、屬性和方法(或操作)。A.標識
B.規則 C.封裝D.消息
⑨ 下面關于面向對象方法中消息的敘述,不正確的是(B)。A.鍵盤、鼠標、通信端口、網絡等設備一有變化,就會產生消息
B.操作系統不斷向應用程序發送消息,但應用程序不能向操作系統發送消息 C.應用程序之間可以相互發送消息
D.發送與接收消息的通信機制與傳統的子程序調用機制不同 ⑩ 面向對象程序設計中的數據隱藏指的是(D)。A. 輸入數據必須輸入保密口令B.數據經過加密處理
C.對象內部數據結構上建有防火墻D.對象內部數據結構的不可訪問性
1.程序設計屬于軟件開發過程(C)階段。A、設計B、編程C、實現D、編碼
2.結構設計是一種應用最廣泛的系統設計方法,是以(A)為基礎、自頂向下、逐步求精 和模塊化的過程。
A、數據流B、數據流圖C、數據庫D、數據結構 3.結構化程序設計主要強調程序的(C)。A、效率B、速度C、可讀性D、大小 4.分析員是(B)
A、戶中系統的直接使用者B、用戶和軟件人員的中間人 C、軟件的編程人員D、用戶和軟件人員的領導 5.程序的三種基本控制結構的共同特點是(D)。
A、不能嵌套使用B、只能用來寫簡單的程序C、已經用硬件實現D、只有一個入口和一個出口 6.軟件生產過程中,需求信息由(D)給出。
A、程序員B、項目管理者C、軟件分析設計人員D、軟件用戶 7.與設計測試數據無關的文檔是(D)。
A、需求說明書B、設計說明書C、源程序D、項目開發設計
8.結構化分析SA 方法以數據流圖、(B)和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟系統模型。A、DFD 圖B、數據字典C、IPO 圖D、PAD 圖
9.面向數據流的軟件設計方法,一般是把數據流圖中數據流劃分為(B),再將數據流圖映射為軟件結構。A、數據流和事務流B、交換流和事務流C、信息流和控制流D、交換流和數據流 10.總體設計的結果是提供一份(A)。A、模塊說明書B、框圖C、程序D、數據結構
1.軟件是(C)。
A.處理對象和處理規則的描述
B.程序C.程序及其文檔 D.計算機系統 2.軟件需求規格說明的內容不應包括(B)。
A.主要功能
B.算法的詳細描述
C.用戶界面及運行環境
D.軟件的性能 3.程序的三種基本控制結構是(B)。
A.過程、子程序和分程序
B.順序、選擇和重復
C.遞歸、迭代和回溯
D.調用、返回和轉移 4.面向對象的分析方法主要是建立三類模型,即(D)。
A)系統模型、ER 模型、應用模型B)對象模型、動態模型、應用模型 C)E-R模型、對象模型、功能模型D)對象模型、動態模型、功能模型 5.在E-R 模型中,包含以下基本成分(C)。A)數據、對象、實體
B)控制、聯系、對象
C)實體、聯系、屬性
D)實體、屬性、操作 6.各種軟件維護的類型中最重要的是(A)。
A)完善性維護
B)糾錯性維護
C)適應性維護
D)預防性維護 7.軟件測試的目標是(B)。
A.證明軟件是正確的 B.發現錯誤、降低錯誤帶來的風險 C.排除軟件中所有的錯誤
D.與軟件調試相同 8.軟件生命周期中所花費用最多的階段是(D)A.詳細設計B.軟件編碼C.軟件測試D.軟件維護
9.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0, 1.0],現從
輸入的角度考慮一組測試用例:-1.001,-1.0, 1.0, 1.001.設計這組測試用例的方法是(C)A.條件覆蓋法B.等價分類法C.邊界值分析法D.錯誤推測法
10、詳細設計的基本任務是確定每個模塊的(D)設計 A.功能B.調用關系C.輸入輸出數據D.算法
11.設函數C(X)定義問題X 的復雜程序,函數E(X)確定解決問題X 需要的工
作量(時間)。對于兩個問題P1 和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得 出結論E(P1+P2)>E(P1)+E(P2)就是:(A)
A.模塊化的根據B.逐步求精的根據C.抽象的根據D.信息隱藏和局部化的根據 12.下面幾種白箱測試技術,哪種是最強的覆蓋準則(D)A.語句覆蓋B.條件覆蓋C.判定覆蓋D.條件組合覆蓋 13.面向數據流的設計方法把(A)映射成軟件結構。A.數據流
B.系統結構
C.控制結構
D.信息流 14.內聚程度最低的是(A)內聚 A.偶然B.過程C.順序D.時間
15.確定測試計劃是在(A)階段制定的.A.總體設計
B.詳細設計
C.編碼
D.測試 16.需求分析的產品是(D)
A.數據流程圖案
B.數據字典C.判定表
D.需求規格說明書
17.數據字典是軟件需求分析階段的最重要工具之一,其最基本的功能是(C)A.數據庫設計
B.數據通信
C.數據定義
D.數據維護 18.(D)引入了“風險驅動”的思想,適用于大規模的內部開發項目。A.增量模型
B.噴泉模型
C.原型模型
D.螺旋模型 19.模塊的內聚性最高的是(D)
A.邏輯內聚
B.時間內聚
C.偶然內聚
D.功能內聚 20.提高測試的有效性非常重要,成功的測試是指(D)A.證明了被測試程序正確無誤
B.說明了被測試程序符合相應的要求 C.未發現被測程序的錯誤
D.發現了至今為止尚未發現的錯誤__ 簡述軟件測試的任務、目的與類型。
答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。
目的就是為了發現軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。簡述軟件工程目標和面臨的主要問題。
答:軟件工程的目標是應用計算機科學、數學及管理科學等原理開發軟件的工程。它采用經過實踐驗證的工程的原則、方法,以提高質量,降低成本。但是目前的軟件開發面臨著許多問題:(1)對軟件開發成本和進度的估計常常很不準確。(2)用戶常對“已完成的”軟件系統不滿意。(3)軟件產品的質量往往靠不住。(4)軟件常常很難維護。(5)軟件常常缺乏適當的文檔資料。(6)軟件開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。(7)軟件成本在計算機系統總成本中所占的比例逐年上升。簡述軟件開發過程、每個里程碑的提交物。
答:軟件開發的基本過程:(1)可行性研究,做初步的需求分析工作,決定項目可行與否(2)軟件需求分析,軟件工程師必須了解軟件的信息領域,以及需求的功能、行為、性能和接口。系統需求和軟件需求均需文檔化,并與用戶一起復審。并提交需求分析報告。(3)設計,包括總體設計和詳細設計,軟件設計是一個多步驟的過程,主要是對軟件的數據結構、軟件體系結構、界面表示及過程細節進行設計。設計過程將需求轉換為軟件表示,在編碼之前可以評估其質量,所有設計均要文檔化,它是軟件配置的重要組成部分,經復審后提交相應的概要設計和詳細設計報告。(4)編碼,把設計轉化為機器可執行的程序。提交源程序清單。(5)測試,提交測試報告。(6)維護,提交維護報告。
軟件生命周期模型?瀑布模型?快速原型模型?
答;概括的說,軟件生命周期模型由軟件定義、軟件開發和運行維護3個時期組成,每個時期又進一步劃分成若干個階段。
軟件生命周期模型有問題定義,可行性研究,需求分析,總體詳細設計,總體編碼和單元測試,綜合測試,軟件維護組
瀑布模型是一個項目開發架構,開發過程是通過設計一系列階段順序展開的,從系統需分析開始直到產品發布和維護,每個階段都會產生循環反饋,如果有信息未被覆蓋或者發現了問題,那么最好 “返回”上一個階段并進行適當的修改,項目開發進程從一個階段“流動”到下一個階段。
快速原型模型是在用戶不能給出完整、準確的需求說明,或者開發者不能確定算法的有效性、操作系統的適應性或人機交互的形式等許多情況下,可以根據用戶的一組基本需求,快速建造一個原型(可運行的軟件),然后進行評估,進一步精化、調整原型,使其滿足用戶的要求,也使開發者對將要做的事情有更好的理解。軟件?軟件產品具有哪些特性? 答:軟件是計算機系統中與硬件相互依存的另一部分,它是包括程序,數據及其相關文檔的完整集合。
軟件產品具有以下特性:
1、非常復雜;
2、成本高;
3、風險大;
4、維護困難; 可行性分析的目的和主要任務是什么?
答:可行性分析的目的不是解決問題,而是確定問題是否值得去解決。
主要任務是從下面幾方面研究每種解法的可行性:技術可行性,經濟可行性,操作可行性,社會可行性,抉擇可行性。
需求分析的目的和主要任務是什么? 答:進行需求分析是為了準確地回答“系統必須做什么”這個問題,決定可以做什么不做什么。需求分析的主要任務是描述系統的功能需求、性能需求、數據需求、可靠性/可用性需求、出錯處理需求、接口需求、約束條件、其他需求。
總體設計的目的和主要任務是什么?
答:總體設計的目的是用比較抽象的方法確定系統概要地是如何實現的(How to do generally!)。從初步的數據流圖導出(設計出)軟件結構;根據數據需求設計數據結構(數據庫結構、文件結構設計)。
主要任務是概括地說,如何解決這些問題,系統怎樣實現? 劃分系統的構成成分(黑盒子),如程序、文件、數據庫、人工操作等。設計系統的軟件結構,即構成模塊。詳細設計的目的和主要任務是什么?
答:在總體設計的基礎上,進一步確定軟件怎樣具體實現,經過這個階段的設計工作,應該得出對目標系統的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設計語言書寫的程序。
主要任務包括人機界面設計、模塊過程設計。編碼的目的和主要任務是什么?
答:把軟件設計結果翻譯成用某種程序設計語言書寫的程序 軟件測試的目的和主要任務是什么(G.J.Myers的觀點)? 答:發現程序中的錯誤
軟件維護的目的和主要任務是什么?維護的類型有哪些? 答:軟件維護是軟件生命周期中最后一個、持續時間最長的階段。
主要任務是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,目的是提高軟件的可靠性、可用性,延長軟件的壽命。
維護的類型有:改正性(錯誤)、適應性(環境)、完善性(功能)、預防性(新產品)什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結構內不同模塊之間互連程度的度量。模塊的耦合包括以下幾種類型:數據耦合,控制耦合,特征耦合,公共環境耦合,內容耦合,標記耦合,無耦合/非直接耦合
什么是內聚?模塊的內聚包括哪些類型?
答:內聚標志著一個模塊內各個元素彼此結合的緊密程度,它是信息隱蔽和局部化概念的自然擴展
模塊的內聚包括以下幾種類型:低內聚—偶然內聚,邏輯內聚,時間內聚中內聚—過程內聚,通信內聚; 高內聚—順序內聚,功能內聚 如何選擇程序設計語言的工程特性
答:1.系統用戶的要求2.可以使用的編譯程序3.可以得到的軟件工具4.工程規模5.程序員的知識
6.軟件可移植性的要求7.軟件的應用領域 什么是編碼風格?為什么要強調編碼風格? 答:編碼風格包括以下內容:程序內部良好的文檔(注釋)、數據說明、語句構造、輸入輸
出和效率保障等。
因為編碼風格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調編碼風格。
單選題
1. 在軟件危機中表現出來的軟件質量差的問題,其原因是___C____。A. 軟件研發人員素質太差
B.用戶經常干預軟件系統的研發工作 B. 沒有軟件質量標準
D.軟件開發人員不遵守軟件質量標準
2. 在軟件質量因素中,軟件在異常條件下仍能運行的能力成為軟件的__B___。A. 安全性
B.健壯性
C.可用性
D.可靠性
3. 在下列測試技術中,___D___不屬于黑盒測試技術。A. 等價劃分
B.邊界值分析
C.錯誤推測
D.邏輯覆蓋
4. 軟件工程方法是在實踐中不斷發展著的方法,而早期的軟件工程方法主要是指__B____。A. 原型化方法
B.結構化方法
C.功能化方法
D.面向對象方法
5. ___C___是把對象的屬性和操作結合在一起,構成一個獨立的對象,其內部信息對外界是隱蔽的,外界只能通過有限的接口與對象發生聯系。A. 多態
B.繼承
C.封裝
D.消息
6. Jackson方法是在軟件開發過程中常用的方法,使用Jackson方法時可以實現__A____。A. 從數據結構導出程序結構
B.從數據流圖導出初始結構圖 B. 從模塊結構導出數據結構
D.從模塊結構導出程序結構 7. 軟件測試時為了_____B___而執行程序的過程。
A. 糾正錯誤
B.發現錯誤
C.避免錯誤
D.證明錯誤 8. 在軟件系統中,一個模塊應具有什么樣的功能,這是由__B___決定的。
A. 總體設計
B.需求分析
C.詳細設計
D.程序設計 9. 面向對象分析是對系統進行___A_____的一種方法。
A. 需求分析
B.程序設計
C.設計評審
D.測試驗收
10. 軟件文檔是軟件工程實施中的重要部分,它不僅是軟件開發各階段的重要依據,而且影響軟件的___B____。
A. 可理解性
B.可維護性
C.可擴展性
D.可移植
11. 模塊內聚度越高,說明模塊內各成分彼此結合的程序越____B___。A. 松散
B.緊密C.無法判斷
D.相等
12. 軟件開發的瀑布模型,一般都將開發過程劃分為:分析、設計、編碼、測試和維護等階段,一般認為可能占用人員最多的階段是_____C___。A. 分析階段
B.設計階段C.維護階段D.測試階段 13. 常用的面向對象的軟件過程模型是__B_____。A. 瀑布模型
B.噴泉模型C.原型模型D.增量模型
14. 面向對象的分析階段建立的系統模型不包括___D_____。A. 對象模型B.動態模型C.功能模型D.數據模型
15. 提高軟件的可維護性可采用很多措施,下列哪個不在措施之列?AA. 提供沒有錯誤的程序 B.建立質量保證制度C.改進程序文檔質量D.明確軟件質量標準
一、填空題
1. 軟件工程中的結構化分析SA是一種面向____數據流___的分析方法。2. 軟件模塊獨立性的兩個定性度量標準是__內聚性和耦合性___。
3. 軟件開發是一個自頂向下逐步細化和求精的過程,而軟件測試是一個由下而上的過程。4. ____數據流圖____和數據字典共同構成了系統的邏輯模型
5. _____等價劃分______是一種黑盒測試技術,這種技術把程序的輸入域劃分為若干個數據類,據此導出測試用例。
二、判斷題
1. 軟件工程學只有理論意義,沒有實際用途。
(X)2. 軟件工程的方法只適用于大型軟件的開發,對小型軟件的開發沒有幫助。(X)3. 可行性研究進一步研究問題分析階段所確定的問題是否有可行的解。(√)4. 代碼審查方法沒有計算機測試方法好。
(X)5. 驗證軟件需求的方法主要靠人工審查的方法。
(√)6. 并發系統中遇到的一個主要問題是定時問題。
(√)7. 編碼風格由個人喜好決定,沒有固定格式。
(X)
8. 面向對象建模得到的模型包含系統的3個要素,即靜態結構、交互次序和數據變換(√)9. 軟件重用是提高軟件開發生產率和目標系統質量的重要途徑。
(√)10. 11. 12. 判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)Power Designer是一個CASE工具。
(√)
軟件是指用程序設計語言(如Pascal,C,Visual Basic等)編寫的程序,軟件開發實際上就是編寫程序代碼。(X)13. 14. 在進行需求分析時需同時考慮維護問題。
(X)UML是一種面向對象的分析設計方法,即OOA/OOD方法。
(X)
15.在面向對象的軟件開發方法中,每個類都存在其相應的對象,對象是類的實例,類是生成對象的模板。(√)四.名詞解釋 1. 白盒測試
白盒測試——又叫做結構測試,把程序看成裝在一個透明的白盒子里,按照程序內部的邏輯測試程序,檢測程序中的主要執行通路是否都能按預定要求正確工作。
2. 模塊化
模塊化——把程序劃分成獨立運行且可以獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。
3. 對象
對象——描述該對象屬性的數據以及可以對這些數據施加的所有操作封裝在一起構成的統一體。
三、簡答題
1. 簡述軟件測試的任務、目的與類型。
答:軟件測試是一個為了尋找軟件錯誤而運行程序的過程。目的就是為了發現軟件中的錯誤。一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發現的錯誤的測試。軟件測試主要分為白盒測試和黑盒測試兩大類。
2. 簡述結構化程序設計方法的基本要點
答:(1)采用自頂向下,逐步求精的程序設計方法。
(2)使用三種基本控制結構構造程序,分別是順序,選擇和循環(3)采用主程序員組的組織形式。(4)采用單入口單出口的模塊形式。
用例圖
數據流圖:
D1 商品庫存訂貨單顧客發貨單業務處理訂貨單供貨商到貨通知
(a)頂層數據流圖 D2 發往供貨商的訂單訂貨單顧客發貨單到貨通知1銷售2采購訂貨單供貨商到貨通知收款通知D1 商品庫存發票會計應付款通知付款 付款(b)0層數據流圖
D2 發往供貨商的訂單D3 進貨信息訂貨單顧客發貨單到貨通知1銷售2.1處理事務2.2產生報表訂貨單供貨商到貨通知收款通知D1 商品庫存發票會計應付款通知付款 付款(c)1層數據流圖 D2 發往供貨商的訂單D3 進貨信息訂貨單到貨通知2.1.12.1.2顧客1庫存2.1.32.2訂貨單銷售接收事務更新商品處理產生供貨商發貨單事務庫存信息定貨報表到貨通知收款通D1 商品庫存知發票會計應付款通知付款付款2層數據流圖 順序圖:
d)
(