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

軟件工程復習資料

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

第一篇:軟件工程復習資料

1.軟件是(程序及其文檔)。

2.從事物的組成部件及每個部件的屬性、功能來認識事物。這種方法被稱為(面向對象)的方法。

3.程序的三種基本控制結構是(順序、選擇和重復)。

4.根據用戶在軟件使用過程中提出的建設性意見而進行的維護活動稱為(改善性維護)。

5.面向對象的分析方法主要是建立三類模型,即(對象模型、動態模型、功能模型)。

6.可行性研究的步驟中不包括的內容是(導出新系統高層邏輯模型)。7.軟件測試的目標是(發現錯誤、降低錯誤帶來的風險)。8.將軟件組裝成系統的一種測試技術叫(集成測試)。

9.技術可行性是可行性研究的關鍵,其主要內容一般不包括(人員分析)。10.軟件生命周期中所花費用最多的階段是(軟件維護)11.(軟件有效性)指軟件系統的時間和空間效率。

12.在E-R模型中,包含以下基本成分(實體、聯系、屬性)。

13.軟件工程中的各種方法是完成軟件工程項目的技術手段,它們支持軟件工程的(各個)階段。

14.軟件需求規格說明的內容不應包括(算法的詳細描述)。

15.盒圖也稱為(N-S圖)。這種表達方式取消了流程線,它強迫程序員以結構化方式思考和解決問題。

16.從事物的屬性側面來描述事物的方法就是(面向數據)的方法。9.以下不屬于白盒測試技術的是(等價類劃分)。

17.為改正軟件系統中潛藏的錯誤而進行的維護活動稱為(糾錯性維護)18.一個模塊的(扇入數)是指能直接控制該模塊的模塊數。19.軟件的發展經歷了(三)個發展階段。

20.Jackson方法在需求分析階段的主要步驟不包括(了解實體行為)。21.實踐表明,確定發生錯誤的位置和內在原因所需的工作量幾乎占整個調試工作量的(90)%。

22.軟件工程過程中最普通應用的是瀑布模型,下面敘述哪個不是它的主要特征(嚴格定義需求)

23.(類)是對具有共同特征的對象的進一步抽象。13.為了進一步改善軟件系統的可維護性和可靠性,并為以后的改進奠定基礎的軟件維護稱為(預防性維護)。

24.為了進一步改善軟件系統的可維護性和可靠性,并為以后的改進奠定基礎的軟件維護稱為(預防性維護)。

25.按軟件的功能進行劃分,軟件分為(系統軟件)、支撐軟件和應用軟件。26.軟件定義的基本任務是確定軟件系統的工程(需求),也就是要搞清“做什么”。

27.數據流圖(DFD)是一種圖形化技術,描繪信息和數據從輸入移動到輸出的過程所經受的變換。

28.任何一個基于計算機系統都可以用輸入-處理-輸出(IPO)圖來描述,它將該系統轉換成一個信息變換模型。

29.純收入衡量工程價值的經濟指標之一,它等于(折合現價的總收入-當前投資額)30.以詳細設計說明書為輸入,將該輸入用某種程序設計語言翻譯成計算機可以理解并最終可運行的代碼的過程叫(編碼)過程。

31.驗證軟件需求正確性的四個方面是一致性、完整性、現實性和(有效性)。32.(概要設計),將軟件需求轉化為數據結構和軟件的系統結構。33.改進軟件結構提高模塊獨立性爭取(低耦合、高內聚)。

34.軟件定義過程可通過軟件系統的可行性研究和(需求分析)兩個階段來完成。

35.(調試)的目的是確定錯誤的位置和引起錯誤的原因,并加以改正。36.面向(數據流)的設計方法是把信息流映射成軟件結構。37.(軟件維護)是軟件生命周期的最后一個階段。38.(軟件測試)的目標是發現錯誤、降低錯誤帶來的風險。

39.為了進一步改善軟件系統的可維護性和可靠性,并為以后的改進奠定基礎的軟件維護稱為(預防性維護)。

40.文檔:一種數據媒體和其上所記錄的(數據)。

41.程序的三種基本控制結構是(順序)、(選擇)、(重復)。42.軟件定義的基本任務是確定軟件系統的工程(需求),也就是要搞清“做什么”。

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

44.軟件可靠性是指在給定的時間間隔內,程序成功運行的(概率)。45.軟件工程過程中最普通應用的是(瀑布)模型。46.軟件有效性,指軟件系統的時間和(空間)效率。47.高級語言:獨立于機器,面向過程或面向(對象)。

48.在軟件測試中,已知產品內部工作過程,通過測試檢驗產品內部動作是否按照產品規格說明的規定正常進行的方法稱為(白盒)測試法。

49.任何一個基于計算機系統都可以用輸入-處理-輸出(IPO)圖來描述,它將該系統轉換成一個信息變換模型。

50.面向對象的分析方法主要是建立三類模型,即對象模型、動態模型、(功能模型)。

51.軟件工程由方法、工具和過程三部分組成,稱為(軟件工程)的三要素。52.軟件工程由(方法)、工具和過程三部分組成,稱為軟件工程的三要素。53.軟件測試的目標是(發現錯誤、降低錯誤帶來的風險)。54.(耦合度)是對軟件結構中模快間關聯程度的一種度量。

55.在E-R模型中,包含的基本成分有(實體)、聯系和屬性。

56.軟件定義過程可通過軟件系統的(可行性研究)和需求分析兩個階段來完成。

57.機器語言、匯編語言:依賴于機器,面向(機器)

58.調試的目的是確定錯誤的位置和引起錯誤的原因,并加以(改正)。59.將下面的關系按繼承關系、聚集關系或普通關聯進行分類。

小汽車---------紅旗轎車(繼承)小汽車---------駕駛員(普通關聯)班級------------學生(聚集)60.以詳細設計說明書為輸入,將該輸入用某種程序設計語言翻譯成計算機可以理解并最終可運行的代碼的過程叫(編碼)過程。61.軟件維護是軟件生命周期的(最后)一個階段。62.將下列各項分為類或類的實例

我的汽車(實例)交通工具(類)63.用戶對軟件需求的描述不精確,往往是產生軟件危機的原因之一。64.一個好的開發人員應具備的素質和能力包括善于與周圍人員團結協作,建立良好的人際關系,善于聽取別人的意見。

65.面向數據的設計方法的適用場合是具有明顯的層次信息結構的應用如:企事業的信息管理系統;系統軟件如操作系統等。

66.如果在分析階段和設計階段采用的是面向對象的方法,而在編碼階段采用的是面向過程的語言,那么這種翻譯就比較困難。67.類是對具有共同特征的對象的進一步抽象。

68.軟件測試是對軟件規格說明、軟件設計和編碼的最全面也是最后的審查。69.軟件開發、設計幾乎都是從頭開始,成本和進度很難估計。70.缺乏有力的方法學的指導和有效的開發工具的支持,這往往是產生軟件危機的原因之一。

71.流程圖也稱為程序框圖是最常用的一種表示法。

72.面向數據設計方法一般都包括下列任務:確定數據結構特征;用順序、選擇和重復三種基本形式表示數據等步驟。73.軟件工程的出現主要是由于軟件危機的出現。

74.結構化分析方法是一種預先嚴格定義需求的方法,它在實施時強調的是分析對象的數據流。

