需求工程-軟件建模與分析_第1頁
需求工程-軟件建模與分析_第2頁
需求工程-軟件建模與分析_第3頁
需求工程-軟件建模與分析_第4頁
需求工程-軟件建模與分析_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 問題分析的主要步驟(五步)? (1) 在問題定義上達(dá)成共識(shí); (2) 理解根本原因,分析問題背后的問題; (3) 確定相關(guān)人員和用戶; (4) 定義解決方案的界限; (5) 確定加在解決方案上的約束。2 魚骨圖主要用于定性分析,帕累托圖主要用于定量分析。3 魚骨圖、帕累托圖構(gòu)建的主要步驟? 魚骨圖 A 選擇問題 首先選擇一個(gè)具體的問題或者結(jié)果。在選擇問題時(shí),要保證問題是專門的、定義嚴(yán)謹(jǐn)?shù)?、范圍相?duì)較小的(對(duì)于大范圍的問題往往需要考慮將其分解成相對(duì)較小的問題),并且保證參與人員切實(shí)理解要分析的內(nèi)容。對(duì)問題定義產(chǎn)生出來的問題一般都應(yīng)該進(jìn)行一次獨(dú)立的魚骨圖分析。 B 頭腦風(fēng)暴 就導(dǎo)致問題的可能原

2、因進(jìn)行頭腦風(fēng)暴。將大家提出的意見記錄下來,確認(rèn)后貼到魚骨圖上。 需要注意的是不要將原因和解決方案混為一談。在確定原因的分類前先進(jìn)行頭腦風(fēng)暴(一個(gè)人提,大家批),不然思考問題的范圍就會(huì)受到限制。支持者需要引導(dǎo)和鼓勵(lì)參與者參與其中。 C 確定問題類型 對(duì)頭腦風(fēng)暴的結(jié)果進(jìn)行整理,確定出主要的原因類型。一般來說,劃分出來的問題不要少于2類,不要超過6類(經(jīng)驗(yàn)數(shù)值,僅供參考)。經(jīng)常使用的類型有:人、設(shè)備、材料、環(huán)境、方法、過程等。將這些類型補(bǔ)充到魚骨圖上。 D 分配原因 將頭腦風(fēng)暴中得出的潛在原因放在魚骨圖上,并且確保每一項(xiàng)原因都?xì)w于適當(dāng)?shù)念悇e中。如果原因看起來可以放在多個(gè)類別中,就表示是多重原因造成的

3、問題。但如果多次出現(xiàn)多重原因,可能就以為著分類存在問題。該階段將形成最終的魚骨圖E 分析根本原因 對(duì)魚骨圖中羅列出來的所有潛在原因進(jìn)行分析。分析出造成某一結(jié)果的最根本原因是什么?找出核心所在。 方法如下: 通過參與者之間的公開討論來分享看法和經(jīng)驗(yàn); 尋找重復(fù)的原因,或者與特定類有關(guān)的原因的數(shù)量; 使用檢查表收集資料、制造流程圖或者進(jìn)行用戶調(diào)查, 通過帕累托分析法測(cè)試各種原因的相對(duì)強(qiáng)度; 投票(真理多數(shù)情況下掌握在多數(shù)人手里) 帕累托圖 在通過使用魚骨圖完成問題原因的定性描述后。仍然存在一個(gè)問題,就是根本原因的辨識(shí)需要有經(jīng)驗(yàn)的決策者確定,或者根據(jù)人類固有經(jīng)驗(yàn)(少數(shù)服從多數(shù))確定。更好地方法是能夠

4、開展定量分析。帕累托分析可以幫助我們做出這樣的定量分析。帕累托分析應(yīng)用就是根據(jù)魚骨圖分析的結(jié)果,通過收集相關(guān)統(tǒng)計(jì)資料,通過直方圖的方式顯示問題的相對(duì)頻度或者大小高低等定量結(jié)果。A 確定問題和相關(guān)原因 利用魚骨圖的結(jié)果。B 收集數(shù)據(jù) 有針對(duì)性第收集數(shù)據(jù)。例如上例中,我們可以抽取一些廢品,分析這些廢品產(chǎn)生的原因C 繪制直方圖4 上下文圖畫法步驟? 在繪制上下文關(guān)系圖時(shí)應(yīng)該采用以下步驟:1、首先用一個(gè)矩形表示系統(tǒng),寫上系統(tǒng)的名稱,將整個(gè)系統(tǒng)看做一個(gè)黑盒子;2、然后找到該系統(tǒng)的所有Customer(客戶),考慮這些Customer會(huì)發(fā)起什么事件,這些事件會(huì)引發(fā)Worker(內(nèi)部工作人員)的什么工作,將

5、這些序列逐一表示出來;3、最后在看看系統(tǒng)的每個(gè)Worker還有沒有一些主動(dòng)發(fā)起的事件。(Customer:也就是該主題域的客戶,它處于該主題域的外部。如,對(duì)于體檢業(yè)務(wù)子系統(tǒng)而言,體檢者顯然就是一類客戶,除此之外,客服中心、物資部門、財(cái)務(wù)部門的工作人員也是這個(gè)主題域的Customer。Worker:也就是該主題域的工作人員,它處于該主題域的內(nèi)部。如,服務(wù)中心,體檢科室,綜合科的工作人員都是其Worker。關(guān)鍵要點(diǎn)在于“針對(duì)本主題域”而言。)5需求獲取的主要活動(dòng)研究應(yīng)用背景,建立初始的知識(shí)框架;根據(jù)獲取的需要,采用必要的獲取方法和技巧;先行確定獲取的內(nèi)容和主題,設(shè)定場景;分析用戶的高(深)層目標(biāo),

6、理解用戶的意圖;進(jìn)行涉眾分析,針對(duì)涉眾的特點(diǎn)開展工作。6需求協(xié)商的幾條法則的應(yīng)用?差異問題協(xié)調(diào)法則:不同的業(yè)務(wù)層面(有時(shí)即使是相同業(yè)務(wù)層面)的用戶對(duì)同樣的概念或者流程有不同的認(rèn)識(shí)和理解,會(huì)出現(xiàn)一些差異,在需求整理時(shí)應(yīng)該將這些差異明確標(biāo)識(shí)出來,并展示給用戶高層管理人員,由他們來確定如何消除這些差異,并將這些情況記錄。消除變更問題協(xié)調(diào)法則:上面法則提到的問題,從消除變更的角度考慮仍然存在問題。僅僅將差異標(biāo)識(shí)并展示給高層并不能消除變更的可能,應(yīng)該考慮這些差異形成背后的問題,應(yīng)該從開發(fā)角度考慮如何消除這些差異,并提供給高層管理人員。要有主動(dòng)性需求協(xié)商時(shí)機(jī)法則:不要在需求凍結(jié)前開展需求協(xié)商工作。需求協(xié)商

7、應(yīng)該在需求獲取過程中不斷開展,出現(xiàn)就考慮消除。如果都等到凍結(jié)前,將所有矛盾集中體現(xiàn)對(duì)工作是非常不利的。實(shí)例:W公司開發(fā)的信息系統(tǒng)到了需求凍結(jié)前夕,A建立拿出厚厚一本需求協(xié)商底稿,分為重點(diǎn)差異協(xié)調(diào)部分,一般差異協(xié)調(diào)部分,已協(xié)調(diào)差異列表。結(jié)果用戶高層非常不滿,認(rèn)為這些工作需要大量時(shí)間難以短期完成。7需求獲取的主要方法用戶訪談?dòng)脩粽{(diào)查文檔分析原型法(情節(jié)串聯(lián)板)模型驅(qū)動(dòng)的方法8開放式話題與封閉式話題運(yùn)用開放式話題優(yōu)點(diǎn):讓被會(huì)見者感到自在;會(huì)見者可以收集被會(huì)見者使用的詞匯,這能反應(yīng)他的教育、價(jià)值標(biāo)準(zhǔn)、態(tài)度和信念;提供豐富的細(xì)節(jié);對(duì)沒采用的進(jìn)一步的提問有啟迪作用;讓被會(huì)見者更感興趣;容許更多的自發(fā)性;會(huì)

8、見者可以在沒有太多準(zhǔn)備的情況下進(jìn)行面談。缺點(diǎn):提此類問題可能會(huì)產(chǎn)生太多不相干的細(xì)節(jié);面談可能失控;開放式的回答會(huì)花費(fèi)大量的時(shí)間才能獲得有用的信息量;可能會(huì)使會(huì)見者看上去沒有準(zhǔn)備封閉式話題優(yōu)點(diǎn):節(jié)省時(shí)間;切中要點(diǎn);保持對(duì)面談的控制;快速探討大范圍問題;得到貼切的數(shù)據(jù)缺點(diǎn):使得被會(huì)見者厭煩;得不到豐富的細(xì)節(jié);出于上述原因,失去主要思想;不能建立和面談?wù)叩挠押藐P(guān)系。 9用戶訪談時(shí)問題組織的三種方式及特點(diǎn)?金字塔結(jié)構(gòu)如果會(huì)見者認(rèn)為被會(huì)見者需要對(duì)話題進(jìn)行預(yù)熱,可以采用金字塔結(jié)構(gòu),通過逐步的引導(dǎo)來使得被會(huì)見者打開話匣子。如果會(huì)見者發(fā)現(xiàn)自己事先對(duì)事實(shí)的確認(rèn)存在較大偏差或者被會(huì)見者看上去不情愿討論這個(gè)話題,也

