軟件工程課件第4章_第1頁(yè)
軟件工程課件第4章_第2頁(yè)
軟件工程課件第4章_第3頁(yè)
軟件工程課件第4章_第4頁(yè)
軟件工程課件第4章_第5頁(yè)
已閱讀5頁(yè),還剩218頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Capturing

theRequirements需求獲取SOFTWAREENGINEERING軟件工程4.1Capturingtherequirements

需求獲取Requirement:afeatureofthesystemoradescriptionofsomethingthesystemiscapableofdoinginordertofulfillthesystem’spurpose需求是系統(tǒng)的特征,或?yàn)榱藢?shí)現(xiàn)系統(tǒng)目標(biāo)系統(tǒng)能做什么的一個(gè)描述。需求過(guò)程是用來(lái)導(dǎo)出、確認(rèn)和維護(hù)系統(tǒng)需求文檔的一組結(jié)構(gòu)化活動(dòng)軟件需求分析的目標(biāo)是準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶的非形式的要求轉(zhuǎn)化為完整的需求定義,再將需求定義轉(zhuǎn)換為相應(yīng)的形式的規(guī)格說(shuō)明。軟件需求分析工作是軟件生存期中重要的一步,也是決定性的一步。只有通過(guò)軟件需求分析才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說(shuō)明,從而奠定軟件開(kāi)發(fā)的基礎(chǔ)。軟件需求分析工作也是一個(gè)不斷認(rèn)識(shí)和逐步細(xì)化的過(guò)程。該過(guò)程將軟件計(jì)劃階段所確定的軟件范圍逐步細(xì)化到可詳細(xì)定義的程度,并分析出各種不同的軟件元素,然后為這些元素找到可行的解決方法。Whyarerequirementsimportant?

需求為什么重要?Thecausesoffailedprojects(項(xiàng)目失敗的主要原因1994Standish)1.pleterequirements(13.1%)不完整的需求2.Lackofuserinvolvement(12.4%)缺少用戶的參與3.Lackofresources(10.6%)缺少資源4.Unrealisticexpectations(9.9%)不切實(shí)際的期望5.Lackofexecutivesupport(9.3%)缺乏行政支持6.Changingrequirementsandspecifications(8.7%)改動(dòng)需求和規(guī)格說(shuō)明7.Lackofplanning(8.1%)缺少計(jì)劃8.Systemnolongerneeded(7.5%)不再需要該系統(tǒng)需求為何重要—有關(guān)軟件錯(cuò)誤的一些事實(shí)事實(shí)1

在軟件生命周期中,一個(gè)錯(cuò)誤發(fā)現(xiàn)得越晚,修復(fù)錯(cuò)誤的費(fèi)用越高階段相對(duì)修復(fù)費(fèi)用需求階段0.1~0.2設(shè)計(jì)階段0.5編碼階段1單元測(cè)試階段2驗(yàn)收測(cè)試階段5維護(hù)階段20表4.1生命周期中修復(fù)軟件的相對(duì)費(fèi)用需求為何重要—有關(guān)軟件錯(cuò)誤的一些事實(shí)事實(shí)2

許多錯(cuò)誤是潛伏的,并且在錯(cuò)誤產(chǎn)生后很長(zhǎng)一段時(shí)間才被檢查出來(lái)Boehm從TRW公司所做的軟件項(xiàng)目中得出結(jié)論:所有被檢測(cè)出來(lái)的錯(cuò)誤中的54%實(shí)際上是在編碼和單元測(cè)試階段以后才被發(fā)現(xiàn)的;更糟糕的是,此類錯(cuò)誤中的絕大部分(占45%)是屬于需求和設(shè)計(jì)階段的,而編碼階段的錯(cuò)誤只占9%。需求為何重要—有關(guān)軟件錯(cuò)誤的一些事實(shí)事實(shí)3

在需求過(guò)程中會(huì)產(chǎn)生很多錯(cuò)誤DeMarco在一份研究報(bào)告中指出,被檢查出來(lái)的錯(cuò)誤的56%產(chǎn)生的根源可以追溯到需求階段。AIRMICS所進(jìn)行的一項(xiàng)調(diào)查發(fā)現(xiàn),在一份美國(guó)軍方大型管理信息系統(tǒng)的需求規(guī)格說(shuō)明書(shū)中存在著500多個(gè)錯(cuò)誤,當(dāng)然這僅僅是一個(gè)軟件項(xiàng)目中的一次調(diào)查需求為何重要—有關(guān)軟件錯(cuò)誤的一些事實(shí)事實(shí)4

在需求階段,代表性的錯(cuò)誤為不明確、疏忽、不一致和二義性美國(guó)海軍研究實(shí)驗(yàn)室對(duì)海軍A-7E飛機(jī)上的飛行操作程序進(jìn)行實(shí)地測(cè)試,得出的研究數(shù)據(jù)表明:A-7E項(xiàng)目中77%的需求錯(cuò)誤特點(diǎn)是不明確、疏忽、不一致和二義性。49%不正確的事實(shí)31%疏忽13%不一致5%二義性2%放錯(cuò)位置需求為何重要—有關(guān)軟件錯(cuò)誤的一些事實(shí)事實(shí)5

需求錯(cuò)誤是可以被檢查出來(lái)的發(fā)現(xiàn)錯(cuò)誤的方法

發(fā)現(xiàn)錯(cuò)誤的比例(%)檢查65單元測(cè)試10集成測(cè)試5演進(jìn)6其他

14Basili和Weiss的數(shù)據(jù)表明:在A-7E的軟件定義文檔中,33%的需求錯(cuò)誤是通過(guò)人工檢查出來(lái)的。Celko覺(jué)得利用自動(dòng)分析工具能夠從SRS中檢查出來(lái)相當(dāng)數(shù)量的錯(cuò)誤。需求為何重要—有關(guān)軟件錯(cuò)誤的一些事實(shí)由上面這些事實(shí),能得出如下四點(diǎn)結(jié)論:在需求過(guò)程中會(huì)產(chǎn)生很多錯(cuò)誤(事實(shí)3和4)許多錯(cuò)誤并沒(méi)有在早期被發(fā)現(xiàn)(事實(shí)2)這樣的錯(cuò)誤是能夠在產(chǎn)生的初期被檢查出來(lái)的(事實(shí)5)如果沒(méi)有及時(shí)檢查出來(lái)這些錯(cuò)誤,軟件費(fèi)用會(huì)直線上升(事實(shí)1)需求過(guò)程不僅是可能的而且也是值得的需求分析的任務(wù)

“建造一個(gè)軟件系統(tǒng)的最困難的部分是決定要建造什么……沒(méi)有別的工作在做錯(cuò)時(shí)會(huì)如此影響最終系統(tǒng),沒(méi)有別的工作比以后矯正更困難?!?/p>

FredBrooksTheprocessofdeterminingtherequirements

forasoftwarebasedsystem

基于軟件系統(tǒng)的需求定義過(guò)程

需求分析階段研究的對(duì)象是軟件項(xiàng)目的用戶要求。軟件開(kāi)發(fā)項(xiàng)目是要實(shí)現(xiàn)目標(biāo)系統(tǒng)的物理模型。作為目標(biāo)系統(tǒng)的參考,需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決目標(biāo)系統(tǒng)的"做什么"的問(wèn)題。實(shí)現(xiàn)步驟如圖:1、獲得當(dāng)前系統(tǒng)的物理模型

所謂當(dāng)前系統(tǒng)可能是需要改進(jìn)的某個(gè)已在計(jì)算機(jī)上運(yùn)行的數(shù)據(jù)處理系統(tǒng),也可能是一個(gè)人工的數(shù)據(jù)處理過(guò)程。在這一步首先分析現(xiàn)實(shí)世界,理解當(dāng)前系統(tǒng)是如何運(yùn)行的,了解當(dāng)前系統(tǒng)的組織機(jī)構(gòu)、輸入輸出、資源利用情況和日常數(shù)據(jù)處理過(guò)程,并用一個(gè)具體模型來(lái)反映自己對(duì)當(dāng)前系統(tǒng)的理解。這一模型應(yīng)客觀地反映現(xiàn)實(shí)世界的實(shí)際情況。2、抽象出當(dāng)前系統(tǒng)的邏輯模型

在理解當(dāng)前系統(tǒng)"怎樣做"的基礎(chǔ)上,抽取其"做什么"的本質(zhì),從而從當(dāng)前系統(tǒng)的物理模型抽象出當(dāng)前系統(tǒng)的邏輯模型。

在物理模型中有許多物理的因素,隨著分析工作的深入,有些非本質(zhì)的物理因素就成為不必要的負(fù)擔(dān),因而需要對(duì)物理模型進(jìn)行分析,區(qū)分出本質(zhì)的和非本質(zhì)的因素,去掉那些非本質(zhì)的因素即可獲得反映系統(tǒng)本質(zhì)的邏輯模型。

3、建立目標(biāo)系統(tǒng)的邏輯模型

分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,明確目標(biāo)系統(tǒng)到底要"做什么",從而從當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型。

