久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

《軟件工程》試題三(五篇)

時間:2019-05-14 10:47:51下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《《軟件工程》試題三》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《《軟件工程》試題三》。

第一篇:《軟件工程》試題三

一、軟件維護

(一)選擇題

1、軟件生命周期的最后一個階段是(B)。

A 書寫軟件文檔 B 軟件維護

C 穩定性測試 D 書寫詳細用戶說明

2、在軟件維護工作中進行的最少的部分是(D)。A 校正性維護 B 適應性維護

C 完善性維護 D 預防性維護

3、軟件維護大體上可以分為四種類型,下列(B)不屬于其中。A 校正性 B 可靠性 C 適應性 D 完善性

4、軟件維護指的是(A)。

A 對軟件的改進、適應和完善 B 維護正常進行 C 配置新軟件 D 軟件開發的一個階段

5、從下面選出關于軟件可維護性的正確論述:(1、3、6、7、9)

(1)在進行需求分析時,就應該同時考慮軟件可維護性問題

(2)在完成測試作業之后,為了縮短源程序長度,應刪去源程序中的注解

(3)盡可能在軟件生產過程中保證各階段文件的正確性

(4)編碼時應盡可能使用全局量

(5)選擇時間效率和空間效率盡可能高的算法

(6)盡可能利用硬件的特點

(7)重視程序的結構設計,使程序具有較好的層次結構

(8)在進行概要設計時應加強模塊間的聯系

(9)提高程序的易讀性,盡可能使用高級語言編寫程序

(10)為了加快維護作業的進程,應盡可能增加維護人員數

(二)填空題

1、維護階段是軟件生命周期中,持續時間(最長的)的階段,花費精力和費用(最多的)階段。

2、軟件維護的副作用有三種:(編碼),(數據)和(文檔)。

3、軟件維護的工作流程為:(用戶提出維護申請),(維護組織審查申請報告并安排維護工作),(進行維護并作詳細的維護記錄)和(復審)。

4、在軟件交付使用后,由于軟件開發過程產生的(錯誤)沒有完全徹底在(測試)階段發現,必然有一部分隱含錯誤帶到(維護)階段。

5、軟件的可維護性是指軟件功能被(理解),(改正),(適應和增強)的難易程度。

(三)簡答題

1、什么叫軟件維護?它有哪幾種類型?

答:軟件維護就是在軟件產品交付之后對其進行修改,以排除故障或該進性能和其他屬性或使產品適應改變了的環境。(定義1)軟件維護就是在軟件產品交付之后,為了改正錯誤或滿足新的需求而修改軟件的過程。(定義2)

分為四種類型:改正性維護,適應性,完善性,預防性。

2、非結構化維護和結構化維護的主要區別是什么?

答:結構化維護維護設計的時候有文檔,非結構化維護維護設計的時候沒有文檔,只有源程序; 與非結構化維護維護相比,結構化維護維護能減少工作量,并提高維護的總質量。

第二篇:軟件工程試題

一,單項選擇題(本大題共20小題,每小題1分,共20分)

在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。

1.可行性研究要進行一次_____需求分析。

參考答案為:C

A.詳細的 B.全面的

C.簡化的、壓縮的D.徹底的