9、可以采用金字塔結(jié)構(gòu)。當(dāng)想結(jié)束討論這個(gè)話題的時(shí)候,使用金字塔結(jié)構(gòu)的提問順序也是有用的。 漏斗結(jié)構(gòu)漏斗結(jié)構(gòu)為開始一場面談提供了一種容易而輕松的途徑。當(dāng)被會(huì)見者對(duì)這個(gè)話題有情緒,并且需要自由表達(dá)這些情緒的時(shí)候,需要采用漏斗型提問順序。或者在會(huì)見者事先對(duì)事實(shí)了解不多時(shí),也應(yīng)該采用漏斗結(jié)構(gòu)的問題組織方式。用這種方式組織面談能得出很多的詳細(xì)信息,以至于沒有必要使用長序列的受限制問題和調(diào)查問題。 菱形結(jié)構(gòu)使用菱形結(jié)構(gòu)的主要優(yōu)點(diǎn)是通過各種各樣的問題保持被會(huì)見者的興趣和注意力。一旦掌握了如何在正確的時(shí)間問正確的問題,就可以多樣地選擇問題的順序。 10市場調(diào)查和需求獲取在訪談與調(diào)查順序上有何不同?原因何在?一般來

10、說,在開展市場調(diào)查時(shí),由于很難深入接觸到潛在的用戶。所以總是先調(diào)查,后訪談。而在需求獲取時(shí),通常采用的策略是先訪談,后調(diào)查。 其實(shí)原因在于市場調(diào)查與需求獲取有不同的應(yīng)用背景。一般市場調(diào)查通常用于驗(yàn)證潛在客戶對(duì)產(chǎn)品的接受程度。而需求獲取的目標(biāo)是要理解客戶需要解決的問題。 也就是說需求獲取時(shí)你往往還沒有產(chǎn)品,信息不夠充分,所以很難設(shè)計(jì)出有效的調(diào)查問卷。11采用原型方法的三個(gè)目的?明確并完善需求 原型作為一種需求工具,它是對(duì)部分系統(tǒng)的初步實(shí)現(xiàn),因?yàn)槲覀兩袥]有很好地了解該系統(tǒng)。研究設(shè)計(jì)選擇方案 原型作為一種設(shè)計(jì)工具,涉眾可以用它研究不同的用戶交互技術(shù),優(yōu)化系統(tǒng)易用性,并評(píng)估可能的技術(shù)方案。發(fā)展為最終產(chǎn)

11、品 原型作為一種構(gòu)造工具,是產(chǎn)品一個(gè)最初子集的完整功能實(shí)現(xiàn)。12用例描述方法13需求關(guān)系的根本任務(wù)是什么? 需求分析是軟件需求中最核心的工作,需求建模是需求分析的主要手段。需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個(gè)問題。需求分析的任務(wù)還不是確定系統(tǒng)怎樣完成它的工作,而僅僅是確定系統(tǒng)必須完成哪些工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析根本任務(wù):建立分析模型,創(chuàng)建解決方案。14需求分析任務(wù)中分解策略主要包含那幾種?每種策略分別適合應(yīng)用于那些系統(tǒng)的開發(fā) 1)業(yè)務(wù)流程為主線的分解策略;業(yè)務(wù)流程為主線的分解策略是目前比較流行的方法,主要

12、按照“業(yè)務(wù)”的角度考慮分解方法。此方法特別適合聯(lián)機(jī)事務(wù)處理系統(tǒng)、管理信息系統(tǒng)(MIS)。目標(biāo)系統(tǒng)-主題域的分解依據(jù)是“目標(biāo)決定范圍”;主題域-業(yè)務(wù)事件所做的是理清業(yè)務(wù)脈絡(luò);業(yè)務(wù)事件-業(yè)務(wù)活動(dòng)所做的是填充細(xì)節(jié);業(yè)務(wù)活動(dòng)-業(yè)務(wù)步驟所做的是細(xì)化和確認(rèn)工作。2)程序結(jié)構(gòu)為主線的分解策略; 方法是需求分析最常用的分解方法。當(dāng)由于其過早進(jìn)入程序結(jié)構(gòu),割裂了與問題域之間的聯(lián)系,從而容易導(dǎo)致對(duì)問題域研究的不足,降低了需求的質(zhì)量。目前認(rèn)為此種方法僅適合于問題域比較清晰,問題不算復(fù)雜的情況,例如工具軟件、嵌入式系統(tǒng)等。3)基于場景的分解策略; 對(duì)于決策支持系統(tǒng)、面向用戶的嵌入式系統(tǒng)等來說,決策場景、使用場景是主要

13、的線索。向上可以總結(jié)成一類相似的集合,再總結(jié)成一系列的關(guān)注點(diǎn)或者功能域,向下可以分解成具體的步驟或者操作任務(wù)。4)基于數(shù)據(jù)的分解策略等。 上述分解策略都是從“業(yè)務(wù)”角度來組織。但對(duì)于類似數(shù)據(jù)倉庫之類的數(shù)據(jù)類項(xiàng)目,業(yè)務(wù)線索并不是十分明顯,或者并不重要這是就需要以數(shù)據(jù)為主的分解策略。其中主題域仍然與“業(yè)務(wù)流程為主的分解策略”類似。而主題類是企業(yè)中的高層實(shí)體,主要由一組企業(yè)的邏輯數(shù)據(jù)類來表示,而企業(yè)的邏輯數(shù)據(jù)類在實(shí)現(xiàn)時(shí)又會(huì)對(duì)應(yīng)于多個(gè)物理數(shù)據(jù)類。15 需求分析中分解與提煉的比較? 分解是一種自頂向下的方法,當(dāng)按照任何一種線索進(jìn)行分解時(shí)。就會(huì)破壞其它線索的完整性。例如,如果以“業(yè)務(wù)”為線索,就會(huì)發(fā)現(xiàn)數(shù)據(jù)

14、需求分解后會(huì)出現(xiàn)相互交疊的情況,也就是在多個(gè)業(yè)務(wù)事件中都涉及相同的類。 此種情況出現(xiàn)時(shí),可能會(huì)影響需求分析人員建立全面的理解,因此需要采用自底向上的方法進(jìn)行提煉。例如將每個(gè)業(yè)務(wù)事件中的類進(jìn)行提煉,抽取出共性的部分,建立針對(duì)整個(gè)系統(tǒng)的全局領(lǐng)域模型。16構(gòu)建分析模型的目的? 1將復(fù)雜的系統(tǒng)分解成為簡單的部分以及它們之間的聯(lián)系,確定本質(zhì)特征2和用戶達(dá)成對(duì)信息內(nèi)容的共同理解3分析的活動(dòng)主要包括識(shí)別、定義和結(jié)構(gòu)化,它的目的是獲取某個(gè)可以轉(zhuǎn)換為知識(shí)的事物的信息17分析模型的建模方法?模型 “模型是對(duì)事物的抽象,幫助人們?cè)趧?chuàng)建一個(gè)事物之前可以有更好的理解” 集中關(guān)注問題的計(jì)算特性(數(shù)據(jù)、功能、規(guī)則等等) “

