軟件工程試題與答案_第1頁
軟件工程試題與答案_第2頁
軟件工程試題與答案_第3頁
軟件工程試題與答案_第4頁
軟件工程試題與答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1234123412軟件工程試題及答案第一部分 選擇題 一、單項選擇題 每小題1分,共20分。(在每小題的四個選項中只有一個選項是符合題目要求的,請將正確選項前的字母填在題后的括號內) 1在下列工具與環境中( )屬于較早期的CASE。A基于信息工程CASE B人工智能CASE C結構的基于圖形CASE D集成的CASE環境2Putnam成本估算模型是一個( )模型。 A靜態單變量 B動態單變量 C靜態多變量 D動態多變量3在McCall軟件質量度量模型中,( )屬于面向軟件產品修改。 A可靠性 B可重用性 C適應性 D可移植性4ISO的軟件質量評價模型由3層組成,其中用于評價設計質量的準則是(

2、 ) ASQIC BSQMC CSQRC DSQDC5軟件復雜性度量的參數包括( ) 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第一個體現結構

3、化編程思想的程序設計語言是( ) AFORTRAN語言 BPascal語言 CC語言 DPL/1語言12程序的三種基本控制結構是( ) A過程、子程序和分程序 B順序、選擇和重復 C遞歸、堆棧和隊列 D調用、返回和轉移13在詳細設計階段,經常采用的工具有( ) APAD BSA CSC DDFD14詳細設計的結果基本決定了最終程序的( ) A代碼的規模 B運行速度 C質量 D可維護性15需求分析中開發人員要從用戶那里了解( ) A軟件做什么 B用戶使用界面 C輸入的信息 D軟件的規模16結構化程序設計主要強調的是( )A   程序的規模 B   程序的效

4、率C   程序設計語言的先進性 D  程序易讀性17IDEF。圖反映系統( )A怎么做 B對誰做 C何時做 D做什么18經濟可行性研究的范圍包括( ) A資源有效性 B管理制度 C效益分析 D開發風險19可行性分析是在系統開發的早期所做的一項重要的論證工作,它是決定該系統是否開 發的決策依據,因必須給出( )的回答。 A確定 B行或不行 C正確 D無二義20需求分析階段的任務是確定( )A   軟件開發方法B   軟件開發工具C   軟件開發費 D  軟件系統的功能  二、填空題(每空

5、2分,共20分)。21在軟件開發過程中要產生大量的信息,要進行大量的修改, 軟件配置管理 能協調軟件開發,并使混亂減到最低程度。22規定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件具有 容錯功能的軟件。23McCall提出的軟件質量模型包括11 個軟件質量特性。24軟件可維護性度量的七個質量特性是可理解性、可測試性、可修改性、可靠性、可移植性、 可使用性和效率。25為了便于對照檢查,測試用例應由輸入數據和預期的輸出結果兩部分組成。26程序設計語言的心理特性主要表現在 歧義性 、簡潔性、傳統性、局部性和順序性。27軟件結構是以 模塊 為基礎而組成的一種控制層次結構

6、。28在結構化分析中,用于描述加工邏輯的主要工具有三種,即:結構化語言、判定表、判定樹 。29結構化語言是介于自然語言和形式語言之間的一種半形式語言。30若年利率為i,不計復利,n年后可得錢數為F,則現在的價值P=F/(1+(n*i)。三、名詞解釋題 每小題3分,共15分。 31軟件生存周期模型 描述軟件開發過程中各種活動如何執行的模型32數據字典(DD) 數據字典是用來定義數據流圖中的各個成分的具體含義的。它以一種準確的、無二義性的說明方式為系統的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。33內聚性內聚性是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內部各個

7、元素彼此結合的緊密程度的度量34JSP方法JSP方法是面向數據結構的設計方法,其定義了一組以數據結構為指導的映射過程,它根據輸入,輸出的數據結構,按一定的規則映射成軟件的過程描述,即程序結構。35多態性指相同的操作或函數、過程可作用于多種類型的對象上并獲得不同結果?;颍ú煌膶ο?,收到同一消息可以產生不同的結果。)四、簡答題 每小題5分,共20分。36簡述容錯技術的四種主要手段,并解釋。結構冗余:包括靜態冗余、動態冗余和混合冗余。信息冗余:為檢測或糾正信息在運算或傳輸中的錯誤,須外加一部分信息。時間冗余:指重復執行指令或程序來消除瞬時錯誤帶來的影響。冗余附加技術:指為實現上述冗余技術所需的資源