具體做法:①確定變更范圍,即確定目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)在邏輯上的差別;②將變化的部分看做是新的處理步驟,對(duì)數(shù)據(jù)流圖進(jìn)行調(diào)整;③由外向里對(duì)變更部分進(jìn)行分析,憑經(jīng)驗(yàn)推斷其結(jié)構(gòu),獲得目標(biāo)系統(tǒng)的邏輯模型。4、補(bǔ)充目標(biāo)系統(tǒng)的邏輯模型

補(bǔ)充內(nèi)容包括:①說(shuō)明目標(biāo)系統(tǒng)的用戶界面。根據(jù)目標(biāo)系統(tǒng)所處的應(yīng)用環(huán)境及它與外界環(huán)境的相互關(guān)系,研究所有可能與它發(fā)生聯(lián)系和作用的部分,從而決定人機(jī)界面。②說(shuō)明至今尚未詳細(xì)考慮的細(xì)節(jié)。這些細(xì)節(jié)包括系統(tǒng)的啟動(dòng)和結(jié)束、出錯(cuò)處理、系統(tǒng)的輸入輸出和系統(tǒng)性能方面的需求。③其它。例如系統(tǒng)的其它必須滿足的性能和限制等等。需求分析的過(guò)程需求分析階段的工作,可以分成以下四個(gè)方面:?jiǎn)栴}識(shí)別(提?。┓治雠c綜合編制需求分析階段的文檔需求分析評(píng)審1問(wèn)題識(shí)別

解決要求被開(kāi)發(fā)軟件做什么,做到什么程度的問(wèn)題。另外,需要建立分析所需要的通信途徑,以保證能順利地對(duì)問(wèn)題進(jìn)行分析。軟件需求分析的通信途徑2分析與綜合

(1)進(jìn)行各種要求的一致性分析檢查;

(2)從數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)出發(fā),逐步細(xì)化所有的軟件功能,劃分出各種子功能;

(3)對(duì)數(shù)據(jù)域進(jìn)行分解,并分配到各個(gè)子功能上,以確定系統(tǒng)的構(gòu)成和各個(gè)主要成分;

(4)找出系統(tǒng)各成分之間的聯(lián)系、接口特性和設(shè)計(jì)上的限制。

(5)判斷是否存在因片面性或短期行為而導(dǎo)致的不合理的用戶要求,是否有用戶尚未提出的真正有價(jià)值的潛在要求。剔除其不合理的部分,增加其需要部分。

(6)綜合成系統(tǒng)的解決方案,給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型。3編制需求分析階段的文檔

(1)軟件需求說(shuō)明書(shū):把分析人員和用戶雙方共同的理解和分析結(jié)果用規(guī)范的方式描述出來(lái),作為今后各項(xiàng)工作的基礎(chǔ);

(2)初步的用戶手冊(cè):著重反映目標(biāo)軟件的用戶功能界面和用戶使用的具體要求。用戶手冊(cè)能強(qiáng)制分析人員從用戶使用的觀點(diǎn)來(lái)思考問(wèn)題;

(3)編寫(xiě)確認(rèn)測(cè)試計(jì)劃,作為今后確認(rèn)測(cè)試的依據(jù);

(4)修改和完善軟件開(kāi)發(fā)計(jì)劃:在需求分析階段對(duì)目標(biāo)系統(tǒng)有了更進(jìn)一步的了解,因此能夠更準(zhǔn)確地估算開(kāi)發(fā)成本、進(jìn)度和資源需求,需要對(duì)軟件開(kāi)發(fā)計(jì)劃做適當(dāng)?shù)男薷摹?需求分析評(píng)審

對(duì)功能的正確性、文檔的一致性、完備性、準(zhǔn)確性和清晰性,以及其它需求給予評(píng)價(jià)。必須理解并描述問(wèn)題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型;必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型;必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型;必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié).需求分析的任務(wù)軟件需求分析的原則

1.需要能夠表達(dá)和理解問(wèn)題的信息域和功能域

2.以層次化的方式對(duì)問(wèn)題進(jìn)行分解和不斷細(xì)化

3.要給出系統(tǒng)的邏輯視圖和物理視圖

需求分析形成需求文檔需求確認(rèn)需求定義(不斷演進(jìn))需求規(guī)約(不斷演進(jìn))設(shè)計(jì)階段需求過(guò)程的總結(jié)需求提取需求提取、分析和協(xié)商的螺旋4.2需求獲取技術(shù)需求獲取技術(shù)包括兩方面的工作:

·建立獲取用戶要求的方法的框架;

·支持和監(jiān)控需求獲取的過(guò)程的機(jī)制。RequirementElicitation需求提取(引出)需求提取是通過(guò)與客戶、系統(tǒng)用戶和其他與系統(tǒng)開(kāi)發(fā)相關(guān)的人員交流來(lái)發(fā)現(xiàn)需求的過(guò)程。必須從項(xiàng)目干系人的角度考慮問(wèn)題,花時(shí)間找到他們的真正需求為提出系統(tǒng)需求,必須理解待解決問(wèn)題、組織的業(yè)務(wù)過(guò)程、系統(tǒng)可能使用方式、系統(tǒng)的應(yīng)用領(lǐng)域,以及文檔中與系統(tǒng)相關(guān)的內(nèi)容,并與項(xiàng)目相關(guān)人員討論他們需要的系統(tǒng)服務(wù)和系統(tǒng)約束主要來(lái)源是新系統(tǒng)的各種系統(tǒng)相關(guān)者,即項(xiàng)目干系人。主要考慮下面這些:1.系統(tǒng)的用戶,從兩個(gè)方向來(lái)收集資料:水平方向:在各分工協(xié)作部門(mén)中尋找物流、人力流、資金流、信息流、單據(jù)流、報(bào)表流、數(shù)據(jù)流等流程。垂直方向:針對(duì)不同層次用戶提取業(yè)務(wù)操作用戶:錄入、修改、提交、處理、打印、界面、傳輸、通信、時(shí)間、速度等方面的需求管理用戶:業(yè)務(wù)管理、作業(yè)控制需求主管(決策)用戶:宏觀上的統(tǒng)計(jì)、查詢、決策需求系統(tǒng)需求的資料來(lái)源2.客戶:項(xiàng)目小組要向客戶匯報(bào)項(xiàng)目進(jìn)展,項(xiàng)目預(yù)算3.技術(shù)人員:技術(shù)、維護(hù)方面的需求4.從各類系統(tǒng)相關(guān)者中識(shí)別出關(guān)鍵的人做領(lǐng)域?qū)<?.其他來(lái)源:領(lǐng)域模型當(dāng)前的組織、系統(tǒng)、狀態(tài)模型現(xiàn)有文檔需求模板庫(kù)、可重用需求庫(kù)等系統(tǒng)需求的資料來(lái)源向用戶發(fā)放需求調(diào)查表召開(kāi)需求調(diào)研會(huì)深入重點(diǎn)崗位了解實(shí)際業(yè)務(wù)工作邊收集分析、邊整理、邊征求修改意見(jiàn)定期向各用戶層次分別匯報(bào)、演示需求提取的實(shí)際入手方法確定系統(tǒng)的邊界從多個(gè)角度考察待解決的問(wèn)題

對(duì)確定需求優(yōu)先級(jí)很有幫助:多個(gè)角度下都被建議的需求應(yīng)該具有高優(yōu)先級(jí)需求提取中注意的事項(xiàng)Threekindsofrequirements三類需求:

1.thosethatabsolutelymustbemet

絕對(duì)需要滿足的需求

2.thosethatarehighlydesirablebutnotnecessary

想要但并非必須的需求

3.thosethatarepossiblebutcouldbeeliminated

可以接受但也可以排除的需求“我知道你相信你已經(jīng)理解了你認(rèn)為我所說(shuō)的內(nèi)容,但是我并不能肯定你已經(jīng)認(rèn)識(shí)到你所聽(tīng)到的并不是我所想要的。”需求提取中注意的事項(xiàng)需求獲取的主要困難4.3TypesandCharacteristicsofrequirements

需求類型和特征

Therequirementsdefinitionandspecificationdocumentsdescribeeverythingabouthowthesystemistointeractwithitsenvironment.IncludedarethefollowingkindsOfitems.

需求定義和詳細(xì)說(shuō)明文檔描述了系統(tǒng)如何與環(huán)境交互的所有事情。包括:

Physicalenvironment物理環(huán)境

Interfaces接口(界面)

Usersandhumanfactors用戶與人的因素

Functionality功能性

Documentation文檔

Data數(shù)據(jù)

Resources資源

Security安全性

Qualityassurance質(zhì)量保證

Physicalenvironment物理環(huán)境Whereistheequipmenttofunction?

設(shè)備在哪運(yùn)行?Isthereonelocationorseveral?

在一個(gè)地方還是多個(gè)地方?Arethereanyenvironmentrestrictions,suchastemperature,humidity,ormagneticinterference?

是否有環(huán)境的限制,如溫度、濕度或電磁干擾等?Interfaces接口Istheinputcomingfromoneormoreothersystems?

有來(lái)自其它系統(tǒng)的輸入嗎?Istheoutputgoingtooneormoreothersystems?

有到其它系統(tǒng)的輸出嗎?Isthereaprescribedwayinwhichthedatamustbeformatted?