15、它是對(duì)系統(tǒng)進(jìn)行思考和推理的一種方式。建模的目標(biāo)是建立系統(tǒng)的一個(gè)表示,這個(gè)表示以精確一致的方式描述系統(tǒng),使得系統(tǒng)的使用更加容易” 建模方法抽象分解投影抽象(Abstraction)一方面要求人們只關(guān)注重要的信息,忽略次要的內(nèi)容通過強(qiáng)調(diào)本質(zhì)的特征,就減少了問題的復(fù)雜性(例如學(xué)生模型)另一方面也要求人們將認(rèn)知保留在適當(dāng)?shù)膶哟?,屏蔽更深層次的?xì)節(jié)在問題的各元素之間推斷出更廣泛和更普遍的關(guān)系,幫助人們尋找解決方案分解(Decomposition / Partitioning)“分而治之” 將單個(gè)復(fù)雜和難以理解的問題分解成多個(gè)相對(duì)更容易的子問題,并掌握各子問題之間的聯(lián)系分解的方案往往還能提供問題的解決思路

16、投影(Projection)多視點(diǎn)方法 18實(shí)際的建模過程中要遵循的建模原則? 在建模時(shí),要注意考慮到計(jì)劃之外的變化:設(shè)計(jì)要文檔化,只有這樣,才能使不熟悉的新手也可以有效地利用設(shè)計(jì)的方案。用可視化的模型表達(dá)現(xiàn)實(shí)世界,有助于理解變化所代表的含義。 在實(shí)際的建模過程中要遵循以下建模原則:模型是用來溝通的;選擇創(chuàng)建什么模型對(duì)如何解決問題和如何形成解決方案具有深遠(yuǎn)的影響。每種模型可以在不同的精度級(jí)別上表示;最好的模型是與現(xiàn)實(shí)相聯(lián)系的模型;單個(gè)模型往往不夠充分,對(duì)每個(gè)重要的系統(tǒng)最好用一組幾乎獨(dú)立的模型去處理。19需求建模的流程? 先依據(jù)獲取的問題域信息建立初步的模型。然后分析用戶需求,對(duì)模型進(jìn)行調(diào)整,得

17、到一個(gè)中間形式的模型形式。最后,對(duì)調(diào)整后的模型進(jìn)行邏輯推理和驗(yàn)證,如果符合預(yù)期的期望,那么它就是最終的解決方案模型。 20 常見的需求分析技術(shù)? 結(jié)構(gòu)化技術(shù)數(shù)據(jù)建模實(shí)體關(guān)系圖Entity Relationship Diagram過程建模數(shù)據(jù)流圖Data Flow Diagram上下文圖Context Diagram微規(guī)格說明Mini-Specification數(shù)據(jù)字典Data Dictionary行為建模狀態(tài)(轉(zhuǎn)換)圖/矩陣State (Transition) Diagram/Matrix過程/數(shù)據(jù)關(guān)系建模功能實(shí)體矩陣Function/Entity Matrix信息工程方法功能分解圖Funct

18、ion Decomposition Diagram過程依賴圖Process Dependency Diagram面向?qū)ο蠹夹g(shù)UML用例圖Use-Case Diagram類圖Class Diagram交互圖(順序圖/通信圖)Interaction(Sequence / Communication)Diagram活動(dòng)圖Activity Diagram對(duì)象約束語言O(shè)bject Constraint Language狀態(tài)圖State Chart Diagram正確認(rèn)識(shí)UML(2)(3)(4)() UML的準(zhǔn)確理解UML是一種語言(Language)實(shí)際上UML就是一種表示方法,它不是方法論。UML是一

19、種建模語言(Modeling Language)它不是編程語言,而是建模語言。它不僅包含軟件建模,而且可用于業(yè)務(wù)建模、流程建模等多種領(lǐng)域。UML是統(tǒng)一建模語言(Unified Modeling Language )它是一種標(biāo)準(zhǔn)化的、統(tǒng)一的建模語言,OMG認(rèn)可的工業(yè)標(biāo)準(zhǔn),也是如IBM、SUN等大型公司認(rèn)可的事實(shí)標(biāo)準(zhǔn)。(3) 為什么要使用UMLUML是一種統(tǒng)一的、標(biāo)準(zhǔn)化的建模語言,它為參與軟件設(shè)計(jì)和開發(fā)的各類人員提供統(tǒng)一的語言,使開發(fā)人員能夠基于共的模型來理解業(yè)務(wù)、需求,理解軟件及其架構(gòu)如何構(gòu)造的。(4) 如何使用UMLUML2.0標(biāo)準(zhǔn)中,共定義了13種不同的圖,這些圖的功能以及與UML1.0之間

20、的關(guān)系如下表圖名功能備注類圖描述類、類特性及類間關(guān)系UML1.0原有對(duì)象圖描述一個(gè)時(shí)間點(diǎn)上系統(tǒng)各個(gè)對(duì)象的一個(gè)快照UML1.0非正式圖復(fù)合結(jié)構(gòu)圖描述類的運(yùn)行時(shí)刻的分解UML2.0新增構(gòu)件圖描述構(gòu)件的結(jié)構(gòu)和連接UML1.0原有部署圖描述在各個(gè)節(jié)點(diǎn)上的部署UML1.0原有包圖描述編譯時(shí)的層次結(jié)構(gòu)UML1.0非正式圖用例圖描述用戶與系統(tǒng)如何交互UML1.0原有活動(dòng)圖描述過程行為與并行行為UML1.0原有狀態(tài)圖描述事件如何改變對(duì)象生命周期UML1.0原有順序圖描述對(duì)象之間的交互、重點(diǎn)在于強(qiáng)調(diào)順序UML1.0原有通信圖描述對(duì)象之間的交互、重點(diǎn)在于連接UML1.0中的協(xié)作圖定時(shí)圖描述對(duì)象之間的交互、重點(diǎn)在于

21、定時(shí)UML2.0新增交互概觀圖是一種順序圖與活動(dòng)圖的混合UML2.0新增如何使用UML-需求階段一般常采用的圖使用頻率圖名功能關(guān)注要點(diǎn)主體用例圖說明角色和使用場景之間的關(guān)系人活動(dòng)圖說明業(yè)務(wù)流程,以及業(yè)務(wù)活動(dòng)的步驟事順序圖描述對(duì)象之間的交互物類圖說明業(yè)務(wù)實(shí)體之間的關(guān)系,體現(xiàn)結(jié)構(gòu)規(guī)則物輔助構(gòu)件圖說明主題域劃分以及他們之間的服務(wù)接口接口部署圖描述系統(tǒng)的部署環(huán)境,體現(xiàn)設(shè)計(jì)約束設(shè)計(jì)約束22 結(jié)構(gòu)化分析遵循的三條原則?結(jié)構(gòu)化分析遵循的三條基本原則: 分解 抽象 映射23結(jié)構(gòu)化分析模型的構(gòu)成元素? 數(shù)據(jù)字典(DD) 模型核心,包含了所有數(shù)據(jù)對(duì)象的描述的中心庫。E-R圖(ERD)表示數(shù)據(jù)對(duì)象以及相互的關(guān)系,用

22、于數(shù)據(jù)建模。數(shù)據(jù)流圖(DFD) 指明數(shù)據(jù)在系統(tǒng)中移動(dòng)時(shí)如何被變換;描述對(duì)數(shù)據(jù)流進(jìn)行變換的功能; DFD中每個(gè)功能的描述包含在加工規(guī)約(小說明)。用于功能建模。狀態(tài)變遷圖(STD) 指明作為外部事件的結(jié)果,系統(tǒng)將如何動(dòng)作。用于行為建模。24結(jié)構(gòu)化建模示例-建立計(jì)算機(jī)售書系統(tǒng)的邏輯模型 通過對(duì)現(xiàn)實(shí)環(huán)境的調(diào)查,獲得當(dāng)前系統(tǒng)的物理模型。 (2 ) 去掉具體模型中的非本質(zhì)因素:抽取現(xiàn)實(shí)系統(tǒng)的實(shí)質(zhì),抽象出當(dāng)前系統(tǒng)的邏輯模型。 (3)分析當(dāng)前系統(tǒng)與目標(biāo)系統(tǒng)的差別,建立目標(biāo)系 統(tǒng)的邏輯模型 。(4)對(duì)目標(biāo)系統(tǒng)的邏輯模型進(jìn)行細(xì)化、改進(jìn)與優(yōu)化(5)需求分析的驗(yàn)證25 數(shù)據(jù)流圖(DFD)第9章PPT 第20-69頁