8、和技術。37以G.J.Myers的觀點,簡述對軟件測試的目的。軟件測試是(1)為了發現錯誤而執行程序的過程;(2)一個好的用例能夠發現至今尚未發現的錯誤的測試。(3)一個成功的測試是發現至今尚未發現的錯誤的測試。38就程序設計語言的工程特性而言,對程序編碼有哪些要求?就程序設計語言的工程特性而言,對程序編碼有如下要求:(1)可移植性 (2)開發工具的可利用性 (3)軟件的可重用性 (4)可維護性39模塊的內聚性包括哪些類型?模塊的內聚性包括:(1)偶然內聚(2)邏輯內聚(3)時間內聚(4)通信內聚(5)順序內聚(6)功能內聚五、應用題 第40小題7分,第41小題8分,第42小題10分,共25分

9、。 41根據下列條件使用等價劃分法設計測試用例。 某一8位微機,其十六進制常數定義為:以0x或0X開頭的數是十六進制整數,其值的范圍是-7f7f(表示十六進制的大小寫字母不加區別),如0X13,0X6A,-0X3c。解答:等價劃分法 劃分等價類并編號,如下表所示。十六進制整型常量輸入條件的等價類表輸入數據合理等價類不合理等價類十六進制整數1  0x或0X開頭12位數字串2  以0x打頭的12位數字串3  非0x或非打頭的串4  含有非數字且(a,b,c,d,e,f)以外字符5  多于5個字符6  后跟非0的多位串7  0后跟

10、數字串8  后多于3個數字十六進制數范圍9在7f7f之間10小于7f11大于7f為合理等價類設計測試用例,表中有三個合理等價類,設計兩個例子測試數據期望結果覆蓋范圍0×23顯示有效輸入1,90×15顯示有效輸入2,9為每個不合理等價類至少設計一個測試用例測試數據期望結果覆蓋范圍2顯示無效輸入3G12顯示無效輸入4123311顯示無效輸入51012顯示無效輸入6011顯示無效輸入70134顯示無效輸入80x777顯示無效輸入100x87顯示無效輸入11軟件工程導論預測題一,單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個選項中只有一個選項是符合

11、題目要求的,請將正確選項前的字母填在題后的橫線上。1可行性研究要進行一次_需求分析。A詳細的B全面的C簡化的、壓縮的D徹底的解析軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發。其實質是要進行一次簡化、壓縮了的需求分析、設計過程,要在較高層次上以較抽象的方式進行需求分析和設計過程。因此答案為C。2系統流程圖用于可行性分析中的_的描述。A當前運行系統B當前邏輯模型C目標系統D新系統解析可行性研究首先要確定項目的規模和目標,然后就需要對當前運行的系統進行研究了,在考察系統的基礎上,通過描繪現有系統的高層系統流程圖,與有關人員一起審查該系統流程圖是否

12、正確。描述的對象是當前正在運行的系統,因此選擇A。3系統流程圖是描述_的工具。A邏輯系統B程序系統C體系結構D物理系統解析系統流程圖是用圖形符號來表示系統中的各個元素,例如人工處理、數據庫、設備等,流程圖表達了系統中各個元素之間的信息流動情況。是描繪物理系統的傳統工具。4_工具在軟件詳細設計過程中不采用。A判定表 BIPO圖 CPDLDDFD圖解析詳細描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結構化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復雜的條件組合與應做的動作之間的對應關系。IPO圖用來描述每個模塊輸入/輸出數據、處理功能及模塊調用的詳細情況。PDL是過程設計

