
![[教育]趙良軟件工程面向數(shù)據(jù)流的分析方法_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-9/19/23/4f7283a1-85cf-4928-8465-681abd5b367c/4f7283a1-85cf-4928-8465-681abd5b367c1.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第 4-6 講 需求分析建模,一個小型圖書館管理系統(tǒng),需完成以下工作:1借書、還書;2在圖書館中增加/刪除一本書;3按照作者名或?qū)I(yè)領(lǐng)域檢索一批書;4找出被某位讀者借出的一批書;5找出最近借走某本圖書的讀者。該系統(tǒng)有兩類用戶:圖書管理員與普通讀者。功能4供普通讀者使用。功能1、2、5供圖書管理員使用。系統(tǒng)必須滿足條件:1館中所有未借出的書籍能夠供讀者隨時借閱2在同一時刻,一本書不能既被借出,
2、又被借閱。3一個讀者一次借出的書籍?dāng)?shù)目不能超過預(yù)定值。,問題A圖書館管理 R.A.Kemmerer,需求是什么?,映射,,抽象 (Abstract),計算中抽象的本質(zhì)和使用。源于實驗科學(xué),主要要素是數(shù)據(jù)采集方法和假設(shè)的形式說明,模型的構(gòu)造與預(yù)測實驗分析結(jié)果分析。在為可能的算法、數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)等構(gòu)造模型時使用抽象。抽象的結(jié)果是概念符號模型。,需求分析的過程,1 通過對現(xiàn)實環(huán)境的調(diào)查,獲得當(dāng)前系統(tǒng)的物理模型。,學(xué)生,學(xué)生
3、購買教材的實際處理流程:當(dāng)前系統(tǒng)物理模型,需求分析的過程,2 去掉具體模型中的非本質(zhì)因素:抽取現(xiàn)實系統(tǒng)的實質(zhì),抽象出當(dāng)前系統(tǒng)的邏輯模型。,學(xué)生,學(xué)生購買教材的邏輯模型,需求分析的過程,3 分析當(dāng)前系統(tǒng)與目標系統(tǒng)的差別,建立目標系統(tǒng)的邏輯模型 。,計算機教材管理系統(tǒng)的邏輯模型,需求分析的過程,4 對目標系統(tǒng)的邏輯模型進行細化、改進與優(yōu)化5 需求分析的驗證,,,,,,模型化,抽象化,具體化,實例化,怎么做,做什么,當(dāng)前系統(tǒng),
4、目標系統(tǒng),需求定義,需求分析的過程,軟件需求分析實現(xiàn)以下幾個目標:給出軟件系統(tǒng)的數(shù)據(jù)領(lǐng)域、功能領(lǐng)域和行為領(lǐng)域的模型;提出詳細的功能說明,確定設(shè)計約束條件,規(guī)定性能要求;密切與用戶的聯(lián)系,使用戶明確自己的任務(wù),以便實現(xiàn)上述兩項目標。,需求分析的目標,用戶需求分類 功能性需求:定義了系統(tǒng)做什么(描述系統(tǒng)必須支持 的功能和過程)。 非功能性需求(技術(shù)需求): 定義了系統(tǒng)工作時的特性描述操作環(huán)境和性能目標)。,需求獲
5、取的內(nèi)容,系統(tǒng)做什么?系統(tǒng)何時做什么?系統(tǒng)何時及如何修改或升級?,功能需求,軟件開發(fā)的技術(shù)性指標。例如:存儲容量限制執(zhí)行速度、響應(yīng)時間吞吐量,性能需求,硬件設(shè)備:機型、外設(shè)、接口、 地點、分布、溫度、 濕度、磁場干擾等軟件:操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫等,環(huán)境需求,有來自其它系統(tǒng)的輸入嗎?到自其它系統(tǒng)的輸出嗎?對數(shù)據(jù)格式有規(guī)定嗎?對數(shù)據(jù)存儲介質(zhì)有規(guī)定嗎?,界面需求,用戶
6、類型?各種用戶的熟練程度?需受何種訓(xùn)練?用戶理解、使用系統(tǒng)的難度?用戶錯誤操作系統(tǒng)的可能性?,用戶或人的因素,結(jié)構(gòu)化開發(fā)方法,,,,,,,,,面向?qū)ο箝_發(fā)方法,需求分析建模方法,按照信息的流向、結(jié)構(gòu)、和內(nèi)容三個方面可以將現(xiàn)有的需求分析建模方法劃分為:面向信息流向:結(jié)構(gòu)化分析方法面向信息內(nèi)容:面向?qū)ο蠓治龇椒枋鱿到y(tǒng)需求時可以從系統(tǒng)的功能、行為和信息三個方面進行,側(cè)重點可以不一樣。,結(jié)構(gòu)化分析方法S
7、A,七十年代未期 Douglas Ross提出結(jié)構(gòu)化分析的術(shù)語DeMarco[DEM79] 進行推廣,給出分析員可以創(chuàng)建信息流模型的主要圖形記號。建議將“數(shù)據(jù)字典”和“處理說明”作為信息流模型的補充,並提供方法應(yīng)用的實例。,SA的結(jié)構(gòu),,,,,,E-R圖,狀態(tài)變遷圖(STD圖),控制規(guī)約,數(shù)據(jù)字典(DD),數(shù)據(jù)流圖(DFD),,結(jié)構(gòu)化分析方法,數(shù)據(jù)分析工具:ER圖或者EER(擴展ER)圖。功能分析工具:DFD、DD、結(jié)構(gòu)化語言
8、。行為分析工具:狀態(tài)遷移圖、Petri網(wǎng)等。SA主要針對數(shù)據(jù)處理領(lǐng)域,因此,系統(tǒng)分析的側(cè)重點在于功能分析和數(shù)據(jù)分析,而行為分析使用得較少。,結(jié)構(gòu)化分析方法SA,采用自頂向下、逐層進行功能分解的系統(tǒng)分析方法來定義系統(tǒng)的需求。方法的特點:利用數(shù)據(jù)流圖(Data Flow Diagram,DFD)來幫助理解問題,對問題進行分析。一般工具:DFD、數(shù)據(jù)字典、結(jié)構(gòu)化語言等 適用于分析大型的數(shù)據(jù)處理系
9、統(tǒng)。,結(jié)構(gòu)化分析,結(jié)構(gòu)化分析遵循的三條基本原則:抽象分解映射三個主要目標:描述用戶需要建立創(chuàng)建軟件設(shè)計的基礎(chǔ)定義軟件完成后可被確認的一組需求,導(dǎo)入數(shù)據(jù)流圖,數(shù)據(jù)流圖標記,,外部實體,位于軟件系統(tǒng)邊界之外的信息生產(chǎn)者或消費者,加工,轉(zhuǎn)換數(shù)據(jù)流的處理過程,又叫轉(zhuǎn)換,數(shù)據(jù)流,數(shù)據(jù)源,在加工之間有向流動的數(shù)據(jù)項或數(shù)據(jù)項集合,為一個或多個加工提供數(shù)據(jù)源或數(shù)據(jù)存儲服務(wù)的緩沖區(qū)、文件或數(shù)據(jù)庫,人事部門,人事工資管理系統(tǒng),會計
10、部門,職工,人事工資管理系統(tǒng)的頂層DFD范例,,職工基本信息管理子系統(tǒng),1,,2,,,人事工資管理系統(tǒng)0層DFD范例,,職工工資管理子系統(tǒng),,,3,職工出缺勤管理子系統(tǒng),,人事部門,會計部門,職工,,,,,,,,,,職工出缺勤報表,職工出缺勤信息,職工工資信息,職工工資報表,職工基本信息,職工工資單,分層數(shù)據(jù)流圖及編號規(guī)則,源點 1,終點 1,源點 2,終點 2,,G,,,,,頂層數(shù)據(jù)流圖,0層、1層數(shù)據(jù)流圖,
11、0層,1層,1,2,3,,,,,,,1.1,1.2,,,,3.1,3.2,3.3,3.4,,,,,,,,頂層(不編號),,,0層,1層,數(shù)據(jù)流圖的命名規(guī)則,加工:動詞短語,而不用處理、操作這些籠統(tǒng)的詞數(shù)據(jù)流:名詞或名詞短語.數(shù)據(jù)流的名字要代表整個數(shù)據(jù)流的內(nèi)容,而不僅僅是它的某些部分,不使用缺乏具體含義的名字,如數(shù)據(jù)、信息等.文件:名詞或名詞短語,注意事項,數(shù)據(jù)流圖上只限于前述四種基本圖形元素。每個加工至少有一個輸入數(shù)據(jù)流和一個輸
12、出數(shù)據(jù)流。在數(shù)據(jù)流圖中,需按層給加工編號。父圖與子圖的平衡。圖上每個元素都必須有名字。不要混淆DFD和程序流程圖和業(yè)務(wù)流程圖!,實例分析1,營業(yè)員將儲戶填寫的存款單或取款單鍵入系統(tǒng),如果是存款,系統(tǒng)記錄存款人的姓名、地址、存款類型、存款日期、利率等信息,并打印出存款單給用戶;如果是取款,系統(tǒng)計算利息并打印利息清單給用戶。,實例分析,頂層數(shù)據(jù)流圖,實例分析2,機票預(yù)定系統(tǒng)旅行社把預(yù)定機票的旅客信息(姓名、年齡、單位、身份證號碼、
13、旅行時間、目的地等)輸入機票預(yù)定系統(tǒng)。系統(tǒng)為旅客安排航班,打印出取票通知單(附有應(yīng)交的帳款)給旅客。旅客在飛機起飛的前一天憑取票通知等交款取票,系統(tǒng)檢驗無誤,系統(tǒng)輸出機票給旅客。,如何畫數(shù)據(jù)流圖?,畫出系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。找出源點、終點、加工和文件畫出頂層數(shù)據(jù)流圖,如何畫數(shù)據(jù)流圖?,畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖(子系統(tǒng))。,預(yù)定機票1,旅客取票2,,,分層DFD實例,一個簡單的考務(wù)處理系統(tǒng)功能描述:(1)對考生
14、送來的報名單進行檢查;(2)對合格的報名單編好準考證號后將準考證送給考生,并將匯總后的考生名單送給閱卷站;(3)對閱卷站送來的成績單進行檢查,并根據(jù)考試中心制定的合格標準審定合格者;(4)制作考生通知單(含成績及合格/不合格標志)送給考生;(5)按地區(qū)進行成績分類統(tǒng)計和試題難度分析,產(chǎn)生統(tǒng)計分析表送給考試中心。,,考生,,,考務(wù)處理系統(tǒng),考試中心,,閱卷站,,,,,,不合格報名單,報名單,準考證,考生通知單,,,成績
15、清單,合格標準,,錯誤成績清單,考生名單,,統(tǒng)計分析表,頂層數(shù)據(jù)流圖,,考生報名,,,報名單,準考證,,1,,統(tǒng)計成績,2,,,不合格報名單,,考生通知單,,,,統(tǒng)計分析表,,合格標準,考生名單,,0層數(shù)據(jù)流圖,,,成績清單,錯誤成績清單,考生信息,一層數(shù)據(jù)流圖(1),,檢查報名單,,,報名單,準考證,,1.1,,編準考證號,1.2,,,不合格報名單,考生信息,考生名單,,合格報名單,,,登記考生,1.3,一
16、層數(shù)據(jù)流圖(2),,檢查成績清單,,2.1,,審定合格者,2.2,,,正確成績清單,,制作通知單,2.3,,分析統(tǒng)計成績,2.4,,分析試題難度,2.5,,,,考生通知單,難度分析表,合格標準,,,分類統(tǒng)計表,,,,成績清單,,錯誤成績清單,,經(jīng)審定的成績清單,數(shù)據(jù)流圖分解原則,DFD可以用來表示一個系統(tǒng)或軟件在任何層次上的抽象.較大型軟件系統(tǒng)DFD分成多層(子圖、父圖)概念。頂層數(shù)據(jù)流圖把系統(tǒng)或軟件作為一個單
17、一的功能來描述。應(yīng)當(dāng)注意環(huán)境的輸入和輸出。每個過程的每次細化一般控制在3-4個分過程。所有圓圈和箭頭應(yīng)用有意義的名稱命名。一個名稱只能出現(xiàn)一次。沿著輸入流的方向,一次最好只對一個加工細化。,數(shù)據(jù)字典,DD是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算有共同的理解。數(shù)據(jù)字典要對數(shù)據(jù)流圖中出現(xiàn)的所有名字(數(shù)據(jù)流,加工,文件)進行定義。數(shù)據(jù)字典的條目由
18、四大類組成,分別是:數(shù)據(jù)流條目、數(shù)據(jù)項條目、文件條目、加工條目(小說明)。,數(shù)據(jù)字典的內(nèi)容,名稱數(shù)據(jù)項或控制項、數(shù)據(jù)存儲或外部實體的主要名稱。要求命名唯一性、一致性、“見名知義”。別名(alias)最早使用的另一個名稱何處用/如何用使用數(shù)據(jù)或控制項的加工列表,以及如何使用。內(nèi)容描述表示內(nèi)容的符號。附加信息關(guān)于數(shù)據(jù)類型、預(yù)設(shè)值、限制或局限等信息。,DD內(nèi)容描述符號表示,操作符 含義描述 =
19、 定義為 + 與(順序結(jié)構(gòu)) {...} 重復(fù)n次(循環(huán)結(jié)構(gòu)) […|…] 或(選擇結(jié)構(gòu)) “…” 基本數(shù)據(jù)元素 ( … ) 可選 m{…}n 界域 … 連接符,F1:航班信息文件={航空公司名稱+航班號+起點+終點+日期
20、 +起飛時間+降落時間}航空公司名稱=2{字母}4 航班號=3{十進制數(shù)字}3 字母=“A”…“Z” 十進制數(shù)字=“0”…“9”起點=終點=1{漢字}10 起飛時間=降落時間=時+分 時=“00”…“23” 分=“00”…“59” 日期=年+月+日 年=[2000|2001|2002|2004] 月=“01”…“12” 日=“01”…“31”,重復(fù)項:起點=終點=1{漢字}10
21、 航空公司名稱=2{字母}4 航班號=3{十進制數(shù)字}3組合項:日期=年+月+日 起飛時間=降落時間=時+分選擇項:年=[2000|2001|2002|2004]原數(shù)據(jù)項:字母=“A”…“Z” 十進制數(shù)字=“0”…“9” 時=“00”…“23” 分=“00”…“59” 月=“01”…“12”
22、 日=“01”…“31”,數(shù)據(jù)流條目,給出DFD中某個數(shù)據(jù)流的定義,通常包括:數(shù)據(jù)流標識數(shù)據(jù)流來源數(shù)據(jù)流去向數(shù)據(jù)流的數(shù)據(jù)組成流動屬性描述:頻率、數(shù)據(jù)量,發(fā)票,領(lǐng)書單,審查并開發(fā)票,開領(lǐng)書單,,,,無效書單,,學(xué)生,1,2,,,,,各班學(xué)生用 書 表,舉例:,,,,,,,,學(xué)生,,,,,,,,,教材存量表,數(shù)據(jù)流條目說明舉例,數(shù)據(jù)流名:購書單別名: 無簡述: 學(xué)生購書時填寫的項目來源: 學(xué)生去向:
23、 加工1“審查并開發(fā)票”組成: (學(xué)號)+姓名+{書號+數(shù)量}數(shù)據(jù)流量:1000次/周 高峰值:開學(xué)期間1000次/天,數(shù)據(jù)存儲條目(數(shù)據(jù)文件詞條),對某個文件的定義,包括:文件名描述數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲方式關(guān)鍵碼存取頻率和數(shù)據(jù)量安全性要求,數(shù)據(jù)存儲條目說明舉例,文件名:庫存記錄別名: 無簡述:存放庫存所有可供貨物的信息組成:貨物名稱+編號+生產(chǎn)廠家 +單價+庫存量組織方式:索引文件,以貨物編號
24、為 關(guān)鍵字查詢要求:要求能夠立即查詢,數(shù)據(jù)項條目(數(shù)據(jù)元素詞條),不可再分解的數(shù)據(jù)單位,包括:名稱描述數(shù)據(jù)類型長度(精度)取值范圍及缺省值計量單位相關(guān)數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)項條目說明舉例,數(shù)據(jù)項名:貨物編號別名:G-No,G-num簡述:本公司的所有貨物的編號類型:字符串長度:10取值范圍及含義: 第1位:[J|G] (進口/國產(chǎn)) 第2~4位:LB01… LB29
25、 (類別) 第5~7位:“A00”…“A99” (規(guī)格) 第8~10位:“001”…“999”(品名編號),基本加工條目,加工條目用來說明DFD中基本加工的處理邏輯,由于下層的加工是由上層的基本加工分解而來,只要有了基本加工的說明,就可以理解其他加工。主要包括:加工名編號激發(fā)條件優(yōu)先級輸入輸出加工邏輯,基本加工條目說明舉例,加工名:預(yù)定機票編號:1激發(fā)條件:接收到訂票單優(yōu)先級:普通輸入:訂票單輸出:取票通
26、知單、機票信息加工邏輯:根據(jù)預(yù)定機票的旅客信息 IF 存在滿足旅客要求的航班 THEN 安排航班,打印取票通知單 ELSE 通知旅客無滿足要求的航班 ENDIF,數(shù)據(jù)字典的特點,DD應(yīng)具特點(1)通過名字可方便查閱數(shù)據(jù)定義(2)無冗余 (3)易更新修改,結(jié)構(gòu)化分析實施步驟,1.確定系統(tǒng)邊界, 畫出系統(tǒng)環(huán)境圖2.自頂向下,畫出各層數(shù)據(jù)流圖3.定義數(shù)據(jù)
27、字典,結(jié)構(gòu)化分析方法的弊病,基于功能分析和數(shù)據(jù)分析,將功能和數(shù)據(jù)分離。以功能為主,數(shù)據(jù)只是被動的信息載體。當(dāng)系統(tǒng)行為發(fā)生變化時,系統(tǒng)維護非常困難。DFD中不涉及系統(tǒng)的控制信息,因此SA不適合于分析以控制信息為主的系統(tǒng)需求。,小結(jié),需求分析建模的過程需求分析建模的方法結(jié)構(gòu)化分析面向?qū)ο蠓治鯦ackson分析結(jié)構(gòu)化分析數(shù)據(jù)建模功能建模和信息流行為建模,實例練習(xí)-銷售管理系統(tǒng),某企業(yè)銷售管理系統(tǒng)的功能為:(1)接受顧客的
28、訂單,檢驗訂單,若庫存有貨,進行供貨處理,即修改庫存,給倉庫開備貨單;若庫存量不足,將缺貨訂單登入缺貨記錄.(2)根據(jù)缺貨記錄進行缺貨統(tǒng)計,將缺貨通知單發(fā)給采購部門,以便采購.(3)根據(jù)采購部門發(fā)來的進貨單處理
29、
30、
31、
32、
33、
34、
35、
36、
37、
38、
39、
40、
41、
42、
43、
44、
45、
46、
47、
48、
49、
50、
51、
52、
53、
54、
55、
56、
57、
58、
59、
60、
61、
62、
63、
64、
65、
66、
67、
68、
69、
70、
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- [教育]趙良軟件工程軟件測試
- [教育]趙良軟件工程軟件維護
- [教育]趙良軟件工程2軟件過程模型
- [教育]趙良軟件工程結(jié)構(gòu)化設(shè)計概念和原理
- 面向動態(tài)數(shù)據(jù)流的分類方法研究.pdf
- 基于控制流與數(shù)據(jù)流的面向方面測試方法研究.pdf
- 面向Agent軟件工程方法研究.pdf
- 面向符號數(shù)據(jù)流的演化聚類分析.pdf
- 面向信息共享的數(shù)據(jù)流隱私保護方法研究.pdf
- 面向?qū)崟r數(shù)據(jù)流的軌跡數(shù)據(jù)分析平臺.pdf
- 面向?qū)ο蟪绦蚯衅械臄?shù)據(jù)流分析.pdf
- 面向類不均衡數(shù)據(jù)流的分類方法研究.pdf
- 面向協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽取研究.pdf
- 面向Storm的數(shù)據(jù)流編程模型與優(yōu)化方法研究.pdf
- 面向軟件工程數(shù)據(jù)挖掘的開發(fā)測試技術(shù).pdf
- 面向數(shù)據(jù)流的數(shù)據(jù)聚類算法研究.pdf
- 面向?qū)崟r數(shù)據(jù)流的聚類分析算法研究.pdf
- 軟件工程面向?qū)ο蠓治雠c設(shè)計
- 面向數(shù)據(jù)流的Java程序指針分析技術(shù)研究.pdf
評論
0/150
提交評論