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