上課內(nèi)容軟件工程知識(shí)要點(diǎn)_第1頁(yè)
上課內(nèi)容軟件工程知識(shí)要點(diǎn)_第2頁(yè)
上課內(nèi)容軟件工程知識(shí)要點(diǎn)_第3頁(yè)
上課內(nèi)容軟件工程知識(shí)要點(diǎn)_第4頁(yè)
上課內(nèi)容軟件工程知識(shí)要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(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)介

軟件工程要點(diǎn)軟件計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。軟件的特征軟件是一種邏輯產(chǎn)品,而不是物理產(chǎn)品,具有抽象性。沒(méi)磨損,老化問(wèn)題軟件產(chǎn)品的成本主要體現(xiàn)在軟件的開發(fā)和維護(hù)上,制造幾乎沒(méi)有成本大多數(shù)軟件都是從頭開發(fā)的。軟件危機(jī)軟件代價(jià)高開發(fā)過(guò)程難以控制軟件工作量估計(jì)困難軟件質(zhì)量底軟件修改、維護(hù)困難軟件工程–應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的過(guò)程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本為目的。軟件工程層次質(zhì)量焦點(diǎn):軟件工程必須以有組織的質(zhì)量保證為基礎(chǔ)過(guò)程:軟件過(guò)程是開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品(項(xiàng)目計(jì)劃、設(shè)計(jì)文件、編程代碼、測(cè)試、用戶手冊(cè))的一系列活動(dòng)、方法、實(shí)踐和變換。方法:軟件工程方法為軟件開發(fā)提供“如何做”的技術(shù)工具:軟件工具為過(guò)程和方法提供自動(dòng)的或半自動(dòng)的支持。這些軟件工具被集成起來(lái),建立起一個(gè)支持軟件開發(fā)的系統(tǒng),稱之為計(jì)算機(jī)輔助軟件工程(CASE,

Computer

AidedSoftware

Engineering)。軟件工程層次軟件過(guò)程軟件生命周期軟件產(chǎn)品或系統(tǒng)一系列相關(guān)活動(dòng)的全周期。軟件生命周期分成以下幾個(gè)階段軟件定義問(wèn)題定義、可行性研究、需求分析軟件開發(fā)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試軟件維護(hù)軟件過(guò)程模型又稱軟件工程開發(fā)模型,或稱軟件生命期模型,是軟件開發(fā)的全部過(guò)程、資源、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。典型軟件過(guò)程模型瀑布模型(Waterfall

Model)V模型:更加強(qiáng)調(diào)、測(cè)試過(guò)程應(yīng)如何于分析、設(shè)計(jì)等開發(fā)過(guò)程相關(guān)聯(lián)快速原型模型增量模型螺旋模型:它將瀑布模型和快速原型模型結(jié)合起來(lái),強(qiáng)調(diào)了其他模型所忽視的風(fēng)險(xiǎn)分析–制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶評(píng)估噴泉模型:主要支持面向?qū)ο蟮拈_發(fā)方法。"噴泉"一詞本身體現(xiàn)了迭代和無(wú)間隙特性智能模型(Intelligent

Model)瀑布模型(WaterfallModel)問(wèn)題定義需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼實(shí)現(xiàn)維護(hù)讓位瀑布模型各階段的任務(wù)問(wèn)題定義:確定用戶要求解決的性質(zhì)、工程的目標(biāo)和規(guī)模。對(duì)要開發(fā)的軟件進(jìn)行可行性研究(經(jīng)濟(jì)可行性、技術(shù)可行性、法律可行性、不同的方案),確定軟件元素的作用范圍,并對(duì)軟件進(jìn)行成本估算,制定進(jìn)度安排,最后提交軟件計(jì)劃。軟件需求分析:最根本的任務(wù)是確定為了滿足用戶需求系統(tǒng)必須

