CH3-需求分析-經典軟件工程-教學課件_第1頁
CH3-需求分析-經典軟件工程-教學課件_第2頁
CH3-需求分析-經典軟件工程-教學課件_第3頁
CH3-需求分析-經典軟件工程-教學課件_第4頁
CH3-需求分析-經典軟件工程-教學課件_第5頁
已閱讀5頁,還剩213頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程---需求分析1軟件工程---需求分析1軟件生存周期可行性研究需求分析概要設計詳細設計實現集成測試確認測試使用與維護退役軟件定義軟件開發軟件使用與維護軟件生命周期2軟件生存周期可行性研究需求分析概要設計詳細設計實現集成測試第3章需求分析開發一個軟件系統前,必須了解用戶的期望和要求--->軟件需求--->需求分析過程

重要性:軟件開發的基礎和前提最終目標軟件系統驗收的標準避免或者盡早剔除早期的錯誤需求分析3第3章需求分析開發一個軟件系統前,必須了解用戶的期望和第3章需求分析需求分析4第3章需求分析需求分析4

困難:片面性,不完全模糊性,不準確不一致性,歧義等等因此必須使用系統的方法、借助于一系列行之有效的技術和工具進行需求分析需求分析需求分析應用系統復雜,龐大5困難:片面性,不完全模糊性,不準確不一致性,歧需求分析需求分析需求分析的任務:

準確的回答“系統必須做什么?”仍然回答“What”,而不是“How”,但更細致、精確(合同的擬定)6需求分析需求分析需求分析的任務:

準確的回答“系統必須做分析方法都遵守下述準則盡管目前有許多不同的用于需求分析的結構化分析方法,但是,所有這些分析方法都遵守下述準則:(1)必須理解并描述問題的信息域,根據這條準則應該建立數據模型。(2)必須定義軟件應完成的功能,這條準則要求建立功能模型。(3)必須描述作為外部事件結果的軟件行為,這條準則要求建立行為模型。(4)必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節。7分析方法都遵守下述準則盡管目前有許多不同的用于需求分§1.需求分析的任務1、確定對系統的綜合要求⑴功能要求(functionalrequirements):系統必須做什么?⑵性能要求(performance

requirements):做得怎樣?例:responsetime,memory,back-upmemory,security,……⑶運行要求(operationalrequirements):運行環境、軟硬件配置等。⑷未來可能的擴充要求(possibleevolution):§1.需求分析的任務8§1.需求分析的任務1、確定對系統的綜合要求§1.需求分(5)可靠性和可用性需求(6)出錯處理與安全需求(7)接口需求(8)約束因素等9(5)可靠性和可用性需求9§1.需求分析的任務2、分析數據(系統的數據要求)⑴建立概念模型(conceptualmodels):E-RDiagram⑵形象描繪數據結構:DataHierarchy,WarnierDiagram,IPO⑶數據結構規范化(Normalization)3、導出邏輯模型:抽取其“做什么”的本質