13、語言的縮寫,也稱程序描述語言,用于描述模塊算法設計和處理細節的語言,這三種都可以在軟件詳細設計過程中使用,而DFD圖則是數據流圖,是以圖形的方式描繪數據在系統中流動和處理的過程,只反映系統必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細設計過程中使用。5程序的三種基本控制結構是A過程、子程序和分程序B順序、選擇和重復C遞歸、堆棧和隊列D調用、返回和轉移解析程序的三種基本控制結構是順序、選擇和循環(重復)。子程序只是程序設計一種方法,遞歸則是一種算法,都算不上是控制結構。6程序的三種基本控制結構的共同特點是A不能嵌套使用B只能用來寫簡單程序C已經用硬件實現D只有一個入口和一個出口解析程序的

14、特點就是從一個入口開始,最終以一個出口結束,其間可以用順序,選擇和循環方式對程序的流向進行控制。三種結構可以寫出非常復雜的程序,而且選擇和循環都可以嵌套設計。7產生軟件維護的副作用,是指A開發時的錯誤B隱含的錯誤C因修改軟件而造成的錯誤D運行時誤操作解析因修改軟件而造成的錯誤或其他不希望出現的情況稱為維護的副作用,包括編碼副作用、數據副作用、文檔副作用三種。只有答案C是正確的表述。8維護中,因誤刪除一個標識符而引起的錯誤是_副作用。A文檔B數據C編碼D設計解析編碼副作用指的是在使用程序設計語言修改源代碼時可能引入錯誤,比如刪除或修改一個子程序、一個標號、一個標識符,改變程序代碼的時序關系,修改

15、文件的打開或關閉等。因此本題答案為C。9可維護性的特性中相互促進的是A可理解性和可測試性B效率和可移植性C效率和可修改性D效率和結構好解析軟件的可維護性可用七個質量特性來衡量,分別是:可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。對于不同類型的維護,這些特性的側重點也不相同,有一些可維護特性是可以相互促進的,比如可理解性和可測試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結構好則不屬于可維護性的特征。10汽車有一個發動機。汽車和發動機之間的關系是_關系。A一般具體B整體部分C分類關系D主從關系解析類有兩種主要的結

16、構關系,即一般具體結構關系和整體部分結構關系。前者稱為分類結構,用來描述現實世界中的一般化的抽象關系。后者稱為組裝結構,用來描述現實世界中的類的組成的抽象關系。汽車和發動機的關系很明顯,應該屬于整體部分關系。11在變更控制中,_可以用來確保由不同用戶所執行的并發變更。A異步控制B同步控制C存取控制D基線控制解析變更控制包括建立控制點和建立報告與審查制度,其過程中的“檢出”和“登入”處理實現了存取控制和同步控制,存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限,同步控制可用來確保由不同用戶所執行任務的并發變更。12變更控制是一項最重要的軟件配置任務,其中“檢出”和_處理實現了兩個重要的變

17、更控制要素,即存取控制和同步控制。A登入B管理C填寫變更要求D審查解析“檢出”和“登入”處理實現了兩個重要的變更控制要素。具體說明見上題。13提高軟件質量和可靠的技術大致可分為兩大類:其中一類就是避開錯誤技術,但避開錯誤技術無法做到完美無缺和絕無錯誤,這就需要A消除錯誤B檢測錯誤C避開錯誤D容錯解析提高軟件質量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發的過程中不讓差錯潛入軟件的技術,另一類是容錯技術,即對某些無法避開的差錯,使其影響減至最小的技術。14_是以提高軟件質量為目的的技術活動。A技術創新B測試C技術創造D技術評審解析技術評審是以提高軟件質量為目的的技術活動,是對軟件本

18、身的結構、與運行環境的接口、變更帶來的影響等方面進行的評審活動。15面向對象方法學的出發點和基本原則是盡可能模擬人類習慣的思維方式,分析、設計和實現一個軟件系統的方法和過程,盡可能接近于人類認識世界解決問題的方法和過程。因此面向對象方法有許多特征,如軟件系統是由對象組成的;_;對象彼此之間僅能通過傳遞消息互相聯系;層次結構的繼承。A開發過程基于功能分析和功能分解B強調需求分析重要性C把對象劃分成類,每個對象類都定義一組數據和方法D對既存類進行調整解析面向對象方法有四個特征,分別是對象唯一性、分類性、繼承性和多態性。其中分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類,每個類是

