




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件開發(fā)生命周期軟件開發(fā)生命周期1第一章軟件工程概述章節(jié)目標(biāo)了解什么是軟件了解什么是軟件工程理解軟件工程為什么很重要學(xué)習(xí)軟件工程的意義Unit標(biāo)題第一章軟件工程概述章節(jié)目標(biāo)Unit標(biāo)題2什么是軟件?軟件是程序和所有使程序正確運行所需要的相關(guān)文檔和配置信息。軟件產(chǎn)品有以下兩類:通用軟件產(chǎn)品如:操作系統(tǒng)、多媒體、word、PowerPoint等。定制軟件產(chǎn)品
如:模擬訓(xùn)練、數(shù)據(jù)管理、輔助決策、人工智能等各個領(lǐng)域。第一章軟件工程概述什么是軟件?軟件是程序和所有使程序正確運行所需要的相關(guān)文檔和3什么是軟件工程?軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護(hù)的過程,即將工程化應(yīng)用于軟件中。軟件工程還包括上述方法的研究。1962年,第一個金星探測器水手1號偏離航線失敗。原因:導(dǎo)航程序一個語句語義錯誤Apollo8存儲器信息丟失;11號運行10天18個軟件錯誤。規(guī)模相對較??;崇尚個人技巧技藝缺乏有效方法與軟件工具支持不重視開發(fā)過程的管理維護(hù)困難(編寫1條匯編語句=研制2個硬件邏輯門;維護(hù)1匯編語句條=修理4個硬件邏輯門)1968年NATO(北大西洋公約組織)會議:softwarecrisis,softwareengineering.第一章軟件工程概述什么是軟件工程?軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)4第一章軟件工程概述二、什么是軟件工程?軟件工程中的分層第一章軟件工程概述二、什么是軟件工程?軟件工程中的分層5第一章軟件工程概述二、什么是軟件工程?如果不考慮應(yīng)用領(lǐng)域、項目規(guī)模和復(fù)雜性,與軟件工程相關(guān)的工作可分為三個一般的階段:.定義階段——集中于“做什么”.開發(fā)階段——集中于“如何做”.維護(hù)階段——集中于“改變”軟件工程的一般視圖第一章軟件工程概述二、什么是軟件工程?如果不考慮應(yīng)用領(lǐng)6第一章軟件工程概述二、什么是軟件工程?.軟件項目追蹤和控制.正式的技術(shù)評審.軟件質(zhì)量保證.軟件配置管理.文檔的準(zhǔn)備和產(chǎn)生.可復(fù)用管理.度量.風(fēng)險管理典型的保護(hù)性活動第一章軟件工程概述二、什么是軟件工程?.軟件項目追蹤7第一章軟件工程概述?為什么需要那么長時間才能結(jié)束開發(fā)??為什么成本如此之高??為什么我們不能在把軟件交給客戶之前就發(fā)現(xiàn)所有的錯誤??為什么在軟件開發(fā)過程中我們難以度量其進(jìn)展?理解軟件工程為什么很重要第一章軟件工程概述?為什么需要那么長時間才能結(jié)束開發(fā)8第一章軟件工程概述二、什么是軟件工程?邏輯產(chǎn)品而不是實物其功能依賴于人的操作和相關(guān)硬件而體現(xiàn)對軟件產(chǎn)品的要求比一般有形產(chǎn)品來的復(fù)雜100萬匯編語句,1萬子功能,每功能2個實現(xiàn),則210000=103000組合!Hetgel負(fù)責(zé)軟件研制工程時候:幾個人)時候,認(rèn)為關(guān)鍵是方法學(xué)問題:50人時候,文檔越來越重要200人:關(guān)鍵是管理問題。復(fù)雜性:功能多樣性,實現(xiàn)多樣性,能見度低,結(jié)構(gòu)合理性差其“資金密集程度”中包含更多的人的成分(即“智力密集”)軟件工程與一般工程的差異第一章軟件工程概述二、什么是軟件工程?邏輯產(chǎn)品而不是實9第一章軟件工程概述軟件銷售收入比較圖三、理解軟件工程為什么很重要第一章軟件工程概述軟件銷售收入比較圖三、理解軟件工程為10學(xué)習(xí)軟件工程是大勢所趨第一章軟件工程概述世界上唯一不變的東西就是變化。拒絕改變的人將永遠(yuǎn)也找不回他的奶酪!
人對不了解的東西會產(chǎn)生抵觸。他因為害怕而拒絕改變!——《誰動了我的奶酪?》學(xué)習(xí)軟件工程是大勢所趨第一章軟件工程概述世界上11習(xí)題和答案1.什么是軟件危機(jī)?為什么會產(chǎn)生軟件危機(jī)?怎樣克服軟件危機(jī)?解:研制軟件系統(tǒng)需要投入大量的人力和物力,但系統(tǒng)的質(zhì)量卻難以保證,也就是說,開發(fā)軟件所需的高成本同產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象就是所謂的“軟件危機(jī)”。產(chǎn)生軟件危機(jī)的原因:用戶對軟件需求的描述不精確,可能有遺漏、有二義性、有錯誤,甚至在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求。軟件開發(fā)人員對用戶需求的理解與用戶的本來愿望有差異,導(dǎo)致開發(fā)出來的軟件產(chǎn)品與用戶要求不一致。大型軟件項目需要組織一定的人力共同完成,多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗。各類人員的信息交流不及時、不準(zhǔn)確、有時還會產(chǎn)生誤解。軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關(guān)系和各個分支,因此容易產(chǎn)生疏漏和錯誤。缺乏有利的方法學(xué)和工具方面的支持,過分的依靠程序設(shè)計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化。軟件產(chǎn)品的特殊性和人類智力的局限性,導(dǎo)致人們無力處理“復(fù)雜問題”。要克服軟件危機(jī),就要認(rèn)真分析軟件危機(jī)的原因,探索用工程的方法進(jìn)行軟件生產(chǎn)的可能性,即用現(xiàn)代工程的概念、原理、技術(shù)和方法進(jìn)行計算機(jī)軟件的開發(fā)、管理、維護(hù)和更新。2.什么叫軟件工程?軟件工程的誕生是否從根本上消除了軟件危機(jī)?為什么?解:軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的誕生只能大大減少軟件開發(fā)成本并提高軟件質(zhì)量,不能從根本上消除軟件危機(jī)。
3.軟件生存周期為什么要劃分階段?各個階段的任務(wù)是什么?解:軟件也是一種產(chǎn)品,同樣存在生存周期。把軟件生存周期劃分為幾個階段后,軟件開發(fā)按照每個階段的基本任務(wù)進(jìn)行并產(chǎn)生相應(yīng)的工作結(jié)果,這樣有利于對軟件開發(fā)過程進(jìn)行管理,有利于提高軟件產(chǎn)品質(zhì)量。可行性研究與計劃階段的基本任務(wù):研究開發(fā)該項目的可行性。需求分析階段的基本任務(wù):理解和表達(dá)用戶的要求。設(shè)計階段的基本任務(wù):建立系統(tǒng)的結(jié)構(gòu)。編程階段的基本任務(wù):編寫程序。測試階段的基本任務(wù):發(fā)現(xiàn)錯誤和排除錯誤。
4.什么是軟件?如何評價軟件的質(zhì)量?解:軟件是程序以及開發(fā)、使用和維護(hù)程序所需的所有文檔。軟件質(zhì)量從可維護(hù)性、可靠性、可理解性和效率等方面對軟件作較全面的評價。習(xí)題和答案1.什么是軟件危機(jī)?為什么會產(chǎn)生軟件危機(jī)?怎樣克12傳統(tǒng)軟件工程概論一般問題的工程設(shè)計過程問題闡述問題分析(設(shè)計細(xì)節(jié))尋找解法判定最佳解法設(shè)計規(guī)約(規(guī)格說明、報告)實現(xiàn)傳統(tǒng)軟件工程概論一般問題的工程設(shè)計過程13程序設(shè)計方法回顧結(jié)構(gòu)化程序設(shè)計(SP)三種基本結(jié)構(gòu):順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)(迭代)原則:只有上面三種結(jié)構(gòu)自底向上,逐步抽象,最終形成一個函數(shù)型節(jié)點每個節(jié)點只有一個出口和一個入口其他:注意風(fēng)格:注視和縮進(jìn)等程序設(shè)計方法回顧結(jié)構(gòu)化程序設(shè)計(SP)14程序設(shè)計方法回顧程序正確性證明??調(diào)試能證明嗎?調(diào)試(debugging)的三個概念:測試testingUnittesting,integrationtesting,acceptancetesting確認(rèn)validation(開發(fā)結(jié)束時進(jìn)行的評價)驗證verification(開發(fā)過程中某階段是否到達(dá)前一階段確定要求的活動)程序設(shè)計方法回顧程序正確性證明15程序設(shè)計方法回顧模塊化與信息隱蔽模塊化:自頂向下,逐步細(xì)化模塊直接的接口應(yīng)盡可能簡明模塊之間盡可能彼此隔離要求:可修改性易讀性以驗證性程序設(shè)計方法回顧模塊化與信息隱蔽16程序設(shè)計方法回顧內(nèi)聚度cohesion:模塊所執(zhí)行的任務(wù)在功能上互相關(guān)聯(lián)的程度巧合內(nèi)聚coincidentcohesionLogicalcohesionTemporalcohesionProcedurecohesionCommunicationalcohesionSequentialcohesionFunctionalcohesion程序設(shè)計方法回顧內(nèi)聚度cohesion:模塊所執(zhí)行的任務(wù)在功17程序設(shè)計方法回顧耦合度coupling:模塊之間相互依賴的程度非直接nondirect耦合數(shù)據(jù)data耦合(參數(shù))標(biāo)記stamp耦合控制control耦合(控制語句)外部external耦合公用common耦合內(nèi)容content耦合程序設(shè)計方法回顧耦合度coupling:模塊之間相互依賴的程18程序設(shè)計方法回顧扇入fanin模塊直接隸屬的模塊個數(shù):一個模塊被其他模塊調(diào)用的個數(shù),稱為該模塊的扇入。扇入大些,一般不會影響問題的復(fù)雜性,而且扇入越大,說明該模塊的復(fù)用性越好扇出fanout:直接下屬的模塊個數(shù)一個模塊調(diào)用其他模塊的個數(shù),稱為該模塊的扇出。扇出越大,設(shè)計該模塊時需要考慮的問題就越多,因而復(fù)雜性越高。程序設(shè)計方法回顧扇入fanin19程序設(shè)計方法回顧原則:高內(nèi)聚度、低耦合度一般中等內(nèi)聚即可(功能性最理想)盡量不采用控制耦合(不使用goto語句),
限制使用外部、公共、內(nèi)容耦合扇出越多,模塊間邏輯關(guān)系
越復(fù)雜。應(yīng)控制在7+-2扇入越多,模塊可復(fù)用性越強(但可能產(chǎn)生低內(nèi)聚)模塊大?。?0句以上,程序員對其的理解力迅速下降;50-100句,開發(fā)成本迅速上升。程序設(shè)計方法回顧原則:高內(nèi)聚度、低耦合度20軟件工程的成本 開發(fā)成本分布描述設(shè)計開發(fā)集成和測試0255075100其中集成和測試最高,40%~50%另外,軟件投入使用后,其變更和更新也需要成本。對許多使用期限長的軟件而言,該成本往往高達(dá)開發(fā)成本的3~4倍!軟件工程的成本 開發(fā)成本分布描述21什么是CASE計算機(jī)輔助軟件工程ComputerAidedSoftwareEngineering分類:高端CASE:支持軟件過程的早期階段,如分析和設(shè)計低端CASE:支持實現(xiàn)和測試,如調(diào)試器,程序分析系統(tǒng),測試用例生成器和程序編輯器等。什么是CASE計算機(jī)輔助軟件工程ComputerAided22優(yōu)良軟件屬性可維護(hù)性:不斷進(jìn)化,滿足用戶需求變化;可依賴型:可靠性、安全性、保密性等,以及失敗時不造成傷亡和損失。有效性:不浪費內(nèi)存和系統(tǒng)資源等可用性:用戶不需特殊努力即可操作。優(yōu)良軟件屬性可維護(hù)性:不斷進(jìn)化,滿足用戶需求變化;23軟件工程面臨的問題遺留系統(tǒng)的挑戰(zhàn)多樣性的挑戰(zhàn)交付上的挑戰(zhàn)(在不損及質(zhì)量的情況下,縮短移交時間)軟件工程面臨的問題遺留系統(tǒng)的挑戰(zhàn)24職業(yè)和道德上的責(zé)任機(jī)密:保守雇主或客戶的機(jī)密,而不管是否簽署了保密協(xié)議工作能力:實事求是表述自己的工作能力,不應(yīng)有意接受超出自己能力的工作。知識產(chǎn)權(quán):知曉相關(guān)法律,保護(hù)雇主和客戶的知識產(chǎn)權(quán)。計算機(jī)濫用:不得將自己的技能濫用與他人的計算機(jī)。職業(yè)和道德上的責(zé)任機(jī)密:保守雇主或客戶的機(jī)密,而不管是否簽署25ACM/IEEE職業(yè)道德準(zhǔn)則ACM美國計算機(jī)學(xué)會IEEE電氣和電子工程師協(xié)會公眾感客戶和雇主產(chǎn)品判斷力管理職業(yè)干同事自己ACM/IEEE職業(yè)道德準(zhǔn)則ACM美國計算機(jī)學(xué)會26軟件開發(fā)生命周期課件27軟件開發(fā)生命周期軟件開發(fā)生命周期28第一章軟件工程概述章節(jié)目標(biāo)了解什么是軟件了解什么是軟件工程理解軟件工程為什么很重要學(xué)習(xí)軟件工程的意義Unit標(biāo)題第一章軟件工程概述章節(jié)目標(biāo)Unit標(biāo)題29什么是軟件?軟件是程序和所有使程序正確運行所需要的相關(guān)文檔和配置信息。軟件產(chǎn)品有以下兩類:通用軟件產(chǎn)品如:操作系統(tǒng)、多媒體、word、PowerPoint等。定制軟件產(chǎn)品
如:模擬訓(xùn)練、數(shù)據(jù)管理、輔助決策、人工智能等各個領(lǐng)域。第一章軟件工程概述什么是軟件?軟件是程序和所有使程序正確運行所需要的相關(guān)文檔和30什么是軟件工程?軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護(hù)的過程,即將工程化應(yīng)用于軟件中。軟件工程還包括上述方法的研究。1962年,第一個金星探測器水手1號偏離航線失敗。原因:導(dǎo)航程序一個語句語義錯誤Apollo8存儲器信息丟失;11號運行10天18個軟件錯誤。規(guī)模相對較??;崇尚個人技巧技藝缺乏有效方法與軟件工具支持不重視開發(fā)過程的管理維護(hù)困難(編寫1條匯編語句=研制2個硬件邏輯門;維護(hù)1匯編語句條=修理4個硬件邏輯門)1968年NATO(北大西洋公約組織)會議:softwarecrisis,softwareengineering.第一章軟件工程概述什么是軟件工程?軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)31第一章軟件工程概述二、什么是軟件工程?軟件工程中的分層第一章軟件工程概述二、什么是軟件工程?軟件工程中的分層32第一章軟件工程概述二、什么是軟件工程?如果不考慮應(yīng)用領(lǐng)域、項目規(guī)模和復(fù)雜性,與軟件工程相關(guān)的工作可分為三個一般的階段:.定義階段——集中于“做什么”.開發(fā)階段——集中于“如何做”.維護(hù)階段——集中于“改變”軟件工程的一般視圖第一章軟件工程概述二、什么是軟件工程?如果不考慮應(yīng)用領(lǐng)33第一章軟件工程概述二、什么是軟件工程?.軟件項目追蹤和控制.正式的技術(shù)評審.軟件質(zhì)量保證.軟件配置管理.文檔的準(zhǔn)備和產(chǎn)生.可復(fù)用管理.度量.風(fēng)險管理典型的保護(hù)性活動第一章軟件工程概述二、什么是軟件工程?.軟件項目追蹤34第一章軟件工程概述?為什么需要那么長時間才能結(jié)束開發(fā)??為什么成本如此之高??為什么我們不能在把軟件交給客戶之前就發(fā)現(xiàn)所有的錯誤??為什么在軟件開發(fā)過程中我們難以度量其進(jìn)展?理解軟件工程為什么很重要第一章軟件工程概述?為什么需要那么長時間才能結(jié)束開發(fā)35第一章軟件工程概述二、什么是軟件工程?邏輯產(chǎn)品而不是實物其功能依賴于人的操作和相關(guān)硬件而體現(xiàn)對軟件產(chǎn)品的要求比一般有形產(chǎn)品來的復(fù)雜100萬匯編語句,1萬子功能,每功能2個實現(xiàn),則210000=103000組合!Hetgel負(fù)責(zé)軟件研制工程時候:幾個人)時候,認(rèn)為關(guān)鍵是方法學(xué)問題:50人時候,文檔越來越重要200人:關(guān)鍵是管理問題。復(fù)雜性:功能多樣性,實現(xiàn)多樣性,能見度低,結(jié)構(gòu)合理性差其“資金密集程度”中包含更多的人的成分(即“智力密集”)軟件工程與一般工程的差異第一章軟件工程概述二、什么是軟件工程?邏輯產(chǎn)品而不是實36第一章軟件工程概述軟件銷售收入比較圖三、理解軟件工程為什么很重要第一章軟件工程概述軟件銷售收入比較圖三、理解軟件工程為37學(xué)習(xí)軟件工程是大勢所趨第一章軟件工程概述世界上唯一不變的東西就是變化。拒絕改變的人將永遠(yuǎn)也找不回他的奶酪!
人對不了解的東西會產(chǎn)生抵觸。他因為害怕而拒絕改變!——《誰動了我的奶酪?》學(xué)習(xí)軟件工程是大勢所趨第一章軟件工程概述世界上38習(xí)題和答案1.什么是軟件危機(jī)?為什么會產(chǎn)生軟件危機(jī)?怎樣克服軟件危機(jī)?解:研制軟件系統(tǒng)需要投入大量的人力和物力,但系統(tǒng)的質(zhì)量卻難以保證,也就是說,開發(fā)軟件所需的高成本同產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象就是所謂的“軟件危機(jī)”。產(chǎn)生軟件危機(jī)的原因:用戶對軟件需求的描述不精確,可能有遺漏、有二義性、有錯誤,甚至在軟件開發(fā)過程中,用戶還提出修改軟件功能、界面、支撐環(huán)境等方面的要求。軟件開發(fā)人員對用戶需求的理解與用戶的本來愿望有差異,導(dǎo)致開發(fā)出來的軟件產(chǎn)品與用戶要求不一致。大型軟件項目需要組織一定的人力共同完成,多數(shù)管理人員缺乏開發(fā)大型軟件系統(tǒng)的經(jīng)驗。各類人員的信息交流不及時、不準(zhǔn)確、有時還會產(chǎn)生誤解。軟件項目開發(fā)人員不能有效地、獨立自主地處理大型軟件的全部關(guān)系和各個分支,因此容易產(chǎn)生疏漏和錯誤。缺乏有利的方法學(xué)和工具方面的支持,過分的依靠程序設(shè)計人員在軟件開發(fā)過程中的技巧和創(chuàng)造性,加劇軟件產(chǎn)品的個性化。軟件產(chǎn)品的特殊性和人類智力的局限性,導(dǎo)致人們無力處理“復(fù)雜問題”。要克服軟件危機(jī),就要認(rèn)真分析軟件危機(jī)的原因,探索用工程的方法進(jìn)行軟件生產(chǎn)的可能性,即用現(xiàn)代工程的概念、原理、技術(shù)和方法進(jìn)行計算機(jī)軟件的開發(fā)、管理、維護(hù)和更新。2.什么叫軟件工程?軟件工程的誕生是否從根本上消除了軟件危機(jī)?為什么?解:軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計算機(jī)軟件的有關(guān)技術(shù)及管理方法。軟件工程的誕生只能大大減少軟件開發(fā)成本并提高軟件質(zhì)量,不能從根本上消除軟件危機(jī)。
3.軟件生存周期為什么要劃分階段?各個階段的任務(wù)是什么?解:軟件也是一種產(chǎn)品,同樣存在生存周期。把軟件生存周期劃分為幾個階段后,軟件開發(fā)按照每個階段的基本任務(wù)進(jìn)行并產(chǎn)生相應(yīng)的工作結(jié)果,這樣有利于對軟件開發(fā)過程進(jìn)行管理,有利于提高軟件產(chǎn)品質(zhì)量??尚行匝芯颗c計劃階段的基本任務(wù):研究開發(fā)該項目的可行性。需求分析階段的基本任務(wù):理解和表達(dá)用戶的要求。設(shè)計階段的基本任務(wù):建立系統(tǒng)的結(jié)構(gòu)。編程階段的基本任務(wù):編寫程序。測試階段的基本任務(wù):發(fā)現(xiàn)錯誤和排除錯誤。
4.什么是軟件?如何評價軟件的質(zhì)量?解:軟件是程序以及開發(fā)、使用和維護(hù)程序所需的所有文檔。軟件質(zhì)量從可維護(hù)性、可靠性、可理解性和效率等方面對軟件作較全面的評價。習(xí)題和答案1.什么是軟件危機(jī)?為什么會產(chǎn)生軟件危機(jī)?怎樣克39傳統(tǒng)軟件工程概論一般問題的工程設(shè)計過程問題闡述問題分析(設(shè)計細(xì)節(jié))尋找解法判定最佳解法設(shè)計規(guī)約(規(guī)格說明、報告)實現(xiàn)傳統(tǒng)軟件工程概論一般問題的工程設(shè)計過程40程序設(shè)計方法回顧結(jié)構(gòu)化程序設(shè)計(SP)三種基本結(jié)構(gòu):順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)(迭代)原則:只有上面三種結(jié)構(gòu)自底向上,逐步抽象,最終形成一個函數(shù)型節(jié)點每個節(jié)點只有一個出口和一個入口其他:注意風(fēng)格:注視和縮進(jìn)等程序設(shè)計方法回顧結(jié)構(gòu)化程序設(shè)計(SP)41程序設(shè)計方法回顧程序正確性證明??調(diào)試能證明嗎?調(diào)試(debugging)的三個概念:測試testingUnittesting,integrationtesting,acceptancetesting確認(rèn)validation(開發(fā)結(jié)束時進(jìn)行的評價)驗證verification(開發(fā)過程中某階段是否到達(dá)前一階段確定要求的活動)程序設(shè)計方法回顧程序正確性證明42程序設(shè)計方法回顧模塊化與信息隱蔽模塊化:自頂向下,逐步細(xì)化模塊直接的接口應(yīng)盡可能簡明模塊之間盡可能彼此隔離要求:可修改性易讀性以驗證性程序設(shè)計方法回顧模塊化與信息隱蔽43程序設(shè)計方法回顧內(nèi)聚度cohesion:模塊所執(zhí)行的任務(wù)在功能上互相關(guān)聯(lián)的程度巧合內(nèi)聚coincidentcohesionLogicalcohesionTemporalcohesionProcedurecohesionCommunicationalcohesionSequentialcohesionFunctionalcohesion程序設(shè)計方法回顧內(nèi)聚度cohesion:模塊所執(zhí)行的任務(wù)在功44程序設(shè)計方法回顧耦合度coupling:模塊之間相互依賴的程度非直接nondirect耦合數(shù)據(jù)data耦合(參數(shù))標(biāo)記stamp耦合控制control耦合(控制語句)外部external耦合公用common耦合內(nèi)容content耦合程序設(shè)計方法回顧耦合度coupling:模塊之間相互依賴的程45程序設(shè)計方法回顧扇入fanin模塊直接隸屬的模塊個數(shù):一個模塊被其他模塊調(diào)用的個數(shù),稱為該模塊的扇入。扇入大些,一般不會影響問題的復(fù)雜性,而且扇入越大,說明該模塊的復(fù)用性越好扇出fanout:直接下屬的模塊個數(shù)一個模塊調(diào)用其他模塊的個數(shù),稱為該模塊的扇出。扇出越大,設(shè)計該模塊時需要考慮的問題就越多,因而復(fù)雜性越高。程序設(shè)計方法回顧扇入fanin46程序設(shè)計方法回顧原則:高內(nèi)聚度、低耦合度一般中等內(nèi)聚即可(功能性最理想)盡量不采用控制耦合(不使用goto語句),
限制使用外部、公共、內(nèi)容耦合扇出越多,模塊間邏輯關(guān)系
越復(fù)雜。應(yīng)控制在7+-2扇入越多,模塊可復(fù)用性越強(但可能產(chǎ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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度海綿城市工程融資合作協(xié)議
- 2025年度私車公用車輛運營維護(hù)及保養(yǎng)協(xié)議
- 購銷合同樣本模板
- 2025年度科技創(chuàng)新銀行擔(dān)保免責(zé)服務(wù)協(xié)議
- 2025年度旅游合同-嚴(yán)格責(zé)任原則下的旅游安全保障服務(wù)協(xié)議
- 烘焙店員工勞動合同(2025年度)含培訓(xùn)與晉升路徑
- 二零二五年度店面轉(zhuǎn)讓定金支付及供應(yīng)鏈管理協(xié)議
- 二零二五年度個體工商戶退伙合作協(xié)議終止及后續(xù)合作意向書
- 二零二五年度電商平臺美妝護(hù)膚節(jié)促銷協(xié)議書
- 二零二五年度應(yīng)屆生線下簽約方協(xié)議及就業(yè)跟蹤管理協(xié)議
- 《中國陶瓷史》課件-3-陶與瓷
- 第一章創(chuàng)新意識課件
- 浙江省杭州市2022-2023學(xué)年七年級下學(xué)期語文期中質(zhì)量檢測試卷(含答案)
- 【真題】2023年南京市中考語文試卷(含答案解析)
- 數(shù)學(xué)教育的國際比較與交流
- 安徽安慶家鄉(xiāng)介紹
- 自動測試系統(tǒng)第1章第1節(jié)測試系統(tǒng)發(fā)展綜述
- 2024年河南省水務(wù)規(guī)劃設(shè)計研究有限公司人才招聘筆試參考題庫附帶答案詳解
- 山地光伏設(shè)計方案
- 案卷評查培訓(xùn)課件模板
- 2022廣州美術(shù)學(xué)院附屬中學(xué)(廣美附中)入學(xué)招生測試卷語文
評論
0/150
提交評論