軟件工程導(dǎo)論期末試題
軟件工程導(dǎo)論期末考試試題
一.選擇(20分)
1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計、詳細設(shè)計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階段、開發(fā)階段和( C)。
A、詳細計劃 B、可行性分析
C、 運行階段 D、 測試與排錯
2、從結(jié)構(gòu)化的瀑布模型看,在它的生命周期中的八個階段中,下面的幾個選項中哪個環(huán)節(jié)出錯,對軟件的影響最大(C )。
A、詳細設(shè)計階段 B、概要設(shè)計階段
C、 需求分析階段 D、 測試和運行階段
3、在結(jié)構(gòu)化的瀑布模型中,哪一個階段定義的標準將成為軟件測試中的系統(tǒng)測試階段的目標(A )。
A、 需求分析階段 B、 詳細設(shè)計階段
C、 概要設(shè)計階段 D、 可行性研究階段
4、軟件工程的出現(xiàn)主要是由于(C )。
A.程序設(shè)計方法學(xué)的影響 B.其它工程科學(xué)的影響
C. 軟件危機的出現(xiàn) D.計算機的發(fā)展
5、軟件工程方法學(xué)的目的是:使軟件生產(chǎn)規(guī)范化和工程化,而軟件工程方法得以實施的主要保證是(C )
A、 硬件環(huán)境 B、軟件開發(fā)的環(huán)境
C、軟件開發(fā)工具和軟件開發(fā)的環(huán)境 D、 開發(fā)人員的素質(zhì)
6、軟件開發(fā)常使用的兩種基本方法是結(jié)構(gòu)化和原型化方法,在實際的應(yīng)用中,它們之間的關(guān)系表現(xiàn)為 ( B)
A、 相互排斥 B、 相互補充
C、 獨立使用 D、 交替使用
7、UML是軟件開發(fā)中的一個重要工具,它主要應(yīng)用于哪種軟件開發(fā)方法(C )
A、基于瀑布模型的結(jié)構(gòu)化方法 B、基于需求動態(tài)定義的原型化方法
C、基于對象的面向?qū)ο蟮姆椒?D、基于數(shù)據(jù)的數(shù)據(jù)流開發(fā)方法
8、在下面的軟件開發(fā)方法中,哪一個對軟件設(shè)計和開發(fā)人員的開發(fā)要求最高(B )
A、結(jié)構(gòu)化方法 B、原型化方法 C、面向?qū)ο蟮姆椒?D、控制流方法
9、結(jié)構(gòu)化分析方法是一種預(yù)先嚴格定義需求的方法,它在實施時強調(diào)的是分析對象的(B )
A、控制流 B、數(shù)據(jù)流 C、程序流 D、指令流
10、軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A )
A、 計劃階段、開發(fā)階段、運行階段 B、 計劃階段、編程階段、測試階段
C、 總體設(shè)計、詳細設(shè)計、編程調(diào)試 D、需求分析、功能定義、系統(tǒng)設(shè)計
二.填空(20分)
21.系統(tǒng)流程圖是描述物理模型的傳統(tǒng)工具,用圖形符號表示系統(tǒng)中各個元素表達了系統(tǒng)中各種元素之間的( 信息流動 )情況。
22.成本效益分析的目的是從( 經(jīng)濟 )角度評價開發(fā)一個項目是否可行。
23.自頂向下結(jié)合的漸增式測試法,在組合模塊時有兩種組合策略:深度優(yōu)先策略和( 寬度優(yōu)先策略 ) 。
24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條( 在其他獨立路徑中未有過 )的邊的路徑。
25.匯編語言是面向( 機器 ) 的,可以完成高級語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
26.在JSP方法中解決結(jié)構(gòu)沖突的具體辦法是( 中間數(shù)據(jù)結(jié)構(gòu)或中間文件 )。
27.詳細設(shè)計的任務(wù)是確定每個模塊的內(nèi)部特性,即模塊的算法、( 使用的數(shù)據(jù) )。
28.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱( 軟件問題 )報告。
29.有兩類維護技術(shù):在開發(fā)階段使用來減少錯誤、提高軟件可維護性的面向維護的技術(shù);在維護階段用來提高維護的效率和質(zhì)量的( 維護支援 )技術(shù)。
30.科學(xué)工程計算需要大量的標準庫函數(shù),以便處理復(fù)雜的數(shù)值計算,可供選擇的語言有:( FORTRAN語言)、PASCAL語言、C語言和PL/1語言。
三.判斷(10分)
1.軟件的開發(fā)與運行經(jīng)常受到硬件的限制和制約。(√)
2.模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。(√ )
3.Jackson圖只能表達程序結(jié)構(gòu),不能表達數(shù)據(jù)結(jié)構(gòu)。(X)
上述數(shù)據(jù)流圖表示數(shù)據(jù)A和B同時輸入變換成C。(X )
5.軟件的質(zhì)量好壞主要由驗收人員負責(zé),其他開發(fā)人員不必關(guān)心。(X )
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應(yīng)該盡量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
8.UML只能應(yīng)用于軟件系統(tǒng)模型的建立。(X)
9.容錯就是每個程序采用兩種不同的算法編寫。(X)
10.軟件測試的目的是為了無一遺漏的找出所有的錯誤。(X)
四、名詞解釋題(本大題共5小題,每小題3分,共15分)
31.經(jīng)濟可行性
解:進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開發(fā)。
32.社會可行性
解:要開發(fā)的項目是否存在任何侵犯、妨礙等責(zé)任問題,要開發(fā)項目目的運行方式在用戶組織內(nèi)是否行得通,現(xiàn)有管理制度、人員素質(zhì)、操作方式是否可行。
33.投資回收期
解:投資回收期就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。
34.對應(yīng)關(guān)系
解:即有直接因果關(guān)系在程序中可以同時處理。
35.結(jié)構(gòu)沖突
解:輸入數(shù)據(jù)與輸出數(shù)據(jù)結(jié)構(gòu)找不到對應(yīng)關(guān)系的情況,稱為結(jié)構(gòu)沖突。
五、簡答題(本大題共5小題,每小題3分,共15分)
1、軟件維護的目的和主要任務(wù)是什么?維護的類型有哪些?
答:軟件維護是軟件生命周期中最后一個、持續(xù)時間最長的階段。
主要任務(wù)是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件,
目的是提高軟件的可靠性、可用性,延長軟件的壽命。
維護的類型有:改正性(錯誤)、適應(yīng)性(環(huán)境)、完善性(功能)、預(yù)防性(新產(chǎn)品)
2、什么是耦合?模塊的耦合包括哪些類型?
答:耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。
模塊的耦合包括以下幾種類型:數(shù)據(jù)耦合,控制耦合,特征耦合,公共環(huán)境耦合,內(nèi)容
耦合,標記耦合,無耦合/非直接耦合
3、什么是內(nèi)聚?模塊的內(nèi)聚包括哪些類型?
答:內(nèi)聚標志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自
然擴展
模塊的內(nèi)聚包括以下幾種類型:低內(nèi)聚—偶然內(nèi)聚,邏輯內(nèi)聚,時間內(nèi)聚
中內(nèi)聚—過程內(nèi)聚,通信內(nèi)聚; 高內(nèi)聚—順序內(nèi)聚,功能內(nèi)聚
4、如何選擇程序設(shè)計語言的工程特性
答:1.系統(tǒng)用戶的要求2.可以使用的編譯程序
3.可以得到的軟件工具4.工程規(guī)模5.程序員的知識
6.軟件可移植性的要求7.軟件的應(yīng)用領(lǐng)域
5、什么是編碼風(fēng)格?為什么要強調(diào)編碼風(fēng)格?
答:編碼風(fēng)格包括以下內(nèi)容:程序內(nèi)部良好的文檔(注釋)、數(shù)據(jù)說明、語句構(gòu)造、輸入輸
出和效率保障等。
因為編碼風(fēng)格對軟件的可讀性、可維護性、可靠性、可用性很重要,所以要強調(diào)編碼風(fēng)
格。
六、綜合題(20分)
1、某電器集團公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個計算機輔助企業(yè)管理系統(tǒng),其中:
生產(chǎn)科的任務(wù)是:
(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計劃。
?。?)根據(jù)車間實際生產(chǎn)日報表、周報表調(diào)整月生產(chǎn)計劃
(3)以月生產(chǎn)計劃為以及,制定產(chǎn)品設(shè)計(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計劃。
?。?)將產(chǎn)品的組裝計劃傳達到各科,將組裝月計劃分解為周計劃,下達給車間
技術(shù)科的任務(wù)是:
?。?)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計劃進行產(chǎn)品結(jié)構(gòu)設(shè)計,產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購需求計劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。
?。?)根據(jù)組裝計劃進行產(chǎn)品工藝設(shè)計,根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。 試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。
解:
畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。