軟件工程需求分析-需求分析教學(xué)文稿_第1頁
軟件工程需求分析-需求分析教學(xué)文稿_第2頁
軟件工程需求分析-需求分析教學(xué)文稿_第3頁
軟件工程需求分析-需求分析教學(xué)文稿_第4頁
軟件工程需求分析-需求分析教學(xué)文稿_第5頁
已閱讀5頁,還剩126頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章需求(xūqiú)分析可行性研究通過(tōngguò)以后,下一步就要根據(jù)草擬的開發(fā)計(jì)劃,展開詳細(xì)的需求分析活動。軟件需求分析,是詳細(xì)分析需求,并建立需求分析模型的階段第一頁,共131頁。2023/1/131第5章軟件(ruǎnjiàn)需求分析5.1需求分析概述5.2結(jié)構(gòu)化分析方法5.3數(shù)據(jù)流圖的繪制5.4編制數(shù)據(jù)字典(zìdiǎn)5.5加工邏輯的分析與表達(dá)5.6需求驗(yàn)證與評審第二頁,共131頁。2023/1/1325.1需求分析(fēnxī)概述5.1.1需求分析的任務(wù)、特點(diǎn)、主要(zhǔyào)困難5.1.2人員組成5.1.3分析師的角色5.1.4需求分析的活動和原則第三頁,共131頁。2023/1/1335.1.1需求分析(fēnxī)的任務(wù)完成“分析建?!?擬定“確認(rèn)測試”計(jì)劃修訂“開發(fā)計(jì)劃”編寫“需求規(guī)劃(guīhuà)說明書”需求評審第四頁,共131頁。2023/1/1341.分析(fēnxī)建模針對用戶要求實(shí)現(xiàn)的軟件功能、性能(xìngnéng)等目標(biāo),與開發(fā)人員進(jìn)一步澄清、達(dá)成共識、形成規(guī)約;準(zhǔn)確講,需求分析是發(fā)掘需求、分析求精、邏輯建模、形成規(guī)約的過程。第五頁,共131頁。2023/1/1351.分析(fēnxī)建模發(fā)掘需求——調(diào)查需求、挖掘潛在需求、預(yù)測未來可能的需求;需求求精——對模糊不清的用戶需求明確、精化;邏輯建?!诂F(xiàn)行系統(tǒng)邏輯模型的基礎(chǔ)上,考慮新的用戶需求、限制和約束的基礎(chǔ)上導(dǎo)出新系統(tǒng)的邏輯模型;形成規(guī)約——將雙方達(dá)成共識的需求文檔化、模型化,這份文檔被稱為“需求規(guī)約”和“需求規(guī)格說明書”,它將是后需活動(huódòng)開發(fā)方努力實(shí)現(xiàn)的目標(biāo)第六頁,共131頁。2023/1/1362.擬定(nǐdìng)“確認(rèn)測試”計(jì)劃有了共同的需求約定以后,就可以制定“確認(rèn)測試”計(jì)劃,它是用戶驗(yàn)證軟件是否(shìfǒu)滿足需求的依據(jù);這個(gè)計(jì)劃到綜合測試后期執(zhí)行。第七頁,共131頁。2023/1/137