對(duì)數(shù)據(jù)格式有規(guī)定嗎?Isthereaprescribedmediumthatthedatamustuse?

對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)有規(guī)定嗎?Usersandhumanfactors

用戶與人的因素Whowillusethesystem?

誰(shuí)使用系統(tǒng)?Willtherebeseveraltypesofusers?

會(huì)有多種用戶嗎?Whatistheskilllevelofeachtypeofuser?

各種用戶熟練程度?Whatkindoftrainingwillberequiredforendtypeofuser?

各類用戶需受什么類型的培訓(xùn)?Howeasywillitbeforausertounderstandandusethesystem?

用戶理解、使用系統(tǒng)的難度?Howdifficultwillitbeforausertomisusethesystem?

用戶錯(cuò)誤操作系統(tǒng)的可能性?Functionality功能性Whatwillthesystemdo?

系統(tǒng)做什么?Whatwillthesystemdoit?

系統(tǒng)什么時(shí)候做?Arethereseveralmodesofoperation?

操作是否有多種模式?Howandwhencanthesystembechangedorenhanced?何時(shí)及如何改變或擴(kuò)充系統(tǒng)?Arethereconstraintsonexecutionspeed,responsetime,orthroughput?

執(zhí)行速度、響應(yīng)時(shí)間或吞吐量是否有限制?Documentation文檔Howmuchdocumentationisrequired?

需要多少文檔?Shoulditbeon-line,inbookformat,orboth?

文檔是聯(lián)機(jī)格式,還是印刷形式,還是兩種都要?Towhataudienceiseachtypeofdocumentationaddressed?

文檔針對(duì)哪些讀者?Data數(shù)據(jù)Forbothinputandoutput,whatshouldtheformatofthedatabe?

輸入、輸出數(shù)據(jù)的格式?Howoftenwilltheybereceivedorsent?

接收、發(fā)送數(shù)據(jù)的頻率?Howaccuratemusttheybe?

數(shù)據(jù)的準(zhǔn)確性要求多高?Towhatdegreeofprecisionmustthecalculationsbemade?

計(jì)算精度要求多高?Howmuchdataflowthroughthesystem?

系統(tǒng)中有多少數(shù)據(jù)流?Mustanydataberetainedforanyperiodoftime?

數(shù)據(jù)在任何時(shí)段都要保存嗎?Resources資源Whatmaterials,personnel,orotherresourcesarerequiredtobuild,use,andmaintainthesystem?

構(gòu)造、維護(hù)和使用系統(tǒng)時(shí),需要哪些材料、人員或其它資源。Whatskillsmustthedevelopershave?

開(kāi)發(fā)人員應(yīng)該具有怎樣的技能。Howmuchphysicalspacewillbetakenupbythesystem?

系統(tǒng)占據(jù)多少物理空間?Whataretherequirementsforpower,heating,orairconditioning?

動(dòng)力、供暖或空調(diào)的需求?Isthereaprescribedtimetablefordevelopment?

有規(guī)定的開(kāi)發(fā)時(shí)間表嗎?Istherealimitontheamountofmoneytobespentondevelopmentoronhardwareandsoftware?

開(kāi)發(fā)或軟件和硬件上有無(wú)資金的限制?Security安全性Mustaccesstothesystemortoinformationbecontrolled?

需要控制對(duì)系統(tǒng)或信息的訪問(wèn)嗎?Howwilloneuser’sdatabeisolatedfromothers?

如何隔離用戶之間的數(shù)據(jù)?Howwilluserprogramsbeisolatedfromotherprogramsandfromtheoperatingsystem?

用戶程序如何與其它程序和操作系統(tǒng)隔離?Howoftenwillthesystembebackedup?

系統(tǒng)多久備份一次?Mustthebackupcopiesbestaredatadifferentlocation?

備份拷貝要保存到其他地方嗎?Shouldprecautionsbetakenagainstfire,waterdamage,ortheft?

要采取預(yù)防措施防止水災(zāi)、火災(zāi)或者盜竊嗎?Qualityassurance質(zhì)量保證Whataretherequirementsforreliability,availability,maintainability,security,andtheotherqualityattributesintroducedinchapter1?

第一章中介紹的系統(tǒng)的可靠性、可用性、可維護(hù)性、安全性和其他屬性的需求是什么?Howmustthecharacteristicsofthesystembedemonstratedtoothers?

要向其他人展示系統(tǒng)的特征嗎?Mustthesystemdetectandisolatefaults?

系統(tǒng)必須監(jiān)測(cè)和隔離錯(cuò)誤嗎?Whatistheprescribedmeantimebetweenfailures?

規(guī)定的平均故障間隔時(shí)間是多少?Isthereamaximumtimeallowedforrestartingthesystemafterafailure?

產(chǎn)生故障后重啟系統(tǒng)允許的最大時(shí)間是多少?Howcanthesystemincorporatechangestothedesign?

系統(tǒng)是怎樣將變動(dòng)和設(shè)計(jì)相結(jié)合的?Willmaintenancemerelycorrecterrorsorwillitalsoincludeimprovingthesystem?

維護(hù)是只修改錯(cuò)誤還是也包括對(duì)改進(jìn)系統(tǒng)?Whatefficiencymeasureswillapplytoresourceusageandresponsetime?

使用什么效率測(cè)量方法測(cè)量資源使用和響應(yīng)時(shí)間Howeasyshoulditbetomovethesystemfromonelocationtoanotherorfromonetypeofcomputertoanother?

將系統(tǒng)從一個(gè)地方移到另一個(gè)地方或者從一種計(jì)算機(jī)移到另一種計(jì)算機(jī)上容易嗎?Characteristicsofrequirements

需求的特征Aretheycorrect?需求是正確的嗎?Aretheyconsistent?需求是一致的嗎?Aretheycomplete?需求是完整的嗎?Aretheyrealistic?需求是現(xiàn)實(shí)的嗎?Doeseachdescribesomethingthecustomerneeds?

是否每個(gè)需求都描述了顧客要求的某件事?Aretheyverifiable?需求是可驗(yàn)證的嗎?Aretheytraceable?需求是可追蹤的嗎?關(guān)于需求的完整性RequirementisCompleted:ifallpossiblestates,statechanges,inputs,products,andconstraintsaredescribedbysomerequirement.

需求是完整的:如果某些需求描述了所有可能的狀態(tài),以及狀態(tài)的變化、輸入、過(guò)程和約束。Asystemdescriptionisexternallycomplete:ifthedescriptionconstrainsallthepropertiestotheenvironmentdesiredbythecustomer.

系統(tǒng)描述是外部完整的:如果描述包含的所有關(guān)系都與顧客想要的環(huán)境相關(guān)時(shí)。Asystemdescriptionisinternallycomplete:iftherearenoundefinedreferencesamongtherequirements.

系統(tǒng)描述是內(nèi)部完整的:需求之間沒(méi)有未定義的引用。4.4需求分析方法需求分析方法由對(duì)軟件的信息域和功能域的系統(tǒng)分析過(guò)程及其表示方法組成。目前存在許多需求分析方法,每一種分析方法都引入了的不同的記號(hào)和分析策略。它們具有以下的共性:1.支持信息域分析的機(jī)制

2.功能表示的方法

3.接口的定義

4.問(wèn)題分解的機(jī)制以及對(duì)抽象的支持必須理解并描述問(wèn)題的信息域,根據(jù)這條準(zhǔn)則應(yīng)該建立數(shù)據(jù)模型;必須定義軟件應(yīng)完成的功能,這條準(zhǔn)則要求建立功能模型;必須描述作為外部事件結(jié)果的軟件行為,這條準(zhǔn)則要求建立行為模型;必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié).需求分析的任務(wù)Naturallanguagemaynotbethepreciseandunambiguousmediumneededforexpressingthesystem’sfunctionalityandtherelationshipofitsrelevantparts.Requirementsarenotalwayseasilyseparatedaccordingtothesystemelementswithwhichtheydeal.Theuseofnaturallanguagecanaddtoconfusionhere.自然語(yǔ)言不是一種準(zhǔn)確而無(wú)歧義地表達(dá)系統(tǒng)功能和相關(guān)部分關(guān)系的方法。通常無(wú)法根據(jù)所處理的系統(tǒng)元素而將需求簡(jiǎn)單地分離開(kāi)來(lái)。在此使用自然語(yǔ)言可能會(huì)產(chǎn)生混淆。HowtoexpressrequirementsWehaveinvestigatedmanywaystodefinerequirementsinamorerigorousandcontrolledfashion.

應(yīng)用更嚴(yán)格、更受約束的方式來(lái)定義需求。需求的描述分為靜態(tài)描述和動(dòng)態(tài)描述Asystemdescriptionliststhesystementitiesorobjects,theirattributes,andtheirrelationswitheachother.butitdoesnotdescribehowrelationshipschangewithtime.thisviewisstatic.系統(tǒng)描述列出了系統(tǒng)實(shí)體或?qū)ο蟆⑺鼈兊膶傩约八鼈冎g的關(guān)系但沒(méi)有描述關(guān)系隨時(shí)間變化的情況,這種描述是靜態(tài)的.Staticdescriptionsofrequirements需求的靜態(tài)描述方法IndirectreferenceandRecurrencerelations間接引用和遞歸關(guān)系