75.在信息系統的物理模型中,表示系統各個物理組成部分之間的數據流動情況的工具是系統流程圖。

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

第二篇:軟件工程復習資料

軟件工程復習資料

一、熟悉和理解

(一)軟件工程概述

1.螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動,關鍵不足在于不能適應需求的動態變更。2.軟件不只是用程序設計語言(如PASCAL ,C,VISUAL BASIC 等)編寫的程序,編寫程序代碼只是軟件開發的一個部分。

3.快速原型模型可以有效地適應用戶需求的動態變化。4.生產高質量的軟件產品是軟件工程的首要目標。5.軟件開發人員對用戶需求的理解有偏差,這將導致軟件產品與用戶的需求不一致,是產生軟件危機的一個原因。6.開發一個軟件項目總存在某些不確定性,即存在風險.有些風險如果控制得不好,可能導致災難性的后果。7.缺乏處理大型軟件項目的經驗.是產生軟件危機的一個原因。

8.瀑布模型本質上是一種線性順序模型,增量模型本質上是一種快速原型模型。

9.可行性分析是在系統開發的早期所做的一項重要的論 證工作,它是決定該系統是否開發的決策依據,因必須給出可行或不可行的回答。

10. 軟件生存周期模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型等。11. 軟件是一種邏輯產品。

12. “軟件危機”是指軟件開發和維護中出現的一系列問題,成本高、生產率低、質量得不到保證、需求不能充分理解都是是軟件危機的表現形式。

13. 原型化方法是用戶和設計者之間執行的一種交互過程,適用于需求不確定性高的系統。

14. 軟件工程中的各種方法是完成軟件工程項目的技術手段,它們支持軟件工程的各個階段.15. 研究開發所需要的成本和資源是屬于可行性研究中的經濟可行性研究的一方面。

16. 快速原型模型的主要特點之一是及早提供工作軟件。

17. 軟件工程由方法,工具和過程三部分組成,稱軟件工程的三要素.18. 基于計算機系統的軟件要素中的軟部件由程序,數據和文檔組成.19. 瀑布模型是以文檔為驅動、適合于軟件需求明確的軟件項目的模型。20. 螺旋模型是風險驅動的,而瀑布模型是文檔驅動的。21. 從事物的組成部件及每個部件的屬性,功能來認識事物.這種方法被稱為面向對象的方法。

22. 從事物的屬性側面來描述事物的方法就是面向數據的方法。

23. 面向對象(Object Oriented)方法是將現實世界的事物以對象的方式映射到計算機世界的方法。

(二)軟件項目管理

24. 一個好的開發人員應具備的素質和能力包括善于與周圍人員團結協作,建立良好的人際關系,善于聽取別人的意見,具有良好的書面和口頭表達能力。

25. 為了充分發揮開發人員的潛力,縮短工期,軟件工程項目的任務分解與安排應盡力挖掘可并行開發的部分。26. 任務是管理有關項目工作的最小的單元。27. 任務是一項已經定義得很好的工作,該工作可分配給一個項目參與者或分配給一個團隊。

(三)需求分析

28. 軟件需求是指用戶對目標軟件系統在功能,性能,行為,設計約束等方面的期望.29. 數據流圖就是用來刻畫數據流和轉換的信息系統建 3 模技術。

30. 用戶對軟件需求的描述不精確,往往是產生軟件危機的原因之一。

31. 需求分析階段的成果主要是需求規格說明,該成果與軟件設計,編碼,測試直至維護都有較大關系。

32. 需求規格說明書是需求分析階段最重要的技術文檔之一

33. 需求分析最終結果是產生需求規格說明書 34. DFD中的每個加工至少需要一個輸入流和一個輸出流。

35. 需求分析階段的任務是確定軟件系統的功能 36. 需求分析的任務不包括系統設計。

37. 需求規格說明書的作用包括:作為軟件驗收的依據、用戶與開發人員對軟件要做什么的共同理解、作為軟件設計的依據等

38. 在結構化分析方法中,用以表達系統內數據的運動情況的工具有數據流圖。

39. 結構化分析方法(SA)是一種面向數據流的需求分析方法.

40. 驗證軟件需求正確性的四個方面包括一致性、完整性、現實性、有效性。

41. 在面向對象軟件開發方法中,類與類之間主要有繼 承和聚集的關系。

42. 面向對象的特征主要包括多態性、繼承性、封裝性。43. 軟件開發過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫面向對象的分析。

(四)概要設計

44. 軟件概要設計的主要任務就是軟件結構的設計,面向數據流的設計方法是將數據流映射成軟件結構。45. 軟件模塊之間的耦合性越弱越好。

46. 模塊化,信息隱藏,抽象和逐步求精的軟件設計原則有助于得到高內聚,低耦合度的軟件產品。

47. 內聚度標志一個模塊內部各成分彼此結合的緊密程度,按其高低程度可分為七級,內聚度越高越好。

48. 在模塊耦合性類型中,模塊之間獨立性最差的類型是內容耦合,在實際編程時一定要避免出現,為了提高模塊的獨立性,模塊之間最好是數據耦合。模塊耦合越弱,則說明模塊的獨立性強。

49. 在軟件結構圖中,扇入數大說明該模塊的重用率高。50. 為了提高模塊的獨立性,模塊內部最好是功能內聚,模塊的內聚性最高的是功能內聚。

51. 軟件結構圖中,模塊框之間若有直線連接,表示它們之間存在調用關系一個軟件的寬度是指其控制的跨度,一個 軟件的深度是指其控制的層數,一個模塊的扇入數是指能直接控制該模塊的模塊數,一個模塊的“扇出數”是指該模塊直接控制的其他模塊數。

52. 當一個模塊直接使用另一個模塊的內部數據,這種模塊之間的耦合為內容耦合。

53. 在進行軟件結構設計時應該遵循的最主要的原理是模塊獨立原理。

54. 變換型數據處理問題的工作過程大致分為三步,即取得數據,變換數據和給出數據。

55. 按數據流的類型,結構化設計方法有兩種設計策略,它們是變換分析設計和事務分析設計。

56. 衡量模塊的獨立性的兩個定性的度量標準是內聚度和耦合度。

(五)詳細設計

57. 軟件詳細設計的主要任務是對算法和數據結構進行的詳細設計,軟件詳細設計主要采用的方法是結構化程序設計。

58. 過程描述語言可以用于算法和數據結構的描述。59. 結構化程序設計方法是使用三種基本控制結構構造程序,程序的三種基本控制結構是順序,選擇和循環。60. 在詳細設計階段,經常采用的工具有盒圖、PAD圖、PDL語言、判定表和判定樹等工具,其中PAD圖為自動分析數據提供了有力的工具.61. 盒圖也稱為N-S圖,種表達方式取消了流程線,它強迫程序員以結構化方式思考和解決問題.62. 當模塊中包含復雜的條件組合,只有判定表和判定樹能夠清晰地表達出各種動作之間的對應關系.63. 模塊的內部過程描述就是模塊內部的算法設計,它的表達形式就是詳細設計語言.

64. 程序的三種基本控制結構的共同特點是只有一個入口和一個出口。

65. 調試的目的是確定錯誤的位置和引起錯誤的原因,并加以改正。

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

(六)編碼、測試、維護

67. 以詳細設計說明書為輸入,將該輸入用某種程序設計語言翻譯成計算機可以理解并最終可運行的代碼的過程叫編碼過程。