3.修訂(xiūdìng)開發(fā)計(jì)劃系統(tǒng)調(diào)查與可行性研究階段的最后,草擬了初步的開發(fā)計(jì)劃,當(dāng)時(shí)(dàngshí)由于需求尚不詳細(xì),現(xiàn)可有了詳細(xì)的需求分析結(jié)果以后,應(yīng)該使開發(fā)計(jì)劃更準(zhǔn)確一些。第八頁,共131頁。2023/1/1384.編寫“需求(xūqiú)規(guī)劃說明書”需求分析階段的成果(chéngguǒ)集中體現(xiàn)在“需求規(guī)格說明書”中,這是一個(gè)里程碑;有明確的格式和內(nèi)容第九頁,共131頁。2023/1/1395.需求(xūqiú)評審需求評審是“質(zhì)量保證活動”的內(nèi)容;體現(xiàn)出瀑布模型的“文檔驅(qū)動”特點(diǎn)由項(xiàng)目經(jīng)理、用戶、分析員、前一階段(可行性研究)的主要人員和后一階段(概要設(shè)計(jì)(shèjì))的主要人員組成評審小組;第十頁,共131頁。2023/1/1310階段性成果(主要(zhǔyào)文檔)包括:需求規(guī)格說明書細(xì)化的項(xiàng)目計(jì)劃(jìhuà)確認(rèn)測試計(jì)劃(jìhuà)第十一頁,共131頁。2023/1/1311主要(zhǔyào)特點(diǎn):面向問題域(即用戶業(yè)務(wù)領(lǐng)域)只關(guān)注“邏輯”,不考慮“物理”只研究應(yīng)該(yīnggāi)“做什么?”,暫不考慮用什么手段、如何實(shí)現(xiàn),即“怎么做”的問題;用數(shù)流據(jù)圖、數(shù)據(jù)字典、加工描述等工具建立邏輯模型第十二頁,共131頁。2023/1/1312面臨的主要(zhǔyào)困難需求分析(fēnxī)活動面臨的挑戰(zhàn):使用有效的軟件工程方法克服復(fù)雜性建立分析(fēnxī)員與用戶的有效溝通使用有效的工具,克服需求表述的二義性第十三頁,共131頁。2023/1/13135.1需求(xūqiú)分析概述5.1.1需求分析的任務(wù)、特點(diǎn)、主要困難5.1.2人員組成5.1.3分析師的角色5.1.4需求分析的活動(huódòng)和原則第十四頁,共131頁。2023/1/13145.1.2人員(rényuán)組成如果是一個(gè)企業(yè)信息系統(tǒng)開發(fā)項(xiàng)目,那么項(xiàng)目團(tuán)隊(duì)成員應(yīng)包括用戶和開發(fā)人員;參與(cānyù)團(tuán)隊(duì)的用戶包括:企業(yè)負(fù)責(zé)人、部門負(fù)責(zé)人、專業(yè)崗位上的員工;參開團(tuán)隊(duì)的開發(fā)人員包括:系統(tǒng)分析師、數(shù)據(jù)管理員;在需求評審時(shí),還需要”可行性分析“和”系統(tǒng)設(shè)計(jì)“階段的主要人員參與(cānyù);第十五頁,共131頁。2023/1/13155.1需求(xūqiú)分析概述5.1.1需求分析的任務(wù)、特點(diǎn)、主要困難5.1.2人員(rényuán)組成5.1.3分析師的角色5.1.4需求分析的活動和原則第十六頁,共131頁。2023/1/13165.1.3分析師的角色(juésè)是用戶與開發(fā)人員的橋梁;與項(xiàng)目經(jīng)理合作,是開發(fā)團(tuán)隊(duì)的領(lǐng)軍人物;具體業(yè)務(wù)主要集中在可行性研究和需求分析階段;個(gè)人素質(zhì)方面:具有領(lǐng)導(dǎo)才能,善于溝通;具有實(shí)干(shígàn)作風(fēng);知識面寬,重在廣度而不是深度;技術(shù)全面;有時(shí)分析師是一個(gè)團(tuán)隊(duì),由若干人承擔(dān);第十七頁,共131頁。2023/1/13175.1需求分析(fēnxī)概述5.1.1需求分析的任務(wù)、特點(diǎn)、主要困難5.1.2人員組成5.1.3分析師的角色5.1.4需求分析的活動(huódòng)和原則第十八頁,共131頁。2023/1/13185.1.4需求(xūqiú)分析的活動和原則活動主要分為:需求獲取(huòqǔ);分析建模;需求評審第十九頁,共131頁。2023/1/1319需求(xūqiú)獲取的目標(biāo)對用戶需求進(jìn)行鑒別、綜合,清除用戶需求的模糊性、歧義性和不一致性;把對原始問題的理解和軟件開發(fā)經(jīng)驗(yàn)結(jié)合起來,鑒別由于用戶的片面性或短期行為所導(dǎo)致的不合理要求,發(fā)現(xiàn)用戶尚未發(fā)現(xiàn)的但具有真正(zhēnzhèng)價(jià)值的潛在需求;第二十頁,共131頁。2023/1/1320需求(xūqiú)獲取中風(fēng)驗(yàn)需求獲取隱藏著很大的風(fēng)險(xiǎn)因?yàn)?yīnwèi)任何錯(cuò)誤的需求描述,都必然造成錯(cuò)誤的設(shè)計(jì)、錯(cuò)誤的編程和錯(cuò)誤的軟件結(jié)果,而實(shí)際情形是這種潛在的風(fēng)險(xiǎn)是客觀存在的第二十一頁,共131頁。2023/1/1321總的原則(yuánzé)分析師關(guān)注的焦點(diǎn)是“做什么(What)”,而不是“怎么做How”,系統(tǒng)會產(chǎn)生和使用什么數(shù)據(jù)?系統(tǒng)必須完成什么功能?將定義什么界面?會遇到什么約束?等。這一階段主要精力(jīnglì)集中在獲取和分析系統(tǒng)的邏輯功能上。不要把“用計(jì)算機(jī)如何實(shí)現(xiàn)”這樣的物理因素牽扯進(jìn)來,影響邏輯功能的分析。第二十二頁,共131頁。2023/1/13225.1.4需求(xūqiú)分析的活動和原則活動主要(zhǔyào)分為:需求獲取;分析建模;需求評審第二十三頁,共131頁。2023/1/1323分析(fēnxī)建模用戶往往會從不同的角度、不同的抽象級別闡述對原始問題的理解和需求,相對比較零亂,有必要借助模型。一方面,模型用于精確地記錄用戶從各個(gè)視角、不同抽象級別上對原始問題及目標(biāo)軟件的描述;另一方面,它將幫助分析人員(rényuán)去偽存真、由表及里地挖掘用戶需求。建模不僅是描述系統(tǒng)的工具,也是用戶與開發(fā)人員(rényuán)進(jìn)行交流的工具。在結(jié)構(gòu)化分析方法中,數(shù)據(jù)流圖是建模的主要工具。邏輯模塊不僅是描述問題的圖形工具,同時(shí)更是分析問題的一種工作方法。第二十四頁,共131頁。2023/1/1324調(diào)研階段產(chǎn)生的文檔,是需求分析的起點(diǎn),是目標(biāo)軟件系統(tǒng)邏輯模型的雛型。在需求分析階段,分析師將進(jìn)一步對它進(jìn)行細(xì)化、擴(kuò)充,直到足夠具體為止。在分析的過程中建立數(shù)據(jù)(shùjù)字典,對模型進(jìn)行注解。邏輯模型是分析師與用戶交流的主要工具,也是需求分析階段的成果的主要體現(xiàn)。第二十五頁,共131頁。2023/1/13253.需求(xūqiú)評審需求審查和管理復(fù)審是需求分析的最后一個(gè)環(huán)節(jié),通過了這一環(huán)節(jié),就等于暫時(shí)為需求分析階段畫上了一個(gè)“句號”。盡管后期可能還會有些對需求分析的反復(fù),但有了這個(gè)“句號”,就可以進(jìn)入設(shè)計(jì)階段了。經(jīng)過審批之后的文檔,在整個(gè)項(xiàng)目范圍內(nèi),相當(dāng)于用戶與開發(fā)人員之間達(dá)成了一份(yīfèn)合約,后期的系統(tǒng)設(shè)計(jì)和系統(tǒng)測試,都將以這份“規(guī)約”為準(zhǔn)。任何對合約的修改,都將影響到整個(gè)項(xiàng)目的工期和開發(fā)成本,都需要經(jīng)過嚴(yán)格的審批和簽約。第二十六頁,共131頁。2023/1/1326例家庭保安(bǎoān)系統(tǒng)問題描述:

家庭保安市場正以每年40%的速度增長。希望建立(jiànlì)一種基于微處理器的家庭保安系統(tǒng),它能夠識別異常事件并采取相應(yīng)的防護(hù)措施。這些異常事件包括:非法侵入、火災(zāi)、水淹等。一旦異常情況被傳感器探測出來,系統(tǒng)應(yīng)自動通過電話向監(jiān)控中心報(bào)警。此外,應(yīng)允許戶主對系統(tǒng)行為進(jìn)行程序控制。