Example:kequationsinnvariables(n元k個(gè)方程)F(0)=1;F(1)=1;F(n+1)=F(n)+F(n-1)Axiomaticdefinition公理定義Expressionasalanguage語(yǔ)言表達(dá)式Dataabstraction數(shù)據(jù)抽象SemesterrecordSemestertypeSemesterdateGrade-pointaverageCompletedhoursSemestertype(Fall,Spring,Summer)AddressinformationTelephonenumberStreetaddressCityStatePostalcodeStudentrecordNameStudentnumberAddressinformationNumberofsemesters{Semesterrecord}Dynamicdescriptions動(dòng)態(tài)描述Decisiontables判定表表的左端為條件和動(dòng)作,表中的數(shù)據(jù)表示處于的狀態(tài)和要遵守的規(guī)則?!癟”表示條件為真,“F”表示條件為假,“-”表示無(wú)所謂,“X”表示采取的動(dòng)作。如果一個(gè)需求(數(shù)據(jù)流圖的加工)需要依賴于多個(gè)邏輯條件的取值,使用判定表來(lái)描述比較合適。判定表商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”判定樹(shù)也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它比判定表更直觀。檢查發(fā)貨單金額>$500金額$500

欠款>60天不發(fā)出批準(zhǔn)書(shū)

欠款60天發(fā)貨單發(fā)出批準(zhǔn)書(shū)、

欠款>60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單及賒欠報(bào)告

欠款60天發(fā)出批準(zhǔn)書(shū)、發(fā)貨單判定樹(shù)Functionaldescriptionsandtransitiondiagrams

功能性描述與變遷圖 f(Si,Cj)=Sk變遷表狀態(tài)遷移圖(簡(jiǎn)稱為狀態(tài)圖)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為狀態(tài):狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式事件:在某個(gè)特定時(shí)刻發(fā)生的事情,它是對(duì)引起系統(tǒng)做動(dòng)作或(和)從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的外界事件的抽象狀態(tài)遷移圖狀態(tài)轉(zhuǎn)換圖狀態(tài)遷移圖和與其等價(jià)的狀態(tài)轉(zhuǎn)換表示例Fencediagramshowingstatetransitions柵欄圖UML圖:Transitiondiagramforhotelreservations旅館預(yù)定的變遷Jackson’sfinite-statemachineexampleJackson的有限狀態(tài)機(jī)4、Eventtables事件表Petri網(wǎng),簡(jiǎn)稱PNG(PetriNetGraph),最早是作為表達(dá)異步系統(tǒng)的控制規(guī)則的圖形表示法提出來(lái)的,現(xiàn)在已廣泛地應(yīng)用于硬件與軟件系統(tǒng)的開(kāi)發(fā)中,它適用于描述與分析相互獨(dú)立、協(xié)同操作的處理系統(tǒng),也就是并發(fā)執(zhí)行的處理系統(tǒng)。5、PetriNetPetri網(wǎng)是一種有向圖,它有兩種結(jié)點(diǎn):位置(place

):符號(hào)為“○”,它用來(lái)表示系統(tǒng)的狀態(tài)。轉(zhuǎn)移(transition

):符號(hào)為“—”

或“︱”,它用來(lái)表示系統(tǒng)中的事件。圖中的有向邊表示對(duì)轉(zhuǎn)移的輸入,或由轉(zhuǎn)移的輸出:“→︳”表示事件發(fā)生的前提,即對(duì)轉(zhuǎn)移(事件)的輸入,“︱→”表示事件的結(jié)果,即由轉(zhuǎn)移(事件)的輸出。PetriNet稱轉(zhuǎn)移的啟動(dòng)為激發(fā)或開(kāi)火(fire),它是轉(zhuǎn)移的輸出;只有當(dāng)作為輸入的所有位置的條件都滿足時(shí)才能引起激發(fā)標(biāo)記,或稱令牌(token),是表明系統(tǒng)當(dāng)前處于什么狀態(tài)的標(biāo)志5、Petri網(wǎng)

處理兩個(gè)進(jìn)程的同步問(wèn)題 Additionalnotations其他方法Hierarchicaltechniques(Warnierdiagrams)層次技術(shù)StructuredAnalysisandDesignTechnique(SADT)結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù)Object-orientedspecifications

面向?qū)ο蟮囊?guī)格說(shuō)明層次方框圖:

用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形描述數(shù)據(jù)的層次結(jié)構(gòu)層次技術(shù)WarnierDiagramsSoftwareproductsSystemApplicationOS(n1)Compiler(n2)SoftwareToolEditor(n3)Testdriver(n4)CADtool(n5)Warnier圖示例—報(bào)紙專欄的數(shù)據(jù)層次結(jié)構(gòu)報(bào)紙頭版部分社論部分副刊部分頭條新聞國(guó)內(nèi)新聞本地新聞社論(1,1)讀者來(lái)信(1,3)體育新聞商業(yè)新聞廣告專欄(1,3)諷刺漫畫(huà)(0,1)副刊部分體育新聞商業(yè)新聞廣告地區(qū)隊(duì)職業(yè)隊(duì)拳擊經(jīng)營(yíng)簡(jiǎn)訊雇員簡(jiǎn)訊招生招聘求助○一般新聞+IPO圖(input,processing,output)其他圖形工具改進(jìn)的IPO圖其他圖形工具結(jié)構(gòu)化分析技術(shù)結(jié)構(gòu)化分析方法最初由DouglasRoss提出,由DeMarco推廣,由Ward和Mellor以及后來(lái)的Hatley和Pirbhai擴(kuò)充,形成了今天的結(jié)構(gòu)化分析方法的框架。結(jié)構(gòu)化分析方法是一種建模技術(shù)。它建立的分析模型如圖所示。這種分析模型必須達(dá)到三個(gè)主要目標(biāo):(1)描述用戶要求;(2)建立軟件設(shè)計(jì)的基礎(chǔ);(3)定義軟件開(kāi)發(fā)完成時(shí)必須確認(rèn)的一組需求。在模型的核心是數(shù)據(jù)詞典,它描述了所有的在目標(biāo)系統(tǒng)中使用的和生成的數(shù)據(jù)對(duì)象。圍繞著這個(gè)核心的有三種圖:實(shí)體―關(guān)系圖(ERD)描述數(shù)據(jù)對(duì)象及數(shù)據(jù)對(duì)象之間的關(guān)系;數(shù)據(jù)流圖(DFD)描述數(shù)據(jù)在系統(tǒng)中如何被傳送或變換,以及描述如何對(duì)數(shù)據(jù)流進(jìn)行變換的功能(子功能);狀態(tài)―遷移圖(STD)描述系統(tǒng)對(duì)外部事件如何響應(yīng),如何動(dòng)作。結(jié)構(gòu)化分析的步驟和方法:(1)數(shù)據(jù)建模(2)功能建模和數(shù)據(jù)流(3)行為建模(4)數(shù)據(jù)詞典數(shù)據(jù)建模

數(shù)據(jù)模型包括三種互相關(guān)聯(lián)的信息:數(shù)據(jù)對(duì)象

描述對(duì)象的屬性描述對(duì)象間相互連接的關(guān)系數(shù)據(jù)建模方法用來(lái)創(chuàng)建部分分析模型,但它也可以用于數(shù)據(jù)庫(kù)設(shè)計(jì)并支持其他的需求分析方法。1、數(shù)據(jù)對(duì)象

數(shù)據(jù)對(duì)象是需被目標(biāo)系統(tǒng)所理解的復(fù)合信息的表示。所謂復(fù)合信息是具有若干不同特征或?qū)傩缘男畔?。?shù)據(jù)對(duì)象可以是外部實(shí)體(如顯示器),事物(如報(bào)表或顯示),角色(如教師或?qū)W生),行為(如一個(gè)電話呼叫)或事件(如單擊鼠標(biāo)左鍵),組織單位(如研究生院),地點(diǎn)(如注冊(cè)室)或結(jié)構(gòu)(如文件)。數(shù)據(jù)對(duì)象只封裝了數(shù)據(jù),沒(méi)有包含作用于這些數(shù)據(jù)上的操作。這與面向?qū)ο箝_(kāi)發(fā)方法中的類和對(duì)象不同。具有相同特征的數(shù)據(jù)對(duì)象組成的集合仍然稱為數(shù)據(jù)對(duì)象,其中的某一個(gè)對(duì)象叫做該數(shù)據(jù)對(duì)象的一個(gè)實(shí)例。2、屬性

屬性定義了數(shù)據(jù)對(duì)象的特征??捎脕?lái):(1)為數(shù)據(jù)對(duì)象的實(shí)例命名;

(2)描述這個(gè)實(shí)例;