68. 面向對象的開發方法中,UML是面向對象技術領域內占主導地位的標準建模語言。

69. 軟件測試是執行程序發現并排除程序中潛伏的錯誤 的過程。

70. 是對軟件規格說明,軟件設計和編碼的最全面也是最后的審查。

71. 軟件測試并不能發現軟件中所有潛伏的錯誤,通過軟件測試沒有發現錯誤,不能說明軟件是正確的。72. 動態測試方法中根據測試用例的設計方法不同,分為黑盒和白盒兩類.73. 黑盒測試無需考慮模塊內部的執行過程和程序結構,只要了解模塊的功能即可。

74. 自頂向下的漸增式測試初期一般不可以并行進行。75. 在現實項目中,路徑測試和窮舉測試是經常難以實現。

76. 單元測試的測試對象是程序模塊。

77. 計算機輔助靜態分析是軟件測試方法中的靜態測試方法之一。

78. 基本路徑測試、循環覆蓋測試、邏輯覆蓋測試屬于白盒測試技術。

79. 等價類劃分、邊界值分析測試等屬于黑盒測試技術。80. 邏輯覆蓋一般包括語句覆蓋、判定覆蓋、條件覆蓋、條件/判定覆蓋、邊覆蓋、路徑覆蓋等。

81. 將軟件組裝成系統的一種測試技術叫集成測試。82. 軟件測試中根據測試用例設計的方法的不同可分為 黑盒測試和白盒測試兩種,它們都屬于動態測試。83. 在設計測試用例時,邊界值分析是用的最多的一種黑盒測試方法。

84. 在進行軟件測試時,首先應當進行單元測試,然后再進行集成測試,最后再進行有效性測試。

85. 質量保證是為了保證產品和服務充分滿足消費者要求的質量而進行的有計劃.有組織的活動,質量保證是為了使用產品實現用戶要求的功能。

86. 在結構測試用例設計中,有語句覆蓋,條件覆蓋,判定覆蓋(即分支覆蓋),路徑覆蓋,其中路徑覆蓋是最強的覆蓋準則.

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

88. 為了提高測試的效率,應該選擇發現錯誤可能性大的數據作為測試數據。

89. 使用白盒測試方法時,確定測試數據應根據程序的內部邏輯和指定的覆蓋標準。

90. 黑盒測試在設計測試用例時,主要需要研究需求規格說明與概要設計說明。

91. 軟件按照設計的要求,在規定時間和條件下達到不出故障,持續運行的要求的質量特性稱為可靠性。92. 軟件維護是軟件生命周期的最后一個階段,軟件生 命周期中所花費用最多的階段是軟件維護。

93. 在軟件維護的內容中,有四種維護:校正性維護,完善性維護,適應性維護,預防性維護,其中占維護活動工作量比例最高的是完善性維護,最少的一般是預防性維護。94. 為改正軟件系統中潛藏的錯誤而進行的維護活動稱為糾錯性維護。

95. 根據用戶在軟件使用過程中提出的建設性意見而進行的維護活動稱為完善性維護,完善性維護可以提高或完善軟件的性能。

96. 為適應軟件運行環境的變化而修改軟件的活動稱為適應性維護。

97. 為了進一步改善軟件系統的可維護性和可靠性,并為以后的改進奠定基礎的軟件維護稱為預防性維護。98. 軟件中因修改軟件而造成的錯誤稱為維護的副作用。

99. 非結構化維護用于軟件的配置中只有源代碼維護。100. 維護中,因誤刪除一個標識符而引起的錯誤是編碼副作用。

101. 軟件可維護性,是指軟件產品交付使用后,在實現改正潛伏的錯誤,改進性能等屬性,適應環境變化等方面工作的難易程度。

102. 軟件可靠性是指在給定的時間間隔內,程序成功運 行的概率。

103. 由于維護或在維護過程中其他一些不期望的行為引入的錯誤稱為維護的 副作用。

104. 軟件可修改性,是指允許對軟件系統進行修改而不增加其復雜性,105. 所有軟件維護申請報告要按規定方式提出,該報告也稱軟件問題報告。

二、掌握和記憶

(一)概念

1. 耦合性:也稱塊間聯系,指軟件系統結構中各模塊間相互聯系緊密程度的一種度量。

2. 軟件生存周期模型:是描述軟件開發過程中各種活動如何執行的模型.3. 數據字典(DD):是用來定義數據流圖中的各個成分的具體含義的.它以一種準確的,無二義性的說明方式為系統的分析,設計及維護提供了有關元素的一致的定義和詳細的描述.4. 內聚性:是模塊獨立性的衡量標準之一,它是模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量.5. 白盒測試:又稱結構測試,是已經知道產品內部工作過程,檢驗產品內部動作是否按規定正常使用的測試方法。

6. 軟件生存周期:就是從提出軟件產品開始,直到該軟件產品被淘汰的全過程,具體包括問題定義、可行性研究、需求分析、概要設計、詳細設計、編碼與測試、運行和維護。

7. 模塊化:就是將程序劃分為若干個獨立模塊的這樣一個過程,其中每個模塊完成一個特定子功能,每個模塊既是相對獨立的,又是相互聯系的,它們共同完成系統指定的各項功能。

8. 樁模塊:用于代替所測模塊調用的子模塊,樁模塊可以做少量的數據操作。

9. 驅動模塊:用于模擬被測模塊的上級模塊。它接收測試數據,把這些數據傳送給所測模塊,最后再輸出實際測試結果。

10. 模塊:模塊是一個擁有明確定義的輸入、輸出和特性的程序實體。

11. 模塊獨立性:概括了把軟件劃分為模塊時要遵守的準則,也是判斷模塊構造是否合理的標準,同時也是模塊化、抽象及信息隱藏概念的直接產物。

12. 軟件工程:即運用工程學的基本原理和方法來組織和管理軟件生產。13. 程序的可移植性:指把一個軟件(或程序)從一臺計算機環境移植到另一臺計算機環境的容易程度。

14. 模塊的作用范圍:一個模塊的作用范圍是指受該模塊內一個判定影響的所有模塊的集合。

15. 信息隱藏:信息隱蔽是指在設計和確定模塊時,使得一個模塊內包含的信息(過程或數據),對于不需要這些信息的其他模塊來說是不能訪問的。

16. 集成測試也稱組裝測試或聯合測試。是指在單元測試的基礎上,將所有模塊按照設計要求組裝成一個完整的系統進行的測試。組裝模塊的方式有兩種:漸增式測試和非漸增式測試。

17. 類:某些對象共同特征(屬性和操作)的表示。18. 對象:是現實世界中個體或事物的抽象表示,是其屬性和相關操作的封裝。

19. 繼承:是現實世界中遺傳關系的直接模型,它表示類間的內在聯系以及對屬性和操作的共享。

20. 聚集:現實世界中部分-整體關系的模擬。21. 消息:對象與外部世界相互關聯的唯一途徑。

(二)原理

1、螺旋模型的適應場合:支持需求不明確,特別是大型軟件系統的開發,并支持面向規格說明,面向過程,面向對象 等多種軟件開發方法,是一種具有廣闊前景的模型。

2、軟件開發風險分析實際上就是貫穿于軟件工程過程中的一系列風險管理步驟,它包括以下內容:

1)風險標識; 2)風險估算; 3)風險評價; 4)風險駕馭和監控。

