軟件工程概念_第1頁
軟件工程概念_第2頁
軟件工程概念_第3頁
軟件工程概念_第4頁
軟件工程概念_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、軟件工程概念 第一章:軟件定義1. 軟件( Software ):計算機系統中與硬件相互依存的另一部分, 它是包括 程序( Program ) , 數據( Data )及其相關 文檔 ( Document )的完整集合。2. 軟件的特征 :邏輯復雜,開發(fā)復雜,成本高,風險大,維護困難。3. 按軟件功能分類 :系統軟件,支撐軟件,應用軟件。系統軟件 : 操作系統,數據庫管理系統,設備驅動程序,通信處理程序等支撐軟件 : 文本編輯程序,文件格式化程序,程序庫系統等 應用軟件 :商業(yè)數據處理軟件,工程與科學計算軟件,計算機輔助設計制造軟件,系統 仿真軟件,智能嵌入軟件,醫(yī)療、制藥軟件,事務管理、辦公

2、自動化軟件。 按軟件規(guī)模分類:微型,小型,中型,大型,甚大型,極大型。按軟件工作方式分:實時處理軟件,分時軟件,交互式軟件,批處理軟件4. 軟件危機 :是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題5. 軟件危機主要是兩個問題 :1. 如何開發(fā)軟件, 以滿足對軟件的日益增長的需求? 2. 如何維 護數量不斷膨脹的已有軟件?5. 軟件危機的表現 : 1.成本高,開發(fā)成本估計不準確2.軟件質量不高、可靠性差 3. 進度難以控制 4.維護非常困難 5. 用戶不滿意 6. 由于軟件質量問題導致失敗的軟件項目非常多。6. 產生軟件危機的原因 :1. 與軟件本身的特點有關 2. 與軟件開發(fā)與維護

3、的方法不正確有關 . 軟件工程學的目的 :以較低的成本研制具有較高質量的軟件 軟件工程技術的兩個明顯特點: 1. 強調規(guī)范化 2. 強調文檔化軟件工程的基本原理 (7 條):1. 用分階段的生命周期計劃嚴格管理2.堅持進行階段評審 3.實嚴格的產品控制 4.采用現代程序設計技術 5. 結果應能清楚地審查 6. 開發(fā)小組的人員應該 少而精 7. 承認不斷改進軟件工程實踐的必要性,軟件開發(fā)( 總體設計,持久滿足用戶需求) ,螺旋模型,噴泉模型。移交階段8. 軟件工程方法學包含 3 個要素: 方法、工具和過程9. 軟件生命周期: 軟件定義(問題定義,可行性研究,需求分析) 詳細設計,編碼和單元測試,

4、集成測試) ,運行維護10. 軟件過程模型:瀑布模型,快速原型模型,增量模型11. 軟件過程模型 RUP初始階段,細化階段,構造階段,第二章:可行性研究的任務1 .可行性研究的五個方案 :技術可行性,經濟可行性,操作可行性,法律可行性,社會效 益2. 可行性研究過程: 1 .復查系統規(guī)模與目標、 2.研究目前的系統、 3. 導出新系統的高層邏 輯模型、 4. 進一步定義問題、 5. 導出和評價供選擇的解法、 6. 推薦行動方針、 7. 草擬 開發(fā)計劃、 8. 書寫文檔提交審查3. 系統流程圖 :用來描述物理系統的工具。4. 系統流程圖表達 :是數據在系統各部件之間流動的情況,而不是對數據進行加

5、工處理的 控制過程。即:系統流程圖工程序流程圖。5. 系統流程圖的基本思想 :用圖形符號以黑盒子形式描繪組成系統的每個部件6. 系統流程圖元素: 處理,輸入輸出,連接,換頁連接,數據流。7. 數據流圖 :用來描述邏輯系統的工具。數據流圖(DFD)是一種圖形化技術,它描繪信息流和數據從輸入移動到輸出的過程中所經受 的變換,即數據流圖描繪數據在軟件中流動和被處理的邏輯過程。8. 數據流圖四種基本符號 :數據加工 /處理/ 變換, 數據源點或終點 ( 外部實體) ,數據存儲, 數據流。9. 數據字典的組成 :數據流,數據流分量(數據元素) ,數據存儲,處理。10. 數據元素 :順序,選擇,重復,可選

6、。第三章:需求分析1. 需求分析: 軟件定義時期的最后一個階段,2. 需求分析的基本任務: 不是確定系統怎樣完成它的工作,而是確定系統必須完成哪些工 作,也就是對目標系統提出完整、準確、清晰、具體的要求3. 軟件需求的組成: 業(yè)務需求, 用戶需求,系統需求。4. 需求分析方法:面向數據流的結構化分析方法 (SA) ,面向對象的分析方法 (OOA) 等5. 邏輯模型:數據流圖(DFD),數據字典(DD),實體-關系圖(ERD),狀態(tài)轉換圖(STD)6. 物理模型:系統流程圖,7. 需求分析的基本思想 : “自頂向下,逐步求精” ,抽象和分解8. 需求分析 ; 功能模型數據流圖,數據模型實體 -