19、具有相同性質的個體集合,而每個對象相關類的實例,對象彼此之間通過傳遞消息互相聯系。16軟件開發過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫A生存期B面向對象設計C面向對象程序設計D面向對象分析解析面向對象的分析的過程就是認識客觀世界的過程,其目的就是建立對客觀世界的精確、簡潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。17原型化方法是用戶和設計者之間執行的一種交互構成,適用于_系統。A需求不確定性高的B需求確定的C管理信息D實時解析原型不同于最終系統,它只實現所選擇的部分功能,僅是為了試驗或是演示而用,部分功能需求可以忽略或者模擬實現,因此適用于需求不確定性高的系統。18

20、原型化方法是一種_型的設計過程。A自外向內B自頂向下C自內向外D自底向上解析原型化方法的基本思想是根據用戶給出的基本需求,通過快速實現構造出一個小型的、可執行的模型,用戶在計算機上實際運行這個用戶界面原型,在試用過程中提出意見或建議,然后開發者再對原型進行改進。如此周而復始,逐步彌補不足之處,從而提高了最終產品的質量。它是一種自外向內的設計過程。19為了提高測試的效率,應該A隨機地選取測試數據B取一切可能的輸入數據作為測試數據C在完成編碼以后制定軟件的測試計劃D選擇發現錯誤可能性大的數據作為測試數據解析軟件測試是為了盡可能多的發現程序中的錯誤,尤其是發現至今尚未發現的錯誤。在選取測試用例時,不

21、可能進行窮舉測試,在每一個細節進行測試,也不能無目的地隨機選取測試數據,為了提高測試的效率,測試用例應該選擇發現錯誤可能性大的部分,這樣的測試結果才符合軟件測試的目的。20使用白盒測試方法時,確定測試數據應根據_和指定的覆蓋標準。A程序的內部邏輯B程序的復雜結構C使用說明書D程序的功能解析白盒測試是把測試對象看作一個打開的盒子,測試人員須了解程序的內部結構和處理過程,由于白盒測試是一種結構測試,所以被測對象基本上是源程序,以程序的內部邏輯和指定的覆蓋標準確定測試數據。二,填空題(本大題共10小題,每小題2分,共20分)21系統流程圖是描述物理模型的傳統工具,用圖形符號表示系統中各個元素表達了系

22、統中各種元素之間的(信息流動)情況。解析系統流程圖是描述物理系統的傳統工具,用圖形符號表示系統中的各個元素,如人工處理、數據處理、數據庫、文件、設備等,表達了元素之間的信息流動的情況。22成本效益分析的目的是從(經濟)角度評價開發一個項目是否可行。解析成本效益分析首先是估算將要開發的系統的開發成本,然后與可能取得的效益進行比較和權衡,其目的是從經濟角度評價開發一個新的軟件項目是否可行。23自頂向下結合的漸增式測試法,在組合模塊時有兩種組合策略:深度優先策略和(寬度優先策略) 。解析漸增式測試法有自頂向下結合和自底向上結合兩種組裝模塊的方法,其中自頂向下集成是構造程序結構的一種增量式方式,不需要

23、編寫驅動模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結構,以深度優先或寬度優先的策略,逐步把各個模塊集成在一起。24獨立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條(在其他獨立路徑中未有過)的邊的路徑。解析在基本路徑測試中,以詳細設計或源程序為基礎,導出控制流程圖的拓撲結構程序圖,在計算了程序圖的環路復雜性之后,確定只包含獨立路徑的基本路徑圖,其中獨立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨立路徑是至少包含有一條在其他獨立路徑中未有過的邊的路徑。25匯編語言是面向(機器) 的,可以完成高級語言無法完