3、需求分析的任務是確定待開發的軟件系統“做什么”.具體任務包括確定軟件系統的功能需求,性能需求和運行環境約束,編制軟件需求規格說明書,軟件系統的驗收測試準則和初步的用戶手冊。

4、快速原型技術的基本思想是:在軟件開發的早期,快速開發一個目標軟件系統的原型,讓用戶對其進行評價并提出修改意見,然后開發人員根據用戶的意見對原型進行改進。

5、原型法模型一般適應的場合:它適合于那些不能預先確切定義需求的軟件系統的開發,更適合于那些項目組成員(包括分析員,設計員,程序員和用戶)不能很好交流或通信有困難的情況。

6、軟件復雜性度量的主要參數極其含義:1)規模:總共的指令數或源程序行數;2)難度:通常由程序中出現的操作數的數目所決定的量來表示;3)結構:通常用與程序結構有 關的度量來表示;4)智能度:即算法的難易程序。

7、非漸增式測試與漸增式測試的區別:

非漸增式測試:分別測試每個模塊,再放在一起結合成所要的程序;

漸增式測試:將下一個要測試的模塊同已測試好的模塊放在一起測試,類推結合成所要的程序;

優缺點:

? 漸增式測試可以較早發現模塊間的接口錯誤 ? 非漸增式測試最后才組裝,因此錯誤發現得晚。? 非漸增式測試中發現錯誤后難以診斷定位 ? 漸增式測試中,出現的錯誤往往跟最新加入的模塊有關。

? 漸增式測試在不斷集成的過程中使模塊不斷在新的條件下受到新的檢測,測試更徹底。? 漸增式測試較非漸增式測試費時。? 非漸增式測試可以同時并行測試所有模塊,能充分利用人力。

8、軟件工程目標:是研制、開發與生產出具有良好軟件質量和費用合算的產品。軟件工程的內容是:1)采用工程化方法和途徑來開發與維護軟件;2)應該開發和使用更好的軟件工具;3)采取必要的管理措施。

9、模塊的內聚性包括的一般類型:(1)偶然內聚(2)邏輯內聚(3)時間內聚(4)通信內聚(5)順序內聚(6)功能內聚

10、軟件測試的幾個主要步驟:

1)模塊測試 2)子系統測試 3)系統測試 4)驗收測試 5)平行運行

11、軟件測試和調試的目的的區別:測試的目的是判斷和發現軟件是否有錯誤,調試的目的是定位軟件錯誤并糾正錯誤。

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

13、文檔在軟件工程中的作用:(1)提高軟件開發過程的能見度;(2)提高開發效率;

(3)作為開發人員階段工作成果和結束標志;(4)記錄開發過程的有關信息便于使用與維護;(5)提供軟件運行、維護和培訓有關資料;(6)便于用戶了解軟件功能、性能。

(三)運用

1、某單位工卡包含信息如下:

該卡包括工號、英文名、年齡、性別、部門,工號從001至200,英文名是任意長度為從3至20的字母,年齡范圍1至200,性別男或女,部門只能是“技術部”、“市場部”、“財務部”、“行政部”中的一個。

在數據字典中,工卡的數據條目定義如下:

工卡 = 工號 + 英文名 + 年齡 + 性別 + 部門 工號 = 001..200 英文名 = 3{字母}20 年齡 = 1..200 性別 = [男|女] 部門 = [技術部|市場部|財務部|行政部] 解析:先明確要說明數據條目是誰,由哪些分量組成,這些分量是“+”的關系,還是“或”的關系,如本例的第一條是“+”的關系,然后分析它的組成是什么,再對其各個組成部分依次說明,如本例的第二至六條,要一條一條地寫出來,不要都寫到一條中。

2、能根據文字描述畫出數據流圖。

3、掌握變換型和事務性數據流圖轉化為系統結構圖的原理,能根據給定的數據流圖畫出系統結構圖。

第三篇:軟件工程復習資料

選擇題:

1、軟件是一種(B)產品

A、有形

B、邏輯

C、物質

D、消耗

2、軟件的主要功能和結構是在(A)階段覺決定的

A、分析設計

B、編程

C、測試

D、維護

3、軟件工程學的目的應該是解決軟件生成的(D)問題

A、提高軟件開發效率

B、使軟件生產工程化

C、消除軟件的生產危機 d、加強軟件的質量保證

4、研究開發所需要的成本和資源是屬于可行性研究中的(B)研究的一方面

A、技術可行性

B、經濟可行性

c、社會可行性

d、法律可行性

5、經濟可行性研究的范圍包括(C)

A、資源有效性

b、管理制度

c、效益分析

d、開發風險

6、系統流程圖是描述(D)的工具

A、邏輯系統

b、程序系統

c、體系結構

d、物理系統

7、可行性研究的目的是用最小的代價在盡可能短的時間內確定問題的(A)

A、能否可解

b、工程進度

c、開發計劃

d、人員配置

8、需求分析階段的任務是確定(D)

A、軟件開發方法

b、軟件開發工具

c、軟件開發費

d、軟件系統的功能

9、系統流程圖用于可行性分析中(A)的描述

A、當前運行系統

b、當前邏輯模型

c、目標系統

d、新系統

10、數據字典是用來定義(D)中的各個成分的具體含義的

A、流程圖

b、功能結構圖

c、系統結構圖

d、數據流圖

11、在數據流圖中,符號方框表示(B)

A、變換/加工

b、外部實體

c、數據流

d、數據存儲

12、數據字典是對數據定義信息的集合,他所定義的對象都包含于(A)

A、數據流圖

b、程序框圖

c、軟件結構

d、方框圖

13、數據流圖是表示軟件模型的一種圖示方法,畫數據流圖應遵循的原則是(B)

A、自底向上、分層繪制、逐步求精

B、自頂向下、分層繪制、逐步求精

C、自定向下、逐步求精

D、自頂向上、分層繪制

14、劃分模塊時,一個模塊的(A)

A、作用范圍應在其控制范圍之內

b、控制范圍應在其作用范圍內

C、作用范圍與控制范圍互不包含

d、作用范圍矛控制范圍不受任何限制

15、結構化設計方法在軟件開發中,用于(B)

A、測試用例設計

b、概要設計

c、程序設計

d、詳細設計

16、在軟件結構圖中,模塊框之間若有直線連接,表示他們之間存在著(A)關系

A、調用

b、組成 c、連接

d、順序執行

17、在進行軟件結構設計時應遵循的最主要的原理是(C)

A、抽象

b、模塊化

c、模塊獨立

d、信息隱藏

18、設計軟件結構一般不確定(C)

A、模塊功能

b、模塊接口

c、模塊內的局部數據

d、模塊間的調用關系

19、在軟件的結構化設計方法中,一般分為概要設計和詳細設計兩階段,其中詳細設計主要要建立(D)

A、軟件結構

b、軟件過程

c、軟件模型

d、軟件模塊 20、軟件詳細設計階段的任務是(A)

A、算法設計

b、功能設計

c、調用關系設計

d、輸入/輸出設計

21、軟件詳細設計階段主要采用的工具是(B)

A、DFD

B、PAD

C、DD

D、SA

22、軟件詳細設計階段采用自左向右的二維圖形結構描述算法的是(C)

A、IPO

B、JSP

C、PAD

D、JSD

23、Jackson方法以(B)為中心

A、控制

b、數據結構

c、活動事件

d、數據流

