软件工程用的15种图
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/weixin_44301114/article/details/85290628
————————————————
軟件工程使用軟件和軟件所能畫(huà)的圖
迅捷?:?業(yè)務(wù)流程圖?軟件結(jié)構(gòu)圖?功能框圖??數(shù)據(jù)字典??序列圖?用例圖
Vision:?業(yè)務(wù)流程圖?軟件結(jié)構(gòu)圖?功能框圖?數(shù)據(jù)流圖??數(shù)據(jù)字典??序列圖??uml(用例圖、類(lèi)圖、序列圖、活動(dòng)圖、數(shù)據(jù)流圖)
Rose:?用例圖??包圖??活動(dòng)圖????序列圖??協(xié)作圖?帶有實(shí)體類(lèi)、控制類(lèi)、邊界類(lèi)的類(lèi)圖
PowerDesigner:??BPM(業(yè)務(wù)處理模型)??CDM(概念數(shù)據(jù)模型)???PDM(物理數(shù)據(jù)模型)
————————————————
原文鏈接:https://blog.csdn.net/zhao_hong_ran/article/details/81073379
?
軟件工程中應(yīng)用的15種圖:
1、系統(tǒng)流程圖
不論什么程序設(shè)計(jì)語(yǔ)言,程序設(shè)計(jì)都有3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。三種基本結(jié)構(gòu)的特點(diǎn): 一個(gè)入口,一個(gè)出口,不出現(xiàn)死循環(huán)和死語(yǔ)句。
2、數(shù)據(jù)流圖或數(shù)據(jù)流程圖(Data Flow Diagram),縮寫(xiě)為DFD
數(shù)據(jù)流圖是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型
數(shù)據(jù)流圖DFD是描述系統(tǒng)中數(shù)據(jù)流程的一種圖形工具,它標(biāo)志了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換邏輯輸出所需的加工處理。
值得注意的是,數(shù)據(jù)流圖不是傳統(tǒng)的流程圖或框圖,數(shù)據(jù)流也不是控制流。數(shù)據(jù)流圖是從數(shù)據(jù)的角度來(lái)描述一個(gè)系統(tǒng),而框圖是從對(duì)數(shù)據(jù)進(jìn)行加工的工作人員的角度來(lái)描述系統(tǒng)。
DFD顯示系統(tǒng)將輸入和輸出什么樣的信息,數(shù)據(jù)如何通過(guò)系統(tǒng)前進(jìn)以及數(shù)據(jù)將被存儲(chǔ)在何處。它不顯示關(guān)于進(jìn)程計(jì)時(shí)的信息,也不顯示關(guān)于進(jìn)程將按順序還是并行運(yùn)行的信息,而不像傳統(tǒng)的關(guān)注控制流的結(jié)構(gòu)化流程圖,或者UML活動(dòng)工作流程圖,它將控制流和數(shù)據(jù)流作為一個(gè)統(tǒng)一的模型。
數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。
數(shù)據(jù)流程圖包括:
a.指明數(shù)據(jù)存在的數(shù)據(jù)符號(hào),這些數(shù)據(jù)符號(hào)也可指明該數(shù)據(jù)所使用的媒體;
b.指明對(duì)數(shù)據(jù)執(zhí)行的處理的處理符號(hào),這些符號(hào)也可指明該處理所用到的機(jī)器功能;
c.指明幾個(gè)處理和(或)數(shù)據(jù)媒體之間的數(shù)據(jù)流的流線(xiàn)符號(hào);
d.便于讀、寫(xiě)數(shù)據(jù)流程圖的特殊符號(hào)。
在處理符號(hào)的前后都應(yīng)是數(shù)據(jù)符號(hào)。數(shù)據(jù)流程圖以數(shù)據(jù)符號(hào)開(kāi)始和結(jié)束,數(shù)據(jù)流圖有兩種典型結(jié)構(gòu),一是變換型結(jié)構(gòu),它所描述的工作可表示為輸入、主處理和輸出,呈線(xiàn)性狀態(tài)。另一種是事務(wù)型結(jié)構(gòu),這種數(shù)據(jù)流圖呈束狀,即一束數(shù)據(jù)流平行流入或流出,可能同時(shí)有幾個(gè)事務(wù)要求處理。
數(shù)據(jù)流程圖中有以下幾種主要元素:
→: ?數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成.如訂票單由旅客姓名、年齡、單位、身份證號(hào)、日期、目的地等數(shù)據(jù)項(xiàng) 組成.由于數(shù)據(jù)流是流動(dòng)中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語(yǔ)命名.
□: 數(shù)據(jù)源(終點(diǎn)).代表系統(tǒng)之外的實(shí)體,可以是人、物或其他軟件系統(tǒng)
○: 對(duì)數(shù)據(jù)的加工(處理).加工是對(duì)數(shù)據(jù)進(jìn)行處理的單元,它接收一定的數(shù)據(jù)輸入,對(duì)其進(jìn)行處理,并產(chǎn)生輸出
〓: ?數(shù)據(jù)存儲(chǔ).表示信息的靜態(tài)存儲(chǔ),可以代表文件、文件的一部分、數(shù)據(jù)庫(kù)的元素等
3、數(shù)據(jù)字典
數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明,使用數(shù)據(jù)字典為簡(jiǎn)單的建模項(xiàng)目。簡(jiǎn)而言之,數(shù)據(jù)字典是描述數(shù)據(jù)的信息集合,是對(duì)系統(tǒng)中使用的所有數(shù)據(jù)元素的定義的集合。
數(shù)據(jù)字典(data dictionary)是對(duì)于數(shù)據(jù)模型中的數(shù)據(jù)對(duì)象或者項(xiàng)目的描述的集合,這樣做有利于程序員和其他需要參考的人。分析一個(gè)用戶(hù)交換的對(duì)象系統(tǒng)的第一步就是去辨別每一個(gè)對(duì)象,以及它與其他對(duì)象之間的關(guān)系。這個(gè)過(guò)程稱(chēng)為數(shù)據(jù)建模,結(jié)果產(chǎn)生一個(gè)對(duì)象關(guān)系圖。當(dāng)每個(gè)數(shù)據(jù)對(duì)象和項(xiàng)目都給出了一個(gè)描述性的名字之后,它的關(guān)系再進(jìn)行描述(或者是成為潛在描述關(guān)系的結(jié)構(gòu)中的一部分),然后再描述數(shù)據(jù)的類(lèi)型(例如文本還是圖像,或者是二進(jìn)制數(shù)值),列出所有可能預(yù)先定義的數(shù)值,以及提供簡(jiǎn)單的文字性描述。這個(gè)集合被組織成書(shū)的形式用來(lái)參考,就叫做數(shù)據(jù)字典。
據(jù)字典在需求分析階段被建立。
數(shù)據(jù)字典是一個(gè)預(yù)留空間,一個(gè)數(shù)據(jù)庫(kù),這是用來(lái)儲(chǔ)存信息數(shù)據(jù)庫(kù)本身。
數(shù)據(jù)字典可能包含的信息,例如:
數(shù)據(jù)庫(kù)設(shè)計(jì)資料
數(shù)據(jù)內(nèi)部?jī)?chǔ)存的SQL程序
用戶(hù)權(quán)限
用戶(hù)統(tǒng)計(jì)
數(shù)據(jù)庫(kù)的過(guò)程中的信息
數(shù)據(jù)庫(kù)增長(zhǎng)統(tǒng)計(jì)
數(shù)據(jù)庫(kù)性能統(tǒng)計(jì)
除了靜態(tài)數(shù)據(jù)字典中三類(lèi)視圖,其他的字典視圖中主要的是V視圖,之所以這樣叫是因?yàn)樗麄兌际且訴或GV 或GV或GV開(kāi)頭的。這些視圖會(huì)不斷的進(jìn)行更新,從而提供了關(guān)于內(nèi)存和磁盤(pán)的運(yùn)行情況,所以我們只能對(duì)其進(jìn)行只讀訪(fǎng)問(wèn)而不能修改它們。
Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity. These views are calleddynamic performance views because they are continuously updated while a database is open and in use. The views, also sometimes calledV$ views。
V視圖是基于X 視圖是基于X視圖是基于X虛擬視圖的。V$視圖是SYS用戶(hù)所擁有的,在缺省狀況下,只有SYS用戶(hù)和擁有DBA系統(tǒng)權(quán)限的用戶(hù)可以看到所有的視圖,沒(méi)有DBA權(quán)限的用戶(hù)可以看到USER_和ALL_視圖,但不能看到DBA_視圖。與DBA_,ALL,和USER_視圖中面向數(shù)據(jù)庫(kù)信息相反,這些視圖可視的給出了面向?qū)嵗男畔ⅰ?br /> 動(dòng)態(tài)性能表用于記錄當(dāng)前數(shù)據(jù)庫(kù)的活動(dòng),只存于數(shù)據(jù)庫(kù)運(yùn)行期間,實(shí)際的信息都取自?xún)?nèi)存和控制文件。 DBA可以使用動(dòng)態(tài)視圖來(lái)監(jiān)視和調(diào)節(jié)數(shù)據(jù)。
數(shù)據(jù)字典的組成:
1、數(shù)據(jù)項(xiàng)
2、數(shù)據(jù)結(jié)構(gòu)
3、數(shù)據(jù)流
4、數(shù)據(jù)存儲(chǔ)
5、處理過(guò)程
6、外部實(shí)體
數(shù)據(jù)字典
數(shù)據(jù)字典是數(shù)據(jù)庫(kù)的重要組成部分。它存放有數(shù)據(jù)庫(kù)所用的有關(guān)信息,對(duì)用戶(hù)來(lái)說(shuō)是一組只讀的表。數(shù)據(jù)字典內(nèi)容包括:
1、數(shù)據(jù)庫(kù)中所有模式對(duì)象的信息,如表、視圖、簇、及索引等。
2、分配多少空間,當(dāng)前使用了多少空間等。
3、列的缺省值。
4、約束信息的完整性。
5、用戶(hù)的名字。
6、用戶(hù)及角色被授予的權(quán)限。
7、用戶(hù)訪(fǎng)問(wèn)或使用的審計(jì)信息。
8、其它產(chǎn)生的數(shù)據(jù)庫(kù)信息。
數(shù)據(jù)庫(kù)數(shù)據(jù)字典是一組表和視圖結(jié)構(gòu)。它們存放在SYSTEM表空間中。
數(shù)據(jù)庫(kù)數(shù)據(jù)字典不僅是每個(gè)數(shù)據(jù)庫(kù)的中心。而且對(duì)每個(gè)用戶(hù)也是非常重要的信息。用戶(hù)可以用SQL語(yǔ)句訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)字典。
關(guān)于數(shù)據(jù)的信息集合,是一種用戶(hù)可以訪(fǎng)問(wèn)的記錄數(shù)據(jù)庫(kù)和應(yīng)用程序元數(shù)據(jù)的目錄,是對(duì)數(shù)據(jù)庫(kù)內(nèi)表信息的物理與邏輯的說(shuō)明
數(shù)據(jù)字典各部分的描述
①數(shù)據(jù)項(xiàng):數(shù)據(jù)流圖中數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)項(xiàng)說(shuō)明
數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位。對(duì)數(shù)據(jù)項(xiàng)的描述通常包括以下內(nèi)容:
數(shù)據(jù)項(xiàng)描述={數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說(shuō)明,別名,數(shù)據(jù)類(lèi)型,長(zhǎng)度,
取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系}
其中“取值范圍”、“與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系”定義了數(shù)據(jù)的完整性約束條件,是設(shè)計(jì)數(shù)據(jù)檢驗(yàn)功能的依據(jù)。
若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)。
②數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)流圖中數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)說(shuō)明
數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。對(duì)數(shù)據(jù)結(jié)構(gòu)的描述通常包括以下內(nèi)容:
數(shù)據(jù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說(shuō)明,組成:{數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)}}
③數(shù)據(jù)流:數(shù)據(jù)流圖中流線(xiàn)的說(shuō)明
數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?duì)數(shù)據(jù)流的描述通常包括以下內(nèi)容:
數(shù)據(jù)流描述={數(shù)據(jù)流名,說(shuō)明,數(shù)據(jù)流來(lái)源,數(shù)據(jù)流去向,
組成:{數(shù)據(jù)結(jié)構(gòu)},平均流量,高峰期流量}
其中“數(shù)據(jù)流來(lái)源”是說(shuō)明該數(shù)據(jù)流來(lái)自哪個(gè)過(guò)程,即數(shù)據(jù)的來(lái)源?!皵?shù)據(jù)流去向”是說(shuō)明該數(shù)據(jù)流將到哪個(gè)過(guò)程去,即數(shù)據(jù)的去向。“平均流量”是指在單位時(shí)間(每天、每周、每月等)里的傳輸次數(shù)?!案叻迤诹髁俊眲t是指在高峰時(shí)期的數(shù)據(jù)流量。
④數(shù)據(jù)存儲(chǔ):數(shù)據(jù)流圖中數(shù)據(jù)塊的存儲(chǔ)特性說(shuō)明
數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來(lái)源和去向之一。對(duì)數(shù)據(jù)存儲(chǔ)的描述通常包括以下內(nèi)容:
數(shù)據(jù)存儲(chǔ)描述={數(shù)據(jù)存儲(chǔ)名,說(shuō)明,編號(hào),流入的數(shù)據(jù)流,流出的數(shù)據(jù)流,
組成:{數(shù)據(jù)結(jié)構(gòu)},數(shù)據(jù)量,存取方式}
其中“數(shù)據(jù)量”是指每次存取多少數(shù)據(jù),每天(或每小時(shí)、每周等)存取幾次等信息?!按嫒》椒ā卑ㄊ桥幚?#xff0c;還是聯(lián)機(jī)處理;是檢索還是更新;是順序檢索還是隨機(jī)檢索等。
另外“流入的數(shù)據(jù)流”要指出其來(lái)源,“流出的數(shù)據(jù)流”要指出其去向。
⑤處理過(guò)程:數(shù)據(jù)流圖中功能塊的說(shuō)明
數(shù)據(jù)字典中只需要描述處理過(guò)程的說(shuō)明性信息,通常包括以下內(nèi)容:
處理過(guò)程描述={處理過(guò)程名,說(shuō)明,輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流},
處理:{簡(jiǎn)要說(shuō)明}}
其中“簡(jiǎn)要說(shuō)明”中主要說(shuō)明該處理過(guò)程的功能及處理要求。功能是指該處理過(guò)程用來(lái)做什么(并不是怎么樣做);處理要求包括處理頻度要求,如單位時(shí)間里處理多少事務(wù),多少數(shù)據(jù)量,響應(yīng)時(shí)間要求等,這些處理要求是后面物理設(shè)計(jì)的輸入及性能評(píng)價(jià)的標(biāo)準(zhǔn)。
4、實(shí)體聯(lián)系圖
E-R圖為實(shí)體-聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。
構(gòu)成E-R圖的基本要素是實(shí)體型、屬性和聯(lián)系。
實(shí)體
實(shí)體是現(xiàn)實(shí)中存在的對(duì)象,有具體的,也有抽象的;有物理上存在的,也有概念性的;例如,學(xué)生、課程,等等。它們的特征是可以互相區(qū)別,否則就會(huì)被認(rèn)為是同一對(duì)象。凡是可以互相區(qū)別、又可以被人們識(shí)別的事、物、概念等統(tǒng)統(tǒng)可以被抽象為實(shí)體。數(shù)據(jù)流圖中的數(shù)據(jù)存貯就是一種實(shí)體。實(shí)體可以分為獨(dú)立實(shí)體和從屬實(shí)體或弱實(shí)體,獨(dú)立實(shí)體是不依賴(lài)于其它實(shí)體和聯(lián)系而可以獨(dú)立存在的實(shí)體,如圖1.9中的“學(xué)生檔案”、“課程檔案”等等,獨(dú)立實(shí)體常 常被直接簡(jiǎn)稱(chēng)為實(shí)體;從屬實(shí)體是這樣一類(lèi)實(shí)體,其存在依賴(lài)于其它實(shí)體和聯(lián)系,在實(shí)體聯(lián)系圖中用帶圓角的矩形框表示,例如圖1.9中的“注冊(cè)記錄”是從屬實(shí)體,它的存在依賴(lài)于實(shí)體 “學(xué)生檔案”和聯(lián)系“注冊(cè)”,“選課單”也是從屬實(shí)體,它的存在依賴(lài)于實(shí)體“學(xué)生檔案”、“課程檔案”和聯(lián)系“選課”。
聯(lián)系
實(shí)體之間可能會(huì)有各種關(guān)系。例如,“學(xué)生”與“課程”之間有“選課”的關(guān)系。這種實(shí)體和實(shí)體之間的關(guān)系被抽象為聯(lián)系。在實(shí)體聯(lián)系圖中,聯(lián)系用聯(lián)結(jié)有關(guān)實(shí)體的菱形框表示,如圖1.9所示。聯(lián)系可以是一對(duì)一(1:1),一對(duì)多(1:N)或多對(duì)多(M:N)的,這一點(diǎn)在實(shí)體聯(lián)系圖中 也應(yīng)說(shuō)明。例如在大學(xué)教務(wù)管理問(wèn)題中,“學(xué)生”與“課程”是多對(duì)多的“選課”聯(lián)系聯(lián)系。
屬性
實(shí)體一般具有若干特征,這些特征就稱(chēng)為實(shí)體的屬性,例如圖1.9中的實(shí)體“學(xué)生”,具 有學(xué)號(hào)、姓名、性別、出生日期和系別等特征,這些就是它的屬性。
聯(lián)系也可以有屬性,例如學(xué)生選修某門(mén)課程學(xué)期,它既不是學(xué)生的屬性,也不是課程的屬性,因?yàn)樗蕾?lài)于某個(gè)特定的學(xué)生,又依賴(lài)于某門(mén)特定的課程,所以它是學(xué)生與課程之間的聯(lián)系“選課”的屬性。在圖1.9中,聯(lián)系“選課”的屬性被概括在從屬實(shí)體“選課單”中。聯(lián)系 具有屬性這一概念對(duì)于理解數(shù)據(jù)的語(yǔ)義是非常重要的。
重要概念編輯
主鍵
如果實(shí)體的某一屬性或某幾個(gè)屬性組成的屬性組的值能唯一地決定該實(shí)體其它所有屬性的值,也就是能唯一地標(biāo)識(shí)該實(shí)體,而其任何真子集無(wú)此性質(zhì),則這個(gè)屬性或?qū)傩越M稱(chēng)為實(shí)體鍵。如果一個(gè)實(shí)體有多個(gè)實(shí)體鍵存在,則可從其中選一個(gè)最常用到的作為實(shí)體的主鍵。例如實(shí)體“學(xué)生”的主鍵是學(xué)號(hào),一個(gè)學(xué)生的學(xué)號(hào)確定了,那么他的姓名、性別、出生日期和系別等屬性也就確定了。在實(shí)體聯(lián)系圖中,常在作為主鍵的屬性或?qū)傩越M與相應(yīng)實(shí)體的聯(lián)線(xiàn)上加一短垂線(xiàn)表 示。
外鍵
如果實(shí)體的主鍵或?qū)傩?#xff08;組)的取值依賴(lài)于其它實(shí)體的主鍵,那么該主鍵或?qū)傩?#xff08;組)稱(chēng)為外鍵。例如,從屬實(shí)體“注冊(cè)記錄”的主鍵“學(xué)號(hào)”的取值依賴(lài)于實(shí)體“學(xué)生”的主鍵“學(xué)號(hào)”,“選課單”的主鍵“學(xué)號(hào)”和“課程號(hào)”的取值依賴(lài)于實(shí)體“學(xué)生”的主鍵“學(xué)號(hào)”和實(shí)體“課程”的主鍵“課程號(hào)”,這些主鍵和屬性就是外鍵。
屬性域
屬性可以是單值的,也可以是多值的。例如一個(gè)人所獲得的學(xué)位可能是多值的。當(dāng)某個(gè)屬性對(duì)某個(gè)實(shí)體不適應(yīng)或?qū)傩灾滴粗獣r(shí),可用空缺符NULL表示。
在畫(huà)實(shí)體聯(lián)系圖時(shí),為了使得圖形更加清晰、易讀易懂,可以將實(shí)體和實(shí)體的屬性分開(kāi)來(lái)畫(huà), 并且對(duì)實(shí)體進(jìn)行編號(hào)。允許包括其它組合屬性意味著屬性可以是一個(gè)層次結(jié)構(gòu),通訊地址就是一種具有層次結(jié)構(gòu)的屬性。
要素:
實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名;
屬性:用橢圓形或圓角矩形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);多值屬性由雙線(xiàn)連接;主屬性名稱(chēng)下加下劃線(xiàn);
聯(lián)系:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型
在E-R圖中要明確表明1對(duì)多關(guān)系,1對(duì)1關(guān)系和多對(duì)多關(guān)系:
1對(duì)1關(guān)系在兩個(gè)實(shí)體連線(xiàn)方向?qū)?;
1對(duì)多關(guān)系在1的一方寫(xiě)1,多的一方寫(xiě)N
多對(duì)多關(guān)系則是在兩個(gè)實(shí)體連線(xiàn)方向各寫(xiě)N,M
5、狀態(tài)轉(zhuǎn)換圖
通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。此外狀態(tài)轉(zhuǎn)換圖還指明了作為特定事件的結(jié)果系統(tǒng)將做哪些動(dòng)作(例如,處理數(shù)據(jù))。因此狀態(tài)轉(zhuǎn)換圖提供了行為建模機(jī)制。
在狀態(tài)轉(zhuǎn)換圖中,每一個(gè)節(jié)點(diǎn)代表一個(gè)狀態(tài),其中雙圈是終結(jié)狀態(tài)。許多單片機(jī)教材上對(duì)工作模式的表達(dá)通常采用狀態(tài)圖的形式。
狀態(tài)轉(zhuǎn)換圖是軟件測(cè)試中書(shū)寫(xiě)測(cè)試用例時(shí)一種不常用的方法。
6、層次方框圖
層次方框圖即層次模塊機(jī)構(gòu)圖。層次模塊結(jié)構(gòu)圖(或稱(chēng)結(jié)構(gòu)圖structure chart)是1974年由W.Steven等人從結(jié)構(gòu)化設(shè)計(jì)(structured design)的角度提出的一種工具。它的基本做法是將系統(tǒng)劃分為若干子系統(tǒng),子系統(tǒng)下再劃分為若干的模塊,大模塊內(nèi)再分小模塊,而模塊是指具備有輸入輸出、邏輯功能、運(yùn)行程序和內(nèi)部數(shù)據(jù)四種屬性的一組程序。
層次模塊結(jié)構(gòu)圖主要關(guān)心的是模塊的外部屬性,即上下級(jí)模塊、同級(jí)模塊之間的數(shù)據(jù)傳遞和調(diào)用關(guān)系,而并不關(guān)心模塊的內(nèi)部。換句話(huà)說(shuō)也就是只關(guān)心它是什么,它能夠做什么的問(wèn)題,而不關(guān)心它是如何去做的(這一部分內(nèi)容由下面的IPO圖解決)。
————————————————
7、Warnier圖
Warnier圖是表示數(shù)據(jù)層次結(jié)構(gòu)的一種圖形工具,它用樹(shù)形結(jié)構(gòu)來(lái)描繪數(shù)據(jù)結(jié)構(gòu)。它還能指出某一類(lèi)數(shù)據(jù)或某一數(shù)據(jù)元素重復(fù)出現(xiàn)的次數(shù),并能指明某一特定數(shù)據(jù)在某一類(lèi)數(shù)據(jù)中是否是有條件的出現(xiàn)。在進(jìn)行軟件設(shè)計(jì)時(shí),從Warnier圖入手,能夠很容易轉(zhuǎn)換成軟件的設(shè)計(jì)描述。以報(bào)紙的自動(dòng)編輯系統(tǒng)為例。通常報(bào)紙的版面采用以下格式。
頭版部分 社論部分 副刊部分
頭條新聞 社論 體育新聞
國(guó)內(nèi)新聞 專(zhuān)欄 商業(yè)新聞
當(dāng)?shù)匦侣?讀者來(lái)信 廣告
諷刺漫畫(huà)
上面給出的報(bào)紙概觀就是一個(gè)數(shù)據(jù)的層次結(jié)構(gòu)。上面給出了用Warnier圖表示的報(bào)紙的數(shù)據(jù)層次結(jié)構(gòu)。在這個(gè)Warnier圖中,用花括號(hào)“{”表示層次關(guān)系,在同一括號(hào)下,自上到下是順序排列的數(shù)據(jù)項(xiàng)。在有些數(shù)據(jù)項(xiàng)名字后面附加了圓括號(hào),給出該數(shù)據(jù)項(xiàng)重復(fù)的次數(shù)。
例如,社論(1,1)表示社論占一欄;專(zhuān)欄(1,3)表示專(zhuān)欄占1到3欄;諷刺漫畫(huà)(O,1)表示諷刺漫畫(huà)可有可無(wú),若有就占一欄。另外,Warnier圖可以通過(guò)細(xì)化組合數(shù)據(jù)項(xiàng)進(jìn)一步分解信息域。
————————————————
8、IPO圖
IPO圖是輸入/處理/輸出圖的簡(jiǎn)稱(chēng),它是美國(guó)IBM公司提出的一種圖形工具,能夠方便地描繪輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)的關(guān)系。
IPO圖使用的基本符號(hào)少而簡(jiǎn)單,因此很容易掌握使用這種工具。它的基本形式是在左邊的框中列出有關(guān)的輸人數(shù)據(jù),在中間的框中列出主要的處理,在右邊的框中列出產(chǎn)生的輸出數(shù)據(jù)。處理框中列出了處理的順序,但是用這些基本符號(hào)還不足以精確描述執(zhí)行處理的詳細(xì)情況。
IPO圖其他部分的設(shè)計(jì)和處理都是很容易的,惟獨(dú)其中的處理過(guò)程描述部分較為困難。對(duì)于一些處理過(guò)程較為復(fù)雜的模塊,用自然語(yǔ)言描述其功能十分困難,并且對(duì)同一段文字描述,不同的人還可能產(chǎn)生不同的理解(即所謂的二義性問(wèn)題)。目前用于描述模塊內(nèi)部處理過(guò)程還有如下幾種方法:結(jié)構(gòu)化英語(yǔ)方法、決策樹(shù)方法、判定表方法和算法描述語(yǔ)言方法。幾種方法各有其長(zhǎng)處和不同的適用范圍,在實(shí)際工作中究竟用哪一種方法,需視具體的情況和設(shè)計(jì)者的習(xí)慣而定。
一個(gè)軟件可由一張總的層次化模塊結(jié)構(gòu)圖和若干張具體模塊內(nèi)部展開(kāi)的IPO圖組成。前者描述了整個(gè)系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)及各類(lèi)模塊之間的關(guān)系,后者描述了某個(gè)特定模塊內(nèi)部的處理過(guò)程和輸入輸出關(guān)系。
IPO圖的主體是算法說(shuō)明部分,該部分可采用結(jié)構(gòu)化語(yǔ)言、判定表、判定樹(shù),也可用N-S圖、問(wèn)題分析圖和過(guò)程設(shè)計(jì)語(yǔ)言等工具進(jìn)行描述,要準(zhǔn)確而簡(jiǎn)明的描述模塊執(zhí)行的細(xì)節(jié)。
開(kāi)發(fā)人員不僅可以利用IPO圖進(jìn)行模塊設(shè)計(jì),而且還可以利用它評(píng)價(jià)總體設(shè)計(jì)。用戶(hù)和管理人員可利用IPO圖編寫(xiě)、修改和維護(hù)程序。因而,IPO圖是系統(tǒng)設(shè)計(jì)階段的一種重要文檔資料。
在IPO圖中,輸入、輸出數(shù)據(jù)來(lái)源于數(shù)據(jù)詞典。局部數(shù)據(jù)項(xiàng)是指?jìng)€(gè)別模塊內(nèi)部使用的數(shù)據(jù),與系統(tǒng)的其它部分無(wú)關(guān),僅由本模塊定義、存貯和使用。注釋是對(duì)本模塊有關(guān)問(wèn)題作必要的說(shuō)明。
————————————————
9、層次圖
10、HIPO圖
HIPO 圖由層次結(jié)構(gòu)圖和IPO 圖兩部分構(gòu)成,前者描述整個(gè)系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)以及各類(lèi)模塊之間的關(guān)系,后者描述某個(gè)特定模塊內(nèi)部的處理過(guò)程和輸入/輸出關(guān)系。
HIPO 圖一般由一張總的層次化模塊結(jié)構(gòu)圖和若干張具體模塊內(nèi)部展開(kāi)的IPO 圖組成。
IPO 圖上部反映模塊基本信息,即該模塊在總體系統(tǒng)中的位置,所涉及的編碼方案,數(shù)據(jù)文件/數(shù)據(jù)庫(kù),編程要求,設(shè)計(jì)者和使用者等信息。
IPO 圖的下部主要用在數(shù)據(jù)流程分析階段定義的輸入、輸出數(shù)據(jù)流的基礎(chǔ)上,對(duì)給定模塊的輸入、輸出數(shù)據(jù)流進(jìn)行詳細(xì)定義,重點(diǎn)對(duì)該模塊的內(nèi)部處理過(guò)程進(jìn)行描述。輸入、輸出數(shù)據(jù)流的描述與標(biāo)識(shí)參考數(shù)據(jù)流程分析,處理過(guò)程描述可用結(jié)構(gòu)化描述語(yǔ)言、判斷樹(shù)、判定表和算法描述語(yǔ)言或偽碼等,也可以用其他輔助性工具協(xié)助IPO 圖的設(shè)計(jì)。
————————————————
11、結(jié)構(gòu)圖
軟件結(jié)構(gòu)圖是為了反映軟件系統(tǒng)中組件之間相互關(guān)系和約束的體系結(jié)構(gòu)設(shè)計(jì)圖,稱(chēng)為軟件體系結(jié)構(gòu)圖更為合適,一般通過(guò)分層次或分時(shí)間段等方式說(shuō)明體系結(jié)構(gòu)的各個(gè)組成部分的組合關(guān)系。
在結(jié)構(gòu)化設(shè)計(jì)方法中,軟件結(jié)構(gòu)圖主要分為變換型軟件結(jié)構(gòu)圖和事務(wù)型軟件結(jié)構(gòu)圖兩種。
軟件結(jié)構(gòu)包括構(gòu)成系統(tǒng)的設(shè)計(jì)元素的描述、設(shè)計(jì)元素之間的交互、設(shè)計(jì)元素的組合模式以及在這些模式中的約束。一個(gè)系統(tǒng)由一組構(gòu)件以及它們之間的交互關(guān)系組成,這種系統(tǒng)本身又可以成為一個(gè)更大的系統(tǒng)的組成元素。
————————————————
12、程序流程圖
程序流程圖又稱(chēng)程序框圖,是用統(tǒng)一規(guī)定的標(biāo)準(zhǔn)符號(hào)描述程序運(yùn)行具體步驟的圖形表示。程序框圖的設(shè)計(jì)是在處理流程圖的基礎(chǔ)上,通過(guò)對(duì)輸入輸出數(shù)據(jù)和處理過(guò)程的詳細(xì)分析,將計(jì)算機(jī)的主要運(yùn)行步驟和內(nèi)容標(biāo)識(shí)出來(lái)。程序框圖是進(jìn)行程序設(shè)計(jì)的最基本依據(jù),因此它的質(zhì)量直接關(guān)系到程序設(shè)計(jì)的質(zhì)量。
————————————————
13、盒圖
擺弄數(shù)據(jù)離散度的一種圖形。它對(duì)于顯示數(shù)據(jù)的離散的分布情況效果不錯(cuò)。在軟件工程中,Nassi和Shneiderman 提出了一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具,叫做盒圖,也被稱(chēng)為N-S圖。
它由五個(gè)數(shù)值點(diǎn)組成:
最小值(min),下四分位數(shù)(Q1),中位數(shù)(median),上四分位數(shù)(Q3),最大值(max)。也可以往盒圖里面加入平均值(mean)。
由于現(xiàn)實(shí)數(shù)據(jù)中總是存在各式各樣地“臟數(shù)據(jù)”,也稱(chēng)為“離群點(diǎn)”,于是為了不因這些少數(shù)的離群數(shù)據(jù)導(dǎo)致整體特征的偏移,將這些離群點(diǎn)單獨(dú)匯出,而盒圖中的胡須的兩級(jí)修改成最小觀測(cè)值與最大觀測(cè)值。這里有個(gè)經(jīng)驗(yàn),就是最大(最小)觀測(cè)值設(shè)置為與四分位數(shù)值間距離為1.5個(gè)IQR(中間四分位數(shù)極差)。即
1、IQR = Q3-Q1,即上四分位數(shù)與下四分位數(shù)之間的差,也就是盒子的長(zhǎng)度。
2、最小觀測(cè)值為min = Q1 - 1.5IQR,如果存在離群點(diǎn)小于最小觀測(cè)值,則胡須下限為最小觀測(cè)值,離群點(diǎn)單獨(dú)以點(diǎn)匯出。如果沒(méi)有比最小觀測(cè)值小的數(shù),則胡須下限為最小值。
3、最大觀測(cè)值為max = Q3 + 1.5IQR,如果存在離群點(diǎn)大于最大觀測(cè)值,則胡須上限為最大觀測(cè)值,離群點(diǎn)單獨(dú)以點(diǎn)匯出。如果沒(méi)有比最大觀測(cè)值大的數(shù),則胡須上限為最大值。
通過(guò)盒圖,在分析數(shù)據(jù)的時(shí)候,盒圖能夠有效地幫助我們識(shí)別數(shù)據(jù)的特征:
1、直觀地識(shí)別數(shù)據(jù)集中的異常值(查看離群點(diǎn))。
2、判斷數(shù)據(jù)集的數(shù)據(jù)離散程度和偏向(觀察盒子的長(zhǎng)度,上下隔間的形狀,以及胡須的長(zhǎng)度)。
14、PAD圖
PAD是問(wèn)題分析圖(Problem Analysis Diagram)的英文縮寫(xiě)。
與方框圖一樣,PAD圖也只能描述結(jié)構(gòu)化程序允許使用的幾種基本結(jié)構(gòu)。發(fā)明以來(lái),已經(jīng)得到一定程度的推廣。它用二維樹(shù)形結(jié)構(gòu)的圖表示程序的控制流,以PAD圖為基礎(chǔ),遵循機(jī)械的走樹(shù)(Tree Walk)規(guī)則就能方便地編寫(xiě)出程序,用這種圖轉(zhuǎn)換為程序代碼比較容易。
特征:
1)結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高;
2)易于閱讀
3)最左端的縱線(xiàn)是程序主干線(xiàn),對(duì)應(yīng)程序的第一層結(jié)構(gòu);每增一層PAD圖向右擴(kuò)展一條縱線(xiàn),幫程序的縱線(xiàn)數(shù)等于程序?qū)哟螖?shù)。
4)程序執(zhí)行:從PAD圖最左主干線(xiàn)上端結(jié)點(diǎn)開(kāi)始,自上而下、自左向右依次執(zhí)行,程序終止于最左主干線(xiàn)。
優(yōu)點(diǎn)
PAD圖
PAD圖
1. 使用表示結(jié)構(gòu)優(yōu)化控制結(jié)構(gòu)的PAD符號(hào)所設(shè)計(jì)出來(lái)的程序必然是程序化程序
2. PAD圖所描述的程序結(jié)構(gòu)十分清晰。圖中最左邊的豎線(xiàn)是程序的主線(xiàn),即第一層控制結(jié)構(gòu)。隨著程序?qū)哟蔚脑黾?#xff0c;PAD圖逐漸向右延伸,每增加一個(gè)層次,圖形向右擴(kuò)展一條豎線(xiàn)。PAD圖中豎線(xiàn)的總條數(shù)就是程序的層次數(shù);
3. 用PAD圖表現(xiàn)程序邏輯,易讀、易懂、易記。PAD圖是二維樹(shù)型結(jié)構(gòu)的圖形,程序從圖中最左邊上端的結(jié)點(diǎn)開(kāi)始執(zhí)行,自上而下,從左到右順序執(zhí)行;
4. 很容易將PAD圖轉(zhuǎn)換成高級(jí)程序語(yǔ)言源程序,這種轉(zhuǎn)換可由軟件工具自動(dòng)完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。
5. 既可用于表示程序邏輯,也可用于描述數(shù)據(jù)結(jié)構(gòu)
6. PAD圖的符號(hào)支持自頂向下、逐步求精方法的使用。開(kāi)始時(shí)設(shè)計(jì)者可以定義一個(gè)抽象程序,隨著設(shè)計(jì)工作的深入而使用“def”符號(hào)逐步增加細(xì)節(jié),直至完成詳細(xì)設(shè)計(jì)。
PAD圖是面向高級(jí)程序設(shè)計(jì)語(yǔ)言的,為FORTRAN,COBOL和PASCAL等每種常用的高級(jí)程序設(shè)計(jì)語(yǔ)言都提供了一整套相應(yīng)的圖形符號(hào)。由于每種控制語(yǔ)句都有一個(gè)圖形符號(hào)與之對(duì)應(yīng),顯然將PAD圖轉(zhuǎn)換成與之對(duì)應(yīng)的高級(jí)語(yǔ)言程序比較容易。
PAD是一種程序結(jié)構(gòu)可見(jiàn)性好、結(jié)構(gòu)唯一、易于編制、易于檢查和易于修改的詳細(xì)設(shè)計(jì)表現(xiàn)方法。用PAD可以消除軟件開(kāi)發(fā)過(guò)程中設(shè)計(jì)與制作的分離,也可消除制作過(guò)程中的“屬人性”。雖然目前仍需要由人來(lái)編制程序,一旦開(kāi)發(fā)的PAD編程自動(dòng)化系統(tǒng)實(shí)現(xiàn)的話(huà),計(jì)算機(jī)就能從PAD自動(dòng)編程,到那時(shí)程序邏輯就是軟件開(kāi)發(fā)過(guò)程中人工制作的最終產(chǎn)品。顯然在開(kāi)發(fā)時(shí)間上大大節(jié)省,開(kāi)發(fā)質(zhì)量上將會(huì)大大提高。
缺點(diǎn):不如流程圖易于執(zhí)行。
15、判定表、
判定表(Decision table)是另一種表達(dá)邏輯判斷的工具。與結(jié)構(gòu)化語(yǔ)言和判斷樹(shù)相比,判斷表的優(yōu)點(diǎn)是能把所有條件組合充分地表達(dá)出來(lái);其缺點(diǎn)是判定表的建立過(guò)程較煩雜,且表達(dá)方式不如前兩種簡(jiǎn)便。判定表在用于知識(shí)表達(dá)中,有許多其他方式所達(dá)不到的作用。
判定表通常有以下四個(gè)部分組成:
1)條件樁(Condition Stub):在左上部,列出了問(wèn)題的所有條件。通常認(rèn)為列出的條件的次序無(wú)關(guān)緊要。
2)動(dòng)作樁(Action Stub):在左下部,列出了問(wèn)題規(guī)定可能采取的操作。這些操作的排列順序沒(méi)有約束。
3)條件項(xiàng)(Condition Entry):在右上部,列出針對(duì)它左列條件的取值。在所有可能情況下的真假值。
4)動(dòng)作項(xiàng)(Action Entry):在右下部,列出在條件項(xiàng)的各種取值情況下應(yīng)該采取的動(dòng)作。
判定表的建立步驟:
1)確定規(guī)則的個(gè)數(shù).假如有n個(gè)條件。每個(gè)條件有兩個(gè)取值(0,1),故有2的n次方種規(guī)則。
2)列出所有的條件樁和動(dòng)作樁。
3)填入條件項(xiàng)。
4)填入動(dòng)作項(xiàng)。得到初始判定表。
5)簡(jiǎn)化.合并相似規(guī)則(相同動(dòng)作)。
判定表的優(yōu)點(diǎn):
能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避免遺漏。因此,利用判定表能夠設(shè)計(jì)出完整的測(cè)試用例集合。在一些數(shù)據(jù)處理問(wèn)題當(dāng)中,某些操作的實(shí)施依賴(lài)于多個(gè)邏輯條件的組合,即:針對(duì)不同邏輯條件的組合值,分別執(zhí)行不同的操作。判定表很適合于處理這類(lèi)問(wèn)題。
————————————————
16、甘特圖
???定義:甘特圖內(nèi)在思想簡(jiǎn)單,即以圖示的方式通過(guò)活動(dòng)列表和時(shí)間刻度形象地表示出任何特定項(xiàng)目的活動(dòng)順序與持續(xù)時(shí)間。
???作用:甘特圖可以清晰地看出這個(gè)任務(wù)的進(jìn)度,在什么階段應(yīng)該完成到什么程度。管理者可以清晰地了解項(xiàng)目的進(jìn)度,從而對(duì)工作做出新的安排。
在文檔中的位置:應(yīng)該放到項(xiàng)目開(kāi)發(fā)計(jì)劃的進(jìn)度階段
————————————————
原文鏈接:https://blog.csdn.net/wyj19950908/article/details/53024670
17、IPO圖
???定義:在計(jì)算機(jī)領(lǐng)域IPO是指結(jié)構(gòu)化設(shè)計(jì)中變換型結(jié)構(gòu)的輸入(Input)、加工(Processing)、輸出(Output)。IPO圖是對(duì)每個(gè)模塊進(jìn)行詳細(xì)設(shè)計(jì)的工具,它是輸入加工輸出(INPUT PROCESS OUTPUT)圖的簡(jiǎn)稱(chēng),它是由美國(guó)IBM公司發(fā)起并完善起來(lái)的一種工具。在系統(tǒng)的模塊結(jié)構(gòu)圖形成過(guò)程中,產(chǎn)生了大量的模塊,在進(jìn)行詳細(xì)設(shè)計(jì)時(shí)開(kāi)發(fā)者應(yīng)為每一個(gè)模塊寫(xiě)一份說(shuō)明。IPO圖就是用來(lái)說(shuō)明每個(gè)模塊的輸入、輸出數(shù)據(jù)和數(shù)據(jù)加工的重要工具
???作用:在IPO圖中,輸入、輸出數(shù)據(jù)來(lái)源于數(shù)據(jù)詞典。局部數(shù)據(jù)項(xiàng)是指?jìng)€(gè)別模塊內(nèi)部使用的數(shù)據(jù),與系統(tǒng)的其它部分無(wú)關(guān),僅由本模塊定義、存貯和使用。注釋是對(duì)本模塊有關(guān)問(wèn)題作必要的說(shuō)明。
???開(kāi)發(fā)人員不僅可以利用IPO圖進(jìn)行模塊設(shè)計(jì),而且還可以利用它評(píng)價(jià)總體設(shè)計(jì)。用戶(hù)和管理人員可利用IPO圖編寫(xiě)、修改和維護(hù)程序。
???在文檔中的位置:IPO圖在系統(tǒng)設(shè)計(jì)階段發(fā)揮了很大的作用。在需求說(shuō)明書(shū)和詳細(xì)設(shè)計(jì)說(shuō)明書(shū)中都需要用到。
————————————————
19、原型圖
? ?定義:原型圖是交互設(shè)計(jì)中重要的產(chǎn)物,在確認(rèn)的布局中添加功能模塊細(xì)節(jié)的交互的形式。原型設(shè)計(jì)是交互設(shè)計(jì)師與產(chǎn)品經(jīng)理、開(kāi)發(fā)工程師、QA(質(zhì)量保證)溝通的最好工具。
? ?作用:方便用戶(hù)提前了解系統(tǒng)的大致功能和系統(tǒng)界面設(shè)計(jì),也讓開(kāi)發(fā)人員清楚軟件應(yīng)該達(dá)到什么樣的效果。
20、E-R圖
? ?定義:E-R圖也稱(chēng)實(shí)體-聯(lián)系圖(Entity Relationship Diagram),提供了表示實(shí)體類(lèi)型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。
? ?作用:更加清晰地了解實(shí)體之間的關(guān)系,是被廣泛采用的概念模型設(shè)計(jì)方法
?
?
總結(jié)
以上是生活随笔為你收集整理的软件工程用的15种图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python极简讲义 pdf_Pytho
- 下一篇: LICEcap--小巧而精致的GIF录屏