“做什么”。即確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運(yùn)行環(huán)境,并預(yù)測(cè)系統(tǒng)發(fā)展的前景。提交軟件需求規(guī)格說(shuō)明書??傮w設(shè)計(jì):總體設(shè)計(jì)的基本任務(wù)是確定模塊分解、各模塊功能和模塊間接口,設(shè)計(jì)全局?jǐn)?shù)據(jù)結(jié)構(gòu)。詳細(xì)設(shè)計(jì):確定各模塊的實(shí)現(xiàn)細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)。編碼:把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。測(cè)試:發(fā)現(xiàn)軟件錯(cuò)誤。維護(hù):使用期間對(duì)軟件進(jìn)行補(bǔ)充、修改和增加工作。矯正性維護(hù):識(shí)別與矯正軟件中的錯(cuò)誤適應(yīng)性維護(hù):使軟件適應(yīng)新的環(huán)境和數(shù)據(jù)需求的改變完善性維護(hù):擴(kuò)充軟件功能或改善軟件性能預(yù)防性維護(hù):為便于將來(lái)的維護(hù)和性能提高所進(jìn)行的預(yù)防性措施瀑布模型的特點(diǎn)階段間的順序性和依賴性文檔驅(qū)動(dòng)瀑布模型存在的問(wèn)題依賴于早期進(jìn)行的唯一次需求調(diào)查,不能適應(yīng)需求變化階段的劃分完全固定,階段間產(chǎn)生大量的文檔,極大地增加了工作量;開發(fā)是線性的,用戶只有等到整個(gè)過(guò)程的末期才能見(jiàn)到開發(fā)成果,增加了開發(fā)的風(fēng)險(xiǎn);早期的錯(cuò)誤可能要等到開發(fā)后期的測(cè)試階段才能發(fā)現(xiàn),進(jìn)而帶來(lái)嚴(yán)重的后果??焖僭湍P蛯?duì)用戶所提出的軟件產(chǎn)品的部分實(shí)現(xiàn),是真實(shí)系統(tǒng)的一個(gè)模型使用原型的目的明確并完善需求探索設(shè)計(jì)方案發(fā)展為最終的產(chǎn)品原型拋棄型原型不作為最終交付產(chǎn)品的一部分;用來(lái)檢驗(yàn)討論中的需求或方案是否確實(shí)是用戶需要。進(jìn)化型原型將作為最終產(chǎn)品的一部分;用于檢驗(yàn)和解釋問(wèn)題。增量模型(Incremental

Model)軟件被作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、實(shí)現(xiàn)、集成和測(cè)試;每一個(gè)線性序列產(chǎn)生軟件的一個(gè)可發(fā)布的增量第一個(gè)增量往往是實(shí)現(xiàn)基本需求的核心產(chǎn)品。核心產(chǎn)品交付用戶使用后,經(jīng)過(guò)評(píng)價(jià)形成下一個(gè)增量的開發(fā)計(jì)劃,它包括對(duì)核心產(chǎn)品的修改和一些新功能的發(fā)布。這個(gè)過(guò)程在每個(gè)增量發(fā)布后不斷重復(fù),直到產(chǎn)生最終的完善產(chǎn)品。傳統(tǒng)方法學(xué)與面向?qū)ο蠓椒▽W(xué)結(jié)構(gòu)化方法采用“抽象”和“分解”兩個(gè)基本手段。通常包括SA、SD和SP三個(gè)方面屬于功能/數(shù)據(jù)方法,即將系統(tǒng)的功能和涉及的數(shù)據(jù)或多或少地分開來(lái)處理面向?qū)ο蠼7椒嫦驅(qū)ο蠓椒▽W(xué)出現(xiàn)于20世紀(jì)80年代中后期,并迅速成為20世紀(jì)90年代的主流開發(fā)方法。以客觀世界中實(shí)體為基礎(chǔ),將客觀實(shí)體的屬性與操作封裝成對(duì)象,對(duì)象之間通過(guò)傳遞消息互相聯(lián)系,以模擬現(xiàn)實(shí)中不同事物彼此之間的聯(lián)系。采用“封裝”、“分類”和“繼承”三個(gè)基本原則。包括OOA、OOD、OOP、OOT四個(gè)方面典型的面向?qū)ο蠓椒èCOMT(Object

Modeling

Technique)方法–Coad/Yourdon方法–Booch方法–OOSE(Object-Oriented

Software

Engineering)方法OMT方法三種模型對(duì)象模型(類圖):描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括構(gòu)成系統(tǒng)的類和對(duì)象,它們的屬性和操作,以及它們之間的關(guān)系。動(dòng)態(tài)模型(狀態(tài)圖):描述在任何時(shí)刻對(duì)象及其關(guān)系的改變。功能模型(數(shù)據(jù)流圖):表明通過(guò)計(jì)算,從輸入數(shù)據(jù)能得到什么樣的輸出數(shù)據(jù),不考慮參加計(jì)算的數(shù)據(jù)按什么時(shí)序執(zhí)行。開發(fā)過(guò)程的四個(gè)階段分析:基于問(wèn)題和用戶需求的描述,建立現(xiàn)實(shí)世界的模型(對(duì)象模型,動(dòng)態(tài)模型,功能模型)系統(tǒng)設(shè)計(jì):結(jié)合問(wèn)題域的知識(shí)和目標(biāo)系統(tǒng)的體系結(jié)構(gòu)(求解域),將目標(biāo)系統(tǒng)分解為子系統(tǒng)。對(duì)象設(shè)計(jì):基于分析模型和求解域中的體系結(jié)構(gòu)等添加的實(shí)現(xiàn)細(xì)節(jié),完成系統(tǒng)設(shè)計(jì)。實(shí)現(xiàn):將設(shè)計(jì)轉(zhuǎn)換為特定的編程語(yǔ)言或硬件。Coad/Yourdon方法–OOA模型的五個(gè)層次主題(Subject

Layer)類-對(duì)象(Class-&-ObjectLayer)結(jié)構(gòu)(Structure

Layer)屬性(AttributeLayer)方法(Service

Layer)–