24、詳細設計與概要設計銜接的圖形工具是(D)

A、DFD圖

b、程序圖

c、PAD圖

d、SC圖

25、在確定屬性時,所有(B)事候選屬性

A、動詞

b、名詞

c、修飾性名詞詞組

d、詞組

26、動態模型的構成不包括(C)

A、事件

b、關聯

c、操作

d、狀態

27、對象模型的描述工具是(C)

A、狀態圖

b、數據流圖

c、對象圖

d、結構圖

28、通過執行對象的操作改變對象的屬性,但他必須通過(B)來執行

A、接口

b、消息

c、信息

d、操作

29、描述對象的行為,反映對象的狀態與事件的關系是(A)

A、狀態圖

b、對象圖

c、流程圖

d、結構圖 30、軟件測試可能發展軟件中的(),但不能證明軟件(B)

A、所有錯誤、沒有錯誤

b、錯誤、沒有錯誤

C、邏輯錯誤、沒有錯誤

d、設計錯誤,沒有錯誤

31、發現錯誤能力最弱的是(A)

A、語句覆蓋

b、判定覆蓋

c、條件覆蓋

d、路徑覆蓋

32、從已經發現故障的存在到找到準確的故障位置并確定故障的性質,這一過程稱為(C)

A、邏輯檢測

b、故障排除

c、調試

d、測試

33、超出軟件工程范圍的測試是(D)

A、單元測試

b、集成測試

c、確定測試

d、系統測試

34、下列文檔與維護人員有關的有(C)

A、軟件需求說明書

b、項目開發計劃

c、概要設計說明書

d、操作手冊

35、在軟件生存周期中,工作量所占比例最大的階段是(D)階段

A、需求分析

b、設計

c、測試

d、維護

36、軟件維護困難的主要原因是(C)

A、費用低

b、人員少

c、開發方法的缺陷

d、維護難

37、維護階段的文檔是(C)

A、軟件需求說明

b、操作手冊

c、軟件問題報告

d、測試分析報告

填空題:

1、在軟件的生存周期開發階段要經過概要設計、詳細設計、軟件設計三個步驟。

2、軟件工程師指導軟件開發和維護的一門工程學科,采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,就是是軟件工程。

3、軟件危機是在軟件發展的第二階段末期。

4、軟件生存期可分為三個大階段:軟件開發、使用、維護。

5、技術可行性研究包括風險分析、資源分析、技術分析

6、可行性研究實質上進行一次簡化、壓縮了的需求分析和設計。

7、需求分析的步驟有:調查研究、分析與綜合、書寫文檔、需求分析評審。

8、瀑布模型是以文檔為驅動、適合于需求很明確的軟件項目的模型。

9、模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性就越差。

10、將軟件系統劃分模塊時,要盡量做到高內聚低耦合,提高模塊的獨立性。

11、數據流圖一般可分為交換型和事物型兩類。事物型的DFD是一個順序結構。

12、軟件結構從形態上總的考慮是:頂層扇出數較高一些,中間層扇出數較少一些,底層扇入數較少一些。

13、一個模塊的作用范圍是指模塊內一個判定影響的所有模塊的集合。

14、軟件的詳細設計可以用來采用圖形、表格、語言三種形式描述工具表示模塊的處理過程。

15、在詳細設計階段的文檔是詳細設計說明書,他是程序運行過程的描述。

16、程序流程圖又稱程序框圖,他是軟件開發者最熟悉的一種算法表達工具。

17、對象之間通過接口互相聯系,以模擬現實世界中的不同事件彼此之間的聯系。

18、類的實例化是定義類的對象。

19、子類只繼承一個父類的屬性和操作,稱為單重繼承。20、類具有操作,它是對象的行為的抽象。

21、在用例圖中用例之間也存在一定的聯系,用例之間通常有執行者、用例和用例之間三種關系。

22、在UML用例圖中,橢圓表示用例,方框表示系統,小人狀圖案表示執行者

23、軟件測試過程按測試的先后次序可先分為四個步驟進行:單元測試、集成測試、確定測試和系統測試,最后進行驗收測試。

24、軟件測試的種類大致可以分為人工測試和基于計算機的測試。基于計算機的測試還有兩種方法,分別是黑盒測試和白盒測試。

25、軟件測試是為了發現錯誤執行程序的過程。

26、所有軟件維護申請報告要按規定方式提出,該報告也稱軟件問題報告。

27、維護階段是軟件生存周期中時期最長的階段,花費精力和費用最多的階段

名詞解釋:

軟件工程:指用科學的原理和理論定義,開發、維護軟件的學科。

軟件危機:指計算機軟件的開發和維護過程中所遇到的一系列嚴重問題

瀑布模型:是將軟件生存各個活動規定為依線性順序聯接的若干階段的模型。它包括可行性分析、項目開發計劃、需求分析、概要設計、詳細設計、編碼、測試和維護。它規定了由前至后,相互銜接的固定次序,如同瀑布流水,逐級下落。

可行性研究:指對項目有關的運行、經濟、技術、法律和開發方案可行性等各方面研究可行性。

需求分析:需求分析是指開發人員要準確理解用戶的需求,進行細致的調查分析,將用戶非形式的需求陳述轉化成完整的需求定義,再由需求定義轉換到相應的形式功能規約(需求規格說明)的過程。

數據流圖:一種圖形化技術,它描繪信息流和數據從輸入移動到輸出過程中所經受的變

耦合性: 耦合性也稱塊間關系,指軟件系統結構中各模塊間相互聯系緊密程度的一種度量

簡答題:

10、軟件工程有哪些原則?

答:

1、分解

2、抽象和信息隱蔽

3、一致性

4、確定性

5、完備性

6、可嚴驗證性

11、簡述軟件工程目標和面臨的主要問題?

答:軟件工程是一門工程性的學科,其目標主要是:付出較低的開發成本;達到要求的軟件功能;取得較好的軟件性能;開發的軟件易于移植;需要較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟件可靠性高。

面臨的主要問題是:軟件費用 軟件可靠性 軟件維護 軟件生產率 軟件重用。

第四篇:軟件工程復習資料(推薦)

1.軟件工程是什么?

軟件工程是一項解決問題的工程活動,通過分析對問題進行研究, 將問題分解成可以理解并能夠處理的若干小部分。

軟件工程是一項建模活動,通過抽象找到事物的重要特征而忽略非 本質的細節,從不同側面建立系統模型,有效地簡化和處理復雜性。

軟件工程是一項受軟件工程原理指導的活動,軟件工程師要捕捉和 理解一個系統的基本原理模型,并根據評價標準提出合理開發決策。

2.軟件危機的概念

落后的軟件生產方式無法滿足迅速增長的計算機軟件需求,從而導致軟件開發與維護過程中出現一系列嚴重問題的現象。軟件危機泛指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題。3.軟件危機的表現

(1)軟件開發費用和進度失控。(2)軟件的可靠性差。

(3)生產出來的軟件難以維護。

(4)用戶對“已完成”的系統不滿意現象經常發生。

(5)軟件產品質量難以保證。

(6)軟件文檔不完備,并且存在文檔內容與軟件產品不符情況。4.軟件危機的原因

軟件本身的特點(如:軟件規模龐大)導致開發和維護困難

軟件開發的方法不正確

開發人員與管理人員重視開發而輕視問題的定義和軟件維護 軟件開發技術落后

