第03章1結(jié)構(gòu)化分析與設(shè)計-分析_第1頁
第03章1結(jié)構(gòu)化分析與設(shè)計-分析_第2頁
第03章1結(jié)構(gòu)化分析與設(shè)計-分析_第3頁
第03章1結(jié)構(gòu)化分析與設(shè)計-分析_第4頁
第03章1結(jié)構(gòu)化分析與設(shè)計-分析_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章結(jié)構(gòu)化分析與設(shè)計——分析

在軟件的整個生命周期中,首先是軟件計劃期,接著是軟件開發(fā)期,軟件需求分析是軟件開發(fā)的第一個階段,也是關(guān)系到軟件開發(fā)成功與否的關(guān)鍵一步。本章的學(xué)習(xí)是基于已完成軟件計劃的基礎(chǔ)上進行的。

3.1需求分析的任務(wù)與步驟

3.2需求獲取的常用方法

3.3分析建模

3.4軟件需求說明

3.5結(jié)構(gòu)化分析方法

軟件需求分析——結(jié)構(gòu)化方法

軟件在需求分析和設(shè)計階段占用的工作量達到總工作量的40%~50%,說明軟件開發(fā)前期的活動多么重要。當(dāng)然這也包括分階段開發(fā)原型的開銷。大家熟悉的編碼工作只占全部工作量的10%~20%,而軟件測試和調(diào)試的工作量占到總工作量的30%~40%,甚至≥50%。3.1需求分析的任務(wù)與步驟3.1.1需求分析的任務(wù) 需求分析的任務(wù)就是準確地回答“系統(tǒng)必須做什么?”這個問題,是通過系統(tǒng)分析員與用戶一起商定,清晰、準確、具體地描述軟件產(chǎn)品必須具有的功能、性能、運行規(guī)格等要求。軟件需求分析階段的目的是澄清用戶的要求,并把雙方共同的理解明確地表達成一份書面文檔——軟件需求規(guī)格說明書。3.1需求分析的任務(wù)與步驟

需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型。主要有兩個任務(wù):1、建立分析模型——數(shù)據(jù)、功能和行為模型2、編寫需求說明書。

其實現(xiàn)模型如下圖所示:系統(tǒng)實現(xiàn)模型目標(biāo)系統(tǒng)當(dāng)前系統(tǒng)物理模型邏輯模型邏輯模型物理模型模型化抽象化實例化具體化理解需求表達需求導(dǎo)出做什么怎么做1.分析建模導(dǎo)出目標(biāo)系統(tǒng)邏輯模型的例子:

找出當(dāng)前系統(tǒng)的物理模型學(xué)生張秘書王會計李出納趙保管學(xué)生學(xué)生購買教材的物理模型購書申請購書證明購書發(fā)票領(lǐng)書單書導(dǎo)出目標(biāo)系統(tǒng)邏輯模型的例子把當(dāng)前系統(tǒng)的物理模型轉(zhuǎn)換為邏輯模型學(xué)生審查有效性開發(fā)票開領(lǐng)書單發(fā)書學(xué)生購書單有效購書單領(lǐng)書單書發(fā)票學(xué)生購買教材的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型的例子把舊系統(tǒng)的邏輯模型轉(zhuǎn)換為目標(biāo)系統(tǒng)邏輯模型學(xué)生審查并開發(fā)票開領(lǐng)書單發(fā)書學(xué)生購書單發(fā)票領(lǐng)書單書計算機售書系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型的例子改進(優(yōu)化)目標(biāo)系統(tǒng)邏輯模型學(xué)生審查并開發(fā)票開領(lǐng)書單學(xué)生購書單發(fā)票領(lǐng)書單改進了的計算機售書系統(tǒng)模型無效書單分析階段中常用的模型(邏輯模型)數(shù)據(jù)流圖(DFD)實體―聯(lián)系圖(ERD)層次方框圖、IPO圖、Warnier圖類圖、實例圖、時序圖狀態(tài)圖、協(xié)作圖、活動圖事件列表數(shù)據(jù)流定義數(shù)據(jù)元素定義

……3.1需求分析的任務(wù)與步驟2.編寫軟件需求規(guī)格說明:主要包括描述目標(biāo)系統(tǒng)概貌、功能要求、性能要求、運行要求和將來可能提出的要求。數(shù)據(jù)流圖、用IPO圖或其他工具簡要描述的系統(tǒng)主要算法都是該份文擋的重要組成部分。此外,該份文檔還應(yīng)包括用戶需求與系統(tǒng)功能之間的關(guān)系、設(shè)計約束等等文字描述。軟件需求規(guī)格說明是需求分析階段的最終成果。3.1需求分析的任務(wù)與步驟準確、完整和規(guī)范的軟件需求是軟件開發(fā)成功的關(guān)鍵!需求分析的任務(wù)建立分析模型

