軟件工程知識點_第1頁
軟件工程知識點_第2頁
軟件工程知識點_第3頁
軟件工程知識點_第4頁
軟件工程知識點_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、緒論+第一章1、科學、技術、工程n 科學 發(fā)現(xiàn)自然規(guī)律 n 技術 發(fā)明裝置、設備、方法 解決工程問題 n 工程 質量 服務于社會(責任)2、工程的目的是什么?服務社會:滿足社會生產(chǎn)生活需要3、工程可持續(xù)長期發(fā)揮作用的關鍵何在?工程的維護管理4、工程有何特點?系統(tǒng)性、復雜性、交叉性、綜合性5、工程師應該有哪些優(yōu)秀特質?勤于職守、尊重科學、身先士卒、開拓進取6、古代工程和現(xiàn)代工程大差別何在?工程三要素:人、技術、過程古代:受制于技術現(xiàn)代:受制于人7、軟件定義:軟件是計算機系統(tǒng)中看不見、摸不著的邏輯部分,以程序、數(shù)據(jù)和文檔的形式出現(xiàn)。 軟件=程序+數(shù)據(jù)+文檔程序=數(shù)據(jù)結構+算法8、軟件與硬件相比(軟

2、件共性):n 軟件不是“制造”而是“研發(fā)”出來的。 è導致:軟件項目管理和軟件產(chǎn)品保護困難。n 軟件不會被“用壞”。 è導致:軟件維護困難(軟件維護不能通過重復制造解決)。n 軟件大多是“定制”的。 è導致:軟件開發(fā)的質量和效率受到影響。n 軟件成本難于估計。 è導致:軟件項目計劃失效。9、軟件分類按功能分:系統(tǒng)軟件、支持軟件、應用軟件按服務對象的范圍分:產(chǎn)品軟件、項目軟件10、軟件工程 n 性質(能力):指導軟件開發(fā)和維護n 手段:采用工程化的概念、原理、技術和方法進行軟件的開發(fā)和維護,把經(jīng)過時間證明正確的管理措施和當前能夠得到的最好的技術、方法相結合

3、 ;n 目的:以期用較少的代價獲取高質量的軟件。11、軟件工程的7條基本原理 :n 用分階段的生命周期計劃嚴格管理; n 堅持進行階段評審;n 實行嚴格的產(chǎn)品控制;n 采納現(xiàn)代程序設計技術;n 結果應能清楚地審查;n 開發(fā)小組的人員應少而精;n 承認不斷改進軟件工程實踐的必要性。 12、軟件開發(fā)模型1)瀑布模型:特點:各階段順序相互依賴;每階段進行評審;強調需求分析和設計。優(yōu)點:流水線>生產(chǎn)線 文檔驅動評審、軟件開發(fā)過程可視化維護期易理解邏輯設計與物理實施分開盡量推遲物理實施降低成本、保證質量缺點:開發(fā)過程中,用戶看不見系統(tǒng),只有在開發(fā)完全后才可見 實際開發(fā)中各階段并不是自上而下線性順序

4、展開 靈活度不高2)原型模型(迭代思想):原型!=最終系統(tǒng)優(yōu)點:符合人們開發(fā)軟件的習慣、“快速”開發(fā)、用戶反饋(通過原型獲取用戶需求)、 逐步完善缺點:不宜利用原型作為最終產(chǎn)品、“快速“特點對最終系統(tǒng)不適用3)RAD模型(快速應用開發(fā)模型):優(yōu)點:順序開發(fā) 開發(fā)周期短缺點:技術風險高時不宜采用 人力要求高 短時間完成開發(fā),壓力大4)增量模型:(逐步將系統(tǒng)提交給用戶,變開發(fā)邊使用)優(yōu)點: 降低風險;用戶一步步使用,對產(chǎn)品產(chǎn)生依賴;可根據(jù)需要補充人員 ;能夠減少全新軟件產(chǎn)品對用戶帶來的影響;不需要大的資金支出;用戶能及早使用及早發(fā)現(xiàn)問題;投資回報隨功能漸增而漸增。缺點:對設計水平要求高集成風險 難

5、以進行徹底測試5)螺旋模型:優(yōu)點:階段性方法+迭代思想 強調風險分析缺點:對開發(fā)人員風險分析能力要求高 不適合簽合同的項目 風險分析成本高6)RUP模型:優(yōu)點:用例驅動; 體系結構為中心; 迭代增量;缺點:復雜; 針對不同應用需裁剪;13、演化模型:包含增量模型、螺旋模型、RUP模型代碼和文檔一起演化特點:迭代增量 反饋 注重整體架構 關注集成 開發(fā)過程可視化14、里程碑:用戶主要需求的確定系統(tǒng)架構的確定基本系統(tǒng)功能已實現(xiàn)15、敏捷開發(fā)價值觀:個體互動over流程工具工作軟件over詳盡文檔客服協(xié)作over合同談判響應變化over遵循計劃16、軟件開發(fā)方法:開發(fā)步驟+文檔格式+評價標準1)結構