5.軟件管理技術差從軟件開發危機的種種表現和軟件開發作為邏輯產品的特殊性可以發現軟件開發危機的原因:(1)用戶需求不明確

(2)缺乏正確的理論指導(3)軟件開發規模越來越大(4)軟件開發復雜度越來越高

6.解決軟件危機的途徑:軟件工程學 采用工程化方法和工程途徑來研制與維護軟件

采用先進的技術、方法與工具來開發與設計軟件

采用必要的組織管理措施 7.軟件生存周期

從一個軟件開始立項起,到廢棄不用止 一個周期被劃分為計劃、開發、運行3個時期

計劃時期:問題定義——可行性分析 開發時期:需求分析——軟件分析——軟件設計——編碼(測試)——測試 運行時期:軟件維護8.軟件可行性研究的步驟

(1)對當前系統進行調查和研究(2)導出新系統的解決方案(3)提出推薦的方案

(4)編寫可行性論證報告(系統概述、可

行性分析、結論意見)9.面向對象開發的有點

(1)提高軟件系統的可復用性

可復用性是面向對象開發的核心思路。軟件復用的途徑主要包括:創建類的實例對象;從已有類派生新的子類。派生類既可以繼承其父類的屬性、方法、也可以添加新的屬性和方法。

(2)提高軟件系統的可拓展性

開發人員可以根據對用戶需求的理解,不斷地修改及完善有關類的描述。既可以利用繼承對新的類添加屬性和方法;或者在征求用戶意見后加入新的累以及類的方法與屬性等。

(3)提高軟件系統的可維護性

一個系統是由對象組成的。當系統的功能需求發生變化時,通常僅需修改與之相關的對象或者類。10.軟件測試目的測試是一個為了發現錯誤而執行程序的過程 一個好的測試用例是指很可能找到迄今為至尚未發現的錯誤的測試用例

一個成功的測試是指揭示了迄今為至尚未發現的錯誤的測試 11.測試方法

黑盒測試:已經知道了軟件產品應該具有的功能,通過測試來檢驗是否每個功能都能正常使用。這種測試方法又稱功能測試。白盒測試:知道軟件產品內部的工作過程,通過測試來檢驗產品內部動作是否按照規格說明書的規定正常進行。這種測試方法又稱結構測試。

12.軟件維護的定義

什么是軟件維護

是指軟件系統交付使用以后,為了改正錯誤或滿足新的需要而修改軟件的過程軟件維護的種類:

糾錯性維護:為了改正軟件系統中的錯誤,使軟件能夠滿足預期的正常運行狀態的要求而進行的維護

適應性維護:為了使軟件適應內部或外部環境變化,而去修改軟件的過程

改善性維護:滿足使用過程中用戶提出增加新功能或修改已有功能的建議維護 預防性維護:為了提高軟件的可維護性、可靠性等,為以后進一步改進軟件打下良好基礎而修改軟件的活動

第五篇:軟件工程復習資料-2016-3-25分析

第一章 軟件工程概述

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

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

⑵軟件產品的生產主要是研制,生產成本主要在開發和研制,開發研制完成后,通過復制就產生了大量軟件產品。

⑶軟件產品不會用壞,不存在磨損,消耗。

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

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

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

⑶軟件工程時代:這個階段生產方式是工程化的生產,使用數據庫﹑開發工具﹑開發環境﹑網絡﹑分布式﹑面向對象技術來開發軟件。3﹑什么是軟件危機?主要表現在哪些方面? 軟件開發技術的進步未能滿足發展的要求。在軟件開發中遇到的問題找不到解決的辦法,問題積累起來,形態尖銳的矛盾,導致了軟件危機。表現方面:

(1)用戶對開發出的軟件很難滿意。(2)軟件產品的質量往往靠不住。

(3)一般軟件很難維護。

(4)軟件生產效率很低。

(5)軟件開發成本越來越大。

(6)軟件成本與開發進度難以估計。

(7)軟件技術的發展遠遠滿足不了計算機應用的普及與深入的需要。4﹑什么是軟件工程?它目標和內容是什么?

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

軟件工程的目標:付出較低開發成本;達到要求的功能;取得較好的性能;開發的軟件易于移植;只需較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟件可靠性高。

軟件工程的內容:研究內容包括開發技術和開發管理兩個方面。開發技術主要研究:軟件開發方法,開發過程,開發工具和環境。開發管理主要研究:軟件管理學,軟件經濟學,軟件心理學。

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

軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產率和軟件的重用。6﹑什么是軟件生存周期?它有哪幾個活動?

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

包括:可行性分析和項目開發計劃,需求分析,概要設計,詳細設計,編碼,測試,維護。7﹑什么是軟件生存周期模型?有哪些主要模型?

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

主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。8﹑什么是軟件開發方法?有哪些主要方法?

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

9、軟件工程方法學包含3個要素分別是什么? 分別是:方法、工具和過程。

? 方法是完成軟件開發的各項任務的技術方法,回答“怎樣做”的問題; ? 工具是為運用方法而提供的自動的或半自動的軟件工程支撐環境;

? 過程是為了獲得高質量的軟件所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。

10、什么是軟件過程?

為了獲得高質量軟件所需要完成的一系列任務的框架,規定了完成各項任務的工作步驟。在完成開發任務時必須進行一些開發活動,并且使用適當的資源,在過程結束時將把輸入轉化為輸出。

11、瀑布模型的特點及優點? 特點:

?(1)各個階段的順序性和依賴性;

?(2)劃分邏輯設計與物理設計,盡可能推遲程序的物理實現;

?(3)每個階段必須完成規定的文檔,對其中問題通過復審及早發現,及早解決。

優點:

? 可強迫開發人員采用規范的方法(例如,結構化技術);

? 嚴格地規定了每個階段必須提交的文檔;

? 要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證。

12、螺旋模型的優點?

? 對可選方案和約束條件的強調有利于已有軟件的重用,也有助于把軟件質量作為軟件開發的一個重要目標;

? 減少了過多測試(浪費資金)或測試不足(產品故障多)所帶來的風險;

? 在螺旋模型中維護只是模型的另一個周期,在維護和開發之間并沒有本質區別。

螺旋模型主要適用于內部開發的大規模軟件項目。項目越大,風險也越大,因此,進行風險分析的必要性也越大。此外,只有內部開發的項目,才能在風險過大時方便地中止項目。

13、快速原型的分類、特點及使用策略? 分類:探索型、實驗型、進化型

特點:盡快向用戶提供一個可在計算機上運行的目標系統的模型,以便使用戶和開發者在目標系統應該“做什么”這個問題上盡可能快地達成共識。? 快速原型應該具備的第一個特點是“快速”;

? 快速原型應該具備的第二個特點是“容易修改”。原型的“修改—試用—反饋”過程可能重復多遍。

使用策略:廢棄策略和追加策略。

14、軟件工程的目標?

付出較低開發成本;達到要求的功能;取得較好的性能;開發的軟件易于移植;只需較低的維護費用;能按時完成開發任務,及時交付使用;開發的軟件可靠性高。

15、軟件開發技術主要研究內容?

軟件開發方法,開發過程,開發工具和環境。

16、軟件開發管理主要研究內容?

軟件管理學,軟件經濟學,軟件心理學。

17、快速原型開發的步驟?

快速開發、需求、構造原形、原形、運行原形、評價原形、修改意見。