描述軟件需求的一組模型精確記錄用于對原始問題和目標(biāo)系統(tǒng)的描述幫助分析人員發(fā)現(xiàn)用戶需求中的不一致性,排除不合理的部分,挖掘潛在的用戶需求編寫需求說明應(yīng)做到準確性和一致性清晰性和沒有二義性直觀、易讀和易于修改案例分析一個具有n部電梯的電梯系統(tǒng)要安裝在一座m層的大樓上。電梯和控制機構(gòu)已造好。每個電梯的內(nèi)部機構(gòu)也已給定。問題涉及電梯在樓層間移動的邏輯:(1)每座電梯有一套按鈕,每層一個。按鈕按下時使鈕燈變亮,并使電梯達到相應(yīng)的樓層。當(dāng)電梯到達相應(yīng)的樓層時按鈕燈熄滅。案例分析(2)除了底層和頂層外,每層都有兩個按鈕,一個按鈕請求電梯上升,另一個按鈕請求電梯下降。這些按鈕在按下時按鈕燈亮。電梯到達指定樓層后按鈕燈熄滅,然后要么朝期望的方向移動,要么請求等待。在后一種情況下,如果一個樓層上的兩個請求按鈕都按下,則只取消其中一個按鈕。決定先服務(wù)哪一層的算法應(yīng)當(dāng)使兩個請求的等待時間最小。案例分析(3)當(dāng)一個電梯沒有服務(wù)請求時,應(yīng)當(dāng)停留在最終的目的地,關(guān)上電梯門,并等待后面的請求。(4)樓層上所有電梯請求必須最終得到服務(wù),并且所以樓層具有相同的優(yōu)先權(quán)。(5)電梯內(nèi)所有樓層的請求必須最終得到服務(wù),各層按電梯移動方向先后得到服務(wù)。(6)每個電梯有一個緊急按鈕。按下該按鈕時,將使一個報警信號發(fā)送到現(xiàn)場管理人員,然后強制電梯“停止服務(wù)”。每一個電梯有一個取消其“停止服務(wù)”狀態(tài)的機制。電梯狀態(tài)轉(zhuǎn)換圖舉例在一樓上升停滯下降回到一樓回一樓想要到達樓層想要到達樓層電梯行程開始向上向上向下案例分析需求分析的步驟1.需求獲取目的:清楚地理解所要解決的問題;完整地獲取用戶需求2.需求提煉任務(wù):分析建模3.需求描述結(jié)果:軟件需求說明書4.需求驗證改善需求說明的完整性,確保他可作為軟件設(shè)計和系統(tǒng)驗收的依據(jù)。3.2需求獲取的常用方法聯(lián)合分析小組

用戶代表、領(lǐng)域?qū)<液拖到y(tǒng)分析員客戶訪談

充分準備,尋找共同語言

循循序漸進、逐步逼近

問題分析與確認

多個來回調(diào)研問卷部分的名稱、人員數(shù)量和結(jié)構(gòu)部分發(fā)展或變化簡單介紹部分的主要任務(wù)業(yè)務(wù)處理流程業(yè)務(wù)處理過程中涉及哪些專業(yè)領(lǐng)域的知識工作需要的審批流程是什么?主要算法描述哪些業(yè)務(wù)需要實時處理?哪些業(yè)務(wù)需要交互操作?部門各崗位的職責(zé)部門接受哪些部門或外界的信息?信息的內(nèi)容和格式是什么?部門產(chǎn)生哪些信息?部門產(chǎn)生的信息送到哪些其他部門?格式要求是什么?對信息的輸入和輸出方式有要求嗎?輸入輸出設(shè)備是什么?數(shù)據(jù)要求實時備份嗎?備份的設(shè)備是什么?時間策略?業(yè)務(wù)處理有高峰期嗎?高峰時間是什么?時間策略?現(xiàn)有的哪些設(shè)備要繼續(xù)使用?對產(chǎn)品的運行環(huán)境有要求嗎?對界面風(fēng)格和操作方式有要求嗎?在系統(tǒng)運行過程中允許停機嗎?操作方式要根據(jù)操作環(huán)境和使用人員素質(zhì)分類嗎?需要的操作權(quán)限有哪些?需要記錄系統(tǒng)操作運行日志嗎?用戶有能力進行系統(tǒng)維護嗎?需要分布式處理嗎?需要什么方式的用戶操作培訓(xùn)。需要制作聯(lián)機幫助嗎?案例用戶提出某種需求:水的質(zhì)量信息必須立即能夠顯示出來。分析員更準確的描述:水的質(zhì)量記錄必須在接到請求信號的5秒內(nèi)顯示出來。需求獲取的三大挑戰(zhàn)問題空間的理解人與人之間的通信需求的不斷變化某出版社系統(tǒng)調(diào)查表編號提出問題1您在哪個部門工作?2出版業(yè)務(wù)流程是什么?3您每日都處理那些文件、數(shù)據(jù)、報表?4工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問題解決不了?影響效率的問題有哪些?6您認為提高工作效率,節(jié)省工作時間,減輕工作強度可采取哪些辦法?某出版社系統(tǒng)調(diào)查表編號提出問題7您的部門需要成本核算和統(tǒng)計的內(nèi)容有哪些?8您的部門采用計算機管理工作情況如何?9如何改進業(yè)務(wù)流程使之更合理?10哪些問題是目前傳統(tǒng)手工方法根本無法解決的?11出版社計算機管理信息系統(tǒng)需要解決什么問題?需求獲取的內(nèi)容1.用戶需求分類

