資源描述:
《軟工概論增加版》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、chap1*軟件工程概念(p1)1、概念采用工程的概念、原理、技術和方法來開發(fā)和維護計算機軟件,將工程管理技術的成功經驗和思想與具體的軟件開發(fā)過程、研究技術相結合,形成一整套適合計算機軟件開發(fā)的方法、規(guī)范和技術。l軟件:能夠完成預定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數據,加上描述程序的操作和使用的文檔。1.1軟件發(fā)展和軟件危機l主要問題:l如何開發(fā)軟件來滿足對軟件的日益成長的需求l如何維護數量不斷膨脹的已有軟件l產生軟件危機的原因(軟件本身的特點)l軟件開發(fā)進展情況較難衡量,軟件開發(fā)質量難以評價,管理和控制軟件
2、開發(fā)過程相當困難l軟件沒有“磨損”概念,軟件維護通常意味著改進或修改原來的設計l軟件的顯著特點是規(guī)模龐大l產生軟件危機的原因(軟件開發(fā)人員的錯誤觀點)l忽視軟件需求分析l認為軟件開發(fā)就是編寫程序忽視軟件維護l軟件工程學包括軟件開發(fā)技術和軟件工程管理。chap2*軟件生命周期過程及其模型,***瀑布模型、原型化模型(p15,p18)、V模型(p25)l軟件生命(生存)周期是軟件產品或系統(tǒng)一系列相關活動的全周期。從形成概念開始,經過研制,交付使用,在使用中不斷增補修訂,直到最后被淘汰,讓位于新的軟件產品的過程。l軟件生命周期的一種典型
3、的階段劃分為七個階段:l問題定義和可行性研究l需求分析l概要設計l詳細設計l編碼l測試l維護l軟件生命周期的另一種典型階段劃分:l軟件定義l軟件開發(fā)l軟件測試l軟件使用與維護2、瀑布模型特點階段的順序性和依賴性推遲實現的觀點質量保證存在問題不適合需求模糊的系統(tǒng)3、快速原型模型特點快速開發(fā)工具循環(huán)低成本種類漸進型拋棄型4、螺旋模型特點瀑布模型+快速原型+風險分析迭代過程一個螺旋式周期確定目標,選擇方案,選定完成目標的策略風險角度分析該策略啟動一個開發(fā)階段評價前一步的結果,計劃下一輪的工作5、V模型的處理過程(1)需求定義(2)系統(tǒng)設
4、計(3)編碼(4)集成(5)確認(6)驗證l軟件需求規(guī)格說明書(SoftwareRequirementsSpecification,SRS)l功能需求充分描述了軟件系統(tǒng)所應具有的外部行為。l非功能需求描述了系統(tǒng)展現給用戶的行為和執(zhí)行的操作等。性能、質量、對外接口、約束……l將軟件的功能需求分為三個層次:l業(yè)務需求(businessrequirement)l用戶需求(userrequirement)功能(系統(tǒng))需求(functionalrequirement)chap4*模塊獨立性:模塊化概念、內聚、耦合(p55,p60~62,p5
5、6~58)SC圖1、模塊化的概念:把程序劃分為若干模塊,分別實現2、模塊耦合性:是對軟件程序結構中各個模塊之間相互關聯(lián)程度的一種度量。耦合性越高,模塊獨立性越差。1、模塊內聚性:是指一個模塊內各個成分彼此結合的緊密程度。內聚性越高,模塊功能越強,功能越單一。l通信性內聚(communicationalcohesion):一個模塊內各功能部分都使用了相同的輸入數據,或產生了相同的輸出數據。l順序性內聚(sequentialcohesion):一個模塊內的各個組成部分順序執(zhí)行幾個處理動作,前一個處理動作產生的輸出數據是下一個處理工作的
6、輸入數據。l模塊是軟件設計的最小單位。l模塊化的優(yōu)點:l可以使軟件結構清晰,容易設計、容易閱讀和理解、容易測試和調試。l提高軟件的可靠性。l有助于軟件開發(fā)工程的組織管理。軟件概要設計的目標是力求增加模塊的內聚,盡量減少模塊間的耦合。增加內聚比減少耦合更重要。2、SC圖:結構圖(SC圖,StructureChat)(詳細圖形介紹見P64-65)chap5****流程圖、N-S盒圖(p78~79)(詳細圖形介紹見課本P64-65)5.1詳細設計的概念l詳細設計的任務:l數據結構設計l算法設計l物理設計l界面設計l其他設計:代碼、輸入/
7、輸出格式、人機對話、網絡l編寫設計說明書l評審l三種基本程序結構:順序,選擇和循環(huán)l描述方式l程序流程圖lN-S流程圖lPAD圖l詳細設計語言chap7**面向對象概念(p104),***4+1軟件體系結構(p112)7.2面向對象的分析(OOA)l基本的OOA模型由3個層次構成:l對象層:發(fā)現對象l特征層:定義屬性和服務l關系層:定義對象類之間的關系l復雜系統(tǒng)的OOA模型由5個層次構成:l類和對象層l屬性層l服務層l結構層l主題層:把一些具有較強聯(lián)系的類組織在一起構成類集合。(不同粒度層次上表示或理解系統(tǒng)模型)l面向對象設計(O
8、bject-OrientedDesign,OOD):分為兩個階段,即高層設計和低層設計。1、面向對象是一種認識客觀世界的世界觀,是從結構組織角度模擬客觀世界的一種方法。對象是現實世界中存在的一個物理的或者概念的事物。類具有屬性,它是同類屬對象共同狀