24、成的特殊功能,如與外部設備之間的一些接口工作。解析匯編語言屬于低級語言,是一種面向機器的語言,它與高級語言相比有許多優越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設備的接口工作等,是能夠利用計算機硬件特性直接控制硬件設備的唯一語言。26在JSP方法中解決結構沖突的具體辦法是(中間數據結構或中間文件)。解析JSP方法是面向數據結構的設計方法。它定義了一組以數據結構為指導的映射過程,根據輸入、輸出的數據結構,按一定的規則映射成軟件的過程描述,在JSP方法中解決結構沖突的具體辦法是引入中間數據結構或中間文件,將沖突部分分隔開來,建立多個程序結構,再利用中間文件把它們聯系起來,構成一個系統

25、的整體。27詳細設計的任務是確定每個模塊的內部特性,即模塊的算法、(使用的數據)。解析詳細設計的基本任務是為每個模塊進行詳細的算法設計,為模塊內的數據結構進行設計,確定每個模塊的內部特性,包括模塊的算法和使用的數據。對數據庫進行物理設計等。28所有軟件維護申請報告要按規定方式提出,該報告也稱( 軟件問題)報告。解析在軟件維護的流程中,第一步就是制定維護申請報告,也稱為軟件問題報告,它是維護階段的一種文檔,由申請維護的用戶填寫。29有兩類維護技術:在開發階段使用來減少錯誤、提高軟件可維護性的面向維護的技術;在維護階段用來提高維護的效率和質量的(維護支援)技術。解析面向維護的技術涉及軟件開發的所有

26、階段,能夠減少軟件錯誤,提高軟件的可維護性。而維護支援技術則包含信息收集,錯誤原因分析,維護方案評價等項,是在軟件維護階段用來提高維護效率和質量的技術。30科學工程計算需要大量的標準庫函數,以便處理復雜的數值計算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。 解析計算機語言根據不同行業的需求,使用的側重點也不盡相同,在辦公管理方面,一些數據庫語言如FOXPRO、ORICAL有很多的應用,在工程行業,計算機語言的科學計算能力就顯得格外重要,如MATLAB、PL/1、FORTRAN語言都是工程計算中常用的語言。三,名詞解釋(本大題共5小題,每小題3分,共15分

27、)31經濟可行性解:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資開發。32社會可行性解:要開發的項目是否存在任何侵犯、妨礙等責任問題,要開發項目目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質、操作方式是否可行。33投資回收期解:投資回收期就是使累計的經濟效益等于最初的投資費用所需的時間。34對應關系解:即有直接因果關系在程序中可以同時處理。35結構沖突解:輸入數據與輸出數據結構找不到對應關系的情況,稱為結構沖突。四,簡答題(本大題共4小題,每小題5分,共20分)36可行性研究報告的主要內容有哪些?解:一個可行性研究報告的主要內容如下: (1)引言:說明編寫

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

29、議系統的各種支出,各種效益;收益投資比;投資回收周期。 (6)社會因素可行性分析:說明法律因素,對合同責任、侵犯專利權、侵犯版權等問題的分析;說明用戶使用可行性,是否滿足用戶行政管理、工作制度、人員素質的要求。 (7)其他可供選擇方案:逐一說明其他可供選擇的方案,并說明未被推薦的理由。 (8)結論意見:說明項目是否能開發;還需要什么條件才能開發;對項目目標有什么變動等。解析做軟件的可行性研究的目的就是用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發,是否值得去開發,其中的問題能否解決,報告共分為八個基本內容。37系統設計的內容是什么?解:系統設計階段先從高層入手,然后細化。系統設計要決

30、定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。 (1)系統分解。系統中主要的組成部分稱為子系統,子系統既不是一個對象也不是一個功能,而是類、關聯、操作、時間和約束的集合。每次分解的各子系統數目不能太多,最底層子系統稱為模塊。 (2)確定并發性。分析模型、現實世界及硬件中不少對象均是并發的。系統設計的一個重要目標就是確定哪些是必須同時動作的對象,哪些不是同時動作的對象。后者可以放在一起,而綜合成單個控制線或任務。 (3)處理器及任務分配。各并發子系統必須分配給單個硬件單元,要么是一個一般的處理器,要么是一個具體的功能單元,必須完成下面的工作:估計性能要求和資源需求,選擇實