4、修正計劃:重估成本、進度等10§1.需求分析的任務2、分析數據(系統的數據要求)3、導出§1.需求分析的任務5、開發原型系統(Prototyping)檢驗方案的正確性系統是否滿足需求“樣機試用”CDG系統原型是對系統的主要功能和行為的直觀描述11§1.需求分析的任務5、開發原型系統(Prototypin§2.需求分析的步驟§2.需求分析的步驟12§2.需求分析的步驟§2.需求分析的步驟12§2.需求分析的步驟1、調查研究(1)沿數據流圖回溯:數據流圖的輸出端是系統的最終目的。向回確定每個數據元素的來源,可加細數據流圖及數據字典,并將相關算法記錄在IPO圖中。(2)用戶復查§2.需求分析的步驟基本思想:“自頂向下,逐步求精”,抽象和分解13§2.需求分析的步驟1、調查研究§2.需求分析的步驟§2.需求分析的步驟2、分析與綜合(1)問題的具體分析:細化數據流圖

加細前后的I/O須相同。

分解到須考慮具體實現的代碼時即可仃止(2)方案的綜合§2.需求分析的步驟14§2.需求分析的步驟2、分析與綜合§2.需求分析的步驟3、修正計劃:成本和進度的更準確估計4、書寫文檔:《需求規格說明書》不需分解有補充修正無補充修正分析追蹤數據流圖用戶復查細化數據流圖需要分解§2.需求分析的步驟§2.需求分析的步驟153、修正計劃:成本和進度的更準確估計不需分解有補充無補充修正需求規格說明書封面:

文檔編號:

版本號:

文檔名稱:項目名稱:項目負責人:

年月日編寫:核對:審核:批準:開發單位:

16需求規格說明書封面:需求規格說明書內容:⑴系統規格說明:

系統概貌功能要求

性能要求運行要求

可能增加的要求DFD

IPO⑵數據要求:

DD

Hierarchy或WarnierDiagram⑶用戶系統描述——初步用戶手冊:從用戶的觀點考慮系統

系統功能、性能

使用與步驟等⑷修正的開發計劃:

成本估計資源使用計劃

進度計劃17需求規格說明書⑴系統規格說明:⑵數據要求:⑶用戶系統描述5需求評審任務:多方人員一起對SRS進行復核和評審,以確保SRS全面、準確、一致地反映用戶需求原則:支持各方(用戶,需求分析人員、設計人員)共同參與評審工作§2.需求分析的步驟185需求評審任務:多方人員一起對SRS進行復核和評審,抽象(模型化)源于實驗科學,主要要素為數據采集方法和假設的形式說明,模型的構造與預測實驗分析結果分析.在為可能的算法數據結構和系統結構等構造模型時使用此過程.抽象的結果是概念符號模型抽象(模型化)源于實驗科學,主要要素為數據采集方法和假設的形模型(model)模型:現實世界某些重要方面的表示。有時我們使用術語“抽象”來表示模型,因為我們從現實世界中抽象出對我們特別有用的東西。模型(model)模型:現實世界某些重要方面的表示。需求分析的步驟當前系統目標系統物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實例化怎么做做什么當前系統目標系統需求定義需求分析的步驟當前目標物理邏輯邏輯物理模型化抽象化具體化實例邏輯模型和物理模型

模型是對對象系統的形式化的特征抽象,概括性或近似地表示;

構造模型的過程是一個抽象、分析的過程。對象系統模型系統抽象(映射)模型應用模型構造的過程邏輯模型和物理模型對象模型抽象(映射)模型應用模型

邏輯模型物理模型

(本質模型、概念模型)

(實施模型、技術模型)現行系統目標系統描述重要的業務功能,無論系統是如何實施的。描述現實系統是如何在物理上實現的。描述新系統的主要業務功能和用戶新的需求,無論系統應如何實施。描述新系統是如何實施的(包括技術)。邏輯模型物理模型現目描述重要的業務§3基于數據流的分析方法§3.1數據流圖(DataFlowDiagram)§3.2畫數據流圖的原則§3.3數據字典(DataDictionary)§3.4基于數據流的分析方法24§3基于數據流的分析方法§3.1數據流圖(DataF§3.1數據流圖(DataFlowDiagram)數據流圖(DFD)是一種描述數據以及對數據進行加工轉換的圖形工具一個DFD主要由以下四個部分組成:數據流加工(轉換)外部實體數據存儲數據流名稱轉換名稱外部實體名稱數據存儲名稱§3數據流圖25§3.1數據流圖(DataFlowDiagram)數據§3.2畫數據流圖的原則先找系統數據的輸入輸出點,畫出外部實體§3數據流圖確定外部實體的輸入輸出數據流由源點外部實體的數據流出發,逐漸進行加工,完成整個數據流圖一張圖的處理超過5~9個時,應該進行分層,把最基本的系統功能做為第0層,從第1層開始對每個模塊的功能進行細化26§3.2畫數據流圖的原則先找系統數據的輸入輸出點,畫出外部數據流圖例子訂票員訂票員預定機票準備機票記帳訂票單航班目錄航班號

航班費用帳單機票記帳數據庫帳目§3數據流圖27數據流圖例子訂票員訂票員預定準備記帳訂票單航班目錄航班號§3.3數據字典(DataDictionary)面向數據流分析需要引進數據字典(DD)DD以一種準確、簡潔的方式對DFD中數據流、外部實體、數據存儲作說明DD對DFD中的六類元素進行定義說明,按照元素不同,其中的數據條目內容也不相同數據流數據項(數據元素)數據結構數據存儲處理邏輯(基本加工)外部實體§4數據字典28§3.3數據字典(DataDictionary)面向數數據字典例子:(數據流)數據流名稱:訂票單別名:無

來源:訂票員去向:定票

數據流量:200份/天組成:編號+姓名+年齡+身份證號+電話號碼+訂票日期+ 目的地……§4數據字典29數據字典例子:(數據流)數據流名稱:訂票單§4數據數據字典例子:(數據項)數據項名稱:航班號

別名:HBH

數據類型:字符串長度:16位

取值范圍及含義:

第1位:進口/國產第2-4位:類別第5-7位:規格第8-11位:源機場編號第12-15位:目的機場編號……§4數據字典30數據字典例子:(數據項)數據項名稱:航班號§4數據數據字典例子:(數據存儲)數據存儲名稱:航班目錄

別名:無

來源:無去向:定票

組成:航班號+飛行日期+載客量+出發地+目的地+票價-組織方式:索引文件,以航班號為關鍵字……§4數據字典31數據字典例子:(數據存儲)數據存儲名稱:航班目錄§4數據字典例子:(處理邏輯)數據加工名稱:定票

別名:無

輸入:訂票單輸出:航班、費用

激發條件:接受到訂票單處理邏輯:

if單據=訂票單 thenif單據是否過期 then是否有該航班,是否有機票……§4數據字典32數據字典例子:(處理邏輯)數據加工名稱:定票§4數§3.4基于數據流的分析方法DFD是系統中各處理子功能以及它們之間數據流動的圖形表示--刻劃系統功能和行為DFD為描述和建模的工具和手段如何利用DFD進行需求分析,描述用戶需求?§5基于數據流的分析方法33§3.4基于數據流的分析方法DFD是系統中各處理子功能數據流圖數據流圖中的主要圖形元素數據加工(數據變換)數據源點或終點(外部實體)數據流數據存儲文件34數據流圖數據流圖中的主要圖形元素數據加工(數據變換)數據源面向數據流分析方法運用了抽象和分解的技術.提供一些經驗知識和規則以指導需求分析基于數據流的分析方法§5基于數據流的分析方法35面向數據流分析方法運用了抽象和分解的技術.提供一些經驗知識和數據流與數據加工之間的關系36數據流與數據加工之間的關系36數據流圖的層次結構為了表達數據處理過程的數據加工情況,需要采用層次結構的數據流圖。按照系統的層次結構進行逐步分解,并以分層的數據流圖反映這種結構關系,能清楚地表達和容易理解整個系統37數據流圖的層次結構為了表達數據處理過程的數據加工情況,需要采分層的數據流圖38分層的數據流圖38在多層數據流圖中,頂層流圖僅包含一個加工,它代表被開發系統。它的輸入流是該系統的輸入數據,輸出流是系統所輸出數據底層流圖是指其加工不需再做分解的數據流圖,它處在最底層中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續細化,形成子圖。39在多層數據流圖中,頂層流圖僅包含一個加工,它代表被開發系統。領書單

進書通知

購書單

缺書單

DFD練習—售書系統學生教材購銷系統書庫保管員40領書單進書通知購書單領書單進書通知

進書通知

購書單缺書單

案例I:DFD練習—售書系統

1銷售

2采購書庫保管員

學生F1教材存量表

F2缺書登記表

41領書單進書通知進書通案例II:工資計算系統的頂層(0層)數據流圖42案例II:工資計算系統的頂層(0層)數據流圖42圖4.6工資計算系統第一層數據流圖43圖4.6工資計算系統第一層數據流圖43圖4.7工資計算系統的第二層數據流圖(a)“計算工資”子數據流圖;(b)“工資轉存”子數據流圖44圖4.7工資計算系統的第二層數據流圖44圖4.8工資計算系統的第三層數據流圖45圖4.8工資計算系統的第三層數據流圖45案例分析III應用問題:家庭保安系統46案例分析III應用問題:家庭保安系統46步驟1:建立頂級DFD根據問題域與外部環境之間的相互關系定義問題域的邊界,即問題域與外界環境之間的輸入和輸出關系

-->最高抽象層次§5基于數據流的分析方法47步驟1:建立頂級DFD根據問題域與外部環境之間的相互關系步驟2:自頂向下,功能分解自頂向下、逐步求精對頂級數據流圖進行精化,生成下一級數據流圖對用戶的需求描述進行語法分析動詞構成潛在的處理功能遵循“強內聚,松耦合”原則名詞或名詞短語構成潛在數據流、數據源和外部實體基于數據流的分析方法48步驟2:自頂向下,功能分解自頂向下、逐步求精對頂級數據流圖案例分析:頂級DFD基于數據流的分析方法49案例分析:頂級DFD基于數據流的分析方法49案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理顯示器警報器電話機警報類別顯示信息電話撥號音頻傳感信息用戶命令傳感信息§5基于數據流的分析方法50案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理案例分析:二級DFD基于數據流的分析方法51案例分析:二級DFD基于數據流的分析方法51案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理顯示器警報器電話機警報類別顯示信息電話撥號音頻傳感信息用戶命令傳感信息基于數據流的分析方法52案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命令配置信息庫配置信息啟動/停止命令運行控制信息顯示運行信息配置信息口令設置口令核對有效口令口令信息§5基于數據流的分析方法53案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命在分解、精化過程中,把生成的數據流、數據存儲、外部實體在數據字典中加以定義,對底層轉換在小說明中作出描述步驟2:自頂向下,功能分解§5基于數據流的分析方法54在分解、精化過程中,把生成的數據流、數據存儲、外部實體在數據案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命令配置信息庫配置信息啟動/停止命令運行控制信息顯示運行信息配置信息口令設置口令核對有效口令口令信息§5基于數據流的分析方法55案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命數據字典數據流名稱:有效口令

名字和別名:有效口令數據類型:字符串限制:長度為4個字節相關的轉換列表:運行控制,口令核對…….§5基于數據流的分析方法56數據字典數據流名稱:有效口令§5基于數據流的分析方法56案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命令配置信息庫配置信息啟動/停止命令運行控制信息顯示運行信息配置信息口令設置口令核對有效口令口令信息§5基于數據流的分析方法57案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命小說明處理邏輯名稱:運行控制功能If是停止命令Then向信息顯示提供停止運行信息停止系統運行Else 向信息顯示提供啟動運行信息啟動系統運行EndIf設計約束……...§5基于數據流的分析方法58小說明處理邏輯名稱:運行控制§5基于數據流的分析方法58數據字典數據流名稱:定單別名:無數據類型:日期+產品+數量+……作為輸出流的轉換列表:作為輸入流的轉換列表:使用說明:必須給出各個數據項 解釋性說明:無缺省值:日期=當日日期……59數據字典數據流名稱:定單59數據詞典數據詞典與數據流圖配合,能清楚地表達數據處理的要求詞條描述——對于在數據流圖中每一個被命名的圖形元素,均加以定義,其內容有:名字,別名或編號,分類,描述,定義,位置,其它,等60數據詞典數據詞典與數據流圖配合,能清楚地表達數據處理的要求6(1)數據流詞條描述數據流名:說明:簡要介紹作用即它產生的原因和結果數據流來源:來自何方數據流去向:去向何處數據流組成:數據結構數據量流通量:數據量,流通量61(1)數據流詞條描述數據流名:61(2)數據元素詞條描述數據元素名:類型:數字(離散值,連續值),文字(編碼類型)長度:取值范圍:相關的數據元素及數據結構:62(2)數據元素詞條描述數據元素名:62(3)數據文件詞條描述數據文件名:簡述:存放的是什么數據輸入數據:輸出數據:數據文件組成:數據結構存儲方式:順序,直接,關鍵碼存取頻率:63(3)數據文件詞條描述數據文件名:63(4)加工邏輯詞條描述加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數據流:輸出數據流:加工邏輯:簡述加工程序,加工順序64(4)加工邏輯詞條描述加工名:64(5)源點及匯(終)點詞條描述名稱:外部實體名簡要描述:什么外部實體有關數據流:數目:65(5)源點及匯(終)點詞條描述名稱:外部實體名65數據結構的描述

符號

含義

舉例=被定義為+與

x=a+b[...,...]或[...|...]或

x=[a,b],x=[a|b]{...}或m{...}n重復

x={a},x=3{a}8(...)可選

x=(a)“...”基本數據元素

x=“a”.. 連結符

x=1..966數據結構的描述符號 含義 存折格式67存折格式67存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}50戶名=2{字母}24所號=“001”..“999”帳號=“00000001”..“99999999”開戶日=年+月+日性質=“1”..“6”注:“1”表示普通戶,“5”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復核68存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}13:07:422-5北京某高??捎玫碾娫捥柎a有以下幾類:校內電話號碼由4位數字組成,第1位數字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數字(第1位不是0),若是外地電話則撥3位區碼再撥8位電話號碼(第1位不是0)。請用定義數據字典的方法,定義上述的電話號碼。作業及解答(第3章)6913:07:422-5北京某高??捎玫碾娫捥柎a有以下幾類:13:07:42電話號碼=[校內電話號碼|校外電話號碼]校內電話號碼=非零數字+3位數字//后面繼續定義校外電話號碼=[本市號碼|外地號碼]本市號碼=數字零+8位數字外地號碼=數字零+3位數字+8位數字非零數字=[1|2|3|4|5|6|7|8|9]數字零=03位數字=3{數字}3//3至3個數字8位數字=非零數字+7位數字7位數字=7{數字}7數字=[0|1|2|3|4|5|6|7|8|9]作業及解答(第3章)7013:07:42電話號碼=[校內電話號碼|校外電話號碼]作業13:07:423-3銀行計算機儲蓄系統的工作過程大致如下:儲戶填寫的存款單或取款單由業務員鍵入系統,如果是存款則系統記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲戶;如果是取款而且存款時留有密碼,則系統首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統計算利息并印出利息清單給儲戶。

