軟件工程背誦版_第1頁
軟件工程背誦版_第2頁
軟件工程背誦版_第3頁
軟件工程背誦版_第4頁
軟件工程背誦版_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

時(shí)間太短,范圍太大,以下范圍是最簡版,只能作參考,如只看此文檔,后果負(fù)責(zé)軟件危機(jī)指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中,所遇到的一系列嚴(yán)重問題。軟件危機(jī)主要包括的問題(兩方面):①如何開發(fā)軟件②如何維護(hù)軟件軟件危機(jī)的有主要原因:①與軟件本身的特點(diǎn)有關(guān)②與軟件開發(fā)與維護(hù)的方法不正確有關(guān)軟件與硬件不同:①抽象性。②問題的隱蔽性軟件與一般程序不同:①軟件遠(yuǎn)比一般程序規(guī)模龐大,復(fù)雜性高②大型軟件開發(fā)既有技術(shù)問題,還有社會問題產(chǎn)生產(chǎn)生軟件危機(jī)的原因:①對用戶需求的獲取不正確②軟件開發(fā)就是編寫程序。③軟件開發(fā)只要依靠個(gè)別編程高手就能完成。④輕視軟件維護(hù)傳統(tǒng)方法學(xué)的優(yōu)點(diǎn):①分解任務(wù),分工合作,降低整個(gè)軟件開發(fā)工程的困難②采用科學(xué)的管理技術(shù)和良好的技術(shù)方法對每個(gè)階段成果都進(jìn)行嚴(yán)格的審查。保證了軟件的質(zhì)量。傳統(tǒng)方法學(xué)的缺點(diǎn):把數(shù)據(jù)和操作人為地分離成兩個(gè)獨(dú)立的部分,增加了軟件開發(fā)與維護(hù)的難度。軟件生命周期:從需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存周期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。模型優(yōu)點(diǎn)缺點(diǎn)瀑布模型規(guī)范,文檔驅(qū)動系統(tǒng)可能不滿足客戶真正的需求快速原型克服了瀑布型的缺點(diǎn)增量模型開發(fā)早期回報(bào)明確,易于維護(hù)要求開放的軟件體系結(jié)構(gòu)螺旋模型風(fēng)險(xiǎn)驅(qū)動,適用于大型項(xiàng)目開發(fā)風(fēng)險(xiǎn)分析人員需要有經(jīng)驗(yàn)且經(jīng)過充分訓(xùn)練軟件生命周期軟件過程:為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。軟件生命周期12.噴泉模型使開發(fā)過程具有迭代性和無間隙性螺旋模型適合大型軟件開發(fā),在每個(gè)階段都加入風(fēng)險(xiǎn)分析。瀑布模型比較適合開發(fā)需求明確的小型軟件。RUP(統(tǒng)一軟件開發(fā)過程)是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論可行性研究(技術(shù)、經(jīng)濟(jì)、操作)的目的:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠并且值得解決。最根本任務(wù)是對以后的行動方針提出建議??尚行匝芯康倪^程:第一步:要進(jìn)一步分析和澄清問題的定義,在問題定義階段初步確定的規(guī)模和目標(biāo),正確的進(jìn)一步確定,錯(cuò)誤的及時(shí)改正。第二步:研究目前正在使用的系統(tǒng)。第三步:導(dǎo)出新系統(tǒng)的高層邏輯模型第四步:進(jìn)一步定義問題第五步:導(dǎo)出和評價(jià)供選擇的解法第六步:推薦行動方案第七步:草擬開發(fā)計(jì)劃第八步:書寫檔案,提交審查可行性分析的描述手段:系統(tǒng)流程圖、數(shù)據(jù)流圖系統(tǒng)流程圖:概括地描繪物理系統(tǒng),表達(dá)數(shù)據(jù)在系統(tǒng)各部件之間流動的情況系統(tǒng)流程圖:表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況21.數(shù)據(jù)流圖:描繪數(shù)據(jù)在系統(tǒng)中流動的邏輯過程。數(shù)據(jù)流圖的用途:1)利用它作為交流信息的工具;2)作為軟件分析和設(shè)計(jì)的工具。數(shù)據(jù)字典:對數(shù)據(jù)流圖中包含的所有元素的定義的集合;可行性研究階段,數(shù)據(jù)流圖與數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。(實(shí)現(xiàn):程序處理、卡片式人工書寫)24.數(shù)據(jù)字典定義:1)數(shù)據(jù)流;2)數(shù)據(jù)元素(數(shù)據(jù)流分量);3)數(shù)據(jù)存儲;4)處理。25.數(shù)據(jù)字典的用途1.作為分析階段的重要工具;2.數(shù)據(jù)元素的控制信息非常有用;3.有助于開發(fā)數(shù)據(jù)庫。26.成本/效益分析:主要包括成本估計(jì)和成本效益分祈。成本估計(jì):一、開發(fā)成本估計(jì)技術(shù)二、運(yùn)行費(fèi)用估計(jì)軟件系統(tǒng)本質(zhì)上是信息處理系統(tǒng),要考慮數(shù)據(jù)和數(shù)據(jù)處理的問題。29.需求分析的任務(wù)1、確定對系統(tǒng)的綜合要求2、分析系統(tǒng)的數(shù)據(jù)要求3、導(dǎo)出系統(tǒng)的邏輯模型4、修正系統(tǒng)開發(fā)計(jì)劃30.面向數(shù)據(jù)流自頂向下求精過程31.簡易的應(yīng)用規(guī)格說明技術(shù):面向團(tuán)隊(duì)的需求收集,用戶與開發(fā)者配合32.建立和修改原型的方法和工具:(1)第四代技術(shù)(2)可重用的軟件構(gòu)件(3)形式化規(guī)格說明和原型環(huán)境33?模型:(需要無歧義)通常由一組圖形符號和組織這些符號的規(guī)則組成。實(shí)體關(guān)系圖(Entity-RelationshipDiagram,E-R圖):創(chuàng)建數(shù)據(jù)模型描述系統(tǒng)中數(shù)據(jù)對象及關(guān)系;數(shù)據(jù)流圖(DataFlowDiagram,DFD):用來創(chuàng)建功能模型描述了信息流和數(shù)據(jù)轉(zhuǎn)換。狀態(tài)轉(zhuǎn)換圖(State-TransitionDiagram,STD):用來創(chuàng)建行為模型描述系統(tǒng)狀態(tài)如何響應(yīng)外部事件,而進(jìn)行轉(zhuǎn)換。(初態(tài)、終態(tài)、中間狀態(tài))對象模型(Objectmodel):定義實(shí)體,描述系統(tǒng)的靜態(tài)結(jié)構(gòu),定義“對誰做”動態(tài)模型(Dynamicmodel):描述對象之間的交互過程,規(guī)定“何時(shí)做”功能模型(Functionalmodel):描述內(nèi)部數(shù)據(jù)的處理,指明系統(tǒng)應(yīng)“做什么”范式低,冗余大,范式高,分解得細(xì),冗余小,但處理過程復(fù)雜。IPO圖是輸入處理/輸出圖,HIPO圖=層次圖+IPO圖驗(yàn)證軟件需求:一致性完整性現(xiàn)實(shí)性有效性39?概要設(shè)計(jì)(總體設(shè)計(jì))重要性:1、站在全局高度,從較抽象的層次上分析對比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu)2、從中選出最佳方案和最合理的軟件結(jié)構(gòu)3、從而用較低成本開發(fā)出較高質(zhì)量的軟件系統(tǒng)設(shè)計(jì)的過程1、設(shè)想供選擇的方案2、選擇合理的方案3、推薦最佳方案4、功能分解5、設(shè)計(jì)軟件結(jié)構(gòu)6、數(shù)據(jù)庫設(shè)計(jì)7、制定測試計(jì)劃8、書寫文檔9、審查和復(fù)審每個(gè)模塊完成一個(gè)特定的子功能接口:指模塊的輸入與輸出。模塊化好處:1、模塊化使軟件容易測試和調(diào)試,因而有助提高軟件的可靠性。2、模塊化能提高軟件的可修改性。3、模塊化有助于軟件開發(fā)工程的組織管理。軟件開發(fā)中的抽象:過程的抽象,數(shù)據(jù)的抽象抽象思想:在認(rèn)識事物、分析和解決問題的過程中,忽略那些與當(dāng)前研究目標(biāo)不相關(guān)的部分,以便將注意力集中于與當(dāng)前目標(biāo)相關(guān)的方面。軟件開發(fā)實(shí)際上就是一個(gè)從高層次抽象到低層次抽象逐步過渡的過程。逐步求精:為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)的考慮。什么是模塊獨(dú)立性?模塊只完成系統(tǒng)要求的相對獨(dú)立的功能