6、化方法:n 指導思想:自頂向下、逐步求精、單入口、單出口;n 基本原則:抽象和功能分解;n 方法論:系統(tǒng)是由一些功能的相互聯(lián)系、相互作用而形成;n 優(yōu)點:簡單實用,應用廣泛,技術成熟,強調階段劃分;n 缺點:難于解決需求模糊的問題 難于解決復用問題 不適用于大型且復雜的項目 軟件維護復雜2)面向對象方法:n 指導思想:盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界的方法與過程。n 基本原則:對象+類+繼承+消息通信。n 方法論:系統(tǒng)是由一些對象的相互聯(lián)系、相互作用而形成。 n 優(yōu)點:易理解、維護、復用、學習。易解決需求模糊的問題n 缺點:不成熟、繼承會增加類之間的耦

7、合3)形式化方法:n 指導思想:借助數(shù)學方法來描述目標軟件系統(tǒng)。n 基本原則:形式分析和推理。n 方法論:系統(tǒng)可以通過嚴格的、規(guī)范化的數(shù)學理論經(jīng)分析、推理得到。n 優(yōu)點:形式模型完整、一致和無二義性;支持形式推理,便于軟件驗證;便于軟件自動生成;n 缺點: 開發(fā)成本高;一般人不易接受,需要培訓;靈活性差;難以與軟件開發(fā)過程平滑地結合;支持工具少;4)SOFL開發(fā)方法:在需求分析和規(guī)格說明階段采用結構化方法,在設計和實現(xiàn)階段采用面向對象方法,在軟件開發(fā)全過程中一些對軟件質量有重要影響的部分采用形式化方法。 第二章1、可行性研究定義:研究項目能否在給定的資源和給定的時間開發(fā),是否能夠開發(fā),是否值得

8、開發(fā)。包含技術可行性、經(jīng)濟可行性、操作可行性。2、成本估計方法:1)自頂向下成本估計:n 通常僅由少數(shù)上層技術與管理人員參加。n 依據(jù)已完成項目所耗費的總成本,推算新開發(fā)軟件的總成本,然后在項目內部進行成本分配。 n 優(yōu)點:工作量小,速度快。n 缺點:對開發(fā)中某些局部問題或特殊困難易低估,甚至沒有考慮。如果所開發(fā)的軟件缺乏可借鑒的經(jīng)驗,則估計偏差可能較大。 2)自底向上成本估計:n 估計者必須先了解待開發(fā)軟件的范圍。軟件范圍包括功能、性能、限制、接口和可靠性等。n 在估算開始之前,應對軟件范圍進行適當?shù)募毣蕴峁┹^詳細的細節(jié)。對于細化得到的任務單元可交給該任務的開發(fā)人員去估計,得到各任務單元

9、的估計成本。然后,將各任務單元的成本匯合成項目的總成本。n 對涉及全局的花費可能估計不足甚至完全忽視,使成本估計可能偏低。 3)基于經(jīng)驗模型的成本估計:n 利用已完成項目的樣本數(shù)據(jù)進行分析,從而建立有關經(jīng)驗公式來預測項目所需的成本、工作量等,具有比較客觀、計算結果可重復等優(yōu)點。 n 由于經(jīng)驗數(shù)據(jù)是從一些有限的項目中得到的,而且軟件類型和開發(fā)環(huán)境各不相同,因而模型中得到的結果必須慎重使用。 n 主要經(jīng)驗模型:靜態(tài)單變量模型;動態(tài)多變量模型;COCOMO模型 3、效益分析:分類:經(jīng)濟效益、社會效益度量指標:貨幣的時間價值純收入 投資回收期:使累計的經(jīng)濟效益(折算成當前值)=最初投資所需要的時間。投

10、資回收率: P=F1/(1+j)+F2/(1+j)2+Fn/(1+j)nP表示當前的投資額,F(xiàn)i表示第i年年底的效益(i=1,2, ,n),n表示系統(tǒng)的使用壽命,j表示投資回收 率。第三章1、軟件項目計劃:包含:風險分析、進度安排、人員組織原因:計劃->壓力->行動->結果制定人員:管理員、系統(tǒng)分析員、用戶2、進度安排基本原則:任務分解 作業(yè)依存 時間分配資源約束 定義責任 定義結果 定義里程碑 3、PERT圖:EET=maxEET+t LET=minLET-t機動時間=LET-EET-作業(yè)持續(xù)時間先安排關鍵作業(yè),再利用機動時間安排非關鍵作業(yè)4、Brooks定律:n 向一個已

