




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章結(jié)構(gòu)化開發(fā)方法第3章結(jié)構(gòu)化開發(fā)方法1結(jié)構(gòu)化開發(fā)方法20世紀(jì)70年代發(fā)展起來的最早的開發(fā)方法典型的結(jié)構(gòu)化開發(fā)方法美國的Coad/Yourdon的面向數(shù)據(jù)流的開發(fā)方法歐洲的Jackson/Warnier-Orr的面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法日本小村良彥的PAD(問題分析圖)開發(fā)方法結(jié)構(gòu)化開發(fā)方法20世紀(jì)70年代發(fā)展起來的最早的開發(fā)方法2本章內(nèi)容安排需求與需求分析結(jié)構(gòu)化分析軟件設(shè)計(jì)面向數(shù)據(jù)流的設(shè)計(jì)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)PAD圖的設(shè)計(jì)原型開發(fā)本章內(nèi)容安排需求與需求分析3需求與需求分析需求分析的意義完全弄清用戶軟件需求是任何一項(xiàng)軟件開發(fā)工作成功的前提和基礎(chǔ)需求分析的作用是系統(tǒng)層軟件配置與軟件設(shè)計(jì)之間的橋梁能夠刻畫軟件的功能和性能確定軟件與其他系統(tǒng)元素(硬/軟件和人)的接口建立軟件必須滿足的約束需求分析的產(chǎn)品為軟件設(shè)計(jì)提供可用的數(shù)據(jù)、體系結(jié)構(gòu)、人-機(jī)界面和過程設(shè)計(jì)模型為開發(fā)者和用戶提供對軟件質(zhì)量進(jìn)行最后驗(yàn)收的準(zhǔn)則需求與需求分析需求分析的意義4分析過程軟件需求分析過程1.問題識別2.評價(jià)和綜合3.建模4.規(guī)格說明5.評審分析過程軟件需求分析過程51.問題識別問題識別(ProblemRecognition)研究系統(tǒng)規(guī)格說明和軟件項(xiàng)目計(jì)劃必須為分析建立各種溝通(communication)關(guān)系目標(biāo)是弄清用戶已經(jīng)理解的基本問題元素1.問題識別問題識別(ProblemRecognitio62.評價(jià)和綜合評價(jià)和綜合(EvaluationandSynthesis)必須評價(jià)信息流和信息內(nèi)容定義和詳細(xì)描述全部軟件功能熟悉影響系統(tǒng)事件前后關(guān)系的軟件行為建立系統(tǒng)界面的特征揭示設(shè)計(jì)限制綜合出一個(gè)或多個(gè)解2.評價(jià)和綜合評價(jià)和綜合(EvaluationandS73.建模(Modeling)系統(tǒng)建立模型的目的主要是說明系統(tǒng)必須做什么,而不是怎么做建模的方法問題域劃分-必須把大且復(fù)雜的問題劃分為小且較簡單的問題劃分的方法-可以按垂直方向?qū)δ苤饘蛹?xì)化或按水平方向?qū)δ苓M(jìn)行分解,也可兩者兼有軟件需求是給出要完成的功能和處理信息上,而不應(yīng)該把實(shí)現(xiàn)觀點(diǎn)作為給出要完成功能和要處理數(shù)據(jù)的出發(fā)點(diǎn)模型的表達(dá)式(representation)圖形表格專用語言和自然語言3.建模(Modeling)系統(tǒng)建立模型的目的8模型的重要作用用輔助分析員更好地了解系統(tǒng)的信息、功能和行為,從而使分析更容易和更系統(tǒng)化是評審系統(tǒng)完整性、一致性和規(guī)格說明準(zhǔn)確性的關(guān)鍵元素是設(shè)計(jì)的基礎(chǔ),能給設(shè)計(jì)人員提供一種軟件的基本表達(dá)式,它可以影射為實(shí)現(xiàn)文檔模型的重要作用用輔助分析員更好地了解系統(tǒng)的信息、功能和行為,94.規(guī)格說明(Specification)Balyer和Goldman提出了獲得良好的規(guī)格說明的8條原則(1)從現(xiàn)實(shí)中抽象功能性(2)要求一個(gè)面向過程的系統(tǒng)規(guī)格說明的語言(3)必須圍繞整個(gè)系統(tǒng),而軟件只是它的一個(gè)部分(4)必須圍繞系統(tǒng)的操作環(huán)境(5)必須是一個(gè)可以認(rèn)知的模型(6)必須是可操作的(7)必須允許它是不完整的和可擴(kuò)展的(8)必須是局部化和松散耦合的4.規(guī)格說明(Specification)Balyer和G10軟件需求規(guī)格說明軟件需求規(guī)格說明是在對用戶需求分析的基礎(chǔ)上,把用戶的需求規(guī)范化、形式化而寫成的,其目的:為軟件開發(fā)提出總體要求作為用戶和開發(fā)人員之間相互了解和共同開發(fā)的基礎(chǔ)具有合同的性質(zhì)初步用戶手冊初步用戶手冊作為軟件需求規(guī)格說明的附件這是為了使開發(fā)人員與用戶之間更好的溝通必須開發(fā)的。其重點(diǎn)放在用戶的功能和I/O上,主要用來發(fā)現(xiàn)系統(tǒng)功能和人-機(jī)界面上存在的各種問題一軟件需求規(guī)格說明軟件需求規(guī)格說明11軟件需求規(guī)格說明(GB8567-88)1.引言1.1編寫說明1.2背景1.3定義1.4參考資料2.任務(wù)概述2.1目標(biāo)2.2用戶的特點(diǎn)2.3假定與約束3.需求規(guī)定3.1對功能的規(guī)定3.2對性能的規(guī)定3.2.1精度3.2.2時(shí)間特性要求3.2.3靈活性3.3I/O需求3.4數(shù)據(jù)管理能力要求3.5故障處理要求3.6其它專門需求4.運(yùn)行環(huán)境規(guī)定軟件需求規(guī)格說明(GB8567-88)1.引言3.需求規(guī)125.評審軟件需求規(guī)格說明的評審是由軟件開發(fā)者和用戶共同完成在宏觀高層上評審者要保證規(guī)格說明的完整、一致和準(zhǔn)確,評審時(shí)需要考慮14個(gè)方面的問題(教材36~37頁) 在詳細(xì)低層上為了得到對上述各種問題的回答。評審者可以集中在規(guī)格說明的用詞上,這樣做能夠發(fā)現(xiàn)隱藏在規(guī)格說明內(nèi)容中的問題。詳細(xì)評審建議大綱可以從10個(gè)方面的用詞考慮(教材37頁)評審一旦完成,用戶和開發(fā)者要雙方簽字,成為軟件開發(fā)的合同原型開發(fā)是解決軟件需求規(guī)格說明確定中各種問題的可選方法5.評審軟件需求規(guī)格說明的評審13分析員有許多叫法系統(tǒng)分析員、系統(tǒng)工程師、程序員、分析員分析員必須具備的條件有掌握抽象概念,并能把其整理為邏輯劃分和根據(jù)每一個(gè)邏輯劃分綜合為解的能力有從沖突或混惑中吸取恰當(dāng)事實(shí)的能力有弄清用戶環(huán)境的能力有把硬件和軟件系統(tǒng)用于用戶環(huán)境的能力有較好的用書面和口頭形式進(jìn)行溝通的能力有“從樹木見森林”的能力。這是區(qū)分一位真正杰出的分析員與一般分析員的標(biāo)準(zhǔn)。只有懂得軟件工程的分析員才做一能做到這一點(diǎn)分析員有許多叫法14結(jié)構(gòu)化分析(structuredanalysis,SA)是一種信息流內(nèi)容和結(jié)構(gòu)的建模技術(shù)是基于計(jì)算機(jī)系統(tǒng)的一種信息變換結(jié)構(gòu)化分析(structuredanalysis,SA)15DFD基本符號DFD基本符號16實(shí)例:一個(gè)簡化的機(jī)票銷售系統(tǒng)需求售票員根據(jù)旅客需要的航班,首先查詢有無該航班機(jī)票。若有,則負(fù)責(zé)錄入旅客的基本信息(姓名、身份證號碼、航班號、票價(jià)和到達(dá)港);保險(xiǎn)公司的服務(wù)員負(fù)責(zé)錄入保險(xiǎn)金額;售票部經(jīng)理可隨時(shí)查詢每一個(gè)航班的售票情況(航班號、售出機(jī)票的數(shù)量及營業(yè)額),并在當(dāng)日結(jié)算時(shí)能計(jì)算出日營業(yè)額給出該系統(tǒng)的DFD和DD實(shí)例:一個(gè)簡化的機(jī)票銷售系統(tǒng)需求17DFD(DataFlowDiagram)本系統(tǒng)DFD(一種方案)頂層DFD(0層)二層DFD(1層)三層DFD-1(2層-1)三層DFD-2(2層-2)DFD(DataFlowDiagram)本系統(tǒng)DFD(一18頂層DFD(0層)頂層DFD(0層)19二層DFD(1層)二層DFD(1層)20三層DFD-1(2層-1)三層DFD-1(2層-1)21三層DFD-2(2層-2)三層DFD-2(2層-2)22DD(DataDictionary)本系統(tǒng)DD(一種方案)文件(File)數(shù)據(jù)流(DataFlow)數(shù)據(jù)項(xiàng)(DataItem)最小處理(MinimumProcess)這里只給出一個(gè)簡化了的機(jī)票銷售系統(tǒng)DFD圖中的部分條目定義。在實(shí)際應(yīng)用中,應(yīng)給出全部必須說明條目的定義DD(DataDictionary)本系統(tǒng)DD(一種方案23數(shù)據(jù)字典-文件1.文件1)文件名:旅客基本信息組成:{姓名+身份證號碼+航班號+票價(jià)+到達(dá)港+保險(xiǎn)金額}組織:按售票先后順序2)文件名:機(jī)票銷售信息組成:{航班號+座位數(shù)+售出機(jī)票數(shù)}組織:按航班號、離港時(shí)間的先后順序排序數(shù)據(jù)字典-文件1.文件24數(shù)據(jù)字典-數(shù)據(jù)流2.數(shù)據(jù)流1)
數(shù)據(jù)流名:旅客基本信息組成:{姓名+身份證號碼+航班號+票價(jià)+到達(dá)港+保險(xiǎn)金額}2)
數(shù)據(jù)流名:各航班售票信息組成:{航班號+座位數(shù)+售出機(jī)票數(shù)}數(shù)據(jù)字典-數(shù)據(jù)流2.數(shù)據(jù)流25數(shù)據(jù)字典-數(shù)據(jù)項(xiàng)3.數(shù)據(jù)項(xiàng)1)
數(shù)據(jù)項(xiàng)名:姓名值:字符串2)
數(shù)據(jù)項(xiàng)名:身份證值:1-17位為數(shù)字,18位為校驗(yàn)位,值為0-9、X3)
數(shù)據(jù)項(xiàng)名:航班號值:前兩位為漢語拼音字母+后四位方數(shù)字4)數(shù)據(jù)項(xiàng)名:保險(xiǎn)金額值:﹝20|40|60|…|200﹞數(shù)據(jù)字典-數(shù)據(jù)項(xiàng)3.數(shù)據(jù)項(xiàng)26數(shù)據(jù)字典-最小處理4.處理名1)
處理名:
錄入保險(xiǎn)金額 編號:1.4
輸入:保險(xiǎn)級別輸出:保險(xiǎn)金額過程:保險(xiǎn)服務(wù)員根據(jù)每位旅客的要求,輸入保險(xiǎn)級別,系統(tǒng)按照保險(xiǎn)金額規(guī)定的標(biāo)準(zhǔn),錄入旅客保險(xiǎn)金額觸發(fā)條件:接到服務(wù)員輸入旅客姓名和保險(xiǎn)金額級別數(shù)據(jù)字典-最小處理4.處理名27DFD圖中信息流的細(xì)化DFD圖中信息流的細(xì)化28分析方法-DFD分解規(guī)則在求解DFD的過程中應(yīng)有以下規(guī)則0層數(shù)據(jù)流圖,應(yīng)當(dāng)把系統(tǒng)或軟件作為一個(gè)單一的圓圈來描繪應(yīng)當(dāng)格外注意原始輸入和原始輸出過程的下層細(xì)化,一般應(yīng)控制在3-4個(gè)分過程,最多不應(yīng)超過7個(gè)過程(圓圈)和數(shù)據(jù)流(箭頭)應(yīng)用有意義的名稱標(biāo)注。在同一DFD中,一個(gè)名稱標(biāo)注只能出現(xiàn)一次分析方法-DFD分解規(guī)則在求解DFD的過程中應(yīng)有以下規(guī)則29分析方法-DFD分解規(guī)則(續(xù))必須保持層到層之間I/O信息流的連續(xù)性最好一次只對一個(gè)過程細(xì)化;一個(gè)過程的細(xì)化,一般應(yīng)細(xì)化到最小處理為止一個(gè)系統(tǒng)給出DFD的同時(shí),還應(yīng)開發(fā)一個(gè)與之對應(yīng)的DD在開發(fā)DFD和DD中,有時(shí)還需要給出輔助說明分析方法-DFD分解規(guī)則(續(xù))必須保持層到層之間I/O信息30軟件設(shè)計(jì)是軟件工程過程的技術(shù)核心是一個(gè)把軟件需求轉(zhuǎn)換為軟件表達(dá)式的過程首先,這種表達(dá)式只描繪一個(gè)軟件的概貌然后,將其細(xì)化為一個(gè)非常接近于源代碼的設(shè)計(jì)表達(dá)式是決定軟件質(zhì)量的重要步驟,它給我們提供了可以進(jìn)行質(zhì)量評價(jià)的軟件表達(dá)式軟件設(shè)計(jì)的發(fā)展是一個(gè)持續(xù)的過程早期著重于開發(fā)模塊化所需要的準(zhǔn)則,以及按自頂向下的方式逐步細(xì)化軟件體系結(jié)構(gòu)接著設(shè)計(jì)定義的過程逐漸發(fā)展成結(jié)構(gòu)化編程原則之后提出了把數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)翻譯為設(shè)計(jì)定義的方法近年則建議采用OO設(shè)計(jì)方法和形式化方法軟件設(shè)計(jì)是軟件工程過程的技術(shù)核心31軟件設(shè)計(jì)準(zhǔn)則為了評價(jià)設(shè)計(jì)表達(dá)式的質(zhì)量,必須建立良好的設(shè)計(jì)準(zhǔn)則:有分層的組織結(jié)構(gòu)應(yīng)模塊化(軟件應(yīng)被邏輯地劃分為能完成特定的功能和子功能的構(gòu)件)有性質(zhì)不同可區(qū)分的數(shù)據(jù)和過程表達(dá)式形成具有獨(dú)立功能特征的子過程減小子過程間和與外部環(huán)境間接口的復(fù)雜性應(yīng)利用需求分析中得到的信息和可重復(fù)的方法軟件設(shè)計(jì)準(zhǔn)則為了評價(jià)設(shè)計(jì)表達(dá)式的質(zhì)量,必須建立良好的設(shè)計(jì)準(zhǔn)則32設(shè)計(jì)的基本原理1.抽象(abstraction)2.細(xì)化(refinement)3.模塊化(modularization)4.軟件體系結(jié)構(gòu)5.控制層次6.數(shù)據(jù)結(jié)構(gòu)7.軟件過程8.信息隱藏設(shè)計(jì)的基本原理1.抽象(abstraction)33抽象抽象是強(qiáng)調(diào)所注意的方面,而忽略與當(dāng)前目標(biāo)無關(guān)方面的原理軟件工程過程中的每一步都是對軟件解的抽象層次一次細(xì)化在抽象的最高層可以使用問題環(huán)境語言以概括的方式敘述問題的解;在抽象的較低層采用更為過程化的方法;在抽象的最低層則用直接實(shí)現(xiàn)的方式來說明抽象的應(yīng)用對理解各種形式的計(jì)算機(jī)系統(tǒng)和進(jìn)行系統(tǒng)開發(fā)都是十分重要的抽象抽象是強(qiáng)調(diào)所注意的方面,而忽略與當(dāng)前目標(biāo)無關(guān)方面的原理34示例:二維繪圖系統(tǒng)第一層抽象
該軟件包括一個(gè)計(jì)算機(jī)圖形接口,它能在繪圖員和鼠標(biāo)之間進(jìn)行可視化通信,鼠標(biāo)代替了繪圖板和丁字尺。所有的直線和曲線描繪、所有的幾何計(jì)算、所有的剖面圖和輔助視圖都可以由CAD軟件來完成。畫法存儲在一個(gè)繪圖文件中,它包括所有幾何、文本和輔助設(shè)計(jì)信息
由此可見,其解是使用問題環(huán)境語言來概括的示例:二維繪圖系統(tǒng)第一層抽象35示例:二維繪圖系統(tǒng)第二層抽象
CAD軟件的任務(wù): 用戶交互任務(wù); 二維圖形繪制任務(wù); 圖形顯示任務(wù); 繪圖文件管理任務(wù); 結(jié)束應(yīng)當(dāng)注意:應(yīng)把與CAD軟件有關(guān)的每一個(gè)軟件任務(wù)都列出來。所用術(shù)語已離開問題所處環(huán)境,但仍不是實(shí)現(xiàn)說明示例:二維繪圖系統(tǒng)第二層抽象36示例:二維繪圖系統(tǒng)第三層抽象
procedure:二維圖形繪制repeatuntil〈繪圖任務(wù)終止〉dowhile〈與繪圖機(jī)進(jìn)行交互〉繪圖機(jī)接口任務(wù);終止繪圖請求;直線:直線繪制任務(wù);曲線:曲線繪制任務(wù);…卜end;dowhile〈與鍵盤進(jìn)行交互〉鍵盤交互任務(wù);分析/計(jì)算選擇;視圖:輔助視圖任務(wù);剖面圖:橫剖面任務(wù);…end;…endrepetition
endprocedure.
在這個(gè)層次上一個(gè)初步的過程表示已經(jīng)產(chǎn)生。其所用術(shù)語已經(jīng)是面向程序(使用了dowhile等結(jié)構(gòu)),并開始顯一出樓模塊化的意義示例:二維繪圖系統(tǒng)第三層抽象37細(xì)化細(xì)化是一種自頂向下的設(shè)計(jì)策略程序的體系結(jié)構(gòu)開發(fā)是由過程的細(xì)節(jié)層次不斷細(xì)化而成分層開發(fā)則是逐步分解一個(gè)宏功能(一個(gè)過程抽象)直到獲得編程語言語句每一步細(xì)化都隱含著一定的設(shè)計(jì)決策隨著任務(wù)的細(xì)化,數(shù)據(jù)也要細(xì)化、分解或結(jié)構(gòu)化細(xì)化細(xì)化是一種自頂向下的設(shè)計(jì)策略38模塊化模塊(module)是單獨(dú)命名和可編址的構(gòu)件模塊化是軟件的一個(gè)重要屬性模塊化使得一個(gè)程序易于為人們所理解、設(shè)計(jì)、測試和維護(hù)模塊化過程中,必須減少接口的復(fù)雜性,提高模塊的獨(dú)立性,才能有效地降低軟件總的復(fù)雜性模塊化模塊(module)是單獨(dú)命名和可編址的構(gòu)件39模塊化原則模塊化原則40軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)包含了過程構(gòu)件(模塊)的層次結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)決定于軟件設(shè)計(jì)方法。由于各種設(shè)計(jì)方法的原理不同,因而同一個(gè)軟件需求也會導(dǎo)出不同的軟件件系結(jié)構(gòu)到底哪一種設(shè)計(jì)方法最好?可以通過分析的方法來確定它們的整體質(zhì)量軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)包含了過程構(gòu)件(模塊)的層次結(jié)構(gòu)和數(shù)41需求分析到設(shè)計(jì)的轉(zhuǎn)換需求分析到設(shè)計(jì)的轉(zhuǎn)換42可供選擇的結(jié)構(gòu)可供選擇的結(jié)構(gòu)43控制層次常用的為樹形結(jié)構(gòu)深度表示控制的層次,寬度表示同一個(gè)層次上控制的最大數(shù)扇出(fanout)是對一個(gè)模塊直接控制其他模塊數(shù)目的量度,扇入(fanin)則是一個(gè)給定模塊被多少個(gè)模塊直接控制的量度控制層次常用的為樹形結(jié)構(gòu)44樹形控制結(jié)構(gòu)圖樹形控制結(jié)構(gòu)圖45數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是一種數(shù)據(jù)各元素之間邏輯關(guān)系的表達(dá)式數(shù)據(jù)結(jié)構(gòu)與程序結(jié)構(gòu)同樣重要。因?yàn)閿?shù)據(jù)結(jié)構(gòu)影響最后的過程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)決定信息的組織、存取方法和結(jié)合程度,以及可選的處理方法數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是一種數(shù)據(jù)各元素之間邏輯關(guān)系的表達(dá)式46軟件過程軟件過程則著重于每一個(gè)單獨(dú)模塊的處理細(xì)節(jié),而軟件體系結(jié)構(gòu)中模塊只表明它們所處的位置、應(yīng)完成的功能,以及I/O關(guān)系過程必須提供精確的處理規(guī)格說明,包括事件的順序、確切的抉擇點(diǎn)、重復(fù)的操作,以及數(shù)據(jù)的組織與結(jié)構(gòu)每個(gè)模塊的處理中必須說明該模塊的所有從屬模塊軟件過程的表示也是分層的軟件過程軟件過程則著重于每一個(gè)單獨(dú)模塊的處理細(xì)節(jié),而軟件體系47一個(gè)模塊內(nèi)的過程一個(gè)模塊內(nèi)的過程48過程的分層過程的分層49信息隱藏模塊設(shè)計(jì)決策的特征彼此是隱藏的。即包含在模塊內(nèi)的信息(過程和數(shù)據(jù))對其他不需要這些信息的模塊是不可訪問的有效的模塊化應(yīng)該通過一組獨(dú)立的模塊來達(dá)到這樣做的結(jié)果,對模塊的設(shè)計(jì)、編碼測試和維護(hù)帶來極大的好處信息隱藏模塊設(shè)計(jì)決策的特征彼此是隱藏的。即包含在模塊內(nèi)的信息50模塊化設(shè)計(jì):模塊的獨(dú)立性模塊的獨(dú)立性是模塊化、抽象和信息隱藏概念的產(chǎn)物模塊的獨(dú)立性是通過開發(fā)具有單一功能和與其他模塊沒有過多交互作用的模塊來達(dá)到的可用聚合(Cohesion)和耦合(Coupling)兩個(gè)定量準(zhǔn)則來度量(measurement)聚合是模塊功能相對強(qiáng)度的量度(metrics)耦合是模塊之間相對獨(dú)立性的量度兩者相互關(guān)聯(lián)。在一個(gè)系統(tǒng)中一個(gè)高,另一個(gè)就低模塊化設(shè)計(jì):模塊的獨(dú)立性模塊的獨(dú)立性是模塊化、抽象和信息隱藏51聚合的7個(gè)等級偶然聚合邏輯聚合時(shí)間聚合過程聚合通信聚合順序聚合功能聚合聚合度最低,最差聚合度最高,最好聚合的7個(gè)等級偶然聚合聚合度最低,最差聚合度最高,最好52耦合的7個(gè)等級非直接耦合數(shù)據(jù)耦合標(biāo)記耦合控制耦合外部耦合公共耦合內(nèi)容耦合耦合度最低,最好耦合度最高,最差耦合的7個(gè)等級非直接耦合耦合度最低,最好耦合度最高,最差53降低耦合度為了減少模塊間的耦合,可以采取下列措施在耦合方式上可通過CALL語句調(diào)用(非直接耦合),而不采用直接引用(內(nèi)容耦合)在傳遞信息類型上應(yīng)盡量使用數(shù)據(jù)型(數(shù)據(jù)耦合),而少采用控制型(控制耦合)??刂?數(shù)據(jù)型的信息傳遞應(yīng)堅(jiān)決避免使用,因其耦合度最高。外部環(huán)境耦合(外部耦合)和公共環(huán)境耦合(公共耦合)不可避免,但應(yīng)盡量控制它們的使用范圍在耦合數(shù)量上當(dāng)模塊間相互調(diào)用時(shí),模塊間傳遞參量的個(gè)數(shù)最好只有一個(gè)。在大多數(shù)情況下,2~4個(gè)就足夠了降低耦合度為了減少模塊間的耦合,可以采取下列措施54數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)通常作為需求分析任務(wù)的一部分,并與需求分析重疊進(jìn)行定義和設(shè)計(jì)數(shù)據(jù)的原則用于功能和行為的系統(tǒng)分析原則也可應(yīng)用于數(shù)據(jù)設(shè)計(jì)應(yīng)確定所有的數(shù)據(jù)結(jié)構(gòu)及每個(gè)數(shù)據(jù)項(xiàng)上所進(jìn)行的操作應(yīng)建立數(shù)據(jù)字典,用于數(shù)據(jù)定義和程序設(shè)計(jì)低層的數(shù)據(jù)設(shè)計(jì)決策,應(yīng)在設(shè)計(jì)過程的后期進(jìn)行數(shù)據(jù)結(jié)構(gòu)的表達(dá)式應(yīng)當(dāng)采用那些通用的模型應(yīng)當(dāng)開發(fā)數(shù)據(jù)結(jié)構(gòu)及其操作的實(shí)用庫軟件設(shè)計(jì)和編程語言應(yīng)當(dāng)支持抽象數(shù)據(jù)類型的規(guī)格說明和實(shí)現(xiàn)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)通常作為需求分析任務(wù)的一部分,并與需求分析重55體系結(jié)構(gòu)設(shè)計(jì)主要目標(biāo)開發(fā)一個(gè)模塊化的程序結(jié)構(gòu),并給出各個(gè)模塊之間的控制關(guān)系體系結(jié)構(gòu)設(shè)計(jì)原則模塊大小一個(gè)模塊最好只包含50~60條語句深度/寬度與扇出/扇入一般講,高層模塊應(yīng)有較高的扇出,低層模塊特別是底層模塊應(yīng)有較高的扇入。設(shè)計(jì)者主要關(guān)心的是模塊的高聚合和低耦合,及模塊大小判定的作用域和模塊的控制域理想情況是,作用域應(yīng)限制在作出條件或判定的那個(gè)模塊本身,以及它的直屬下級體系結(jié)構(gòu)設(shè)計(jì)主要目標(biāo)56作用域和判定域示意圖作用域和判定域示意圖57過程設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)思想的提出概念最早由Dijkstra提出,他是鑒于高級語言Fortran中的”GOTO語句有害”結(jié)構(gòu)化程序設(shè)計(jì)促進(jìn)了一種新的程序設(shè)計(jì)思想、方法和風(fēng)格的確立,這是存儲程序計(jì)算機(jī)問世以來計(jì)算機(jī)界影響最大的一次軟件概念的革命。設(shè)計(jì)表示法圖形設(shè)計(jì)表達(dá)式表格設(shè)計(jì)表達(dá)式過程設(shè)計(jì)語言表達(dá)式結(jié)構(gòu)化程序設(shè)計(jì)中的三種結(jié)構(gòu)順序(Sequence)條件(Condition)重復(fù)(Repetition)過程設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)思想的提出設(shè)計(jì)表示法結(jié)構(gòu)化程序設(shè)計(jì)中的58過程設(shè)計(jì)表示法圖形設(shè)計(jì)表達(dá)式表格設(shè)計(jì)表達(dá)式過程設(shè)計(jì)語言表達(dá)式過程設(shè)計(jì)表示法圖形設(shè)計(jì)表達(dá)式59圖形設(shè)計(jì)表達(dá)式流程圖盒圖HIPO圖Warnier-Orr圖(在面向數(shù)據(jù)結(jié)構(gòu)方法講)PAD圖(在PAD開發(fā)方法講)圖形設(shè)計(jì)表達(dá)式流程圖60流程圖流程圖61組合構(gòu)造過程組合構(gòu)造過程62使用結(jié)構(gòu)化構(gòu)造的好處結(jié)構(gòu)清晰減少程序的復(fù)雜性提高程序的可讀性、可測試性和可維護(hù)性使用結(jié)構(gòu)化構(gòu)造的好處結(jié)構(gòu)清晰63使用結(jié)構(gòu)化構(gòu)造的問題問題1-是否能將問題解的任何算法都表示為上述結(jié)構(gòu)化構(gòu)造?問題2-由于使用五種基本構(gòu)造,當(dāng)遇到多層嵌套循環(huán)時(shí)。如果每層只允許一個(gè)出口,是否會影響退出時(shí)的效率?問題3-關(guān)于高層的宏觀流程圖與低層的微觀詳細(xì)流程圖是否應(yīng)該區(qū)分?使用結(jié)構(gòu)化構(gòu)造的問題問題1-是否能將問題解的任何算法都表示為64問題11976年由BoehmJacopini,并經(jīng)Mills進(jìn)一步發(fā)展,在理論上證明了問題解的任何算法都可以表示為上述結(jié)構(gòu)化構(gòu)造定理1-假如不增加輔助變量,不增加額外計(jì)算或不改變程序的執(zhí)行順序,那么必然存在不能用if-while表示的構(gòu)造定理2-在定理1的假設(shè)條件下,if-while構(gòu)造的充分必要條件是:該構(gòu)造不包含兩個(gè)(或兩個(gè)以上)出口的循環(huán)定理3-若允許增加輔助變量,增加額外計(jì)算或改變程序的執(zhí)行順序,問題解的任何算法都可以表示為上述結(jié)構(gòu)化構(gòu)造問題11976年由BoehmJacopini,并經(jīng)Mill65示例:改變構(gòu)造執(zhí)行順序示例:改變構(gòu)造執(zhí)行順序66示例:增加額外計(jì)算示例:增加額外計(jì)算67示例:增加輔助變量示例:增加輔助變量68問題2如果只使用上述5種基本構(gòu)造,肯定會影響退出時(shí)的效率。為解決這類問題,許多程序設(shè)計(jì)語言都設(shè)置了循環(huán)終止結(jié)構(gòu)問題2如果只使用上述5種基本構(gòu)造,肯定會影響退出時(shí)的效率。為69問題3高層宏觀流程圖與低層微觀詳細(xì)流程圖應(yīng)該區(qū)分低層微觀詳細(xì)流程圖只用于一些控制結(jié)構(gòu)比較復(fù)雜的模塊高層宏觀流程圖多用于一些高層的描述,只說明系統(tǒng)體系結(jié)構(gòu)中模塊的數(shù)量、相互關(guān)系,及其所屬功能問題3高層宏觀流程圖與低層微觀詳細(xì)流程圖應(yīng)該區(qū)分70盒圖(又叫N-S圖或Chapin圖)盒圖(又叫N-S圖或Chapin圖)71HIPO圖(分層輸入-處理-輸出圖)HIPO圖(分層輸入-處理-輸出圖)72表格設(shè)計(jì)表達(dá)式判定表的出現(xiàn)先于軟件工程十幾年,但不失用于過程設(shè)計(jì)判定表的性質(zhì)提供了一種把各種動(dòng)作與條件(在處理解說詞中描述的)轉(zhuǎn)換為表格形式的表達(dá)式判定表的好處不容易產(chǎn)生誤解,還可作為一種表驅(qū)動(dòng)算法的機(jī)器直接輸入使用表格設(shè)計(jì)表達(dá)式判定表的出現(xiàn)73判定表判定表74示例:電費(fèi)計(jì)算的判定表示例:電費(fèi)計(jì)算的判定表75過程設(shè)計(jì)語言表達(dá)式過程設(shè)計(jì)語言(ProcedureDesignLanguage,PDL)應(yīng)具有以下特點(diǎn)所有關(guān)鍵字(keyword)都應(yīng)有固定的語法,以便提供全部結(jié)構(gòu)化構(gòu)造、數(shù)據(jù)說明和模塊化特性描述處理特性的說明性語言可以沒有嚴(yán)格的語法數(shù)據(jù)說明設(shè)施應(yīng)包括簡單的(標(biāo)量、數(shù)組)和復(fù)雜的(鏈表或樹)數(shù)據(jù)結(jié)構(gòu)應(yīng)有子程序定義和調(diào)用技術(shù),用來描述各種方式的接口說明。過程設(shè)計(jì)語言表達(dá)式過程設(shè)計(jì)語言(ProcedureDesi76設(shè)計(jì)規(guī)格說明設(shè)計(jì)的產(chǎn)品設(shè)計(jì)規(guī)格說明(DesignSpecification)設(shè)計(jì)規(guī)格說明概要設(shè)計(jì)規(guī)格說明主要說明系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)思路,為詳細(xì)設(shè)計(jì)提供基礎(chǔ)詳細(xì)設(shè)計(jì)規(guī)格說明主要說明系統(tǒng)結(jié)構(gòu)中每個(gè)模塊(或子程序)的過程設(shè)計(jì)思路。設(shè)計(jì)規(guī)格說明設(shè)計(jì)的產(chǎn)品77概要設(shè)計(jì)規(guī)格說明(GB8567-88)1.引言1.1編寫目的1.2背景1.3定義1.4參考資料2.總體設(shè)計(jì)2.1需求規(guī)定2.2運(yùn)行環(huán)境2.3基本設(shè)計(jì)概念和處理流程2.4結(jié)構(gòu)2.5功能需求與程序(模塊)的關(guān)系2.6人工處理過程2.7尚未解決的問題3.接口設(shè)計(jì)3.1用戶接口3.2外部接口3.3內(nèi)部接口4.運(yùn)行設(shè)計(jì)4.1運(yùn)行模塊組合4.2運(yùn)行控制4.3運(yùn)行時(shí)間5.系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5.1邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)5.2物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)5.3數(shù)據(jù)結(jié)構(gòu)與程序(模塊)的關(guān)系6.系統(tǒng)出錯(cuò)處理設(shè)計(jì)6.1出錯(cuò)信息6.2補(bǔ)救措施6.3系統(tǒng)維護(hù)設(shè)計(jì)概要設(shè)計(jì)規(guī)格說明(GB8567-88)1.引言3.2外部接口78詳細(xì)設(shè)計(jì)規(guī)格說明(GB8567-88)1.引言1.1編寫目的1.2背景1.3定義1.4參考資料2.程序(模塊)系統(tǒng)的組織結(jié)構(gòu)3.程序(模塊)1(標(biāo)識符)設(shè)計(jì)說明3.1程序(模塊)描述3.2功能3.3性能3.4輸入項(xiàng)3.5輸出項(xiàng)3.6算法3.7流程邏輯3.8接口3.9存儲分配3.10注釋設(shè)計(jì)3.11限制條件3.12測試計(jì)劃3.13尚未解決的問題4.程序(模塊)2(標(biāo)識符)設(shè)計(jì)說明…詳細(xì)設(shè)計(jì)規(guī)格說明(GB8567-88)1.引言3.5輸出項(xiàng)79面向數(shù)據(jù)流的設(shè)計(jì)面向數(shù)據(jù)流的設(shè)計(jì)(dataflow-orienteddesign)就是根據(jù)問題域的數(shù)據(jù)流定義一組不同的映射,把問題域的數(shù)據(jù)流轉(zhuǎn)換為問題解的程序結(jié)構(gòu)這種方法通常又叫做結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign,SD),由Yourdon和Constantine等人于1974年提出是建立在早期模塊化、自頂向下逐步細(xì)化和結(jié)構(gòu)化編程設(shè)計(jì)概念上的;并擴(kuò)展了這些技術(shù),它把數(shù)據(jù)流融入了設(shè)計(jì)過程與結(jié)構(gòu)化分析(SA)銜接,構(gòu)成了一種完整的結(jié)構(gòu)化分析設(shè)計(jì)技術(shù),即Yourdon方法,是目前使用最廣泛的軟件設(shè)計(jì)方法之一面向數(shù)據(jù)流的設(shè)計(jì)面向數(shù)據(jù)流的設(shè)計(jì)(dataflow-ori80設(shè)計(jì)過程從數(shù)據(jù)流到程序結(jié)構(gòu)的轉(zhuǎn)換要經(jīng)過以下5個(gè)步驟才能完成(1)確定數(shù)據(jù)流的類型(2)說明數(shù)據(jù)流的邊界(3)把DFD映射為程序結(jié)構(gòu)(4)根據(jù)元素的分解,定義控制的層次(5)使用設(shè)計(jì)度量和試探法(heuristics),對產(chǎn)生的結(jié)構(gòu)進(jìn)行細(xì)化和求精設(shè)計(jì)過程從數(shù)據(jù)流到程序結(jié)構(gòu)的轉(zhuǎn)換要經(jīng)過以下5個(gè)步驟才能完成81示例:機(jī)票銷售系統(tǒng)結(jié)構(gòu)化設(shè)計(jì)變換中心輸入模塊輸出模塊示例:機(jī)票銷售系統(tǒng)結(jié)構(gòu)化設(shè)計(jì)變換中心輸入模塊輸出模塊82DFDSCDFDSC83結(jié)構(gòu)圖(SC)基本符號結(jié)構(gòu)圖(SC)基本符號84數(shù)據(jù)流類型:變換流數(shù)據(jù)流類型:變換流85數(shù)據(jù)流類型:事務(wù)流數(shù)據(jù)流類型:事務(wù)流86DFDSC:變換流設(shè)計(jì)變換流設(shè)計(jì)過程找出變換中心設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第二層設(shè)計(jì)中、下層模塊DFDSC:變換流設(shè)計(jì)變換流設(shè)計(jì)過程87DFDSC:事務(wù)流設(shè)計(jì)事務(wù)流設(shè)計(jì)過程確定事務(wù)處理中心和每條加工路徑設(shè)計(jì)事務(wù)流DFD的軟件結(jié)構(gòu)對事務(wù)處理中心的結(jié)構(gòu)和每個(gè)事務(wù)加工路徑的結(jié)構(gòu)進(jìn)行細(xì)化DFDSC:事務(wù)流設(shè)計(jì)事務(wù)流設(shè)計(jì)過程88DFDSC:混合流設(shè)計(jì)混合流設(shè)計(jì)過程畫出輸入、變換和輸出設(shè)計(jì)軟件結(jié)構(gòu)的上層根據(jù)DFD圖各部分的特征,進(jìn)行變換設(shè)計(jì)和事務(wù)設(shè)計(jì)DFDSC:混合流設(shè)計(jì)混合流設(shè)計(jì)過程89詳細(xì)的設(shè)計(jì)步驟面向數(shù)據(jù)流設(shè)計(jì)方法的設(shè)計(jì)步驟評審基本系統(tǒng)模型評審和完善軟件的DFD圖確定該DFD圖的變換流和事務(wù)流特征根據(jù)確定的輸入流和輸出流邊界,找出變換中心實(shí)現(xiàn)第一層的分解實(shí)現(xiàn)第二層的分解為提高軟件質(zhì)量,利用設(shè)計(jì)直觀推斷的方法對已完成的程序結(jié)構(gòu)進(jìn)行完善詳細(xì)的設(shè)計(jì)步驟面向數(shù)據(jù)流設(shè)計(jì)方法的設(shè)計(jì)步驟90設(shè)計(jì)的后處理要成功地應(yīng)用變換分析或事務(wù)分析,還要求有相應(yīng)的設(shè)計(jì)文檔作為體系結(jié)構(gòu)設(shè)計(jì)的補(bǔ)充為每個(gè)模塊開發(fā)一份處理說明為每個(gè)模塊提供一份接口描述定義局部和全局?jǐn)?shù)據(jù)結(jié)構(gòu)給出所有的設(shè)計(jì)限制或約束進(jìn)行概要設(shè)計(jì)評審如果需要且合算的話,還要對結(jié)構(gòu)進(jìn)行優(yōu)化設(shè)計(jì)設(shè)計(jì)的后處理要成功地應(yīng)用變換分析或事務(wù)分析,還要求有相應(yīng)的設(shè)91面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)(datastructured-orienteddesign)是根據(jù)問題的數(shù)據(jù)結(jié)構(gòu)定義一組映射,把問題的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為問題解的程序結(jié)構(gòu)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)是由Jackson(1975,1983年)、Warnier(1974年,1981年)、和Orr(1981年、1989年)提出與面向數(shù)據(jù)流的設(shè)計(jì)一樣,是使用廣泛的方法之一面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)(datastruct92Jackson結(jié)構(gòu)化編程Jackson認(rèn)為,流程圖不是最好的設(shè)計(jì)工具因?yàn)樵O(shè)計(jì)首先考慮的應(yīng)該是問題的結(jié)構(gòu),而流程圖卻讓設(shè)計(jì)者首先考慮的是程序在計(jì)算機(jī)內(nèi)的執(zhí)行順序(算法)。這樣,就掩蓋了有問題的結(jié)構(gòu)。Jackson提出,設(shè)計(jì)者不應(yīng)再畫流程圖,程序結(jié)構(gòu)應(yīng)基于問題的數(shù)據(jù)結(jié)構(gòu)Jackson結(jié)構(gòu)化編程Jackson認(rèn)為,流程圖不是最好的93程序結(jié)構(gòu)應(yīng)基于數(shù)據(jù)結(jié)構(gòu)程序結(jié)構(gòu)應(yīng)基于數(shù)據(jù)結(jié)構(gòu)94Jackson的結(jié)構(gòu)圖解順序結(jié)構(gòu)選擇結(jié)構(gòu)(二選一)重復(fù)結(jié)構(gòu)選擇結(jié)構(gòu)(多選一)Jackson的結(jié)構(gòu)圖解順序結(jié)構(gòu)選擇結(jié)構(gòu)(二95Jackson的圖解邏輯順序結(jié)構(gòu)
Aseq
doB;
doC;
doD;
Aend選擇(二選一)
AselectI>0
doB;
Aor
doC;
Aend選擇(多選一)
Aselectcode=“I”
doB;
Aorcode=“J”
doC;
Aorcode=“K”
doD;
Aorcode≠”I”、≠”J”、≠”K”
doE
Aend重復(fù)結(jié)構(gòu)
DiterwhileI<10
Cseq
doA;
doB;
Cend
DendJackson的圖解邏輯順序結(jié)構(gòu)
Aseq
96Jackson設(shè)計(jì)步驟Jackson設(shè)計(jì)步驟研究問題環(huán)境,確定要處理問題的數(shù)據(jù)結(jié)構(gòu)把數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為程序結(jié)構(gòu)。用基本操作來定義要完成的任務(wù),并把每個(gè)基本操作分配到程序結(jié)構(gòu)的合適的元素中去,以獲得帶有操作的最終程序結(jié)構(gòu)根據(jù)最終的程序結(jié)構(gòu),可以將其翻譯為圖解邏輯將圖解邏輯轉(zhuǎn)換為目標(biāo)語言Jackson設(shè)計(jì)步驟Jackson設(shè)計(jì)步驟97
設(shè)計(jì)示例:磁帶記錄
第一步:確定數(shù)據(jù)結(jié)構(gòu)
設(shè)計(jì)示例:磁帶記錄
第一步:確定數(shù)據(jù)結(jié)構(gòu)98
設(shè)計(jì)示例:磁帶記錄
第二步:轉(zhuǎn)換為程序結(jié)構(gòu)框架
設(shè)計(jì)示例:磁帶記錄
第二步:轉(zhuǎn)換為程序結(jié)構(gòu)框架99
設(shè)計(jì)示例:磁帶記錄
第三步:定義基本操作(1)打開文件(2)關(guān)閉文件(3)讀出文件(4)顯示總數(shù)(5)組計(jì)數(shù)器清零(GC)(6)A計(jì)數(shù)器清零(AC)(7)B計(jì)數(shù)器清零(BC)(8)GC+1(9)AC+1(10)BC+1(11)顯示文件頭(12)終止
設(shè)計(jì)示例:磁帶記錄
第三步:定義基本操作100
設(shè)計(jì)示例:磁帶記錄
第四步:把操作分配給各程序元素
設(shè)計(jì)示例:磁帶記錄
第四步:把操作分配給各程序元素101第五步翻譯為Jackson圖解邏輯第五步翻譯為Jackson圖解邏輯102
設(shè)計(jì)示例:磁帶記錄
第五步翻譯為Jackson圖解邏輯
設(shè)計(jì)示例:磁帶記錄
第五步翻譯為Jackson圖解邏輯103Warnier-Orr開發(fā)方法Warnier-Orr開發(fā)方法與Jackson結(jié)構(gòu)化編程都是基于數(shù)據(jù)結(jié)構(gòu)的,但其結(jié)構(gòu)圖解和設(shè)計(jì)方法有所不同Warnier-Orr開發(fā)方法又叫做數(shù)據(jù)結(jié)構(gòu)化系統(tǒng)開發(fā)(DSSD),是由Warnier-Orr于1983年提出來的這種方法由程序邏輯構(gòu)造法(LCP)擴(kuò)展而成,它不但增強(qiáng)了設(shè)計(jì)能力,還增強(qiáng)了分析能力Warnier-Orr開發(fā)方法Warnier-Orr開發(fā)方法104Warnier-Orr結(jié)構(gòu)圖解Warnier-Orr結(jié)構(gòu)圖解105設(shè)計(jì)方法邏輯設(shè)計(jì)過程兩種活動(dòng)邏輯輸出結(jié)構(gòu)(LogicalOutputStructure,LOS)的導(dǎo)出邏輯過程結(jié)構(gòu)(LogicalProcessStructure,LPS)的導(dǎo)出設(shè)計(jì)方法邏輯設(shè)計(jì)過程兩種活動(dòng)106LOS的導(dǎo)出在應(yīng)用中,要到處LOS可分為4步(1)評價(jià)問題說明或相關(guān)需求信息,并列出所有不同的、不能再進(jìn)一步細(xì)化的數(shù)據(jù)項(xiàng)(原子(atom))(2)確定每個(gè)原子發(fā)生的頻率(3)評價(jià)所有可細(xì)分的數(shù)據(jù)項(xiàng)(也稱組合數(shù)據(jù)項(xiàng))(4)開發(fā)LOS圖解表達(dá)式LOS的導(dǎo)出在應(yīng)用中,要到處LOS可分為4步107LPS的導(dǎo)出為導(dǎo)出LPS,要進(jìn)行以下幾步(1)從LOS的Warnier-Orr圖中去掉所有的原子(2)把定義符BEGIN和END加到所有組合數(shù)據(jù)項(xiàng)(重復(fù))上(3)定義所有起始、終止或處理的細(xì)則(4)確定所有計(jì)算或非數(shù)值處理(5)確定所有輸出細(xì)則和過程(6)確定所有輸入細(xì)則和過程。LPS的導(dǎo)出為導(dǎo)出LPS,要進(jìn)行以下幾步108示例:機(jī)床工具使用時(shí)報(bào)告示例:機(jī)床工具使用時(shí)報(bào)告109LOS的導(dǎo)出:原則和頻率LOS的導(dǎo)出:原則和頻率110LOS的導(dǎo)出(LOS的Warnier-Orr圖)LOS的導(dǎo)出(LOS的Warnier-Orr圖)111LPS的導(dǎo)出(變換LOS為LPS的Warnier-Orr圖)LPS的導(dǎo)出(變換LOS為LPS的Warnier-Orr圖)112LPS導(dǎo)出(導(dǎo)出的LPS擴(kuò)展Warnier-Orr圖)LPS導(dǎo)出(導(dǎo)出的LPS擴(kuò)展Warnier-Orr圖)113LPS導(dǎo)出(完成的LPS規(guī)格說明)LPS導(dǎo)出(完成的LPS規(guī)格說明)114PAD圖的設(shè)計(jì)PAD圖的提出PAD圖由日本日立制作所中央研究所主任研究員小村良彥等提出PAD圖是一種用于過程設(shè)計(jì)的士表達(dá)式PAD圖的特點(diǎn)PAD圖
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業(yè)戰(zhàn)略規(guī)劃咨詢合同樣本
- 2025年二手房未過戶交易合同范本
- 2025年原材料供應(yīng)合作合同標(biāo)準(zhǔn)格式
- 2025年產(chǎn)品研發(fā)委托設(shè)計(jì)合同樣本
- 短期勞動(dòng)合同模板及實(shí)例
- 2025年二手叉車租賃合同樣例
- 2025年信息技術(shù)設(shè)備供需合同
- 2025年森林景區(qū)荒山開發(fā)合同
- 2025年農(nóng)村房屋建筑施工安全合同指南
- 2025年企業(yè)新員工勞動(dòng)合同協(xié)議書樣本
- 2024年防盜門銷售合同范本
- 支付令申請書(2025版)
- 麻醉護(hù)士的 工作職責(zé)
- 2025年中考語文一輪復(fù)習(xí):九年級下冊知識點(diǎn)梳理
- 旅游健康與保健知識
- 亞朵酒店前臺述職報(bào)告
- 《肝衰竭診治指南(2024版)》解讀
- 數(shù)據(jù)安全重要數(shù)據(jù)風(fēng)險(xiǎn)評估報(bào)告
- 孝悌課件教學(xué)課件
- 《期末總結(jié)》課件
- 《企業(yè)安全生產(chǎn)費(fèi)用提取和使用管理辦法》專題培訓(xùn)
評論
0/150
提交評論