軟件工程導論期末試卷
軟件工程導論期末考試試題
一.選擇(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.模塊內的高內聚往往意味着模塊間的鬆耦合。(√ )
son圖只能表達程序結構,不能表達數據結構。(X)
4.上述數據流圖表示數據A和B同時輸入變換成C。(X )
5.軟件的質量好壞主要由驗收人員負責,其他開發人員不必關心。(X )
6.判定覆蓋不一定包含條件覆蓋,條件覆蓋也不一定包含判定覆蓋。(√)
7.應該儘量使用機器語言編寫代碼,提高程序運行效率,而減少高級語言的使用。(X)
只能應用於軟件系統模型的建立。(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、某電器集團公司下屬的廠包括技術科、生產科等基層單位。現在想建立一個計算機輔助企業管理系統,其中: 生產科的任務是:
(1)根據銷售公司轉來的內部合同(產品型號、規格、數量、交獲日期)制定車間月生產計劃。
(2)根據車間實際生產日報表、週報表調整月生產計劃
(3)以月生產計劃爲以及,制定產品設計(結構、工藝)及產品組裝月計劃。
(4)將產品的組裝計劃傳達到各科,將組裝月計劃分解爲周計劃,下達給車間技術科的任務是:
(1)根據生產科轉來的組裝計劃進行產品結構設計,產生產品裝配圖給生產科,產生外購需求計劃給供應科,併產生產品自制物料清單。
(2)根據組裝計劃進行產品工藝設計,根據產品自制物料清單產生工藝流程圖給零件廠。 試寫出以上系統中生產科和技術科處理的軟件結構圖。 解:
畫出生產科圖的給6分,畫出技術科的給4分。
-
解析計算機軟件開發技術現狀及對策
隨着我國科技的不斷進步,使得軟件行業得到起飛,推動整個社會的再次進步。作爲計算機技術的關鍵內容,軟件開發技術的應用和發展,爲數據通信、經濟管理等方面提供極大的便利之處,逐漸成爲信息技術中的重要內容。同時,計算機軟件開發技術發展過程中,也出現諸多問題,對此,文...
-
應屆本科畢業生,去安復仕面試,做軟件開發
我是應屆本科畢業生,去安復仕面試,做軟件開發,感覺希望挺大。實習期2k,轉正4k,要我重新學習VB,我學C的原本,對應屆生而言,工資算低嗎?交四險一金,我去嗎?...
-
計算機軟件實習報告彙編5篇
在當下這個社會中,接觸並使用報告的人越來越多,報告具有成文事後性的特點。那麼什麼樣的報告纔是有效的呢?下面是小編爲大家整理的計算機軟件實習報告,僅供參考,希望能夠幫助到大家。計算機軟件實習報告1對計算機有了更具體認識,透過對計算機的具體操作和親自實踐鞏...
-
計算機軟件專業大學生的社會實踐報告
我很慶幸在這個寒假中進行了爲期一個月的社會實踐。接受我的單位是武漢市江岸區新馬路小湖南酒樓,我任職服務員。在這一次實踐中,我終於體會到了生活中的苦與樂、痛與累。同時,我也學會了很多以前不懂的東西。在剛去的頭三天裏,我真的是不想幹這份工作。但是我心中...