(3)建立對(duì)另一個(gè)數(shù)據(jù)對(duì)象的另一個(gè)實(shí)例的引用。如學(xué)生數(shù)據(jù)對(duì)象的屬性可以有學(xué)號(hào)、姓名、性別、出生年月、籍貫等。為了唯一地標(biāo)識(shí)數(shù)據(jù)對(duì)象的某一個(gè)實(shí)例,定義數(shù)據(jù)對(duì)象中的一個(gè)屬性或幾個(gè)屬性為關(guān)鍵碼(key),書(shū)寫(xiě)為_(kāi)id,例如在"學(xué)生"數(shù)據(jù)對(duì)象中用"學(xué)號(hào)"做關(guān)鍵碼,它可唯一地標(biāo)識(shí)一個(gè)"學(xué)生"數(shù)據(jù)對(duì)象中的實(shí)例。3、關(guān)系

各個(gè)數(shù)據(jù)對(duì)象的實(shí)例之間可以按多種不同的方式相連接。4、基數(shù)和參與性

提供更進(jìn)一步的有關(guān)數(shù)據(jù)對(duì)象關(guān)聯(lián)的信息。實(shí)例的關(guān)聯(lián)有三種:①一對(duì)一(1:1);②一對(duì)多(1:m);③多對(duì)多(n:m)。這種實(shí)例的關(guān)聯(lián)稱為“基數(shù)”。基數(shù)表明了“重復(fù)性”。5、實(shí)體―關(guān)系圖

數(shù)據(jù)對(duì)象及其關(guān)系可用ERD表示。ERD最初是由PeterChen為關(guān)系數(shù)據(jù)庫(kù)提出來(lái)的,后來(lái)又經(jīng)過(guò)了擴(kuò)展。ERD的主要目的是表示數(shù)據(jù)對(duì)象及其關(guān)系。它包括的基本成分有數(shù)據(jù)對(duì)象、屬性、關(guān)系和各種類型符號(hào)。實(shí)體―關(guān)系圖的建立步驟(1)在捕獲需求的過(guò)程中,要求用戶列出應(yīng)用或業(yè)務(wù)過(guò)程涉及到的所有“事物”。這些事物將來(lái)可能會(huì)演變?yōu)橐幌盗械妮斎?輸出數(shù)據(jù)對(duì)象以及生產(chǎn)和消費(fèi)信息的外部實(shí)體。(2)一次考慮一個(gè)對(duì)象。分析人員和用戶共同確認(rèn)這個(gè)對(duì)象與其他對(duì)象之間是否存在連接(在本階段不命名)。(3)當(dāng)存在連接時(shí),分析人員和用戶應(yīng)創(chuàng)建一個(gè)或多個(gè)對(duì)象--關(guān)系對(duì)。(4)對(duì)每一個(gè)對(duì)象--關(guān)系對(duì),考察它的基數(shù)和參與性。(5)迭代執(zhí)行步驟(2)~(4),直到所有對(duì)象--關(guān)系對(duì)定義完成。在這個(gè)過(guò)程中發(fā)生遺漏是很正常的。在每次迭代時(shí)總會(huì)增加新的對(duì)象和關(guān)系。(6)定義每個(gè)實(shí)體的屬性。(7)規(guī)范化并復(fù)審實(shí)體--關(guān)系圖。(8)重復(fù)執(zhí)行步驟(1)~(7),直到數(shù)據(jù)建模完成。E-R圖中表示實(shí)體聯(lián)系的符號(hào)如下:在E-R圖中,每個(gè)方框表示實(shí)體型或?qū)傩?,方框之間的連線表示實(shí)體之間,或?qū)嶓w與屬性之間的聯(lián)系。出現(xiàn)在連線上的短豎線可以看成是“1”,而圓圈隱含表示“0”。例如,在教學(xué)管理中,一個(gè)教師可以教授零門(mén)、一門(mén)或多門(mén)課程,每位學(xué)生也需要學(xué)習(xí)幾門(mén)課程。因此,教學(xué)管理中涉及的對(duì)象(實(shí)體型)有學(xué)生、教師和課程。用E-R圖描述它們之間的聯(lián)系,得下圖。其中,學(xué)生與課程是多對(duì)多的聯(lián)系,而教師與課程的聯(lián)系是一對(duì)零或多。確定屬性。例如,學(xué)生具有學(xué)號(hào)、姓名、性別、年齡、專業(yè)(其它略)等屬性;課程具有課程號(hào)、課程名、學(xué)分、學(xué)時(shí)數(shù)等屬性;教師具有職工號(hào)、姓名、年齡、職稱等屬性。此外,學(xué)生通過(guò)學(xué)號(hào)、分?jǐn)?shù)與課程發(fā)生聯(lián)系。如此可得教學(xué)實(shí)體模型。教學(xué)實(shí)體模型數(shù)據(jù)規(guī)范化的目的:為減少數(shù)據(jù)冗余,避免出現(xiàn)插入異常或刪除異常,簡(jiǎn)化修改數(shù)據(jù)的過(guò)程,通常用“范式(normalforms)”定義消除數(shù)據(jù)冗余的程度數(shù)據(jù)規(guī)范化每個(gè)屬性值都必須是原子值,即僅僅是一個(gè)簡(jiǎn)單值而不含內(nèi)部結(jié)構(gòu),如下的數(shù)據(jù)庫(kù)表是符合第一范式的:字段1字段2字段3字段4

這樣的數(shù)據(jù)庫(kù)表是不符合第一范式的:字段1字段2字段3字段4

字段3.1字段3.2

第一范式(1NF)第二范式滿足第一范式條件,而且每個(gè)非關(guān)鍵字屬性都由整個(gè)關(guān)鍵字決定(而不是由關(guān)鍵字的一部分來(lái)決定)假定選課關(guān)系表為SelectCourse(學(xué)號(hào),姓名,年齡,課程名稱,成績(jī),學(xué)分),關(guān)鍵字為(學(xué)號(hào),課程名稱)(學(xué)號(hào),課程名稱)→(姓名,年齡,成績(jī),學(xué)分)這個(gè)數(shù)據(jù)庫(kù)表不滿足第二范式,因?yàn)榇嬖诮M合關(guān)鍵字中的字段決定非關(guān)鍵字的情況:(課程名稱)→(學(xué)分)(學(xué)號(hào))→(姓名,年齡)第二范式(2NF)數(shù)據(jù)冗余:同一門(mén)課程由n個(gè)學(xué)生選修,“學(xué)分”就重復(fù)n-1次;同一個(gè)學(xué)生選修了m門(mén)課程,姓名和年齡就重復(fù)了m-1次。更新異常:若調(diào)整了某門(mén)課程的學(xué)分,數(shù)據(jù)表中所有行的“學(xué)分”值都要更新,否則會(huì)出現(xiàn)同一門(mén)課程學(xué)分不同的情況。插入異常:假設(shè)要開(kāi)設(shè)一門(mén)新的課程,暫時(shí)還沒(méi)有人選修。這樣,由于還沒(méi)有“學(xué)號(hào)”關(guān)鍵字,課程名稱和學(xué)分也無(wú)法記錄入數(shù)據(jù)庫(kù)。刪除異常:假設(shè)一批學(xué)生已經(jīng)完成課程的選修,這些選修記錄就應(yīng)該從數(shù)據(jù)庫(kù)表中刪除。但是,與此同時(shí),課程名稱和學(xué)分信息也被刪除了。

第二范式(2NF)的例子把選課關(guān)系表SelectCourse改為如下三個(gè)表:學(xué)生:Student(學(xué)號(hào),姓名,年齡);

課程:Course(課程名稱,學(xué)分);

選課關(guān)系:SelectCourse(學(xué)號(hào),課程名稱,成績(jī))。這樣的數(shù)據(jù)庫(kù)表是符合第二范式的,消除了數(shù)據(jù)冗余、更新異常、插入異常和刪除異常。所有單關(guān)鍵字的數(shù)據(jù)庫(kù)表都符合第二范式,因?yàn)椴豢赡艽嬖诮M合關(guān)鍵字。第二范式(2NF)的例子第三范式符合第二范式的條件,且非主屬性相互獨(dú)立,即任何非主屬性間不存在函數(shù)依賴。假定學(xué)生關(guān)系表為Student(學(xué)號(hào),姓名,年齡,所在學(xué)院,學(xué)院地點(diǎn),學(xué)院電話),關(guān)鍵字為單一關(guān)鍵字“學(xué)號(hào)”(學(xué)號(hào))→(姓名,年齡,所在學(xué)院,學(xué)院地點(diǎn),學(xué)院電話)這個(gè)數(shù)據(jù)庫(kù)是符合2NF的,但是不符合3NF,因?yàn)榇嬖诜顷P(guān)鍵字段“學(xué)院地點(diǎn)”、“學(xué)院電話”對(duì)非關(guān)鍵字段“所在學(xué)院”的函數(shù)依賴:(所在學(xué)院)→(學(xué)院地點(diǎn),學(xué)院電話)第三范式(3NF)功能建模和數(shù)據(jù)流

