計算機二級高級office選擇題干貨整理(四)——軟件工程基礎

1、軟件開發階段包括需求分析、總體設計、詳細設計、編碼和測試五個階段。其中需求分析階段常用的工具是數據流圖和數據字典

2、軟件的需求分析階段的工作,可以概括為四個方面:需求獲取、需求分析、編寫需求規格說明書和需求評審。

需求獲取的目的是確定對目標系統的各方面需求。涉及到的主要任務是建立獲取用戶需求的方法框架,并支持和監控需求獲取的過程。

需求分析是對獲取的需求進行分析和綜合,最終給出系統的解決方案和目標系統的邏輯模型。

編寫需求規格說明書作為需求分析的階段成果,可以為用戶、分析人員和設計人員之間的交流提供方便,可以直接支持目標軟件系統的確認,又可以作為控制軟件開發進程的依據。

需求評審是對需求分析階段的工作進行復審,驗證需求文檔的一致性、可行性、完整性和有效性。

3、常見的需求分析方法有:結構化分析方法和面向對象的分析方法。結構化分析的常用工具有:數據流圖(DFD)、數據字典(DD)、判定樹和判定表等

4、需求分析是軟件定義時期的最后一個階段,它的基本任務就是詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統的工作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。選項A)軟件開發方法是在總體設計階段完成的任務;選項B)軟件開發工具是在實現階段需完成的任務;選項C)軟件開發費用是在可行性研究階段需完成的任務。

5、軟件需求規格說明書(SRS,Software Requirement Specification)是需求分析階段的最后成果,是軟件開發中的重要文檔之一。它有以下幾個方面的作用:① 便于用戶、開發人員進行理解和交流;② 反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據;③ 作為確認測試和驗收的依據。

6、軟件需求規格說明書是需求分析階段產生的主要文檔,可以為用戶、分析人員和設計人員之間的交流提供方便,可以直接支持目標軟件系統的確認,又可以作為控制開發軟件進程的依據。

7、軟件需求規格說明書的作用:

1.便于用戶和開發人員進行理解和交流。

2.反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據。

3.作為確認測試和驗收的依據。

8、結構化分析的常用工具有數據流圖、數據字典、判定樹和判定表。而PAD圖是常見的過程設計工具中的圖形設計。

9、軟件設計一般分為總體設計和詳細設計兩個階段,總體設計的任務是確定軟件的總體結構,子系統和模塊的劃分,并確定模塊間的接口和評價模塊劃分質量,以及進行數據分析。詳細設計的任務是確定每一模塊實現的定義,包括數據結構、算法和接口。

10、軟件設計包括軟件結構設計、數據設計、接口設計和過程設計。其中結構設計是定義軟件系統各主要部件之間的關系;數據設計是將分析時創建的模型轉化為數據結構的定義;接口設計是描述軟件內部、軟件和操作系統之間及軟件與人之間如何通信;過程設計則是把系統結構部件轉換成軟件的過程性描述。

11、軟件工程包括3個要素,即方法、工具和過程。

12、軟件設計工具包括:程序流程圖、N-S、PAD、HIPO,判定表,PDL(偽碼)。

13、程序流程圖(PFD)通常也稱為程序框圖,是一種傳統的、應用廣泛的軟件過程設計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流,矩形表示加工步驟,菱形表示邏輯條件。

14、數據流相當于一條管道,并有一級數據(信息)流經它。在數據流圖中,用標有名字的箭頭表示數據流。數據流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實體流向系統或從系統流向外部實體。

15、確認測試的任務是驗證軟件的功能和性能及其他特性是否滿足了需求規格說明中的確定的各種需求,以及軟件配置是否完全、正確。

16、總體設計過程通常由兩個主要階段組成:系統設計,確定系統的具體實現方案;結構設計,確定軟件結構。

為確定軟件結構,首先需要從實現角度把復雜的功能進一步分解。分析員結合算法描述仔細分析數據流圖中的每個處理,如果一個處理的功能過分復雜,必須把它的功能適當地分解成一系列比較簡單的功能。

17、調試的關鍵在于推斷程序內部的錯誤位置及原因。主要的調試方法有強行排錯法、回溯法和原因排除法

