軟體危機出現的原因

2022-08-29 13:12:07 字數 5117 閱讀 4217

1.軟體危機出現的原因:軟體維護費用的急劇上公升,直接威脅計算機應用的擴大;軟體生產技術進步緩慢,是加劇軟體危機的重要原因

2軟體的特徵:軟體的開發不同於硬體設計、不同於硬體製造、不同於硬體維修

3軟體危機:開發軟體需高成本和產品的低質量之間有著尖銳的矛盾

4軟體維護有哪些種類?他們的目標分別是什麼?軟體維護的種類以及對應目標依次是:

完善性維護:在軟體漫長的執行時期中,使用者往往會對軟體提出新的功能要求與效能要求。為了適應這些變化,應用軟體原來的功能和效能需要擴充和增強。

這種增加軟體功能、增強軟體效能、提高軟體執行效率而進行的維護活動稱為完善性維護。適應性維護讓軟體適應執行環境的改變而進行的一種維護。糾錯性維護糾正在開發期間未能發現的遺留錯誤。

預防性維護為了提高軟體的可維護性和可靠性而對軟體進行的修改稱為預防性維護。

5軟體重用的效益是什麼?答:1軟體重用可以顯著地改善軟體的質量和可靠性。

2軟體重用可以極大地提高軟體開發的效率。3節省軟體開發的成本,避免不必要的重複勞動和人力、財力的浪費。

6自頂而下漸增測試與自底而上漸增測試各有何優、缺點?答:①自頂而下漸增測試優點:

不需要測試驅動程式,能夠在測試階段的早期實現並驗證系統的主要功能,而且能夠盡早發現上層模組的介面錯誤。缺點:需要存根程式,底層錯誤發現較晚。

②自底而上漸增測試優點與缺點和自頂而下漸增測試相反。

7提高可維護性的方法有哪些?答:在軟體工程的每一階段都應該努力提高系統的可維護性,在每個階段結束前的審查和複審中,應著重對可維護性進行複審。

a在需求分析階段的複審中,應對將來要擴充和修改的部分加以註明。在討論軟體可移植性問題時,要考慮可能要影響軟體維護的系統介面。b在軟體設計的複審中,因從便於修改、模組化和功能獨立的目標出發,評價軟體的結構和過程,還應對將來可能修改的部分預先做準備。

c在軟體**複審中,應強調編碼風格和內部說明這兩個影響可維護性的因素。d在軟體系統交付使用前的每一測試步驟中都應給出需要進行預防性維護部分的提示。e在完成每項維護工作後,都應對軟體維護本身進行仔細認真的複審。

f為了從根本上提高軟體系統的可維護性,人們正試圖通過直接維護軟體規格說明來維護軟體 ,同時也在大力發展軟體重用技術。

8軟體分析的目標是什麼?包含哪些內容?軟體分析的目標是將軟體需求階段產生的需求模型轉變為軟體分析模型。

包含的任務:1理解使用者的需求包含全面理解和分析使用者分析,明確所開發的軟體系統職責,形成文化並規範的加以表述,然後進行分析提取類和物件,並結合分析進行建模。其基本步驟為:

標誌類、定義屬性和方法、刻畫類的層次。表示物件以及物件與物件之間的關係,為物件的行為建模以上步驟可以進行反覆直至完成建模。

9簡述軟體測試要經過哪幾個步驟,每個步驟與什麼文件有關解答:測試過程按4個步驟進行,即單元測試、整合測試、確認測試、和平行執行。2單元測試集中對用源**實現的每乙個程式單元進行測試,與其相關的文件是單元測試計畫和詳細設計說明書。

3整合測試把已測試過的模組組裝起來,主要對與設計相關的軟體體系結構的構造進行測試。與其相關的文件是整合測試計畫和軟體需求說明書。4確認測試則是要檢查已實現的軟體是否滿足了需求規格說明中確定了的各種需求,以及軟體配置是否完全、正確。

與其相關的文件是確認測試計畫和軟體需求說明書。5平行執行把已經經過確認的軟體納入實際執行環境中,與其他系統成份組合在一起進行測試。與其相關的文件:

使用者指南、使用手冊等。

10請說明軟體文件的作用?軟體開發專案生存期各階段都包含哪些文件?軟體文件的作用是:

提高軟體開發過程的能見度;提高開發效率;作為開發人員階段工作成果和結束標誌;記錄開發過程的有關資訊便於使用與維護;提供軟體執行、維護和培訓有關資料;便於使用者了解軟體功能、效能。軟體開發專案生存期各階段應包括得文件以及與各類人員的關係如下:可行性研究報告、專案開發計畫、軟體需求說明書、資料要求說明書、測試計畫、概要設計說明書、詳細設計說明書、使用者手冊、操作手冊、測試分析報告、開發進度月報、專案開發總結、程式維護手冊。