最初,結(jié)構(gòu)化分析方法僅討論數(shù)據(jù)流建模。目標(biāo)系統(tǒng)被表示成數(shù)據(jù)變換流程圖。系統(tǒng)的功能體現(xiàn)在核心的數(shù)據(jù)變換中。系統(tǒng)的輸入源于用方框表示的外部實(shí)體,這種輸入引發(fā)系統(tǒng)的數(shù)據(jù)變換,產(chǎn)生傳遞給外部實(shí)體的輸出。功能建模的思想就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。根據(jù)DeMarco的論述,功能模型使用了數(shù)據(jù)流圖來(lái)表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的運(yùn)動(dòng)情況,而數(shù)據(jù)流的變換則用結(jié)構(gòu)化語(yǔ)言、判定表與判定樹(shù)來(lái)描述。1、數(shù)據(jù)流圖(DataFlowDiagrams)DFD的符號(hào)或數(shù)據(jù)的源點(diǎn)/終點(diǎn)或變換數(shù)據(jù)的處理/加工/變換或數(shù)據(jù)存儲(chǔ)(文件)數(shù)據(jù)流源點(diǎn)和終點(diǎn)源點(diǎn)和終點(diǎn)是系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)。源點(diǎn)和終點(diǎn)是為了幫助理解系統(tǒng)接口而引入的。加工/變換對(duì)數(shù)據(jù)進(jìn)行處理的單元。在分層數(shù)據(jù)流圖中,要對(duì)加工進(jìn)行編號(hào),以便于管理。加工也要選取適當(dāng)?shù)拿?,以提高?shù)據(jù)流圖的易讀性。DFD的符號(hào)數(shù)據(jù)流由一組數(shù)據(jù)項(xiàng)組成。例如,數(shù)據(jù)流“訂票單”由姓名、住址、電話、航班號(hào)、日期、始點(diǎn)、終點(diǎn)等數(shù)據(jù)項(xiàng)組成;數(shù)據(jù)流“航班”由航班號(hào)、日期和姓名等數(shù)據(jù)項(xiàng)組成數(shù)據(jù)流可以從加工流向加工,如“航班”、“費(fèi)用”;可以從源點(diǎn)流向加工,或從加工流向終點(diǎn);可以從加工流向數(shù)據(jù)存儲(chǔ)或從數(shù)據(jù)存儲(chǔ)流向加工DFD的符號(hào)文件用來(lái)暫時(shí)存儲(chǔ)數(shù)據(jù)的。如果加工要讀文件,則數(shù)據(jù)流的方向是從文件到加工;如果加工要寫(xiě)文件,則數(shù)據(jù)流的方向是從加工到文件;如果加工既要讀文件又要寫(xiě)文件,則數(shù)據(jù)流的方向是雙向的DFD的符號(hào)旅行社旅客預(yù)定機(jī)票機(jī)票準(zhǔn)備記帳航班目錄記帳文件訂票單航班費(fèi)用帳單機(jī)票DFDDFD的符號(hào)++AB⊕C有A或有B,但不能A、B同時(shí)存在,就有C假設(shè)一家工廠的采購(gòu)部每天需要一張定貨報(bào)表,報(bào)表按零件編號(hào)順序,表中列出所有需要再次定貨的零件。對(duì)于每個(gè)需要再次定貨的零件應(yīng)該列出下列數(shù)據(jù):零件編號(hào),零件名稱,定貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者。零件入庫(kù)或出庫(kù)稱為事務(wù),通過(guò)放在倉(cāng)庫(kù)中的CRT終端把事務(wù)報(bào)告給定貨系統(tǒng)。當(dāng)某種零件的庫(kù)存量少于庫(kù)存量臨界值時(shí)就應(yīng)再次定貨。怎樣畫(huà)DFD:定貨系統(tǒng)的例子怎樣畫(huà)DFD:定貨系統(tǒng)的例子源點(diǎn)/終點(diǎn)處理采購(gòu)員倉(cāng)庫(kù)管理員產(chǎn)生報(bào)表處理事務(wù)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)定貨報(bào)表

零件編號(hào)零件名稱定貨數(shù)量目前價(jià)格主要供應(yīng)者次要供應(yīng)者事務(wù)

零件編號(hào)

事務(wù)類型

數(shù)量定貨信息

(同定貨報(bào)表)庫(kù)存清單零件編號(hào)

庫(kù)存量庫(kù)存量臨界值定貨系統(tǒng)的基本系統(tǒng)模型定貨系統(tǒng)的功能級(jí)數(shù)據(jù)流圖把處理事務(wù)的功能進(jìn)一步分解后的數(shù)據(jù)流圖2、分層數(shù)據(jù)流圖為了表達(dá)數(shù)據(jù)處理過(guò)程的數(shù)據(jù)加工情況,用一個(gè)數(shù)據(jù)流圖是不夠的。稍為復(fù)雜的實(shí)際問(wèn)題,在數(shù)據(jù)流圖上常常出現(xiàn)十幾個(gè)甚至幾十個(gè)加工。這樣的數(shù)據(jù)流圖看起來(lái)很不清楚。層次結(jié)構(gòu)的數(shù)據(jù)流圖能很好地解決這一問(wèn)題。按照系統(tǒng)的層次結(jié)構(gòu)進(jìn)行逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系,能清楚地表達(dá)和容易理解整個(gè)系統(tǒng)。

把基本系統(tǒng)模型加上源點(diǎn)和終點(diǎn)作為頂層數(shù)據(jù)流圖自頂向下逐層畫(huà)數(shù)據(jù)流圖的步驟旅行社旅客飛機(jī)訂票系統(tǒng)訂票單機(jī)票帳單畫(huà)出各層數(shù)據(jù)流圖畫(huà)出總的數(shù)據(jù)流圖分層的數(shù)據(jù)流圖源點(diǎn)1源點(diǎn)2終點(diǎn)2終點(diǎn)1G頂層0層132一層圖號(hào)11.11.23.43.12.22.12.33.23.3圖號(hào)2圖號(hào)3為分層數(shù)據(jù)流圖和加工編號(hào)的原則:(1)子圖的圖號(hào)就是分解的父圖中加工的編號(hào)(2)子圖中的加工的編號(hào)是由子圖號(hào)、小數(shù)點(diǎn),局部順序號(hào)組成二層圖號(hào)3.3圖號(hào)2.2圖號(hào)3.12.2.12.2.23.3.13.3.33.3.23.1.23.1.1分層的數(shù)據(jù)流圖分層的數(shù)據(jù)流圖畫(huà)數(shù)據(jù)流圖不是畫(huà)流程圖父圖和子圖的平衡問(wèn)題局部文件的問(wèn)題分解的深度和層次問(wèn)題 命名問(wèn)題畫(huà)數(shù)據(jù)流圖需要注意的幾個(gè)問(wèn)題父圖和子圖的平衡問(wèn)題12435763.13.23.33.43.63.5ACBYEXWVFDGHDFGH父圖和子圖的平衡問(wèn)題12344.44.34.24.1AGCBFDEEHLFG1323.13.2考生成績(jī)錄取通知書(shū)考生姓名準(zhǔn)考證號(hào)通訊地址考生成績(jī)文件(數(shù)據(jù)存儲(chǔ))總是局部于分層數(shù)據(jù)流圖的某一層或某幾層,所以數(shù)據(jù)流圖中引入的文件都是局部文件局部文件的問(wèn)題12.1322.242.3ABCABCDEGFFED一個(gè)加工的分解最好不要超過(guò)9個(gè)子加工。超過(guò)9個(gè)時(shí),可以用增加層次,減少子加工數(shù)的方法。分解在邏輯上應(yīng)合理、自然,不能硬性分割。也就是說(shuō),要根據(jù)問(wèn)題的邏輯特性進(jìn)行分解。在保證數(shù)據(jù)流的易理解的前提下,盡量減少分解層次。這樣可以減少層次的界面。分解要均勻。即在一張數(shù)據(jù)流圖中,不要有這樣的情況:有些加工已是基本加工,另一些加工還要分解好幾層,但絕對(duì)均勻不可能,不要相差太大。分解的深度和層次問(wèn)題數(shù)據(jù)流命名名字應(yīng)代表整個(gè)數(shù)據(jù)流(有時(shí)也會(huì)把現(xiàn)實(shí)環(huán)境中傳遞的一組數(shù)據(jù)中最重要的那個(gè)數(shù)據(jù)的名字作為數(shù)據(jù)流的名字)命名問(wèn)題(數(shù)據(jù)流)考生成績(jī)分類后的考生成績(jī)錄取分類

