版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章 軟件工程學概論1、軟件危機產(chǎn)生的原因軟件本身的特點:難于維護、邏輯復(fù)雜軟件開發(fā)與維護的方法不正確:忽略需求分析重要性、輕視軟件維護課本表述:1、 軟件不同于硬件,它是計算機中的邏輯部件而不是物理部件2、 軟件不同于一般程序,它的一個顯著特點是規(guī)模龐大,而且程序的復(fù)雜性將規(guī)模的增加而呈現(xiàn)指數(shù)上升。3、 軟件本身特有的特點確實給開發(fā)和維護帶了一些客觀困難4、 軟件開發(fā)與維護有關(guān)的許多錯誤認識與做法有關(guān)(忽略需求分析,輕視軟件維護)5、 對用戶要求沒有完整準確的認識就匆忙開始著手編寫程序6、 在軟件不同階段進行修改需要付出的代價是很不相同的2、軟件危機的表現(xiàn)(什么是
2、軟件危機)(1)、成本高:(2)、軟件質(zhì)量得不到保證:軟件質(zhì)量問題導(dǎo)致失敗的軟件項目非常多(3)、進度難以控制:項目延期比比皆是由于進度問題而取消的軟件項目較常見只有一小部分的項目能夠按期完成(4)、維護十分困難:軟件維護的多樣性軟件維護的復(fù)雜性軟件維護的副作用3、克服軟件危機(1)、管理的角度:軟件開發(fā)過程的研究、文檔的標準化以及人員的交流方式等(2)、軟件開發(fā)方法的研究結(jié)構(gòu)化軟件開發(fā)方法, 面向?qū)ο蟮拈_發(fā)4、軟件工程的定義概括的說,軟件工程師指導(dǎo)計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)
3、方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程。(1)、軟件工程就是建立和使用一套合理的工程原理,從而經(jīng)濟地獲得可靠的、可以在實際機器上高效運行的軟件。(2)、把系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件開發(fā)、運行和維護的過程,也就是把工程應(yīng)用于軟件.研究中提到的途徑總之:軟件工程是應(yīng)用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的工程。他借鑒傳統(tǒng)工程的原理、方法,以提高質(zhì)量,降低成本為目的。5、軟件工程的本質(zhì)特性1、關(guān)注與大型程序的構(gòu)造2、中心課題是控制復(fù)雜度3、軟件經(jīng)常變化4、開發(fā)軟件的效率非常重要5、和諧的合作是開發(fā)軟件的關(guān)鍵6、軟件必須有效地支持它的用戶7、在軟件工程領(lǐng)
4、域中通常由具有一個文化背景的人替另外一種文化背景的人創(chuàng)造產(chǎn)品6、軟件工程的基本原理1、用分階段的生命周期計劃嚴格管理2、堅持進行階段評審3、實行嚴格的產(chǎn)品控制4、采用現(xiàn)代程序設(shè)計技術(shù)5、結(jié)果應(yīng)能清楚地審查6、開發(fā)小組應(yīng)該少而精7、承認不斷改進軟件工程實踐的必要性軟件工程學包含3個要素:方法、工具和過程7、軟件生命周期(1)、概念:軟件生命周期由軟件定義、軟件開發(fā)和運行維護(也成軟件維護)3個時期組成。(2)、內(nèi)容:1、 問題定義回答“要解決的問題是什么?“,寫出關(guān)于問題性質(zhì)、工程目標和工程規(guī)模的書面報告2、 可行性分析回答”對于問題是否有行得通的解決辦法?“,即探索問題是否值得去解,是否有可行
5、的辦法3、 需求分析確定”為了解決這個問題,目標系統(tǒng)必須做什么“,確定目標系統(tǒng)必須具備哪些功能,得到需求規(guī)格說明書。4、 總體設(shè)計回答”概括地說,應(yīng)該怎樣實現(xiàn)目標系統(tǒng)?“,確定程序由哪些模塊組成以及模間的關(guān)系5、 詳細設(shè)計回答”應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)呢?”,確定實現(xiàn)模塊功能所需要的算法與數(shù)據(jù)結(jié)構(gòu)6、 編碼和單元測試寫出正確的容易理解、容易維護的程序模塊,然后仔細測試每個模塊7、 綜合測試通過各種類型的測試(及相應(yīng)的調(diào)試)是軟件達到預(yù)定要求8、 軟件維護通過各種必要活動是系統(tǒng)持久地滿足用戶需求8、生命周期模型(1)、瀑布模型傳統(tǒng)瀑布模型特點:1、 階段間具有順序性與依賴性2、 推遲實現(xiàn)的觀點
6、3、 質(zhì)量保證的觀點瀑布模型優(yōu)點:1、 可強迫開發(fā)人員使用規(guī)范的方法(例如:結(jié)構(gòu)化技術(shù));2、 嚴格規(guī)定每個階段必須提交的文檔;3、 要求每個階段交出的所有產(chǎn)品都必須通過驗證。缺點:1、“瀑布模型是由文檔驅(qū)動的”成為主要缺點適用范圍:適合于用戶需求明確、完整、無重大變化的軟件項目開發(fā)。(2)、快速原型模型適用范圍:用戶不能給出完整、準確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機交互的形式等情況。(3)、增量模型特點:1、反復(fù)的應(yīng)用瀑布模型的基本成分和原型模型的迭代特征,每一個線型過程產(chǎn)生一個“增量”的發(fā)布或提交,該增量均是一個可運行的產(chǎn)品。 2、 早期的版本實現(xiàn)用戶的基
7、本需求,并提供給用戶評估的平臺。優(yōu)點:1、 在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品;2、 逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學習和適應(yīng)新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊;缺點:1、 軟件體系結(jié)構(gòu)必須是開放的;2、 開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構(gòu)件,相互矛盾;3、 多個構(gòu)件并行開發(fā),具有無法集成的風險。(4)、螺旋模型基本思想:使用原型或其他方法來降低風險。適用范圍:適用于內(nèi)部開發(fā)大規(guī)模軟件項目。優(yōu)點:1、對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件發(fā)的一個重要目標2、減少了過多測試或測試不足3、維護和開發(fā)之間并沒有
8、本質(zhì)區(qū)別缺點:1、 風險驅(qū)動,需要相當豐富的風險評估經(jīng)驗和專門知識,否則風險更大2、 隨著迭代次數(shù)的增加,工作量加大,軟件開發(fā)成本增加(5)、噴泉模型特點:噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型,主要用于采用對象技術(shù)的軟件開發(fā)項目。該模型認為軟件開發(fā)過程自下而上周期的各階段是相互迭代和無間隙的特性。(6)、Rational統(tǒng)一過程RUP重復(fù)一系列周期,每個周期由一個交付給用戶的產(chǎn)品結(jié)束。每個周期劃分為初始、細化、構(gòu)造和移交四個階段,每個階段圍繞著五個核心工作流(需求、分析、設(shè)計、實現(xiàn)、測試)分別迭代。第二章 可行性研究1、 概念(目的)用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠
9、解決,不是解決問題,而是確定問題是否值得去解決。2、 可行性研究任務(wù)了解客戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會因素等三方面研究并論證本軟件項目的可行性,編寫可行性研究報告,制定初步項目開發(fā)計劃。即對軟件開發(fā)以后的行動方針提出建議。3、 研究內(nèi)容(1) 技術(shù)可行性 使用現(xiàn)有的技術(shù)能實現(xiàn)這個系統(tǒng)嗎?(2) 經(jīng)濟可行性這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?(3) 操作可行性系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?(4) 法律可行性新系統(tǒng)開發(fā)是否會侵犯法藤、集體或國家利益?4、 數(shù)據(jù)字典 (1)、內(nèi)容1、數(shù)據(jù)流2、數(shù)據(jù)流分量(即數(shù)據(jù)元素)3、數(shù)據(jù)存儲4、處理(2)、作用對于數(shù)據(jù)流圖中出現(xiàn)的所有被命
10、名的圖形元素在字典中作為一個詞條加以定義,使得每一個圖形元素都有一個確切的定義。第三章 需求分析1、 需求分析的任務(wù)(1) 確定對系統(tǒng)的綜合要求(2) 分析系統(tǒng)的數(shù)據(jù)要求(3) 導(dǎo)出系統(tǒng)的邏輯模型(4) 修正系統(tǒng)的開發(fā)步驟2、 獲取需求的方法(1) 訪談(2) 面向數(shù)據(jù)流自頂向下(3) 簡易的應(yīng)用規(guī)模說明技術(shù)(4) 快速建立軟件模型3、 實體-關(guān)系圖(P63)、層次方框圖(P68)和IPO圖(P69)4、 結(jié)構(gòu)化分析模型數(shù)據(jù)流圖:描繪當數(shù)據(jù)在軟件系統(tǒng)中移動時被變換的邏輯過程,指明系統(tǒng)具有的變換數(shù)據(jù)的功能,是建立功能模型的基礎(chǔ)實體-聯(lián)系圖:描繪數(shù)據(jù)對象及數(shù)據(jù)對象之間的關(guān)系,用于建立數(shù)據(jù)模型。狀態(tài)
11、轉(zhuǎn)換圖:指明了作為外部事件結(jié)果的系統(tǒng)行為。描繪了系統(tǒng)的各種行為模式(稱為“狀態(tài)”)和在不同狀態(tài)間轉(zhuǎn)換的方式。是行為建模的基礎(chǔ)第四章 總體設(shè)計1、 模塊獨立性與耦合性(P97)(1) 模塊化把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求模塊化的優(yōu)點:1. 使軟件結(jié)構(gòu)清晰,容易設(shè)計也容易閱讀與理解2. 容易測試與調(diào)試,提高可靠性3. 提高軟件的可修改性4. 有助于軟件開發(fā)工程的組織管理(2) 模塊獨立的重要性有效的模塊化(即具有獨立的模塊)的軟件比較容易開發(fā)出來獨立的模塊比較容易測試和維護(3) 耦合衡量不同模塊彼此
12、間互相依賴(連接)的緊密程度,耦合要低,即每個模塊和其他模塊之間的關(guān)系要簡單1、 數(shù)據(jù)耦合:兩個模塊之間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)2、 控制耦合:傳遞的信息中有控制信息3、 特征耦合:當把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分數(shù)據(jù)元素4、 公共環(huán)境耦合:兩個或多個模塊通過一個公共環(huán)境相互作用5、 內(nèi)容耦合:出現(xiàn)一下情況之一,則為內(nèi)容耦合:1、 一個模塊訪問另一個模塊的內(nèi)部數(shù)據(jù)2、 一個模塊不通過正常入口而轉(zhuǎn)到另一個模塊的內(nèi)部3、 兩個模塊有一部分代碼重疊4、 一個模塊有多個入口數(shù)據(jù)耦合<控制耦合<特征耦合<公共環(huán)境耦合<內(nèi)容耦合(4)
13、 內(nèi)聚(P99)衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。內(nèi)聚要高,每個模塊完成一個相對獨立的特定子功能信息隱藏(P96)應(yīng)該這樣設(shè)計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的2、 啟發(fā)規(guī)則1、 改進軟件結(jié)構(gòu)提高模塊獨立性2、 模塊規(guī)模應(yīng)該適中3、 深度、寬度、扇入、扇出都應(yīng)適中4、 模塊的作用域應(yīng)該在控制域之內(nèi)5、 力爭降低模塊接口的復(fù)雜度6、 設(shè)計單入口、單出口模塊7、 模塊功能應(yīng)該可以預(yù)測3、 層次圖和HIPO圖(P102)4、 面向數(shù)據(jù)流的設(shè)計方法(P104)(1) 概念面向數(shù)據(jù)流設(shè)計就是把信息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射
14、的方法。信息流包括變換流、事物流。(2) 變換分析與事務(wù)分析(P105)5、 小結(jié)i. 進行軟件結(jié)構(gòu)設(shè)計遵循的最主要的原理是模塊獨立原理ii. 抽象和求精是一對互補概念iii. 軟件工程師在實踐中總結(jié)經(jīng)驗得出一些很有參考價值的啟發(fā)式規(guī)則iv. 自頂向下逐步求精是進行軟件結(jié)構(gòu)設(shè)計的常用途徑v. 用形式化的方法由數(shù)據(jù)流圖映射出軟件結(jié)構(gòu)第五章 實現(xiàn)1、 選擇程序設(shè)計語言為了使程序容易測試和維護以減少軟件的總成本,所選用的高級語言程序應(yīng)該有理想的模塊化機制,以及可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu):為了便于調(diào)試和提高軟件可靠性,語言特點應(yīng)該是編譯程序能夠盡可能多地發(fā)現(xiàn)程序中的錯誤;為了降低軟件開發(fā)和維護的成本
15、,選用的高級語言應(yīng)該有良好的獨立編譯機制。第六章 軟件測試2、 測試的概念(1) 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程(2) 好的測試方案是極可能發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試方案。(3) 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。3、 測試的過程與步驟(P153)大型軟件的測試過程基本由下述幾個步驟組成(1) 模塊測試(單元測試) 發(fā)現(xiàn)編碼和詳細設(shè)計的錯誤(2) 子系統(tǒng)測試(3) 系統(tǒng)測試(集成測試)(4) 驗收測試(確認測試)(5) 平行運行4、 單元測試(P153)著重從下述5個模塊進行測試(主要使用白盒測試技術(shù))(1) 模塊接口(2) 局部數(shù)據(jù)結(jié)構(gòu)(3) 重要的執(zhí)行通路
16、(4) 出錯處理通路(5) 邊界條件5、 集成測試(P156)集成測試就是測試和組裝軟件的系統(tǒng)化技術(shù),主要目標是發(fā)現(xiàn)與接口有關(guān)的問題。有兩種集成策咯(1) 自頂向下集成(2) 自底向上集成6、 確認測試(P160)也稱驗收測試,它的目標是驗證軟件的有效性。通常使用黑盒測試法。7、 白盒測試技術(shù)(P162)白盒方法測試軟件時設(shè)計測試數(shù)據(jù)的典型技術(shù)(1) 邏輯覆蓋1、 語句覆蓋2、 判定覆蓋3、 條件覆蓋4、 判定/條件覆蓋5、 條件組合覆蓋6、 點覆蓋7、 邊覆蓋8、 路徑覆蓋(2) 控制結(jié)構(gòu)測試1、 基本路徑測試2、 條件測試3、 循環(huán)測試8、 黑盒測試技術(shù)(P171)黑盒測試力圖發(fā)現(xiàn)下述類型
17、的錯誤:(1) 功能不正確或遺漏了功能。(2) 界面錯誤。(3) 數(shù)據(jù)結(jié)構(gòu)錯誤或外部訪問數(shù)據(jù)庫錯誤(4) 性能錯誤(5) 初始化和終止錯誤黑盒測試用到的技術(shù)(1) 等價劃分(2) 邊界值分析(3) 錯誤推測第七章 維護1、 維護的定義(P189)所謂軟件維護就是在軟件已經(jīng)交付使用周,為了改正錯誤或滿足新的需要而修改軟件的過程。根據(jù)交付使用之后可能進行的4項活動具體定義軟件維護(1) 改正性維護糾正在使用過程中暴露出來的錯誤;診斷和改正錯誤的過程,(2) 適應(yīng)性維護為了和變化了的環(huán)境適當?shù)嘏浜隙M行的修改軟件活動(3) 完善性維護在使用軟件的過程中增加新的功能或修改已有功能,還可能提出一般性的改
18、進意見的過程(4) 預(yù)防性維護為了改進未來的可維護性與可靠性,或為了給未來的改進奠定更好的基礎(chǔ)而修改軟件的過程。2、 維護的過程(P192)(1) 維護組織(2) 維護報告(3) 維護的事件流(4) 保存維護記錄(5) 評價維護活動3、 小結(jié)1、 軟件生命周期每個階段的工作都和軟件可維護性有密切關(guān)系。2、 再工程過程可以在完成任意一個活動之后中止第八章 面向?qū)ο蠹夹g(shù)1、 面向?qū)ο蠓椒▽W要點(P203)面向?qū)ο蠓椒▽W的出發(fā)點和基本原則,是盡可能模擬人類思維方法,是開發(fā)軟件盡可能接近人類認識世界解決問題的方法與過程。2、 面向?qū)ο蠓椒▽W優(yōu)點1、 與人類習慣的思維方法一致2、 穩(wěn)定性好3、 可重用性
19、好4、 較易開發(fā)大型軟件產(chǎn)品5、 可維護性好3、 對象模型(P216)對象模型表示靜態(tài)的,結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì)。它是對模擬客觀世界實體的對象以及對象彼此之間的關(guān)系的映射,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。4、 動態(tài)模型(P223)動態(tài)模型表示瞬時的、行為化的系統(tǒng)的”控制“性質(zhì),它規(guī)定了對象模型中的對象的合法序列。5、 功能模型(P224)功能模型表示變化的系統(tǒng)的”功能“性質(zhì),他指明了系統(tǒng)應(yīng)該”做什么”,因此更直接反映了用戶對目標系統(tǒng)的需求。6、 三種模型之間的關(guān)系(P228)功能模型指明了系統(tǒng)應(yīng)該“做什么”;動態(tài)模型明確規(guī)定了什么時候(即在何種狀況下接受什么時間的觸發(fā))做;對象模型則定義了做事情的實
20、體。在面向?qū)ο蠓椒▽W中,對象模型是最基本的,它為其他兩種模型奠定了基礎(chǔ),人們依靠對象模型完成了3中模型的集成。下面扼要地敘述3種模型之間的關(guān)系。三種模型描述了系統(tǒng)的不同方面:對象模型動態(tài)模型功能模型對象的靜態(tài)結(jié)構(gòu)及相互關(guān)系與時間和順序有關(guān)的系統(tǒng)性質(zhì)與值的變化有關(guān)的系統(tǒng)性質(zhì)描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)控制結(jié)構(gòu)系統(tǒng)的功能“干事的主體”“什么時候干”“干什么”功能模型與對象模型的關(guān)系-對象模型描述了功能模型中的動作對象,數(shù)據(jù)存儲以及數(shù)據(jù)流結(jié)構(gòu)-功能模型中的處理對應(yīng)于對象模型中的操作動態(tài)模型與對象模型的關(guān)系-狀態(tài)轉(zhuǎn)換驅(qū)使行為發(fā)生,這些行為在DFD中被映射成處理,它們同時與對象模型的操作相對應(yīng)-針對每個建立的動態(tài)模型描述了類實例的生命周期或運行周期動態(tài)模型與功能模型的關(guān)系-功能模型中的處理可能產(chǎn)生動態(tài)模型中的事件。7、 其他復(fù)雜問題(大型系統(tǒng))的對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國臺式讀寫機具數(shù)據(jù)監(jiān)測研究報告
- 2025年中國錫制工藝品市場調(diào)查研究報告
- 2025年中國嬰兒推車玩具市場調(diào)查研究報告
- 2025年中國醫(yī)用三元混含氣體市場調(diào)查研究報告
- 2025至2031年中國高速牙科球軸承行業(yè)投資前景及策略咨詢研究報告
- 2025年度個人藝術(shù)創(chuàng)作師雇傭合同3篇
- 2025年度寵物運輸行業(yè)環(huán)保技術(shù)創(chuàng)新合同模板4篇
- 二零二四年度學校教師教育創(chuàng)新與創(chuàng)業(yè)合同3篇
- 2024運輸企業(yè)安全員培訓(xùn)經(jīng)費保障合同
- 二零二四年度養(yǎng)老產(chǎn)業(yè)評估與市場拓展委托合同3篇
- 醫(yī)院醫(yī)療質(zhì)量管理委員會會議記錄五篇
- 《中國高考評價體系》解讀(化學學科)
- 公司發(fā)展能力提升方案
- 電梯安全守則及乘客須知
- IT硬件系統(tǒng)集成項目質(zhì)量管理方案
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 水上水下作業(yè)應(yīng)急預(yù)案
- API520-安全閥計算PART1(中文版)
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫附帶答案詳解
- 商務(wù)提成辦法
- 直流電機電樞繞組簡介
評論
0/150
提交評論