版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章
軟件需求
(2)1軟件工程-2010-第四章軟件需求第四章內(nèi)容概要需求概述需求分析的任務(wù)需求過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明數(shù)據(jù)流圖與數(shù)據(jù)字典實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其它圖形工具驗(yàn)證軟件需求★2軟件工程-2010-第四章軟件需求DFD的符號或數(shù)據(jù)的源點(diǎn)/終點(diǎn)或變換數(shù)據(jù)的處理/加工/變換或數(shù)據(jù)存儲(文件)數(shù)據(jù)流3軟件工程-2010-第四章軟件需求源點(diǎn)和終點(diǎn)源點(diǎn)和終點(diǎn)是系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。源點(diǎn)和終點(diǎn)是為了幫助理解系統(tǒng)接口而引入的。加工/變換對數(shù)據(jù)進(jìn)行處理的單元。在分層數(shù)據(jù)流圖中,要對加工進(jìn)行編號,以便于管理。加工也要選取適當(dāng)?shù)拿郑蕴岣邤?shù)據(jù)流圖的易讀性。DFD的符號4軟件工程-2010-第四章軟件需求數(shù)據(jù)流由一組數(shù)據(jù)項(xiàng)組成。例如,數(shù)據(jù)流“訂票單”由姓名、住址、電話、航班號、日期、始點(diǎn)、終點(diǎn)等數(shù)據(jù)項(xiàng)組成;數(shù)據(jù)流“航班”由航班號、日期和姓名等數(shù)據(jù)項(xiàng)組成數(shù)據(jù)流可以從加工流向加工,如“航班”、“費(fèi)用”;可以從源點(diǎn)流向加工,或從加工流向終點(diǎn);可以從加工流向數(shù)據(jù)存儲或從數(shù)據(jù)存儲流向加工DFD的符號5軟件工程-2010-第四章軟件需求文件用來暫時(shí)存儲數(shù)據(jù)的。如果加工要讀文件,則數(shù)據(jù)流的方向是從文件到加工;如果加工要寫文件,則數(shù)據(jù)流的方向是從加工到文件;如果加工既要讀文件又要寫文件,則數(shù)據(jù)流的方向是雙向的DFD的符號6軟件工程-2010-第四章軟件需求旅行社旅客預(yù)定機(jī)票機(jī)票準(zhǔn)備記帳航班目錄記帳文件訂票單航班費(fèi)用帳單機(jī)票DFD的符號7軟件工程-2010-第四章軟件需求DFD的符號++AB⊕C有A或有B,但不能A、B同時(shí)存在,就有C8軟件工程-2010-第四章軟件需求假設(shè)一家工廠的采購部每天需要一張定貨報(bào)表,報(bào)表按零件編號順序,表中列出所有需要再次定貨的零件。對于每個(gè)需要再次定貨的零件應(yīng)該列出下列數(shù)據(jù):零件編號,零件名稱,定貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件入庫或出庫稱為事務(wù),通過放在倉庫中的CRT終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫存量少于庫存量臨界值時(shí)就應(yīng)再次定貨。怎樣畫DFD:定貨系統(tǒng)的例子9軟件工程-2010-第四章軟件需求怎樣畫DFD:定貨系統(tǒng)的例子源點(diǎn)/終點(diǎn)處理采購員倉庫管理員產(chǎn)生報(bào)表處理事務(wù)數(shù)據(jù)流數(shù)據(jù)存儲定貨報(bào)表
零件編號零件名稱定貨數(shù)量目前價(jià)格主要供應(yīng)者次要供應(yīng)者事務(wù)
零件編號
事務(wù)類型
數(shù)量定貨信息
(同定貨報(bào)表)庫存清單零件編號
庫存量庫存量臨界值10軟件工程-2010-第四章軟件需求怎樣畫DFD:定貨系統(tǒng)的例子定貨系統(tǒng)的基本系統(tǒng)模型11軟件工程-2010-第四章軟件需求怎樣畫DFD:定貨系統(tǒng)的例子定貨系統(tǒng)的功能級數(shù)據(jù)流圖12軟件工程-2010-第四章軟件需求怎樣畫DFD:定貨系統(tǒng)的例子把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖13軟件工程-2010-第四章軟件需求把基本系統(tǒng)模型加上源點(diǎn)和終點(diǎn)作為頂層數(shù)據(jù)流圖自頂向下逐層畫數(shù)據(jù)流圖的步驟旅行社旅客飛機(jī)訂票系統(tǒng)訂票單機(jī)票帳單畫出各層數(shù)據(jù)流圖畫出總的數(shù)據(jù)流圖14軟件工程-2010-第四章軟件需求分層的數(shù)據(jù)流圖源點(diǎn)1源點(diǎn)2終點(diǎn)2終點(diǎn)1G頂層0層132一層圖號11.11.23.43.12.22.12.33.23.3圖號2圖號315軟件工程-2010-第四章軟件需求為分層數(shù)據(jù)流圖和加工編號的原則:(1)子圖的圖號就是分解的父圖中加工的編號(2)子圖中的加工的編號是由子圖號、小數(shù)點(diǎn),局部順序號組成二層圖號3.3圖號2.2圖號3.12.2.12.2.23.3.13.3.33.3.23.1.23.1.1分層的數(shù)據(jù)流圖16軟件工程-2010-第四章軟件需求分層的數(shù)據(jù)流圖17軟件工程-2010-第四章軟件需求畫數(shù)據(jù)流圖不是畫流程圖父圖和子圖的平衡問題局部文件的問題分解的深度和層次問題 命名問題畫數(shù)據(jù)流圖需要注意的幾個(gè)問題18軟件工程-2010-第四章軟件需求父圖和子圖的平衡問題12435763.13.23.33.43.63.5ACBYEXWVFDGHDFGH19軟件工程-2010-第四章軟件需求父圖和子圖的平衡問題12344.44.34.24.1AGCBFDEEHLFG1323.13.2考生成績錄取通知書考生姓名準(zhǔn)考證號通訊地址考生成績20軟件工程-2010-第四章軟件需求文件(數(shù)據(jù)存儲)總是局部于分層數(shù)據(jù)流圖的某一層或某幾層,所以數(shù)據(jù)流圖中引入的文件都是局部文件局部文件的問題12.1322.242.3ABCABCDEGFFED21軟件工程-2010-第四章軟件需求一個(gè)加工的分解最好不要超過7(9)個(gè)子加工。超過七個(gè)時(shí),可以用增加層次,減少子加工數(shù)的方法。分解在邏輯上應(yīng)合理、自然,不能硬性分割。也就是說,要根據(jù)問題的邏輯特性進(jìn)行分解。在保證數(shù)據(jù)流的易理解的前提下,盡量減少分解層次。這樣可以減少層次的界面。分解要均勻。即在一張數(shù)據(jù)流圖中,不要有這樣的情況:有些加工已是基本加工,另一些加工還要分解好幾層,但絕對均勻不可能,不要相差太大分解的深度和層次問題22軟件工程-2010-第四章軟件需求數(shù)據(jù)流命名名字應(yīng)代表整個(gè)數(shù)據(jù)流(有時(shí)也會把現(xiàn)實(shí)環(huán)境中傳遞的一組數(shù)據(jù)中最重要的那個(gè)數(shù)據(jù)的名字作為數(shù)據(jù)流的名字)命名問題考生成績分類后的考生成績錄取分類23軟件工程-2010-第四章軟件需求數(shù)據(jù)流命名(續(xù))現(xiàn)實(shí)環(huán)境中,傳遞的一些表格、單據(jù)的名字可以直接作為數(shù)據(jù)流的名字。命名問題車間調(diào)度全廠統(tǒng)計(jì)生產(chǎn)報(bào)表統(tǒng)計(jì)表日報(bào)表月報(bào)表24軟件工程-2010-第四章軟件需求數(shù)據(jù)流命名(續(xù))不要使用空洞的、缺乏具體含義的名字不要把控制流作為數(shù)據(jù)流。如果在為某個(gè)數(shù)據(jù)流命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD命名問題錄取分類取下一個(gè)考生成績25軟件工程-2010-第四章軟件需求加工(處理)命名頂層的加工名可以是軟件項(xiàng)目的名字不要使用空洞的、缺乏具體含義的名字通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過程如果在為某個(gè)加工命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD命名問題26軟件工程-2010-第四章軟件需求加工(處理)命名(續(xù))加工的名字最好由一個(gè)謂語動詞加上一個(gè)賓語組成。如“計(jì)算運(yùn)費(fèi)”、“準(zhǔn)備機(jī)票”。也可以把賓語和謂語動詞顛倒書寫。如“運(yùn)費(fèi)計(jì)算”、“機(jī)票準(zhǔn)備”名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能通常名字中僅包括一個(gè)動詞,如果必須用兩個(gè)動詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些命名問題27軟件工程-2010-第四章軟件需求作為交流信息的工具作為分析和設(shè)計(jì)的工具用數(shù)據(jù)流圖輔助物理系統(tǒng)的設(shè)計(jì)時(shí),以圖中不同處理的定時(shí)要求為指南,能夠在數(shù)據(jù)流圖上畫出許多組自動化邊界,每組自動化邊界可能意味著一個(gè)不同的物理系統(tǒng),因此可以根據(jù)系統(tǒng)的邏輯模型考慮系統(tǒng)的物理實(shí)現(xiàn)可以從數(shù)據(jù)流圖出發(fā)映射出軟件結(jié)構(gòu)數(shù)據(jù)流圖的用途28軟件工程-2010-第四章軟件需求這種劃分自動化邊界的方法暗示以批量方式更新庫存清單數(shù)據(jù)流圖的用途29軟件工程-2010-第四章軟件需求數(shù)據(jù)流圖的用途另一種劃分自動化邊界的方法建議以聯(lián)機(jī)方式更新庫存清單30軟件工程-2010-第四章軟件需求數(shù)據(jù)字典是對數(shù)據(jù)流圖中包含的所有元素的定義的集合數(shù)據(jù)詞典與數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型數(shù)據(jù)字典應(yīng)該由對下列4類元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量(即數(shù)據(jù)元素)、數(shù)據(jù)存儲、處理數(shù)據(jù)字典31軟件工程-2010-第四章軟件需求數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑。一個(gè)數(shù)據(jù)流詞條應(yīng)有以下幾項(xiàng)內(nèi)容:數(shù)據(jù)流名:說明:簡要介紹作用即它產(chǎn)生的原因和結(jié)果;數(shù)據(jù)流來源:來自何方;數(shù)據(jù)流去向:去向何處;數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu);每個(gè)數(shù)據(jù)量的流通量:數(shù)據(jù)量,流通量;數(shù)據(jù)流條目(詞條)32軟件工程-2010-第四章軟件需求定義絕大多數(shù)復(fù)雜事物的方法,都是用被定義的事物的成分的某種組合表示這個(gè)事物,這些組成成分又由更低層的成分的組合來定義。順序即以確定次序連接兩個(gè)或多個(gè)分量選擇即從兩個(gè)或多個(gè)可能的元素中選取一個(gè)重復(fù)即把指定的分量重復(fù)零次或多次可選即一個(gè)分量是可有可無的(重復(fù)零次或一次)數(shù)據(jù)流條目(詞條)33軟件工程-2010-第四章軟件需求符號
含義
舉例=“被定義為”+與x=a+b,x由a和b組成[...,...]或x=[a,b],x由a或由b組成[...|...]或x=[a|b],x由a或由b組成{...}重復(fù)x={a},x由0個(gè)或多個(gè)a組成m{...}n重復(fù)x=3{a}8,x由3到8個(gè)a組成(...)可選x=(a),在x中a可有可無“...”基本數(shù)據(jù)元素x=“a”,x是取值為a的元素.. 連結(jié)符x=1..9,x可取1到9中任一值數(shù)據(jù)流條目中出現(xiàn)的符號34軟件工程-2010-第四章軟件需求數(shù)據(jù)流條目的例子35軟件工程-2010-第四章軟件需求數(shù)據(jù)流條目的例子36軟件工程-2010-第四章軟件需求存折=戶名+所號+帳號+開戶日+性質(zhì)+(印密)+1{存取行}50戶名=2{字母}24所號=“001”..“999”帳號=“00000001”..“99999999”開戶日=年+月+日性質(zhì)=“1”..“6”注:“1”表示普通戶,“5”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核37軟件工程-2010-第四章軟件需求數(shù)據(jù)元素是數(shù)據(jù)處理中最小的,不可再分的單位,它直接反映事物的某一特征。數(shù)據(jù)元素名:類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型)長度:取值范圍:相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)元素條目描述38軟件工程-2010-第四章軟件需求數(shù)據(jù)元素條目描述在實(shí)際應(yīng)用中,對數(shù)據(jù)流和數(shù)據(jù)元素的描述可以靈活地剪裁,數(shù)據(jù)流元素的描述也可以采用和數(shù)據(jù)流相似的方式。例如:名字(數(shù)據(jù)流名):定貨報(bào)表別名:定貨信息描述(說明):每天一次送給采購員的需要定貨的零件表定義(數(shù)據(jù)流組成):定貨報(bào)表=零件編號+零件名稱+定貨數(shù)量+目前價(jià)格+主要供應(yīng)者+次要供應(yīng)者位置(數(shù)據(jù)流去向):輸出到打印機(jī)名字:定貨數(shù)量別名:描述:某個(gè)零件一次定貨的數(shù)量定義:定貨數(shù)量=1{數(shù)字}5位置(相關(guān)的數(shù)據(jù)結(jié)構(gòu)):定貨報(bào)表定貨信息39軟件工程-2010-第四章軟件需求數(shù)據(jù)文件是數(shù)據(jù)結(jié)構(gòu)保存的地方。數(shù)據(jù)文件名:簡述:存放的是什么數(shù)據(jù);輸入數(shù)據(jù);輸出數(shù)據(jù);數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu);存儲方式:順序,直接,關(guān)鍵碼;存取頻率;數(shù)據(jù)存儲(文件)條目描述40軟件工程-2010-第四章軟件需求加工到后來就是一段程序,它的表達(dá)方式有判定表、判定樹、結(jié)構(gòu)化英語等,在一個(gè)詞條中全部描述有困難。主要內(nèi)容有:加工名:加工編號:反映該加工的層次;簡要描述:加工邏輯及功能簡述;輸入數(shù)據(jù)流;輸出數(shù)據(jù)流;加工邏輯:簡述加工程序,加工順序;處理(加工)邏輯條目描述41軟件工程-2010-第四章軟件需求
結(jié)構(gòu)化英語(StructuredEnglish)判定表(DecisionTable)判定樹(DecisionTree)用于寫加工邏輯說明的工具42軟件工程-2010-第四章軟件需求是一種介于自然語言和形式化語言之間的語言。結(jié)構(gòu)化英語的詞匯表由英語命令動詞;數(shù)據(jù)詞典中定義的名字;有限的自定義詞;控制結(jié)構(gòu)關(guān)鍵詞IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等組成。結(jié)構(gòu)化英語43軟件工程-2010-第四章軟件需求語言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語言短語來表示其基本控制結(jié)構(gòu)有三種:簡單陳述句結(jié)構(gòu);重復(fù)結(jié)構(gòu):while_do或repeat_until結(jié)構(gòu);判定結(jié)構(gòu):if_then_else或
case_of結(jié)構(gòu);結(jié)構(gòu)化英語44軟件工程-2010-第四章軟件需求if發(fā)貨單金額超過$500thenif欠款超過了60天then在償還欠款前不予批準(zhǔn)else(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單else(發(fā)貨單金額未超過$500)if欠款超過60天then發(fā)批準(zhǔn)書,發(fā)貨單及賒欠報(bào)告else(欠款未超期)發(fā)批準(zhǔn)書,發(fā)貨單
商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”45軟件工程-2010-第四章軟件需求如果數(shù)據(jù)流圖的加工需要依賴于多個(gè)邏輯條件的取值,使用判定表來描述比較合適判定表46軟件工程-2010-第四章軟件需求商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”47軟件工程-2010-第四章軟件需求判定樹也是用來表達(dá)加工邏輯的一種工具。有時(shí)侯它比判定表更直觀。檢查發(fā)貨單金額>$500金額$500欠款>60天不發(fā)出批準(zhǔn)書欠款60天發(fā)貨單發(fā)出批準(zhǔn)書、欠款>60天發(fā)出批準(zhǔn)書、發(fā)貨單及賒欠報(bào)告欠款60天發(fā)出批準(zhǔn)書、發(fā)貨單判定樹48軟件工程-2010-第四章軟件需求房產(chǎn)管理系統(tǒng)旨在用計(jì)算機(jī)對房產(chǎn)進(jìn)行管理,包括住房的分配、調(diào)整和計(jì)算房租等。用戶可以查詢住房情況和房租金額,還可以對房產(chǎn)進(jìn)行一些統(tǒng)計(jì),給出統(tǒng)計(jì)表格,以便掌握全面的住房情況。房管部門首先把住戶要求(按照統(tǒng)一的格式由用戶填寫)輸入進(jìn)來,系統(tǒng)檢查要求的合法性,如不合法,系統(tǒng)拒絕接受。如是合法要求,根據(jù)要求類型處理。假定住戶要求分三類:分房要求、調(diào)房要求、退房要求。三種類型的要求分別進(jìn)行不同的處理。分房要求根據(jù)分房單,先核準(zhǔn)住戶夠不夠分房資格,這要根據(jù)住戶的情況,從住房標(biāo)準(zhǔn)文件中讀出住標(biāo)準(zhǔn)進(jìn)行核準(zhǔn),如不夠分房標(biāo)準(zhǔn),則不予分房,如夠分房標(biāo)準(zhǔn),則輸出核準(zhǔn)后的分房單,然后再根據(jù)分房單進(jìn)行住房分配。分配住房要從房產(chǎn)文件中讀出相應(yīng)的空房信息,如房號、面積、單位面積房租等,并登記相應(yīng)的住戶信息,如戶主姓名、部門、住戶分?jǐn)?shù)、家庭人口等,再寫回房產(chǎn)文件中去,同時(shí)寫入住房文件中去,輸出分配后的住房單。同時(shí)進(jìn)行房租計(jì)算,計(jì)算好的房租寫入到房租文件中去。
調(diào)房處理和退房處理與分房處理相似。
咨詢要求分查詢住戶情況、查詢房租和查詢?nèi)肿》壳闆r(統(tǒng)計(jì))三種。查詢住房情況可根據(jù)住戶名從住房文件中讀出該住戶的住房情況并打印出來。查詢房租可根據(jù)住戶名從房租文件讀出該住戶的房租信息并打印出來。統(tǒng)計(jì)要求做一些統(tǒng)計(jì)處理后打印出統(tǒng)計(jì)表。數(shù)據(jù)流分析實(shí)例49軟件工程-2010-第四章軟件需求房產(chǎn)管理部門住戶房產(chǎn)管理系統(tǒng)住戶要求咨詢住房情況統(tǒng)計(jì)表頂層數(shù)據(jù)流圖50軟件工程-2010-第四章軟件需求1檢查合法性3咨詢處理住戶要求咨詢2要求處理合法的咨詢合法的住戶要求住房情況統(tǒng)計(jì)表1檢查合法性3咨詢處理住戶要求咨詢2要求處理合法的咨詢合法的住戶要求住房情況統(tǒng)計(jì)表0層數(shù)據(jù)流圖51軟件工程-2010-第四章軟件需求2.1要求類型處理2.4退房處理2.3調(diào)房處理2.2分房處理房產(chǎn)文件住戶要求合法的分房單調(diào)房單退房單一層圖號:252軟件工程-2010-第四章軟件需求一層圖號:3合法的咨詢3.1咨詢類別處理3.5打印處理3.4房產(chǎn)統(tǒng)計(jì)3.3房租查詢3.2住房查詢住房文件房租文件房產(chǎn)文件查詢住房情況要求查詢房租要求統(tǒng)計(jì)要求統(tǒng)計(jì)表房租住房記錄住房情況53軟件工程-2010-第四章軟件需求二層圖號2.22.2.1核準(zhǔn)住房條件2.2.3房租計(jì)算2.2.2分配住房分房單住房標(biāo)準(zhǔn)文件房產(chǎn)文件住房文件房租文件核準(zhǔn)后的分房單住房單54軟件工程-2010-第四章軟件需求2.3.1審查調(diào)房2.3.3房租核計(jì)2.3.2調(diào)房處理住房標(biāo)準(zhǔn)文件房產(chǎn)文件住房文件房租文件審核后的調(diào)房單住房單退房單二層圖號2.3調(diào)房單55軟件工程-2010-第四章軟件需求二層圖號2.42.4.1退房處理2.4.2消去房租退房單房產(chǎn)文件住房文件房租文件審核后的退房單56軟件工程-2010-第四章軟件需求房管部門住戶檢查合法性要求處理類型核對條件住房分配住房房租計(jì)算審查調(diào)房退房處理房產(chǎn)統(tǒng)計(jì)咨詢類別處理住房查詢房租查詢打印處理消去房租調(diào)房處理房租核計(jì)房租文件住房標(biāo)準(zhǔn)文件住房文件房產(chǎn)文件住房文件住房文件房租文件房產(chǎn)文件57軟件工程-2010-第四章軟件需求數(shù)據(jù)詞典1、數(shù)據(jù)流條目住戶要求=戶主+[分房要求|調(diào)房要求|退房要求]分房要求=部門+職稱+家庭人口+住戶分?jǐn)?shù)+要求住房面積調(diào)房要求=部門+職稱+家庭人口+住房分?jǐn)?shù)+原住房面積+原房號+要求調(diào)房面積退房要求=部門+房號住房情況=戶主+部門+職稱+家庭人口+住房分?jǐn)?shù)+住房面積+房租+房號咨詢要求=戶主+[住房情況咨詢|房租咨詢|統(tǒng)計(jì)要求]統(tǒng)計(jì)表={住房面積+已分住房數(shù)+空房數(shù)}分房單=戶主+部門+職稱+住房分?jǐn)?shù)+要求住房面積調(diào)房單=戶主+部門+職稱+住房分?jǐn)?shù)+原住房面積+原房號+要求調(diào)房面積退房單=戶主+房號房號=樓號+房間號58軟件工程-2010-第四章軟件需求文件條目文件名:住房標(biāo)準(zhǔn)文件組成:{住房面積+最低住房分?jǐn)?shù)}組織:按住房面積大小遞增排列文件名:房產(chǎn)文件組成:{房號+住房面積+分配標(biāo)志+每平方米房租}組織:按房號遞增排列文件名:住房文件組成:{戶主+部門+職稱+家庭成員+住房分?jǐn)?shù)+房號+住房面積}組織:按戶主名拼音字母順序排列文件名:房租文件組成:{住房情況}組織:按戶主名拼音字母順序排列59軟件工程-2010-第四章軟件需求小說明(加工邏輯說明)加工編號:1加工名:檢查合法性加工邏輯:檢查輸入要求的合法性有關(guān)信息:當(dāng)有要求輸入時(shí)只此加工加工編號:2.1加工名:要求類型處理加工邏輯:根據(jù)住戶要求選擇case1:要求分房,輸出分房單case2:要求調(diào)房,輸出調(diào)房單case3:要求退房,輸出退房單有關(guān)信息:當(dāng)有合法住戶要求輸入時(shí)執(zhí)行此加工60軟件工程-2010-第四章軟件需求加工編號:3.1加工名:咨詢類型處理加工邏輯:根據(jù)咨詢要求選擇:case1:查詢住房case2:查詢房租case3:統(tǒng)計(jì)要求有關(guān)信息:當(dāng)有咨詢要求時(shí)執(zhí)行此加工加工編號:3.2加工名:住房查詢加工邏輯:根據(jù)查詢要求的住戶名從住房文件讀出住房記錄有關(guān)信息:有住房查詢要求時(shí)執(zhí)行此加工加工編號:3.3加工名:房租查詢加工邏輯:根據(jù)查詢要求的戶主名從房租文件讀出房租記錄有關(guān)信息:有房租查詢要求時(shí)執(zhí)行此加工61軟件工程-2010-第四章軟件需求加工編號:3.4加工名:統(tǒng)計(jì)房產(chǎn)加工邏輯:讀房產(chǎn)文件,按面積分類,統(tǒng)計(jì)已分和未分配的住房數(shù)輸出統(tǒng)計(jì)表有關(guān)信息:有統(tǒng)計(jì)要求時(shí)執(zhí)行此加工加工編號:3.5加工名:打印處理加工邏輯:將住房記錄或房租記錄變換成住房情況打印住房情況有關(guān)信息:收到住房記錄或房租記錄是執(zhí)行此加工加工編號:2.2.1加工名:核準(zhǔn)住房條件加工邏輯:根據(jù)分房要求的住房面積從住房標(biāo)準(zhǔn)文件讀出住房標(biāo)準(zhǔn)62軟件工程-2010-第四章軟件需求
IF住房分?jǐn)?shù)>=最地住房分?jǐn)?shù)THEN輸出審核后的住房單ELSE取消分房資格有關(guān)信息:當(dāng)有分房單輸入時(shí)執(zhí)行此加工加工編號:2.2.2加工名:分配住房加工邏輯:從房產(chǎn)文件讀出一個(gè)合適的住房記錄把分房單和房產(chǎn)文件的房產(chǎn)記錄的有關(guān)信息拼成住房文件的記錄,輸出分房單并把這個(gè)記錄寫入住房文件中在房產(chǎn)文件的記錄中填寫分配標(biāo)志并把這個(gè)記錄寫入房產(chǎn)文件中有關(guān)信息:收到核準(zhǔn)后的分房單時(shí)執(zhí)行此加工加工編號:2.2.3加工名:房租計(jì)算加工邏輯:根據(jù)分房單計(jì)算房租并寫入房租文件有關(guān)信息:收到住房單時(shí)執(zhí)行此加工63軟件工程-2010-第四章軟件需求第四章內(nèi)容概要需求概述需求分析的任務(wù)需求過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明數(shù)據(jù)流圖與數(shù)據(jù)字典實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其它圖形工具驗(yàn)證軟件需求★64軟件工程-2010-第四章軟件需求概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)對數(shù)據(jù)建立的模型。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的現(xiàn)實(shí)環(huán)境,而且與在軟件系統(tǒng)中的實(shí)現(xiàn)方法無關(guān)。數(shù)據(jù)模型中包含3種相互關(guān)聯(lián)的信息:數(shù)據(jù)對象、數(shù)據(jù)對象的屬性及數(shù)據(jù)對象彼此間相互連接的關(guān)系實(shí)體-聯(lián)系圖65軟件工程-2010-第四章軟件需求數(shù)據(jù)對象是對軟件必須理解的復(fù)合信息的抽象,由一組屬性來定義的實(shí)體數(shù)據(jù)對象彼此間是有關(guān)聯(lián)的數(shù)據(jù)對象只封裝了數(shù)據(jù)而沒有對施加于數(shù)據(jù)上的操作外部實(shí)體(例如,產(chǎn)生或使用信息的任何事物)、事物(例如,報(bào)表)、行為(例如,打電話)、事件(例如,響警報(bào))、角色(例如,教師、學(xué)生)、單位(例如,會計(jì)科)、地點(diǎn)(例如,倉庫)或結(jié)構(gòu)(例如,文件)等數(shù)據(jù)對象66軟件工程-2010-第四章軟件需求屬性定義了數(shù)據(jù)對象的性質(zhì)應(yīng)該根據(jù)對所要解決的問題的理解,來確定特定數(shù)據(jù)對象的一組合適的屬性屬性67軟件工程-2010-第四章軟件需求數(shù)據(jù)對象彼此之間相互連接的方式稱為聯(lián)系聯(lián)系可分為以下3種類型:一對一聯(lián)系(1∶1)一對多聯(lián)系(1∶N)多對多聯(lián)系(M∶N)聯(lián)系也可能有屬性聯(lián)系68軟件工程-2010-第四章軟件需求實(shí)體-聯(lián)系圖的符號69軟件工程-2010-第四章軟件需求第四章內(nèi)容概要需求概述需求分析的任務(wù)需求過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明數(shù)據(jù)流圖與數(shù)據(jù)字典實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其它圖形工具驗(yàn)證軟件需求★70軟件工程-2010-第四章軟件需求數(shù)據(jù)規(guī)范化的目的:為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異?;騽h除異常,簡化修改數(shù)據(jù)的過程通常用“范式(normalforms)”定義消除數(shù)據(jù)冗余的程度數(shù)據(jù)規(guī)范化71軟件工程-2010-第四章軟件需求第一范式:每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡單值而不含內(nèi)部結(jié)構(gòu)第一范式(1NF)72軟件工程-2010-第四章軟件需求例如,如下的數(shù)據(jù)庫表是符合第一范式的:字段1字段2字段3字段4
而這樣的數(shù)據(jù)庫表是不符合第一范式的:字段1字段2字段3字段4
字段3.1字段3.2
第一范式(1NF)73軟件工程-2010-第四章軟件需求第二范式滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來決定)第二范式(2NF)74軟件工程-2010-第四章軟件需求假定選課關(guān)系表為SelectCourse(學(xué)號,姓名,年齡,課程名稱,成績,學(xué)分),關(guān)鍵字為(學(xué)號,課程名稱)(學(xué)號,課程名稱)→(姓名,年齡,成績,學(xué)分)這個(gè)數(shù)據(jù)庫表不滿足第二范式,因?yàn)榇嬖诮M合關(guān)鍵字中的字段決定非關(guān)鍵字的情況:(課程名稱)→(學(xué)分)(學(xué)號)→(姓名,年齡)第二范式(2NF)的例子75軟件工程-2010-第四章軟件需求數(shù)據(jù)冗余:同一門課程由n個(gè)學(xué)生選修,“學(xué)分”就重復(fù)n-1次;同一個(gè)學(xué)生選修了m門課程,姓名和年齡就重復(fù)了m-1次。更新異常:若調(diào)整了某門課程的學(xué)分,數(shù)據(jù)表中所有行的“學(xué)分”值都要更新,否則會出現(xiàn)同一門課程學(xué)分不同的情況。插入異常:假設(shè)要開設(shè)一門新的課程,暫時(shí)還沒有人選修。這樣,由于還沒有“學(xué)號”關(guān)鍵字,課程名稱和學(xué)分也無法記錄入數(shù)據(jù)庫。刪除異常:假設(shè)一批學(xué)生已經(jīng)完成課程的選修,這些選修記錄就應(yīng)該從數(shù)據(jù)庫表中刪除。但是,與此同時(shí),課程名稱和學(xué)分信息也被刪除了。
第二范式(2NF)的例子76軟件工程-2010-第四章軟件需求把選課關(guān)系表SelectCourse改為如下三個(gè)表:學(xué)生:Student(學(xué)號,姓名,年齡);
課程:Course(課程名稱,學(xué)分);
選課關(guān)系:SelectCourse(學(xué)號,課程名稱,成績)。
這樣的數(shù)據(jù)庫表是符合第二范式的,消除了數(shù)據(jù)冗余、更新異常、插入異常和刪除異常。所有單關(guān)鍵字的數(shù)據(jù)庫表都符合第二范式,因?yàn)椴豢赡艽嬖诮M合關(guān)鍵字。第二范式(2NF)的例子77軟件工程-2010-第四章軟件需求第三范式符合第二范式的條件,非主屬性相互獨(dú)立,即任何非主屬性間不存在函數(shù)依賴。第三范式(3NF)78軟件工程-2010-第四章軟件需求假定學(xué)生關(guān)系表為Student(學(xué)號,姓名,年齡,所在學(xué)院,學(xué)院地點(diǎn),學(xué)院電話),關(guān)鍵字為單一關(guān)鍵字“學(xué)號”(學(xué)號)→(姓名,年齡,所在學(xué)院,學(xué)院地點(diǎn),學(xué)院電話)這個(gè)數(shù)據(jù)庫是符合2NF的,但是不符合3NF,因?yàn)榇嬖诜顷P(guān)鍵字段“學(xué)院地點(diǎn)”、“學(xué)院電話”對非關(guān)鍵字段“所在學(xué)院”的函數(shù)依賴:(所在學(xué)院)→(學(xué)院地點(diǎn),學(xué)院電話)第三范式(3NF)的例子79軟件工程-2010-第四章軟件需求第四章內(nèi)容概要需求概述需求分析的任務(wù)需求過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明數(shù)據(jù)流圖與數(shù)據(jù)字典實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其它圖形工具驗(yàn)證軟件需求★80軟件工程-2010-第四章軟件需求狀態(tài)轉(zhuǎn)換圖(簡稱為狀態(tài)圖)通過描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來表示系統(tǒng)的行為狀態(tài):狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,規(guī)定了系統(tǒng)對事件的響應(yīng)方式事件:在某個(gè)特定時(shí)刻發(fā)生的事情,它是對引起系統(tǒng)做動作或(和)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象狀態(tài)轉(zhuǎn)換圖81軟件工程-2010-第四章軟件需求狀態(tài)轉(zhuǎn)換圖的符號活動表的語法格式如下:事件名(參數(shù)表)/動作表達(dá)式事件表達(dá)式的語法如下:事件說明[守衛(wèi)條件]/動作表達(dá)式82軟件工程-2010-第四章軟件需求閑置撥號音timer=0do/響撥號音且增加timer撥號通話斷線振鈴do/振鈴存儲的信息do/播放信息超時(shí)do/響蜂鳴音接通中do/試接通忙音do/響忙音掛斷電話掛斷電話超時(shí)無效號碼數(shù)字?jǐn)?shù)字占線有效號碼已接通受話人回話受話人掛斷電話信息播完83軟件工程-2010-第四章軟件需求狀態(tài)轉(zhuǎn)換圖狀態(tài)轉(zhuǎn)換圖和與其等價(jià)的狀態(tài)轉(zhuǎn)換表示例84軟件工程-2010-第四章軟件需求例如,當(dāng)有多個(gè)申請占用CPU運(yùn)行的進(jìn)程時(shí),有關(guān)CPU分配的進(jìn)程的狀態(tài)遷移。85軟件工程-2010-第四章軟件需求可得到的狀態(tài)=就緒,運(yùn)行,等待就緒(Ready):等待分配CPU運(yùn)行(Running):正在CPU上做處理等待(Wait):放棄CPU生成的事件=t1,t2,t3,t4t1:因I/O等事件發(fā)生而要求中斷t2:中斷事件已處理t3:分配CPUt4:已用完分配的CPU時(shí)間狀態(tài)遷移圖86軟件工程-2010-第四章軟件需求第四章內(nèi)容概要需求概述需求分析的任務(wù)需求過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明數(shù)據(jù)流圖與數(shù)據(jù)字典實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其它圖形工具驗(yàn)證軟件需求★87軟件工程-2010-第四章軟件需求層次方框圖用樹形結(jié)構(gòu)的一系列多層次的矩形描述數(shù)據(jù)的層次結(jié)構(gòu)其他圖形工具88軟件工程-2010-第四章軟件需求Warnier圖也用樹形結(jié)構(gòu)描繪信息,但是它比層次方框圖提供了更豐富的描繪手段其他圖形工具89軟件工程-2010-第四章軟件需求IPO圖其他圖形工具90軟件工程-2010-第四章軟件需求改進(jìn)的IPO圖其他圖形工具91軟件工程-2010-第四章軟件需求其他圖形工具時(shí)序圖用于對比在系統(tǒng)中處理事件的時(shí)序和相應(yīng)的處理時(shí)間。在下圖中,對于事件e,功能1~功能3的處理時(shí)間總計(jì)為(T1+T2+T3),其中功能間切換時(shí)間為092軟件工程-2010-第四章軟件需求采用擴(kuò)充時(shí)序圖可表示進(jìn)程間的通信流,用于分析幾個(gè)事件的交錯(cuò)現(xiàn)象。如右圖,C1與C2,R1與R2是交錯(cuò)的。因此,可以做如下分析:“HOST1在等待C1的回答R1期間要能接收從HOST2發(fā)出的命令C2?!逼渌麍D形工具93軟件工程-2010-第四章軟件需求Petri網(wǎng)最早是作為表達(dá)異步系統(tǒng)的控制規(guī)則的圖形表示法提出來的,現(xiàn)在已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開發(fā)中,它適用于描述與分析相互獨(dú)立、協(xié)同操作的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)其他圖形工具94軟件工程-2010-第四章軟件需求Petri網(wǎng)簡稱PNG(PetriNetGraph),是一種有向圖,它有兩種結(jié)點(diǎn):位置(place):符號為“○”,它用來表示系統(tǒng)的狀態(tài)。轉(zhuǎn)移(transition):符號為“—”或“︱”,它用來表示系統(tǒng)中的事件。圖中的有向邊表示對轉(zhuǎn)移的輸入,或由轉(zhuǎn)移的輸出:“→︳”表示事件發(fā)生的前提,即對轉(zhuǎn)移(事件)的輸入,“︱→”表示事件的結(jié)果,即由轉(zhuǎn)移(事件)的輸出。Petri網(wǎng)95軟件工程-2010-第四章軟件需求稱轉(zhuǎn)移的啟動為激發(fā)或開火(fire),它是轉(zhuǎn)移的輸出;只有當(dāng)作為輸入的所有位置的條件都滿足時(shí)才能引起激發(fā)標(biāo)記,或稱令牌(token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志Petri網(wǎng)96軟件工程-2010-第四章軟件需求97軟件工程-2010-第四章軟件需求
處理兩個(gè)進(jìn)程的同步問題 98軟件工程-2010-第四章軟件需求99軟件工程-2010-第四章軟件需求第四章內(nèi)容概要需求概述需求分析的任務(wù)需求過程與用戶溝通獲取需求的方法分析建模與規(guī)格說明數(shù)據(jù)流圖與數(shù)據(jù)字典實(shí)體-聯(lián)系圖數(shù)據(jù)規(guī)范化狀態(tài)轉(zhuǎn)換圖其它圖形工具驗(yàn)證軟件需求★100軟件工程-2010-第四章軟件需求從哪些方面驗(yàn)證軟件需求的正確性一致性完整性現(xiàn)實(shí)性有效性驗(yàn)證軟件需求101軟件工程-2010-第四章軟件需求驗(yàn)證軟件需求的方法驗(yàn)證需求的一致性驗(yàn)證需求的現(xiàn)實(shí)性驗(yàn)證需求的完整性和有效性驗(yàn)證軟件需求102軟件工程-2010-第四章軟件需求用于需求分析的軟件工具必須有形式化的語法(或表),因此可以用計(jì)算機(jī)自動處理使用這種語法說明的內(nèi)容;使用這個(gè)軟件工具能夠?qū)С鲈敿?xì)的文檔;必須提供分析(測試)規(guī)格說明書的不一致性和冗余性的手段,并且應(yīng)該能夠產(chǎn)生一組報(bào)告指明對完整性分析的結(jié)果;使用這個(gè)軟件工具之后,應(yīng)該能夠改進(jìn)通信狀況驗(yàn)證軟件需求103軟件工程-2010-第四章軟件需求1977年
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《外國檔案管理》課件
- 肇慶醫(yī)學(xué)高等專科學(xué)?!墩衅概c面試技巧》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024有房產(chǎn)離婚協(xié)議范本及財(cái)產(chǎn)保密協(xié)議3篇
- 高科技窗簾知識培訓(xùn)課件
- 農(nóng)民農(nóng)藥知識培訓(xùn)課件
- 網(wǎng)絡(luò)游戲銷售工作總結(jié)
- 倉鼠養(yǎng)鼠知識培訓(xùn)課件
- 2024年行政流程優(yōu)化協(xié)議3篇
- 舞蹈演藝場所衛(wèi)生規(guī)范
- 環(huán)保行業(yè)工程師工作心得分享
- 小學(xué)語文三年級上冊 習(xí)作:這兒真美 課件
- 海南省天一大聯(lián)考2024屆高一物理第一學(xué)期期末監(jiān)測試題含解析
- 國家食源性疾病監(jiān)測工作標(biāo)準(zhǔn)手冊
- 混凝土攪拌車課件
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)降低失禁性皮炎發(fā)生率品管圈成果匯報(bào)
- 關(guān)于新中國史簡介 新中國史簡介 最好
- 物理化學(xué)課件 第一章 熱力學(xué)第一定律
- 營養(yǎng)學(xué)概論演示
- 07S906給水排水構(gòu)筑物設(shè)計(jì)選用圖化糞池
- IPC-6013中文版撓性印制板質(zhì)量要求與性能規(guī)范匯編
- 南京市2022年初中畢業(yè)生學(xué)業(yè)考試歷史試卷
評論
0/150
提交評論