現(xiàn)實(shí)環(huán)境中,傳遞的一些表格、單據(jù)的名字可以直接作為數(shù)據(jù)流的名字。命名問(wèn)題(數(shù)據(jù)流)車間調(diào)度全廠統(tǒng)計(jì)生產(chǎn)報(bào)表統(tǒng)計(jì)表日?qǐng)?bào)表月報(bào)表不要使用空洞的、缺乏具體含義的名字不要把控制流作為數(shù)據(jù)流。如果在為某個(gè)數(shù)據(jù)流命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD命名問(wèn)題(數(shù)據(jù)流)錄取分類取下一個(gè)考生成績(jī)加工(處理)命名頂層的加工名可以是軟件項(xiàng)目的名字。不要使用空洞的、缺乏具體含義的名字。通常先為數(shù)據(jù)流命名,然后再為與之相關(guān)聯(lián)的處理命名。這樣命名比較容易,而且體現(xiàn)了人類習(xí)慣的“由表及里”的思考過(guò)程。如果在為某個(gè)加工命名時(shí)遇到困難,可能是數(shù)據(jù)流圖分解不當(dāng),應(yīng)考慮重新分解DFD。命名問(wèn)題(處理)加工的名字最好由一個(gè)謂語(yǔ)動(dòng)詞加上一個(gè)賓語(yǔ)組成。如“計(jì)算運(yùn)費(fèi)”、“準(zhǔn)備機(jī)票”。也可以把賓語(yǔ)和謂語(yǔ)動(dòng)詞顛倒書(shū)寫(xiě)。如“運(yùn)費(fèi)計(jì)算”、“機(jī)票準(zhǔn)備”。名字應(yīng)該反映整個(gè)處理的功能,而不是它的一部分功能。通常名字中僅包括一個(gè)動(dòng)詞,如果必須用兩個(gè)動(dòng)詞才能描述整個(gè)處理的功能,則把這個(gè)處理再分解成兩個(gè)處理可能更恰當(dāng)些。命名問(wèn)題(處理)這種劃分自動(dòng)化邊界的方法暗示以批量方式更新庫(kù)存清單從數(shù)據(jù)流圖出發(fā)映射出軟件結(jié)構(gòu)從數(shù)據(jù)流圖出發(fā)映射出軟件結(jié)構(gòu)另一種劃分自動(dòng)化邊界的方法建議以聯(lián)機(jī)方式更新庫(kù)存清單3、加工規(guī)格說(shuō)明

用來(lái)說(shuō)明DFD中的數(shù)據(jù)加工的加工細(xì)節(jié)。加工規(guī)格說(shuō)明描述了數(shù)據(jù)加工的輸入,實(shí)現(xiàn)加工的算法以及產(chǎn)生的輸出。另外,加工規(guī)格說(shuō)明指明了加工(功能)的約束和限制,與加工相關(guān)的性能要求,以及影響加工的實(shí)現(xiàn)方式的設(shè)計(jì)約束。寫(xiě)加工規(guī)格說(shuō)明的主要目的是要表達(dá)"做什么",而不是"怎樣做"。因此它應(yīng)描述數(shù)據(jù)加工實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。

用于寫(xiě)加工邏輯說(shuō)明的工具

結(jié)構(gòu)化英語(yǔ)(StructuredEnglish)判定表(DecisionTable)判定樹(shù)(DecisionTree)是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的語(yǔ)言。結(jié)構(gòu)化英語(yǔ)的詞匯表由英語(yǔ)命令動(dòng)詞;數(shù)據(jù)詞典中定義的名字;有限的自定義詞;控制結(jié)構(gòu)關(guān)鍵詞IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等組成。結(jié)構(gòu)化英語(yǔ)語(yǔ)言的正文用基本控制結(jié)構(gòu)進(jìn)行分割,加工中的操作用自然語(yǔ)言短語(yǔ)來(lái)表示其基本控制結(jié)構(gòu)有三種:簡(jiǎn)單陳述句結(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);if發(fā)貨單金額超過(guò)$500thenif欠款超過(guò)了60天then

在償還欠款前不予批準(zhǔn)

else(欠款未超期)發(fā)批準(zhǔn)書(shū),發(fā)貨單

else(發(fā)貨單金額未超過(guò)$500)

if欠款超過(guò)60天then

發(fā)批準(zhǔn)書(shū),發(fā)貨單及賒欠報(bào)告

else(欠款未超期)發(fā)批準(zhǔn)書(shū),發(fā)貨單

例:商店業(yè)務(wù)處理系統(tǒng)中“檢查發(fā)貨單”4、針對(duì)實(shí)時(shí)系統(tǒng)的Ward&Mellor擴(kuò)展

為適應(yīng)實(shí)時(shí)系統(tǒng)提出的以下要求進(jìn)行的擴(kuò)展:

(1)在時(shí)間連續(xù)的基礎(chǔ)上接收或產(chǎn)生數(shù)據(jù)流;

(2)貫穿系統(tǒng)的控制信息和相關(guān)的控制處理;

(3)在多任務(wù)的情況下可能會(huì)遇到同一個(gè)加工的多個(gè)實(shí)例;

(4)系統(tǒng)狀態(tài)以及導(dǎo)致系統(tǒng)狀態(tài)遷移的機(jī)制。

擴(kuò)展的圖形符號(hào)在描述數(shù)據(jù)流和加工的同時(shí),描述控制流和控制加工。這些符號(hào)可以與原來(lái)的數(shù)據(jù)流圖的圖形符號(hào)混用。

控制項(xiàng)或事件。時(shí)間上間隔發(fā)生的數(shù)據(jù)流,取布爾值或離散值。連續(xù)數(shù)據(jù)流。時(shí)間上連續(xù)發(fā)生的數(shù)據(jù)流,用做加工的輸入或輸出??刂萍庸ぁS墒录?qū)動(dòng)的控制處理過(guò)程,接受控制和輸入,產(chǎn)生控制作為輸出。控制存儲(chǔ)。為一個(gè)或多個(gè)控制提供事件源或事件存儲(chǔ)服務(wù)的庫(kù)。加工。同一個(gè)加工的多個(gè)對(duì)等的實(shí)例。在多任務(wù)系統(tǒng)中當(dāng)產(chǎn)生多個(gè)加工時(shí)使用。它相當(dāng)于一些進(jìn)程。時(shí)間連續(xù)的數(shù)據(jù)流與普通數(shù)據(jù)流事件可以作為普通數(shù)據(jù)加工的輸入數(shù)據(jù)流,控制也可以接收普通的輸入數(shù)據(jù)流。5、Hatley和Pirbhai對(duì)結(jié)構(gòu)化分析技術(shù)的擴(kuò)展

該擴(kuò)展主要關(guān)注面向控制的規(guī)格說(shuō)明,而不是擴(kuò)充數(shù)據(jù)流圖的圖形符號(hào)。通過(guò)建立控制流圖(CFD)以區(qū)別于數(shù)據(jù)流圖(DFD)。在控制流圖中的加工與數(shù)據(jù)流圖中相同,但傳遞的是控制流而不是數(shù)據(jù)流。用數(shù)據(jù)流圖表示對(duì)數(shù)據(jù)和操作數(shù)據(jù)的加工;用控制流圖表示事件在加工之間如何流動(dòng),說(shuō)明導(dǎo)致各個(gè)加工激活的外部事件。Ward&Pirbhai方法行為建模

行為建模給出需求分析方法的所有操作原則,只在結(jié)構(gòu)化分析方法的擴(kuò)充版本才提供這種建模的符號(hào)。行為建模的工具:

1、狀態(tài)―遷移圖

2、Petri網(wǎng)

3、控制規(guī)格說(shuō)明(狀態(tài)―遷移圖(STD)、加工激活表)數(shù)據(jù)字典(DD)數(shù)據(jù)詞典精確地、嚴(yán)格地定義了每一個(gè)與系統(tǒng)相關(guān)的數(shù)據(jù)元素,并以字典式順序?qū)⑺鼈兘M織起來(lái),使得用戶和分析員對(duì)所有的輸入、輸出、存儲(chǔ)成分和中間計(jì)算有共同的理解。數(shù)據(jù)詞典表示每個(gè)數(shù)據(jù)對(duì)象和控制項(xiàng)的特性數(shù)據(jù)字典是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合,使得每個(gè)圖形元素都有確切解釋。數(shù)據(jù)字典與數(shù)據(jù)流圖共同構(gòu)成系統(tǒng)的邏輯模型,數(shù)據(jù)子詞典與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求。詞條描述是對(duì)在數(shù)據(jù)流圖中每一個(gè)被命名的圖形元素的定義,內(nèi)容有:圖形元素名字、別名或編號(hào)、分類、描述、定義、位置、其它等。定義絕大多數(shù)復(fù)雜事物的方法,都是用被定義的事物的成分的某種組合表示這個(gè)事物,這些組成成分又由更低層的成分的組合來(lái)定義。

順序即以確定次序連接兩個(gè)或多個(gè)分量選擇即從兩個(gè)或多個(gè)可能的元素中選取一個(gè)重復(fù)即把指定的分量重復(fù)零次或多次可選即一個(gè)分量是可有可無(wú)的(重復(fù)零次或一次)符號(hào)

含義

舉例

=“被定義為”+與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可有可無(wú)“...”基本數(shù)據(jù)元素x=“a”,x是取值為a的元素