31、現子系統的硬軟件,將軟件子系統分配給各處理器以滿足性能要求和極小化處理器之間的通信,決定實現各子系統的各物理單元的連接。 (4)數據存儲管理。系統中的內部數據和外部數據的存儲管理是一項重要的任務。通常各數據存儲可以將數據結構、文件、數據庫組合在一起,不同數據存儲要在費用、訪問時間、容量以及可靠性之間做折中考慮。 (5)全局資源的處理。必須確定全局資源,并且制定訪問全局資源的策略。全局資源包括:物理資源,如處理器、驅動器等;空間,如盤空間、工作站屏等;邏輯名字,如對象標識符、類名、文件名等。 如果資源是物理對象,則可以通過建立協議實現對并發系統的訪問,以達到自身控制;如果資源是邏輯實體,如對象標

32、識符,那么在共享環境中有沖突訪問的可能,如獨立的事務可能同時使用同一個對象標識符,則各個全局資源都必須有一個保護對象,由保護對象來控制對該資源的訪問。 (6)選擇軟件控制機制。分析模型中所有交互行為都表示為對象之間的事件。系統設計必須從多種方法中選擇某種方法來實現軟件的控制。 (7)人機交互接口設計。設計中的大部分工作都與穩定的狀態行為有關,但必須考慮用戶使用系統的交互接口。38什么是軟件危機?軟件危機的表現是什么?其產生的原因是什么?解:軟件發展第二階段的末期,由于計算機硬件技術的進步,計算機運行速度、容量、可靠性有顯著的提高,生產成本顯著下降,這為計算機的廣泛應用創造了條件。一些復雜的、大

33、型的軟件開發項目提出來了,但是,軟件開發技術的進步一直未能滿足發展的需要。在軟件開發中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導致了軟件危機。 軟件危機表現在以下四個方面: (1)經費預算經常突破,完成時間一再拖延。由于缺乏軟件開發的經驗和軟件開發數據的積累,使得開發工作的計劃很難制定。主觀盲目制定計劃,執行起來與實際情況有很大差距,使得開發經費一再突破。由于對工作量估計不足,對開發難度估計不足,進度計劃無法按時完成,開發時間一再拖延。 (2)開發的軟件不能滿足用戶要求。開發初期對用戶的要求了解不夠明確,未能得到明確的表達。開發工作開始后,軟件人員和用戶又未能及時交換意

34、見,使得一些問題不能及時解決,導致開發的軟件不能滿足用戶的要求,因而導致開發失敗。 (3)開發的軟件可維護性差。開發過程中沒有同意的、公認的規范,軟件開發人員按各自的風格工作,各行其是,開發過程無完整、規范的文檔,發現問題后進行雜亂無章的修改。程序結構不好,運行時發現錯誤也很難修改,導致維護性差。 (4)開發的軟件可靠性差。由于在開發過程中,沒有確保軟件質量的體系和措施,在軟件測試時,又沒有嚴格的、充分的、完全的測試,提交給用戶的軟件質量差,在運行中暴露出大量的問題。 造成軟件危機的原因是: (1)軟件的規模越來越大,結構越來越復雜。(2)軟件開發管理困難而復雜。(3)軟件開發費用不斷增加。(

35、4)軟件開發技術落后。(5)生產方式落后。6)開發工具落后,生產率提高緩慢。39軟件質量保證應做好哪幾方面的工作?解:軟件質量保證是軟件工程管理的重要內容,軟件質量保證應做好以下幾方面的工作: (1)采用技術手段和工具。質量保證活動要貫徹開發過程始終,必須采用技術手段和工具,尤其是使用軟件開發環境來進行軟件開發。 (2)組織正式技術評審。在軟件開發的每一個階段結束時,都要組織正式的技術評審。國家標準要求單位必須采用審查、文檔評審、設計評審、審計和測試等具體手段來保證質量。 (3)加強軟件測試。軟件測試是質量保證的重要手段,因為測試可發現軟件中大多數潛在錯誤。 (4)推行軟件工程規范(標準)。用戶可以自己制定軟件工程規范(標準),但標準一旦確認就應貫徹執行。 (5)對軟件的變更進行控制。軟件的修改和變更常常會引起潛伏的錯誤,因

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論