18、某計算機系統投入使用后、5年內每年可節省人民幣 2O0O元,假設系統的投資額為5000元,年利率為 12%。試計算投資回收期和純收入。

第二章 可行性研究

1、可行性研究的任務是什么? 可行研究的任務:首先需要進行概要的分析研究,初步確定項目的規模,目標,約束和限制。分析員再進行簡要的需求分析,抽象出項目的邏輯結構,建立邏輯模型。從邏輯模型出發,經過壓縮的設計,探索出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。主要從四個方面考慮:

⑴.技術可行性:一般要考慮的情況包括 開發的風險即設計出的系統能否達到要求的功能和性能;資源的有效性;相關技術的發展是否支持;⑵.經濟可行性:進行開發成本的估算以及了解取得效益的評估,確定要開發的項目是否值得投資。

⑶.法律可行性:要開發的項目是否存在任何侵權問題。

(4).管理可行性:運行方式在用戶組織內是否可行,現有管理制度﹑人員素質﹑操作方式是否可行。

2、可行性研究有哪些步驟? ⑴.確定項目規模和目標;

⑵.研究正在運行的系統;收集﹑研究﹑分析現有系統的文檔資料,實地考察系統訪問有關人員,然后描繪現有系統的高層系統流程圖。

⑶.建立新系統的高層邏輯模型;使用數據流圖和數據字典描述數據在系統中的流動和處理情況。

⑷.導出和評價各種方案;導出若干較高層次的物理解決方法,根據技術可行性﹑經濟可行性﹑社會可行性進行評估,得到可行的解決方法。

⑸.推薦可行方案;進行成本~效益分析,決定該項目是否值得開發,若值得開發那么解決方案是什么,并且說明該方案可行的原因和理由。

⑹.編寫可行性研究報告;將上述可行性過程的結果寫成相應文檔,即可行性研究報告。

3、可行性研究過程包括哪些?

1.復查系統規模和目標 2.研究目前正在使用的系統

45678示樓號,CNO表示課程號,G表示成績。函數依賴有:(SNO,CNO)→G;SDEPT→SLOC;SNO→SDEPT,對關系進行規范化,達到三范式要求。

(1)SC(SNO,CNO,G)和

(2)S-D(SNO,SDEPT,)(3)S-L(SDEPT ,SLOC)

11、狀態轉換圖

狀態轉換圖(簡稱為狀態圖)通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。提供了行為建模機制。

12、層次方框圖

層次方框圖用樹形結構的一系列多層次的矩形框描繪數據的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數據結構,下面的各層矩形框代表這個數據的子集,最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)。

13、IPO圖

IPO圖是輸入、處理、輸出圖的簡稱,能夠方便地描繪輸入數據、對數據的處理和輸出數據之間的關系。

14、從哪些方面驗證軟件需求的正確性

(1)一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。

(2)完整性需求必須是完整的,規格說明書應該包括用戶需要的每一個功能或性能。

(3)現實性指定的需求應該是用現有的硬件技術和軟件技術基本上可以實現的。對硬件技術的進步可以做些預測,對軟件技術的進步則很難做出預測,只能從現有技術水平出發判斷需求的現實性。

(4)有效性必須證明需求是正確有效的,確實能解決用戶面對的問題。

第四章 總體設計

1、什么是總體設計?總體設計的任務是什么?

總體設計又稱為概要設計或初步設計。確定系統功能是實現。基本任務是:建立軟件系統結構(劃分模塊、定義模塊功能、模塊間的調用關系、定義模塊的接口、評價模塊的質量)、數據結構和數據庫的設計(數據結構設計、概念設計、邏輯設計、物理設計)、編寫概要設計文檔(概要設計說明書、用戶手冊、數據庫設計說明書、修訂測試計劃)。

2、總體設計分為哪兩個階段?

系統設計階段,確定系統的具體實現方案;結構設計階段,確定軟件結構。

3、總體設計過程包括幾個步驟?

1.設想供選擇的方案 2.選取合理的方案 3.推薦最佳方案 4.功能分解 5.設計軟件結構 6.設計數據庫 7.制定測試計劃 8.書寫文檔 9.審查和復審

4、模塊化

是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。

5、模塊化的優點

(1)模塊化使軟件容易測試和調試,因而有助于提高軟件的可靠性。

011控制范圍:是模塊本身和它的下屬模塊的集合。作用范圍:模塊中的一個判定影響的所有模塊的集合。作用范圍應該在控制范圍內。

33、什么是變換流?什么是事物流? 變換流由輸入、變換(或處理)、輸出三部分組成。

事物流某個加工將它的輸入流分離成許多發散的數據流,形成許多加工路徑,并根據輸入選擇其中一個路徑來執行。

34、試述“變換分析”﹑“事物分析”設計步驟。變換分析設計步驟:

⑴確定變換中心,邏輯輸入和輸出。

⑵設計軟件結構的頂層和第一層--變換結構:頂層的功能是完成所有模塊的控制(名稱應是系統名,以體現完成整個系統功能)

第一層至少有三種功能模塊:輸入﹑輸出和變換模塊

⑶設計中﹑下層模塊,對第一層的模塊自頂向下分解。

輸入模塊由兩部分組成:接收數據﹑轉換成調用模塊所需信息。

輸出模塊由兩部分組成:將數據轉換成下屬模塊所需的形式﹑ 發送數據 變換模塊:對每個基本加工建立一功能模塊

⑷設計的優化 :輸入部分求精,每個物理輸入設置專門模塊,以體現系統的外部接口。其它輸入模塊與轉換數據模塊都很簡單時,可將它們合并。

輸出部分求精:每個物理輸出設置專門模塊,其它也可適當合并。變換部分求精:根據設計準則,對模塊適當合并。

事務分析的設計步驟:

⑴確定事務中心和加工路徑

⑵設計頂層(事務機構)和第一層 頂層模塊有兩個功能:接收數據和根據事務類型調動相應處理模塊。

⑶中下層模塊的設計﹑優化工作與變換結構相同。

事務型軟件結構包括兩部分: 接收分支 發送分支出 通常包括一調度模塊,當事務類型不多時,可與主模塊合并。

35、請將下圖的DFD轉換為軟件結構圖。

解:

第五章 詳細設計

1、詳細設計的基本任務是什么?有那幾種描述方法?

設計模塊的數據結構、設計數據庫的物理結構、設計模塊的詳細算法、其它(代碼設計、輸入/輸出格式設計、人機對話設計)、編寫詳細設計說明書、評審。

程序流程圖、PAD圖、PDL。

2、請使用流程圖、PAD圖和PDL語言描述下列程序的算法。(1)在數據A(1)~A(10)中求最大數和次大數。

PDL語言描述:

GET(a[1],a[2],...a[10])

max=a[1];

max2=a[2];

FOR i=2 TO 10

IF a[i]>max

max2=max;

max=a[i];

ELSE

IF a[i]>max2

max2=a[i];

ENDIF

ENDIF

ENDFOR

PUT(max,max2)

END

3、輸入三個正整數作為邊長,判斷該三條邊構成的三角形是等邊、等腰還是一般三角形。使用流程圖、PAD圖和PDL語言描述。解:如圖:

PDL語言描述如下:

GET(a,b,c)

IF(a+b>c and b+c>a and c+a>b)

IF(a=b)

IF(a=c)

PUT(“等邊三角形”)

ELSE

PUT(“等腰三角形”)