.. 連結(jié)符x=1..9,x可取1到9中任一值數(shù)據(jù)流條目中出現(xiàn)的符號(hào)數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳播的路徑。一個(gè)數(shù)據(jù)流詞條應(yīng)有以下幾項(xiàng)內(nèi)容:數(shù)據(jù)流名;說(shuō)明:簡(jiǎn)要介紹作用即它產(chǎn)生的原因和結(jié)果;數(shù)據(jù)流來(lái)源:來(lái)自何方;數(shù)據(jù)流去向:去向何處;數(shù)據(jù)流組成:數(shù)據(jù)結(jié)構(gòu);每個(gè)數(shù)據(jù)量的流通量:數(shù)據(jù)量,流通量;(1)數(shù)據(jù)流詞條描述數(shù)據(jù)流條目的例子數(shù)據(jù)流條目的例子存折=戶名+所號(hào)+帳號(hào)+開(kāi)戶日+性質(zhì)+(印密)+1{存取行}50戶名=2{字母}24所號(hào)=“001”..“999”帳號(hào)=“00000001”..“99999999”開(kāi)戶日=年+月+日性質(zhì)=“1”..“6”注:“1”表示普通戶,“5”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復(fù)核DFD中每個(gè)數(shù)據(jù)結(jié)構(gòu)都是由數(shù)據(jù)元素構(gòu)成的,數(shù)據(jù)元素是數(shù)據(jù)處理中最小的、不可再分的單位,它直接反映事物的某一特征,其描述需要以下信息:數(shù)據(jù)元素名;類型:數(shù)字(離散值,連續(xù)值),文字(編碼類型);長(zhǎng)度;取值范圍;相關(guān)的數(shù)據(jù)元素及數(shù)據(jù)結(jié)構(gòu);(2)數(shù)據(jù)元素詞條描述數(shù)據(jù)元素條目描述在實(shí)際應(yīng)用中,對(duì)數(shù)據(jù)流和數(shù)據(jù)元素的描述可以靈活地剪裁,數(shù)據(jù)流元素的描述也可以采用和數(shù)據(jù)流相似的方式。例如:名字(數(shù)據(jù)流名):定貨報(bào)表別名:定貨信息描述(說(shuō)明):每天一次送給采購(gòu)員的需要定貨的零件表定義(數(shù)據(jù)流組成):定貨報(bào)表=零件編號(hà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)表定貨信息數(shù)據(jù)文件是數(shù)據(jù)結(jié)構(gòu)保存的地方。本類詞條應(yīng)有以下內(nèi)容:

數(shù)據(jù)文件名;簡(jiǎn)述:存放的是什么數(shù)據(jù);輸入數(shù)據(jù);輸出數(shù)據(jù);數(shù)據(jù)文件組成:數(shù)據(jù)結(jié)構(gòu);存儲(chǔ)方式:順序,直接,關(guān)鍵碼;存取頻率;(3)數(shù)據(jù)文件詞條描述加工到后來(lái)就是一段程序,它的表達(dá)方式有判定表、判定樹(shù)、結(jié)構(gòu)化英語(yǔ)等,在一個(gè)詞條中全部描述有困難。主要內(nèi)容有:

加工名;加工編號(hào):反映該加工的層次;簡(jiǎn)要描述:加工邏輯及功能簡(jiǎn)述;輸入數(shù)據(jù)流;輸出數(shù)據(jù)流;加工邏輯:簡(jiǎn)述加工程序,加工順序;(4)加工邏輯詞條描述對(duì)于數(shù)據(jù)處理系統(tǒng)來(lái)說(shuō),源點(diǎn)和匯點(diǎn)應(yīng)比較少,否則就會(huì)缺少獨(dú)立性,人機(jī)界面太復(fù)雜,這時(shí)應(yīng)考慮減少以提高系統(tǒng)獨(dú)立性。這類詞條應(yīng)包括:名稱:外部實(shí)體名;簡(jiǎn)要描述:什么外部實(shí)體;有關(guān)數(shù)據(jù)流;數(shù)目;(5)源點(diǎn)及匯(終)點(diǎn)詞條描述

房產(chǎn)管理系統(tǒng)旨在用計(jì)算機(jī)對(duì)房產(chǎn)進(jìn)行管理,包括住房的分配、調(diào)整和計(jì)算房租等。用戶可以查詢住房情況和房租金額,還可以對(duì)房產(chǎn)進(jìn)行一些統(tǒng)計(jì),給出統(tǒng)計(jì)表格,以便掌握全面的住房情況。房管部門(mén)首先把住戶要求(按照統(tǒng)一的格式由用戶填寫(xiě))輸入進(jìn)來(lái),系統(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)的空房信息,如房號(hào)、面積、單位面積房租等,并登記相應(yīng)的住戶信息,如戶主姓名、部門(mén)、住戶分?jǐn)?shù)、家庭人口等,再寫(xiě)回房產(chǎn)文件中去,同時(shí)寫(xiě)入住房文件中去,輸出分配后的住房單。同時(shí)進(jìn)行房租計(jì)算,計(jì)算好的房租寫(xiě)入到房租文件中去。調(diào)房處理和退房處理與分房處理相似。咨詢要求分查詢住戶情況、查詢房租和查詢?nèi)肿》壳闆r(統(tǒng)計(jì))三種。查詢住房情況可根據(jù)住戶名從住房文件中讀出該住戶的住房情況并打印出來(lái)。查詢房租可根據(jù)住戶名從房租文件讀出該住戶的房租信息并打印出來(lái)。統(tǒng)計(jì)要求做一些統(tǒng)計(jì)處理后打印出統(tǒng)計(jì)表。數(shù)據(jù)流分析實(shí)例房產(chǎn)管理部門(mén)住戶房產(chǎn)管理系統(tǒng)住戶要求咨詢住房情況統(tǒng)計(jì)表頂層數(shù)據(jù)流圖1檢查合法性3咨詢處理住戶要求咨詢2要求處理合法的咨詢合法的住戶要求住房情況統(tǒng)計(jì)表1檢查合法性3咨詢處理住戶要求咨詢2要求處理合法的咨詢合法的住戶要求住房情況統(tǒng)計(jì)表0層數(shù)據(jù)流圖2.1要求類型處理2.4退房處理2.3調(diào)房處理2.2分房處理房產(chǎn)文件住戶要求合法的分房單調(diào)房單退房單一層圖號(hào):2一層圖號(hào):3合法的咨詢3.1咨詢類別處理3.5打印處理3.4房產(chǎn)統(tǒng)計(jì)3.3房租查詢3.2住房查詢住房文件房租文件房產(chǎn)文件查詢住房情況要求查詢房租要求統(tǒng)計(jì)要求統(tǒng)計(jì)表房租住房記錄住房情況二層圖號(hào)2.22.2.1核準(zhǔn)住房條件2.2.3房租計(jì)算2.2.2分配住房分房單住房標(biāo)準(zhǔn)文件房產(chǎn)文件住房文件房租文件核準(zhǔn)后的分房單住房單2.3.1審查調(diào)房2.3.3房租核計(jì)2.3.2調(diào)房處理住房標(biāo)準(zhǔn)文件房產(chǎn)文件住房文件房租文件審核后的調(diào)房單住房單退房單二層圖號(hào)2.3調(diào)房單二層圖號(hào)2.42.4.1退房處理2.4.2消去房租退房單房產(chǎn)文件住房文件房租文件審核后的退房單房管部門(mén)住戶檢查合法性要求處理類型核對(duì)條件住房分配住房房租計(jì)算審查調(diào)房退房處理房產(chǎn)統(tǒng)計(jì)咨詢類別處理住房查詢房租查詢打印處理消去房租調(diào)房處理房租核計(jì)房租文件住房標(biāo)準(zhǔn)文件住房文件房產(chǎn)文件住房文件住房文件房租文件房產(chǎn)文件數(shù)據(jù)詞典1、數(shù)據(jù)流條目住戶要求=戶主+[分房要求|調(diào)房要求|退房要求]分房要求=部門(mén)+職稱+家庭人口+住戶分?jǐn)?shù)+要求住房面積調(diào)房要求=部門(mén)+職稱+家庭人口+住房分?jǐn)?shù)+原住房面積+

原房號(hào)+要求調(diào)房面積退房要求=部門(mén)+房號(hào)住房情況=戶主+部門(mén)+職稱+家庭人口+住房分?jǐn)?shù)+住房面積+房租+房號(hào)咨詢要求=戶主+[住房情況咨詢|房租咨詢|統(tǒng)計(jì)要求]統(tǒng)計(jì)表={住房面積+已分住房數(shù)+空房數(shù)}分房單=戶主+部門(mén)+職稱+住房分?jǐn)?shù)+要求住房面積調(diào)房單=戶主+部門(mén)+職稱+住房分?jǐn)?shù)+原住房面積+原房號(hào)+要求調(diào)房面積退房單=戶主+房號(hào)房號(hào)=樓號(hào)+房間號(hào)2、文件條目文件名:住房標(biāo)準(zhǔn)文件組成:{住房面積+最低住房分?jǐn)?shù)}組織:按住房面積大小遞增排列文件名:房產(chǎn)文件組成:{房號(hào)+住房面積+分配標(biāo)志+每平方米房租}組織:按房號(hào)遞增排列文件名:住房文件組成:{戶主+部門(mén)+職稱+家庭成員+住房分?jǐn)?shù)+房號(hào)+住房面積}組織:按戶主名拼音字母順序排列文件名:房租文件組成:{住房情況}組織:按戶主名拼音字母順序排列3、小說(shuō)明(加工邏輯說(shuō)明)加工編號(hào):1加工名:檢查合法性加工邏輯:檢查輸入要求的合法性有關(guān)信息:當(dāng)有要求輸入時(shí)執(zhí)行此加工加工編號(hào):2.1加工名:要求類型處理加工邏輯:根據(jù)住戶要求選擇

case1:要求分房,輸

溫馨提示

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

評(píng)論

0/150

提交評(píng)論