(1)功能性需求:

定義了系統(tǒng)做什么(描述系統(tǒng)必須支持的功能和過程)

(2)非功能性需求(技術(shù)需求):

定義了系統(tǒng)工作時的特性(描述操作環(huán)境和性能目標(biāo))2.兩類需求包括的內(nèi)容(1)功能(2)性能(3)環(huán)境(4)界面(5)用戶或人的因素(6)文檔(7)數(shù)據(jù)(8)資源(9)安全保密(10)軟件成本消耗與開發(fā)進度(11)質(zhì)量保證(1)功能需求

系統(tǒng)做什么?系統(tǒng)何時做什么?系統(tǒng)何時及如何修改或升級?(2)性能需求軟件開發(fā)的技術(shù)性指標(biāo)例如:存儲容量限制執(zhí)行速度、相應(yīng)時間吞吐量(3)環(huán)境需求硬件設(shè)備:機型、外設(shè)、接口、地點、分布、溫度、濕度、磁場干擾等軟件:操作系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫(4)界面需求

有來自其它系統(tǒng)的輸入嗎?到自其它系統(tǒng)的輸出嗎?對數(shù)據(jù)格式有規(guī)定嗎?對數(shù)據(jù)存儲介質(zhì)有規(guī)定嗎?(5)用戶或人的因素

用戶類型?各種用戶熟練程度?需受何種訓(xùn)練?用戶理解、使用系統(tǒng)的難度?用戶錯誤操作系統(tǒng)的可能性?(6)文檔需求

需哪些文檔?文檔針對哪些讀者?(7)數(shù)據(jù)需求

輸入、輸出數(shù)據(jù)的格式?接收、發(fā)送數(shù)據(jù)的頻率?數(shù)據(jù)的準確性和精度?數(shù)據(jù)流量?數(shù)據(jù)需保持的時間?(8)資源需求

軟件運行時所需的數(shù)據(jù)、軟件。內(nèi)存空間等資源。軟件開發(fā)、維護所需的人力、支撐軟件、開發(fā)設(shè)備等。(9)安全保密要求

需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎?如何隔離用戶之間的數(shù)據(jù)?用戶程序如何與其它程序和操作系統(tǒng)隔離?系統(tǒng)備份要求?(10)軟件成本消耗與開發(fā)進度需求開發(fā)有規(guī)定的時間表嗎?軟硬件投資有無限制?(11)質(zhì)量保證

系統(tǒng)的可靠性要求?系統(tǒng)必須監(jiān)測和隔離錯誤嗎?規(guī)定系統(tǒng)平均出錯時間?出錯后,重啟系統(tǒng)允許的時間?系統(tǒng)變化如何反映到設(shè)計中?維護是否包括對系統(tǒng)的改進?系統(tǒng)的可移植性?3.3分析建模所謂模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。簡單地說,模型就是某一事物的抽象表示方式。經(jīng)過軟件的需求分析建立起來的模型可以稱之為分析模型或者需求模型。3.3分析建模需求分析模型:數(shù)據(jù)字典數(shù)據(jù)模型功能模型行為模型功能模型功能模型可以用數(shù)據(jù)流圖(DFD)描述,所以又稱為數(shù)據(jù)流模型。下面是數(shù)據(jù)流圖的基本形式:3變換4變換1變換2變換外部實體外部實體外部實體外部實體數(shù)據(jù)文件輸入數(shù)據(jù)中間數(shù)據(jù)輸出數(shù)據(jù)學(xué)生1審查開發(fā)票2開領(lǐng)書單學(xué)生購書單發(fā)票領(lǐng)書單計算機售書系統(tǒng)的數(shù)據(jù)流圖無效書單各班學(xué)生用書表教材存量表數(shù)據(jù)模型

