下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程導論期末復習大綱第一章 軟件工程概述軟件二程序+數(shù)據+文檔1. 軟件危機:定義:電腦軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。表現(xiàn):軟件開發(fā)的本錢和進度估計常常不準確;用戶對“已完成的軟件系統(tǒng)不滿 意的現(xiàn)象經常發(fā)生;軟件產品的質量往往靠不?。卉浖3J遣豢删S護的;軟件通 常沒有適當?shù)奈臋n資料;軟件產品供不應求,跟不上電腦普及速度。產生原因:與軟件本身的特點;與關軟件開發(fā)與維護的方法不正確有關。 解決方法:消除各自為陣的理念;使用在實踐中總結出來的成功的經驗,探索更有 效地技術和方法;開發(fā)和使用更好的軟件工具。2. 軟件工程:定義:指導電腦軟件開發(fā)和維護的一門工程學科。七條根本原理:
2、用分階段的生命周期方案嚴格管理;堅持進行階段評審;實行嚴格 的產品控制;采用現(xiàn)代程序設計技術;結果應能清楚地審查;開發(fā)小組的人員應該 少而精;成認不斷改進軟件工程實踐的必要性。3. 軟件工程方法學:定義:通常把在軟件生命周期全過程中使用的一整套技術方法的集合。 兩種方法學:傳統(tǒng)方法學、面向對象方法學。優(yōu)點傳統(tǒng)方法學:把軟件生命周期劃分成假設干個階段,每個階段的任 務相對獨立,而且比擬簡單,便于不同人員分工協(xié)作,降低了整個軟件開發(fā)過程的 困難程度;在每個階段都采用科學的管理技術和良好的技術方法,每個階段都從技 術和管理兩個方面進行嚴格審查,保證軟件的質量;提高了軟件的可維護性,提高 開發(fā)成功率。
3、面向對象方法學:符合人們通常的思維方式,提高了軟件的可理解 性;對象是相對獨立的實體,重用性好;可維護性好。三種要素:方法、工具、過程。4. 軟件生命周期:軟件定義系統(tǒng)分析:問題定義、可行性研究、需求分析; 軟件開發(fā):總體設計+詳細設計一一系統(tǒng)設計、編碼和單元測試、+ 測試一-系統(tǒng)實現(xiàn);運行維護:軟件維護。5. 軟件過程:生命周期模型:瀑布模型 快速原型模型增量模型螺旋模型噴泉模型RUP模型 優(yōu)點瀑布模型:可強迫開發(fā)人員采用標準的方法,嚴格地規(guī)定了每個階 段必須提交的文檔;要求每個階段交出的所有產品都必須經過質量保證小組的仔細 驗證;它根本上是一種文檔驅動的模型。快速原型模型:減少了軟件需求不
4、明確給開發(fā)工作帶來的風險。_增量模型:很有用;減少由于軟件需求不明確而給開發(fā)工作帶來的 風險;縮短產品提交時間快。螺旋模型:對可選方案和約束條件的強調有利于已有軟件的重用和 把軟件質量看作軟件開發(fā)的一個重要目標;開發(fā)者和客戶都可以更好地理解和應對 風險。缺點瀑布模型:不適應需求經常發(fā)生變更的環(huán)境;每一步的工作都必須 以前一階段的輸出為輸入順序性,可能導致“阻塞;可能最終開發(fā)出的軟件 產品不能真正滿足用戶的需要R:幾乎完全依賴于書面的規(guī)格說明;用戶只能 通過文檔來了解產品是什么樣的。增量模型:軟件體系結構必須是開放的;本身是自相矛盾的;具有 無法集成的風險。螺旋模型:開發(fā)人員需要相當豐富的風險評
5、估經驗和專門知識。適合場所瀑布模型:用戶需求明確、完整、無重大變化的軟件工程開發(fā)??焖僭湍P停盒枨蟛煌暾能浖_發(fā)工程。增量模型:適用可多批看到和開發(fā)時間快的軟件產品開發(fā)工程。 螺旋模型:高風險的大型軟件。噴泉模型和RUP模型:需求不穩(wěn)定、不全面的軟件工程開發(fā)。特點:瀑布模型:具有順序性??焖僭湍P停壕€性順序進行。增量模型:分批地逐步向用戶提交產品,減少全新軟件給客戶帶來 的沖擊。噴泉模型:迭代、無縫對接RUP模型:迭代、漸增第二章、可行性研究分析方面:技術可行性、經濟可行性、操作可行性數(shù)據流圖DFD第三章、需求分析8個需求:獲取需求的方法綜合使用: 訪談、面向數(shù)據流自頂向下求精、簡易的應
6、用規(guī)格 說明技術、快速建立軟件模型。36狀態(tài)轉換圖會畫第五章、總體設計52設計原理:模塊化為什么模塊化耦合、內聚、層次圖一般為三層: 第六章、詳細設計6.1.結構程序設計順序、選擇、循環(huán)、單入單出6.3.過程實際的工具描述與算法之間的轉換6.5.程序復雜程度的定量度量計算程序復雜程度第九章、面向對象方法學引論三種模型:對象模型V、動態(tài)模型、功能模型第十章、面向對象分析8分大題目。問題:1、什么是軟件工程、軟件過程?軟件過程與軟件工程方法學有何關系? 答:軟件工程是指導電腦軟件開發(fā)和維護的一門工程學科。軟件過程是為獲得高質量軟件所需完成的一系列任務的框架,規(guī)定了完成 各項任務的工作步驟。關系:軟
7、件過程是軟件工程方法學的三個重要組成局部之一。2、什么是軟件生命周期模型?有哪些主要模型?各種模型的適用范圍及特點?傳 統(tǒng)方法學和面向對象方法學分別采用哪些模型?答:軟件生命周期模型是描述軟件過程的模型。3、簡要介紹軟件生命周期每個階段的根本任務。答:問題定義:明確要解決的問題是什么??尚行匝芯浚好鞔_對所確定的問題是否有行得通的解決方法。 需求分析:確定目標系統(tǒng)所必須具備的功能??傮w設計:設計幾種方案來實現(xiàn)目標系統(tǒng)。詳細設計:設計出程序的詳細規(guī)格說明來說明怎樣實現(xiàn)系統(tǒng)。 編碼:寫程序模塊。單元測試:對每個模塊進行測試。綜合測試:通過各種類型的測試使軟件到達預定的要求。4、簡要介紹軟件工程的7條
8、根本原理。答:5、需求分析的根本任務是什么?通常對軟件系統(tǒng)有哪些需求?答:需求分析的根本任務是確定對系統(tǒng)的綜合要求;分析系統(tǒng)的數(shù)據要求;導出系 統(tǒng)的邏輯模型;修正系統(tǒng)開發(fā)方案;撰寫需求規(guī)格說明書。需求:功能需求、性能需求、可靠性和可用性需求、出錯處理需求、接口需 求、約束、逆向需求、將來可能提出的要求。6、模塊化有什么好處?答:模塊化的好處:開發(fā)本錢降低、結構清晰、便于共享。7、定性衡量模塊獨立性的兩個標準是什么?它們表示什么含義?答:標準:耦合、內聚。耦合:對一個軟件結構內不同模塊之間互聯(lián)程序的度量。內聚:模塊內各個元素彼此結合的緊密程度。8傳統(tǒng)的方法學是如何降低軟件危機的?答:傳統(tǒng)方法學在
9、軟件生命周期的每個階段都采用科學的管理技術合肥那個發(fā),且 在每個階段結束前都從技術和管理兩個角度進行嚴格的審查,合格之后才開始下一 階段的工作,這樣保證了軟件的質量,提高了軟件的可維護性,降低了軟件危機。數(shù)據流圖DFD步驟:把整個系統(tǒng)視為一個大的加工,然后根據數(shù)據系統(tǒng)從哪些外部實體接收數(shù)據 流,以及系統(tǒng)發(fā)送數(shù)據流到哪些外部實體,可畫出輸入輸出圖。一一頂層圖把頂層圖的加工分解成假設干加工,并用數(shù)據流將這些加工連接起來,使得 頂層圖的輸入數(shù)據經過假設干加工處理后,變成頂層圖的輸出數(shù)據流。一一0層圖從一個加工畫出一張數(shù)據流圖的過程就是對加工的分解。確定加工:在數(shù)據流的組成或值發(fā)生變化的地方應該畫出一
10、個加工,這個加工的 功能就是實現(xiàn)這一變化,也可以根據系統(tǒng)的功能決定加工。確定數(shù)據流:用戶把假設干數(shù)據當作一個單位來處理這些數(shù)據一起到達,一起 處理時,可以把這些數(shù)據看成一個數(shù)據流。數(shù)據存儲:對于一些以后某個時間要使用的數(shù)據,可以組織成為一個數(shù)據存儲來 表:示。3、畫加工的內部把每個加工看作一個小系統(tǒng),把加工的輸入輸出數(shù)據流看成小系統(tǒng)的輸入輸出流。于是可以像畫0層圖一樣畫出每個小系統(tǒng)的加工 DFD圖。4、畫子加工的分解圖對第三步分解出來的 DFD圖中的每個加工,重復第三步的分解過程,直到圖 中尚未分解的加工都是足夠簡單的。分層數(shù)據流圖5、對數(shù)據流圖和加工編號對于一個軟件系統(tǒng),其數(shù)據流圖可能有許多
11、層,每層又有許多張圖。為了區(qū)分不同的加工和不同的 DFD子圖,應對每張圖進行編號,以便管理。頂層圖只有一張,圖中的加工也只有一個,故不必為其編號。 0層圖只有一張,圖中的加工號分別是 0.1、0.2、,或1、2。子圖就是父圖中被分解的加工號。子圖的加工號是由圖號、圓點和序號組成。*應適當?shù)臑閿?shù)據流、加工、數(shù)據存儲以及外部實體命名名字反映的是該成分的 實際含義。*畫數(shù)據流圖,不是畫控制流。*一個加工的輸出數(shù)據流,不應與輸入數(shù)據流同名,即使他們的組成完全相同。*允許一個加工有多條數(shù)據流流向另一個加工,也允許一個加工有兩條相同的輸出 數(shù)據流流向不同的加工。*保持父圖和子圖的平衡。父圖中某加工的輸入輸
12、出流必須與它的子圖的輸入輸 出流在數(shù)量上和名字上相同假設父圖中的一個輸入 / 輸出數(shù)據流對應于子圖中 的幾個輸入 / 輸出數(shù)據流且子圖中組成這些數(shù)據流的數(shù)據項的全體正好是父圖中的 這一數(shù)據流,那么它們仍然平衡*在自頂向下的分解過程中,假設一個數(shù)據存儲首次出現(xiàn)時,只與一個加工有關 系,那么這個數(shù)據存儲應作為這個加工的內部文件而不必畫出。*數(shù)據守恒。*在整套數(shù)據流圖中,每個數(shù)據存儲必須既有讀的數(shù)據流,又有寫的數(shù)據流。但在 某張子圖中,可能只有讀沒有寫,或者只有寫沒有讀。一、軟件軟件概念:電腦系統(tǒng)中與硬件相互依存的另一局部,它是包括程序、數(shù)據及其相關文檔的完整結合。Software二Program+
13、Data+Docume nt軟件的特征:非常復雜邏輯復雜度高,本錢高,風險大如何降低?,維護困難改正性維護:修改故障;完善性維護:增加功能;適應性維護:移植二、軟件危機概念:電腦軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。表現(xiàn):4. 用戶對“已完成的軟件系統(tǒng)不滿意的現(xiàn)象經常發(fā)生產生的原因:軟件本身的特點+軟件開發(fā)與維護的方法不正確消除軟件危機的方法:要有技術措施傳統(tǒng)方法學+0C方法學;要有必要的組織管理 措施三、軟件工程概念:指導電腦軟件開發(fā)和維護的一門工程學科本質特性P67條:軟件工程關注于大型程序的構造;軟件工程的中心課題是控制復雜性問題分解一一功能分解、對象 ;軟件經常變化;開發(fā)軟件的
14、效率非常重要;和諧的合作是開發(fā)軟件的關鍵一一運用相關的標準和規(guī)程;軟件必須有效地支持它的用戶;在軟件工程領域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產 品。軟件工程的根本原理7條確保軟件產品的質量和開發(fā)效率的原理的最小集合 分階段的生命周期方案嚴格管理“分階段的目的:減少工程延期;質量評審2. 堅持進行階段評審R:大局部錯誤是在編碼之前造成的;錯誤發(fā)現(xiàn)與改正得越 晚,所需付出的代價也越高5. 結果應能清楚地審查:應該根據軟件開發(fā)工程的總目標及完成期限,規(guī)定開發(fā)組 織的責任和產品標準在于:標準+文檔清楚的記錄、責任6. 開發(fā)小組的人員應該少而精:提高軟件開發(fā)質量和降低通信開銷 改
15、進軟件工程實踐的必要性:積極主動地采納新的軟件技術、不斷總結經驗來評價 新的軟件技術的效果。軟件工程方法學范型:在軟件生命周期全過程中使用的一整套技術方法的集合。 軟件工程方法學的要素:1. 方法完成軟件開發(fā)的各項任務的技術方法;2. 工具為運用方法而提供的自動的或半自動的軟件工程支撐環(huán)境;3. 過程為了獲得高質量的軟件所需要完成的一系列任務的框架,規(guī)定完成了各項 任務的工作步驟工具-> 方法-> 過程-> 質量關注點支持軟件工程的根基就在于對質量的關注傳統(tǒng)方法學/生命周期方法學/結構化范型:采用結構化技術來完成軟件開發(fā)的各項 任務并使用適當?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結構
16、化技術的運用。具體操作:把軟件生命周期的全過程依次劃分為 假設干個階段,然后順序地完成每 個階段的任務一一線性。階段審查:從技術和管理兩個方面對這個階段的開發(fā)成果進行檢查,通過之后這個 階段才算結束;假設沒通過檢查,也必須進行必要的返工,而且返工后還要再經過 審查。審查的主要標準:每個階段都應該交出和所開發(fā)的軟件完全一致的高質量的文檔 資料,從而保證在軟件開發(fā)工程結束時有一個驗證準確的軟件配置交付使用。優(yōu)點:每個階段的任務相對獨立且較簡單,降低了整個軟件開發(fā)工程的困難程度;科學的管理技術、良好的技術方法和嚴格的審查保證了軟件的質量,提高了軟件的可 維護性。面像對象方法學00方法學:是一個主動地
17、屢次反復迭代的演化過程,而其在概 念和表示方法上的一致性,保證了在各項開發(fā)活動之間的平滑無縫過渡。無縫對象一直存在且不變出發(fā)點和根本原那么:盡量模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可 能接近人類認識世界、解決問題的方法與過程,從而使描述問題的問題空間與實現(xiàn) 解法的解空間在結構上盡可能一致。優(yōu)點:降低了軟件產品的復雜性,提高了軟件的可理解性;簡化了軟件的開發(fā)和維 護工作;易在以后的軟件產品中重復使用促進了軟件重用。四、軟件生命周期組成:軟件定義一一降低本錢,提高軟件質量的關鍵123、軟件開發(fā)4567、運行維護8軟件生命周期每個階段的根本任務:1問題定義一一要解決的問題是什么2. 可行
18、性研究對于上一個階段所確定的問題有行得通的解決方法么3. 需求分析確定目標系統(tǒng)為解決這個問題必須具備的功能用正式文檔準確地 記錄對目標系統(tǒng)的需求,這份文檔一般稱為規(guī)格說明書4. 總體設計概括地說,應該怎么實現(xiàn)目標系統(tǒng)設計出實現(xiàn)目標的幾種可能的 方案;確定程序由哪些模塊組成以及模塊間的關系5. 詳細設計 /模塊設計應該怎樣具體地實現(xiàn)這個系統(tǒng)設計出程序的詳細規(guī)格 說明包含所需的算法和數(shù)據結構7. 綜合測試通過各種類型的測試及相應的調試使軟件到達預定的要求五、軟件過程 概念:為了獲得高質量軟件所需要完成的一系列任務的框架,規(guī)定了完成各項任務 的工作步驟。根本活動:軟件規(guī)格說明、軟件開發(fā)、軟件確認、軟
19、件演進1、瀑布模型規(guī)定了各項軟件工程的活動次序固定 特點:階段間具有順序性和依賴性;推遲實現(xiàn)清楚地區(qū)分邏輯設計與物理設 計,盡可能推遲程序的物理實現(xiàn);質量保證文檔、文檔評審 缺點:適合的是用戶需求明確、完整、無重大變化的軟件工程開發(fā);會導致工作中 發(fā)生“阻塞狀態(tài);幾乎完全依賴于書面的規(guī)格說明,很可能導致最終開發(fā)出的軟 件產品不能真正滿足用戶的需要;軟件產品交付給用戶之前,用戶僅能通過文檔來 了解產品是什么樣的。優(yōu)點:可強迫開發(fā)人員采用標準的方法;嚴格地規(guī)定了每個階段必須提交的文檔; 要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證。成功點: 很大程度上是由于它根本上是一種文檔驅動的模
20、型。2、快速原型模型解決瀑布模型問題 3、4第一步: 快速建立一個能反響用戶主要需求的原型系統(tǒng),讓用戶在電腦上適用它, 通過實踐來了解目標系統(tǒng)的概貌 ; 第二步: 用戶試用原型系統(tǒng)之后會提出許多修改意 見,開發(fā)人員按照用戶的意見快速地修改原型系統(tǒng),然后再次請用戶試用一旦 用戶認為這個原型系統(tǒng)確實能做他們所需要的工作,開發(fā)人員便可據此書寫規(guī)格說 明文檔。主要優(yōu)點 : 軟件產品的開發(fā)根本上是線性順序進行的。3、增量模型 漸增模型 解決瀑布模型問題 2操作: 把軟件產品作為一系列的增量構件來設計、編碼、集成和測試。每個構件由 多個相互作用的模塊構成,并且能夠完成特定的功能。 先根本功能,后附加功能 分解時必須遵守的約束條件 : 當把新構件集成到現(xiàn)有軟件中時,所形成的產品必須 是可測試的。優(yōu)點:可分批地逐步向用戶提交產品 ;能在較短時間 內向用戶提交可完成局部工作的 產品; 逐步增加產品功能可以使用戶有較充裕的時間學習和適應新產品,從而減少 一個全新的軟件可能給客戶組織帶來的沖擊。困難: 把每個新的增量構件集成到現(xiàn)有軟件體系結構中時,必須不破壞原來已經開 發(fā)出的產品 ; 軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沙灘節(jié)目活動策劃方案(3篇)
- 健身全年活動方案策劃(3篇)
- 三八送花策劃活動方案(3篇)
- 鄒城啤酒活動方案策劃(3篇)
- 壅水壩施工方案(3篇)
- 2025年市場調查與分析應用指南
- 水仙組織培養(yǎng)方案
- 團建游戲活動策劃方案
- 2025年中職服裝設計與工藝(服裝設計)試題及答案
- 2025年高職民俗學(民俗研究)試題及答案
- 產假不發(fā)工資協(xié)議書
- DB42∕T 1785.1-2021 水生蔬菜良種繁育技術規(guī)程 第1部分:藕蓮和子蓮
- 2025年九年級上學期期末英語試卷及答案(共三套)
- 2025年福建會考政治試卷及答案
- DB31∕T 1450-2023 旅游碼頭服務基本要求
- 2024-2025學年人教版數(shù)學七年級上學期期末考試測試卷
- 南寧陳教練2026年版考試大綱廣西專升本與職教高考(財經商貿大類)考試大綱對比分析及備考攻略
- 滅菌物品裝載課件
- 2025至2030中國電力設備檢測行業(yè)項目調研及市場前景預測評估報告
- 2025上半年軟考系統(tǒng)架構設計師考試真題及答案
- 政務信息化統(tǒng)一建設項目監(jiān)理服務方案投標文件(技術方案)
評論
0/150
提交評論