23、數(shù)據(jù)流圖(DFD:Data Flow Diagram)就是組織中信息運(yùn)動(dòng)的抽象,是信息邏輯系統(tǒng)模型的主要形式。這個(gè)模型不涉及硬件、軟件、數(shù)據(jù)結(jié)構(gòu)與文件組織,它與對(duì)系統(tǒng)的物理描述無關(guān),只是用一種圖形及與此相關(guān)的注釋來表示系統(tǒng)的邏輯功能,即所開發(fā)的系統(tǒng)在信息處理方面要做什么。由于圖形描述簡明、清晰,不涉及到技術(shù)細(xì)節(jié),所描述的內(nèi)容是面向用戶的,所以即使完全不懂信息技術(shù)的用戶單位的人員也容易理解。因此數(shù)據(jù)流圖是系統(tǒng)分析人員與用戶之間進(jìn)行交流的有效手段,也是系統(tǒng)設(shè)計(jì)(即建立所開發(fā)的系統(tǒng)的物理模型)的主要依據(jù)之一。數(shù)據(jù)流圖脫離系統(tǒng)中的物理因素(如計(jì)算機(jī)等),表達(dá)出系統(tǒng)對(duì)信息的加工情況。DFD可以描述原系統(tǒng)

24、/新系統(tǒng)/子系統(tǒng)。DFD是SA的主要工具,它簡單、直觀,用圖形、文字描述系統(tǒng)。它便于使用、便于交流、便于討論、便于形成共識(shí),是計(jì)算機(jī)專業(yè)人員和用戶單位業(yè)務(wù)人員的共同語言。DFD由四種基本符號(hào)組成。如下圖所示。數(shù)據(jù)流圖的構(gòu)成及基本元素外部項(xiàng)(外部實(shí)體)源點(diǎn)和終點(diǎn)(又稱端點(diǎn))是系統(tǒng)外的實(shí)體,稱作外部項(xiàng)。它們存在于環(huán)境之中,與系統(tǒng)有信息交流,從源點(diǎn)到系統(tǒng)的信息叫系統(tǒng)的輸入;從系統(tǒng)到終點(diǎn)的信息稱系統(tǒng)的輸出。同一個(gè)端點(diǎn)可以是人或其它系統(tǒng)。在DFD中引入源點(diǎn)和終點(diǎn)是為了便于理解系統(tǒng),所以不需要詳細(xì)描述它們。它們可有編號(hào),以“S”開頭。外部實(shí)體外部實(shí)體是指處于待構(gòu)建系統(tǒng)之外的人、組織、設(shè)備或者其他軟件系統(tǒng),

25、它們不受系統(tǒng)的控制,開發(fā)者不能以任何方式操縱它們。需要進(jìn)行建模的外部實(shí)體是那些和待構(gòu)建的軟件系統(tǒng)之間存在著數(shù)據(jù)交互的外部實(shí)體,它們是待構(gòu)建系統(tǒng)的數(shù)據(jù)源或者數(shù)據(jù)目的地所有的外部實(shí)體聯(lián)合起來構(gòu)成了軟件系統(tǒng)的外部上下文環(huán)境 引入外部項(xiàng)是為了劃定系統(tǒng)的邊界,不需嚴(yán)格定義。但也要統(tǒng)一編號(hào),而且要與數(shù)據(jù)字典中的編號(hào)相一致。源點(diǎn)和終點(diǎn)可以在多處出現(xiàn),用特定符號(hào)表示重復(fù)的外部項(xiàng)。為了使DFD清楚易懂,我們對(duì)加工、數(shù)據(jù)流、文件的命名都力求簡單。至于加工的加工邏輯、數(shù)據(jù)流的數(shù)據(jù)結(jié)構(gòu)等,將在數(shù)據(jù)字典中定義。數(shù)據(jù)字典和DFD一起來描述系統(tǒng)。 常見的外部項(xiàng)(外部實(shí)體)有:a)從待構(gòu)建系統(tǒng)中獲取數(shù)據(jù)或者為其提供數(shù)據(jù)的組織

26、,如:供貨方,銷售方等。b)需要和待構(gòu)建系統(tǒng)交互的個(gè)人,如:顧客,辦事員。c)需要和待構(gòu)建系統(tǒng)交換數(shù)據(jù)的其他軟件系統(tǒng)。加工加工又稱處理亦稱變換,它表示對(duì)數(shù)據(jù)流的操作。加工的符號(hào)分成上、下兩部分,從上到下分別是標(biāo)識(shí)部分和功能描述部分。標(biāo)識(shí)部分用于標(biāo)注加工編號(hào),加工編號(hào)應(yīng)具有唯一性,以標(biāo)識(shí)加工,以“P”開頭。功能描述部分用來寫加工名。為使DFD清晰易讀,加工名應(yīng)簡單,能概括地說明對(duì)數(shù)據(jù)的加工行為,其詳細(xì)描述在數(shù)據(jù)詞典中定義。加工要逐層分解,以求得分解后的加工功能簡單、易于理解。數(shù)據(jù)流數(shù)據(jù)流由一個(gè)或一組確定的數(shù)據(jù)項(xiàng)組成。 數(shù)據(jù)流名應(yīng)能直觀地反映數(shù)據(jù)流的含義。如產(chǎn)量日?qǐng)?bào)表、匯款單、錄取通知書、課程表等

27、。也可以用一組數(shù)據(jù)中的主要數(shù)據(jù)為數(shù)據(jù)流命名。例如“考生成績單由考生姓名、成績、通訊地址等數(shù)據(jù)組成,但成績是主要的,所以可用“考生成績”作為數(shù)據(jù)流的名字。 數(shù)據(jù)流應(yīng)統(tǒng)一編號(hào),編號(hào)要與數(shù)據(jù)字典一致。 數(shù)據(jù)流經(jīng)過一個(gè)加工后其數(shù)據(jù)結(jié)構(gòu)/數(shù)據(jù)含義/數(shù)據(jù)的順序一定要有所變化,否則這個(gè)加工就沒有意義了。數(shù)據(jù)存儲(chǔ)(文件) 數(shù)據(jù)存儲(chǔ)是用來存貯數(shù)據(jù)的。在分層DFD中,數(shù)據(jù)存儲(chǔ)一般僅屬于某一層或某幾層,因此又稱數(shù)據(jù)存儲(chǔ)為局部文件。現(xiàn)對(duì)數(shù)據(jù)存儲(chǔ)符號(hào)說明如下:數(shù)據(jù)存儲(chǔ)名寫在開口的長方框內(nèi),應(yīng)概要地說明文件中的主要數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)上一定要有數(shù)據(jù)流。為便于說明和管理,數(shù)據(jù)存儲(chǔ)亦應(yīng)編號(hào),編號(hào)寫在文件符號(hào)左端小方格中,以“D”開

28、頭。為避免DFD中出現(xiàn)交叉線,同一數(shù)據(jù)存儲(chǔ)可在多處畫出。數(shù)據(jù)流圖的繪制步驟(1)確定所開發(fā)的系統(tǒng)的外部項(xiàng)(外部實(shí)體),即系統(tǒng)的數(shù)據(jù)來源和去處。(2)確定整個(gè)系統(tǒng)的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流,把系統(tǒng)作為一個(gè)加工環(huán)節(jié),畫出關(guān)聯(lián)圖。(3)確定系統(tǒng)的主要信息處理功能,按此將整個(gè)系統(tǒng)分解成幾個(gè)加工環(huán)節(jié)(子系統(tǒng))確定每個(gè)加工的輸出與輸入數(shù)據(jù)流以及與這些加工有關(guān)的數(shù)據(jù)存儲(chǔ)。 (4)根據(jù)自頂向下,逐層分解的原則,對(duì)上層圖中全部或部分加工環(huán)節(jié)進(jìn)行分解。(5)重復(fù)步驟(4),直到逐層分解結(jié)束。(6)對(duì)圖進(jìn)行檢查和合理布局,主要檢查分解是否恰當(dāng)、徹底,DFD中各層是否有遺漏、重復(fù)、沖突之處,各層DFD及同層DFD之間關(guān)