OOD模型的四個(gè)部件人機(jī)交互問(wèn)題域數(shù)據(jù)管理任務(wù)管理主題層

類與對(duì)象層結(jié)構(gòu)層屬性層服務(wù)層Booch方法OOD步驟在給定的抽象層次上識(shí)別類和對(duì)象識(shí)別這些對(duì)象和類的語(yǔ)義識(shí)別這些類和對(duì)象之間的關(guān)系實(shí)現(xiàn)類和對(duì)象圖形技術(shù)類圖、對(duì)象圖、狀態(tài)轉(zhuǎn)移圖、時(shí)態(tài)圖、模塊圖、進(jìn)程圖Ivar

Jacobson的OOSE方法–

是一種use

case驅(qū)動(dòng)的開發(fā)方法。use

case是指行為相

關(guān)的事務(wù)序列,該序列將由用戶在與系統(tǒng)對(duì)話中執(zhí)行。因此,每一個(gè)use

case就是一個(gè)使用系統(tǒng)的方式。過(guò)程改進(jìn):在軟件工程中為了更有效地達(dá)到優(yōu)化軟件過(guò)程的目的所實(shí)施的改善或改變其軟件過(guò)程的系列活動(dòng)。過(guò)程改進(jìn)的兩種模式:目標(biāo)驅(qū)動(dòng)模式、缺陷驅(qū)動(dòng)模式CMM(Capability

Maturity

Model):即能力成熟度模型,是國(guó)際公認(rèn)的對(duì)軟件組織進(jìn)行成熟度等級(jí)認(rèn)證的重要標(biāo)準(zhǔn)。軟件過(guò)程能力(SoftwareProcessCapability):描述開發(fā)組織或項(xiàng)目組遵循其軟件過(guò)程能夠?qū)崿F(xiàn)預(yù)期結(jié)果的程度。軟件過(guò)程性能(Software

Process

Performance):表示開發(fā)組織或項(xiàng)目組遵循其軟件過(guò)程所得到的實(shí)際結(jié)果。軟件過(guò)程成熟度(SoftwareProcessMaturity):一個(gè)特定軟件過(guò)程被明確和有效地定義,管理測(cè)量和控制的程度。成熟度等級(jí)(MaturityLevels):軟件開發(fā)組織在走向成熟的途中幾個(gè)具有明確定義的表示軟件過(guò)程能力成熟度的平臺(tái)。需求定義用戶解決問(wèn)題或達(dá)到目標(biāo)所需要的條件或能力(Capability)系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其他正式規(guī)定文檔所需具有的條件或能力反映上述兩個(gè)定義中所描述的條件或能力的文檔說(shuō)需求分析需求描述原型及測(cè)試文檔化及驗(yàn)證尚未掌握所有的需求描述方法不得當(dāng)功能不合實(shí)際需求的獲取與分析需求定義與規(guī)格說(shuō)明確定需求的過(guò)程需求的層次與種類業(yè)務(wù)需求:反映了組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)和產(chǎn)品高層次的目標(biāo)要求。體現(xiàn)在項(xiàng)目前景與范圍文檔中。用戶需求:描述了用戶使用軟件產(chǎn)品所必須完成的任務(wù)。體現(xiàn)在用例文檔或方案腳本中。功能需求和非功能需求:定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,體現(xiàn)在需求文檔中。功能需求:物理環(huán)境、接口、用戶、功能、數(shù)據(jù)、資源、安全性非功能需求:可移植性、可靠性、效率或性能、易用性、可重用性、安全性需求的驗(yàn)證審查需求文檔依據(jù)需求編寫測(cè)試用例編寫用戶手冊(cè)確定合格的標(biāo)準(zhǔn)好的需求應(yīng)具有的特性正確性:與用戶對(duì)軟件產(chǎn)品的期望一致無(wú)二義性完整性一致性可行性可驗(yàn)證性可跟蹤性非計(jì)算機(jī)人員能夠理解需求描述靜態(tài)描述方法間接引用、關(guān)系遞歸、公理化定義、語(yǔ)言描述、數(shù)據(jù)抽象動(dòng)態(tài)描述方法決策表、函數(shù)描述和狀態(tài)轉(zhuǎn)移圖、Petri網(wǎng)面向?qū)ο蟮拿枋龇椒╓arnier圖數(shù)據(jù)流圖需求文檔需求定義文檔(Requirements

Definition)從用戶的角度出發(fā),將用戶希望系統(tǒng)實(shí)現(xiàn)的功能作一個(gè)匯總,通常由用戶和開發(fā)者共同撰寫主要讀者為用戶需求規(guī)格說(shuō)明(Requirements

Specification)又稱功能規(guī)格說(shuō)明、需求協(xié)議和系統(tǒng)規(guī)格說(shuō)明精確地闡述了一個(gè)軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件由系統(tǒng)分析師撰寫主要讀者為系統(tǒng)設(shè)計(jì)與開發(fā)人員需求管理變更控制版本控制需求跟蹤需求狀態(tài)面向?qū)ο?對(duì)象+類+繼承+消息通信類:一組具有相同屬性和相同行為的對(duì)象的集合消息:一個(gè)對(duì)象與另一個(gè)對(duì)象的通信單元,是要求某個(gè)對(duì)象執(zhí)行某個(gè)操作的規(guī)格說(shuō)明。繼承:子類自動(dòng)地共享父類(超類)的屬性和方法OO系統(tǒng)設(shè)計(jì)任務(wù)系統(tǒng)分解成子系統(tǒng)識(shí)別問(wèn)題中固有的并發(fā)性將子系統(tǒng)分配給處理器和任務(wù)選擇數(shù)據(jù)存儲(chǔ)管理方法處理對(duì)全局資源的訪問(wèn)選擇軟件控制機(jī)制處理邊界條件設(shè)置平衡的優(yōu)先級(jí)用委派替換繼承l(wèi)istaddremovefirstlaststackpushpoplistaddremovefirstlaststackpushpopDemeter法則只與你直接的朋友交談不要跟陌生人說(shuō)話每個(gè)軟件單位對(duì)其他單位都只有最少的知識(shí),而且局限于那些與本單位相關(guān)的軟件單位某人朋友陌生人某人朋友陌生人朋友圈Call

