999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

正交軟件體系結構設計和演化方法應用研究

2007-01-01 00:00:00李海洋李柏林郭榮佐
計算機應用研究 2007年1期

摘要:通過對正交軟件體系結構的概念分析,給出了具體的正交軟件體系結構模型,并詳細介紹了其演化控制方法,最后以實例探討了該模型和方法在實際系統中的應用。

關鍵詞:正交軟件體系結構; 模型; 線索; 演化控制

中圖法分類號:TP311.52文獻標識碼:A

文章編號:1001-3695(2007)01-0078-02

軟件體系結構(Software Architecture)是一種關注和描述軟件系統整體組織結構和性能的抽象系統機制,為軟件系統提供了一個結構、行為和屬性的高級抽象,由構成系統的元素描述、這些元素的相互作用、指導元素集成的模式以及這些模式的約束組成[1]。

軟件體系結構設計是軟件生命周期中的一個重要環節。計算機應用系統的日益復雜和龐大,使得軟件體系結構的研究成為當前的熱點。

對于軟件項目的開發來說,一個清晰的軟件體系結構是首要的。傳統的軟件開發過程可以劃分為從概念到實現的若干個階段,包括問題定義、需求分析、軟件設計、軟件實現及軟件測試等。軟件體系結構的建立就位于需求分析之后、軟件設計之前。在建立軟件體系結構時系統設計師主要從結構的角度對整個系統進行分析,選擇恰當的構件、構件間的相互作用以及它們的約束,最后形成一個系統框架(Framework)以滿足用戶的需求,為軟件設計奠定基礎。

1正交軟件體系結構概述

1.1正交軟件體系結構基本概念

正交(Orthogonal)軟件體系結構由組織層和線索的構件構成。線索是子系統的特例,由完成不同層次功能的構件組成,每一條線索完成整個系統中相對獨立的一部分功能。每一條線索的實現與其他線索的實現無關或關聯很少,在同一層的構件之間不存在相互調用。如果線索是相互獨立的,即不同線索構件之間沒有相互調用,那么這個結構就成為完全正交。每一條線索可按其功能劃分為多個子線索,從而形成低一級的子正交結構,成為多級正交結構[2]。正交結構有一個公共的頂層,由它來觸發各條線索運行;有一個公共的底層,包含了各線索要調用的數據。

1.2正交軟件體系結構模型 

對于復雜的軟件系統,其子線索可以劃分為低一級子線索,形成多級正交體系結構。圖1為正交軟件體系結構的框架。

圖1是一個三級線索、五層結構的正交軟件體系結構框架圖,其中,ABDFH組成一條線索,ACEGH也是一條線索。因為BC處于同一層中,所以不允許進行相互調用;DE,FG也處于同一層中,也不允許相互調用。第一層是頂層,二、三、四層是三級正交線索,第五層是物理數據庫鏈接層。

1.3結構的演化控制方法

在軟件演化過程中,系統需求會不斷發生變化。在正交軟件體系結構中,因為線索的正交性,每一個需求變動只影響一條線索,而不涉及其他線索。這樣,就把軟件需求變動局部化了,產生的影響也被限制在一定范圍內,因此容易實現[3]。在對應用程序進行演化控制時,新軟件的結構可以通過在原軟件結構基礎之上新增、修改、刪除線索來產生。這個過程是以原結構的線索和構件為單位自頂向下、由左向右進行的,首先將用戶提出的軟件功能要求映射到原結構的一個副本上,然后:

(1)從整個正交結構最左邊的一條線索開始,判斷線索是否可重用,如果可重用,則繼續對下一條進行判斷;如果只能部分重用,則進一步判斷重用發生在哪幾層,并畫出線索結構變動情況圖,對發生變動的構件作出標記。(2)對于新增功能,需建立新的線索和構件;如果新增功能是多個原始功能的合并,則對相應線索作合并標記。(3)重復以上步驟,遍歷所有線索,反復修改,對所作標記進行處理,形成新的正交結構,從而完成一次演化過程。對線索中的構件進行修改和添加時也應按照自頂向下的原則,先修改高級構件,然后根據需要修改被其調用的構件[4]。

2應用實例

2.1應用背景

