模型可以精確地描述系統(tǒng)
語言和文字是人們進(jìn)行溝通的主要手段,但語言和文字往往有二義性存在,較難保證人們的理解完全一致。所以在工程技術(shù)中,我們更多地是使用各種各樣的模型來進(jìn)行思想的溝通,模型可以精確地描述系統(tǒng),同時(shí)保證整個(gè)系統(tǒng)開發(fā)過程的語義的一致性。
(3)可視化建模技術(shù)的好處
有效管理系統(tǒng)復(fù)雜度
面向?qū)ο蠓椒ㄗ罨镜脑瓌t就是抽象,把一類具有相同屬性和行為的實(shí)體抽象成為一個(gè)類(Class),再通過把類實(shí)例化成對象(Object)來映射現(xiàn)實(shí)世界中的某一個(gè)具體實(shí)體。對象通過操作(Operation)來對外對供相應(yīng)的服務(wù),在對象模型中我們只需要描述對象所實(shí)現(xiàn)的功能,而封裝了操作實(shí)現(xiàn)的細(xì)節(jié)。
與軟件代碼相比,對象模型描述的也是同一個(gè)系統(tǒng),但它展示的是系統(tǒng)結(jié)構(gòu)中最關(guān)鍵的元素以及它們之間的關(guān)系,所有的編碼細(xì)節(jié)都已經(jīng)被忽略掉了,從而有利于開發(fā)人員把握理解整個(gè)系統(tǒng)。
增強(qiáng)團(tuán)隊(duì)的溝通
對象模型同時(shí)也作為軟件設(shè)計(jì)的藍(lán)圖,記錄了開發(fā)人員的設(shè)計(jì)思想。對于設(shè)計(jì)者而言,對象模型提供了一個(gè)工具來幫助他來整理設(shè)計(jì)思路,整個(gè)的設(shè)計(jì)過程都可以被記錄下來;同時(shí),也避免開發(fā)者在整個(gè)系統(tǒng)架構(gòu)明確之前就陷入編碼的細(xì)節(jié)之中,對于模型的調(diào)整修改相對于代碼的改動要簡單得多。
另一方面,對象模型也使得設(shè)計(jì)的結(jié)果很容易被其他人所理解,設(shè)計(jì)者的設(shè)計(jì)意圖可以被完整的傳遞而不發(fā)生信息的失真。可視化建模采用的是標(biāo)準(zhǔn)的統(tǒng)一建模語言UML,所有的開發(fā)人員都應(yīng)該采用這種統(tǒng)一建模語言來進(jìn)行系統(tǒng)的設(shè)計(jì),從而保證大家工作的結(jié)果是所有人都可以理解的。這也是UML 語言的設(shè)計(jì)目的之一,即使用UML 來統(tǒng)一整個(gè)開發(fā)團(tuán)隊(duì)的溝通手段。
提高系統(tǒng)設(shè)計(jì)的可重用性
面向?qū)ο蠹夹g(shù)最基本的原則就是抽象,即把整個(gè)系統(tǒng)的功能盡可能地分配到多個(gè)類中去,每個(gè)類應(yīng)該只做并且做好一件事情。因?yàn)槊總€(gè)類實(shí)現(xiàn)的功能比較單一,所以可以有更多的機(jī)會被重用。同時(shí)盡量利用構(gòu)件化的思想把關(guān)系比較緊密的類組合成構(gòu)件,構(gòu)件具有定義明確的功能并且以接口的形式對外提供服務(wù)?;跇?gòu)件的架構(gòu)具有的可重用性,一方面可以重用現(xiàn)有的商業(yè)構(gòu)件來搭建系統(tǒng),另一方面當(dāng)前系統(tǒng)中的構(gòu)件也可以被其他的系統(tǒng)所重用。
語言和文字是人們進(jìn)行溝通的主要手段,但語言和文字往往有二義性存在,較難保證人們的理解完全一致。所以在工程技術(shù)中,我們更多地是使用各種各樣的模型來進(jìn)行思想的溝通,模型可以精確地描述系統(tǒng),同時(shí)保證整個(gè)系統(tǒng)開發(fā)過程的語義的一致性。
(3)可視化建模技術(shù)的好處
有效管理系統(tǒng)復(fù)雜度
面向?qū)ο蠓椒ㄗ罨镜脑瓌t就是抽象,把一類具有相同屬性和行為的實(shí)體抽象成為一個(gè)類(Class),再通過把類實(shí)例化成對象(Object)來映射現(xiàn)實(shí)世界中的某一個(gè)具體實(shí)體。對象通過操作(Operation)來對外對供相應(yīng)的服務(wù),在對象模型中我們只需要描述對象所實(shí)現(xiàn)的功能,而封裝了操作實(shí)現(xiàn)的細(xì)節(jié)。
與軟件代碼相比,對象模型描述的也是同一個(gè)系統(tǒng),但它展示的是系統(tǒng)結(jié)構(gòu)中最關(guān)鍵的元素以及它們之間的關(guān)系,所有的編碼細(xì)節(jié)都已經(jīng)被忽略掉了,從而有利于開發(fā)人員把握理解整個(gè)系統(tǒng)。
增強(qiáng)團(tuán)隊(duì)的溝通
對象模型同時(shí)也作為軟件設(shè)計(jì)的藍(lán)圖,記錄了開發(fā)人員的設(shè)計(jì)思想。對于設(shè)計(jì)者而言,對象模型提供了一個(gè)工具來幫助他來整理設(shè)計(jì)思路,整個(gè)的設(shè)計(jì)過程都可以被記錄下來;同時(shí),也避免開發(fā)者在整個(gè)系統(tǒng)架構(gòu)明確之前就陷入編碼的細(xì)節(jié)之中,對于模型的調(diào)整修改相對于代碼的改動要簡單得多。
另一方面,對象模型也使得設(shè)計(jì)的結(jié)果很容易被其他人所理解,設(shè)計(jì)者的設(shè)計(jì)意圖可以被完整的傳遞而不發(fā)生信息的失真。可視化建模采用的是標(biāo)準(zhǔn)的統(tǒng)一建模語言UML,所有的開發(fā)人員都應(yīng)該采用這種統(tǒng)一建模語言來進(jìn)行系統(tǒng)的設(shè)計(jì),從而保證大家工作的結(jié)果是所有人都可以理解的。這也是UML 語言的設(shè)計(jì)目的之一,即使用UML 來統(tǒng)一整個(gè)開發(fā)團(tuán)隊(duì)的溝通手段。
提高系統(tǒng)設(shè)計(jì)的可重用性
面向?qū)ο蠹夹g(shù)最基本的原則就是抽象,即把整個(gè)系統(tǒng)的功能盡可能地分配到多個(gè)類中去,每個(gè)類應(yīng)該只做并且做好一件事情。因?yàn)槊總€(gè)類實(shí)現(xiàn)的功能比較單一,所以可以有更多的機(jī)會被重用。同時(shí)盡量利用構(gòu)件化的思想把關(guān)系比較緊密的類組合成構(gòu)件,構(gòu)件具有定義明確的功能并且以接口的形式對外提供服務(wù)?;跇?gòu)件的架構(gòu)具有的可重用性,一方面可以重用現(xiàn)有的商業(yè)構(gòu)件來搭建系統(tǒng),另一方面當(dāng)前系統(tǒng)中的構(gòu)件也可以被其他的系統(tǒng)所重用。