29、系是否合理,及命名、編號(hào)是否確切、合理等,對(duì)錯(cuò)誤與不當(dāng)之處進(jìn)行修改。(7)和用戶進(jìn)行交流,在用戶完全理解數(shù)據(jù)圖的內(nèi)容的基礎(chǔ)上征求用戶的意見。 數(shù)據(jù)流圖繪制規(guī)則(1)過程是對(duì)數(shù)據(jù)的處理,必須有輸入,也必須有輸出,而且輸入數(shù)據(jù)集和輸出數(shù)據(jù)集應(yīng)該存在差異。 (2)數(shù)據(jù)流是必須和過程產(chǎn)生關(guān)聯(lián)的,它要么是過程的數(shù)據(jù)輸入,要么是過程的數(shù)據(jù)輸出。(3) DFD當(dāng)中所有的對(duì)象都應(yīng)該有一個(gè)可以唯一標(biāo)識(shí)自己的名稱。過程使用動(dòng)詞外部實(shí)體、數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)使用名詞數(shù)據(jù)流圖繪制過程繪制數(shù)據(jù)流圖的主要原則 (1)明確系統(tǒng)邊界。 (2)自頂向下逐層擴(kuò)展。(3)合理布局。(4)數(shù)據(jù)流圖繪制過程,就是系統(tǒng)的邏輯模型的形成過程,

30、必須始終與用戶密切接觸,詳細(xì)討論,不斷修改,也要和其他系統(tǒng)建設(shè)者共同商討一求一致意見。數(shù)據(jù)流圖應(yīng)用示例-銀行取款系統(tǒng) 簡單銀行取款應(yīng)用描述(1)儲(chǔ)戶將填好的取款單、存折交銀行,銀行做如下處理: 審核并查對(duì)帳目,將不合格的存折、取款單退回儲(chǔ)戶,合格的存折、取款單送取款處理。 處理取款修改帳目,將存折、利息單、結(jié)算清單及現(xiàn)金交儲(chǔ)戶,同時(shí)將取款單存檔。畫出銀行取款處理數(shù)據(jù)流圖。第一步,畫出關(guān)聯(lián)數(shù)據(jù)流圖。注意,現(xiàn)金是實(shí)物,不能作為數(shù)據(jù)流。第二步,逐層分解加工,畫出下層DFD。數(shù)據(jù)流圖應(yīng)用示例-圖書預(yù)定系統(tǒng)圖書預(yù)訂系統(tǒng):書店向顧客發(fā)放訂單,顧客將所填訂單交由系統(tǒng)處理,系統(tǒng)首先依據(jù)圖書目錄對(duì)訂單進(jìn)行檢查并

31、對(duì)合格訂單進(jìn)行處理,處理過程中根據(jù)顧客情況和訂單數(shù)目將訂單分為優(yōu)先訂單與正常訂單兩種,隨時(shí)處理優(yōu)先訂單,定期處理正常訂單。最后系統(tǒng)根據(jù)所處理的訂單匯總,并按出版社要求發(fā)給出版社。 畫出圖書預(yù)定系統(tǒng)的各層數(shù)據(jù)流圖。第一步,畫出關(guān)聯(lián)數(shù)據(jù)流圖。 第二步,逐層分解加工,畫出下層DFD。注意到根據(jù)題意,當(dāng)繪出系統(tǒng)頂層圖后并不能將所有加工分解成基本加工,還要進(jìn)行二層圖分解。并在分解加工過程中逐步充實(shí)進(jìn)數(shù)據(jù)存儲(chǔ)。見圖。 數(shù)據(jù)流圖的作用前面說過,系統(tǒng)分析的主要任務(wù)是建立新系統(tǒng)的邏輯模型。具體地講主要是畫出新系統(tǒng)的DFD,編寫定義DFD的數(shù)據(jù)詞典。 建立新系統(tǒng)的DFD是一項(xiàng)十分重要的工作。因?yàn)榻⒌腄FD是系統(tǒng)

32、開發(fā)乃至系統(tǒng)維護(hù)的依據(jù),是系統(tǒng)的重要文檔之一。系統(tǒng)分析員要在詳細(xì)調(diào)查中,在與用戶的反復(fù)交流中修改DFD,力求新建DFD是正確的、準(zhǔn)確的。DFD的層級(jí)結(jié)構(gòu) 依據(jù)所含過程的不同抽象程度,DFD可以在不同的抽象層次上進(jìn)行系統(tǒng)的描述 一個(gè)比較抽象的過程可以被展開為一個(gè)子過程更加具體的DFD圖DFD的層次結(jié)構(gòu)上下文圖0層圖N層圖(N0)關(guān)于上下文圖將整個(gè)系統(tǒng)看做是一個(gè)過程,這個(gè)過程實(shí)現(xiàn)系統(tǒng)的所有功能 ,是系統(tǒng)功能的最高抽象 上下文圖中存在且僅存在一個(gè)過程,表示整個(gè)系統(tǒng)。這個(gè)單一的過程通常編號(hào)為0 上下文圖中需要表示出所有和系統(tǒng)交互的外部實(shí)體,并描述交互的數(shù)據(jù)流,包括系統(tǒng)輸入和系統(tǒng)輸出 上下文圖中不會(huì)出現(xiàn)

33、數(shù)據(jù)存儲(chǔ)實(shí)例 它非常適合于描述系統(tǒng)的應(yīng)用環(huán)境、定義系統(tǒng)的邊界 關(guān)于0層圖位于上下文圖下面一層,是上下文圖中單一過程的細(xì)節(jié)描述,是對(duì)該單一過程的第一次功能分解 是整個(gè)系統(tǒng)的功能概圖 0層圖應(yīng)該被描述的簡潔、清晰,需求工程師要根據(jù)系統(tǒng)的復(fù)雜度掌握0層圖中過程的抽象程度關(guān)于N層圖對(duì)0層圖的過程分解產(chǎn)生的子圖稱為1層圖,對(duì)N層圖的過程分解后產(chǎn)生的子圖稱為N+1層圖(N0) ,過程分解是可以持續(xù)進(jìn)行的,直至最終產(chǎn)生的子圖都是原始DFD圖原始DFD圖可以進(jìn)一步展開為微規(guī)格說明數(shù)據(jù)字典在低于0層圖的子圖上通常不顯示外部實(shí)體 層次結(jié)構(gòu)的構(gòu)建建立步驟創(chuàng)建上下文圖 發(fā)現(xiàn)并建立DFD片斷 根據(jù)DFD片斷組合產(chǎn)生0層

34、圖;對(duì)0層圖的過程進(jìn)行功能分解,產(chǎn)生N層圖 創(chuàng)建上下文圖 在需求獲取階段獲得的業(yè)務(wù)需求以及業(yè)務(wù)需求所決定的項(xiàng)目前景與范圍可以用來幫助建立系統(tǒng)的上下文圖。發(fā)現(xiàn)并建立DFD片段DFD片斷是系統(tǒng)對(duì)某個(gè)事件的響應(yīng)過程的DFD描述,它是為系統(tǒng)中發(fā)生的重要事件創(chuàng)建的。它將系統(tǒng)對(duì)事件的處理看做是一個(gè)單一的過程,重點(diǎn)描述這個(gè)單一過程與事件外界(包括系統(tǒng)內(nèi)其他部分和系統(tǒng)外的外部實(shí)體)的數(shù)據(jù)流交互。產(chǎn)生0層圖往往需要多次調(diào)整DFD片段的整合結(jié)果才能得出對(duì)DFD圖(尤其是0層圖)質(zhì)量的判定有下面幾個(gè)準(zhǔn)則:1、沒有語法錯(cuò)誤,遵守前述的各項(xiàng)規(guī)則。2、具有良好的語義,過程的功能設(shè)置要高內(nèi)聚、低耦合。3、保持?jǐn)?shù)據(jù)一致性,過

