




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 軟件工程概念 第一章:軟件定義1.軟件( Software):計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序(Program) ,數(shù)據(jù)(Data)及其相關文檔( Document)的完整集合。2.軟件的特征:邏輯復雜,開發(fā)復雜,成本高,風險大,維護困難。3.按軟件功能分類:系統(tǒng)軟件,支撐軟件,應用軟件。系統(tǒng)軟件:操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng),設備驅動程序,通信處理程序等。支撐軟件:文本編輯程序,文件格式化程序,程序庫系統(tǒng)等應用軟件:商業(yè)數(shù)據(jù)處理軟件,工程與科學計算軟件,計算機輔助設計制造軟件,系統(tǒng)仿真軟件,智能嵌入軟件,醫(yī)療、制藥軟件,事務管理、辦公自動化軟件。按軟件規(guī)模分類:微型,小型,中
2、型,大型,甚大型,極大型。按軟件工作方式分:實時處理軟件,分時軟件,交互式軟件,批處理軟件4.軟件危機:是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題5.軟件危機主要是兩個問題:1.如何開發(fā)軟件,以滿足對軟件的日益增長的需求?2.如何維護數(shù)量不斷膨脹的已有軟件?5.軟件危機的表現(xiàn):1.成本高,開發(fā)成本估計不準確2.軟件質量不高、可靠性差3.進度難以控制4.維護非常困難5.用戶不滿意6. 由于軟件質量問題導致失敗的軟件項目非常多。6.產生軟件危機的原因:1.與軟件本身的特點有關 2.與軟件開發(fā)與維護的方法不正確有關.軟件工程學的目的:以較低的成本研制具有較高質量的軟件軟件工程技術的兩個
3、明顯特點:1.強調規(guī)范化2. 強調文檔化軟件工程的基本原理(7條):1.用分階段的生命周期計劃嚴格管理2.堅持進行階段評審3.實嚴格的產品控制4.采用現(xiàn)代程序設計技術5.結果應能清楚地審查6.開發(fā)小組的人員應該少而精7.承認不斷改進軟件工程實踐的必要性8.軟件工程方法學包含3個要素:方法、工具和過程9.軟件生命周期:軟件定義(問題定義,可行性研究,需求分析),軟件開發(fā)( 總體設計,詳細設計,編碼和單元測試,集成測試),運行維護 ( 持久滿足用戶需求)10.軟件過程模型:瀑布模型,快速原型模型,增量模型 ,螺旋模型,噴泉模型。11.軟件過程模型RUP:初始階段,細化階段,構造階段,移交階段 第二
4、章:可行性研究的任務1.可行性研究的五個方案:技術可行性,經濟可行性,操作可行性,法律可行性,社會效益2.可行性研究過程:1.復查系統(tǒng)規(guī)模與目標、2.研究目前的系統(tǒng)、3. 導出新系統(tǒng)的高層邏輯模型、4. 進一步定義問題、5. 導出和評價供選擇的解法、6. 推薦行動方針、7. 草擬開發(fā)計劃、8.書寫文檔提交審查3.系統(tǒng)流程圖:用來描述物理系統(tǒng)的工具。4.系統(tǒng)流程圖表達:是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,而不是對數(shù)據(jù)進行加工處理的控制過程。即:系統(tǒng)流程圖程序流程圖。 5.系統(tǒng)流程圖的基本思想:用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件6.系統(tǒng)流程圖元素:處理,輸入輸出,連接,換頁連接,數(shù)據(jù)流。7
5、.數(shù)據(jù)流圖:用來描述邏輯系統(tǒng)的工具。數(shù)據(jù)流圖(DFD)是一種圖形化技術,它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經受的變換,即數(shù)據(jù)流圖描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。8.數(shù)據(jù)流圖四種基本符號:數(shù)據(jù)加工/處理/變換,數(shù)據(jù)源點或終點 (外部實體),數(shù)據(jù)存儲,數(shù)據(jù)流。9.數(shù)據(jù)字典的組成:數(shù)據(jù)流,數(shù)據(jù)流分量(數(shù)據(jù)元素),數(shù)據(jù)存儲,處理。10.數(shù)據(jù)元素:順序,選擇,重復,可選。 第三章:需求分析1.需求分析:軟件定義時期的最后一個階段,2.需求分析的基本任務:不是確定系統(tǒng)怎樣完成它的工作,而是確定系統(tǒng)必須完成哪些工作,也就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。3.軟件需求的組成:業(yè)務
6、需求, 用戶需求,系統(tǒng)需求。4.需求分析方法:面向數(shù)據(jù)流的結構化分析方法 (SA),面向對象的分析方法 (OOA) 等5.邏輯模型:數(shù)據(jù)流圖(DFD),數(shù)據(jù)字典(DD),實體-關系圖(ERD),狀態(tài)轉換圖(STD)6.物理模型:系統(tǒng)流程圖,7.需求分析的基本思想:“自頂向下,逐步求精”,抽象和分解8.需求分析;功能模型數(shù)據(jù)流圖,數(shù)據(jù)模型實體-關系圖,行為模型狀態(tài)轉換圖9.實體-關系圖(ERD):描述數(shù)據(jù)對象及數(shù)據(jù)對象之間的關系10.數(shù)據(jù)流圖(DFD):描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對數(shù)據(jù)流進行變換的功能(子功能)11.狀態(tài)轉換圖(STD):描述系統(tǒng)對外部事件如何響應,如何動作模
7、型的核心是數(shù)據(jù)字典 12.實體-聯(lián)系圖(ER)組成::數(shù)據(jù)對象(實體)、數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關系。聯(lián)系:一對一聯(lián)系,一對多聯(lián)系,多對多聯(lián)系。通常用矩形框代表實體;用連接相關實體的菱形框表示關系;用橢圓形或圓角矩形表示實體(或關系)的屬性;并用直線把實體(或關系)與其屬性連接起來。13.數(shù)據(jù)規(guī)范化目的是:1.消除數(shù)據(jù)冗余,即消除表格中數(shù)據(jù)的重復;2.消除多義性,使關系中的屬性含義清楚、單一;3.使關系的“概念”單一化,讓每個數(shù)據(jù)項只是一個簡單的數(shù)或字符串,而不是一個組項或重復組;4.方便操作。使數(shù)據(jù)的插入、刪除與修改操作可行并方便;5.使關系模式更靈活,易于實現(xiàn)接近自然語言的
8、查詢方式。14.狀態(tài)轉換圖(簡稱為狀態(tài)圖):通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉換的事件,來表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了作為特定事件的結果,系統(tǒng)將做哪些動作(例如,處理數(shù)據(jù))。15.狀態(tài):初態(tài):一個,終態(tài):0或多個,中間狀態(tài)16. 驗證軟件需求:一致性,完整性,現(xiàn)實性, 有效性。 第五章:總體設計1.總體設計(概要設計):將軟件需求轉化為數(shù)據(jù)結構和軟件的系統(tǒng)結構2.數(shù)據(jù)庫設計包括三個步驟:模式設計,子模式設計,存儲模式設計。3.軟件設計原理:模塊化,抽象,逐步求精,信息隱藏與信息局部化,模塊獨立4.模塊:是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說明,可執(zhí)行的語句)的序列,而且有一個總體
9、標識符代表它。C、C+和Java語言中的 . 對過程、函數(shù)、子程序和宏等面向對象方法學中的對象是模塊,對象內的方法也是模塊模塊化是好的軟件設計的一個基本準則5.模塊獨立的含義:模塊完成獨立的功能,符合信息隱藏和信息局部化原則,模塊間關連和依賴程度盡量小。6.獨立性的度量:耦合、內聚。7.耦合是對一個軟件結構內不同模塊之間互連程度的度量。8.耦合的強弱取決于模塊間接口的復雜程度,進入或訪問一個模塊的點以及通過接口的數(shù)據(jù) 9.模塊間的耦合程度強烈影響系統(tǒng)的可理解性、可測試性、可靠性和可維護性。耦合性越高,模塊獨立性越弱10.耦合強度依賴的因素:一模塊對另一模塊的引用一模塊向另一模塊傳遞的數(shù)據(jù)量一模
10、塊施加到另一模塊的控制的數(shù)量模塊間接口的復雜程度11.耦合性由強到弱排列為:內容耦合,公共耦合,特征耦合,控制耦合,數(shù)據(jù)耦合。12.原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合的范圍,完全不用內容耦合。13.內聚 (Cohesion):標志一個模塊內各元素彼此結合的緊密程度。14.內聚有七種,由弱到強分別為:偶然內聚-邏輯內聚-時間內聚-過程內聚-通信內聚-順序內聚-功能內聚。15.深度 = 分層的層數(shù)。過大表示分工過細。16.寬度 = 同一層上模塊數(shù)的最大值。過大表示系統(tǒng)復雜度大。17.扇出 = 一個模塊直接調用/控制的模塊數(shù)。18.扇入 = 直接調用該模塊的模塊數(shù)。19控制域:這個模
11、塊本身以及所有直接或間接從屬于它的模塊的集合。20.作用域:受該模塊中的一個判定所影響的所有模塊的集合。面向數(shù)據(jù)流的設計方法:變換流,事務流。 第六章:詳細設計1.詳細設計:描述系統(tǒng)的每個程序,包括每個模塊和子程序名稱、標識符、層次結構系2.對程序的功能、性能、輸入、輸出、算法、流程、接口等進行描述3.程序控制結構:順序、選擇,循環(huán),(多分支,DO While ,DO Until)五種基本控制結構。4.程序流程圖又稱為程序框圖:是對一個模塊的內部執(zhí)行過程用圖形來描述。5.盒圖:只能從上邊進入,從下邊走出,沒有其他的入口和出口,6.盒圖的基本符號:順序,選擇型(If-then-else),多分支
12、選擇型(CASE型),DO-WHILE循環(huán)(先測試循環(huán)), DO-UNTIL循環(huán)(后測試循環(huán)). 調用子程序.7.PAD圖:PAD圖中豎線的總條數(shù)就是程序中的層次數(shù)8.PAD圖基本符號:順序,選擇,循環(huán),Case分支,語句標號,定義.9.判定表:左上部列出所有的條件,左下部是所有可能的操作,右上部是各種條件的組合矩陣,右下部是每種條件組合對應的動作 第七章:軟件實現(xiàn)1.實現(xiàn):編碼和測試2編碼:把軟件設計結果翻譯成用某種程序設計語言書寫的程序3.程序設計語言:機器語言,匯編語言,高級語言4.程序內部的文檔包括:恰當?shù)臉俗R符,適當?shù)淖⑨?,程序的視覺組織 。5.符號名即標識符;包括模塊名、變量名、常
13、量名、標號名、子程序名、數(shù)據(jù)區(qū)名以及緩沖區(qū)名等。6.程序的注釋:程序員與日后的程序讀者之間通信的重要手段7.注釋分為序言性注釋和功能性注釋. 8.軟件測試是保證軟件質量的關鍵步驟,是對軟件規(guī)格說明、設計和編碼的最后復審,其工件量約占總工作量40%以上(對于人命關天的情況,測試相當于其它部分總成本的35倍)。8.軟件測試方法:靜態(tài)測試方法,動態(tài)測試方法9.靜態(tài)測試方法:人工測試方法,計算機輔助靜態(tài)分析方法10.動態(tài)測試方法:白盒測試方法,黑盒測試方法.11.黑盒測試法又稱功能測試:把程序看作一個黑盒子,完全不考慮程序的內部結構和處理過程12.白盒測試法又稱為結構測試:把程序看成裝在一個透明的白盒
14、子,測試者完全知道程序的結構和處理算法13.軟件測試步驟:1.模塊測試又稱(單元測試),2.子系統(tǒng)測試,3.系統(tǒng)測試稱為集成測試,4.驗收測試也稱為確認測試,5.平行運行14.單元測試主要使用白盒測試技術。15.單元測試重點:模塊接口,局部數(shù)據(jù)結構 ,重要的執(zhí)行通路,出錯處理通路,邊界條件。16.集成測試方法:非漸增式測試方法,漸增式測試方法17.漸增式測試策略:可使用深度優(yōu)先的策略,或寬度優(yōu)先的策略18.回歸測試:是指重新執(zhí)行已經做過的測試的某個子集,以保證修改變化沒有帶來非預期的副作用。19.白盒測試技術:邏輯覆蓋20.邏輯覆蓋是以程序內部的邏輯結構為基礎的設計測試用例的技術。 21.邏輯
15、覆蓋:語句覆蓋, 判定覆蓋 ,條件覆蓋,判定條件覆蓋, 條件組合覆蓋,21.路徑覆蓋,點覆蓋= 語句覆蓋,邊覆蓋=判定覆蓋,路徑覆蓋 與條件組合覆蓋。22.語句覆蓋:每條語句至少執(zhí)行一次23.判定覆蓋 :每一判定的每個分支至少執(zhí)行一次24.條件覆蓋:每一判定中的每個條件,分別按“真”、“假”至少各執(zhí)行一次25.判定條件覆蓋:同時滿足判定覆蓋和條件覆蓋的要求26.條件組合覆蓋:求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次。27.路徑覆蓋:每條可能的路徑都至少執(zhí)行一次,若圖中有環(huán),則每個環(huán)至少經過一次28.黑盒測試著重測試軟件功能。29.黑盒測試技術:等價類劃分,邊界值分析法
16、,錯誤推測法30.等價類:有效等價類和無效等價類31.邊界值分析法,應該選取剛好等于、稍小于和稍大于等價類邊界值的數(shù)據(jù)作為測試數(shù)據(jù)32.調試途徑調試策略:蠻干法,回溯法,原因排除法-33.原因排除法-包括:對分查找法、歸納法、演繹法34.軟件可靠性:可靠性,可用性,正確性35.可靠性和可用性的區(qū)別是:可靠性是在0到t時間間隔內,系統(tǒng)沒有失效的概率。而可用性是在t時刻,系統(tǒng)正常運行的概率。 第九章:軟件維護1.軟件維護的定義:在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。2.軟件維護的原因:在運行中發(fā)現(xiàn)軟件錯誤和設計缺陷,這些錯誤和缺陷在測試階段未能發(fā)現(xiàn)。3.軟件維護的類型:改正性維護,適應性維護,完善性維護,預防性維護4.軟件維護的內容:程序維護,數(shù)據(jù)維護,硬件維護5.軟件維護的特點:結構化維護與非結構化,維護的代價分(有形代價和無形代價),維護的問題。6.軟件維護過程:建立維護組織,維護報告,維護的事件流,保存維護記錄,評價維護活動,7.軟件的可維護性:1.決定軟件可維護性的因素(可理解性,可測試性,可修改性,可移植性, 可重用性)2.文檔 影響可維護性的決定因素,比代碼更重要。3.復審2、某銀行計算機儲蓄系統(tǒng)的工作流程大致如下:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年花崗巖方料項目可行性研究報告
- 錐管項目可行性研究報告
- 國內女裝市場發(fā)展概況
- 項目總結報告書范本-項目總結報告
- 2023-2029年中國無糖軟糖行業(yè)市場深度分析及投資戰(zhàn)略規(guī)劃建議報告
- 蠶繭購銷合同范本
- 2020-2025年中國春秋裝行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報告
- 七年級下冊政治第一單元知識點
- 今晚又見月兒圓
- 徽杭古道:莫愁千里路自有到來風
- 2024年中國凍蝦仁市場調查研究報告
- DB13(J)-T 8543-2023 公共建筑節(jié)能設計標準(節(jié)能72%)
- 2024年國家公務員考試行政職業(yè)能力測驗真題及答案
- 某港口碼頭工程施工組織設計
- (完整文本版)日文履歷書(文本テンプレート)
- 2023三年級語文下冊 第八單元 語文園地配套教案 新人教版
- 全國川教版信息技術八年級下冊第一單元第1節(jié) 《設計創(chuàng)意掛件》教學設計
- 2024時事政治必考試題庫(預熱題)
- 品質部組織架構圖構
- 《幼兒園性教育》
- (高清版)TDT 1040-2013 土地整治項目制圖規(guī)范
評論
0/150
提交評論