ENDIF

ELSE

IF(a=c)

PUT(“等腰三角形”)

ELSE

IF(b=c)

6(6)對發現錯誤較多的程序段,應進行更深入的測試。

(7)程序員應避免測試自己的程序。測試是一種“挑剔性”的行為,心理狀態是測試自己程序的障礙。

2、什么是白盒測試法?有哪些覆蓋標準?試對他們的檢錯能力進行比較? 答:白盒法測試法把測試對象看作一個打開的盒子,測試人員須了解程序內部結構和處理過程,以檢查處理過程的細節為基礎,對程序中盡可能多的邏輯路徑進行測試,檢驗內部控制結構和數據結構是否有錯,實際的運行狀態與預期的狀態是否一致。白盒法有下列幾種覆蓋標準:

? 語句覆蓋:設計若干個測試用例,運行被測程序,使得每一可執行語句至少執行一次。? 判定覆蓋:設計若干個測試用例,運行被測程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次。

? 條件覆蓋:設計若干個測試用例,運行被測程序,使得程序中每個判斷的每個條件的可能取值至少執行一次。

? 判定/條件覆蓋:設計足夠的測試用例,使得判斷中每個條件的所有可能取值至少執行一次,同時每個判斷中的每個條件的可能取值至少執行一次。

? 條件組合覆蓋:設計足夠的測試用例,運行被測程序,使得每個判斷的所有可能的條件取值組合至少執行一次。

? 路徑覆蓋:設計足夠的測試用例,覆蓋程序中所有可能的路徑。從上到下的覆蓋標準其檢錯能力也從弱到強,其中條件組合發現錯誤的能力較強,凡滿足其標準的測試用例,也必然滿足前四種覆蓋標準。在實際的邏輯測試中,一般以條件組合覆蓋為主設計測試用例,然后再補充部分用例來達到路徑覆蓋的測試標準。

3、什么是黑盒測試法?采用黑盒技術測試用例有哪幾種方法?這些方法各有什么特點? 答:黑盒測試法把被測試對象看成是一個黑盒子,測試人員完全不考慮程序的內部結構和處理過程,只在軟件接口處進行測試,依據需求規格說明書,檢查程序是否滿足功能要求。采用黑盒技術測試用例的方法有:

等價類的劃分、邊界值分析、錯誤推測和因果圖。

? 等價類的劃分:是將輸入數據按有效的或無效的(也稱合理的或不合理的)劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試。這樣就把漫無邊跡的隨機測試改為有針對性的等價類測試,用少量有代表性的例子代替大量測試目的相同的例子,能有效地提高測試效率。但這個方法的缺點是沒有注意選擇某些高效的、能夠發現更多錯誤的測試用例。

? 邊界值分析法:是將測試邊界情況作為重點目標,選取正好等于、剛剛大于和剛剛小于邊界值的測試數據。(邊界情況是指輸入等價類和輸入等價類邊界上的情況。)這種方法可以查出更多的錯誤,因為在程序中往往在處理邊界情況時易發生錯誤。

? 錯誤推測法:是在測試程序時,人們根據經驗或直覺推測程序中可能存在的錯誤,從而有針對性地編寫檢查這些錯誤的測試用例。? 因果圖:能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。它的基本原理是通過畫因果圖,把用自然語言描述的功能說明轉換為判定表,最后為判定表的每一列設計一個測試用例。

這幾種方法都不能提供一組完整的測試用例,在實際測試中應把各種方法結合起來使用。綜合策略:就是聯合使用上述幾種測試方法,盡可能多地發現程序中的錯誤。

4、軟件測試要經過哪些步驟?這些測試與軟件開發各階段之間有什么關系?

-***3-

下載軟件工程復習資料word格式文檔
下載軟件工程復習資料.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


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

相關范文推薦

    軟件工程

    1.軟件危機的概念 系統的數據要求,功能需求,性能需求,顯示出程序的輪廓。 軟件危機是指在計算機軟件開發、使用與可靠性需求,可用性需求,出錯處理需求,混合方式 維護過程中遇到的......

    《軟件工程》

    《軟件工程》課程分析 本課程是軟件技術專業學生必修的一門專業必修課。根據培養軟件開發人員的需要,本課程的任務是使學生通過本課程的學習,了解軟件項目開發和維護的一般過......

    軟件工程

    軟件工程 1. 談談你對軟件工具的理解,你用過什么軟件工具 軟件工具是指為支持計算機軟件的開發、維護、模擬、移植或管理而研制的程序系統。它是為專門目的而開發的,在軟件工......

    軟件工程

    軟件工程—心得體會 摘要 本文結合基層實踐教學的實際情況和現實需要,系統地總結了《軟件工程》實踐教學的特征,詳細分析了實踐教學過程存在的問題,并提出了該課程實踐教學改革......

    軟件工程

    一、名詞解釋 軟件: 指計算機系統中的程序及其文檔。 支持軟件:支持軟件的開發和維護的軟件。 系統軟件:屬于計算機系統中最靠近硬件的一層,其它軟件一般都通過系統軟件發揮作......

    軟件工程

    2.2軟件開發的基本策略 人們都有自己的世界觀和方法論,能自然而然地運用于生活和工作中。同樣,程序員腦子里的軟件工程觀念會無形地支配其怎么去做事情。軟件工程三十年的發......

    軟件工程

    填好發給我!!!!一、填空題: 1.面向對象分析的目的是對客觀世界的系統進行 __________________,對象就是客觀世界的; 2.軟件工程方法學包括:工程環境建立、方法、工具和過程; 3.思想概括......

    軟件工程

    1. 軟件工程:是指導計算機軟件開發和維護的工程學科 2. 軟件危機:是指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題 3. 軟件過程:是為了開發出高質量的軟件產品所需......

主站蜘蛛池模板: 国产精品久久久久久久久ktv| 熟女人妻aⅴ一区二区三区60路| 无码三级中文字幕在线观看| av在线播放日韩亚洲欧| 亚洲乱码尤物193yw| 久久综合九色综合网站| 国产精品不卡无码av在线播放| 亚洲欧美日韩国产精品专区| 另类内射国产在线| 在线高清亚洲精品二区| 成在人线av无码免费高潮求绕| 亚洲av福利无码无一区二区| 人妻av一区二区三区精品| 亚洲国产精品va在线播放| 5060国产午夜无码专区| 久久国产精品日本波多野结衣| 亚洲精品久久一区二区无卡| 国产高潮又爽又刺激的视频| а√中文在线资源库| 久久精品aⅴ无码中文字字幕蜜桃| 少妇av射精精品蜜桃专区| 少妇人妻丰满做爰xxx| 在线岛国片免费观看无码| 国产精久久???老狼网站漫画| 曰韩免费无码av一区二区| 捆绑白丝粉色jk震动捧喷白浆| 国产精品免费看久久久无码| 午夜视频在线观看免费观看1| 国产 中文 亚洲 日韩 欧美| 无码综合天天久久综合网色吧影院| 亚洲春色cameltoe一区| 久久久久国产精品| 麻豆一区二区在我观看| 久草热8精品视频在线观看| 国内揄拍国产精品人妻电影| 国产av丝袜旗袍无码网站| 欧美综合人人做人人爱| 无码精品人妻一区二区三区中| 午夜伦情电午夜伦情电影| 亚洲中文无码线在线观看| 天干天干天啪啪夜爽爽99|