包含有3種相關(guān)的信息:(1)數(shù)據(jù)對象數(shù)據(jù)對象是幾乎所有必須被軟件理解的復(fù)合信息的表示。它只封裝數(shù)據(jù),不包含作用于對象的操作。(2)屬性屬性定義了數(shù)據(jù)對象的性質(zhì)。(3)關(guān)系數(shù)據(jù)對象彼此之間是有關(guān)聯(lián)的,也稱為關(guān)系。數(shù)據(jù)模型

數(shù)據(jù)模型常常用“實體-關(guān)系圖(ERD)”來描述。

ERD包含3種基本元素,即實體、屬性和關(guān)系。通常,用矩形表示即數(shù)據(jù)對象,用圓角矩形或橢圓形表示實體的屬性,用菱形連接相關(guān)實體表示關(guān)系。下圖是一個簡化的教學(xué)管理ERD:性別職稱姓名教工號姓名性別系學(xué)號年級課程號課程名學(xué)時學(xué)分課程教師學(xué)生教學(xué)行為模型行為模型常用狀態(tài)轉(zhuǎn)換圖(簡稱狀態(tài)圖)來描述,它又稱為狀態(tài)機模型。狀態(tài)圖中的基本元素有事件、狀態(tài)和行為等。

系統(tǒng)的狀態(tài)機模型可以理解為在任一個時刻,系統(tǒng)處于有限可能的狀態(tài)中的一個狀態(tài),當(dāng)某一個激勵(條件)到達時,它激發(fā)系統(tǒng)從一個狀態(tài)轉(zhuǎn)換到另一個新狀態(tài)。下面是電話系統(tǒng)的狀態(tài)圖:閑置撥號音do:響撥號音超時do:響蜂鳴音存儲的信息do:播放信息接通中do:試接通振鈴do:振鈴撥號通話斷線忙音do:響忙音掛斷電話掛斷電話拿起話筒超時無效號碼有效號碼超時數(shù)字數(shù)字占線已接通受話人回話受話人掛斷電話信息播完數(shù)據(jù)字典數(shù)據(jù)字典(DataDictionary)用于描述軟件系統(tǒng)中使用或者產(chǎn)生的每一個數(shù)據(jù)元素,是系統(tǒng)數(shù)據(jù)信息定義的集合。數(shù)據(jù)字典的作用,就是對軟件中的每個數(shù)據(jù)規(guī)定一個定義條目,以保持數(shù)據(jù)在系統(tǒng)中的一致性。軟件中的數(shù)據(jù),可分為三種情況:①只含一個數(shù)據(jù)的數(shù)據(jù)項(或數(shù)據(jù)元素);②由多個相關(guān)數(shù)據(jù)項組成的數(shù)據(jù)流;③數(shù)據(jù)文件或數(shù)據(jù)庫。數(shù)據(jù)流“發(fā)票”的字典條目數(shù)據(jù)流名:發(fā)票別名:購書發(fā)票組成:學(xué)號+姓名+{書號+單價+數(shù)量+總價}+書費合計備注:數(shù)據(jù)字典的例子3.3分析建模下面介紹兩種需求模型:結(jié)構(gòu)化分析模型和面向?qū)ο蠓治瞿P头治瞿P兔枋龉ぞ逥FD、DD和PSPECCFD、CSPEC和STDE-R圖用例圖對象-關(guān)系圖:類、對象、構(gòu)建等圖對象-行為圖:狀態(tài)、時序、協(xié)作、活動等圖結(jié)構(gòu)化分析模型數(shù)據(jù)對加工象說明說明

控制說明E-R圖DFD圖STD圖DD數(shù)據(jù)模型功能模型行為模型面向?qū)ο蠓治瞿P蛯傩?、操作、協(xié)作者類/對象對象-關(guān)模型系模型對象-行為模型使用實例功能模型行為模型數(shù)據(jù)模型(靜態(tài))(靜態(tài))(動態(tài))分析模型描述工具結(jié)構(gòu)化分析工具DFD、DD和PSPEC(加工說明)——基本組成CFD、CSPEC(控制說明)和STD——擴展E-R圖——擴展(復(fù)雜數(shù)據(jù)結(jié)構(gòu)可以使用)面向?qū)ο蠓治龉ぞ哂美龍D,類對象圖對象-關(guān)系圖對象-行為圖1.數(shù)據(jù)流圖(DFD)飛機票預(yù)訂系統(tǒng)數(shù)據(jù)流圖1.數(shù)據(jù)流圖(DFD)數(shù)據(jù)流圖——他以圖形的方式反映系統(tǒng)的數(shù)據(jù)流程由四種基本元素組成,代表符號和名稱:加工名編號加工名編號文件名文件名數(shù)據(jù)流