7、關系圖,行為模型狀態(tài)轉換圖9. 實體-關系圖(ERD):描述數據對象及數據對象之間的關系10. 數據流圖(DFD):描述數據在系統中如何被傳送或變換,以及描述如何對數據流進行變換的功能(子功能)11. 狀態(tài)轉換圖(STD):描述系統對外部事件如何響應,如何動作模型的核心是數據字典12. 實體-聯系圖(ER)組成:數據對象(實體)、數據對象的屬性及數據對象彼此間相互連 接的關系。聯系:一對一聯系,一對多聯系,多對多聯系。 通常用矩形框代表實體;用連接相關實體的菱形框表示關系;用橢圓形或圓角矩形表示實 體(或關系)的屬性;并用直線把實體 (或關系)與其屬性連接起來。13. 數據規(guī)范化目的是: 1.

8、 消除數據冗余,即消除表格中數據的重復; 2. 消除多義性,使關 系中的屬性含義清楚、單一; 3.使關系的“概念”單一化,讓每個數據項只是一個簡單的數 或字符串, 而不是一個組項或重復組; 4. 方便操作。使數據的插入、刪除與修改操作可行并 方便; 5. 使關系模式更靈活,易于實現接近自然語言的查詢方式。14. 狀態(tài)轉換圖 ( 簡稱為狀態(tài)圖 ) :通過描繪系統的狀態(tài)及引起系統狀態(tài)轉換的事件,來表示系統的行為。此外,狀態(tài)圖還指明了作為特定事件的結果,系統將做哪些動作(例如,處理數據 )。15. 狀態(tài):初態(tài):一個,終態(tài):0 或多個,中間狀態(tài)有效性。16. 驗證軟件需求:一致性,完整性,現實性,第五

9、章:總體設計1. 總體設計(概要設計) :將軟件需求轉化為數據結構和軟件的系統結構2. 數據庫設計包括三個步驟:模式設計,子模式設計,存儲模式設計。3. 軟件設計原理:模塊化,抽象,逐步求精,信息隱藏與信息局部化,模塊獨立4. 模塊:是由邊界元素限定的相鄰程序元素 (例如,數據說明, 可執(zhí)行的語句 )的序列,而且 有一個總體標識符代表它。C、C+和Java語言中的.對過程、函數、子程序和宏等面向對象方法學中的對象是模塊,對象內的方法也是模塊 模塊化是好的軟件設計的一個基本準則5. 模塊獨立的含義 :模塊完成獨立的功能,符合信息隱藏和信息局部化原則,模塊間關連 和依賴程度盡量小。6. 獨立性的度

10、量:耦合、內聚。7. 耦合是對一個軟件結構內不同模塊之間互連程度的度量。8. 耦合的強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點以及通過接口的數 據9. 模塊間的耦合程度強烈影響系統的可理解性、可測試性、可靠性和可維護性。 耦合性越高,模塊獨立性越弱10. 耦合強度依賴的因素: 一模塊對另一模塊的引用 一模塊向另一模塊傳遞的數據量 一模塊施加到另一模塊的控制的數量 模塊間接口的復雜程度11. 耦合性由強到弱排列為:內容耦合,公共耦合,特征耦合,控制耦合,數據耦合。12. 原則:盡量使用數據耦合,少用控制耦合,限制公共耦合的范圍,完全不用內容耦 合。13. 內聚 (Cohesion)

11、:標志一個模塊內各元素彼此結合的緊密程度。14. 內聚有七種,由弱到強分別為:偶然內聚-邏輯內聚-時間內聚 -過程內聚 -通信分層的層數。過大表示分工過細。 同一層上模塊數的最大值。過大表示系統復雜度大。 一個模塊直接調用 / 控制的模塊數。 直接調用該模塊的模塊數。 這個模塊本身以及所有直接或間接從屬于它的模塊的集合。內聚 - 順序內聚 - 功能內聚。15. 深度 =16. 寬度 =17. 扇出 =18. 扇入 =19 控制域:20. 作用域:受該模塊中的一個判定所影響的所有模塊的集合。 面向數據流的設計方法:變換流,事務流。第六章:詳細設計1.詳細設計: 描述系統的每個程序,包括每個模塊和

12、子程序名稱、標識符、層次結構 系2. 對程序的功能、性能、輸入、輸出、算法、流程、接口等進行描述3. 程序控制結構:順序、選擇,循環(huán), (多分支, DOWhile ,DO Until) 五種基本控制結 構。4. 程序流程圖又稱為程序框圖:是對一個模塊的內部執(zhí)行過程用圖形來描述。5. 盒圖: 只能從上邊進入,從下邊走出,沒有其他的入口和出口,6. 盒圖的基本符號:順序,選擇型(If-then-else),多分支選擇型(CASE型),DO-WHILE循環(huán)(先測試循環(huán) ), DO-UNTIL 循環(huán)(后測試循環(huán) ). 調用子程序 .圖:PAD圖中豎線的總條數就是程序中的層次數圖基本符號:順序,選擇,循