請用數據流圖描繪本系統的功能,并用實體-聯系圖描繪系統中的數據對象。作業及解答(第3章)7113:07:423-3銀行計算機儲蓄系統的工作過程大致如下13:07:42作業及解答(第3章)作業及解答(第3章)7213:07:42作業及解答(第3章)作業及解答(第3章)7213:07:427313:07:427313:07:42作業及解答(第3章)7413:07:42作業及解答(第3章)7413:07:42ER模型本問題中共有兩類實體,分別是“儲戶”和“儲蓄所”,在它們之間存在“存取款”關系。因為一位儲戶可以在多家儲蓄所存取款,一家儲蓄所擁有多位儲戶,所以“存取款”是多對多(M:N)關系。儲戶的屬性主要有姓名、住址、電話號碼和身份證號碼,儲蓄所的屬性主要是名稱、地址和電話號碼,而數額、類型、到期日期、利率和密碼則是關系類型存取款的屬性。作業及解答(第3章)7513:07:42ER模型作業及解答(第3章)7513:07:42作業及解答(第3章)7613:07:42作業及解答(第3章)76

對數據流圖的每一個基本加工,必須有一個基本加工邏輯說明基本加工邏輯說明必須描述基本加工如何把輸入數據流變換為輸出數據流的加工規則加工邏輯說明必須描述實現加工的策略而不是實現加工的細節加工邏輯說明中包含的信息應是充足的,完備的,有用的,無冗余的基本加工邏輯說明77對數據流圖的每一個基本加工,必須有一個基本加工邏輯說明基本用于寫加工邏輯說明的工具結構化英語判定表判定樹78用于寫加工邏輯說明的工具結構化英語78(1)結構化英語結構化英語的詞匯表由英語命令動詞數據詞典中定義的名字有限的自定義詞邏輯關系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等組成。79(1)結構化英語結構化英語的詞匯表由79是一種介于自然語言和形式化語言之間的語言語言的正文用基本控制結構進行分割,加工中的操作用自然語言短語來表示其基本控制結構有三種:簡單陳述句結構:避免復合語句;重復結構:while_do或

