軟件工程期末復習提綱_第1頁
軟件工程期末復習提綱_第2頁
軟件工程期末復習提綱_第3頁
軟件工程期末復習提綱_第4頁
軟件工程期末復習提綱_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、僅供參考第1章緒論1、了解軟件的概念軟件=程序+文檔+數據程序:提供功能和性能的指令數據:使得程序能夠適當地操作信息的數據結構文檔:描述程序的操作和使用2、了解軟件工程的概念軟件工程是應用計算機科學、數學及管理科學等原理,以工程化的原則和方法制作軟件的工程3、了解軟件危機的產生、表現表現:許多軟件項目不能滿足客戶的要求許多軟件項目超出預算和時間安排產生:對軟件開發成本和進度的估計常常很不正確用戶對“已完成的”軟件系統不滿意的現象經常發生軟件產品的質量往往靠不住軟件常常是不可維護的軟件通常沒有適當的文檔資料軟件成本在計算機系統總成本中所占的比例逐年上升軟件開發生產率提高的速度遠遠跟不上計算機應用

2、迅速普及深入的趨勢4、理解軟件的生存周期軟件生存周期大體可分為如下幾個活動:計算機系統工程、需求分析、設計、編碼、測試、運行和維護5、理解軟件開發模型(書上看瀑布模型、增量模型、噴泉模型、第2章系統工程1、了解可行性分析(目的、措施如經濟、技術方面的可行性;了解經濟可行性的成本和效益經濟可行性主要進行成本效益分析,從經濟角度,確定系統是否值得開發。成本:購置硬件、軟件和設備;系統的開發費用;系統安裝、運行和維護費用;人員培訓費用。效益:經濟效益:使用系統后可增加的收入、可節省的運行費用。社會效益:對社會產生的影響,定性估計技術可行性分析,分析現有資源和技術條件下系統能否實現。1、風險分析:分析

3、在給定的約束條件下設計和實現系統的風險。風險分析的目的是找出風險,評價風險的大小,并有效地控制和緩解風險2、資源分析:論證是否具備系統開發所需的各類人員、軟件、硬件等資源和相應的工作環境。3、技術分析:分析當前的科學技術是否支持系統開發的各項活動。第3章需求工程1、了解需求分析的概念及在軟件周期中的作用需求分析是軟件定義士氣的最后一個階段,它的基本認為是準確地回答“系統必須做什么”這個問題。也就是對目標系統提出完整、準確、清晰、具體的要求。通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。軟件需求規約是分析任務的最終產物,需求規約

4、作為用戶和開發者之間的一個協議,在之后的軟件工程各個階段發揮重要作用2、了解需求分析階段產生的文檔需求規則說明書的內容數據要求、功能需求、性能需求、可靠性和可用性要求、出錯處理需求、接口需求、約束、逆向需求、將來可能要提出的要求第4章結構化需求分析1、了解數據流圖的繪制過程1.畫系統的輸入和輸出2.畫系統內部3.畫加工內部4.重復第3步,直至每個尚未分解的加工都足夠簡單2、掌握數據流圖的表示方法3、了解數據字典的內容數據字典條目包括:數據流、文件、數據項(組成數據流和文件的數據、加工、源或宿4、掌握數據字典中數據的表示方法5、了解加工邏輯的描述方法的區別A結構化語言:介于自然語言和形式語言之間

5、的一種半形式語言B判定表C判定樹:判定表的變種,本質上與判定表是相同的,只是表示形式不同第5章設計工程與結構化設計1、了解軟件設計的概念軟件設計=軟件需求>軟件表示軟件設計:軟件體系結構設計、部件級設計2、了解結構化軟件設計的基本原則(抽象、逐步求精、模塊化、信息隱藏、模塊獨立a抽象:考慮高層問題時忽略低層細節b逐步求精:不斷接近問題的完整解c模塊化:將系統劃分為相對獨立但又有所關聯的多個部分d信息隱藏:對其它模塊隱藏內部細節e模塊獨立:模塊功能相對獨立高內聚/低耦合3、掌握模塊化的思想將系統劃分為若干個較小的模塊:a相互獨立但又相互關聯b實際上是系統分解和抽象的過程模塊是相對獨立的程序

6、體:a是數據說明、可執行語句等程序對象的集合b單獨命名的,并且可以通過名字來訪問4、理解模塊獨立性的指標(內聚、耦合模塊獨立是模塊化的根本要求:a模塊完成獨立的功能:明確可辨識b高內聚c低耦合d符合信息隱蔽和信息局部化原則內聚(cohesion:一個模塊內部各個元素彼此結合的緊密程度盡量高耦合(coupling:模塊之間相互關聯的程度盡量低模塊內聯系越緊密,內聚性就越高;模塊間連接越緊密,耦合性就越高5、了解結構化設計的概念結構化設計(Structured Design,簡稱SD 數據流圖>軟件體系結構強調模塊化、自頂向下逐步求精、信息隱蔽、高內聚低耦合等設計準則分為概要設計和詳細設計兩

7、大步驟a概要設計:分模塊、模塊接口、調用關系b詳細設計:對模塊實現細節的設計,采用結構化程序設計(Structured Programming,簡稱SP方法6、了解結構圖的相關概念a用結構圖(Structure Chert來描述軟件系統的體系結構b描述一個軟件系統由哪些模塊組成,以及模塊之間的調用關系c結構圖的基本成分有:模塊、調用和數據結構圖的幾個概念:a深度:程序結構圖中控制的層數b寬度:程序結構圖中同一層次上模塊總數的最大值c扇出(fan out:該模塊直接調用的模塊數目。D扇入(fan in:能直接調用該模塊的模塊數目。7、了解結構化設計的啟發規則(模塊規模、扇入扇出的程度、掌握模塊的

8、作用域與控制域的關系的啟發原則一、按照模塊化設計原則,相應的啟發式設計策略如下:a改造程序結構圖,降低耦合度,提高內聚度b避免高扇出,并隨著深度的增加,力求高扇入二、三、降低模塊接口的復雜程度和冗余程度,提高一致性模塊的功能應是可預測的,避免對模塊施加過多的限制A模塊功能可預測是指該模塊對相同的輸入能產生相同的輸出B限制一個模塊只處理單一的功能,那么,這個模塊體現出高內聚盡可能設計單入口和單出口的模塊A單入口和單出口的模塊能有效地避免內容耦合8、了解結構化分析中畫結構圖時的信息流A結構化設計是將結構化分析的結果(數據流圖映射成軟件的體系結構(結構圖B信息流:變換流和事務流C將數據流圖分為變換型

9、數據流圖和事務型數據流圖,對應的映射分別稱為變換分析和事務分析變換流特征:數據流圖可明顯地分成輸入、變換、輸出三部分事務流特征:數據流沿著輸入路徑到達一個事務中心,事務中心根據輸入數據的類型在若干條動作路徑中選擇一條來執行9、掌握人機界面設計的內容(重要性、時機的選擇、考慮的問題、設計指南(數據輸入指南書本p103第7章軟件測試1、了解軟件測試的目的測試是一個為了發現錯誤而執行程序的過程一個好的測試用例是指很可能找到迄今為至尚未發現的錯誤的測試用例一個成功的測試是指揭示了迄今為至尚未發現的錯誤的測試2、了解軟件測試方法的分類及它們各自包含的常用測試方法(黑盒測試即功能測試;白盒測試即結構測試測

10、試分為兩類:白盒測試和黑盒測試A白盒測試目的:檢查程序中所有邏輯路徑的正確性白盒測試方法有:邏輯覆蓋測試、基本路徑覆蓋測試、數據流測試、循環測試B黑盒測試是依據軟件的需求規約,檢查程序的功能是否符合需求規約的要求。主要的黑盒測試方法有:等價類劃分、邊界值分析、比較測試、錯誤猜測、因果圖3、掌握軟件測試的定義、軟件測試的策略(即階段或步驟程序測試是證明程序正確地執行了預期的功能,完成它所需完成的功能,且不應完成它不該做的事一種測試策略就是將測試分為單元測試、集成測試、確認測試和系統測試。a單元測試是針對程序中的模塊或構件,主要揭露編碼階段產生的錯誤。b集成測試針對集成的軟件系統,主要揭露設計階段

11、產生的錯誤。c確認測試是根據軟件需求規約對集成的軟件進行確認,主要揭露不符合需求規約的錯誤。d對于基于計算機系統中的軟件,還需將它集成到基于計算機系統中,并進行系統測試,以揭露不符合系統工程中對軟件要求的錯誤。4、掌握軟件調試的內容測試的目的是發現錯誤,調試(也稱排錯的目的是確定錯誤的原因和準確位置,并加以糾正調試方法:a蠻力法:它通過在程序中設置斷點,輸出寄存器、存儲器的內容,打印有關變量的值等手段,獲取大量現場信息,從中找出錯誤的原因。b回溯法:回溯法是從錯誤的征兆出發,人工沿著控制流程往回跟蹤,直至發現錯誤的根源。這種方法適用于小型程序,對大型程序,由于回溯的路徑太多,難以徹底回溯。c原因排除法:原因排除法又可分為歸納法和演繹法。歸納法是一種從特殊推斷一般的系統化思考方法。其基本思想是:從一些線索(錯誤征兆著手,通過分析它們之間的關系來找出錯誤的原因。演繹法從一般原理或前提出發,假設所有可能出錯的原因,排除不可能正確的假設,最后推導出結論。第8章軟件維護與再工程1、了解軟件維護的概念、分類軟件維護:是指軟件系統交付使用以后,為了改正錯誤或滿

溫馨提示

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

評論

0/150

提交評論