18、視圖設計一般有3種設計次序,它們分別是自頂向下、自底向上和由內向外,它們又為視圖設計提供了具體的操作方法,設計者可根據實際情況靈活掌握,可以單獨使用也可混合使用。

19、常見的過程設計工具有:程序流程圖、N-S圖、PAD圖和HIPO圖。其中,為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為N-S圖。

20、通常,將軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發及軟件運行維護三個階段。

21、軟件的白盒測試方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。

?白盒測試從檢查程序的邏輯著手,可以把白盒測試理解為"內行人"進行軟件測試。邏輯覆蓋是泛指一系列以程序內部的邏輯結構為基礎的測試用例技術,程序中的邏輯表示有判斷、分支、選擇等。

22、黑盒測試方法也稱為功能測試或數據驅動測試。黑盒測試是對軟件已經實現的功能是否滿足需求進行測試和驗證。黑盒測試完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求和功能規格說明,檢查程序的功能是否符合它的功能說明。

黑盒測試方法主要有:等價類劃分法、邊界值分析法、錯誤推測法、因果圖等,主要用于軟件確認測試。

23、關于軟件測試的目的,Grenford J.Myers在《The Art of Software Testing》一書中給出了深刻的闡述:軟件測試是為了發現錯誤而執行程序的過程;一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例;一個成功的測試是發現了至今尚未發現的錯誤的測試。整體來說,軟件測試的目的就是盡可能多地發現程序中的錯誤。

24、模塊獨立性是指每個模塊只完成系統要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單。耦合性與內聚性是模塊獨立性的兩個定性標準,耦合與內聚是相互關聯的。在程序結構中,各模塊的內聚性越強,則耦合性越弱。一般較優秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。

25、計算機軟件是計算機系統中與硬件相互依存的另一部分,是包括程序、數據及相關文檔的完整集合。

26、軟件具有以下特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性;②軟件的生產過程與硬件不同,它沒有明顯的制作過程;③軟件在運行、使用期間不存在磨損、老化問題;④軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致軟件移植的問題;⑤軟件復雜性高,成本昂貴;⑥軟件開發涉及諸多的社會因素。

27、程序調試的任務是診斷和改正程序中的錯誤,改正以后還需要再測試。程序調試的任務是診斷和改正程序中的錯誤。它與軟件測試不同,軟件測試是盡可能多地發現軟件中的錯誤。先要發現軟件的錯誤,然后借助于一定的調試工具去找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,調試主要在開發階段。

28、為了達到更好的測試效果,應該由獨立的第三方來構造測試。因為從心理學角度講,程序人員或設計方在測試自己的程序時,要采取客觀的態度是程度不同地存在障礙的。軟件的運行和維護是指將已交付的軟件投入運行,并在運行使用中不斷地維護,根據新提出的需求進行必要而且可能的擴充和刪改。

29、程序調試的任務是診斷和改正程序中的錯誤。程序調試的基本步驟:①錯誤定位。②修改設計和代碼,以排除錯誤。③進行回歸測試,防止引進新的錯誤。

30、軟件工程是計算機軟件開發和維護的工程學科,它采用工程的概念原理、技術和方法來開發和維護軟件,它把經過時間考驗而證明正確的管理技術和當前能夠得到的最好技術結合起來。

31、軟件的運行和維護是指將已交付的軟件投入運行,并在運行使用中不斷地維護,根據新提出的需求進行必要而且可能的擴充和刪改。而軟件生命周期是指軟件產品從提出、實現、使用維護到停止使用退役的過程

32、20世紀70年代以來,提出了許多軟件設計方法,主要有

(1)逐步求精:對復雜的問題,應設計一些子目標作過渡,逐步細化

(2)自頂向下:程序設計時應先考慮總體,后考慮細節;先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節,先從最上層總目標開始設計,逐步使問題具體化

(3)模塊化:一個復雜問題,肯定是由若干稍簡單的問題構成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊,而可復用是面向對象程序設計的一個優點。

33、從工程管理角度看,軟件設計分為兩步完成:概要設計與詳細設計。概要設計(又稱結構設計)將軟件需求轉化為軟件體系結構、確定系統級接口、全局數據結構或數據庫模式;詳細設計確立每個模塊的實現算法和局部數據結構,用適當方法表示算法和數據結構的細節。

