• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      構(gòu)件化軟件開發(fā)可視化設(shè)計(jì)研究

      2017-01-09 06:19:03粟福嵩
      關(guān)鍵詞:可視化構(gòu)件軟件

      舒 毅,粟福嵩,楊 書

      (廣西科技大學(xué)第一附屬醫(yī)院 信息科,廣西 柳州 545002)

      構(gòu)件化軟件開發(fā)可視化設(shè)計(jì)研究

      舒 毅,粟福嵩,楊 書

      (廣西科技大學(xué)第一附屬醫(yī)院 信息科,廣西 柳州 545002)

      構(gòu)件化軟件開發(fā)是實(shí)現(xiàn)軟件標(biāo)準(zhǔn)化生產(chǎn)和流水化作業(yè)的前提條件?;跇?gòu)件化的軟件開發(fā)設(shè)計(jì)思想與建筑工程或機(jī)械工程的設(shè)計(jì)思想頗為相似,但在實(shí)際的軟件開發(fā)中,軟件可視化的構(gòu)件設(shè)計(jì)思想沒有建筑工程和機(jī)械工程領(lǐng)域的可視化設(shè)計(jì)這樣規(guī)范。如果將可視化的工程設(shè)計(jì)原則應(yīng)用到構(gòu)件化的軟件開發(fā)設(shè)計(jì)中,將對(duì)軟件開發(fā)工作大有益處。

      構(gòu)件化軟件設(shè)計(jì);可視化;JavaBean;

      0 引言

      構(gòu)件化軟件開發(fā)設(shè)計(jì)[1]思想已被提出相當(dāng)長(zhǎng)一段時(shí)間,它與機(jī)械工程設(shè)計(jì)思想頗為相似,即通過零部件的生產(chǎn)裝配實(shí)現(xiàn)一個(gè)預(yù)期的生產(chǎn)系統(tǒng)。構(gòu)件化設(shè)計(jì)通過構(gòu)件復(fù)用(Reuse)和感知互動(dòng)(Perception Interactive)的特性使得軟件生產(chǎn)的效率和產(chǎn)品質(zhì)量大大提高,構(gòu)件化設(shè)計(jì)最終要實(shí)現(xiàn)的目標(biāo)是讓軟件能夠像硬件一樣可以組裝,像硬件一樣可以實(shí)現(xiàn)流水線作業(yè)。

      在構(gòu)件化的軟件設(shè)計(jì)中,把一個(gè)軟件系統(tǒng)視為由N個(gè)構(gòu)件組裝而成的。每個(gè)構(gòu)件是由若干模塊組成的,每個(gè)模塊又由代碼行或函數(shù)組成。構(gòu)件與構(gòu)件之間以約定的接口進(jìn)行拼接。如此,一個(gè)軟件系統(tǒng)的開發(fā)設(shè)計(jì)工作可以分解為系統(tǒng)構(gòu)件的開發(fā)設(shè)計(jì)。而軟件構(gòu)件的開發(fā)設(shè)計(jì)采用圖形化的方法,一方面使系統(tǒng)的搭建更加方便和快捷;另一方面使得軟件開發(fā)設(shè)計(jì)更加直觀,便于開發(fā)團(tuán)隊(duì)的協(xié)同工作,有利于實(shí)現(xiàn)軟件開發(fā)流水線作業(yè)。

      因此構(gòu)件化軟件開發(fā)可視化設(shè)計(jì)、標(biāo)準(zhǔn)化定義、層次化劃分是真正讓軟件系統(tǒng)能夠像實(shí)體工程那樣做到開工之前詳分析、生產(chǎn)加工有依據(jù)、質(zhì)量評(píng)估有標(biāo)準(zhǔn)、維護(hù)改造心中有數(shù)的有效方法。

      1 構(gòu)件可視化設(shè)計(jì)的形成

      基于構(gòu)件的軟件系統(tǒng)開發(fā)中,構(gòu)件與軟件系統(tǒng)的關(guān)系就如同一臺(tái)機(jī)器與其零部件之間的關(guān)系。一臺(tái)機(jī)器在生產(chǎn)和加工之前,小到一顆螺絲,大到一個(gè)部件,每一步都有可視化的標(biāo)準(zhǔn)和依據(jù)。同理,軟件系統(tǒng)生產(chǎn)在開始著手代碼編寫之前,也有必要將構(gòu)件的標(biāo)準(zhǔn)和依據(jù)與系統(tǒng)集成模型用可視化的方式呈現(xiàn)出來。

      多年以來無(wú)論是系統(tǒng)圖還是流程圖[2]都是以圖1所示的方式呈現(xiàn),如果從系統(tǒng)輪廓的角度來看,圖1也是可以滿足開發(fā)要求的,但是要將其上升至工程的視角,則還存在許多改進(jìn)之處。

      圖1是某培訓(xùn)中心管理信息系統(tǒng)的數(shù)據(jù)流圖。第一,圖形的可讀性差,版面設(shè)計(jì)凌亂,方向忽左忽右,忽上忽下。第二,文字標(biāo)注不合理,如:圓圈內(nèi)的文字都表示的某一個(gè)處理的動(dòng)作,可是命名卻是以該動(dòng)作的結(jié)果描述。第三,圖形缺少層次感,缺少可以剖開的斷面,如果是更為復(fù)雜的流程圖,難以在一張圖紙上描述所有的內(nèi)容。第四,圓圈代表了一個(gè)個(gè)的構(gòu)件,對(duì)于構(gòu)件的特征沒有很好的描述,沒有進(jìn)行有效的分類,使得構(gòu)件的利用率降低。第五,從圖中無(wú)法體現(xiàn)出該項(xiàng)目的規(guī)模和項(xiàng)目的控制點(diǎn),不利于軟件開發(fā)項(xiàng)目的組織生產(chǎn)。下面針對(duì)圖1的問題進(jìn)行構(gòu)件可視化的改造。

      圖1 某培訓(xùn)中心管理信息系統(tǒng)的數(shù)據(jù)流圖

      1.1 格式化數(shù)據(jù)流圖

      將圖1中所有圓圈的數(shù)據(jù)加工體抽象成一個(gè)類似管道多通的數(shù)據(jù)轉(zhuǎn)換構(gòu)件,并對(duì)構(gòu)件的功能結(jié)構(gòu)、層級(jí)關(guān)系、構(gòu)件代碼進(jìn)行標(biāo)準(zhǔn)化的描述。這樣做目的是,(1)對(duì)數(shù)據(jù)構(gòu)件的復(fù)用提供一個(gè)通用的命名規(guī)則;(2)便于數(shù)據(jù)構(gòu)件分類,利于歸檔檢索;(3)通過名字將功能和功能的說明分開,明確數(shù)據(jù)的動(dòng)態(tài)和靜態(tài)屬性;(4)將數(shù)據(jù)流向標(biāo)識(shí)轉(zhuǎn)化成數(shù)據(jù)構(gòu)件輸入和輸出元素。讓圖形更簡(jiǎn)潔,層次更清晰。

      1.2 構(gòu)件編碼格式

      確定圖2所示的構(gòu)件編碼格式。

      圖2 構(gòu)件編碼格式

      對(duì)構(gòu)件編碼,除了可以通過構(gòu)件直觀地識(shí)別構(gòu)件類型外,還可以讓構(gòu)件易于自動(dòng)化檢索,易于比對(duì)構(gòu)件之間的相似度,利于代碼的復(fù)用。

      構(gòu)件的編碼事實(shí)上還需考慮諸如操作系統(tǒng)、開發(fā)環(huán)境、輸入/輸出的數(shù)據(jù)類型、B/S或C/S架構(gòu)等一系列的開發(fā)和應(yīng)用環(huán)境因素。通過編碼的作用使得多個(gè)構(gòu)件形成一本構(gòu)件字典。再通過構(gòu)件字典,使得軟件生產(chǎn)企業(yè)能夠像工程裝配一樣在短時(shí)間內(nèi)高效生產(chǎn)出軟件產(chǎn)品。

      1.3 創(chuàng)建構(gòu)件明細(xì)表

      建立表1所示的構(gòu)件明細(xì)表。

      2 舉例

      將某培訓(xùn)中心管理信息系統(tǒng)的數(shù)據(jù)流圖格式化后的形態(tài)如圖3所示。

      對(duì)格式化后的流程圖分析如下:

      第一,將圖1中的數(shù)據(jù)流的方向統(tǒng)一,強(qiáng)制性規(guī)定數(shù)據(jù)傳輸方向只允許由左至右或者由上至下的方向,使得整個(gè)數(shù)據(jù)流程圖的可讀性大大增強(qiáng)。第二,圖形的層次感增強(qiáng),條理清晰。第三,利于團(tuán)隊(duì)協(xié)同工作,既有利于項(xiàng)目合理分工,也有利于軟件審計(jì)工作開展。第四,利用層次關(guān)系可以形成斷面,這樣對(duì)于在一張圖紙上無(wú)法描述所有流程和功能的情況,通過設(shè)置適當(dāng)?shù)臄嗝?,利用圖紙索引可將其分開繪制。第五,圖中適當(dāng)?shù)恼f明也可補(bǔ)充圖形無(wú)法表述的內(nèi)容。第六,通過圖號(hào)、構(gòu)件號(hào)將零散的構(gòu)件有機(jī)地連成一體,形成一套完整的軟件項(xiàng)目概要設(shè)計(jì)檔案。

      2.1 構(gòu)件創(chuàng)建實(shí)例

      構(gòu)件(Component)從外觀形態(tài)上看就是一個(gè)具有輸入或者輸出功能的獨(dú)立的生產(chǎn)部件。不管是Microsoft公司所描述的COM,還是Sun公司所描述的JavaBean以及OMG組織所提到的CORBA,其目的和作用都是封裝和復(fù)用。

      構(gòu)件設(shè)計(jì)與整個(gè)系統(tǒng)開發(fā)和使用環(huán)境息息相關(guān),上述三家公司在構(gòu)件的運(yùn)行機(jī)制和構(gòu)造技術(shù)上各有不同。COM構(gòu)件定義了客戶與構(gòu)件之間互操作的標(biāo)準(zhǔn),是一種以組件為發(fā)布單元的對(duì)象模型,這種模型使得各個(gè)軟件組件可以用一種統(tǒng)一的方式進(jìn)行交互。JavaBean是一種Java語(yǔ)言寫成的可重用組件[3],作為一個(gè)特殊的Java類,使用Java語(yǔ)言書寫并且遵守JavaBean API規(guī)范。開發(fā)者可以用JavaBean構(gòu)造器中的工具對(duì)其直接進(jìn)行可視化操作。JavaBean有3個(gè)接口面,可以獨(dú)立進(jìn)行開發(fā),包含可以調(diào)用的方法、提供的可讀寫的屬性及向外部發(fā)送或從外部接收的事件。公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)或通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture,CORBA)是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο蟮膽?yīng)用程序體系規(guī)范,它包含對(duì)象請(qǐng)求代理ORB、對(duì)象服務(wù)、公共設(shè)施、域接口和應(yīng)用接口這幾部分,其核心是對(duì)象請(qǐng)求代理ORB。

      以JavaBean的構(gòu)件創(chuàng)建方法為例,在表1中任選一個(gè)構(gòu)件0102010301,其代碼設(shè)計(jì)如下:

      //創(chuàng)建JavaBean

      圖3 將某培訓(xùn)中心管理信息系統(tǒng)的關(guān)聯(lián)圖格式化后的形態(tài)

      LayerCodeFunctionNameInput_dataOutput_data10102010301收集信息兩進(jìn)一出三通電子郵件、信函事務(wù)信息20202040601分類事務(wù)兩進(jìn)四出六通事務(wù)信息、學(xué)費(fèi)查詢請(qǐng)求、報(bào)名請(qǐng)求、學(xué)費(fèi)、注銷請(qǐng)求30301030401處理注銷一進(jìn)三出四通注銷請(qǐng)求課程、注銷通知單、學(xué)生30301020302處理學(xué)費(fèi)一進(jìn)兩出三通學(xué)費(fèi)收據(jù)、收費(fèi)30301010203處理查詢一進(jìn)一出直通查詢請(qǐng)求回答信息40402030501處理報(bào)名兩進(jìn)三出五通報(bào)名請(qǐng)求、收費(fèi)注冊(cè)單、課程、學(xué)生50501010201產(chǎn)生收費(fèi)單一進(jìn)一出直通注冊(cè)單收費(fèi)單60603030601復(fù)審單據(jù)三進(jìn)三出六通注銷通知單、收據(jù)、收費(fèi)單收據(jù)、入學(xué)通知單、注銷通知單

      Package cn.lyyfy.stuinfo;

      Public class CollectInformation

      {

      Private String email;

      Private String letter;

      Public CollectInformation()

      {

      }

      Public void setEmail (String email)

      {

      this.email =email;

      }

      Public void setLetter (String letter)

      {

      this.letter = letter;

      }

      Public String getEmail()

      {

      return this.email;

      }

      Public String getLetter()

      {

      return this.letter;

      }

      Public String outTransactionInformation()

      {

      return transactioninformation;

      }

      }

      2.2 構(gòu)件的聯(lián)結(jié)與集成的可視化設(shè)計(jì)

      以JavaBean構(gòu)件為例代碼如下:

      scope=”page”class=”n.lyyfy.stuinfo. ollectInformation”/>

      property=”email”value=”610623429@qq.com”/>

      property=”letter” value=”廣科大一附院”/>

      <%=collinfo.outTransactionInformation()%>

      通過上述構(gòu)件可視化的演變,最終封裝了一個(gè)圖4所示的邊界清楚、功能明確的構(gòu)件。從圖4中的可視化構(gòu)件實(shí)體可以推演出,每一個(gè)構(gòu)件都是在數(shù)據(jù)的輸入和輸出之間進(jìn)行了必要的生產(chǎn)加工,構(gòu)件之間的區(qū)別體現(xiàn)在輸入和輸出之間端口數(shù)量上和具體數(shù)據(jù)加工環(huán)節(jié)的區(qū)別,但是在構(gòu)件的實(shí)現(xiàn)框架和內(nèi)部邏輯關(guān)系具有極高的相似性。由此可見,構(gòu)件可視化設(shè)計(jì)的好處,一是在軟件工程從概要設(shè)計(jì)到詳細(xì)設(shè)計(jì)之間的過渡越來越直觀、具體;二是構(gòu)件和構(gòu)件之間的邊界越來越清晰;三是構(gòu)件的可視化設(shè)計(jì)可以映射到構(gòu)件代碼的設(shè)計(jì),直至映射到項(xiàng)目工程的實(shí)現(xiàn);四是利用構(gòu)件組成的一般性特點(diǎn)將封裝[4]的可視化構(gòu)件有序地進(jìn)行編目可以形成一本可視化的構(gòu)件工程圖紙。

      圖4 0102010301號(hào)構(gòu)件可視化代碼演變

      3 構(gòu)件可視化設(shè)計(jì)與傳統(tǒng)的UML規(guī)范圖形的關(guān)系

      統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)又稱標(biāo)準(zhǔn)建模語(yǔ)言,是一個(gè)支持模型化軟件系統(tǒng)開發(fā)的圖形化語(yǔ)言。UML從考慮系統(tǒng)的不同角度出發(fā),定義了用例圖、類圖、對(duì)象圖、狀態(tài)圖、活動(dòng)圖、序列圖、協(xié)作圖、構(gòu)件圖、部署圖9種圖。這些圖從不同的側(cè)面對(duì)系統(tǒng)進(jìn)行描述。系統(tǒng)模型[5]的這些不同側(cè)面綜合成一致的整體,便于系統(tǒng)的分析和構(gòu)造。

      在此討論的構(gòu)件可視化設(shè)計(jì)使用了簡(jiǎn)化、合并和細(xì)化的方法,將UML所含的圖重新梳理,再配合工程圖紙的設(shè)計(jì)思想,使構(gòu)件的可視化設(shè)計(jì)能夠自上而下、層層遞進(jìn)地完成程序的設(shè)計(jì)。

      以一個(gè)UML的狀態(tài)圖(圖5)為例,此圖看似很清楚、詳細(xì)地闡明了對(duì)象之間的關(guān)系,但是實(shí)質(zhì)上這幾個(gè)圖之間有很多的重復(fù)和相似的元素。從本研究的觀點(diǎn)看來,只要把握住數(shù)據(jù)的流向就能把握住程序的靈魂。因此從圖6可以看出,借助工程圖形的設(shè)計(jì)原則(層次、美觀、布局合理、易讀)可使?fàn)顟B(tài)圖效果得到改進(jìn)。

      再看UML的構(gòu)件圖(圖7),其表現(xiàn)了構(gòu)件之間數(shù)據(jù)的傳遞關(guān)系。從本文研究的觀點(diǎn)來看,將構(gòu)件明細(xì)表例(表1)、構(gòu)件編碼例(圖2)、關(guān)聯(lián)圖(圖3)這幾部分與概要設(shè)計(jì)階段的系統(tǒng)圖和詳細(xì)設(shè)計(jì)階段的代碼編寫聯(lián)系起來進(jìn)行可視化設(shè)計(jì),將會(huì)使系統(tǒng)構(gòu)件圖(圖7)更加具有代碼設(shè)計(jì)階段的參考性和軟件測(cè)試階段的針對(duì)性。

      4 結(jié)束語(yǔ)

      面向構(gòu)件軟件設(shè)計(jì)技術(shù)還在不斷地產(chǎn)生新的技術(shù)和方法,以工程的眼光從可視化的視角將紛繁復(fù)雜的軟件系統(tǒng)直觀、簡(jiǎn)單地呈現(xiàn)出來,無(wú)疑對(duì)抽象的軟件開發(fā)提供了一個(gè)流水化、實(shí)體型的設(shè)計(jì)模式??梢栽O(shè)想,軟件開發(fā)人員尤其是系統(tǒng)分析人員,在用了本文討論的構(gòu)件可視化的設(shè)計(jì)方法之后,將使系統(tǒng)的分析和交流變得十分輕松和方便。但是,事物都具有雙面性,構(gòu)件可視化設(shè)計(jì)必然也會(huì)帶來新的工作負(fù)荷,如協(xié)調(diào)平衡軟件開發(fā)的模式,有針對(duì)性地選擇開發(fā)場(chǎng)景等,讓構(gòu)件可視化成為軟件開發(fā)的一把利器。

      圖5 某充值管理系統(tǒng)構(gòu)件圖

      圖6 修改后某充值管理系統(tǒng)狀態(tài)圖

      [1] 張海藩,呂云翔.軟件工程[M].北京:人民郵電出版社,2013.

      [2] 毋國(guó)慶,梁正平,袁夢(mèng)霆,等.軟件需求工程[M] 北京:機(jī)械工業(yè)出版社, 2008.

      [3] 文藝,袁道華,李曉娟,等,面向?qū)ο蟮臉?gòu)件化軟件開發(fā)[J].計(jì)算機(jī)應(yīng)用研究,2002,19(8):40-42.

      [4]毛澄映,盧炎生.構(gòu)件軟件測(cè)試技術(shù)研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2006,43(8):1375-1382.

      [5] 夏苑,張為群.一種基于CBSE的嵌入式實(shí)時(shí)軟件建模方法

      圖7 某圖書管理系統(tǒng)構(gòu)件圖

      研究[J].計(jì)算機(jī)科學(xué),2005,32(8):213-215.

      粟福嵩(1991-),本科,工程師,主要研究方向:系統(tǒng)架構(gòu)設(shè)計(jì)與分析。

      Visualization design of component based software development

      Shu Yi, Su Fusong,Yang Shu

      (Department of Information, The First Affiliated Hospital of Guangxi University of Science and Technology ,Liuzhou 545002,China)

      Component software development is a prerequisite for the realization of software standardization production and streamline operations.The idea of software development and design based on component is quite similar to the design idea of architecture engineering or mechanical engineering. But in the actual development, compared with the visualization design in the field of construction engineering or mechanical engineering , the idea of software development and design based on component is not standard enough . If the engineering of visualization design principle is applied to the component based software development design, that is a benefit for developing a software.

      component based software design; visualization; JavaBean

      TP311.11

      A

      10.19358/j.issn.1674- 7720.2016.24.008

      舒毅,粟福嵩,楊書. 構(gòu)件化軟件開發(fā)可視化設(shè)計(jì)研究[J].微型機(jī)與應(yīng)用,2016,35(24):25-29.

      2016-06-30)

      舒毅(1972-),男,本科,高級(jí)工程師,主要研究方向:軟件工程、數(shù)據(jù)庫(kù)。

      楊書(1984-),男,本科,工程師,主要研究方向:數(shù)據(jù)庫(kù)及軟件開發(fā)。

      猜你喜歡
      可視化構(gòu)件軟件
      基于CiteSpace的足三里穴研究可視化分析
      基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
      云南化工(2021年8期)2021-12-21 06:37:54
      禪宗軟件
      基于CGAL和OpenGL的海底地形三維可視化
      “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
      軟件對(duì)對(duì)碰
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      建筑構(gòu)件
      龙南县| 维西| 重庆市| 平阴县| 哈巴河县| 定结县| 长春市| 杭锦后旗| 穆棱市| 平原县| 双城市| 郸城县| 金华市| 旺苍县| 永善县| 工布江达县| 伊吾县| 连城县| 思南县| 德州市| 汕尾市| 康马县| 通化市| 平阳县| 湘潭县| 七台河市| 冕宁县| 阿拉尔市| 南安市| 建德市| 天全县| 三门峡市| 师宗县| 拜城县| 南溪县| 万山特区| 无为县| 长岛县| 太仓市| 酉阳| 葫芦岛市|