[解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。其實質是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次上以較抽象的方式進行需求分析和設計過程。因此答案為C。

2.系統流程圖用于可行性分析中的_____的描述。

參考答案為:A

A.當前運行系統

B.當前邏輯模型

C.目標系統

D.新系統

[解析]可行性研究首先要確定項目的規模和目標,然后就需要對當前運行的系統進行研究了,在考察系統的基礎上,通過描繪現有系統的高層系統流程圖,與有關人員一起審查該系統流程圖是否正確。描述的對象是當前正在運行的系統,因此選擇A。

3.系統流程圖是描述_____的工具。

參考答案為:C

A.邏輯系統

B.程序系統

C.體系結構

D.物理系統

[解析]系統流程圖是用圖形符號來表示系統中的各個元素,例如人工處理、數據庫、設備等,流程圖表達了系統中各個元素之間的信息流動情況。是描繪物理系統的傳統工具。

4._______工具在軟件詳細設計過程中不采用。

參考答案為:D

A.判定表

B.IPO圖

C.PDL

D.DFD圖

[解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結構化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復雜的條件組合與應做的動作之間的對應關系。IPO圖用來描述每個模塊輸入/輸出數據、處理功能及模塊調用的詳細情況。PDL是過程設計語言的縮寫,也稱程序描述語言,用于描述模塊算法設計和處理細節的語言,這三種都可以在軟件詳細設計過程中使用,而DFD圖則是數據流圖,是以圖形的方式描繪數據在系統中流動和處理的過程,只反映系統必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設計過程中使用。

5.程序的三種基本控制結構是

參考答案為:B

A.過程、子程序和分程序

B.順序、選擇和重復

C.遞歸、堆棧和隊列

D.調用、返回和轉移

[解析]程序的三種基本控制結構是順序、選擇和循環(重復)。子程序只是程序設計一種方法,遞歸則是一種算法,都算不上是控制結構。

6.程序的三種基本控制結構的共同特點是

參考答案為:D A.不能嵌套使用

B.只能用來寫簡單程序

C.已經用硬件實現

D.只有一個入口和一個出口

[解析]程序的特點就是從一個入口開始,最終以一個出口結束,其間可以用順序,選擇和循環方式對程序的流向進行控制。三種結構可以寫出非常復雜的程序,而且選擇和循環都可以嵌套設計。

7.產生軟件維護的副作用,是指

參考答案為:C

A.開發時的錯誤

B.隱含的錯誤

C.因修改軟件而造成的錯誤

D.運行時誤操作

[解析]因修改軟件而造成的錯誤或其他不希望出現的情況稱為維護的副作用,包括編碼副作用、數據副作用、文檔副作用三種。只有答案C是正確的表述。

8.維護中,因誤刪除一個標識符而引起的錯誤是_________副作用。

參考答案為:C

A.文檔

B.數據

C.編碼

D.設計

[解析]編碼副作用指的是在使用程序設計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關系,修改文件的打開或關閉等。因此本題答案為C。

9.可維護性的特性中相互促進的是

參考答案為:A

A.可理解性和可測試性

B.效率和可移植性

C.效率和可修改性

D.效率和結構好

[解析]軟件的可維護性可用七個質量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結構好則不屬于可維護性的特征。

10.汽車有一個發動機。汽車和發動機之間的關系是_____關系。

參考答案為:B

A.一般具體

B.整體部分

C.分類關系

D.主從關系

[解析]類有兩種主要的結構關系,即一般——具體結構關系和整體——部分結構關系。前者稱為分類結構,用來描述現實世界中的一般化的抽象關系。后者稱為組裝結構,用來描述現實世界中的類的組成的抽象關系。汽車和發動機的關系很明顯,應該屬于整體——部分關系。

11.在變更控制中,______可以用來確保由不同用戶所執行的并發變更。

參考答案為:B

A.異步控制

B.同步控制

C.存取控制

D.基線控制

[解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限,同步控制可用來確保由不同用戶所執行任務的并發變更。

12.變更控制是一項最重要的軟件配置任務,其中“檢出”和______處理實現了兩個重要的變更控制要素,即存取控制和同步控制。

參考答案為:A

A.登入

B.管理

C.填寫變更要求

D.審查

[解析]“檢出”和“登入”處理實現了兩個重要的變更控制要素。具體說明見上題。

13.提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要

參考答案為:D

A.消除錯誤

B.檢測錯誤

C.避開錯誤

D.容錯

[解析]提高軟件質量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發的過程中不讓差錯潛入軟件的技術,另一類是容錯技術,即對某些無法避開的差錯,使其影響減至最小的技術。

14._____是以提高軟件質量為目的的技術活動。

參考答案為:D

A.技術創新

B.測試

C.技術創造

D.技術評審

[解析]技術評審是以提高軟件質量為目的的技術活動,是對軟件本身的結構、與運行環境的接口、變更帶來的影響等方面進行的評審活動。

15.面向對象方法學的出發點和基本原則是盡可能模擬人類習慣的思維方式,分析、設計和實現一個軟件系統的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向對象方法有許多特征,如軟件系統是由對象組成的;________;對象彼此之間僅能通過傳遞消息互相聯系;層次結構的繼承。

參考答案為:C

A.開發過程基于功能分析和功能分解

B.強調需求分析重要性

C.把對象劃分成類,每個對象類都定義一組數據和方法

D.對既存類進行調整

[解析]面向對象方法有四個特征,分別是對象唯一性、分類性、繼承性和多態性。其中分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質的個體集合,而每個對象相關類的實例,對象彼此之間通過傳遞消息互相聯系。

16.軟件開發過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫

參考答案為:D

A.生存期

B.面向對象設計

C.面向對象程序設計

D.面向對象分析

[解析]面向對象的分析的過程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。

17.原型化方法是用戶和設計者之間執行的一種交互構成,適用于______系統。

參考答案為:A

A.需求不確定性高的B.需求確定的C.管理信息

D.實時

[解析]原型不同于最終系統,它只實現所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現,因此適用于需求不確定性高的系統。

18.原型化方法是一種_______型的設計過程。

參考答案為:A

A.自外向內

B.自頂向下

C.自內向外

D.自底向上

[解析]原型化方法的基本思想是根據用戶給出的基本需求,通過快速實現構造出一個小型的、可執行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發者再對原型進行改進。如此周而復始,逐步彌補不足之處,從而提高了最終產品的質量。它是一種自外向內的設計過程。

19.為了提高測試的效率,應該

參考答案為:D

A.隨機地選取測試數據

B.取一切可能的輸入數據作為測試數據

C.在完成編碼以后制定軟件的測試計劃

D.選擇發現錯誤可能性大的數據作為測試數據

[解析]軟件測試是為了盡可能多的發現程序中的錯誤,尤其是發現至今尚未發現的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節進行測試,也不能無目的地隨機選取測試數據,為了提高測試的效率,測試用例應該選擇發現錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。

20.使用白盒測試方法時,確定測試數據應根據_______和指定的覆蓋標準。

參考答案為:A

A.程序的內部邏輯

B.程序的復雜結構

C.使用說明書

D.程序的功能

[解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內部結構和處理過程,由于白盒測試是一種結構測試,所以被測對象基本上是源程序,以程序的內部邏輯和指定的覆蓋標準確定測試數據。

二,填空題(本大題共10小題,每小題2分,共20分)

21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的()情況。

解:信息流動

[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。

22.成本效益分析的目的是從()角度評價開發一個項目是否可行。

解:經濟

[解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。

23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和()。

解:寬度優先策略

[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。

24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。

解:在其他獨立路徑中未有過

[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。

25.匯編語言是面向()的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。

解:機器

[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。

26.在JSP方法中解決結構沖突的具體辦法是()。

解:中間數據結構或中間文件

[解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。

27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、()。

解:使用的數據

[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。

28.所有軟件維護申請報告要按規定方式提出,該報告也稱()報告。

解:軟件問題

[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。

29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的()技術。

解:維護支援

[解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。

30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。

解:FORTRAN語言

[解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/

1、FORTRAN語言都是工程計算中常用的語言。

三,名詞解釋(本大題共5小題,每小題3分,共15分)

31.經濟可行性

解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。

[解析]對于一個系統所必須要衡量的是經濟上是否合算,經濟可行性的范圍很廣,包括效益分析、潛在市場前景等。

32.社會可行性

解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。

[解析]社會可行性包括合同、責任、侵權等技術人員不甚了解的諸多問題。

33.投資回收期

解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。

[解析]通常我們用投資回收期來衡量一個開發項目的價值,投資回收期越短,就越快獲得利潤。

34.對應關系

解:即有直接因果關系在程序中可以同時處理。

[解析]對應關系是指數據單元在數據內容上、數量上和順序上有直接的因果關系,對于重復的數據單元,重復的次序和次數都相同才有對應關系。

35.結構沖突

解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。

[解析]使用JSP方法時會遇到此類結構沖突問題,對此,Jackson提出了引入中間數據結構或中間文件的辦法,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。

四,簡答題(本大題共4小題,每小題5分,共20分)

36.可行性研究報告的主要內容有哪些?

解:一個可行性研究報告的主要內容如下:

(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參考資料。

(2)可行性研究前提:可行性研究前提。說明開發項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。

(3)對現有系統的分析:說明現有系統的處理流程和數據流程;工作負荷;各項費用支出;所需要各類專業技術人員的數量;所需要各種設備;現有系統存在什么問題。

(4)所建議系統的技術可行性分析:所建議系統的簡要說明;處理流程和數據流程;與現有的系統比較的優越性;采用所建議系統對用戶的影響;對各種設備、現有軟件、開發環境、運行環境的影響;對經費支出的影響;對技術可行性的評價

簡答題:

1、內聚與耦合的概念,2、結構化程序設計方法的三種結構,他們之間的聯系與區別,3、集成測試的兩種方法之間的不同點與相同點,4、抽象類圖的名稱與作用,這題還出了幾個符號要寫出其名稱,5、P20頁的那個圖的名稱,作用和特點。分析畫圖題:

1、畫數據流圖,2、畫判定樹與判定表,3、畫系統流程圖,4.^_^,不記得了,反正也是畫我們常要畫的圖,5、根據偽碼畫出程序流程圖,盒圖,然后計算程序的復雜度,填空題,選擇題主要考概念,jackson圖方面的內容在填空題出了兩題

第三篇:軟件工程第一章試題

第一章

一、填空

1.軟件與物質產品有很大的區別,軟件是一種(邏輯)產品。

2.軟件工程是一門綜合性交叉學科,計算機科學著重于理論和原理,軟件工程著重于(建造一個軟件系統)。

3.概要設計主要是把各項功能需求轉換成系統的(體系結構)。

4.最基本、應用廣泛、以文檔為驅動、適用于開發功能明確的軟件項目生存期模型是(瀑布模型)。

5.簡單實用、應用廣泛、技術成熟的開發方法是(結構化方法)

1.構成一個完整計算機系統的兩部分是硬件與(軟件)。

2.程序設計時代的生產方式是(個體手工勞動)。

3.軟件工程涉及到幾個學科,它是一門(綜合性交叉)學科。

4.軟件開發劃分的各階段任務盡可能獨立,同一階段任務性質盡可能(相同)。

5.將軟件生存周期各個活動規定為依線性順序聯接的若干階段的模型是(瀑布)模型。

6.噴泉模型是一種以用戶需求為動力,以(對象)為驅動的模型。

7.結構化方法是一種面向數據流的開發方法。由結構化分析、(結構化設計)、結構化程序設計構成。

8.軟件工程研究的主要內容是軟件開發管理和(軟件開發技術)兩個方面。

9.軟件工具是支持軟件開發人員的開發和維護活動而使用的(軟件)。

10.一個軟件項目的開發中,要采用一種生存周期模型,要按照某種(開發方法),使用相應的工具來進行。

二、選擇

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.維護

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.1/2B.1/3C.1/4D.2/3

7.軟件開發中大約要付出()%的工作量進行測試和排錯。

A.20B.30C.40D.50

8.準確地解決“軟件系統必須做什么”是()階段的任務。

A.可行性研究 B.需求分析C.詳細設計D.編碼

9.軟件生存周期中最長的是()階段。

A.需求分析B.概要設計C.測試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、UML是軟件開發中的一個重要工具,它主要應用于哪種軟件開發方法()

A、基于瀑布模型的結構化方法B、基于需求動態定義的原型化方法

C、基于對象的面向對象的方法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、軟件開發模型是指軟件開發的全部過程、活動和任務的結構框架。主要的開發模型有瀑布模型、演化模型、螺旋模型、噴泉模型和智能模型。螺旋模型將瀑布模型和演化模型相結合,并增加了(1),它建立在(2)的基礎上,沿著螺線自內向外每旋轉一圈,就得到(2)的一個新版本。噴泉模型描述了(3)的開發模型,它體現了這種開發方法創建軟件的過程所固有的(4)和(5)的特征。

(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、開發過程不分段

1﹑軟件產品的特性是什么?

產品特性:

⑴是一種邏輯產品,與物質產品有很大的區別。

⑵軟件產品的生產主要是研制,生產成本主要在開發和研制,開發研制完成后,通過復制就產生了大量軟件產品。⑶軟件產品不會用壞,不存在磨損,消耗。

⑷生產主要是腦力勞動,還末完全擺脫手工開發方式,大部分產品是“定做”的⑸開發軟件的費用不斷增加,致使生產成本相當昂貴。

2﹑軟件生產有幾個階段?各有何特征?

⑴程序設計時代:這個階段生產方式是個體勞動,使用的生產工具是機器語言,匯編語言。

⑵程序系統時代:這個階段生產方式是小集團合作生產,使用的生產工具是高級語言,開發方法仍依靠個人技巧,但開始提出結構化方法。

⑶軟件工程時代:這個階段生產方式是工程化的生產,使用數據庫﹑開發工具﹑開發環境﹑網絡﹑分布式﹑面向對象技術來開發軟件。

3﹑什么是軟件危機?產生原因是什么?

軟件開發技術的進步未能滿足發展的要求。在軟件開發中遇到的問題找不到解決的辦法,問題積累起來,形態尖銳的矛盾,導致了軟件危機。

產生原因:

⑴ 軟件規模越來越大,結構越來越復雜。

⑵ 軟件開發管理困難而復雜。

⑶ 軟件包開發費用不斷增加。

⑷ 軟件開發技術落后。

⑸ 生產方式落后,仍采用手工方式。

⑹ 開發工具落后,生產率提高緩慢。

4﹑什么是軟件工程?它目標和內容是什么?

軟件工程就是用科學的知識程和技術原理來定義,開發,維護軟件的一門學科。

軟件工程目標:付出較低開發成本;達到要求的功能;取得較好的性能;開發的軟件易于移

植;只需較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟件可靠性高。

軟件工程內容:研究內容包括開發技術和開發管理兩個方面。

開發技術主要研究:軟件開發方法,開發過程,開發工具和環境。

開發管理主要研究:軟件管理學,軟件經濟學,軟件心理學。

5﹑軟件工程面臨的問題是什么?

軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產率和軟件的重用。

6﹑什么是軟件生存周期?它有哪幾個活動?

軟件生存周期:一個軟件從提出開發要求開始直到該軟件報廢為止的整個時期。

包括:可行性分析和項目開發計劃,需求分析,概要設計,詳細設計,編碼,測試,維護。

7﹑什么是軟件生存周期模型?有哪些主要模型?

生存周期模型:描述軟件開發過程中各種活動如何執行的模型。對軟件開發提供強有力的支持,為開發過程中的活動提供統一的政策保證,為參與開發的人員提供幫助和指導,是軟件生存周期模型化技術的基礎,也是建立軟件開發環境的核心。

主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。

8﹑什么是軟件開發方法?有哪些主要方法?

使用早已定義好的技術集及符號表示習慣來組織軟件生產的過程。通過使用成功的軟件開發方法,在規定的投資和時間內,開發出符合用戶需求的高質量的軟件。軟件開發方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產業的發展起了不可估量的作用。

主要有:結構化方法,JACKSON方法,維也納開發方法﹙VDM﹚,面向對象開發方法。

第四篇:軟件工程期末考試試題

一,單項選擇題(本大題共20小題,每小題1分,共20分)

在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。

1.可行性研究要進行一次_____需求分析。

A.詳細的 B.全面的 C.簡化的、壓縮的 D.徹底的 2.系統流程圖用于可行性分析中的_____的描述。

A.當前運行系統 B.當前邏輯模型 C.目標系統 D.新系統 3.系統流程圖是描述_____的工具。

A.邏輯系統B.程序系統C.體系結構D.物理系統 4._______工具在軟件詳細設計過程中不采用。

A.判定表 B.IPO圖 C.PDL D.DFD圖 5.程序的三種基本控制結構是

A.過程、子程序和分程序 B.順序、選擇和重復

C.遞歸、堆棧和隊列 D.調用、返回和轉移 6.程序的三種基本控制結構的共同特點是

A.不能嵌套使用 B.只能用來寫簡單程序

C.已經用硬件實現 D.只有一個入口和一個出口 7.產生軟件維護的副作用,是指

A.開發時的錯誤 B.隱含的錯誤

C.因修改軟件而造成的錯誤 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.原型化方法是一種_______型的設計過程。

A.自外向內 B.自頂向下 C.自內向外 D.自底向上 19.為了提高測試的效率,應該()A.隨機地選取測試數據 B.取一切可能的輸入數據作為測試數據

C.在完成編碼以后制定軟件的測試計劃

D.選擇發現錯誤可能性大的數據作為測試數據

20.使用白盒測試方法時,確定測試數據應根據_______和指定的覆蓋標準。

A.程序的內部邏輯 B.程序的復雜結構 C.使用說明書 D.程序的功能

1.C[解析]軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。其實質是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次上以較抽象的方式進行需求分析和設計過程。因此答案為C。

2.A[解析]可行性研究首先要確定項目的規模和目標,然后就需要對當前運行的系統進行研究了,在考察系統的基礎上,通過描繪現有系統的高層系統流程圖,與有關人員一起審查該系統流程圖是否正確。描述的對象是當前正在運行的系統,因此選擇A。

3.C[解析]系統流程圖是用圖形符號來表示系統中的各個元素,例如人工處理、數據庫、設備等,流程圖表達了系統中各個元素之間的信息流動情況。是描繪物理系統的傳統工具。

4.D[解析]詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結構化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復雜的條件組合與應做的動作之間的對應關系。IPO圖用來描述每個模塊輸入/輸出數據、處理功能及模塊調用的詳細情況。PDL是過程設計語言的縮寫,也稱程序描述語言,用于描述模塊算法設計和處理細節的語言,這三種都可以在軟件詳細設計過程中使用,而DFD圖則是數據流圖,是以圖形的方式描繪數據在系統中流動和處理的過程,只反映系統必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設計過程中使用。

5.B[解析]程序的三種基本控制結構是順序、選擇和循環(重復)。子程序只是程序設計一種方法,遞歸則是一種算法,都算不上是控制結構。6.D[解析]程序的特點就是從一個入口開始,最終以一個出口結束,其間可以用順序,選擇和循環方式對程序的流向進行控制。三種結構可以寫出非常復雜的程序,而且選擇和循環都可以嵌套設計。

7.C [解析]因修改軟件而造成的錯誤或其他不希望出現的情況稱為維護的副作用,包括編碼副作用、數據副作用、文檔副作用三種。只有答案C是正確的表述。

8.C[解析]編碼副作用指的是在使用程序設計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關系,修改文件的打開或關閉等。因此本題答案為C。

9.A [解析]軟件的可維護性可用七個質量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結構好則不屬于可維護性的特征。

10.B [解析]類有兩種主要的結構關系,即一般——具體結構關系和整體——部分結構關系。前者稱為分類結構,用來描述現實世界中的一般化的抽象關系。后者稱為組裝結構,用來描述現實世界中的類的組成的抽象關系。汽車和發動機的關系很明顯,應該屬于整體——部分關系。

11.B[解析]變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限,同步控制可用來確保由不同用戶所執行任務的并發變更。

12.A[解析]“檢出”和“登入”處理實現了兩個重要的變更控制要素。具體說明見上題。

13.D[解析]提高軟件質量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發的過程中不讓差錯潛入軟件的技術,另一類是容錯技術,即對某些無法避開的差錯,使其影響減至最小的技術

14.D[解析]技術評審是以提高軟件質量為目的的技術活動,是對軟件本身的結構、與運行環境的接口、變更帶來的影響等方面進行的評審活動。

15.C[解析]面向對象方法有四個特征,分別是對象唯一性、分類性、繼承性和多態性。其中分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類,每個類是具有相同性質的個體集合,而每個對象相關類的實例,對象彼此之間通過傳遞消息互相聯系。16.D[解析]面向對象的分析的過程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。

17.A[解析]原型不同于最終系統,它只實現所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現,因此適用于需求不確定性高的系統。

18.A[解析]原型化方法的基本思想是根據用戶給出的基本需求,通過快速實現構造出一個小型的、可執行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發者再對原型進行改進。如此周而復始,逐步彌補不足之處,從而提高了最終產品的質量。它是一種自外向內的設計過程 19.D[解析]軟件測試是為了盡可能多的發現程序中的錯誤,尤其是發現至今尚未發現的錯誤。在選取測試用例時,不可能進行窮舉測試,在每一個細節進行測試,也不能無目的地隨機選取測試數據,為了提高測試的效率,測試用例應該選擇發現錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。

20.A[解析]白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內部結構和處理過程,由于白盒測試是一種結構測試,所以被測對象基本上是源程序,以程序的內部邏輯和指定的覆蓋標準確定測試數據。二,填空題(本大題共10小題,每小題2分,共20分)

21.系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系統中各種元素之間的()情況。

22.成本效益分析的目的是從()角度評價開發一個項目是否可行。

23.自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和()。

24.獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條()的邊的路徑。

25.匯編語言是面向()的,可以完成高級語言無法完成的特殊功能,如與外部設備之間的一些接口工作。

26.在JSP方法中解決結構沖突的具體辦法是()。

27.詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、()。

28.所有軟件維護申請報告要按規定方式提出,該報告也稱()報告。

29.有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的()技術。

30.科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:()、PASCAL語言、C語言和PL/1語言。

21.解:信息流動[解析]系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。

22.解:經濟[解析]成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。

23.解:寬度優先策略[解析]漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。

24.解:在其他獨立路徑中未有過[解析]在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構——程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。

25.解:機器[解析]匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。

26.解:中間數據結構或中間文件[解析]JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。

27.解:使用的數據[解析]詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。

28.解:軟件問題[解析]在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。29.解:維護支援[解析]面向維護的技術涉及軟件開發的所有階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。30.解:FORTRAN語言[解析]計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/

1、FORTRAN語言都是工程計算中常用的語言。

三,名詞解釋(本大題共5小題,每小題3分,共15分)

31.經濟可行性

解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。[解析]對于一個系統所必須要衡量的是經濟上是否合算,經濟可行性的范圍很廣,包括效益分析、潛在市場前景等。

32.社會可行性

解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。[解析]社會可行性包括合同、責任、侵權等技術人員不甚了解的諸多問題。

33.投資回收期

解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。[解析]通常我們用投資回收期來衡量一個開發項目的價值,投資回收期越短,就越快獲得利潤。

34.對應關系 解:即有直接因果關系在程序中可以同時處理。[解析]對應關系是指數據單元在數據內容上、數量上和順序上有直接的因果關系,對于重復的數據單元,重復的次序和次數都相同才有對應關系。

35.結構沖突 解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。[解析]使用JSP方法時會遇到此類結構沖突問題,對此,Jackson提出了引入中間數據結構或中間文件的辦法,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統的整體。四,簡答題(本大題共4小題,每小題5分,共20分)

36.可行性研究報告的主要內容有哪些?

解:一個可行性研究報告的主要內容如下:(1)引言:說明編寫本文檔的目的;項目的名稱、背景;本文檔用到的專門術語和參考資料。

(2)可行性研究前提:可行性研究前提。說明開發項目的功能、性能和基本要求;達到的目標;各種限制條件;可行性研究方法和決定可行性的主要因素。(3)對現有系統的分析:說明現有系統的處理流程和數據流程;工作負荷;各項費用支出;所需要各類專業技術人員的數量;所需要各種設備;現有系統存在什么問題。(4)所建議系統的技術可行性分析:所建議系統的簡要說明;處理流程和數據流程;與現有的系統比較的優越性;采用所建議系統對用戶的影響;對各種設備、現有軟件、開發環境、運行環境的影響;對經費支出的影響;對技術可行性的評價。

(5)所建議系統的經濟可行性分析:說明所建議系統的各種支出,各種效益;收益投資比;投資回收周期。

(6)社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權、侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質的要求。

(7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。

(8)結論意見:說明項目是否能開發;還需要什么條件才能開發;對項目目標有什么變動等。

[解析]做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發,其中的問題能否解決,報告共分為八個基本內容。

37.系統設計的內容是什么?

解:系統設計階段先從高層入手,然后細化。系統設計要決定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。

(1)系統分解。系統中主要的組成部分稱為子系統,子系統既不是一個對象也不是一個功能,而是類、關聯、操作、時間和約束的集合。每次分解的各子系統數目不能太多,最底層子系統稱為模塊。

(2)確定并發性。分析模型、現實世界及硬件中不少對象均是并發的。系統設計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務。

(3)處理器及任務分配。各并發子系統必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實現子系統的硬軟件,將軟件子系統分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現各子系統的各物理單元的連接。(4)數據存儲管理。系統中的內部數據和外部數據的存儲管理是一項重要的任務。通常各數據存儲可以將數據結構、文件、數據庫組合在一起,不同數據存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。

(5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。

如果資源是物理對象,則可以通過建立協議實現對并發系統的訪問,以達到自身控制;如果資源是邏輯實體,如對象標識符,那么在共享環境中有沖突訪問的可能,如獨立的事務可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。

(6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統設計必須從多種方法中選擇某種方法來實現軟件的控制。(7)人機交互接口設計。設計中的大部分工作都與穩定的狀態行為有關,但必須考慮用戶使用系統的交互接口。

[解析]系統設計是問題求解及建立解答的高級策略。必須制定解決問題的基本方法,系統的高層結構形式包括子系統的分解、它的固有并發性、子系統分配給硬軟件、數據存儲管理、資源協調、軟件控制實現、人機交互接口。

38.什么是軟件危機?軟件危機的表現是什么?其產生的原因是什么?

解:軟件發展第二階段的末期,由于計算機硬件技術的進步,計算機運行速度、容量、可靠性有顯著的提高,生產成本顯著下降,這為計算機的廣泛應用創造了條件。一些復雜的、大型的軟件開發項目提出來了,但是,軟件開發技術的進步一直未能滿足發展的需要。在軟件開發中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導致了軟件危機。

軟件危機表現在以下四個方面:

(1)經費預算經常突破,完成時間一再拖延。由于缺乏軟件開發的經驗和軟件開發數據的積累,使得開發工作的計劃很難制定。主觀盲目制定計劃,執行起來與實際情況有很大差距,使得開發經費一再突破。由于對工作量估計不足,對開發難度估計不足,進度計劃無法按時完成,開發時間一再拖延。(2)開發的軟件不能滿足用戶要求。開發初期對用戶的要求了解不夠明確,未能得到明確的表達。開發工作開始后,軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,導致開發的軟件不能滿足用戶的要求,因而導致開發失敗。(3)開發的軟件可維護性差。開發過程中沒有同意的、公認的規范,軟件開發人員按各自的風格工作,各行其是,開發過程無完整、規范的文檔,發現問題后進行雜亂無章的修改。程序結構不好,運行時發現錯誤也很難修改,導致維護性差。(4)開發的軟件可靠性差。由于在開發過程中,沒有確保軟件質量的體系和措施,在軟件測試時,又沒有嚴格的、充分的、完全的測試,提交給用戶的軟件質量差,在運行中暴露出大量的問題。

造成軟件危機的原因是:(1)軟件的規模越來越大,結構越來越復雜。(2)軟件開發管理困難而復雜。(3)軟件開發費用不斷增加。(4)軟件開發技術落后。(5)生產方式落后。(6)開發工具落后,生產率提高緩慢。

[解析]由于軟件危機的出現,人們才開始用工程化的思想來開發軟件,從此,軟件生產才步入了軟件工程時代。

39.軟件質量保證應做好哪幾方面的工作?

解:軟件質量保證是軟件工程管理的重要內容,軟件質量保證應做好以下幾方面的工作:

(1)采用技術手段和工具。質量保證活動要貫徹開發過程始終,必須采用技術手段和工具,尤其是使用軟件開發環境來進行軟件開發。(2)組織正式技術評審。在軟件開發的每一個階段結束時,都要組織正式的技術評審。國家標準要求單位必須采用審查、文檔評審、設計評審、審計和測試等具體手段來保證質量。(3)加強軟件測試。軟件測試是質量保證的重要手段,因為測試可發現軟件中大多數潛在錯誤。(4)推行軟件工程規范(標準)。用戶可以自己制定軟件工程規范(標準),但標準一旦確認就應貫徹執行。(5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。(6)對軟件質量進行度量。即對軟件質量進行跟蹤,及時記錄和報告軟件質量情況。

[解析]軟件的質量保證是向用戶及社會提供滿意的高質量的產品,確保軟件產品從誕生到消亡為止的所有階段的質量的活動,是軟件工程管理中的重要內容。五,論述題(本大題共3小題,第40小題7分,第41小題8分,第42小題10分,共25分)

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。

第五篇:軟件工程導論試題

軟件工程導論試題

一.選擇

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。

下載《軟件工程》試題三(五篇)word格式文檔
下載《軟件工程》試題三(五篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    軟件工程導論試題(打印)

    軟件工程導論試題(老師給的) 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八......

    軟件工程導論期末試題

    軟件工程導論期末考試試題 一.選擇(20分) 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護......

    軟件工程導論試題(打印)

    軟件工程導論試題(老師給的) 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八......

    軟件工程試題及答案

    軟件工程試題及解答 一,單項選擇題(本大題共20小題,每小題1分,共20分) 在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的橫線上。 1.可行性......

    軟件工程試題及答案

    1、瀑布模型把軟件生命周期劃分為8個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計劃階......

    軟件工程導論試題(精選合集)

    軟件工程導論試題 一.選擇 1、瀑布模型把軟件生命周期劃分為八個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又......

    10級地理信息系統考試試題軟件工程B1

    東華理工大學10級地理信息系統專業 軟件工程期末試題B1卷 一,單項選擇題(本大題共20小題,每小題2分,共40分) 在每小題列出的四個選項中只有一個選項是符合題目要求的,請將正確選項......

    軟件工程試題及答案(A)(共5篇)

    A卷1、瀑布模型把軟件生命周期劃分為8個階段:問題的定義、可行性研究、軟件需求分析、系統總體設計、詳細設計、編碼、測試和運行、維護。八個階段又可歸納為三個大的階段:計......

主站蜘蛛池模板: 亚洲字幕成人中文在线电影网| 综合久久给合久久狠狠狠97色| 少妇人妻大乳在线视频不卡| 久久精品国产曰本波多野结衣| 影音先锋熟女少妇av资源| 国产精品无码不卡一区二区三区| 色欲国产麻豆一精品一av一免费| 日韩亚洲国产主播在线不卡| 一本大道无码日韩精品影视_| 亚洲 欧美 另类图片| 最美女人体内射精一区二区| 欧洲日本一线二线三线区本庄铃| 亚洲精品国产精品乱码在线观看| 成人午夜特黄aaaaa片男男| 无线乱码一二三区免费看| 色噜噜狠狠狠综合曰曰曰| 帅小伙自慰videogay男男| 精品欧洲av无码一区二区14| 久久精品中文字幕无码| 国产成a人片在线观看视频下载| 久久九九久精品国产| 乱人伦人妻中文字幕无码| 亚洲欧美人成视频一区在线| 中年国产丰满熟女乱子正在播放| 韩国三级丰满少妇高潮| 少妇的肉体aa片免费| 国产精品久久久久9999爆乳| 性推油按摩av无码专区| 精品噜噜噜噜久久久久久久久| 国产精品久久..4399| 亚洲中文字幕成人综合网| 色婷婷综合久久久中文字幕| 亚洲一区在线观看尤物| 天天澡天天添天天摸97影院| 日本乱码伦午夜福利在线| 人妻精品久久久久中文字幕一冢本| 中日韩精品视频在线观看| 亚洲国产美女精品久久久久∴| 久久久久爽爽爽爽一区老女人| 亚洲色大成网站www看下面| 亚洲另类无码专区首页|