forwordingUMLUML是一種可視化建模語(yǔ)言UML不是一種開發(fā)方法,不局限于特定開發(fā)過(guò)程用例(Use-Case)是系統(tǒng)的一種行為,它為執(zhí)行者產(chǎn)生一定的價(jià)值結(jié)果。用例描述執(zhí)行者想要系統(tǒng)完成的事情。用例應(yīng)該是一個(gè)完整的任務(wù)。參與者(Actor)是同系統(tǒng)交互的所有事物,如人、其它軟件、數(shù)據(jù)存儲(chǔ)、硬件設(shè)備或網(wǎng)絡(luò)。每個(gè)執(zhí)行者定義一種特定角色。用例圖:表示一組用例、參與者及它們之間的關(guān)系,從用戶的角度出發(fā)對(duì)系統(tǒng)建模順序圖(Sequence

Diagram)描述執(zhí)行系統(tǒng)功能的各個(gè)角色之間相互傳遞消息的順序關(guān)系,是強(qiáng)調(diào)消息的時(shí)間順序的交互圖。協(xié)作圖(Collaboration

Diagram)除了描述對(duì)象間的關(guān)聯(lián)外,還顯示對(duì)象間的消息傳遞狀態(tài)圖(State

Diagram)描繪對(duì)象的狀態(tài)、觸發(fā)狀態(tài)轉(zhuǎn)換的事件、以及對(duì)象的行為(對(duì)事件的響應(yīng))?;顒?dòng)圖(Activity

Diagram)狀態(tài)圖的一個(gè)變體,但狀態(tài)是計(jì)算過(guò)程的活動(dòng)狀態(tài)(計(jì)算過(guò)程中命令的執(zhí)行或工作流中活動(dòng)的進(jìn)行),而不是普通對(duì)象狀態(tài)?;顒?dòng)圖本質(zhì)上是一個(gè)流程圖,表示從活動(dòng)到活動(dòng)的控制流。部署圖(Deploy

Diagram)表示系統(tǒng)運(yùn)行時(shí)包含的節(jié)點(diǎn)以及節(jié)點(diǎn)間的聯(lián)系,節(jié)點(diǎn)包含構(gòu)件的配置,每個(gè)構(gòu)件必須存在于某個(gè)節(jié)點(diǎn)上構(gòu)件圖(Component

Diagram)系統(tǒng)建模過(guò)程中將可重用的塊包裝成具有可替代性的物理單元,這些單元稱為構(gòu)件;構(gòu)件圖用構(gòu)件及構(gòu)件間的接口和依賴關(guān)系來(lái)表示設(shè)計(jì)元素的具體實(shí)現(xiàn)RUP(Rational

Unified

Process)用例驅(qū)動(dòng)以架構(gòu)為中心迭代和增量開發(fā)過(guò)程驗(yàn)證實(shí)現(xiàn)完成實(shí)現(xiàn)模型測(cè)試模型設(shè)計(jì)模型用例模型用例驅(qū)動(dòng)初始迭代架構(gòu)迭代架構(gòu)迭代開發(fā)迭代開發(fā)迭代開發(fā)迭代過(guò)渡迭代過(guò)渡迭代迭代和增量開發(fā)過(guò)程四個(gè)階段開始(Inception)