47.48.模塊的獨(dú)立性很重要的原因:1)有效的模塊化的軟件比較容易開發(fā)出來2模塊的獨(dú)立性很重要的原因:1)有效的模塊化的軟件比較容易開發(fā)出來2)比較容易測試和維護(hù)。軟件設(shè)計(jì)目標(biāo):低耦合、高內(nèi)聚49.力求做到高內(nèi)聚,盡量少用中內(nèi)聚,不用低內(nèi)聚。52.啟發(fā)式規(guī)則53.SC(結(jié)構(gòu)圖)中的四種模塊①改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性②模塊規(guī)模適中③深度、寬度、扇出和扇入適中④將模塊的影響限制在53.SC(結(jié)構(gòu)圖)中的四種模塊人機(jī)界面設(shè)設(shè)計(jì)過程64.人機(jī)界面設(shè)設(shè)計(jì)過程64.55.信息流可分為兩種類型:變換型流、事務(wù)型流56.詳細(xì)設(shè)計(jì)的根本目標(biāo)是:確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng)(算法設(shè)計(jì))。結(jié)構(gòu)程序設(shè)計(jì)(SP):如果一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,而且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。結(jié)構(gòu)化程序流程圖通常由三種結(jié)點(diǎn)組成:1)函數(shù)結(jié)點(diǎn)2)謂詞結(jié)點(diǎn)3)匯點(diǎn)結(jié)構(gòu)化程序三種基本控制結(jié)構(gòu):順序、選擇、循環(huán)正規(guī)程序:1)具有一個(gè)入口線和一個(gè)出口線;2)對每一個(gè)結(jié)點(diǎn),都有一條從入口線到出口線的通路通過該結(jié)點(diǎn)。人機(jī)界面應(yīng)具備的特性:可使用性靈活性復(fù)雜性可靠性人機(jī)界面設(shè)計(jì)問題:①系統(tǒng)響應(yīng)時(shí)間(長度、易變性)②用戶幫助信息③出錯(cuò)信息處理④命令交互63.(1)圖形工具:程序流程圖(FC)、盒圖(NS)、問題分析圖(PAD)