加工、處理或變換數(shù)據(jù)文件或數(shù)據(jù)庫數(shù)據(jù)原點或終點文件名實體名顧客出版社驗證訂單匯總訂單訂單出版社訂單圖書目錄文件顧客檔案待處理訂單文件正確訂單一批訂單出版社檔案文件訂貨存根文件DFD圖的例子1.數(shù)據(jù)流圖(DFD)描述系統(tǒng)邏輯模型信息在系統(tǒng)中的流動和處理用途交流信息的工具結(jié)構(gòu)化分析和設(shè)計的工具

一家工廠的采購部每天需要一張訂貨報表,報表按零件編號排序,表中列出所有需要再次訂貨的零件。對于每個需要再次訂貨的零件應(yīng)該列出下述數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報告結(jié)訂貨系統(tǒng)。當(dāng)某種零件的庫存數(shù)量少于庫存量臨界值時就應(yīng)該再次訂貨。案例由文字描述畫出數(shù)據(jù)流圖由文字描述畫出數(shù)據(jù)流圖采購員訂貨系統(tǒng)事務(wù)訂貨報表訂貨系統(tǒng)數(shù)據(jù)流程圖倉庫保管員由系統(tǒng)調(diào)查畫出數(shù)據(jù)流圖會計處理原始數(shù)據(jù)賬簿、報表會計信息系統(tǒng)數(shù)據(jù)流程圖領(lǐng)書單

進書通知

購書單

缺書單

DFD練習(xí)—售書系統(tǒng)學(xué)生教材購銷系統(tǒng)書庫保管員領(lǐng)書單進書通知

進書通知

購書單缺書單

DFD練習(xí)—售書系統(tǒng)1銷售2采購書庫保管員學(xué)生F1教材存量表

F2缺書登記表

2.數(shù)據(jù)字典(DD)定義:數(shù)據(jù)詞典——是描述數(shù)據(jù)信息的集合,它對數(shù)據(jù)流圖中的各個元素按規(guī)定格式進行詳細的描述和確切的解釋,是數(shù)據(jù)流圖的補充工具。數(shù)據(jù)流圖與數(shù)據(jù)字典構(gòu)成了系統(tǒng)邏輯模型的主體。2.數(shù)據(jù)字典(DD)

數(shù)據(jù)字典的作用,就是對軟件中的每個數(shù)據(jù)規(guī)定一個定義條目,以保持數(shù)據(jù)在系統(tǒng)中的一致性。軟件中的數(shù)據(jù),可分為三種情況:①由多個相關(guān)數(shù)據(jù)項組成的數(shù)據(jù)流;②數(shù)據(jù)文件或數(shù)據(jù)庫;③只含一個數(shù)據(jù)的數(shù)據(jù)項(或數(shù)據(jù)元素)。DFD中所有數(shù)據(jù)元素的定義集合①數(shù)據(jù)流——例:發(fā)票②數(shù)據(jù)文件——例:各班學(xué)生用書表③學(xué)生購書數(shù)量數(shù)據(jù)項——例:數(shù)量三種數(shù)據(jù)字典分別表達如下:學(xué)生1審查開發(fā)票2開領(lǐng)書單學(xué)生購書單發(fā)票領(lǐng)書單計算機售書系統(tǒng)的數(shù)據(jù)流圖:無效書單各班學(xué)生用書表教材存量表數(shù)據(jù)流“發(fā)票”的字典條目數(shù)據(jù)流名:發(fā)票別名:購書發(fā)票組成:學(xué)號+姓名+{書號+單價+數(shù)量+總價}+書費合計備注:數(shù)據(jù)字典——數(shù)據(jù)流數(shù)據(jù)文件“各班學(xué)生用書表”的字典條目文件名:各班學(xué)生用書表別名:組成:{系編號+專業(yè)和班編號+年級+{書號}}組織:按系、專業(yè)和班編號從小到大排列備注:數(shù)據(jù)字典——數(shù)據(jù)文件數(shù)據(jù)項“數(shù)量”的字典條目數(shù)據(jù)項名:數(shù)量別名:購書量取值:正整數(shù)備注:數(shù)據(jù)字典——數(shù)據(jù)項一般的“數(shù)據(jù)流”字典條目應(yīng)包含以下內(nèi)容:數(shù)據(jù)流名:別名(編號):描述:組成(定義):來源與去處:頻率、數(shù)據(jù)量、取值范圍等:…備注:數(shù)據(jù)字典——數(shù)據(jù)流應(yīng)包含的內(nèi)容數(shù)據(jù)字典——數(shù)據(jù)文件應(yīng)包含的內(nèi)容一般的“數(shù)據(jù)文件”字典條目應(yīng)包含以下內(nèi)容:數(shù)據(jù)文件名:關(guān)鍵碼:描述:組成(定義):存儲方式:存儲頻率、數(shù)據(jù)量、取值范圍等:…(如安全要求等)備注:數(shù)據(jù)字典——數(shù)據(jù)項應(yīng)包含的內(nèi)容一般的“數(shù)據(jù)項”字典條目應(yīng)包含以下內(nèi)容:數(shù)據(jù)項名:別名:描述:數(shù)據(jù)類型:長度(精度):取值范圍、缺省值等:…(如計量單位等)備注:還可以采用類似公式定義式,(似P41例3.6)例如:航班信息文件={航空公司名稱+航班號+起點+終點+日期+起飛時間+降落時間}航空公司名稱=2{字母}4