34、軟件生命周期分為軟件定義、軟件開發及軟件維護。其中軟件開發階段的任務中軟件設計階段可分解成概要設計階段和詳細設計階段;軟件維護不屬于軟件開發階段。

35、軟件開發階段包括需求分析、總體設計、詳細設計、編碼和測試5個階段。其中需求分析階段常用的工具是數據流圖(簡稱DFD)和數據字典(簡稱DD)。常見的詳細設計的圖形描述工具主要有程序流程圖、N-S結構圖、問題分析圖(簡稱PAD圖)。

36、可行性研究和計劃制定,其目的在于確定待開發軟件系統的開發目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發任務的實施計劃,因此不屬于開發階段。

37、1983年IEEE將軟件測試定義為:使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。因此選項A的敘述是錯誤的。

38、軟件測試的基本準則為:①所有測試都應追溯到需求。②嚴格執行測試計劃,排除測試的隨意性。③充分注意測試中的群集現象。④程序員應避免檢查自己的程序。⑤窮舉測試不可能。⑥妥善保存測試計劃、測試用例、出錯統計和最終分析報告,為維護提供方便。因此選項D正確。

? 在對程序進行了成功的測試之后將進入程序調試(通常稱Debug,即排錯)。

39、軟件測試過程一般按4個步驟進行,即單元測試、集成測試、驗收測試(確認測試)和系統測試

40、單元測試是對軟件設計的最小單位-----模塊(程序單元)進行正確性檢驗的測試。單元測試的目的是發現各模塊內部可能存在的各種錯誤。單元測試的依據是詳細設計說明書和源程序。

41、軟件測試是保證軟件質量的重要手段,其主要過程涵蓋了整個軟件生命期的過程。

軟件測試的目的:

1)軟件測試是為了發現錯誤而執行程序的過程;

2)一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例;

3)一個成功的測試是發現了至今尚未發現的錯誤的測試。

42、軟件測試的準則:

1)所有的測試都應追溯到需求;

2)嚴格執行測試計劃,排除測試的隨意性;

3)充分注意測試中的群集現象;

4)程序員應避免檢查自己的程序;

5)窮舉測試不可能;

6)妥善保存測試計劃、測試用例、出錯統計和最終分析報告,為維護提供方便。

43、軟件按功能可以分為:應用軟件、系統軟件、支撐軟件(或工具軟件)。

應用軟件是為解決特定領域的應用而開發的軟件。例如,事務處理軟件,工程與科學計算軟件,實時處理軟件,嵌入式軟件,人工智能軟件等應用性質不同的各種軟件。

系統軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件。如操作系統,編譯程序,匯編程序,網絡軟件,數據庫管理系統等

44、在軟件開發和維護過程中,軟件危機主要表現在:

? ?①軟件需求的增長得不到滿足。用戶對系統不滿意的情況經常發生。

? ?②軟件開發成本和進度無法控制。開發成本超出預算,開發周期大大超過規定日期的情況經常發生。

? ?③軟件質量難以保證。

? ?④軟件不可維護或維護程度非常低。

? ?⑤軟件的成本不斷提高。

? ?⑥軟件開發生產率的提高趕不上硬件的發展和應用需求的增長。

總之,可以將軟件危機歸結為成本、質量、生產率等問題。

45、為了消除軟件危機,通過認真研究解決軟件危機的方法,認識到軟件工程是使計算機軟件走向工程科學的途徑,逐步形成了軟件工程的概念,開辟了工程學的新興領域-軟件工程學。軟件工程就是試圖用工程、科學和數學的原理與方法研制、維護計算機軟件的有關技術及管理方法。

46、軟件生命周期的主要活動階段為:

? ?(1)可行性研究和計劃制定。確定待開發軟件系統的開發目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發任務的實施計劃。

? ?(2)需求分析。對待開發軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統的功能。編寫軟件規格說明書及初步的用戶手冊,提交評審。

? ?(3)軟件設計。系統設計人員和程序設計人員應該在反復理解軟件需求的基礎上,給出軟件的結構、模塊的劃分、功能的分配以及處理流程。在系統比較復雜的情況下,設計階段可分解成概要設計階段和詳細設計階段。編寫概要設計說明書、詳細設計說明書和測試設計初稿,提交評審。