35、程的輸入流要足以產(chǎn)生數(shù)據(jù)輸出。同時(shí)過程的輸出流是在充分利用輸入數(shù)據(jù)的基礎(chǔ)上產(chǎn)生的,不存在輸入數(shù)據(jù)的浪費(fèi)。4、控制復(fù)雜度,不要一次在圖中顯示太多的信息。一般情況下,一個(gè)圖中的過程數(shù)量最好控制在59(人腦的最佳信息處理量)個(gè)。而且圖中的數(shù)據(jù)流數(shù)量越少越好,越簡潔越好(接口最小化)。功能分解產(chǎn)生N層圖功能分解是一個(gè)拆分功能的描述,將單個(gè)復(fù)雜的過程變?yōu)槎鄠€(gè)更加具體、更加精確和更加細(xì)節(jié)的過程。 在功能分解過程當(dāng)中,最重要的是要保證分解過程的平衡性(Balance) ,它要求DFD子圖的輸入流、輸出流必須和父過程的輸入流、輸出流保持一致 。在分解產(chǎn)生的子圖為下述情景之一時(shí),可以判定其為原始DFD圖,此時(shí)應(yīng)

36、該停止持續(xù)的功能分解活動(dòng):所有過程都已經(jīng)被簡化為一個(gè)選擇、計(jì)算或者數(shù)據(jù)庫操作;所有數(shù)據(jù)存儲(chǔ)都僅僅表示了一個(gè)單獨(dú)的數(shù)據(jù)實(shí)體;用戶已經(jīng)不關(guān)心比子圖更為細(xì)節(jié)的內(nèi)容,或者子圖的描述已經(jīng)詳細(xì)的足以支持后續(xù)的開發(fā)活動(dòng);每一個(gè)數(shù)據(jù)流都已經(jīng)不需要進(jìn)行更詳細(xì)的切分,以展示對(duì)不同數(shù)據(jù)的不同處理方式;每一個(gè)業(yè)務(wù)表單、事務(wù)、計(jì)算機(jī)的屏幕顯示(computer on-line display)和業(yè)務(wù)報(bào)表都已經(jīng)被表示為一個(gè)單獨(dú)的數(shù)據(jù)流;系統(tǒng)的每一個(gè)最低層菜單選項(xiàng)都能在子圖中找到獨(dú)立的過程。 層次結(jié)構(gòu)的建立-示例使用DFD描述常見的電梯控制系統(tǒng)。一個(gè)控制系統(tǒng)控制多個(gè)電梯。每個(gè)電梯被置于一個(gè)相應(yīng)甬道之中,在卷揚(yáng)電機(jī)的作用下在

37、甬道內(nèi)做上下運(yùn)動(dòng)。甬道內(nèi)安裝有多個(gè)傳感器,通常每個(gè)電梯停靠點(diǎn)一個(gè),用來感應(yīng)電梯的實(shí)時(shí)位置。電梯內(nèi)部和建筑的每個(gè)電梯??繉佣荚O(shè)置有指示器,用來告知用戶的電梯實(shí)時(shí)位置和運(yùn)動(dòng)狀況。電梯內(nèi)和建筑的每個(gè)電梯??繉佣荚O(shè)有按鈕,用戶可以通過這些按鈕提出服務(wù)申請(qǐng)并進(jìn)出電梯??刂葡到y(tǒng)調(diào)度用戶的申請(qǐng),讓電梯以最有效的方式滿足用戶的服務(wù)要求。層次結(jié)構(gòu)的建立-建立DFD片斷 層次結(jié)構(gòu)的建立- 建立0層圖DFD驗(yàn)證驗(yàn)證DFD的語法 確保DFD中不會(huì)發(fā)生語法錯(cuò)誤 驗(yàn)證DFD的結(jié)構(gòu) 驗(yàn)證DFD層次結(jié)構(gòu)之間的一致性 驗(yàn)證DFD層次結(jié)構(gòu)說明的完備性 驗(yàn)證DFD的語義 確保DFD所說明內(nèi)容的正確性和準(zhǔn)確性 26 數(shù)據(jù)字典 數(shù)據(jù)字

38、典的提出背景:雖然數(shù)據(jù)流圖能夠形象、清晰地描述數(shù)據(jù)在系統(tǒng)中流動(dòng)、加工、存儲(chǔ)的情況,但數(shù)據(jù)流圖中的許多構(gòu)成元素,如數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工,僅依靠名稱并不能反映其本質(zhì)含義,因此必須對(duì)這些構(gòu)成元素進(jìn)行嚴(yán)格的定義。作為對(duì)數(shù)據(jù)流圖的補(bǔ)充,數(shù)據(jù)字典(DD,Data Dictionary)能夠準(zhǔn)確地定義數(shù)據(jù)流圖中各組成成分的具體含義,二者共同構(gòu)成了系統(tǒng)的邏輯模型。數(shù)據(jù)字典是一個(gè)儲(chǔ)存庫,包含軟件使用和產(chǎn)生的所有數(shù)據(jù)對(duì)象的描述,其中也包括DFD當(dāng)中數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的定義。有組織地列出DFD中的涉及的所有數(shù)據(jù)元素(數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)),并定義每個(gè)數(shù)據(jù)元素的名稱別名使用地點(diǎn)使用方法使用范圍描述 單位/格式名稱數(shù)據(jù)元素

39、的原始名稱別名數(shù)據(jù)元素的其他名稱使用地點(diǎn)會(huì)使用該數(shù)據(jù)元素的過程使用方法該數(shù)據(jù)元素扮演的角色(輸入流、輸出流或者數(shù)據(jù)存儲(chǔ)等)使用范圍該數(shù)據(jù)元素存在的范圍描述對(duì)數(shù)據(jù)元素內(nèi)容的描述單位/格式數(shù)據(jù)元素的數(shù)據(jù)類型,可能事先設(shè)置的取值數(shù)據(jù)字典中的基本元素和含義符號(hào)含義示例=包含,由構(gòu)成Name=first_name+last_name+指明序列結(jié)構(gòu)()內(nèi)容可選Phone_No.=(Area_No.)+Local_No.內(nèi)容多選一Number=0|1|2|3|4|5|6|7|8|9|分割內(nèi)部的多個(gè)選項(xiàng)nm循環(huán),最少n次,最多m次Area_No=3Number4數(shù)據(jù)存儲(chǔ)的標(biāo)識(shí)符(關(guān)鍵字)Student=ID+

40、Name+.*注釋Area_No=3Number4*區(qū)號(hào)為3到4位數(shù)字?jǐn)?shù)據(jù)字典中的條目及說明格式數(shù)據(jù)字典是關(guān)于數(shù)據(jù)流圖中各種成分詳細(xì)定義的信息集合,可將其按照說明對(duì)象的類型劃分為四類條目,分別為數(shù)據(jù)流條目、數(shù)據(jù)項(xiàng)條目、數(shù)據(jù)文件條目和數(shù)據(jù)加工條目。數(shù)據(jù)字典的任務(wù)是: 對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在字典中作為一個(gè)詞條加以定義,使得每一個(gè)圖形元素的名字都有一個(gè)確切的解釋。(1)數(shù)據(jù)流條目數(shù)據(jù)流在數(shù)據(jù)流圖中主要用于說明數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)中的作用和流動(dòng)方向,因此數(shù)據(jù)流也被稱作“流動(dòng)的數(shù)據(jù)結(jié)構(gòu)”。數(shù)據(jù)字典中數(shù)據(jù)流條目應(yīng)包括以下幾項(xiàng)主要內(nèi)容:數(shù)據(jù)流名稱、數(shù)據(jù)流別名、說明、數(shù)據(jù)流來源、數(shù)據(jù)流流向、數(shù)據(jù)