航班號=3{十進制數(shù)字}3

字母=“A”…“Z”十進制數(shù)字=“0”…“9”起點=終點=1{漢字}10

起飛時間=降落時間=時+分時=“00”…“23”

分=“00”…“59”

日期=年+月+日年=[2000|2001|2002|2004]

月=“01”…“12”

日=“01”…“31”對數(shù)據(jù)項的數(shù)據(jù)描述還可以采用以下的方式:名稱別名類型長度備注姓名XM字符8存款日期CKRQ日期金額JE數(shù)字8,2身份證號SFZH字符16類別LB字符2取款日期QKRQ日期利息LX數(shù)字8,2利息稅LXS數(shù)字8,2數(shù)據(jù)字典實現(xiàn)數(shù)據(jù)字典的途徑目前實現(xiàn)數(shù)據(jù)字典有三種途徑:全人工過程利用數(shù)據(jù)字典處理程序的全自動化過程用正文編輯程序報告生成程序等已有的實用程序幫助人工過程的混合過程。3.加工說明加工說明(PSPEC)說明DFD中的每個加工,加工邏輯說明描述實現(xiàn)加工的策略,是加工說明的主體。在需求分析階段,策略僅需要指出“做什么”,而不管“怎么做”!3.加工說明加工說明(PSPEC)的描述工具有:結(jié)構(gòu)化語言判定表或判定樹層次方框圖Warnier圖IPO圖等等(1)結(jié)構(gòu)化語言

自然語言加上結(jié)構(gòu)化的形式,就是結(jié)構(gòu)化語言。借用結(jié)構(gòu)化語言的控制結(jié)構(gòu)描述加工。結(jié)構(gòu)化語言的特點:無確定語法可分層、嵌套加工名:核實訂票處理編號:3.2激活條件:收到取訂票信息處理邏輯:1讀訂票旅客信息文件

2搜索此文件中是否有與輸入信息中姓名及身份證號相符的項

IF

THEN

判斷余項是否與文件中信息相符

IF

是THEN

輸出已訂票信息

ELSE

輸出未訂票信息

ELSE

輸出未訂票信息執(zhí)行頻率:實時例:用結(jié)構(gòu)化語言描述加工(2)判定表或判定樹判定表采用表格的形式描述加工邏輯,他適合于描述包含復(fù)雜判斷的加工處理。判定樹采用樹形圖的形式描述加工邏輯,他同樣適合于描述包含復(fù)雜判斷的加工處理。他是判定表的圖形表示。

一般情況下,兩者選用其一。判定(決策)樹實例

判定樹描述有多個行為需要選擇的過程。判定樹由一組表示條件的節(jié)點,和無標(biāo)記邊組成。判定樹示意圖

邏輯功能名

條件1

條件2

條件1.2

條件1.1

行為1

行為2

條件2.1

條件2.2

行為3

行為4

條件2.2.2

條件2.2.1

行為5判定樹實例豪華型

選擇包裝箱

中速車

高速車豪華型標(biāo)準型標(biāo)準型

使用1號包裝箱

使用2號包裝箱

使用3號包裝箱

使用4號包裝箱判定(決策)樹實例判定樹還有另一種形式:“T”表示“真”,條件成立;“F”表示“假”,條件不成立。判定樹的另一種形式

決策樹形式簡單,易于掌握和使用,并適合于與用戶討論。豪華型

中速車T標(biāo)準型

使用1號包裝箱