第二十七頁,共131頁。2023/1/1327家庭保安(bǎoān)系統(tǒng)分析初期聯(lián)合小組的工作程序聯(lián)合小組首先制定工作制度:每次會議開始前必須(bìxū)有確定的議程,參加者必須(bìxū)針對各項(xiàng)議程進(jìn)行充分的準(zhǔn)備,并用文字表示。經(jīng)過會議討論,明確問題的范圍、問題與環(huán)境的關(guān)系,并就開發(fā)軟件產(chǎn)品的必要性達(dá)成共識。第二十八頁,共131頁。2023/1/1328例家庭保安(bǎoān)系統(tǒng)小組負(fù)責(zé)人要求每位參加者列出問題及環(huán)境中的有關(guān)對象,對這些對象施行的操作以及對象間的相互作用。列出的操作和對象盡可能完全,如,控制面板、電話機(jī)、監(jiān)控中心、煙霧傳感器、門窗監(jiān)視器、警報(bào)器等對象,以及用戶編程控制、電話拔號、報(bào)警等操作。負(fù)責(zé)人應(yīng)要求小組成員對接收傳感器事件、用戶編程控制、電話報(bào)警等操作進(jìn)行更詳細(xì)的描述,必要(bìyào)時(shí)可用流程圖表示。第二十九頁,共131頁。2023/1/1329例家庭保安(bǎoān)系統(tǒng)用戶可能提出一些條件,如造價(jià)不能超過3,000元,對傳感器事件必須在1秒內(nèi)作出響應(yīng),事件必須按優(yōu)先級進(jìn)行處理等。會后小組負(fù)責(zé)人對這些信息進(jìn)行綜合、整理,形成文檔,該文檔應(yīng)能反映“家庭保安系統(tǒng)”的全貌。聯(lián)合小組分成兩個(gè)小組,分別處理用戶編程控制和傳感器監(jiān)測兩個(gè)子系統(tǒng)。目的是對子系統(tǒng)的軟件需求進(jìn)行細(xì)化。對出現(xiàn)的新對象、新操作、新約束應(yīng)及時(shí)(jíshí)添加到相應(yīng)的子系統(tǒng)。第三十頁,共131頁。2023/1/1330例家庭(jiātíng)保安系統(tǒng)確定子系統(tǒng)需求并形成文檔聯(lián)合(liánhé)小組討論子系統(tǒng)的集成及需求驗(yàn)證標(biāo)準(zhǔn)。子系統(tǒng)集成包括子系統(tǒng)接口的一致性檢查、系統(tǒng)功能和行為的完整性檢查。需求驗(yàn)證標(biāo)準(zhǔn)應(yīng)該是可測試的,以便開發(fā)人員在代碼生成后能夠通過測試結(jié)果向用戶表明軟件系統(tǒng)已完整地實(shí)現(xiàn)了用戶需求。初步分析活動應(yīng)形成結(jié)論性文檔,該文檔將作為后續(xù)分析活動的基礎(chǔ)。第三十一頁,共131頁。2023/1/1331例家庭保安(bǎoān)系統(tǒng)初步分析生成的“家庭保安系統(tǒng)”部分需求文檔(不包括約束條件和測試標(biāo)準(zhǔn))“家庭保安系統(tǒng)”的軟件允許用戶在安裝時(shí)進(jìn)行系統(tǒng)配置,實(shí)施對傳感器的監(jiān)控并通過(tōngguò)控制面板與用戶進(jìn)行信息交互。配置操作(1)指定每一傳感器的種類和編號;(2)設(shè)置開、關(guān)機(jī)密碼;(3)指定報(bào)警電話號碼;(4)指定報(bào)警延遲和電話重拔延遲時(shí)間(以秒為單位)。第三十二頁,共131頁。2023/1/1332例家庭(jiātíng)保安系統(tǒng)當(dāng)軟件系統(tǒng)接收到傳感器發(fā)出的數(shù)據(jù)后,判別是否出現(xiàn)異常事件。如果是,則在指定的延遲時(shí)間內(nèi)拔報(bào)警(bàojǐng)電話號碼,拔號操作將按照重拔延遲反復(fù)進(jìn)行,直至電話接通。然后軟件系統(tǒng)負(fù)責(zé)報(bào)告時(shí)間、地點(diǎn)和異常事件的性質(zhì)。開機(jī)后軟件系統(tǒng)負(fù)責(zé)顯示當(dāng)前工作狀態(tài),接收并處理用戶指令。第三十三頁,共131頁。2023/1/1333第5章軟件需求(xūqiú)分析5.1需求分析(fēnxī)概述5.2結(jié)構(gòu)化分析(fēnxī)方法5.3數(shù)據(jù)流圖的繪制5.4編制數(shù)據(jù)字典5.5加工邏輯的分析(fēnxī)與表達(dá)5.6需求驗(yàn)證與評審第三十四頁,共131頁。2023/1/1334什么(shénme)是結(jié)構(gòu)化方法?軟件工程方法論:面向(miànxiànɡ)對象方法論面向(miànxiànɡ)過程方法論——結(jié)構(gòu)化方法解決復(fù)雜問題的方法——分解面向(miànxiànɡ)對象——按“負(fù)責(zé)”分解問題,找承擔(dān)責(zé)任的對象結(jié)構(gòu)化方法——按“功能”分解問題,劃分模塊第三十五頁,共131頁。2023/1/13355.2結(jié)構(gòu)化分析方法(fāngfǎ)5.2.1結(jié)構(gòu)化分析的概念5.2.2細(xì)化數(shù)據(jù)(shùjù)流圖5.2.3數(shù)據(jù)(shùjù)流程圖應(yīng)用實(shí)例第三十六頁,共131頁。2023/1/13365.2.1結(jié)構(gòu)化分析的概念(gàiniàn)用一組標(biāo)準(zhǔn)的工具(gōngjù)和策略從事系統(tǒng)分析與設(shè)計(jì),以便提高系統(tǒng)分析與設(shè)計(jì)的質(zhì)量和效率第三十七頁,共131頁。2023/1/1337結(jié)構(gòu)化分析方法的直接目的就是撇開物理因素,在綜合分析用戶對系統(tǒng)各項(xiàng)要求的基礎(chǔ)上,最終導(dǎo)出新系統(tǒng)的邏輯模型。用數(shù)據(jù)流圖作為主要工具,進(jìn)一步審查用戶的真實(shí)(zhēnshí)需求和新系統(tǒng)必須完成的功能,逐步細(xì)化數(shù)據(jù)流圖,直到把“數(shù)據(jù)流”、“加工”和“數(shù)據(jù)存貯”分析分解到足夠具體為止,最終得到的就是系統(tǒng)的基于功能的邏輯模型。第三十八頁,共131頁。2023/1/1338在對數(shù)據(jù)細(xì)化的過程中,要建立數(shù)據(jù)字典,對“數(shù)據(jù)元素”、“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)流”、“數(shù)據(jù)存貯”和“加工”都要加以詳細(xì)的定義和注釋。加工的處理邏輯描述,還需要用到專門的分析(fēnxī)和表達(dá)工具:結(jié)構(gòu)式語言、判定樹和判定表等工具第三十九頁,共131頁。2023/1/1339綜上所述,結(jié)構(gòu)化系統(tǒng)分析的過程,大致歸納為以下(yǐxià)幾步:細(xì)化數(shù)據(jù)流圖(DFD),必要時(shí),對實(shí)時(shí)系統(tǒng)還要繪制控制流圖(CFD);編制數(shù)據(jù)字典;用戶復(fù)查;修正開發(fā)計(jì)劃;整理文檔;審查和復(fù)審。第四十頁,共131頁。2023/1/13405.2結(jié)構(gòu)化分析方法(fāngfǎ)5.2.1結(jié)構(gòu)化分析的概念5.2.2細(xì)化數(shù)據(jù)(shùjù)流圖5.2.3數(shù)據(jù)(shùjù)流程圖應(yīng)用實(shí)例第四十一頁,共131頁。2023/1/13415.2.2細(xì)化數(shù)據(jù)流圖1.沿?cái)?shù)據(jù)流圖回溯,挖掘(wājué)想要的內(nèi)容2.自頂向下逐層分析的分析策略第四十二頁,共131頁。2023/1/13421.沿?cái)?shù)據(jù)流圖回溯,挖掘(wājué)想要的內(nèi)容系統(tǒng)輸出的數(shù)據(jù)流是由哪些數(shù)據(jù)元素組成的?每個(gè)數(shù)據(jù)元素又是從哪里來的?對這些問題的回答,迫使我們必須從數(shù)據(jù)流圖的輸出端開始,沿?cái)?shù)據(jù)流的方向回溯。既然它們是系統(tǒng)的輸出,顯然(xiǎnrán)不是從外面輸入到系統(tǒng)中來的就是通過加工產(chǎn)生出來的。沿?cái)?shù)據(jù)流圖從輸出端向輸入端回溯,一定能夠找出每個(gè)數(shù)據(jù)元素的來源。同時(shí)確認(rèn)某個(gè)數(shù)據(jù)流是由某個(gè)加工產(chǎn)生的,就可以從用戶那里調(diào)查分析得到該加工的邏輯算法。第四十三頁,共131頁。2023/1/1343記住一個(gè)準(zhǔn)則:“數(shù)據(jù)流”一定是和“加工”有關(guān)聯(lián)(guānlián)的。一個(gè)數(shù)據(jù)流不是流入“加工”的就必然是從“加工”流出的,如圖5-1所示。圖5.1數(shù)據(jù)流與加工(jiāgōng)的關(guān)系第四十四頁,共131頁。2023/1/1344在調(diào)研階段產(chǎn)生的高層數(shù)據(jù)流圖,許多具體的細(xì)節(jié)沒有包括在里面,因此沿?cái)?shù)據(jù)流程回溯時(shí)常常遇到下述問題:為了得到某個(gè)數(shù)據(jù)元素需要用到數(shù)據(jù)流圖中目前還沒有的數(shù)據(jù)元素,或者得出這個(gè)數(shù)據(jù)元素需要用的算法尚不完全清楚。為了解決這些問題,往往需要向用戶和其他有關(guān)人員請教,他們(tāmen)的回答會使分析師對目標(biāo)系統(tǒng)的認(rèn)識更深入更具體,數(shù)據(jù)流圖中的更多的成分就可以被分解出來。第四十五頁,共131頁。2023/1/1345通常把分析過程中得到的有關(guān)數(shù)據(jù)元素的信息描述在數(shù)據(jù)字典中,把對算法的簡明描述記錄在IPO圖中(輸入/處理/輸出圖)。通過(tōngguò)挖掘分解出來的數(shù)據(jù)流、數(shù)據(jù)存貯和處理邏輯及時(shí)添加到數(shù)據(jù)流圖中,這就是細(xì)化的過程。第四十六頁,共131頁。2023/1/1346回溯數(shù)據(jù)流圖的過程中,還要掌握的另外一個(gè)原則(yuánzé)是:數(shù)據(jù)流程圖不可能一步細(xì)化到位,需要按照概括程度逐步細(xì)化,逐層分解。第四十七頁,共131頁。2023/1/13475.2.2細(xì)化數(shù)據(jù)流圖1.沿?cái)?shù)據(jù)流圖回溯,挖掘想要(xiǎnɡyào)的內(nèi)容2.自頂向下逐層分析的分析策略第四十八頁,共131頁。2023/1/13482.自頂向下逐層分析(fēnxī)的分析(fēnxī)策略在軟件工程中控制復(fù)雜性的兩個(gè)基本手段:“分解“和“抽象”。分析理解問題(wèntí)時(shí),一般不可能一步到位,分解可以“循序漸進(jìn)”地進(jìn)行,即先考慮問題(wèntí)最本質(zhì)的屬性和高度概括的情形,以后再逐層剖析內(nèi)部的細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容。這種用高度概括的手法,先把握主要的功能,忽略細(xì)節(jié),避免眉毛胡子一把抓的做法,就用到了“抽象”的手法。第四十九頁,共131頁。2023/1/1349在研究(yánjiū)用戶業(yè)務(wù)系統(tǒng)的數(shù)據(jù)流程時(shí),是以“功能”為對象進(jìn)行不同級別“抽象”的。在數(shù)據(jù)流圖的細(xì)化方面,把處理功能按抽象層次進(jìn)行逐層分解,把握好抽象的粒度,使其與層次對應(yīng)。第五十頁,共131頁。2023/1/1350圖5.2對數(shù)據(jù)流圖的分層分解(fēnjiě)第五十一頁,共131頁。2023/1/13515.2結(jié)構(gòu)化分析方法(fāngfǎ)5.2.1結(jié)構(gòu)化分析的概念5.2.2細(xì)化數(shù)據(jù)流圖5.2.3數(shù)據(jù)流程圖應(yīng)用(yìngyòng)實(shí)例第五十二頁,共131頁。2023/1/13525.2.3數(shù)據(jù)流程圖應(yīng)用(yìngyòng)實(shí)例某汽車配件公司設(shè)有銷售、采購、倉庫、會計(jì)等業(yè)務(wù)部門。公司每天都要處理大量的銷售訂單業(yè)務(wù)。當(dāng)配件缺貨或庫存量低于保險(xiǎn)貯備量時(shí),就要進(jìn)貨。如果(rúguǒ)暫不考慮配件公司內(nèi)部的倉庫和會計(jì)業(yè)務(wù)細(xì)節(jié),那么,配件公司的TOP圖,如5-3所示。第五十三頁,共131頁。2023/1/1353(1)銷售(xiāoshòu)子系統(tǒng)TOP圖——描述系統(tǒng)邊界圖5.4汽車配件銷售(xiāoshòu)、采購子系統(tǒng)TOP圖圖5.3汽車配件銷售業(yè)務(wù)系統(tǒng)(xìtǒng)TOP圖第五十四頁,共131頁。2023/1/1354(2)銷售(xiāoshòu)子系統(tǒng)第一層圖——反映主要功能第五十五頁,共131頁。2023/1/1355(3)銷售(xiāoshòu)子系統(tǒng)第二層圖——細(xì)化數(shù)據(jù)流圖第五十六頁,共131頁。2023/1/1356第5章軟件(ruǎnjiàn)需求分析5.1需求分析概述5.2結(jié)構(gòu)化分析方法(fāngfǎ)5.3數(shù)據(jù)流圖的繪制5.4編制數(shù)據(jù)字典5.5加工邏輯的分析與表達(dá)5.6需求驗(yàn)證與評審第五十七頁,共131頁。2023/1/13575.3.1數(shù)據(jù)流圖的布局(bùjú)為了便于制圖和讀圖,習(xí)慣以加工處理為中心,輸入來自左側(cè),輸出(shūchū)流向右側(cè)。輸入的“數(shù)據(jù)流”及其“來源”一般畫在左側(cè),如圖3-6從“顧客”發(fā)來“訂貨單”。輸出(shūchū)的數(shù)據(jù)流及其去處一般畫數(shù)據(jù)流圖的右側(cè)。如圖3-6中,“銷售報(bào)表”輸出(shūchū)到“主管”。從全局看“數(shù)據(jù)流”也是由左側(cè)流向右側(cè)第五十八頁,共131頁。2023/1/13585.3數(shù)據(jù)流圖的繪制(huìzhì)5.3.1數(shù)據(jù)流圖的布局5.3.2符號的應(yīng)用5.3.3避免線條交叉——重復(fù)項(xiàng)表示(biǎoshì)5.3.4抽象數(shù)據(jù)流的應(yīng)用5.3.5編號規(guī)則5.3.6命名規(guī)則5.3.7父圖與子圖的平衡第五十九頁,共131頁。2023/1/13595.3.2符號(fúhào)的應(yīng)用關(guān)于正規(guī)(zhèngguī)的符號、語義圖5.7數(shù)據(jù)流圖符號(fúhào)應(yīng)用第六十頁,共131頁。2023/1/13605.3數(shù)據(jù)流圖的繪制(huìzhì)5.3.1數(shù)據(jù)流圖的布局5.3.2符號的應(yīng)用5.3.3避免線條交叉——重復(fù)項(xiàng)表示5.3.4抽象數(shù)據(jù)流的應(yīng)用5.3.5編號規(guī)則(guīzé)5.3.6命名規(guī)則(guīzé)5.3.7父圖與子圖的平衡第六十一頁,共131頁。2023/1/13613.3.3避免線條(xiàntiáo)交叉——重復(fù)項(xiàng)表示第六十二頁,共131頁。2023/1/13623.3.3避免線條交叉——重復(fù)(chóngfù)項(xiàng)表示圖5.8避免線條(xiàntiáo)交叉的細(xì)法第六十三頁,共131頁。2023/1/13635.3數(shù)據(jù)流圖的繪制(huìzhì)5.3.1數(shù)據(jù)流圖的布局5.3.2符號的應(yīng)用5.3.3避免線條(xiàntiáo)交叉——重復(fù)項(xiàng)表示5.3.4抽象數(shù)據(jù)流的應(yīng)用5.3.5編號規(guī)則5.3.6命名規(guī)則5.3.7父圖與子圖的平衡第六十四頁,共131頁。2023/1/13645.3.4抽象(chōuxiàng)數(shù)據(jù)流的應(yīng)用圖5.9數(shù)據(jù)流的合并(hébìng)第六十五頁,共131頁。2023/1/1365圖5.10通過分解(fēnjiě)簡化數(shù)據(jù)流第六十六頁,共131頁。2023/1/13665.3數(shù)據(jù)流圖的繪制(huìzhì)5.3.1數(shù)據(jù)流圖的布局5.3.2符號的應(yīng)用(yìngyòng)5.3.3避免線條交叉——重復(fù)項(xiàng)表示5.3.4抽象數(shù)據(jù)流的應(yīng)用(yìngyòng)5.3.5編號規(guī)則5.3.6命名規(guī)則5.3.7父圖與子圖的平衡第六十七頁,共131頁。2023/1/13675.3.5編號(biānhào)規(guī)則在繪制數(shù)據(jù)流圖的過程中,外部(wàibù)項(xiàng)、處理邏輯、數(shù)據(jù)流和數(shù)據(jù)存貯都應(yīng)加以命名和編號,以便對其功能或組成能夠直觀的理解,尤其對于更細(xì)節(jié)的內(nèi)容,可以放在數(shù)據(jù)字典中詳細(xì)描述,以便查閱。第六十八頁,共131頁。2023/1/1368編號(biānhào)方法是用“層序號”P1.1——“編輯訂貨單”P1.1.1——“編輯檢查訂單”P1.1.2——“登記(dēngjì)新顧客信息”P1.3——“辦理發(fā)貨”P1.3.1——表示“開發(fā)貨單并修改庫存”P1.3.2——表示“記銷售帳”P1.3.3——表示“銷售統(tǒng)計(jì)”P1.3.4——表示“登記(dēngjì)新配件信息”P1.3.5——表示“生成編碼”第六十九頁,共131頁。2023/1/13695.3數(shù)據(jù)流圖的繪制(huìzhì)5.3.1數(shù)據(jù)流圖的布局5.3.2符號的應(yīng)用(yìngyòng)5.3.3避免線條交叉——重復(fù)項(xiàng)表示5.3.4抽象數(shù)據(jù)流的應(yīng)用(yìngyòng)5.3.5編號規(guī)則5.3.6命名規(guī)則5.3.7父圖與子圖的平衡第七十頁,共131頁。2023/1/13705.3.6命名(mìngmíng)規(guī)則①對數(shù)據(jù)流(或數(shù)據(jù)存貯)的命名:一般使用名詞。當(dāng)單個(gè)名詞尚不能說明特指數(shù)據(jù)流或數(shù)據(jù)存貯時(shí),前面可以加定語限定。②命名要代表整個(gè)數(shù)據(jù)流或數(shù)據(jù)存貯。因?yàn)橐粋€(gè)數(shù)據(jù)流或數(shù)據(jù)存貯往往是由一組數(shù)據(jù)元素組成的數(shù)據(jù)結(jié)構(gòu),不要僅使用反映其中某些元素的名子。③不要使用泛指的名字,如“數(shù)據(jù)”、“信息”、“單據(jù)”等。④如果在為某個(gè)數(shù)據(jù)流或數(shù)據(jù)存貯命名時(shí)感到相對(xiāngduì)困難,就有可能是因?yàn)閷?shù)據(jù)流或數(shù)據(jù)存貯分解的不恰當(dāng)造成的,試著重新分解,也許問題就解決了。第七十一頁,共131頁。2023/1/13715.3.6命名(mìngmíng)規(guī)則⑤對處理邏輯的命名:除了子系統(tǒng)級的邏輯功能可以使用名詞以外,原則上,其它功能邏輯習(xí)慣使用動賓結(jié)構(gòu)的短語命名,如“記銷售帳”“處理訂貨業(yè)務(wù)(yèwù)”等。⑥通常是,先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理功能命名。這樣命名比較容易。因?yàn)榇蠖鄶?shù)據(jù)功能都是針對輸入的數(shù)據(jù)流的。⑦如果某處命名有困難,可能是對處理功能分解不當(dāng)造成的,試著重新分解,也許問題注解決了。第七十二頁,共131頁。2023/1/13725.3數(shù)據(jù)流圖的繪制(huìzhì)5.3.1數(shù)據(jù)流圖的布局5.3.2符號的應(yīng)用(yìngyòng)5.3.3避免線條交叉——重復(fù)項(xiàng)表示5.3.4抽象數(shù)據(jù)流的應(yīng)用(yìngyòng)5.3.5編號規(guī)則5.3.6命名規(guī)則5.3.7父圖與子圖的平衡第七十三頁,共131頁。2023/1/13735.3.7父圖與子圖的平衡(pínghéng)對數(shù)據(jù)流程圖的擴(kuò)充應(yīng)注意父圖與子圖邊界的吻合。即所有(suǒyǒu)子圖邊界的疊加應(yīng)該與父圖描述的系統(tǒng)范圍一樣大。按經(jīng)驗(yàn)數(shù)據(jù),每張子圖分解出來的加工邏輯一般不要超過7到8個(gè),這樣可以保持整圖清晰,容易理解。如果過多,可能是分解過細(xì),應(yīng)考慮是否應(yīng)該再分解一層。第七十四頁,共131頁。2023/1/1374一、問題的描述在醫(yī)院ICU病房里,將病癥監(jiān)視器安置在每個(gè)病床(bìngchuáng),對病人進(jìn)行監(jiān)護(hù)。監(jiān)視器將病人的組合病癥信號實(shí)時(shí)地傳送到中央監(jiān)護(hù)系統(tǒng)進(jìn)行分析處理。在中心值班室里,值班護(hù)士使用中央監(jiān)護(hù)系統(tǒng)對病員的情況進(jìn)行監(jiān)控,監(jiān)護(hù)系統(tǒng)實(shí)時(shí)地將病人的病癥信號與標(biāo)準(zhǔn)的病診信號進(jìn)行比較分析,當(dāng)病癥出現(xiàn)異常時(shí),系統(tǒng)會立即自動報(bào)警,并打印病情報(bào)告和更新病歷。根據(jù)醫(yī)生的要求隨時(shí)打印病人的病情報(bào)告,系統(tǒng)還定期自動更新病歷。案例一醫(yī)院(yīyuàn)病房監(jiān)護(hù)系統(tǒng)第七十五頁,共131頁。2023/1/1375經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)。2、定時(shí)更新病歷(bìnglì)。3、病情出現(xiàn)異常情況時(shí)報(bào)警。4、隨機(jī)地產(chǎn)生某一病員的病情報(bào)告。例1:醫(yī)院病房(bìngfáng)監(jiān)護(hù)系統(tǒng)產(chǎn)生病情報(bào)告監(jiān)視(jiānshì)病情更新病歷請分析軟件系統(tǒng)需求!第七十六頁,共131頁。2023/1/13761.監(jiān)視病員的病癥?采集病癥信號(血壓、體溫、脈搏等)。?組合病癥信號。?將模擬病癥信號轉(zhuǎn)換為數(shù)字信號(A-D轉(zhuǎn)換)。2.定時(shí)更新病歷?將病癥信號進(jìn)行格式化并加入更新日期(rìqī)、時(shí)間。?更新病歷庫中病人的信息。?可人工設(shè)定更新病歷的時(shí)間間隔。二、系統(tǒng)功能(gōngnéng)需求—局部(júbù)監(jiān)視—更新日志第七十七頁,共131頁。2023/1/13773.病情出現(xiàn)異常情況時(shí)報(bào)警(bàojǐng)?根據(jù)標(biāo)準(zhǔn)病癥信號庫中的值,判斷是否報(bào)警(bàojǐng)。?將報(bào)警(bàojǐng)信號轉(zhuǎn)換為各種模擬信號(D-A轉(zhuǎn)換)。?實(shí)時(shí)打印病情報(bào)告,立即更新病歷。4.隨機(jī)地產(chǎn)生某一病員的病情報(bào)告二、系統(tǒng)(xìtǒng)功能需求—產(chǎn)生(chǎnshēng)病情報(bào)告第七十八頁,共131頁。2023/1/1378非功能(gōngnéng)需求1、監(jiān)視器與網(wǎng)絡(luò)的可靠性要求,涉及人的生命安全。2、效率需求(xūqiú)中對時(shí)間、空間的需求(xūqiú),所采集的病癥信號數(shù)據(jù)量大。3、互操作需求(xūqiú)—如要求監(jiān)視器采樣頻率可人工調(diào)整等。4、對病人病歷的隱私的要求。第七十九頁,共131頁。2023/1/1379病員護(hù)士護(hù)士病員監(jiān)護(hù)系統(tǒng)病員日志病癥信號要求報(bào)告病癥報(bào)告報(bào)警頂層DFD圖醫(yī)院病房(bìngfáng)監(jiān)護(hù)系統(tǒng)分層DFD圖頂層確定了系統(tǒng)(xìtǒng)的范圍,其外部實(shí)體為病員和護(hù)士護(hù)士(hùshi)病員護(hù)士第八十頁,共131頁。2023/1/1380第一層:病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)格式化病員數(shù)據(jù)生理信號極限值1324日志數(shù)據(jù)日志數(shù)據(jù)醫(yī)院病房監(jiān)護(hù)系統(tǒng)(xìtǒng)頂層DFD圖緊急報(bào)告第八十一頁,共131頁。2023/1/1381第二層:加工(jiāgōng)“中央監(jiān)視”分解醫(yī)院病房(bìngfáng)監(jiān)護(hù)系統(tǒng)二層DFD圖計(jì)算超過極限值否病員數(shù)據(jù)超過極限值報(bào)警開解信號產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫脈搏生理信號極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.13.23.33.4緊急報(bào)告第八十二頁,共131頁。2023/1/1382計(jì)算超過極限值否病員數(shù)據(jù)超過極限值報(bào)警開解信號產(chǎn)生報(bào)警信息病員極限格式化病員數(shù)據(jù)體溫血壓、體溫、脈搏生理信號極限值時(shí)間脈搏血壓日期時(shí)鐘格式化病員數(shù)據(jù)3.13.23.33.4第二層:加工“中央監(jiān)視”分解醫(yī)院(yīyuàn)病房監(jiān)護(hù)系統(tǒng)分層DFD圖第一層格式化病員數(shù)據(jù)生理信號極限值病員護(hù)士護(hù)士中央監(jiān)視病員日志病癥信號要求報(bào)告病癥報(bào)告報(bào)警局部監(jiān)視生成報(bào)告病員極限更新日志病員數(shù)據(jù)1324日志數(shù)據(jù)緊急(jǐnjí)報(bào)告緊急報(bào)告第八十三頁,共131頁。2023/1/1383第5章軟件(ruǎnjiàn)需求分析5.1需求分析概述5.2結(jié)構(gòu)化分析方法5.3數(shù)據(jù)流圖的繪制(huìzhì)5.4編制數(shù)據(jù)字典5.5加工邏輯的分析與表達(dá)5.6需求驗(yàn)證與評審第八十四頁,共131頁。2023/1/13845.4編制(biānzhì)數(shù)據(jù)字典在數(shù)據(jù)流圖中對一個(gè)數(shù)據(jù)流、數(shù)據(jù)存貯或加工只能標(biāo)明一個(gè)名字,沒有對這些元素的構(gòu)成細(xì)節(jié)、內(nèi)容、特性及加工過程詳細(xì)說明。分析人員僅靠“圖”來完整地理解一個(gè)系統(tǒng)的邏輯功能是不可能的。數(shù)據(jù)定典就是用來定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的工具,它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是“需求規(guī)格(guīgé)說明書”的主要組成部分。第八十五頁,共131頁。2023/1/13855.4編制(biānzhì)數(shù)據(jù)字典5.4.1定義數(shù)據(jù)的方法5.4.2數(shù)據(jù)字典的內(nèi)容(nèiróng)及格式第八十六頁,共131頁。2023/1/13865.4.1定義數(shù)據(jù)的方法(fāngfǎ)一般認(rèn)為,從數(shù)據(jù)的組成上看是自上而下的分解過程,一直分解的數(shù)據(jù)元素(yuánsù)。因此,在對數(shù)據(jù)注釋、說明和定義的時(shí)候,也采取自上而下的方法,符合人們檢索信息的習(xí)慣。當(dāng)數(shù)據(jù)被分解到不需要進(jìn)一步定義,每個(gè)與工程有關(guān)的人都清楚其含義時(shí),我們就把它看作是數(shù)據(jù)元素(yuánsù),分解過程到此就結(jié)束了。第八十七頁,共131頁。2023/1/1387由數(shù)據(jù)元素組成數(shù)據(jù)的方式只有如下三種基本類型:①順序以一定的順序連接兩個(gè)或多的元素;②選擇從兩個(gè)或多個(gè)可能的元素中選取一個(gè);③重復(fù)把指定的元素重復(fù)零次或多次。④可選理論上,可以使用上述三種關(guān)系定義數(shù)據(jù)字典(zìdiǎn)中的任何條目。因?yàn)?,?dāng)重復(fù)次數(shù)為0次或一次時(shí),就構(gòu)成了一種可有可無的可選關(guān)系。但由于“可選”是由數(shù)據(jù)元素組成數(shù)據(jù)的一種常見方式,把它單獨(dú)列為一種關(guān)系會使數(shù)據(jù)字典(zìdiǎn)的描述更清晰。第八十八頁,共131頁。2023/1/1388常用(chánɡyònɡ)的描述數(shù)據(jù)結(jié)構(gòu)的關(guān)系算符表5-1第八十九頁,共131頁。2023/1/13895.4編制(biānzhì)數(shù)據(jù)字典5.4.1定義數(shù)據(jù)的方法(fāngfǎ)5.4.2數(shù)據(jù)字典的內(nèi)容及格式第九十頁,共131頁。2023/1/13905.4.2數(shù)據(jù)字典(zìdiǎn)的內(nèi)容及格式1.數(shù)據(jù)流條目2.數(shù)據(jù)存儲條目3.數(shù)據(jù)項(xiàng)條目4.加工(jiāgōng)條件目第九十一頁,共131頁。2023/1/13911.數(shù)據(jù)流條目(tiáomù)數(shù)據(jù)流條目通常(tōngcháng)列出組成該數(shù)據(jù)流的數(shù)據(jù)項(xiàng)數(shù)。第九十二頁,共131頁。2023/1/1392(3)銷售(xiāoshòu)子系統(tǒng)第二層圖——細(xì)化數(shù)據(jù)流圖第九十三頁,共131頁。2023/1/1393數(shù)據(jù)流:訂單(dìnɡdān)名稱:訂單別名:無簡述:顧客(gùkè)訂貨時(shí)填寫的項(xiàng)目來源:顧客(gùkè)去向:加工1.1.1“編輯檢查訂單”數(shù)據(jù)流量:1000份/每周組成:編號+訂貨日期+顧客(gùkè)編號+地址+電話+銀行帳號+配件名稱+數(shù)量其中:數(shù)據(jù)流量指單位時(shí)間內(nèi)(每小時(shí)或每天)傳輸?shù)拇蔚诰攀捻?,?31頁。2023/1/1394(3)銷售(xiāoshòu)子系統(tǒng)第二層圖——細(xì)化數(shù)據(jù)流圖第九十五頁,共131頁。2023/1/13952.數(shù)據(jù)(shùjù)存儲條目名稱:庫存記錄別名:無簡述:存放配件庫存信息組成:配件編號+配件名稱+供應(yīng)商編號+單價(jià)+庫存量組織方式:索引文件,以配件編號為關(guān)鍵字查詢要求(yāoqiú):要求(yāoqiú)能立即查詢第九十六頁,共131頁。2023/1/1396(3)銷售(xiāoshòu)子系統(tǒng)第二層圖——細(xì)化數(shù)據(jù)流圖第九十七頁,共131頁。2023/1/13973.數(shù)據(jù)項(xiàng)條目(tiáomù)名稱(míngchēng):配件編號別名:配件號簡述:本公司的所有配件編號類型:字符型長度:10位取值范圍及含義:第1位:進(jìn)口/國產(chǎn)第2-4位:類別第5-7位:規(guī)格第8-10位:編號第九十八頁,共131頁。2023/1/13984.加工(jiāgōng)條件目由于(yóuyú)下層的加工是由上層的基本加工分解而來的,只要有了基本加工的說明,就可理解上層的加工。因此,只有把加工分解到足夠具體以后,才對基本加工進(jìn)行描述。具體格式(géshi)舉例如下第九十九頁,共131頁。2023/1/1399(3)銷售(xiāoshòu)子系統(tǒng)第二層圖——細(xì)化數(shù)據(jù)流圖第一百頁,共131頁。2023/1/13100名稱:確定能否供貨編號:1.2激發(fā)條件:收到合格訂單優(yōu)先級:普通輸入:合格訂單輸出:可供貨訂單、缺貨訂單加工(jiāgōng)邏輯:根據(jù)庫存記錄IF訂單項(xiàng)目的數(shù)量<該配件庫存量的臨界值 THEN可供貨處理ELSE此訂單缺貨,登記缺貨情況,待進(jìn)貨后再辦理補(bǔ)充訂貨EDNIF第一百零一頁,共131頁。2023/1/13101第5章軟件(ruǎnjiàn)需求分析5.1需求分析概述5.2結(jié)構(gòu)化分析方法5.3數(shù)據(jù)流圖的繪制5.4編制數(shù)據(jù)字典5.5加工邏輯的分析與表達(dá)(biǎodá)5.6需求驗(yàn)證與評審第一百零二頁,共131頁。2023/1/131025.5加工(jiāgōng)邏輯的分析與表達(dá)在數(shù)據(jù)流圖的分層細(xì)化的過程中,上層的處理功能逐步(zhúbù)被分解為下層的具體的加工。原則上,只要說明了底層的加工邏輯,也就可以理解上層的功能了。到設(shè)計(jì)階段以后,底層的加工說明,就是編程中算法的直接依據(jù)。第一百零三頁,共131頁。2023/1/13103“小說明”集中描述一個(gè)加工的內(nèi)部對數(shù)據(jù)是如何加工的,即描述加工邏輯。如,“計(jì)算實(shí)發(fā)工資”是一個(gè)加工,它的加工邏輯就是:實(shí)發(fā)工資=基本工資+應(yīng)補(bǔ)款-應(yīng)扣款。這種邏輯說明了輸入數(shù)據(jù)是如何轉(zhuǎn)變?yōu)檩敵鰯?shù)據(jù)的規(guī)則,這就是基本的算法。另外,再附帶說明一些與加工有關(guān)的信息,如執(zhí)行條件、優(yōu)先級、執(zhí)行頻率、出錯(cuò)(chūcuò)處理等。第一百零四頁,共131頁。2023/1/13104在對加工處理邏輯進(jìn)行分析表達(dá)時(shí),為了達(dá)到直觀、嚴(yán)謹(jǐn)、無二義性、不模糊,常需求借助一些工具。用于表示層次結(jié)構(gòu)關(guān)系的工具有:層次方框圖、Warnier圖;用于描述處理過程的有:IPO圖;用于描述條件判斷(pànduàn)的有:結(jié)構(gòu)式語言、判斷(pànduàn)樹、判斷(pànduàn)表。第一百零五頁,共131頁。2023/1/131055.5加工邏輯(luójí)的分析與表達(dá)5.5.1結(jié)構(gòu)式語言5.5.2判斷(pànduàn)表5.5.3判斷(pànduàn)樹5.5.4層次方框圖5.5.5Warnier圖第一百零六頁,共131頁。2023/1/13106結(jié)構(gòu)式語言是介于自然語言(英語或漢語)和形式語言之間的一種半形式語言。形式語言精確,但不易被理解;自然語言易理解,但不精確,可能產(chǎn)生二義性。結(jié)構(gòu)化語言取“長”補(bǔ)“短”,它是在自然語言基礎(chǔ)上加了一些限定,使用(shǐyòng)有限的詞匯和有限的語句來描述加工邏輯,它的結(jié)構(gòu)可分成外和內(nèi)兩層。第一百零七頁,共131頁。2023/1/131071.外層(wàicénɡ)外層用來描述控制結(jié)構(gòu),包括:順序結(jié)構(gòu)、判斷分支結(jié)構(gòu)和循環(huán)(重復(fù))結(jié)構(gòu)三種基本結(jié)構(gòu)。(1)順序結(jié)構(gòu):順序結(jié)構(gòu)使用一組祈使語句、判斷語句、重復(fù)語句的順序排列。祈使語句至少包含一個(gè)動詞及一個(gè)名詞,指出要執(zhí)行的動作及接受動作的對象(duìxiàng)。(2)判斷分支結(jié)構(gòu):一般用IF-THEN-ENDIF,CASEOFENDCASE等關(guān)鍵詞。(3)重復(fù)結(jié)構(gòu):一般用DO-WHILE-ENDDO,REPEAT-UNTIL等關(guān)鍵詞。第一百零八頁,共131頁。2023/1/131082.內(nèi)層(nèicénɡ)內(nèi)層一般是采用祈使語句,使用數(shù)據(jù)字典中的名詞和有限的自定義詞,其動詞含義(hányì)要具體,盡量不用形容詞和副詞來修飾。還可使用一些簡單的算述運(yùn)算和邏輯運(yùn)算符號。 例如,5.4.2中的“確定能否供貨”加工的描述,就使用了結(jié)構(gòu)式語言。第一百零九頁,共131頁。2023/1/13109名稱:確定能否供貨編號:1.2激發(fā)條件:收到合格訂單優(yōu)先級:普通輸入:合格訂單輸出:可供貨訂單、缺貨訂單加工邏輯:根據(jù)庫存記錄IF訂單項(xiàng)目的數(shù)量<該配件庫存量的臨界值THEN可供貨處理ELSE此訂單缺貨,登記缺貨情況,待進(jìn)貨后再辦理(bànlǐ)補(bǔ)充訂貨EDNIF第一百一十頁,共131頁。2023/1/131105.5加工(jiāgōng)邏輯的分析與表達(dá)5.5.1結(jié)構(gòu)式語言(yǔyán)5.5.2判斷表5.5.3判斷樹5.5.4層次方框圖5.5.5Warnier圖第一百一十一頁,共131頁。2023/1/131115.5.2判斷(pànduàn)表例如,某數(shù)據(jù)流圖中有一個(gè)“確定保險(xiǎn)類別”的加工,指的是申請汽車駕駛保險(xiǎn)時(shí),要根據(jù)申請者的情況,確定不同的保險(xiǎn)類別。此策略使用自然語言描述為:如果申請者的年齡在21歲以下,要額外收費(fèi);如果申請者是21歲以上,并是26歲以下的女性(nǚxìng),適用于A類保險(xiǎn);如果申請者是26歲以下的已婚男性,或者是26歲以上的男性,適用于B類保險(xiǎn);如果申請者是21歲以下的女性(nǚxìng),或是26歲以下的單身男性,適用于C類保險(xiǎn)。除此之外的其他申請者,都適用于A類保險(xiǎn)。第一百一十二頁,共131頁。2023/1/13112這段敘述使人不能較快地看懂該使用的策略原理,你也無法斷定(duàndìng),在上述敘述中,是否完全地包涵蓋了所有可能的情況。下面我們討論使用判定表來分析和描述第一百一十三頁,共131頁。2023/1/13113下面就分析該分配保險(xiǎn)的策略,構(gòu)造判定表。步驟如下: (1)提取問題中的條件:年齡、性別、婚否 (2)標(biāo)出條件的取值:為繪制判定表方便(fāngbiàn),用符號代替條件的取值,見表5-2。 (3)計(jì)算條件組合情況:年齡狀態(tài)數(shù)×性別狀態(tài)數(shù)×婚姻狀態(tài)數(shù)=3×2×2=12 (4)提取可能采取的動作或措施:包括A類保險(xiǎn)、B類保險(xiǎn)、C類保險(xiǎn)和客外收費(fèi)。 (5)制作判定表,如表5-3所示。第一百一十四頁,共131頁。2023/1/13114表5-2條件(tiáojiàn)取值表?xiàng)l件名取值符號條件狀態(tài)數(shù)年齡年齡≤21C321<年齡≤26Y年齡>

溫馨提示

  • 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

提交評論