41、流組成和數(shù)據(jù)流量等。數(shù)據(jù)流詞條的描述示例:數(shù)據(jù)流名:發(fā)票說明:用作學(xué)生已付書款的依據(jù)數(shù)據(jù)流來源:來自加工“審查并開發(fā)票” 數(shù)據(jù)流去向:流向加工“開領(lǐng)書單”。數(shù)據(jù)流組成:學(xué)號(hào)+姓名+書號(hào)+單價(jià)總價(jià)+書費(fèi)合計(jì) 數(shù)據(jù)流詞條的描述示例2: 工資系統(tǒng)中的出勤表數(shù)據(jù)流在數(shù)據(jù)字典中的條目描述為:數(shù)據(jù)流名稱:出勤表數(shù)據(jù)流別名:無說明:由人事部門每月月底上報(bào)的職工考勤統(tǒng)計(jì)數(shù)字?jǐn)?shù)據(jù)流來源:人事部門數(shù)據(jù)流流向:加工1.1.1(統(tǒng)計(jì)出勤、請(qǐng)假及曠工時(shí)數(shù))數(shù)據(jù)流組成:出勤表 = 年份+月份+職工號(hào)+出勤時(shí)數(shù)+病假時(shí)數(shù)+事假時(shí)數(shù)+曠工時(shí)數(shù)數(shù)據(jù)流量:1份/月 (2)數(shù)據(jù)項(xiàng)條目 數(shù)據(jù)流圖中每個(gè)數(shù)據(jù)結(jié)構(gòu)都是由若干個(gè)數(shù)據(jù)項(xiàng)構(gòu)成的

42、,數(shù)據(jù)項(xiàng)是加工中的最小單位,不可再分。數(shù)據(jù)字典的數(shù)據(jù)項(xiàng)條目中應(yīng)包含的主要內(nèi)容有:數(shù)據(jù)項(xiàng)名稱、數(shù)據(jù)項(xiàng)別名、說明、類型、長度、取值范圍及含義等。 例如:出勤表中的職工號(hào)數(shù)據(jù)項(xiàng)在數(shù)據(jù)字典中的條目描述為 數(shù)據(jù)項(xiàng)名稱:職工號(hào) 數(shù)據(jù)項(xiàng)別名:employee_no 說明:本單位職工的惟一標(biāo)識(shí) 類型:字符串 長度:6 取值范圍及含義:12位(00.99)為部門編號(hào):36位(XX0001.XX9999)為人員編號(hào) (3)數(shù)據(jù)文件條目 數(shù)據(jù)文件是數(shù)據(jù)流圖中數(shù)據(jù)結(jié)構(gòu)的載體。數(shù)據(jù)字典的數(shù)據(jù)文件條目中應(yīng)包含的主要內(nèi)容有:數(shù)據(jù)文件名稱、說明、數(shù)據(jù)文件組成、組織方式、存取方式、存取頻率等。 例如:工資系統(tǒng)中的職工工資檔案文

43、件在數(shù)據(jù)字典中的條目描述為 數(shù)據(jù)文件名稱:工資檔案 說明:單位職工的基本工資、各項(xiàng)津貼及補(bǔ)貼信息 數(shù)據(jù)文件組成:職工號(hào)+國家工資+國家津貼+職務(wù)津貼+職齡津貼+交通補(bǔ)貼+部門補(bǔ)貼+ 其他補(bǔ)貼 組織方式:按職工號(hào)從小到大排列 存取方式:順序存取頻率:1次/月(4)數(shù)據(jù)加工條目 在數(shù)據(jù)流圖中只簡單給出了每個(gè)加工的名稱,在數(shù)據(jù)字典中通過數(shù)據(jù)加工條目主要是要說明每個(gè)加工是用來“做什么”的。數(shù)據(jù)字典的數(shù)據(jù)加工條目中應(yīng)包含的主要內(nèi)容有: 數(shù)據(jù)加工名稱、加工編號(hào)、說明、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流、加工邏輯等。 例如:工資系統(tǒng)中的計(jì)算應(yīng)發(fā)工資這個(gè)加工在數(shù)據(jù)字典中的條目描述為 數(shù)據(jù)加工名稱:計(jì)算應(yīng)發(fā)工資 加工編號(hào):

44、1.2 27 ERD建模示例 簡單情況下ERD建模(1)從描述信息中辨識(shí)實(shí)體 可以重點(diǎn)關(guān)注描述信息中的名詞,看系統(tǒng)是否需要收集其相關(guān)的特征(2)確定實(shí)體的標(biāo)識(shí)符 (3)建立實(shí)體間關(guān)系判斷各個(gè)關(guān)系的建立是否會(huì)產(chǎn)生新的關(guān)聯(lián)實(shí)體或者影響已有的實(shí)體特性 (4)添加詳細(xì)的描述信息 實(shí)體的詳細(xì)屬性和關(guān)系的基數(shù) 簡單情況下ERD建模-示例研討班在每個(gè)學(xué)年開始的時(shí)候開設(shè),然后持續(xù)一個(gè)學(xué)年。每個(gè)研討班針對(duì)一個(gè)或幾個(gè)研究方向。每個(gè)研討班由一位或幾位教師主持。在研討班開設(shè)之后,學(xué)生可以根據(jù)主持教師(的姓名)和研討班的方向來選擇和參加某個(gè)研討班。所有的學(xué)生必須且只能參加一個(gè)研討班的學(xué)習(xí)。研討班時(shí)常會(huì)開展活動(dòng),由教師來

45、決定活動(dòng)的時(shí)間、地點(diǎn)、主題和做報(bào)告的學(xué)生(的姓名)。每次活動(dòng)時(shí),由一位或多位同學(xué)圍繞活動(dòng)主題做學(xué)習(xí)報(bào)告,交流自己對(duì)新技術(shù)的學(xué)習(xí)心得。每個(gè)學(xué)生一次活動(dòng)最多只能作一個(gè)報(bào)告,但每個(gè)學(xué)生至少會(huì)在一次活動(dòng)中做一個(gè)報(bào)告。教師對(duì)每份活動(dòng)中的學(xué)生報(bào)告進(jìn)行一次點(diǎn)評(píng)和指導(dǎo),提出建議和意見。 復(fù)雜情況下ERD建模發(fā)現(xiàn)系統(tǒng)的概念域 指那些在系統(tǒng)業(yè)務(wù)中非常重要的概念,如果沒有這個(gè)概念,組織就可能不會(huì)存在或者業(yè)務(wù)發(fā)生重大變化 不能遺漏那些對(duì)業(yè)務(wù)有重大影響的概念,同時(shí)概念域的發(fā)現(xiàn)也不要太細(xì)節(jié) 每一個(gè)概念域都會(huì)以星型發(fā)散的方式擴(kuò)展為多個(gè)邏輯實(shí)體 建立對(duì)概念域的描述 展開概念域 簡單情況下的ERD建?;蛘哌M(jìn)一步細(xì)分子域合并概念

46、域的局部數(shù)據(jù)模型消除冗余和沖突 28 結(jié)構(gòu)化范型與面向?qū)ο蠓缎偷膮^(qū)別? 結(jié)構(gòu)化范型(Structured Paradigm)基于如下的思想進(jìn)行開發(fā)活動(dòng):一個(gè)系統(tǒng)應(yīng)該被劃分為兩個(gè)部分:數(shù)據(jù)(使用數(shù)據(jù)/持久化模型建模)和功能(使用過程模型建模)。簡言之,結(jié)構(gòu)化方法,數(shù)據(jù)將和設(shè)計(jì)模型中以及系統(tǒng)實(shí)現(xiàn)中(也就是程序中)的行為分離。 范型(Paradigm):做事情的整體策略或觀點(diǎn),是一套特定的思想集合。面向?qū)ο蠓缎停∣bject-oriented Paradigm)不是將系統(tǒng)定義為兩個(gè)分離的部分(數(shù)據(jù)和功能),而是需要把系統(tǒng)定義為一組正在交互的對(duì)象。對(duì)象可以完成一些事情(對(duì)象具有功能),對(duì)象也知道一些事