repeat_until結構。判定結構:if_then_else或

case_of結構;80是一種介于自然語言和形式化語言之間的語言80商店業務處理系統中“檢查發貨單”if發貨單金額超過$500then

if欠款超過了60天then在償還欠款前不予批準

else

(欠款未超期)發批準書,發貨單

else

(發貨單金額未超過$500)

if欠款超過60天then發批準書,發貨單及賒欠報告else

(欠款未超期)發批準書,發貨單

81商店業務處理系統中“檢查發貨單”if發貨單金額超過$500(2)判定表如果數據流圖的加工需要依賴于多個邏輯條件的取值,使用判定表來描述比較合適82(2)判定表如果數據流圖的加工需要依賴于多個邏輯條件的取值,以“檢查發貨單”為例83以“檢查發貨單”為例838484(3)判定樹判定樹也是用來表達加工邏輯的一種工具。有時侯它比判定表更直觀。檢查發貨單金額>$500金額$500欠款>60天不發出批準書欠款60天發貨單發出批準書、欠款>60天發出批準書、發貨單及賒欠報告欠款60天發出批準書、發貨單85(3)判定樹判定樹也是用來表達加工邏輯的一種工具。有時侯它比§4分析階段所用圖形一、實體-關系圖數據建模時經常使用數據對象屬性聯系:一對一,一對多,多對多數據規范化理論:1NF、2NF、3NF86§4分析階段所用圖形一、實體-關系圖86二、狀態轉換圖作用:狀態轉換圖(簡稱為狀態圖)通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。此外,狀態圖還指明了作為特定事件的結果系統將做哪些動作(例如,處理數據)。因此,狀態圖提供了行為建模機制(動態建模)87二、狀態轉換圖作用:872.狀態狀態是任何可以被觀察到的系統行為模式,一個狀態代表系統的一種行為模式。狀態規定了系統對事件的響應方式。系統對事件的響應,既可以是做一個(或一系列)動作,也可以是僅僅改變系統本身的狀態,還可以是既改變狀態又做動作。在狀態圖中定義的狀態主要有:初態(即初始狀態)、終態(即最終狀態)和中間狀態。在一張狀態圖中只能有一個初態,而終態則可以有0至多個882.狀態883.事件事件是在某個特定時刻發生的事情,它是對引起系統做動作或(和)從一個狀態轉換到另一個狀態的外界事件的抽象。例如,內部時鐘表明某個規定的時間段已經過去,用戶移動或點擊鼠標等都是事件。簡而言之,事件就是引起系統做動作或(和)轉換狀態的控制信息。格式:事件/動作表達式標準事件:entry(進入一狀態時),exit(退出時),do(指定動作)893.事件事件是在某個特定時刻發生的事情圖3.3狀態圖中使用的主要符號9090三、其它圖形工具層次方框圖層次方框圖用樹形結構的一系列多層次的矩形框描繪數據的層次結構。樹形結構的頂層是一個單獨的矩形框,它代表完整的數據結構,下面的各層矩形框代表這個數據的子集,最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)。例如,描繪一家計算機公司全部產品的數據結構可以用圖3.5中的層次方框圖表示。91三、其它圖形工具層次方框圖91圖3.5層次方框圖的一個例子92922.Warnier圖932.Warnier圖933.IPO圖IPO圖是輸入、處理、輸出圖的簡稱,它是美國IBM公司發展完善起來的一種圖形工具,能夠方便地描繪輸入數據、對數據的處理和輸出數據之間的關系。943.IPO圖949595需求分析階段的工作結果是開發軟件系統的重要基礎,大量統計數字表明,軟件系統中15%的錯誤起源于錯誤的需求。為了提高軟件質量,確保軟件開發成功,降低軟件開發成本,一旦對目標系統提出一組要求之后,必須嚴格驗證這些需求的正確性。一般說來,應該從下述4個方面進行驗證:3.8驗證軟件需求