11什麼是資料字典?其作用是什麼?它有哪些條目?

資料字典是用來定義資料流圖中的各個成分的具體含義的,它以一種準確的、無二義性的說明方式為系統的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。他和資料流圖共同構成了系統的邏輯模型,是需求規格說明書的主要組成部分。資料字典是為分析人員查詢資料流圖中有關名字的詳細定義而服務的,因此也像普通字典一樣,要把所有條目按一定的次序排列起來,以便查閱。

資料字典有以下四類條目:資料流、資料項、資料儲存、基本加工。資料項是組成資料流和資料儲存的最小元素。

源點、終點不在系統之內,故一般不在字典中說明。

12採用黑盒技術設計測試用例有哪幾種方法?這些方法各有什麼特點?1等價類劃分。

等價類劃分是將輸入資料域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等於對該類其它值的測試。2邊界值分析。該方法是將測試邊界情況作為重點目標,選取正好等於,剛剛大於或剛剛小於邊界值的情況,根據這些情況選擇測試用例。

3錯誤推測。錯誤推測法沒有確定的步驟,憑檢驗進行。它的基本思想是列出程式中可能發生錯誤的情況,根據這些情況選擇測試用例。

4因果圖。因果圖能有效的檢測輸入條件的各種組合可能會引起的錯誤。因果圖的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉換為判定表,最後為判定表的每一列設計乙個測試用例。

13何謂軟體生存週期?其可以劃分為幾個時期?每個時期又可分為幾個階段?

每個階段的主要任務是什麼?乙個軟體從定義到開發、使用和維護,直到最終被棄用,要經歷乙個漫長的時期,通常把軟體經歷的這個漫長的時期稱為生存週期。軟體生存期也可以分為三個時期:

計畫時期、開發時期和執行時期。軟體生存週期一般可分為以下幾個階段:1問題定義:

問題定義階段必須回答的關鍵問題是「要解決的問題是什麼?」2可行性研究:這個階段要回答的關鍵問題是:

對於上乙個階段所確定的問題「有行得通的解決辦法嗎?」,可行性研究階段應該匯出系統的高層邏輯模型,準確地估計系統的成本和效益。3需求分析需求分析階段的任務,主要是確定目標系統必須具備的功能,得出經使用者確認的系統邏輯模型。

4總體設計:必須回答的是「概括地說,應該如何解決這個問題」。總體設計的目標是將需求分析階段定義的系統模型轉換成相應的軟體結構,以規定軟體的形態及各成分間的層次關係、介面及介面要求。

5詳細設計:詳細設計階段的任務是把解法具體化,理解「應該怎樣具體地實現這個系統」。詳細設計亦即模組設計。

它是在演算法設計和結構設計的基礎上,針對每個模組的功能、介面和演算法定義,設計模組內部的演算法過程及程式的邏輯結構,並編寫模組設計說明。6編碼:任務,是根據詳細設計的結果,選擇一種適合的程式語言,把詳細設計的結果翻譯成程式的源**。

7測試:以便盡早發現程式中的錯誤和缺陷而進行的乙個過程,有單元測試、整合測試、確認測試和系統測試4種。8執行與維護:

通過各種必要的維護措施支援軟體系統能持久地滿足使用者的需要。

14如何做好軟體質量保證工作?

軟體質量保證工作是軟體工程管理的重要內容,軟體質量保證應做好以下幾個方面的工作:<1>採用技術手段和工具。質量保證活動要貫徹開發過程始終,必須從採用技術手段和工具,尤其是使用軟體開發環境來進行軟體開發。

<2>組織正式技術評審,在軟體開發的第乙個階段結束時,都要組織正式的技術評審。國家標準要求單位必須採用審查、文件評審、設計評審、審計和測試等具體手段來保證質量。<3>加強軟體測試。

軟體測試是質量保證的重要手段,因為測試可發現軟體可發現軟體中大多數潛在錯誤。<4>推選軟體工程規範。使用者可以自己指定軟體工程規範,但標準一旦確認就應貫徹執行。

<5>對軟體的變更進行控制。軟體的修改和變更常常會引起潛伏的錯誤,因此必須嚴格控制軟體的修改和變更。<6>對軟體質量進行度量。

即對軟體質量進行跟蹤,及時記錄和報告軟體質量情況。

15什麼是物件導向分析,其主要思想是?

