版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、需求分析概念、任務和分析方法3.1 需求分析的概念和任務 3.2 獲取需求的方法 3.3 結構化分析方法 本章學習內容: 1掌握需求分析的基本概念 2明確需求分析應遵循的原則 3掌握如何使用需求獲取技術來進行數(shù)據(jù)采集 4掌握結構化分析的思想與過程 5掌握數(shù)據(jù)流建模技術 第3章 需求分析 能否開發(fā)出高質量的軟件,很大程度上取決于對要解決問題的認識程度,以及如何準確地表達出用戶的需求。 需求分析的概念和任務3.1.1 需求的概念 對用戶來講需求是對軟件產(chǎn)品的解釋,是用戶對目標軟件系統(tǒng)在功能、行為、性能和約束等方面的期望。而對開發(fā)人員所講的需求,對用戶來說又像詳細設計。 IEEE軟件工程標準詞匯表中
2、對需求的定義: (1)用戶解決問題或達到目標所需的條件或權能; (2)系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其他正式規(guī)定文檔所需要具有的條件或權能; (3)一種反映上面(1)和(2)所描述的條件或權能的文檔說明。 由上述定義可知,需求一方面反映了系統(tǒng)的外部行為,另一方面反映了系統(tǒng)的內部特性,反映的方式是需求文檔軟件需求規(guī)格說明書。 需求的特點 : (1)用戶需求直接來源于用戶。需求可以由用戶主動提出,也可以通過與用戶溝通、交流或者進行問卷調查等方式獲得。由于用戶對計算機系統(tǒng)認識上的不足,分析人員有義務幫助用戶挖掘需求。 (2)用戶需求需要以文檔的形式提供給用戶審查。因此,需要使用流暢的自然語言
3、和簡潔清晰的直觀圖表來表 述,以方便用戶的理解與確認。 (3)可以把用戶需求理解為用戶對軟件的合理請求。這意味著,必須全面理解用戶的各項要求,但又不能全盤接受所有的要求。 (4)用戶需求主要是為用戶方管理層撰寫的。但是用戶方的技術代表、軟件系統(tǒng)今后的操作者以及開發(fā)方的高層技術人員,也有必要認真閱讀用戶需求文檔。3.1.2 需求的層次 需求可分解為4個層次:業(yè)務需求、用戶需求、功能需求和非功能需求。 (1)業(yè)務需求(Business Requirement) 業(yè)務需求是反映組織機構或客戶對軟件高層次的目標要求。這項需求是用戶高層領導機構決定的,它確定了系統(tǒng)的目標、規(guī)模和范圍。業(yè)務需求是需求分析階
4、段制定需求調研計劃、確定用戶核心需求和軟件功能需求的依據(jù),應在進行需求分析之前,通常在項目定義與范圍文檔中予以說明。 (2)用戶需求(User Requirement) 用戶需求是關于軟件的一系列想法的集中體現(xiàn),涉及軟件的功能、操作方式、界面風格、報表格式、用戶機構的業(yè)務范圍、工作流程,以及用戶對軟件應用的展望等。 (3)功能需求(Functional Requirement) 功能需求是軟件系統(tǒng)的最基本的需求表述,包括對系統(tǒng)應該提供的服務,如何對輸入做出反應,以及系統(tǒng)在特定條件下的行為描述。在某些情況下,功能需求還必須明確系統(tǒng)不應該做什么,這取決于開發(fā)的軟件類型、軟件未來的用戶、以及開發(fā)的系
5、統(tǒng)類型。所以,功能性的系統(tǒng)需求,需要詳細地描述系統(tǒng)功能特征、輸入和輸出接口、異常處理方法等。 (4)非功能需求(NonFunctional Requirement) 非功能性需求包括對系統(tǒng)提出的性能需求、可靠性和可用性需求、系統(tǒng)安全以及系統(tǒng)對開發(fā)過程、時間、資源等方面的約束和標準等。性能需求指定系統(tǒng)必須滿足的定時約束或容量約束,一般包括速度(響應時間)、信息量速率(吞吐量、處理時間)和存儲容量等方面的需求。 業(yè)務需求項目視圖與范圍文檔用戶需求質量屬性使用實例文檔系統(tǒng)需求功能需求其他非功能需求約束條件軟件需求規(guī)格說明圖3-1 軟件需求各組成部分之間的關系3.1.3 需求分析的任務 將用戶對軟件的
6、一系列要求、想法轉變?yōu)檐浖_發(fā)人員所需要的有關軟件的技術規(guī)格說明軟件需求規(guī)格說明書 。即準確地定義未來系統(tǒng)的目標,確定為滿足用戶的需求,系統(tǒng)必須做什么。用規(guī)范的形式軟件需求規(guī)格說明書,準確地表達出用戶的需求。 軟件是利用計算機技術解決現(xiàn)實生活中問題的一種有效方法和手段。 軟件需求分析是在軟件計劃的基礎上進行的,需求分析是介于系統(tǒng)分析和軟件設計階段之間的橋梁,它直接關系到軟件的成功與否。 需求分析的主要任務 (1)確定系統(tǒng)的綜合需求 (2)分析系統(tǒng)的數(shù)據(jù)需求 (3)導出系統(tǒng)的邏輯模型 (4)修改系統(tǒng)開發(fā)計劃 (5)書寫軟件需求規(guī)格說明書3.1.3.1 需求分析的過程 (1)需求獲取 進行用戶需求
7、調查,獲取需求,識別問題,確定系統(tǒng)的綜合要求是需求分析的第一步。主要獲取如下需求: 1)功能需求 系統(tǒng)做什么?系統(tǒng)何時做什么?系統(tǒng)何時及如何修改或升級? 2)性能需求 軟件開發(fā)的技術性指標 例如:存儲容量限制;執(zhí)行速度、相應時間等 3)環(huán)境需求 硬件:機型、外設、接口、地點、分布、溫度、濕度、磁場干擾等 軟件:操作系統(tǒng)、網(wǎng)絡、數(shù)據(jù)庫 4)界面需求 有來自其它系統(tǒng)的輸入嗎? 到自其它系統(tǒng)的輸出嗎? 對數(shù)據(jù)格式有規(guī)定嗎? 對數(shù)據(jù)存儲介質有規(guī)定嗎? 5)用戶或人的因素 用戶類型? 各種用戶熟練程度? 需受何種訓練? 用戶理解、使用系統(tǒng)的難度? 用戶錯誤操作系統(tǒng)的可能性? 6)文檔需求 需哪些文檔?
8、文檔針對哪些讀者? 7)數(shù)據(jù)需求 輸入、輸出數(shù)據(jù)的格式? 接收、發(fā)送數(shù)據(jù)的頻率? 數(shù)據(jù)的準確性和精度? 數(shù)據(jù)流量? 數(shù)據(jù)需保持的時間? 8)資源需求 軟件運行時所需的數(shù)據(jù)、軟件。內存空間等資源。軟件開發(fā)、維護所需的人力、支撐軟件、開發(fā)設備等。 9)安全保密需求 需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎? 如何隔離用戶之間的數(shù)據(jù)? 用戶程序如何與其它程序和操作系統(tǒng)隔離? 系統(tǒng)備份要求? 10)軟件成本消耗與開發(fā)進度需求 需要的軟硬件投資有無限制? 開發(fā)有規(guī)定的時間表嗎? 11)質量保證需求 系統(tǒng)的可靠性要求? 系統(tǒng)必須監(jiān)測和隔離錯誤嗎? 規(guī)定系統(tǒng)平均出錯時間? 出錯后,重啟系統(tǒng)允許的時間? 系統(tǒng)變化如何
9、反映到設計中? 維護是否包括對系統(tǒng)的改進? 系統(tǒng)的可移植性? (2)分析建模 任何一個軟件系統(tǒng)都離不開數(shù)據(jù),分析系統(tǒng)的數(shù)據(jù)要求是需求分析的主要任務之一。從信息流和信息結構出發(fā),逐步細化軟件的所有功能,找出系統(tǒng)各個元素之間的聯(lián)系、接口特性和對設計的限制,判斷是否存在因片面性或短期行為而導致的不合理需求,判斷是否有用戶尚未提出的確實有價值的潛在需求,從而提出其中不合理的部分,增加真正需要的部分。通過模型表達用戶需求。后續(xù)課程將介紹建模的具體方法。當前系統(tǒng)邏輯模型物理模型目標系統(tǒng)模型化物理模型怎么做具體化抽象化邏輯模型做什么實例化導出理解需求表達需求圖 3-3 由當前系統(tǒng)建立目標系統(tǒng)模型過程 通常系
10、統(tǒng)的邏輯模型用DFD圖、DD、狀態(tài)轉換圖和主要功能的處理算法等進行描述。 通過建模過程可以更加了解系統(tǒng),經(jīng)過抽象降低問題的復雜性,有助于回憶所有問題的細節(jié),有助于開發(fā)小組間的交流,有助于與用戶的交流,為系統(tǒng)的維護提供文檔。 (3)編寫軟件需求規(guī)格說明 在對問題空間、全面理解的基礎上,對需求模型進行精確地、形式化的描述。(文檔格式、內容見附錄) (4)需求驗證 對需求分析進行評審: 1)完整性 2)正確性 3)一致性 4)必要性 5)無歧義性 6)可驗證性 7)優(yōu)先級的劃分3.2 獲取需求的方法 需求分析至今仍是公認為軟件開發(fā)中最為困難、亟待解決的一個問題。3.2.1 獲取需求過程中存在的問題
11、(1)人們對需求的理解問題 (2)分析人員與用戶的通信問題 (3)用戶需求的可變性問題 (4)分析方法和分析工具問題 3.2.2 獲取需求的常用方法 1研究資料法 范圍:企業(yè)外部的資料。例如,各項法規(guī)、市場信息等;企業(yè)內部的各種資料。例如,企業(yè)的有關計劃、指標、經(jīng)營分析報告、合同、帳單和統(tǒng)計報表等。 收集資料時一定要明確目的,必須收集和選擇符合目的的資料來閱讀。 作用:解生產(chǎn)經(jīng)營情況和正常的操作程序;理解信息的處理方式;有助于弄清需求。 局限性:資料只反映靜態(tài)的和歷史的情況,無法反映企業(yè)的動態(tài)活動和過程,因此,還必須借助其他方法獲取更復雜、更全面的需求。 2問卷調查法 步驟: (1)確定必須收
12、集哪些事實和從哪些人收集數(shù)據(jù)。 (2)基于所需的事實數(shù)據(jù),確定采用自由格式或還是固定格式的調查問卷。 (3)設計調查問題,確保問題明確,沒有歧義或遺漏。 (4)復制和分發(fā)調查問卷,組織調查,注意回收。 某出版社系統(tǒng)調查表編號提出問題1您在哪個部門工作?2出版業(yè)務流程是什么?3您每日都處理那些文件、數(shù)據(jù)、報表?4工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問題解決不了?影響效率的問題有哪些?6您認為提高工作效率,節(jié)省工作時間,減輕工作強度可采取哪些辦法?某出版社系統(tǒng)調查表編號提出問題7您的部門需要成本核算和統(tǒng)計的內容有哪些?8您的部門采用計算機管理工作情況如何?9如何改進業(yè)務流程使之
13、更合理?10哪些問題是目前傳統(tǒng)手工方法根本無法解決的?11出版社計算機管理信息系統(tǒng)需要解決什么問題?調查問卷的優(yōu)點 多數(shù)調查問卷可以被快速地回答。人們可以在方便的時候完成和返回調查問卷。 如果希望從許多人處獲取信息,調查問卷是一種低成本的數(shù)據(jù)采集技術。 調查問卷形式允許保護個人的隱私,并便于整理和歸納。調查問卷的缺點: 由于是背對背地進行調查,對回答問題的質量難于把握。 對于模糊的問題、隱含的問題不便于采用問卷的方法。 3用戶訪談 步驟: (1)選擇訪談對象。 (2)準備訪談資料:包括訪談內容和進度安排等。 (3)進行訪談,并注意做好訪談記錄,訪談內容要經(jīng)過被訪者的認可和確認。 (4)整理訪談
14、記錄。 訪談方法的優(yōu)點: 訪談為分析人員提供了與訪談對象自由溝通的機會。通過建立良好的人際關系,有利于讓訪談對象愿意為該項目的開發(fā)做出努力。 通過訪談可以挖掘更深層次的用戶需求。 訪談允許開發(fā)人員使用一些個性化的問題。 訪談方法的缺點: 成功的訪談在很大程度上取決于分析人員的經(jīng)驗與技巧。 訪談占用的時間較多,訪談后的資料整理,也需要花費較多的時間。 4實地觀察法 原則: 明確需要觀察的內容、地點以及觀察的周期,并明確如何進行觀察? 從用戶那里得到去現(xiàn)場觀察的許可? 事先通知將要被觀察的用戶,告訴他們觀察的目的; 禁止打斷別人的工作,邊觀察,邊記錄;不要事先進行假設。 實地觀察方法的優(yōu)點: 通過
15、觀察得到的數(shù)據(jù)準確、真實; 通過觀察有利于弄清復雜的工作流程和業(yè)務處理過程,而這些有時是很難用文字描述清楚的; 實地觀察方法的缺點: 在特定的時間進行觀察,并不能保證得到平時的工作狀態(tài),有些任務不可能總是按照觀察人員觀察時看到的樣式執(zhí)行; 花費時間,數(shù)據(jù)整理比較麻煩。3.2.3 需求分析的原則 (1)解決邏輯問題 給出要完成的功能和處理的信息,而不考慮實現(xiàn)的細節(jié)。 (2)以運行環(huán)境為基礎 以具體的運行環(huán)境為基礎,不能照搬其他類似的系統(tǒng)開發(fā)時的分析工作。 (3)用戶參與 系統(tǒng)分析人員要與用戶不斷的交流。 (4)構造高質量的需求規(guī)格說明 應嚴格遵循即定規(guī)范,做到內容全面、結構清晰、格式嚴謹。3.2
16、.4 需求分析方法 雖有多種需求分析及描述的方法,但每種方法都應滿足以下基本要求。 (1)必須理解好問題的數(shù)據(jù)域和功能域 數(shù)據(jù)域:數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流 功能域:功能之間的數(shù)據(jù)傳遞就確定了功能之間的接口 (2)必須能按自頂向下、逐步分解的方式對問題進行分解和不斷細化 將求解的復雜問題分解為若干個相對簡單問題求解的組合,降低問題求解的復雜性。 (3)要給出系統(tǒng)的邏輯視圖和物理視圖 軟件需求的邏輯視圖描述的是軟件要達到的功能和要處理的信息之間的關系,但沒有描述實現(xiàn)的細節(jié)。 軟件需求的物理視圖給出的是處理功能和信息結構的實際表現(xiàn)形式,需要考慮實際的環(huán)境和具體的設備。3.3 結構化方法 結構化方法是
17、一種面向數(shù)據(jù)流,進行需求分析的方法。采用自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。 結構化方法包括: 結構化分析(SA-Structured Analysis) 結構化設計(SD-Structured Design) 結構化編程(SP-Structured Programming ) 結構化分析方法多年來被廣泛應用,是最經(jīng)典的面向數(shù)據(jù)流的需求分析方法,使用于分析大型的數(shù)據(jù)處理系統(tǒng)。3.3.1 結構化分析方法的的主要步驟 通過學生購買教材這個實例,介紹需求分析方法的基本思想和主要步驟。學生學生購書申請購書單發(fā)票領書單書107張教務科206王會計室
18、206李出納員303趙教材科學生購買教材的物理模型(1) 通過對現(xiàn)實環(huán)境的調查,獲得當前系統(tǒng)的物理模型。 (2) 去掉具體模型中的非本質因素,抽象出當前系統(tǒng)的邏輯模型。學生購買教材的邏輯模型學生學生購書單有效購書單發(fā)票領書單書審查有效性開發(fā)票開領書單發(fā)書 (3) 分析當前系統(tǒng)與目標系統(tǒng)的差別,建立目標系統(tǒng)的邏輯模型。計算機售書系統(tǒng)的邏輯模型學生學生購書單發(fā)票領書單書審查并開發(fā)票開領書單發(fā)書 (4) 對目標系統(tǒng)進行完善和補充,并寫出完整的需求規(guī)格說明書。學生學生購書單發(fā)票領書單審查并開發(fā)票開領書單無效書單學生學生購書單發(fā)票領書單 1審查并開發(fā)票 2 開領書單無效書單顯然,上圖還可以進一步分解細化
19、。各班學生用書表教材存量表改進后的計算機售書系統(tǒng)的邏輯模型 SA方法以數(shù)據(jù)流分析作為需求分析的出發(fā)點,任何信息處理過程均看成是將輸入數(shù)據(jù)變換成所要求的輸出信息的裝置。而當分析人員面對一個復雜問題時,結構化分析的策略是基于問題分解與抽象的觀點,用抽象模型的概念,按照軟件內部的數(shù)據(jù)傳遞關系,采用自頂向下、逐步分解技術,直至找到滿足功能需求的可實現(xiàn)軟件元素為止。現(xiàn)實世界計算機世界映射 在現(xiàn)實世界中,事物與事物之間存在著一定的聯(lián)系。通過分析和歸納可建立起概念模型,然后根據(jù)概念模型,將概念世界中的實體及實體間的聯(lián)系抽象為便于計算機處理的數(shù)據(jù)模型?,F(xiàn)實世界計算機世界結構化開發(fā)方法結構化分析SA結構化設計S
20、D結構化編程SP面向對象分析OOA面向對象設計OOD面向對象程序設計OOP面向對象開發(fā)方法OOA-Object-Oriented AnalysisOOD-Object-Oriented DesignOOP-Object-Oriented ProgrammingSA-Structured AnalysisSD-Structured DesignSP-Structured Programming3.3.2 描述工具 從數(shù)據(jù)傳遞和加工的角度,在需求分析階段以圖形的方式描述數(shù)據(jù)流,從輸入到輸出的移動變換過程,為系統(tǒng)建立邏輯模型。 SA提供一套圖形、表格和問題描述語言等半形式化的描述方式表達需求,簡明易
21、懂。描述工具包括: 實體聯(lián)系圖(E-REntity-Relationship) 數(shù)據(jù)流圖(DFDData Flow Diagram) 數(shù)據(jù)字典(DDDATA Dictionary) 問題描述語言(PDLProblem Describe Language) 判定表(Decision Table) 判定樹(Decision Tree) 3.3.2.1 E-R圖 E-R(Entity- Relationship )模型即實體-聯(lián)系模型,又稱E-R圖。E-R圖不涉及具體的數(shù)據(jù)模型,它是數(shù)據(jù)建模的基礎,是抽象和描述現(xiàn)實世界的有力工具。利用 E-R圖可以方便地描述概念世界,建立概念模型。如果需要還可以將其
22、轉換成對應的數(shù)據(jù)模型。 E-R 圖一般有實體、屬性以及實體間的相互聯(lián)系三個要素。 實體:用矩形框表示,框內標注實體名稱。 教師姓名屬性:用橢圓形表示,并用連線與實體連接。 實體間聯(lián)系:用菱形表示,框內標注聯(lián)系名稱。 并將菱形框與有關實體用連線連接起 來,在連線上注明聯(lián)系類型。聯(lián)系類 型一般分為三種:一對一聯(lián)系 1 :1; 一對多聯(lián) 系 1 :m;多對多聯(lián)系 m :n領導11班長班級機構1m學校部門領導教師和課程關系的E-R圖 數(shù)據(jù)流圖 3.3.3.1. 數(shù)據(jù)流圖的基本符號 數(shù)據(jù)流圖(DFD Data Flow Diagram)是描述邏輯模型的圖形工具,它表示數(shù)據(jù)在系統(tǒng)內的變化。數(shù)據(jù)流圖的基本圖
23、符如下: 加工,輸入數(shù)據(jù)在此進行變換,產(chǎn)生輸出數(shù)據(jù),要注明加工的名字和編號。 或數(shù)據(jù)的源點和終點,要注明源點和終點的名字?;?數(shù)據(jù)流,要注明數(shù)據(jù)流的名字。 數(shù)據(jù)存儲,要注明數(shù)據(jù)存儲的名字 。或數(shù)據(jù)存儲名3.3.3.2 數(shù)據(jù)流與數(shù)據(jù)加工之間的關系3.3.3.3 數(shù)據(jù)流圖的分層 為了表達數(shù)據(jù)處理過程的數(shù)據(jù)加工情況,需要采用層次結構的數(shù)據(jù)流圖。按照系統(tǒng)的層次結構進行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結構關系,能清楚地表達和容易理解整個系統(tǒng)。分層的數(shù)據(jù)流圖 在多層數(shù)據(jù)流圖中: 頂層流圖僅包含一個加工,它代表被開發(fā)系統(tǒng)。它的輸入流是該系統(tǒng)的輸入數(shù)據(jù),輸出流是系統(tǒng)所輸出數(shù)據(jù)。 底層流圖是指其加工不需再做
24、分解的數(shù)據(jù)流圖,它處在最底層。 中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續(xù)細化,形成子圖。例:商店業(yè)務處理系統(tǒng) 這個數(shù)據(jù)流圖只是一個高層的系統(tǒng)邏輯模型,它反映了目標系統(tǒng)要實現(xiàn)的功能。 數(shù)據(jù)流圖繪制步驟: 首先確定系統(tǒng)的輸入和輸出 根據(jù)商店的業(yè)務,畫出頂層數(shù)據(jù)流圖,以反映最主要業(yè)務處理流程 經(jīng)過分析,商店業(yè)務處理的主要功能應當有銷售、采購、會計三大項。主要數(shù)據(jù)流輸入的源點和輸出終點是顧客和供應商。 然后從輸入端開始,根據(jù)商店業(yè)務工作流程,畫出數(shù)據(jù)流流經(jīng)的各加工框,逐步畫到輸出端,得到第一層數(shù)據(jù)流圖第一層數(shù)據(jù)流圖第二層數(shù)據(jù)流圖(對銷售加工細化)第二層數(shù)據(jù)流圖(對采購加工細化)實例 考
25、務處理系統(tǒng)功能 (1)對考生送來的報名單進行檢查; (2)對合格的報名單編好準考證號后將準考證送給考生,并將匯總后的考生名單送給閱卷站; (3)對閱卷站送來的成績單進行檢查,并根據(jù)考試中心制定的合格標準審定合格者; (4)制作考生通知單(含成績及合格/不合格標志)送給考生; (5)按地區(qū)進行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表。頂層(0層)數(shù)據(jù)流圖考試中心考生考務處理 系統(tǒng)閱卷站不合格報名單報名單準考證考生通知單成績清單合格標準錯誤成績清單考生名單統(tǒng)計分析表考務處理系統(tǒng)的分層DFD一層數(shù)據(jù)流圖登記報名單報名單準考證1統(tǒng)計成績2不合格報名單考生通知單成統(tǒng)計分析表考生名冊績清單合格標準考生名
26、單成績清單錯誤二層數(shù)據(jù)流圖 (a)檢查報名單報名單準考證編準考證號不合格報名單考生名冊考生名單合格報名單登記考生二層數(shù)據(jù)流圖 (b)正確成績清單合格標準檢查成 績清單審定合格者考生名冊制作通知單分析統(tǒng)計成績分析試題難度試題得分清單考生通知單難度分析表分類統(tǒng)計表成績清單錯誤成績清單經(jīng)審定的成績清單分層的數(shù)據(jù)流圖 DFD 可以用來表示一個系統(tǒng)或軟件在任何層次上的抽象。 比較大型軟件系統(tǒng)的DFD分成多層(子圖、父圖概念),可以表示數(shù)據(jù)流和功能的進一步的細節(jié)。SafeHome的控制面板與用戶交互SAFEHOMEARMED POWER01123456789*0#OFF ARAY STAYMAX TEST
27、 BYPASSINSTANT CODE CHIMEREADYpanicalarmcheckfireawaystayinstantbypassnot readySafeHome的頂層 SafeHome軟件系統(tǒng)用戶命令和數(shù)據(jù)顯示信息控制面板傳感器傳感器狀態(tài)警鈴 線警告類型 號碼撥音控制面板顯示SafeHome的第1層控制面板與用戶交互控制面板顯示密碼 號碼撥音傳感器狀態(tài)顯示信息配置請求用戶命令和數(shù)據(jù)配置系統(tǒng)警鈴電話線傳感器配置信息顯示信息和狀態(tài)監(jiān)控傳感器激活不激活系統(tǒng)傳感器信息密碼處理警告類型檢驗id信息開始停止狀態(tài)信息SafeHome的第2層(監(jiān)控傳感器) 號碼撥音傳感器狀態(tài)配置數(shù)據(jù)顯示格式配置
28、信息產(chǎn)生警告信息撥號評估設置傳感器信息讀傳感器警告類型傳感器id類型傳感器id類型定位 通過上述例子,可以將畫數(shù)據(jù)流圖的基本步驟概括地說,就是由外向內,自頂向下,逐步細化,完善求精。具體步驟歸納如下: 1.先找出系統(tǒng)的數(shù)據(jù)源點和終點,確定系統(tǒng)與外界的接口。 2.區(qū)分出外部實體的輸出/輸入數(shù)據(jù)流。 3.把系統(tǒng)視為一個整體。在頂層數(shù)據(jù)流圖上畫出系統(tǒng)的外部實體、總體加工及輸入/輸出數(shù)據(jù)流。 4.畫分層數(shù)據(jù)流圖。從外部實體的輸出數(shù)據(jù)流 (即系統(tǒng)的源點) 出發(fā),按照系統(tǒng)的邏輯需要,逐步畫出一系列邏輯加工,直至找到外部實體所需要的輸入數(shù)據(jù)流(即系統(tǒng)的終點) 。 5.按照以下原則進行檢查和修改。 1)數(shù)據(jù)流
29、圖上所有圖形符號,只限于使用前述圖符。 2)數(shù)據(jù)流圖的頂層圖必須只包含有一個加工。 3)數(shù)據(jù)流圖的頂層圖上的數(shù)據(jù)流,必須封閉在外部實體之間(外部實體可以不只是一個)。 4)每個加工至少要有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流。 5)在數(shù)據(jù)流圖中,需按層給加工框編號。編號應表明該加工處在哪一層, 以及上下層的父圖與子圖的對應關系。 6)圖上的每個元素都必須有名字。表明數(shù)據(jù)流和數(shù)據(jù)文件是什么數(shù)據(jù),加工做什么事情。 7)父圖與子圖的平衡。任何一個數(shù)據(jù)流子圖必須與它的上一層的一個加工對應,兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致。表明在細化過程中輸入和輸出數(shù)據(jù)不能有丟失和添加。 8)數(shù)據(jù)流圖中不可夾帶控制流。因
30、為數(shù)據(jù)流圖是實際業(yè)務流程的客觀映象,說明系統(tǒng)“做什么”而不是要表明系統(tǒng)“如何做”,因此不是系統(tǒng)的執(zhí)行順序。 9)避免分解過快或分解過慢。 10)初畫時可以忽略瑣碎的細節(jié),以集中精力于主要數(shù)據(jù)流。3.3.4 數(shù)據(jù)字典(DD,DataDictionary) 數(shù)據(jù)字典是進行系統(tǒng)設計的最有價值的文檔之一。DD是對所有與系統(tǒng)相關的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算有共同的理解。3.3.4.1 數(shù)據(jù)字典編寫的基本要求 (1)對數(shù)據(jù)流圖上的各種元素的定義必須明確、一致且易理解。 (2)命名、編號應與數(shù)據(jù)流圖一致。 (3)對數(shù)據(jù)流圖的成分
31、定義與說明要無遺漏,不要有同名異議或異名同義的。 (4)格式規(guī)范、文字精練、符號正確。3.3.4.2 數(shù)據(jù)字典的內容與格式 數(shù)據(jù)字典中包括4類條目: (1)數(shù)據(jù)流條目 定義一個數(shù)據(jù)流的數(shù)據(jù)項組成。 (2)數(shù)據(jù)項條目 數(shù)據(jù)項是組成數(shù)據(jù)流的組成要素,分為基本數(shù)據(jù)項和結構型數(shù)據(jù)項。 (3)文件存儲條目 說明存儲文件的名稱、編號、文件組織方式、記錄數(shù)及存儲介質等。 (4)加工說明條目 說明加工的名稱、編號、輸入/輸出數(shù)據(jù)流、加工邏輯概括描述等。數(shù)據(jù)字典的定義式中使用的符號及意義 操作符 符號含義 被定義為 與(順序結構) m.n 重復(循環(huán)結構), 或(選擇結構) ( . ) 任選 “” 基本數(shù)據(jù)元素
32、 ., 注釋符限制重復次數(shù)舉例: 35 或53 表示允許重復3-5次 33 或33 表示恰好重復 3 次 1表示至少出現(xiàn) 1 次表示允許重復0至任意次3.3.4.3 數(shù)據(jù)字典的構造及使用 (1)數(shù)據(jù)項條目 數(shù)據(jù)項是數(shù)據(jù)的最小單位,對數(shù)據(jù)項的描述一般包括項名、含義說明、別名、類型、長度、取值范圍及該項與其他項的邏輯關系。常以表格的形式給出。 如考務處理系統(tǒng)中考生的準考證號,其數(shù)據(jù)項的描述如下: 數(shù)據(jù)項名:準考證號別 名:報名單號說 明:用來惟一標識每個考生的情況類 型:字符型長 度:8取值范圍:00009數(shù)據(jù)項 (2)數(shù)據(jù)流條目 數(shù)據(jù)流。數(shù)據(jù)流可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結構,表示某一次處理的輸入
33、/輸出數(shù)據(jù)。包括數(shù)據(jù)流名、說明、數(shù)據(jù)來源、數(shù)據(jù)去向及需要的數(shù)據(jù)項或數(shù)據(jù)結構。如報名單數(shù)據(jù)流。數(shù)據(jù)流名:報名單說 明:根據(jù)考生需要考的科目,檢查報名單,生成準 、 考證、考試名冊等來 源:報名單表去 向:合格報名單數(shù)據(jù)組成:考生報名單號+姓名+性別+身份證號+年齡+考試 科目數(shù)據(jù)流數(shù)據(jù)存儲名:學生成績 輸人數(shù)據(jù)流:成績單輸出數(shù)據(jù)流:試題得分數(shù)據(jù) 描 述:考號、課程號、得分數(shù) 據(jù) 量:約150條記錄存取 方式:隨機存 取 頻度:30次/月 (3)數(shù)據(jù)存儲條目 加工中需要存儲的數(shù)據(jù)。包括數(shù)據(jù)存儲名、說明、輸人數(shù)據(jù)流、輸出數(shù)據(jù)流、組成成分、數(shù)據(jù)量、存取方式、存取頻度等。 如考試得分單,在生成成績通知單
34、這一處理過程中要用到這些數(shù)據(jù)。數(shù)據(jù)存儲數(shù)據(jù)項條目 數(shù)據(jù)項名:貨物編號別 名:G-No,G-num簡 述:本公司的所有貨物的編號類 型:字符串長 度:10取值范圍及含義:第 1 位:JG (進口/國產(chǎn)) 第 2至4位: L01、 L29 (類別)第 5至7位:“A00”、“A99” (規(guī)格)第8至10位:“001”、“999”(品名編號)數(shù)據(jù)流名: 發(fā)票別 名: 無簡 述: 學生購書時填寫的項目來 源: 學生去 向: 加工1“審查并開發(fā)票”組 成: (學號)姓名書號數(shù)量數(shù)據(jù)流量: 1000次/周 高 峰 值:開學期間1000次/天數(shù)據(jù)流條目 數(shù)據(jù)存儲條目 文 件 名:庫存記錄別 名: 無簡 述:
35、存放庫存所有可供貨物的信息組 成:貨物名稱編號生產(chǎn)廠家 單價庫存量組織方式:索引文件,以貨物編號為 關鍵字查詢要求:要求能夠立即查詢3.3.5 加工說明 加工邏輯條目即數(shù)據(jù)處理描述,也稱為小說明。它描述實現(xiàn)加工的策略,而不是實現(xiàn)加工的細節(jié)。 加工處理的過程定義和說明。包括加工名稱、輸人數(shù)據(jù)、輸出數(shù)據(jù)、數(shù)據(jù)存儲、響應時間等。這個說明可認為是DD的組成部分。也可在DD中定義只說明每個加工的組成 (每個處理分解成多少小處理),而在小說明中詳細描述它的處理邏輯。 如檢查報名單處理。加工名稱:檢查報名單說 明:根據(jù)報名單、考試科目表等,檢查是否合格輸人數(shù)據(jù):報名單數(shù)據(jù)存儲:考生名冊輸出數(shù)據(jù):準考證加工說
36、明加工條目(加工邏輯說明) 加工邏輯名:登記報名單 編號: 激活條件:收到報名單 加工邏輯: 1.1 檢查報名單 + 1.2 編準考證號 + 1.3 登記考生 執(zhí)行頻率:2000次/日加工說明舉例加工名: 分類采購(CG111MD)編 號: 加工激活條件: 受到圖書采購員分類 采購操作命令加工邏輯: (1) 1.1.1.1 預定圖書 (2) 1.1.1.2 外采圖書 (3) 1.1.1.3 贈送圖書 執(zhí)行頻率: 隨時 加工說明舉例處 理 名:月票額統(tǒng)計(MHCW713MD)編 號:激活條件:收到每日售票額信息處理邏輯:1 統(tǒng)計月保險金總合 月保險金信息=每日日保險 金信息之和 2 統(tǒng)計月合計
37、月合計信息=每日日合計信息之和執(zhí)行頻率: 1次/月定義方法 找出所有數(shù)據(jù)元素 (數(shù)據(jù)項,數(shù)據(jù)流,數(shù)據(jù)存儲和加工) 對數(shù)據(jù)項分類 作結構定義 DD的分類排序 DD中的命名(遵守系統(tǒng)開發(fā)規(guī)范規(guī)定) DD的實現(xiàn) (1)人工方法 (2)自動方法(利用字典管理程序)DD應具特點 (1)通過名字可方便查閱數(shù)據(jù)定義 (2)無冗余 (3)易更新修改 隨著自頂向下逐步細化,功能也越來越具體,加工邏輯也越來越精細。到最底一層,加工邏輯詳細到可以實現(xiàn)的程度,因此,稱為“原子加工”或“基本加工”。如果能夠寫出每一個基本加工的全部詳細邏輯功能,再自底向上綜合,就能完成全部加工邏輯。 在書寫加工邏輯說明時,應滿足如下要求
38、: 1.對數(shù)據(jù)流圖的每一個基本加工,必須有一個加工邏輯說明; 2.加工邏輯說明必須描述基本加工如何把輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流的加工原則; 3.加工邏輯說明必須描述實現(xiàn)加工的策略,而不是實現(xiàn)加工的細節(jié)。 目前描述基本加工邏輯的工具有: 1. 結構化語言 2. 判定表 3. 判定樹 3.3.5.1 結構化語言(Structured Language) 結構化語言是一種介于自然語言和形式語言之間的半形式化語言。它是在自然語言基礎上加了一些限制而得到的語言,是使用有限的詞匯和有限的語句來描述加工邏輯的。 結構化語言借用結構化程序設計語言的順序、選擇和循環(huán)等控制結構。 使用結構化語言描述加工的例子處
39、理 名:核實訂票處理(MHGP3200MD)編 號: 激活條件:收到取訂票信息處理邏輯:1讀訂票旅客信息文件 2搜索此文件中是否有與輸入信息中姓 名及身份證號相符的項 IF 有 THEN 判斷余項是否與文件中信息相符 IF 是 THEN 輸出已訂票信息 ELSE 輸出未訂票信息 ELSE 輸出未訂票信息執(zhí)行頻率: 實時 加工說明3.3.5.2 判定樹(Decision Tree) 在某些數(shù)據(jù)處理問題中,其數(shù)據(jù)流圖的處理需要依賴于多個邏輯條件的取值,這些取值構成多種不同條件,執(zhí)行相應的不同動作。這類問題適合使用判定樹或判定表作為描述加工小說明的工具。 判定樹是一種呈樹狀的圖形工具,適合于描述處理
40、中具有多種策略,要根據(jù)若干條件的判定,確定所采用策略的情況。 判定樹具有清晰、直觀、易于使用的優(yōu)點。但當條件多,而且互相組合時,不容易清楚地表達判定過程。 例:以行李托運費的算法為例說明判定表的組織方法。 假設某航空公司規(guī)定,乘客可以免費托運重量不超過30公斤的行李。 當行李重量超過30公斤時,對頭等艙的國內乘客超重部分每公斤收費 4元,對其他艙的國內乘客超重部分每公斤收費 6元,對外國乘客超重部分每公斤收費比國內乘客多一倍,對殘疾乘客超重部分每公斤收費比正常乘客少一半。用判定表可以清楚地表示與上述每種條件組合相對應的動作(算法)。殘疾乘客(W-30)2正常乘客(W-30)4正常乘客(W-30
41、)6殘疾乘客(W-30)3殘疾乘客(W-30)4正常乘客(W-30)8殘疾乘客(W-30)6正常乘客(W-30)12頭等艙其他艙頭等艙其他艙國內乘客國外乘客行李重量W30行李重量W30免費行李費 例: 飛機票折扣率 條件1 條件2 結果計 79, 訂票量 20: 15%算 12月 訂票量20: 5%折扣 16, 訂票量 20: 30%量 10,11月 訂票量20: 20%3.3.5.3 判定表(Decision Table) 判定表比較適合用來描述數(shù)據(jù)流圖中的加工需要依賴于多個邏輯條件的取值,即完成這一加工的一組工作,是由于某一組條件取值的組合而引發(fā)的處理情況。由于這時需要描述的加工是由一組操作組成的。其中有些操作是否執(zhí)行又取決于一組條件,使用判定表,比較容易保證所有條件和操作都被說明,不容易發(fā)生錯誤和遺漏。判定表的結構,通常由4部分組成: 基本條件區(qū) 條件組合區(qū)基本動作區(qū) 執(zhí)行動作區(qū) (1)基本條件區(qū):列出所有可能的基本判斷條件項,通常與次序無關。 (2)基本動作區(qū):列出所有可能采取的動作項,通常與次序無關。 (3)條件組合區(qū):各種條件給出的多種取值,即多個條件所取真假值的組合。 (4)執(zhí)行動作區(qū):指出在各種條件的特定取值應采取的動作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024幼兒園校車司機應急處理與安全教育聘用合同范本3篇
- 專項貸款及連帶責任擔保協(xié)議法律認證版A版
- 2023-2024學年高中信息技術選修2(浙教版2019)-網(wǎng)絡基礎-說課稿-2.1-網(wǎng)絡拓撲結構
- 20 陀螺 說課稿-2024-2025學年統(tǒng)編版語文四年級上冊
- 2024施工人工費承包協(xié)議-城市更新項目專用3篇
- 23 走近工程師 說課稿-2023-2024學年科學三年級下冊青島版
- 福建省南平市外屯中學2022年高二數(shù)學理聯(lián)考試卷含解析
- 福建省南平市松溪縣第一中學高一英語上學期期末試卷含解析
- 7 2024電子商務平臺安全防護與合規(guī)性評估服務合同
- 碩士研究之旅
- 管理人履職工作報告
- 全面質量管理(TQM)基本知識
- 學校財務整改報告范文(合集5篇)
- 產(chǎn)品供貨質量保障措施
- 宇電溫控器ai 500 501用戶手冊s 6中文說明書
- 部編版五年級語文下冊第四單元整體教學設計
- 股權激勵外文文獻
- 【事業(yè)單位考試】2023年04月外交學院度第二次公開招聘人員沖刺題
- 課外文言文閱讀100篇:經(jīng)典古文名篇100
- 2022年貴州省遵義市中考語文試卷【含答案】
- 幼兒園支部書記批評與自我批評發(fā)言稿范文通用5篇
評論
0/150
提交評論