(2)表格工具:判定表、判定樹(3)語言工具:過程設(shè)計(jì)語言(PDL)用于描述功能模塊的算法設(shè)計(jì)和處理細(xì)節(jié)的語言66.過程設(shè)計(jì)語言PDL優(yōu)點(diǎn):1) 可以作為注釋直接插在源程序中間;2) 可以使用普通的正文編輯程序或文字處理系統(tǒng)來完成PDL的書寫和編輯工作;3)現(xiàn)在已經(jīng)有一些自動處理程序可以自動地把PDL生成程序代碼。PDL的缺點(diǎn):不如圖形工具形象直觀,不如判定表簡單階段需求分析結(jié)構(gòu)化分析方法階段需求分析結(jié)構(gòu)化分析方法SA

StructuredAnalisys數(shù)據(jù)流圖(DFD)數(shù)據(jù)詞典(DD)加工邏輯說明工具:判定樹、判定表、PDL概要設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)方法SD

StructuredDesign詳細(xì)設(shè)計(jì)概要設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)方法SD

StructuredDesign詳細(xì)設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)方法SP

StructuredProgramming67.68.69.變換分析事務(wù)分析 程序流程圖(FG)盒圖(NS)問題分析圖(PAD)判定表、判定樹縛聲化語言(PDL)!詳細(xì)描述。程序建計(jì)語言度量法;MIcCabe度量法:又稱環(huán)路度量法;Halstead的軟件科學(xué)環(huán)路復(fù)雜性V(G)的計(jì)算方法:V(G)二判定結(jié)點(diǎn)數(shù)+1=E-N+2(E:邊數(shù) N:結(jié)點(diǎn)數(shù))程序設(shè)計(jì)語言:是人和計(jì)算機(jī)通信的最基本的工具良好編碼風(fēng)格包括:程序內(nèi)部應(yīng)該有很好的文檔;數(shù)據(jù)說明應(yīng)易于理解和維護(hù);語句結(jié)構(gòu)盡可能簡單直觀輸入輸出風(fēng)格遵守人機(jī)界面設(shè)計(jì)準(zhǔn)則;效率滿足用戶需求即可在書寫語句時(shí),應(yīng)通過采用遞縮式格式使程序的層次更加清晰。構(gòu)造語句時(shí)應(yīng)該遵循的原則:使用標(biāo)準(zhǔn)的控制結(jié)構(gòu);盡可能使用庫函數(shù);不要為了節(jié)省空間而把多個(gè)語句寫在同一行;盡量避免復(fù)雜的條件測試;盡量減少對“非”條件的測試;避免大量使用循環(huán)嵌套和條件嵌套;利用括號使邏輯表達(dá)式或算術(shù)表達(dá)式的運(yùn)算次序清晰直觀。程序的效率:是指程序的執(zhí)行速度及程序所需占用的內(nèi)存的存儲空間。源程序的效率直接由詳細(xì)設(shè)計(jì)階段確定的算法的效率決定。軟件測試:是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程,它不能表明軟件中不存在錯(cuò)誤,只能說明軟件中存在錯(cuò)誤。群集現(xiàn)象:80%的錯(cuò)誤可能是由20%的模塊造成的軟件測試方法:靜態(tài)測試、動態(tài)測試(黑盒法、白盒法)黑盒測試(功能測試):檢驗(yàn)是否每個(gè)功能都能正常使用白盒測試(結(jié)構(gòu)測試):知道軟件內(nèi)部工作過程,可以通過測試來檢驗(yàn)軟件內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行82.測試的4個(gè)步驟:

單元(模塊)測試;集成測試(子系統(tǒng)和系統(tǒng)測試);確認(rèn)(驗(yàn)收)測試;平行運(yùn)行測試方法:白盒測試為主,黑盒測試為輔,多個(gè)模塊并行進(jìn)行。83.單元測試測試目的:發(fā)現(xiàn)模塊內(nèi)部可能存在的差錯(cuò)83.單元測試測試目的:發(fā)現(xiàn)模塊內(nèi)部可能存在的差錯(cuò)測試依據(jù):詳細(xì)設(shè)計(jì)說明書和源程序清單MTTF1=£(T)二一rK[E/I-E(T)/I]TTcT測試重點(diǎn):①模塊接口測試②局部數(shù)據(jù)結(jié)構(gòu)測試④錯(cuò)誤處理測試⑤邊界測試通常代碼審查和機(jī)器測試結(jié)合使用自頂向下的漸增方式:它需要存根程序,但是不需要驅(qū)動程序。自底向上的增殖方式:不再需要存根程序,需要驅(qū)動模塊。確認(rèn)測試一般使用黑盒測試法。只有當(dāng)a測試達(dá)到一定的可靠程度時(shí),才開始B測試。幾種黑盒測試技術(shù):等價(jià)類劃分、邊界值分析、錯(cuò)誤推測法、因果圖軟件工程發(fā)展的兩個(gè)重要階段:傳統(tǒng)軟件工程、面向?qū)ο筌浖墓こ虃鹘y(tǒng)軟件工程:面向過程的結(jié)構(gòu)化程序設(shè)計(jì);程序=數(shù)據(jù)結(jié)構(gòu)+算法;由“追求技巧與效率”到“清晰第一,效率第二”缺點(diǎn):a) 不太適應(yīng)規(guī)模大、特別復(fù)雜的項(xiàng)目;b) 難以解決軟件重用的問題;c) 難以適應(yīng)需求的變化;d) 難以徹底解決維護(hù)問題。93?面向?qū)ο?對象+類+繼承+消息通信對象是系統(tǒng)中用來描述客觀事物的實(shí)體,是構(gòu)成系統(tǒng)的基本單位。由一組屬性和相關(guān)操作

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論