3.8.1從哪些方面驗證軟件需求的正確性96需求分析階段的工作結果是開發軟件系統的重要基礎,大量統計數字(1)一致性:所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2)完整性:需求必須是完整的,規格說明書應該包括用戶需要的每一個功能或性能。(3)現實性:指定的需求應該是用現有的硬件技術和軟件技術基本上可以實現的。對硬件技術的進步可以做些預測,對軟件技術的進步則很難做出預測,只能從現有技術水平出發判斷需求的現實性。(4)有效性:必須證明需求是正確有效的,確實能解決用戶面對的問題。97(1)一致性:所有需求必須是一致的,任何一條需求不能和其他1.驗證需求的一致性當需求分析的結果是用自然語言書寫的時候,除了靠人工技術審查驗證軟件系統規格說明書的正確性之外,目前還沒有其他更好的“測試”方法。但是,這種非形式化的規格說明書是難于驗證的,特別在目標系統規模龐大、規格說明書篇幅很長的時候,人工審查的效果是沒有保證的,冗余、遺漏和不一致等問題可能沒被發現而繼續保留下來,以致軟件開發工作不能在正確的基礎上順利進行。3.8.2驗證軟件需求的方法981.驗證需求的一致性3.8.2驗證軟件需求的方法98為了克服上述困難,人們提出了形式化的描述軟件需求的方法。當軟件需求規格說明書是用形式化的需求陳述語言書寫的時候,可以用軟件工具驗證需求的一致性(見3.8.3節),從而能有效地保證軟件需求的一致性。2.驗證需求的現實性為了驗證需求的現實性,分析員應該參照以往開發類似系統的經驗,分析用現有的軟、硬件技術實現目標系統的可能性。必要的時候應該采用仿真或性能模擬技術,輔助分析軟件需求規格說明書的現實性。99為了克服上述困難,人們提出了形式化的描述軟件需求的方法。當軟3.驗證需求的完整性和有效性只有目標系統的用戶才真正知道軟件需求規格說明書是否完整、準確地描述了他們的需求。因此,檢驗需求的完整性,特別是證明系統確實滿足用戶的實際需要(即,需求的有效性),只有在用戶的密切合作下才能完成。然而許多用戶并不能清楚地認識到他們的需要(特別在要開發的系統是全新的,以前沒有使用類似系統的經驗時,情況更是如此),不能有效地比較陳述需求的語句和實際需要的功能。只有當他們有某種工作著的軟件系統可以實際使用和評價時,才能完整確切地提出他們的需要。1003.驗證需求的完整性和有效性100理想的做法是先根據需求分析的結果開發出一個軟件系統,請用戶試用一段時間以便能認識到他們的實際需要是什么,在此基礎上再寫出正式的“正確的”規格說明書。但是,這種做法將使軟件成本增加一倍,因此實際上幾乎不可能采用這種方法。使用原型系統是一個比較現實的替代方法,開發原型系統所需要的成本和時間可以大大少于開發實際系統所需要的。用戶通過試用原型系統,也能獲得許多寶貴的經驗,從而可以提出更符合實際的要求。101理想的做法是先根據需求分析的結果開發出一個軟件系統,請用戶試使用原型系統的目的,通常是顯示目標系統的主要功能而不是性能。為了達到這個目的可以使用本章3.2.4小節介紹的方法快速建立原型系統,并且可以適當降低對接口、可靠性和程序質量的要求,此外還可以省掉許多文檔資料方面的工作,從而可以大大降低原型系統的開發成本。102使用原型系統的目的,通常是顯示目標系統的主要功能而不是性能。為了更有效地保證軟件需求的正確性,特別是為了保證需求的一致性,需要有適當的軟件工具支持需求分析工作。這類軟件工具應該滿足下列要求:(1)必須有形式化的語法(或表),因此可以用計算機自動處理使用這種語法說明的內容;(2)使用這個軟件工具能夠導出詳細的文檔;(3)必須提供分析(測試)規格說明書的不一致性和冗余性的手段,并且應該能夠產生一組報告指明對完整性分析的結果;3.8.3用于需求分析的軟件工具103為了更有效地保證軟件需求的正確性,特別是為了保證需求的一致性(4)使用這個軟件工具之后,應該能夠改進通信狀況。作為需求工程方法學的一部分,在1977年設計完成了RSL(需求陳述語言)。RSL中的語句是計算機可以處理的,處理以后把從這些語句中得到的信息集中存放在一個稱為ASSM(抽象系統語義模型)的數據庫中。有一組軟件工具處理ASSM數據庫中的信息以產生出用PASCAL語言書寫的模擬程序,從而可以檢驗需求的一致性、完整性和現實性。104(4)使用這個軟件工具之后,應該能夠改進通信狀況。1041977年美國密執安大學開發了PSL/PSA(問題陳述語言/問題陳述分析程序)系統。這個系統是CADSAT(計算機輔助設計和規格說明分析工具)的一部分,它的基本結構類似于RSL。其中PSL是用來描述系統的形式語言,PSA是處理PSL描述的分析程序。用PSL描述的系統屬性放在一個數據庫中。一旦建立起數據庫之后即可增加信息、刪除信息或修改信息,并且保持信息的一致性。PSA對數據庫進行處理以產生各種報告,測試不一致性或遺漏,并且生成文檔資料。1051977年美國密執安大學開發了PSL/PSA(問題陳述語言/PSL/PSA系統的功能主要有下述4種:(1)描述任何應用領域的信息系統;(2)創建一個數據庫保存對該信息系統的描述符;(3)對描述符施加增加、刪除和更改等操作;(4)產生格式化的文檔和關于規格說明書的各種分析報告。PSL/PSA系統用描述符從系統信息流、系統結構、數據結構、數據導出、系統規模、系統動態、系統性質和項目管理等8個方面描述信息系統。106PSL/PSA系統的功能主要有下述4種:106一旦用PSL對系統做了完整描述,就可以調用PSA產生一組分析報告,其中包括所有修改規格說明數據庫的記錄,用各種形式描述數據庫信息的參照報告(包括圖形形式的描述),關于項目管理信息的總結報告,以及評價數據庫特性的分析報告。借助PSL/PSA系統可以邊對目標系統進行自頂向下的逐層分解,邊將需求分析過程中遇到的數據流、文件、處理等對象用PSL描述出來并輸入到PSL/PSA系統中。PSA將對輸入信息作一致性和完整性檢查,并且保存這些描述信息。107一旦用PSL對系統做了完整描述,就可以調用PSA產生一組分析PSL/PSA系統的主要優點是它改進了文檔質量,能保證文檔具有完整性、一致性和無二義性,從而可以減少管理和維護的費用。數據存放在數據庫中,便于增加、刪除和更改,這也是它的一個優點。108PSL/PSA系統的主要優點是它改進了文檔質量,能保證文檔具小結

需求分析是軟件工程中最重要的一個環節需求分析的主要工作是做調查研究,詳細、準確的解決系統做什么的問題需求分析的結果要產生一份詳盡的需求規格說明書,包括系統詳細的數據流圖和數據字典需求分析109小結需求分析是軟件工程中最重要的一個環節需求分析的主要軟件工程---需求分析110軟件工程---需求分析1軟件生存周期可行性研究需求分析概要設計詳細設計實現集成測試確認測試使用與維護退役軟件定義軟件開發軟件使用與維護軟件生命周期111軟件生存周期可行性研究需求分析概要設計詳細設計實現集成測試第3章需求分析開發一個軟件系統前,必須了解用戶的期望和要求--->軟件需求--->需求分析過程

重要性:軟件開發的基礎和前提最終目標軟件系統驗收的標準避免或者盡早剔除早期的錯誤需求分析112第3章需求分析開發一個軟件系統前,必須了解用戶的期望和第3章需求分析需求分析113第3章需求分析需求分析4

困難:片面性,不完全模糊性,不準確不一致性,歧義等等因此必須使用系統的方法、借助于一系列行之有效的技術和工具進行需求分析需求分析需求分析應用系統復雜,龐大114困難:片面性,不完全模糊性,不準確不一致性,歧需求分析需求分析需求分析的任務:

準確的回答“系統必須做什么?”仍然回答“What”,而不是“How”,但更細致、精確(合同的擬定)115需求分析需求分析需求分析的任務:

準確的回答“系統必須做分析方法都遵守下述準則盡管目前有許多不同的用于需求分析的結構化分析方法,但是,所有這些分析方法都遵守下述準則:(1)必須理解并描述問題的信息域,根據這條準則應該建立數據模型。(2)必須定義軟件應完成的功能,這條準則要求建立功能模型。(3)必須描述作為外部事件結果的軟件行為,這條準則要求建立行為模型。(4)必須對描述信息、功能和行為的模型進行分解,用層次的方式展示細節。116分析方法都遵守下述準則盡管目前有許多不同的用于需求分§1.需求分析的任務1、確定對系統的綜合要求⑴功能要求(functionalrequirements):系統必須做什么?⑵性能要求(performance

requirements):做得怎樣?例:responsetime,memory,back-upmemory,security,……⑶運行要求(operationalrequirements):運行環境、軟硬件配置等。⑷未來可能的擴充要求(possibleevolution):§1.需求分析的任務117§1.需求分析的任務1、確定對系統的綜合要求§1.需求分(5)可靠性和可用性需求(6)出錯處理與安全需求(7)接口需求(8)約束因素等118(5)可靠性和可用性需求9§1.需求分析的任務2、分析數據(系統的數據要求)⑴建立概念模型(conceptualmodels):E-RDiagram⑵形象描繪數據結構:DataHierarchy,WarnierDiagram,IPO⑶數據結構規范化(Normalization)3、導出邏輯模型:抽取其“做什么”的本質

4、修正計劃:重估成本、進度等119§1.需求分析的任務2、分析數據(系統的數據要求)3、導出§1.需求分析的任務5、開發原型系統(Prototyping)檢驗方案的正確性系統是否滿足需求“樣機試用”CDG系統原型是對系統的主要功能和行為的直觀描述120§1.需求分析的任務5、開發原型系統(Prototypin§2.需求分析的步驟§2.需求分析的步驟121§2.需求分析的步驟§2.需求分析的步驟12§2.需求分析的步驟1、調查研究(1)沿數據流圖回溯:數據流圖的輸出端是系統的最終目的。向回確定每個數據元素的來源,可加細數據流圖及數據字典,并將相關算法記錄在IPO圖中。(2)用戶復查§2.需求分析的步驟基本思想:“自頂向下,逐步求精”,抽象和分解122§2.需求分析的步驟1、調查研究§2.需求分析的步驟§2.需求分析的步驟2、分析與綜合(1)問題的具體分析:細化數據流圖

加細前后的I/O須相同。

分解到須考慮具體實現的代碼時即可仃止(2)方案的綜合§2.需求分析的步驟123§2.需求分析的步驟2、分析與綜合§2.需求分析的步驟3、修正計劃:成本和進度的更準確估計4、書寫文檔:《需求規格說明書》不需分解有補充修正無補充修正分析追蹤數據流圖用戶復查細化數據流圖需要分解§2.需求分析的步驟§2.需求分析的步驟1243、修正計劃:成本和進度的更準確估計不需分解有補充無補充修正需求規格說明書封面:

文檔編號:

版本號:

文檔名稱:項目名稱:項目負責人:

年月日編寫:核對:審核:批準:開發單位:

125需求規格說明書封面:需求規格說明書內容:⑴系統規格說明:

系統概貌功能要求

性能要求運行要求

可能增加的要求DFD

IPO⑵數據要求:

DD

Hierarchy或WarnierDiagram⑶用戶系統描述——初步用戶手冊:從用戶的觀點考慮系統

系統功能、性能

使用與步驟等⑷修正的開發計劃:

成本估計資源使用計劃

進度計劃126需求規格說明書⑴系統規格說明:⑵數據要求:⑶用戶系統描述5需求評審任務:多方人員一起對SRS進行復核和評審,以確保SRS全面、準確、一致地反映用戶需求原則:支持各方(用戶,需求分析人員、設計人員)共同參與評審工作§2.需求分析的步驟1275需求評審任務:多方人員一起對SRS進行復核和評審,抽象(模型化)源于實驗科學,主要要素為數據采集方法和假設的形式說明,模型的構造與預測實驗分析結果分析.在為可能的算法數據結構和系統結構等構造模型時使用此過程.抽象的結果是概念符號模型抽象(模型化)源于實驗科學,主要要素為數據采集方法和假設的形模型(model)模型:現實世界某些重要方面的表示。有時我們使用術語“抽象”來表示模型,因為我們從現實世界中抽象出對我們特別有用的東西。模型(model)模型:現實世界某些重要方面的表示。需求分析的步驟當前系統目標系統物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實例化怎么做做什么當前系統目標系統需求定義需求分析的步驟當前目標物理邏輯邏輯物理模型化抽象化具體化實例邏輯模型和物理模型

模型是對對象系統的形式化的特征抽象,概括性或近似地表示;

構造模型的過程是一個抽象、分析的過程。對象系統模型系統抽象(映射)模型應用模型構造的過程邏輯模型和物理模型對象模型抽象(映射)模型應用模型

邏輯模型物理模型

(本質模型、概念模型)

(實施模型、技術模型)現行系統目標系統描述重要的業務功能,無論系統是如何實施的。描述現實系統是如何在物理上實現的。描述新系統的主要業務功能和用戶新的需求,無論系統應如何實施。描述新系統是如何實施的(包括技術)。邏輯模型物理模型現目描述重要的業務§3基于數據流的分析方法§3.1數據流圖(DataFlowDiagram)§3.2畫數據流圖的原則§3.3數據字典(DataDictionary)§3.4基于數據流的分析方法133§3基于數據流的分析方法§3.1數據流圖(DataF§3.1數據流圖(DataFlowDiagram)數據流圖(DFD)是一種描述數據以及對數據進行加工轉換的圖形工具一個DFD主要由以下四個部分組成:數據流加工(轉換)外部實體數據存儲數據流名稱轉換名稱外部實體名稱數據存儲名稱§3數據流圖134§3.1數據流圖(DataFlowDiagram)數據§3.2畫數據流圖的原則先找系統數據的輸入輸出點,畫出外部實體§3數據流圖確定外部實體的輸入輸出數據流由源點外部實體的數據流出發,逐漸進行加工,完成整個數據流圖一張圖的處理超過5~9個時,應該進行分層,把最基本的系統功能做為第0層,從第1層開始對每個模塊的功能進行細化135§3.2畫數據流圖的原則先找系統數據的輸入輸出點,畫出外部數據流圖例子訂票員訂票員預定機票準備機票記帳訂票單航班目錄航班號

航班費用帳單機票記帳數據庫帳目§3數據流圖136數據流圖例子訂票員訂票員預定準備記帳訂票單航班目錄航班號§3.3數據字典(DataDictionary)面向數據流分析需要引進數據字典(DD)DD以一種準確、簡潔的方式對DFD中數據流、外部實體、數據存儲作說明DD對DFD中的六類元素進行定義說明,按照元素不同,其中的數據條目內容也不相同數據流數據項(數據元素)數據結構數據存儲處理邏輯(基本加工)外部實體§4數據字典137§3.3數據字典(DataDictionary)面向數數據字典例子:(數據流)數據流名稱:訂票單別名:無

來源:訂票員去向:定票

數據流量:200份/天組成:編號+姓名+年齡+身份證號+電話號碼+訂票日期+ 目的地……§4數據字典138數據字典例子:(數據流)數據流名稱:訂票單§4數據數據字典例子:(數據項)數據項名稱:航班號

別名:HBH

數據類型:字符串長度:16位

取值范圍及含義:

第1位:進口/國產第2-4位:類別第5-7位:規格第8-11位:源機場編號第12-15位:目的機場編號……§4數據字典139數據字典例子:(數據項)數據項名稱:航班號§4數據數據字典例子:(數據存儲)數據存儲名稱:航班目錄

別名:無

來源:無去向:定票

組成:航班號+飛行日期+載客量+出發地+目的地+票價-組織方式:索引文件,以航班號為關鍵字……§4數據字典140數據字典例子:(數據存儲)數據存儲名稱:航班目錄§4數據字典例子:(處理邏輯)數據加工名稱:定票

別名:無

輸入:訂票單輸出:航班、費用

激發條件:接受到訂票單處理邏輯:

if單據=訂票單 thenif單據是否過期 then是否有該航班,是否有機票……§4數據字典141數據字典例子:(處理邏輯)數據加工名稱:定票§4數§3.4基于數據流的分析方法DFD是系統中各處理子功能以及它們之間數據流動的圖形表示--刻劃系統功能和行為DFD為描述和建模的工具和手段如何利用DFD進行需求分析,描述用戶需求?§5基于數據流的分析方法142§3.4基于數據流的分析方法DFD是系統中各處理子功能數據流圖數據流圖中的主要圖形元素數據加工(數據變換)數據源點或終點(外部實體)數據流數據存儲文件143數據流圖數據流圖中的主要圖形元素數據加工(數據變換)數據源面向數據流分析方法運用了抽象和分解的技術.提供一些經驗知識和規則以指導需求分析基于數據流的分析方法§5基于數據流的分析方法144面向數據流分析方法運用了抽象和分解的技術.提供一些經驗知識和數據流與數據加工之間的關系145數據流與數據加工之間的關系36數據流圖的層次結構為了表達數據處理過程的數據加工情況,需要采用層次結構的數據流圖。按照系統的層次結構進行逐步分解,并以分層的數據流圖反映這種結構關系,能清楚地表達和容易理解整個系統146數據流圖的層次結構為了表達數據處理過程的數據加工情況,需要采分層的數據流圖147分層的數據流圖38在多層數據流圖中,頂層流圖僅包含一個加工,它代表被開發系統。它的輸入流是該系統的輸入數據,輸出流是系統所輸出數據底層流圖是指其加工不需再做分解的數據流圖,它處在最底層中間層流圖則表示對其上層父圖的細化。它的每一加工可能繼續細化,形成子圖。148在多層數據流圖中,頂層流圖僅包含一個加工,它代表被開發系統。領書單

進書通知

購書單

缺書單

DFD練習—售書系統學生教材購銷系統書庫保管員149領書單進書通知購書單領書單進書通知

進書通知

購書單缺書單

案例I:DFD練習—售書系統

1銷售

2采購書庫保管員

學生F1教材存量表

F2缺書登記表

150領書單進書通知進書通案例II:工資計算系統的頂層(0層)數據流圖151案例II:工資計算系統的頂層(0層)數據流圖42圖4.6工資計算系統第一層數據流圖152圖4.6工資計算系統第一層數據流圖43圖4.7工資計算系統的第二層數據流圖(a)“計算工資”子數據流圖;(b)“工資轉存”子數據流圖153圖4.7工資計算系統的第二層數據流圖44圖4.8工資計算系統的第三層數據流圖154圖4.8工資計算系統的第三層數據流圖45案例分析III應用問題:家庭保安系統155案例分析III應用問題:家庭保安系統46步驟1:建立頂級DFD根據問題域與外部環境之間的相互關系定義問題域的邊界,即問題域與外界環境之間的輸入和輸出關系

-->最高抽象層次§5基于數據流的分析方法156步驟1:建立頂級DFD根據問題域與外部環境之間的相互關系步驟2:自頂向下,功能分解自頂向下、逐步求精對頂級數據流圖進行精化,生成下一級數據流圖對用戶的需求描述進行語法分析動詞構成潛在的處理功能遵循“強內聚,松耦合”原則名詞或名詞短語構成潛在數據流、數據源和外部實體基于數據流的分析方法157步驟2:自頂向下,功能分解自頂向下、逐步求精對頂級數據流圖案例分析:頂級DFD基于數據流的分析方法158案例分析:頂級DFD基于數據流的分析方法49案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理顯示器警報器電話機警報類別顯示信息電話撥號音頻傳感信息用戶命令傳感信息§5基于數據流的分析方法159案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理案例分析:二級DFD基于數據流的分析方法160案例分析:二級DFD基于數據流的分析方法51案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理顯示器警報器電話機警報類別顯示信息電話撥號音頻傳感信息用戶命令傳感信息基于數據流的分析方法161案例分析:一級DFD傳感器控制面板傳感器監控用戶命令處理案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命令配置信息庫配置信息啟動/停止命令運行控制信息顯示運行信息配置信息口令設置口令核對有效口令口令信息§5基于數據流的分析方法162案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命在分解、精化過程中,把生成的數據流、數據存儲、外部實體在數據字典中加以定義,對底層轉換在小說明中作出描述步驟2:自頂向下,功能分解§5基于數據流的分析方法163在分解、精化過程中,把生成的數據流、數據存儲、外部實體在數據案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命令配置信息庫配置信息啟動/停止命令運行控制信息顯示運行信息配置信息口令設置口令核對有效口令口令信息§5基于數據流的分析方法164案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命數據字典數據流名稱:有效口令

名字和別名:有效口令數據類型:字符串限制:長度為4個字節相關的轉換列表:運行控制,口令核對…….§5基于數據流的分析方法165數據字典數據流名稱:有效口令§5基于數據流的分析方法56案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命令配置信息庫配置信息啟動/停止命令運行控制信息顯示運行信息配置信息口令設置口令核對有效口令口令信息§5基于數據流的分析方法166案例分析:二級DFD用戶命令預處理用戶命令系統配置配置命小說明處理邏輯名稱:運行控制功能If是停止命令Then向信息顯示提供停止運行信息停止系統運行Else 向信息顯示提供啟動運行信息啟動系統運行EndIf設計約束……...§5基于數據流的分析方法167小說明處理邏輯名稱:運行控制§5基于數據流的分析方法58數據字典數據流名稱:定單別名:無數據類型:日期+產品+數量+……作為輸出流的轉換列表:作為輸入流的轉換列表:使用說明:必須給出各個數據項 解釋性說明:無缺省值:日期=當日日期……168數據字典數據流名稱:定單59數據詞典數據詞典與數據流圖配合,能清楚地表達數據處理的要求詞條描述——對于在數據流圖中每一個被命名的圖形元素,均加以定義,其內容有:名字,別名或編號,分類,描述,定義,位置,其它,等169數據詞典數據詞典與數據流圖配合,能清楚地表達數據處理的要求6(1)數據流詞條描述數據流名:說明:簡要介紹作用即它產生的原因和結果數據流來源:來自何方數據流去向:去向何處數據流組成:數據結構數據量流通量:數據量,流通量170(1)數據流詞條描述數據流名:61(2)數據元素詞條描述數據元素名:類型:數字(離散值,連續值),文字(編碼類型)長度:取值范圍:相關的數據元素及數據結構:171(2)數據元素詞條描述數據元素名:62(3)數據文件詞條描述數據文件名:簡述:存放的是什么數據輸入數據:輸出數據:數據文件組成:數據結構存儲方式:順序,直接,關鍵碼存取頻率:172(3)數據文件詞條描述數據文件名:63(4)加工邏輯詞條描述加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入數據流:輸出數據流:加工邏輯:簡述加工程序,加工順序173(4)加工邏輯詞條描述加工名:64(5)源點及匯(終)點詞條描述名稱:外部實體名簡要描述:什么外部實體有關數據流:數目:174(5)源點及匯(終)點詞條描述名稱:外部實體名65數據結構的描述

符號

含義

舉例=被定義為+與

x=a+b[...,...]或[...|...]或

x=[a,b],x=[a|b]{...}或m{...}n重復

x={a},x=3{a}8(...)可選

x=(a)“...”基本數據元素

x=“a”.. 連結符

x=1..9175數據結構的描述符號 含義 存折格式176存折格式67存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}50戶名=2{字母}24所號=“001”..“999”帳號=“00000001”..“99999999”開戶日=年+月+日性質=“1”..“6”注:“1”表示普通戶,“5”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復核177存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}13:07:422-5北京某高??捎玫碾娫捥柎a有以下幾類:校內電話號碼由4位數字組成,第1位數字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數字(第1位不是0),若是外地電話則撥3位區碼再撥8位電話號碼(第1位不是0)。請用定義數據字典的方法,定義上述的電話號碼。作業及解答(第3章)17813:07:422-5北京某高??捎玫碾娫捥柎a有以下幾類:13:07:42電話號碼=[校內電話號碼|校外電話號碼]校內電話號碼=非零數字+3位數字//后面繼續定義校外電話號碼=[本市號碼|外地號碼]本市號碼=數字零+8位數字外地號碼=數字零+3位數字+8位數字非零數字=[1|2|3|4|5|6|7|8|9]數字零=03位數字=3{數字}3//3至3個數字8位數字=非零數字+7位數字7位數字=7{數字}7數字=[0|1|2|3|4|5|6|7|8|9]作業及解答(第3章)17913:07:42電話號碼=[校內電話號碼|校外電話號碼]作業13:07:423-3銀行計算機儲蓄系統的工作過程大致如下:儲戶填寫的存款單或取款單由業務員鍵入系統,如果是存款則系統記錄存款人姓名、住址(或電話號碼)、身份證號碼、存款類型、存款日期、到期日期、利率及密碼(可選)等信息,并印出存單給儲戶;如果是取款而且存款時留有密碼,則系統首先核對儲戶密碼,若密碼正確或存款時未留密碼,則系統計算利息并印出利息清單給儲戶。

請用數據流圖描繪本系統的功能,并用實體-聯系圖描繪系統中的數據對象。作業及解答(第3章)18013:07:423-3銀行計算機儲蓄系統的工作過程大致如下13:07:42作業及解答(第3章)作業及解答(第3章)18113:07:42作業及解答(第3章)作業及解答(第3章)7213:07:4218213:07:427313:07:42作業及解答(第3章)18313:07:42作業及解答(第3章)7413:07:42ER模型本問題中共有兩類實體,分別是“儲戶”和“儲蓄所”,在它們之間存在“存取款”關系。因為一位儲戶可以在多家儲蓄所存取款,一家儲蓄所擁有多位儲戶,所以“存取款”是多對多(M:N)關系。儲戶的屬性主要有姓名、住址、電話號碼和身份證號碼,儲蓄所的屬性主要是名稱、地址和電話號碼,而數額、類型、到期日期、利率和密碼則是關系類型存取款的屬性。作業及解答(第3章)18413:07:42ER模型作業及解答(第3章)7513:07:42作業及解答(第3章)18513:07:42作業及解答(第3章)76

對數據流圖的每一個基本加工,必須有一個基本加工邏輯說明基本加工邏輯說明必須描述基本加工如何把輸入數據流變換為輸出數據流的加工規則加工邏輯說明必須描述實現加工的策略而不是實現加工的細節加工邏輯說明中包含的信息應是充足的,完備的,有用的,無冗余的基本加工邏輯說明186對數據流圖的每一個基本加工,必須有一個基本加工邏輯說明基本用于寫加工邏輯說明的工具結構化英語判定表判定樹187用于寫加工邏輯說明的工具結構化英語78(1)結構化英語結構化英語的詞匯表由英語命令動詞數據詞典中定義的名字有限的自定義詞邏輯關系詞IF_THEN_ELSE、CASE_OF、WHILE_DO、

REPEAT_UNTIL等組成。188(1)結構化英語結構化英語的詞匯表由79是一種介于自然語言和形式化語言之間的語言語言的正文用基本控制結構進行分割,加工中的操作用自然語言短語來表示其基本控制結構有三種:簡單陳述句結構:避免復合語句;重復結構:while_do或

repeat_until結構。判定結構:if_then_else或

case_of結構;189是一種介于自然語言和形式化語言之間的語言80商店業務處理系統中“檢查發貨單”if發貨單金額超過$500then

if欠款超過了60天then在償還欠款前不予批準

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論