? ?(4)軟件實現。把軟件設計轉換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。

? ?(5)軟件測試。在設計測試用例的基礎上,檢驗軟件的各個組成部分。編寫測試分析報告。

(6)運行和維護。將已交付的軟件投入運行,并在運行使用中不斷地維護,根據新提出的需求進行必要而且可能的擴充和刪改。

軟件設計階段任務:設計軟件系統結構、數據結構及數據庫設計、編寫概要設計文檔、概要設計文檔評審。其中,在數據結構及數據庫設計任務中,需要結合算法設計,確定算法所必需的邏輯數據結構及其操作。

47、概要設計使用的工具是系統結構圖。

48、詳細設計使用的工具主要有:程序流程圖,N-S圖,PAD,HIPO。

結構化分析的常用工具有:數據流圖(DFD)、數據字典(DD)、判定樹和判定表等。

49、數據字典(Data Dictionary,簡稱DD)就是用來定義數據流圖中的各個成分的具體含義的,它以一種準確的、無二義性的說明方式為系統的分析、設計及維護提供了有關元素的一致的定義和詳細的描述。它和數據流圖共同構成了系統的邏輯模型,是需求規格說明書的主要組成部分。

50、軟件設計階段任務:設計軟件系統結構、數據結構及數據庫設計、編寫概要設計文檔、概要設計文檔評審。

其中,在數據結構及數據庫設計任務中,需要結合算法設計,確定算法所必需的邏輯數據結構及其操作。

51、結構圖是描述軟件結構的圖形工具,模塊用矩形表示,模塊的扇出是指模塊直接調用的下級模塊的個數,模塊的扇入是指模塊受了多少個直接上級模塊的調用。扇出和扇入的最大值稱為最大扇數。

52、結構圖的深度表示控制的層數。同一層上所有結點的所有子結點都在下一層,該系統結構共三層,系統深度就為3。

53、扇入,是直接調用該模塊的上級模塊的個數,扇入的大小代表著該模塊被調用的頻繁度,扇入越大表明該模塊使用度高,扇入小表明該模塊被調用的機率低

54、軟件的寬度是指軟件結構同一層次上模塊的總個數的最大值。

55、關于軟件工程的定義,國標(GB)中指出,軟件工程是應用于計算機軟件的定義、開發和維護的一整套方法、工具、文檔、實踐標準和工序

56、軟件工程包括3個要素,即方法、工具和過程

57、軟件工程從根本上來說,其目的是研究軟件的開發技術

58、軟件根據應用目標的不同,是多種多樣的。軟件按照功能可以分為:應用軟件、系統軟件、支撐軟件(工具軟件)。應用軟件是為解決特定領域的應用而開發的軟件。如:數據庫管理系統、財務管理系統,所以選項B、C錯誤;系統軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件。如:操作系統,所以選項D錯誤;支撐軟件是介于系統軟件和應用之間,協助用戶開發軟件的工具性軟件,包括輔助和支持開發和維護應用軟件的工具軟件,如需求分析工具軟件,設計工具軟件,編碼工具軟件,測試工具軟件,維護工具軟件等,也包括輔助管理人員控制開發進程和項目管理的工具軟件。

59、系統設計人員和程序設計人員應該在反復理解軟件需求的基礎上,給出軟件的結構、模塊的劃分、功能的分配以及處理流程。在系統比較復雜的情況下,設計階段可分解成概要設計階段和詳細設計階段。編寫概要設計說明書、詳細設計說明書和測試計劃初稿,提交評審。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、算法的概念 (1)概念:是指解題方案的準確而完整的描述。 【考題1】在計算機中,算法是指() A查詢方法B加工...
    成都小菜閱讀 1,648評論 0 15
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,810評論 25 708
  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,214評論 2 126
  • 《同題詩.鹿回頭》 文\玙璠 別笑我迷信, 你可以不信輪回, 但我信。 若有來生,我也許就是一頭鹿, 生活在靜謐的...
    玙璠吶閱讀 397評論 0 0
  • “人最值錢的就是知道自己幾斤幾兩,沒個分量你往大秤上站站試試?那個秤砣動都不動。” 姥姥說:“天黑了,誰能拉著太陽...
    糯米好吃閱讀 330評論 0 0