我們為某汽車生產廠家的服務站設計了一個汽修服務站管理系統,設計初期為一個內部管理系統,在完成系統的第一個版本后,應廠家的要求,要實現網上報單。也就是說,本系統除了要實現服務站的內部管理,還要在Internet上通過協同電子商務平臺與生產廠服務部、零配件供應商進行數據交換,這需要集成到由西南交通大學CAD工程中心主持研發的國家“863”項目區域網絡化制造平臺上,構成一個完整的汽車產業鏈系統。此外,還應考慮其他的一些需求變化。

2.2設計思想

為應付將來用戶需求可能發生的變化,使軟件結構清晰、易修改、降低維護成本、提高可用性和重用性,我們在軟件設計初期采用了正交軟件體系結構的設計思想。

在本系統中,我們將線索分為兩級,即主線索和子線索??傮w結構包含數個主線索,每個主線索包含多個子線索,采用非完全正交,允許線索間有適當的相互調用,因此會發生共享構件的情況。

2.3結構設計

在設計開發第一個版本時,我們將本系統設計為三級正交結構,第一級分為六個主線索或一級線索,如圖2所示(不包括虛線部分)。

每個一級線索又可以劃分為多個二級線索,例如,維修登記可以劃分為如圖3所示的線索結構。每個二級線索又可以劃分為多個三級線索。例如,派工可以劃分為如圖4所示的線索結構。

大部分線索之間是相互獨立的,即不同線索的構件之間不存在相互調用,但考慮到實際情況,由于在實現“維修收銀”的功能時,要涉及到維修時的派工、外出服務、維修用料等其他線索的數據,因此我們適當放寬了要求,部分地不采用完全正交。由于非完全正交范圍不大,因此對整個結構的影響可以忽略(在此不討論)。

整個結構分為三級正交線索,五個層次,其中一個完整的線索結構如圖5所示。

其中,系統—維修登記—派工—增加—數據接口構成了一條完整的線索。

2.4結構的演化控制

在系統開發完成第一個版本后,由于生產廠家業務擴展,需要增加新的需求,主要有以下兩個:

(1)網上業務處理。

要在制造廠售后服務部、維修站、配件供應商之間進行三包鑒定單和強保單數據的實時交互,需要增加數據交換功能。

(2)有多個構件需要增加打印功能。

按照第1.3節介紹的演化控制方法,發現需要建立新的主線索和構件如下: 