11、經(jīng)延期的軟件項目追加開發(fā)人員,可能會使它完成得更晚。n 當開發(fā)人員以算術級數(shù)增長時,人員之間的通信將以幾何級數(shù)增長。 對于軟件項目,開發(fā)時間寧可長一些,開發(fā)人員可少而精一些。5、人員組織形式?jīng)Q定因素:項目特點、參與人員素質注意:責任到人、合理分工、責權均衡1) 層次模式:缺點:小組之間無交流,要交流須通過上級,交流效率低2)矩陣模式:3)主程序員小組:缺點:對主程序員要求高4)民主小組:缺點:通信效率低,決定難適用于創(chuàng)新項目的開發(fā)5)層次小組:優(yōu)點:層次間按隸屬關系進行通信,組內平等通信。 適合大型軟件開發(fā)項目,尤其是項目本身就是層次結構狀。 第四章1、需求分析特點:問題的復雜性;交流障礙;需

12、求易變性;不一致性和不完整性。2、數(shù)據(jù)流圖:n 數(shù)據(jù)流(用箭頭表示);n 加工(加工一般用一個圓圈或圓角方框來表示 );n 數(shù)據(jù)存儲(一般用開口的矩形框或雙劃線來表示); n 數(shù)據(jù)的源點和終點(一般用正方形或立方體來表示 );n 擴展符號主要有:*、+和 。3、分層數(shù)據(jù)流圖:優(yōu)點:便于控制問題復雜度,便于大型系統(tǒng)實現(xiàn),便于用戶理解分類:頂層數(shù)據(jù)流圖、中間層數(shù)據(jù)流圖、底層數(shù)據(jù)流圖4、IDEF方法:IDEF方法是一套用來對復雜系統(tǒng)進行建模分析和設計的系統(tǒng)方法:IDEF0進行功能建模,IDEF1X用來建立數(shù)據(jù)模型,IDEF4方法則用于面向對象設計。5、IDEF0:n IDEF0圖的主要元素是簡單的盒

13、子及箭頭。n 盒子代表系統(tǒng)的功能(活動)。n 箭頭表示系統(tǒng)處理的數(shù)據(jù)約束,可以是具體的事物,也可以是抽象的信息。 盒子(最多6個):箭頭匯合箭頭(多個活動產(chǎn)生或合成同一種數(shù)據(jù))箭頭分支箭頭(多個活動需要同一種數(shù)據(jù)或同一種數(shù)據(jù)的不同成份)箭頭通道箭頭(箭頭描述的數(shù)據(jù)約束不出現(xiàn)在子圖或父圖中)箭頭雙向箭頭(兩個盒子描述的活動互為輸入或互為控制,且將先觸發(fā)的盒子畫在較高的位置上)箭頭虛線箭頭(活動觸發(fā)的先后順序)箭頭選擇箭頭(數(shù)據(jù)的選擇關系)6、IDEF1X:n 實體是具有相同屬性或特征的現(xiàn)實或抽象事物的集合,這個集合中的一個元素便稱為實體的一個實例。 n 在一張IDEF1X圖中 ,一個實體只能在圖

14、中出現(xiàn)一次。 實體:聯(lián)系連接聯(lián)系:聯(lián)系分類聯(lián)系:7、UML結構:8、UML關系的標記和語義9、UML4+1視圖10、用例圖用例圖從系統(tǒng)外部執(zhí)行者的角度來描述系統(tǒng)需要提供哪些功能,指明這些功能的參與者,即用例圖描述了參與者和用例及它們之間的關系。 11、UML特點:n 統(tǒng)一了面向對象方法的基本概念 ;n 具有更強的建模能力 ;n 獨立于特定的開發(fā)語言和開發(fā)過程。12、UML應用:n 需求分析 用例圖-功能的需求;類圖-靜態(tài)結構 ;狀態(tài)圖、順序圖和協(xié)作圖等-類之間所需的協(xié)作,實現(xiàn)用例。n 設計 定義軟件系統(tǒng)中的技術細節(jié)用到的類,如引入處理用戶交互的類、處理數(shù)據(jù)的類、處理通信和并行性的類等。 n 實