-定義項(xiàng)目范圍精化(Elaboration)

-項(xiàng)目計(jì)劃、需求、架構(gòu)構(gòu)造(Construction)

-軟件產(chǎn)品過(guò)渡(Transition)

-軟件產(chǎn)品過(guò)渡給用戶迭代:一系列明確的具有建立計(jì)劃和評(píng)估準(zhǔn)則的活動(dòng),將產(chǎn)生一個(gè)可執(zhí)行的發(fā)布(內(nèi)部或外部)開始

精化

構(gòu)造

過(guò)渡次里程碑:

發(fā)布設(shè)計(jì)內(nèi)容數(shù)據(jù)設(shè)計(jì):信息模型、軟件數(shù)據(jù)結(jié)構(gòu)體系結(jié)構(gòu)設(shè)計(jì):定義軟件部件間的關(guān)系接口設(shè)計(jì):軟件內(nèi)部、外部及與人之間的通信過(guò)程設(shè)計(jì):軟件組件的過(guò)程性描述分解與模塊化的基本原理C

(P1+P2)>C

(P1)+C

(P2)E

(P1+P2)>E

(P1)+E

(P2)C為問(wèn)題的復(fù)雜度,E為解題需要的工作量軟件體系結(jié)構(gòu):組成系統(tǒng)的元素、元素間的交互、元素組成的模式以及模式的約束。軟件體系結(jié)構(gòu)風(fēng)格:描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。它反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語(yǔ)義特性,并指導(dǎo)如何將各個(gè)模塊和子系統(tǒng)有效地組織成一個(gè)完整的系統(tǒng)典型的體系結(jié)構(gòu)風(fēng)格管道/過(guò)濾器面向?qū)ο箫L(fēng)格隱式調(diào)用分層數(shù)據(jù)倉(cāng)庫(kù)(Repository)解釋器管道/過(guò)濾器–

