軟件工程概念.doc_第1頁(yè)
軟件工程概念.doc_第2頁(yè)
軟件工程概念.doc_第3頁(yè)
軟件工程概念.doc_第4頁(yè)
軟件工程概念.doc_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、 按軟件規(guī)模分類:微型,小型,中型,大型,甚大型,極大型。 按軟件工作方式分:實(shí)時(shí)處理軟件,分時(shí)軟件,交互式軟件,批處理軟件4. 軟件危機(jī) :是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題2.如何維5. 軟件危機(jī)主要是兩個(gè)問(wèn)題 :1.如何開發(fā)軟件,以滿足對(duì)軟件的日益增長(zhǎng)的需求? 護(hù)數(shù)量不斷膨脹的已有軟件?5. 軟件危機(jī)的表現(xiàn) : 1.成本高,開發(fā)成本估計(jì)不準(zhǔn)確 2.軟件質(zhì)量不高、可靠性差 3.進(jìn)度難以 控制 4.維護(hù)非常困難 5.用戶不滿意 6. 由于軟件質(zhì)量問(wèn)題導(dǎo)致失敗的軟件項(xiàng)目非常多。2.堅(jiān)持進(jìn)行階段評(píng)審 3.實(shí)6.開發(fā)小組的人員應(yīng)該少6. 產(chǎn)生軟件危機(jī)的原因 :1.與軟件本身的

3、特點(diǎn)有關(guān) 2.與軟件開發(fā)與維護(hù)的方法不正確有關(guān) . 軟件工程學(xué)的目的 :以較低的成本研制具有較高質(zhì)量的軟件 軟件工程技術(shù)的兩個(gè)明顯特點(diǎn): 1.強(qiáng)調(diào)規(guī)范化 2. 強(qiáng)調(diào)文檔化 軟件工程的基本原理 (7 條):1.用分階段的生命周期計(jì)劃嚴(yán)格管理 嚴(yán)格的產(chǎn)品控制 4.采用現(xiàn)代程序設(shè)計(jì)技術(shù) 5.結(jié)果應(yīng)能清楚地審查 而精 7.承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性軟件定義(問(wèn)題定義,可行性研究,需求分析) 持久滿足用戶需求) ,螺旋模型,噴泉模型。移交階段8. 軟件工程方法學(xué)包含 3 個(gè)要素: 方法、工具和過(guò)程,軟件開發(fā)( 總體設(shè)計(jì),9. 軟件生命周期:詳細(xì)設(shè)計(jì),編碼和單元測(cè)試,集成測(cè)試) ,運(yùn)行維護(hù)10. 軟

4、件過(guò)程模型:瀑布模型,快速原型模型,增量模型11. 軟件過(guò)程模型 RUP :初始階段,細(xì)化階段,構(gòu)造階段,第二章:可行性研究的任務(wù)1. 可行性研究的五個(gè)方案 :技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性,法律可行性,社會(huì)效益2. 可行性研究過(guò)程: 1.復(fù)查系統(tǒng)規(guī)模與目標(biāo)、 2.研究目前的系統(tǒng)、 3. 導(dǎo)出新系統(tǒng)的高層邏輯 模型、 4. 進(jìn)一步定義問(wèn)題、 5. 導(dǎo)出和評(píng)價(jià)供選擇的解法、 6. 推薦行動(dòng)方針、 7. 草擬開發(fā) 計(jì)劃、 8.書寫文檔提交審查3. 系統(tǒng)流程圖 :用來(lái)描述物理系統(tǒng)的工具。而不是對(duì)數(shù)據(jù)進(jìn)行加工處理的控4. 系統(tǒng)流程圖表達(dá) :是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況, 制過(guò)程。即:系統(tǒng)流程圖

5、工程序流程圖。5. 系統(tǒng)流程圖的基本思想 :用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件6. 系統(tǒng)流程圖元素: 處理,輸入輸出,連接,換頁(yè)連接,數(shù)據(jù)流。7. 數(shù)據(jù)流圖 :用來(lái)描述邏輯系統(tǒng)的工具。 數(shù)據(jù)流圖 (DFD) 是一種圖形化技術(shù), 它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受 的變換,即數(shù)據(jù)流圖描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程。8. 數(shù)據(jù)流圖四種基本符號(hào) : 數(shù)據(jù)加工 /處理 /變換,數(shù)據(jù)源點(diǎn)或終點(diǎn) (外部實(shí)體),數(shù)據(jù)存儲(chǔ), 數(shù)據(jù)流。9. 數(shù)據(jù)字典的組成 : 數(shù)據(jù)流,數(shù)據(jù)流分量(數(shù)據(jù)元素) ,數(shù)據(jù)存儲(chǔ),處理。10. 數(shù)據(jù)元素 :順序,選擇,重復(fù),可選。第三章:需求分析1. 需求

6、分析: 軟件定義時(shí)期的最后一個(gè)階段,2. 需求分析的基本任務(wù): 不是確定系統(tǒng)怎樣完成它的工作, 而是確定系統(tǒng)必須完成哪些工作, 也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求 。3. 軟件需求的組成: 業(yè)務(wù)需求, 用戶需求,系統(tǒng)需求。4. 需求分析方法:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA),面向?qū)ο蟮姆治龇椒?(00A)等5. 邏輯模型:數(shù)據(jù)流圖 (DFD) ,數(shù)據(jù)字典 (DD) ,實(shí)體 -關(guān)系圖 (ERD) ,狀態(tài)轉(zhuǎn)換圖 (STD)6. 物理模型:系統(tǒng)流程圖,7. 需求分析的基本思想 :“自頂向下,逐步求精” ,抽象和分解8. 需求分析 ;功能模型數(shù)據(jù)流圖,數(shù)據(jù)模型實(shí)體 -關(guān)系圖,行為模型狀

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

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