47、情(對(duì)象有數(shù)據(jù))。29 抽象類與具體類在表示上有何區(qū)別? 引入抽象類是為了實(shí)現(xiàn)類的公共行為。 抽象類與具體類的區(qū)別在于:可以從具體類中實(shí)例化(創(chuàng)建)對(duì)象,但不能從抽象類中實(shí)例化對(duì)象。意味著軟件需要實(shí)例化教授或者研究員對(duì)象,但不需要?jiǎng)?chuàng)建教師對(duì)象。當(dāng)創(chuàng)建一個(gè)類實(shí)現(xiàn)多個(gè)類的共同特征時(shí),就可以建立抽象類。 30UML 多重指示器的含義? 指示器含義0.1零或1個(gè)1僅1個(gè)0.*零或多個(gè)1.*1或多個(gè)n僅n個(gè)(n1)0.n零到n個(gè)(n1)1.n1到n個(gè)(n1)31 高內(nèi)聚、低耦合含義? 耦合 耦合表示兩個(gè)項(xiàng)目,如類與方法之間如何相互關(guān)聯(lián)的一種方法。當(dāng)一個(gè)類依賴另外一個(gè)類時(shí),則稱其為耦合的。當(dāng)一個(gè)類與另外一

48、個(gè)類交互,但不知道這個(gè)類的實(shí)現(xiàn)細(xì)節(jié)時(shí),則稱其為松散耦合的。當(dāng)一個(gè)類依賴于實(shí)現(xiàn)(即它可以直接訪問別的類的數(shù)據(jù)屬性)是,則稱其為高度耦合的。 當(dāng)兩個(gè)類高度耦合時(shí),一個(gè)發(fā)生了變化往往需要另一個(gè)也跟著變化。高度耦合是巨大的維護(hù)負(fù)擔(dān)存在的主要原因。 松散耦合用起來通常都很好,但高度耦合用起來通常問題較多。內(nèi)聚 一般情況下,應(yīng)該定義高度內(nèi)聚的類和方法。 當(dāng)且僅當(dāng)只完成一件事情的方法是高內(nèi)聚的。高內(nèi)聚的類通常僅表示一種類型的對(duì)象。在大學(xué)系統(tǒng)中,我們一般不定義職員類,而是將教授,研究員,實(shí)驗(yàn)員分別加以定義。目的就是要增加內(nèi)聚性。32 需求獲取及分析階段的成果及相互關(guān)系圖? 面向?qū)ο蠼J敲嫦驅(qū)ο蠓椒▽W(xué)在需求分

49、析中的應(yīng)用,也稱為面向?qū)ο蠓治觥K^面向?qū)ο蠓椒▽W(xué)的觀點(diǎn)就是將系統(tǒng)看作是一系列相互作用的對(duì)象的集合。每個(gè)對(duì)象具有獨(dú)立的職責(zé),完成獨(dú)立的任務(wù),對(duì)象之間通過消息機(jī)制相互協(xié)作,共同實(shí)現(xiàn)系統(tǒng)的目標(biāo)。 需求獲取關(guān)注了解用戶和他們的使用需求,分析關(guān)注理解要構(gòu)建的內(nèi)容。面向?qū)ο蠓治黾夹g(shù),如用例模型,類建模,順序圖,活動(dòng)圖以及用戶界面原型等都被用來消除需求和系統(tǒng)設(shè)計(jì)之間的差異。33 需求獲取與需求分析的主要區(qū)別? 分析的目的在于理解將要構(gòu)建的內(nèi)容,這與需求獲取相似。需求獲取確定用戶要構(gòu)建的內(nèi)容。區(qū)別在于需求獲取將重點(diǎn)放在理解用戶和他們使用系統(tǒng)的潛在要求,而分析的重點(diǎn)在于理解系統(tǒng)本身34 針對(duì)每個(gè)業(yè)務(wù)事件、報(bào)表

50、進(jìn)行領(lǐng)域類圖的構(gòu)建時(shí)主要包括那三個(gè)步驟? 針對(duì)每個(gè)業(yè)務(wù)事件、報(bào)表進(jìn)行領(lǐng)域類圖的構(gòu)建時(shí),主要包括三個(gè)步驟: (1)識(shí)別出業(yè)務(wù)實(shí)體; (2)確定業(yè)務(wù)實(shí)體之間的關(guān)系; (3)定義業(yè)務(wù)實(shí)體的關(guān)鍵屬性。35 業(yè)務(wù)實(shí)體分析的產(chǎn)物? 業(yè)務(wù)實(shí)體分析(構(gòu)建)的產(chǎn)物一般采用兩種模型:(1)類圖:類圖是面向?qū)ο蠓治龊驮O(shè)計(jì)方法引入的,使UML規(guī)范的一部 分。它在語義上比傳統(tǒng)的E/R模型強(qiáng)。更加適合于領(lǐng)域建模;(2)E/R圖:E/R模型也稱實(shí)體關(guān)系圖,與數(shù)據(jù)庫結(jié)合更緊密。但在領(lǐng)域建模方面,在語義上沒有類圖豐富。36 如何從用戶給出的具體實(shí)例抽象出業(yè)務(wù)模型? 假定哈爾濱的王一要給北京的張三買一件禮物。為此,王一登陸到電子

51、商務(wù)網(wǎng)站,通過電子商務(wù)網(wǎng)站將其送給張三。電子商務(wù)網(wǎng)站是通過其簽約的北京某禮品店來完成該任務(wù)。在整個(gè)禮品傳遞的過程中,各個(gè)實(shí)體的關(guān)聯(lián)關(guān)系如下圖所示: 實(shí)際情況要比上述場景復(fù)雜得多。電子商務(wù)網(wǎng)站要能夠接受很多人的訂貨,簽約的禮品店有很多,以將禮物送給不同人地方的人。對(duì)上述場景進(jìn)行抽象??梢缘玫揭韵碌某橄髨鼍啊?duì)象是類的一個(gè)實(shí)例或者出現(xiàn)。類描述了具有相同特性(屬性)和行為(操作)、關(guān)系類別以及語義的一組對(duì)象。王一是一個(gè)對(duì)象,它是“訂貨人”類的一個(gè)對(duì)象。北京海淀禮品店是一個(gè)對(duì)象它是“禮品店”類的一個(gè)對(duì)象。北京張三是一個(gè)對(duì)象,它是“收貨人”類的一個(gè)對(duì)象。電子商務(wù)網(wǎng)站不應(yīng)該成為一個(gè)類,因?yàn)樗怂投Y以外,

52、還要干別的事情,用一個(gè)類難以包含,不適應(yīng)高內(nèi)聚,低耦合的要求。業(yè)務(wù)模型的抽象過程37 CRC模型的概念? CRC(類職責(zé)協(xié)作卡)模型CRC是Class、 Responsibility和 Collaborator三者的縮寫。CRC卡是一種被劃分為三個(gè)部分的標(biāo)準(zhǔn)索引卡,一部分指出卡片表示的類名,一部分列出類的職責(zé),一部分列出與該類一起協(xié)作履行職責(zé)的其他類名基于CRC可以建立一種索引卡片,被稱為CRC卡,每個(gè)卡片代表了一個(gè)被發(fā)現(xiàn)的候選對(duì)象 形式可能是多種多樣的,卡片、紙張、黑板等等都可以作為CRC卡的介質(zhì)載體 CRC卡簡潔方便,可以隨時(shí)被移動(dòng)、修改或者丟棄,所以它特別適合于在復(fù)雜的系統(tǒng)當(dāng)中進(jìn)行對(duì)象的發(fā)現(xiàn)和設(shè)計(jì)思想的挖掘 ,即進(jìn)行復(fù)雜情況下的面向?qū)ο蠓治雠c設(shè)計(jì) 。CRC模型是一組相關(guān)的CRC 卡的集合,用于對(duì)系統(tǒng)整體或部分建模。38 理解業(yè)務(wù)規(guī)則? 業(yè)務(wù)規(guī)則實(shí)際上是(業(yè)務(wù))系統(tǒng)必須滿足的運(yùn)行原則和策略。 業(yè)務(wù)規(guī)則獲取的方式: 業(yè)務(wù)規(guī)則通常關(guān)注訪問控制的問題例如允許教授輸入和修改參加其討 論班的學(xué)生的成績,但不允許輸入和修改別的討論班的學(xué)生的成績。 業(yè)務(wù)規(guī)則也常常與業(yè)務(wù)計(jì)算有關(guān)-例如,如何把學(xué)生在某個(gè)討論班中得到 的百分制成績,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論