每個(gè)構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過(guò)內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。過(guò)濾器表示數(shù)據(jù)轉(zhuǎn)換的構(gòu)件,彼此相互獨(dú)立;管道將一個(gè)過(guò)濾器的輸出傳到另一過(guò)濾器的輸入隱式調(diào)用構(gòu)件不直接調(diào)用一個(gè)過(guò)程,而是觸發(fā)或廣播一個(gè)或多個(gè)事件。系統(tǒng)中的其它構(gòu)件中的過(guò)程在一個(gè)或多個(gè)事件中注冊(cè),當(dāng)一個(gè)事件被觸發(fā),系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過(guò)程,這樣,一個(gè)事件的觸發(fā)就導(dǎo)致了另一模塊中的過(guò)程的調(diào)用。分層層次系統(tǒng)組織成一個(gè)層次結(jié)構(gòu),每一層為上層服務(wù),并作為下層客戶。分為:封閉式、開放式模式–是一種思想,它已經(jīng)適用于一個(gè)實(shí)踐環(huán)境中,并有可能適用于其他的環(huán)境。–每一個(gè)模式描述了一個(gè)在我們周圍不斷重復(fù)發(fā)生的問(wèn)題,以及該問(wèn)題的解決方案的核心,這樣,你就能一次又一次的使用該方案而不必做重復(fù)的勞動(dòng)模式的四個(gè)基本要素模式名稱(pattern

name)問(wèn)題(problem)解決方案(solution)效果(consequences)構(gòu)件獨(dú)立性內(nèi)聚(cohesion):模塊內(nèi)部各成分之間耦合(coupling):一個(gè)模塊與其它模塊之間塊內(nèi)聯(lián)系強(qiáng),塊間聯(lián)系弱耦合內(nèi)容耦合公共耦合控制耦合特征耦合數(shù)據(jù)耦合非直接耦合content

couplingcommon

couplingcontrol

couplingstamp

couplingdata

couplingno

direct

coupling內(nèi)聚cohesion功能性內(nèi)聚:模塊中各個(gè)組成部分構(gòu)成一個(gè)整體并共同完成一個(gè)單一的功能順序性內(nèi)聚:模塊中的各個(gè)部分都與同一個(gè)功能密切相關(guān),并且必須按照先后順序執(zhí)行(通常前一個(gè)部分的輸出數(shù)據(jù)就是后一個(gè)部分的輸入數(shù)據(jù))通訊性內(nèi)聚:模塊中的各個(gè)部分使用同一個(gè)輸入數(shù)據(jù)或產(chǎn)生同一個(gè)輸出數(shù)據(jù)過(guò)程性內(nèi)聚:模塊中的各個(gè)部分相關(guān),并且必須按特定的次序執(zhí)行時(shí)間性內(nèi)聚:模塊包含了在同一時(shí)間段中執(zhí)行的多個(gè)任務(wù)邏輯性內(nèi)聚:模塊可實(shí)現(xiàn)多個(gè)邏輯上相同或相似的一類功能偶然性內(nèi)聚:模塊由多個(gè)完成不同任務(wù)的語(yǔ)句段組成,各語(yǔ)句段之間的聯(lián)系十分松散或根本沒(méi)有任何聯(lián)系程序設(shè)計(jì)風(fēng)格程序設(shè)計(jì)風(fēng)格的作用就是使代碼容易讀風(fēng)格良好的代碼更容易閱讀和理解,其中的錯(cuò)

溫馨提示

  • 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)論