物件導向分析是乙個系統的開發過程中進行系統業務調查以後,按照物件導向的思想來分析問題。主要思想:物件導向分析利用物件導向的技術來分析過程建立問題域的靜態模型和動態模型,通過理解問題,抽取類物件屬性和操作。

確定物件間的結構關係分析物件的狀態變化以及物件的訊息往來並用uml等工具來表示這一需求,對應的類/物件模型,物件關係模型物件行為模型等,來完成問題空間模型形成物件導向的分析模型。

選擇:1常用耦合和內聚這兩個定性度量標準來評定模組的獨立性。

2結構化設計方法以資料流圖為基礎,按一定步驟對映成軟體結構,資料流圖有兩種基本結構:變換型結構和事務流型結構。

3軟體的定義可以簡單的表述為:軟體=程式+文件

4測試技術有黑盒測試和白盒測試兩種,根據程式的功能來設計測試用例,這種方法稱為黑盒測試。

5在物件導向的系統設計過程中,有4種主要的設計元件必須定義,它們是領域元件、人機互動元件、任務管理元件和資料管理元件。

6統一建模語言是物件導向軟體工程所使用的一種建模工具,其英文縮寫是uml

7軟體結構的深度、寬度、扇人、扇出四個特徵,定義了軟體結構的形態。扇出是指乙個模組直接呼叫的下屬模組的數目。

8軟體維護的內容包括糾錯性維護,適應性維護、完善性維護和預防性維護。

9向乙個已經拖期的專案追加開發人員,可能使它完成得更晚。鑑於這一發現的重要性,許多文獻稱之為brooks定律。

10在uml的圖形符號中,虛線箭頭表示的是兩個元素之間的依賴關係。

11軟體的測試可以分為4個步驟,主要包括單元測試、整合測試、確認測試和系統測試。

12在軟體的開發過程中,必須遵循的原則是抽象、資訊隱蔽和模組化。

13為使軟體適應執行環境的改變而進行的一類維護稱之為適應性維護。

14在結構化分析中,資料字典用於詳細地定義資料流圖中的成分。

15耦合性和內聚性是衡量模組獨立性的兩個定性的標準。

16結構化程式設計是一種程式設計技術,它採用自頂向下、逐步求精的設計方法和順序、選擇、迴圈三種基本控制結構構造常態程式。

17結構化分析方法中,資料流圖的四種基本成分為:處理、源點或終點資料儲存和資料流。

18從模組內外的聯絡來看,結構化設計的要求是高內聚低耦合。

19在需求分析中,可從有關問題的簡述中提取組成資料流圖的基本成分。通常問題簡述中的動詞短語將成為資料流圖中的處理成分。

20如果兩模組間的通訊資訊是若干個引數,而每個引數是單一的資料項,則稱這種耦合性為資料耦合。

21模組內部的演算法設計在結構化方法的詳細設計階段進行。

22定性度量模組獨立性的兩個標準是內聚性和耦合性。

23在模組結構圖中,直接呼叫某一模組的其他模組數稱為該模組的扇入數。

軟體可行性研究:經濟可行性、技術可行性、執行可行性、法律可行性。可行性研究的步驟:

軟體風險分析包括:風險識別(專案風險、技術風險、商業風險)、風險**、風險的駕馭和監控。

分析新手常出現虧損的原因

交易本來就是九死一生的遊戲,作為新手還是低調一點好好學習為好,整天在這裡高喊自己交易有多賺錢,這種人是絕對在年底見不到的.1.重倉死亡法.這將是死得最快的那批人常見的方法,交易本來就是用風險換收益的遊戲,你想得到多大的收益就需要首先做好多大虧損的心理準備,但最近整天在這裡高喊重倉,滿倉的人根本沒有做...

振搗出現孔洞原因分析

一 工程實際問題 混凝土澆築後,採用振動棒進行振搗時,振動棒拔出後,在原振動棒拔出位置會留下乙個孔洞,繼續振搗該空洞旁邊部位,小孔洞就會密實,但會留下新的孔洞。這種情況在工程上很少見。二 原因分析 1 混凝土坍落度過小,或因為模板表面乾燥,吸水過快導致混凝土較幹,造成孔洞的出現 2 混凝土的稠度過大...

挽回愛情 婚姻出現危機怎麼辦

當婚姻出現危機後,很多人常常不知所措或用錯誤的方式去處理危機,結果不是耽誤了就是錯過了挽回愛情的最佳時機。那麼,怎樣的處理方法才能有效地將婚姻危機扼殺在搖籃裡?以下羅列的幾點,能對你在處理婚姻危機上有所幫助。1.期待解決婚姻危機的一方,不要認為自己太委屈。對於女性求助者來說,或多或少會有這樣的想法和...