13、環(huán)Case分支,語句標號,定義.9. 判定表: 左上部列出所有的 條件,左下部是所有可能的 操作,右上部是各種條件的 組合 矩陣,右下部是每種條件組合對應的 動作第七章:軟件實現1. 實現:編碼和測試2 編碼:把軟件設計結果翻譯成用某種程序設計語言書寫的程序3. 程序設計語言:機器語言,匯編語言,高級語言4. 程序內部的文檔包括:恰當的標識符,適當的注釋,程序的視覺組織 。5. 符號名即標識符 ; 包括模塊名、變量名、常量名、標號名、子程序名、數據區(qū)名以及 緩沖區(qū)名等。6. 程序的注釋 : 程序員與日后的程序讀者之間通信的重要手段7. 注釋分為序言性注釋和功能性注釋 .8. 軟件測試是保證軟件

14、質量的關鍵步驟,是對軟件規(guī)格說明、 設計和編碼的最后復審, 其工件量約占總工作量 40%以上(對于人命關天的情況,測試相當于其它部分總成本的 3 5 倍)。8.軟件測試方法:靜態(tài)測試方法 , 動態(tài)測試方法9. 靜態(tài)測試方法 :人工測試方法 , 計算機輔助靜態(tài)分析方法10. 動態(tài)測試方法 :白盒測試方法 ,黑盒測試方法 .11. 黑盒測試法又稱功能測試 : 把程序看作一個黑盒子,完全不考慮程序的內部 結構和處理過程12. 白盒測試法又稱為結構測試:把程序看成裝在一個透明的白盒子,測試者完 全知道程序的結構和處理算法13. 軟件測試步驟: 1. 模塊測試又稱(單元測試) , 2.子系統測試, 3.

15、系統測試 稱為集成測試, 4. 驗收測試也稱為確認測試, 5. 平行運行14. 單元測試主要使用白盒測試技術。15. 單元測試重點:模塊接口,局部數據結構 ,重要的執(zhí)行通路,出錯處理通路,邊界 條件。16. 集成測試方法: 非漸增式測試方法,漸增式測試方法17. 漸增式測試策略: 可使用深度優(yōu)先的策略,或寬度優(yōu)先的策略18. 回歸測試:是指重新執(zhí)行已經做過的測試的某個子集,以保證修改變化沒有帶來非 預期的副作用。19. 白盒測試技術: 邏輯覆蓋條件組合覆蓋, 點覆蓋 = 語句覆蓋,邊覆蓋 =判定覆蓋,路徑覆蓋 與條件組合覆蓋。 每條語句至少執(zhí)行一次:每一判定的每個分支至少執(zhí)行一次 每一判定中的

16、每個條件,分別按“真” 、“假”至少各執(zhí)行一次20. 邏輯覆蓋是以程序內部的邏輯結構為基礎的設計測試用例的技術。21. 邏輯覆蓋: 語句覆蓋, 判定覆蓋 ,條件覆蓋,判定條件覆蓋,21. 路徑覆蓋,22. 語句覆蓋:23. 判定覆蓋24. 條件覆蓋:25. 判定條件覆蓋: 同時滿足判定覆蓋和條件覆蓋的要求26. 條件組合覆蓋: 求出判定中所有條件的各種可能組合值,每一可能的條件組合至少 執(zhí)行一次。27. 路徑覆蓋: 每條可能的路徑都至少執(zhí)行一次,若圖中有環(huán),則每個環(huán)至少經過一次28. 黑盒測試著重測試軟件功能。29. 黑盒測試技術: 等價類劃分,邊界值分析法,錯誤推測法30. 等價類:有 效等

17、價類和無效等價類31. 邊界值分析法, 應該選取剛好等于、稍小于和稍大于等價類邊界值的數據作為測試 數據32. 調試途徑調試策略: 蠻干法,回溯法,原因排除法 -33. 原因排除法 - 包括: 對分查找法、歸納法、演繹法34. 軟件可靠性:可靠性,可用性,正確性35. 可靠性和可用性的區(qū)別是: 可靠性是在 0到 t 時間間隔內,系統沒有失效的概率。 而可用性是在 t 時刻,系統正常運行的概率。第九章:軟件維護1.軟件維護的定義:件的過程。2. 軟件維護的原因:能發(fā)現。3. 軟件維護的類型:4. 軟件維護的內容:5.軟件維護的特點:維護的問題。6.軟件維護過程:活動,在軟件已經交付使用之后, 為了改正錯誤或滿足新的需要而修改軟在運行中發(fā)現軟件錯誤和設計缺陷, 這些錯誤和缺陷在測試階段未改正性維護,適應性維護,完善性維護,預防性維護 程序維護,數據維護,硬件維護 結構化維護與非結構化,維護的代價分(有形代價和無形代價)建立維護組織,維護報告,維護的事件流,保存維護記錄,評價維護1. 決定軟件可維護性的因素(可理解性,可測試性,可修改性,可3. 復審7. 軟件的可維護性:移植性, 可重用性) 2. 文檔 影響可維護性的決定因素,比代碼更重要。2、某

溫馨提示

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

評論

0/150

提交評論