使用2號包裝箱

使用4號包裝箱

使用3號包裝箱TTFFF判定(決策)表實例判定表(1)豪華型中速車T

使用1號包裝箱

使用2號包裝箱

使用3號包裝箱

使用4號包裝箱TTFFFFT√√√√判定(決策)表實例判定表(2)

層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹形結(jié)構(gòu)的頂層是一個單獨的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個數(shù)據(jù)的子集,最底層的各個框代表組成這個數(shù)據(jù)的實際數(shù)據(jù)元素(不能再分割的元素)。

例如,描繪一家計算機公司全部產(chǎn)品的數(shù)據(jù)結(jié)構(gòu)可以用圖2.15中的層次方框圖表示。層次方框圖的一個例子(3)層次方框圖(4)Warnier圖

法國計算機科學(xué)家Warnier提出了表示信息層次結(jié)構(gòu)的另外一種圖形工具。和層次方框圖類似,Warnier圖也用樹形結(jié)構(gòu)描繪信息,但是這種圖形工具比層次方框圖提供了更豐富的描繪手段。用Warnier圖可以表明信息的邏輯組織,也就是說,它可以指出一類信息或一個信息量是重復(fù)出現(xiàn)的,也可以表示特定信息在某一類信息中是有條件地出現(xiàn)的。因為重復(fù)和條件約束是說明軟件處理過程的基礎(chǔ),所以很容易把Warnier圖轉(zhuǎn)變成軟件設(shè)計的工具。

(4)Warnier圖

下圖是用Warnier圖描繪一類軟件產(chǎn)品的例子,它說明了這種圖形工具的用法。Warnier圖的一個例子IPO(Input-Process-OutputChatr)圖IPO圖是輸入/處理/輸出圖的簡稱,它是美國IBM公司發(fā)展完善起來的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、對數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。用IPO圖描繪主文件更新功能右圖是一個主文件更新的例子,通過這個例子不難了解IPO圖的用法。

建議使用一種改進的IPO圖(也稱為IPO表),這種圖中包含某些附加信息,在軟件設(shè)計過程中將比原始的IPO圖更有用。如下圖所示,改進的IPO圖中包含的附加信息,主要有系統(tǒng)名稱,圖的作者,完成本圖的日期,本圖描述的模塊的名字,模塊在層次圖中的編號,調(diào)用本模塊的模塊清單,本模塊調(diào)用的模塊的清單,注釋,以及本模塊使用的局部數(shù)據(jù)元素等。在需求分析階段可以使用IPO圖簡略地描述數(shù)據(jù)流圖中各個處理的基本算法(著重說明處理功能而不是具體實現(xiàn)功能的算法)。當(dāng)然,在需求分析階段,IPO表中的許多附加信息暫時還不具備。但是,在軟件設(shè)計階段可以進一步補充、修正這些表,繼續(xù)作為設(shè)計階段的文檔。這正是在需求分析階段用IPO表作為描述基本算法的工具的重要優(yōu)點。改進的IPO圖的形式改進的IPO圖的例子財務(wù)管理系統(tǒng)2.1客房帳目管理2.1.1客人入住登記查詢處理2.1.1.1.1退房登記查詢處理2.1.1.1.2客房結(jié)算處理

2.1.1.2客房帳目查詢2.1.1.1客人客房結(jié)算2.1.1.2.1客房日結(jié)算2.1.1.2.2改進的IPO圖的例子系統(tǒng):財務(wù)管理系統(tǒng)作者:XXX模塊:客房帳目管理

日期:2006/03/15編號:2.1.1注釋:被調(diào)用:財務(wù)管理系統(tǒng)調(diào)用:客房結(jié)算管理有效性檢驗、客人入住信息查詢處理、客人退房信息查詢處理輸入:系統(tǒng)當(dāng)前時間、客人入住信息、客人退房信息、客人入住登記查詢請求、。退房登記查詢請求。輸出:非法信息、客人入住登記查詢結(jié)果、退房登記查詢結(jié)果、客人住宿結(jié)算表、客房日結(jié)算表局部數(shù)據(jù)元素:4.CFD和CSPEC適合實時系統(tǒng)的分析與DFD和PSPEC類似和DFD與PSPEC配合使用表示控制流和控制加工控制流圖與控制說明通常與DFD配合使用描述模型。CFD和DFD的關(guān)系

數(shù)據(jù)條件加工激活信號控制輸出輸入數(shù)據(jù)

加工模型PSPEC

控制模型CSPEC輸出數(shù)據(jù)

控制輸入(1)CFD的符號組成與表示控制信息或事件引用控制說明(2)CFD的建立