9、體設(shè)計(jì)(概要設(shè)計(jì)) :將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)2. 數(shù)據(jù)庫(kù)設(shè)計(jì)包括三個(gè)步驟:模式設(shè)計(jì),子模式設(shè)計(jì),存儲(chǔ)模式設(shè)計(jì)。3. 軟件設(shè)計(jì)原理:模塊化,抽象,逐步求精,信息隱藏與信息局部化,模塊獨(dú)立)的序列,而且C、C+和Java語(yǔ)言中的對(duì)過(guò)程、函數(shù)、子程序和宏等面4. 模塊 :是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說(shuō)明,可執(zhí)行的語(yǔ)句有一個(gè)總體標(biāo)識(shí)符代表它。向?qū)ο蠓椒▽W(xué)中的對(duì)象是模塊,對(duì)象內(nèi)的方法也是模塊 模塊化是好的軟件設(shè)計(jì)的一個(gè)基本準(zhǔn)則模塊間關(guān)連和5. 模塊獨(dú)立的含義 :模塊完成獨(dú)立的功能,符合信息隱藏和信息局部化原則, 依賴程度盡量小。6. 獨(dú)立性的度量:耦合、內(nèi)聚。7. 耦合是

10、對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。8. 耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)入或訪問(wèn)一個(gè)模塊的點(diǎn)以及通過(guò)接口的數(shù)據(jù)9. 模塊間的耦合程度強(qiáng)烈影響系統(tǒng)的可理解性、可測(cè)試性、可靠性和可維護(hù)性。 耦合性越高,模塊獨(dú)立性越弱10. 耦合強(qiáng)度依賴的因素: 一模塊對(duì)另一模塊的引用 一模塊向另一模塊傳遞的數(shù)據(jù)量 一模塊施加到另一模塊的控制的數(shù)量 模塊間接口的復(fù)雜程度11. 耦合性由強(qiáng)到弱排列為:內(nèi)容耦合,公共耦合,特征耦合,控制耦合,數(shù)據(jù)耦合。12. 原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,完全不用內(nèi)容耦 合。13. 內(nèi)聚 (Cohesion) :標(biāo)志一個(gè)模塊內(nèi)各元素彼此結(jié)合

11、的緊密程度。14. 內(nèi)聚有七種, 由弱到強(qiáng)分別為: 偶然內(nèi)聚 -邏輯內(nèi)聚 -時(shí)間內(nèi)聚 -過(guò)程內(nèi)聚 -通信內(nèi) 聚- 順序內(nèi)聚 -功能內(nèi)聚。同一層上模塊數(shù)的最大值。過(guò)大表示系統(tǒng)復(fù)雜度大。 一個(gè)模塊直接調(diào)用 /控制的模塊數(shù)。 直接調(diào)用該模塊的模塊數(shù)。這個(gè)模塊本身以及所有直接或間接從屬于它的模塊的集合。 受該模塊中的一個(gè)判定所影響的所有模塊的集合。15. 深度 = 分層的層數(shù)。過(guò)大表示分工過(guò)細(xì)。16. 寬度 =17. 扇出 =18. 扇入 = 19 控制域:20. 作用域: 面向數(shù)據(jù)流的設(shè)計(jì)方法:變換流,事務(wù)流。第六章:詳細(xì)設(shè)計(jì)1. 詳細(xì)設(shè)計(jì): 描述系統(tǒng)的每個(gè)程序,包括每個(gè)模塊和子程序名稱、標(biāo)識(shí)符、層

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

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

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

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

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

17、和無(wú)效等價(jià)類31. 邊界值分析法, 應(yīng)該選取剛好等于、稍小于和稍大于等價(jià)類邊界值的數(shù)據(jù)作為測(cè)試 數(shù)據(jù)32. 調(diào)試途徑調(diào)試策略: 蠻干法,回溯法,原因排除法 -33. 原因排除法 -包括: 對(duì)分查找法、歸納法、演繹法34. 軟件可靠性:可靠性,可用性,正確性35. 可靠性和可用性的區(qū)別是: 可靠性是在0到t時(shí)間間隔內(nèi),系統(tǒng)沒(méi)有失效的概率。 而 可用性是在t時(shí)刻,系統(tǒng)正常運(yùn)行的概率。第九章:軟件維護(hù)1. 軟件維護(hù)的定義:在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟 件的過(guò)程。2. 軟件維護(hù)的原因: 在運(yùn)行中發(fā)現(xiàn)軟件錯(cuò)誤和設(shè)計(jì)缺陷,這些錯(cuò)誤和缺陷在測(cè)試階段未能發(fā)現(xiàn)。3. 軟件維護(hù)的類型:4. 軟件維護(hù)的內(nèi)容:5. 軟件維護(hù)的特點(diǎn):維護(hù)的問(wèn)題。6. 軟件維護(hù)過(guò)程:活動(dòng),7. 軟件的可維護(hù)性:改正性維護(hù),適應(yīng)性維護(hù),完善性維護(hù),預(yù)防性維護(hù) 程序維護(hù),數(shù)據(jù)維護(hù),硬件維護(hù)結(jié)構(gòu)化維護(hù)與非結(jié)構(gòu)化,維護(hù)的代價(jià)分(有形代價(jià)和無(wú)形代價(jià)) 建立維護(hù)組織,維護(hù)報(bào)告,維護(hù)的事件流,保存維護(hù)記錄,評(píng)價(jià)維護(hù)1.決定軟件可維護(hù)性的因素(可理解性,可測(cè)試性,可修改性,可 3復(fù)審移植性, 可重用性)2.文檔 一一影響可維護(hù)性的決定因素,比代碼更重要。2、某銀行計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)的工作流程大致如下:儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論