15、現(xiàn) 組件圖-代碼組件的物理結構以及組件之間的關系;部署圖-硬件的拓撲結構和組件的分布。n 測試 類圖-單元測試;組件圖、協(xié)作圖-集成測試;用例圖 -確認測試 13、用例圖:組成:系統(tǒng)、參與者、用例、關系優(yōu)點:從用戶的角度出發(fā),便于滿足用戶需求 便于迭代增量式開發(fā)用例描述:簡單文字、模板、表格、形式化語言、圖型實例:包含關系無需條件,擴展關系有條件外部內部(關聯(lián))、參與者之間(泛化)、用例之間(擴展、包含、依賴、泛化)步驟:n 找出系統(tǒng)的參與者和用例;(“有價值的結果”和“特定參與者”是兩個有用的準則。) n 區(qū)分用例的優(yōu)先次序;n 詳細描述每個用例;n 構造用戶界面原型;n 構造用例圖。14、

16、對象建模的主要任務了解某個特定應用問題域內所涉及的對象,以及各種各樣的結構和通信關系。 15、標識結構n 標識結構是用來處理對象建模復雜性的機制之一。n 現(xiàn)實世界的事物之間有兩種主要關系:繼承關系、整體/部分關系。 繼承關系,可采用自頂向下和自底向上方式標識。組合關系聯(lián)系更緊密,<部分>唯一屬于一個<整體>。16、UML實例關聯(lián)的表示:n 在UML中,實例的關聯(lián)表示包括:關聯(lián)名稱、角色名稱、多重性和導航性; n 一般,在圖中要么注明關聯(lián)名稱,要么注明角色名稱,而不同時注明角色名稱和關聯(lián)名稱;n 在UML中,多重性被說明為用逗號分隔的區(qū)間,每個區(qū)間具有如下形式:minim

17、um、maximum ;在UML中,如果多重性不顯式說明,則多重性就不確定;n 導航性的意義可看作“消息僅能夠沿箭頭所指的方向傳遞”。在UML中,沒有導航性標識,則表示關聯(lián)是雙向的。n 定義屬性應該在原子概念的層次上進行,屬性分為命名性屬性、描述性屬性、參考屬性。n 結構化方法:屬性不一定放在一起(即使解空間與問題空間一致的數(shù)據(jù)不放在一起)。n 結構化方法一個事件由一個對象完成,面向對象方法一個事件可能由多個對象完成。17、需求分析內容:信息需求(數(shù)據(jù)需求)、功能需求、未來需求、性能需求、運行需求18、UML的擴展機制:約束、標記值、構造型第五章1、概要設計與詳細設計的關鍵:概要設計的關鍵是確

18、定軟件的總體結構,即確定軟件系統(tǒng)的組成成份以及各組成成份之間的相互關系。詳細設計其主要任務是確定軟件系統(tǒng)各組成成份內部的數(shù)據(jù)結構和算法過程。2、軟件設計基本原理:1)抽象與求精n 抽象即抽取事物本質的共同特性而暫時避開不必要的低層細節(jié)。 n 方式:過程抽象、數(shù)據(jù)抽象和控制抽象。n 求精是將某個宏觀功能不斷分解,逐步確定過程細節(jié),直至用程序設計語言描述的算法實現(xiàn)為止。n 抽象使得設計人員能夠避開過早地陷入細節(jié)之中刻畫過程和數(shù)據(jù)。n 求精能夠幫助設計人員隨著設計過程的深入而不斷呈現(xiàn)更低層次的信息。 2) 模塊化與信息隱藏n 模塊化:將軟件分解成可單獨命名的且可訪問的部件n 信息隱藏:指模塊中所包含

19、的信息對不需要這些信息的其它模塊是不可訪問的。加強了模塊內部訪問的約束,有助于分離模塊的實現(xiàn)者和使用者。3)模塊獨立性n 其基本含義是每一個模塊只完成功能需求中的一個特定的子功能,而且從程序結構的其它部分來看這一模塊只具有一個簡單的接口。 n 模塊的功能獨立性可以使得模塊易開發(fā)易維護。 n 模塊獨立性有兩個定性的度量標準:內聚度和耦合度。 3、內聚度:n 內聚度是指模塊內部各成分聯(lián)系緊密的程度。n 通常,內聚度越高,模塊的獨立性就越強。 n 七種類型的內聚,大致按照內聚程度從高到低的順序是:功能內聚、信息內聚、通信內聚、過程內聚、時間內聚、邏輯內聚和偶然內聚。 4、耦合度:n 耦合是模塊之間相互關聯(lián)緊密的程度。n 一般地,模塊的耦合度越低,模塊的獨立性越強。 n 模塊之間的耦合程度從低到高也可分為七種:非直接耦合、數(shù)據(jù)耦合、標記耦合、控制耦合、外部耦合、公共耦合、內容耦合。 5、軟件結構圖:n

溫馨提示

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

評論

0/150

提交評論