對于那些由事件驅(qū)動而不是數(shù)據(jù)驅(qū)動,產(chǎn)生的是控制信息而不是數(shù)據(jù)值,以及處理信息時必須依賴于時間的應(yīng)用,只建立數(shù)據(jù)流模型是不夠的,還需要使用控制流圖來建模,才能清楚地描述系統(tǒng)。下面看課本P46——例3.10DFD和CFD例子---DFD信號半分鐘數(shù)據(jù)光電管采集計數(shù)傳送工控機處理實時數(shù)據(jù)顯示班數(shù)據(jù)處理半小時數(shù)據(jù)班數(shù)據(jù)DFD和CFD例子---CFD翻屏人工驅(qū)動信息時鐘半小時半分鐘某型號累加物品經(jīng)過信號半分鐘數(shù)據(jù)光電管采集計數(shù)傳送工控機處理實時數(shù)據(jù)顯示班數(shù)據(jù)處理半小時數(shù)據(jù)班數(shù)據(jù)(3)控制說明

當(dāng)某個事件發(fā)生時,會出現(xiàn)什么事情呢?這時就需要看控制說明了??刂普f明用于指明會激活哪些加工,它主要用于描述:當(dāng)事件或控制信息被感知時軟件如何行動;作為事件發(fā)生的結(jié)果,那些加工將被激活。

例3.11課后自己看(P47)5.狀態(tài)轉(zhuǎn)換圖(STD)描述軟件狀態(tài)變遷符號表示矩形---系統(tǒng)狀態(tài)箭頭---狀態(tài)轉(zhuǎn)變方向規(guī)則表達式---事件/觸發(fā)行為狀態(tài)1狀態(tài)2事件/觸發(fā)行為STD例子20秒到/翻屏生成最新數(shù)據(jù)/翻屏半小時到/工控處理半分鐘到/傳送空閑/采集物品經(jīng)過/計數(shù)采集PLC計數(shù)傳送工控處理實時翻屏STD例子“自動柜員機終端”狀態(tài)轉(zhuǎn)換圖請求驗證帳戶主屏do:顯示主屏幕do:要求密碼帳戶有效do:驗證密碼輸入密碼密碼正確處理結(jié)束結(jié)束do:打印帳單do:驗證帳戶do:顯示無效帳戶帳戶無效密碼錯取款額無效do:要求取款額do:檢驗取款額取款額有效do:取款事務(wù)do:顯示取消信息do:要求類型輸入類型輸入取款額do:顯示失敗信息事務(wù)失敗等待5秒鐘取消取消取消取消E-R圖(1)有三個相互關(guān)聯(lián)的部分構(gòu)成:①實體——事物、事件、角色、機構(gòu)等②屬性——名稱、描述、參考屬性、含有一個標(biāo)識屬性(關(guān)鍵字)③關(guān)系——事物、事件、角色、機構(gòu)等用于對復(fù)雜數(shù)據(jù)的用作數(shù)據(jù)分析和建模(2)組成符號:0:11:10:m1:mE-R圖例子電話機生產(chǎn)廠商經(jīng)銷商用戶生產(chǎn)購買使用經(jīng)銷3.4軟件需求說明(SRS)按美國IEEE830-1998號標(biāo)準和國家標(biāo)準GB856D-88,規(guī)格說明應(yīng)有如下內(nèi)容:軟件需求規(guī)格說明書模板3.5結(jié)構(gòu)化分析方法定義:使用DFD、DD、結(jié)構(gòu)化語言、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化說明書的目標(biāo)文檔?;静襟E自頂向下,功能分解分層DFD由后向前,定義數(shù)據(jù)和加工DD,PSPEC根據(jù)需要,分析復(fù)雜數(shù)據(jù)和動態(tài)模型E-R圖,CFD,CSPEC,STD編寫SRS數(shù)據(jù)字典數(shù)據(jù)流圖E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數(shù)據(jù)對象描述分析模型的結(jié)構(gòu)3.5.1畫數(shù)據(jù)流圖的原則找出數(shù)據(jù)的源點與終點把軟件系統(tǒng)看成一個大的加工,根據(jù)外部實體的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流,劃出系統(tǒng)的輸入和輸出圖,即頂層圖根據(jù)系統(tǒng)的邏輯要求,從外部實體的輸出數(shù)據(jù)流出發(fā),把頂層圖中的加工分解成若干個子加工,并用數(shù)據(jù)流把這些加工連接起來,此時的系統(tǒng)內(nèi)部圖稱為0層圖進行檢查和修改按照上述步驟,再從各加工

溫馨提示

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

最新文檔

評論

0/150

提交評論