新增一級線索“數據交換”可以劃分為多個二級線索(包括生成三包鑒定單、上傳/下載各單據、打?。?。

新增二級線索“上傳/下載各單據”又可以劃分為多個三級線索(包括增加、準備發送、上傳、取消上傳、下載、查看、打?。?。

參看圖5左虛線部分為新增一級線索“數據交換”。新增子線索“打印”屬于三級子線索,被多個二級子線索所擁有。

新增線索與原結構重新構成新的正交結構,系統正交結構變動情況如圖6所示,其中: ①表示在功能定義層新增加一個構件,其中包含打印功能;②表示新增數據交換主線索。新增構件用空心菱形表示,要修改構件用方框標記;其他未作標記的部分表示可以重用的構件。

由此可以看出,采用正交體系結構,其結構是清晰的,易于理解。對于本實例,一級線索和三級線索可以完全重用,二級線索有50%可重用,所以軟件重用度高,修改很容易。

2.5系統實現

在確定了軟件結構設計方案后,按軟件生命周期分別進行下一步的總體設計、詳細設計、編碼和單元測試、綜合測試等。由于采用了正交軟件體系結構,在通用共享數據訪問構件、數據庫和基類窗體設計好之后,將開發人員分為兩個小組,每個小組負責三個線索,由于各線索之間沒有相互調用,小組之間既不會相互影響,還可以實現相似功能的代碼重用,大大提高了編程效率,縮短了開發周期,節約了開發成本。

在系統的演化過程中,新增線索時不會對其他部分產生不良影響,還可以重用其他共享類和構件,充分顯示了正交軟件體系結構的優越性。

該系統在服務站內部采用C/S模式,在與服務部、配件供應商之間進行數據交換時采用B/S模式,適合中小型汽車生產廠家售后服務采用第三方軟件的實際需求。目前該系統已經在某汽車生產廠的十多個售后服務站應用,并且應用規模正不斷擴大。

3結論

本文依據正交軟件體系結構思想,敘述了正交軟件體系結構的設計和演化控制方法,結合正交軟件體系結構的應用實例,論證了正交軟件體系結構的實踐可行性及其優越性,是一種實用的軟件體系結構設計模型。在實際應用中,對正交軟件體系結構的設計根據需求因地制宜,在不能采用完全正交時,適當變通,不過分追求完全正交,只要滿足高內聚,低耦合即可。事實證明,將正交軟件體系結構的線索按層次劃分為多級,有利于功能劃分和粒度控制,使軟件結構更加清晰,使開發工作量分配均勻,做到了開發工作的高效有序、易修改、可維護性強,能方便地實現結構調整;便于移植,重用粒度大,可以實現體系結構級的重用。

參考文獻:

[1]左愛群,黃水松.軟件體系結構的發展與研究[J].計算機工程與應用,1999,35(3):1921.

[2]張友生.軟件體系結構[M].北京:清華大學出版社,20-04.7276.

[3]譚凱,林子禹,彭德純,等.多級正交軟件體系結構及其應用[J].小型微型計算機系統,2000,21(2):138141.

[4]張友生,陳松喬.正交軟件體系結構的設計與演化[J]. 小型微型計算機系統,20-04,25(2):295299.

[5]周瑩新,艾波.軟件體系結構建模研究[J].軟件學報,1998,9(11):866872.

作者簡介:

李海洋 (1972),男,講師,碩士研究生,研究方向為網絡化制造;李柏林(1962),男,教授,博導,主要研究方向為網絡化制造;郭榮佐(1973),男,碩士,主要研究方向為嵌入式系統、軟件系統理論、計算機連鎖。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 亚洲水蜜桃久久综合网站| 国产网站一区二区三区| 国产精品自在线天天看片| 欧美啪啪网| 99久久精彩视频| 欧美激情视频在线观看一区| 蝴蝶伊人久久中文娱乐网| 欧美区一区二区三| 成人免费网站在线观看| 亚洲香蕉久久| 九九久久精品免费观看| 色老头综合网| 伊人久久综在合线亚洲2019| 99久久亚洲综合精品TS| 国产免费久久精品99re丫丫一| 国产精品自拍合集| 日韩AV无码免费一二三区 | 国产一级在线播放| 无码视频国产精品一区二区| 日韩精品一区二区深田咏美| 国产免费久久精品44| www中文字幕在线观看| 久久国语对白| 国产亚洲日韩av在线| 欧美国产日韩一区二区三区精品影视| 在线看片中文字幕| 久久精品66| 日韩欧美视频第一区在线观看| 国产乱肥老妇精品视频| 国产精品任我爽爆在线播放6080 | 久久成人国产精品免费软件| 狠狠色丁香婷婷综合| 91无码网站| 69综合网| 波多野结衣视频网站| 久久久久亚洲av成人网人人软件| 午夜视频日本| 欧美乱妇高清无乱码免费| 18禁不卡免费网站| 欧美三級片黃色三級片黃色1| 亚洲一级毛片免费观看| 国产无码性爱一区二区三区| 97se亚洲| 欧美在线国产| 无码aaa视频| 国产色网站| 毛片网站观看| 青青极品在线| 欧美成人精品高清在线下载| 亚洲日韩Av中文字幕无码| 91在线中文| 2021国产乱人伦在线播放| 亚洲开心婷婷中文字幕| 欧美午夜在线观看| 欧美福利在线| 色婷婷在线播放| 精品成人一区二区| 四虎精品黑人视频| 亚洲综合九九| 欧美激情视频二区三区| 亚洲第一极品精品无码| 成人日韩精品| 欧美丝袜高跟鞋一区二区| 免费又爽又刺激高潮网址 | 亚洲va在线观看| 伊大人香蕉久久网欧美| 日韩人妻精品一区| 国产女人综合久久精品视| 丝袜国产一区| av一区二区三区在线观看| 亚洲制服中文字幕一区二区 | 中文字幕亚洲第一| 色老头综合网| 日韩精品毛片人妻AV不卡| 天天色天天综合| 欧美视频二区| 中文字幕在线视频免费| 青青热久免费精品视频6| 欧美亚洲另类在线观看| 中文字幕在线视频免费| 亚洲资源在线视频| 成人免费黄色小视频|