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格式閱讀原文

主站蜘蛛池模板: 国产精品99r8在线观看| 欧洲高清无码在线| 国产色伊人| 噜噜噜久久| 欧美日韩精品一区二区在线线 | 毛片a级毛片免费观看免下载| 波多野结衣无码中文字幕在线观看一区二区 | 国产凹凸一区在线观看视频| 97影院午夜在线观看视频| 国产精品成人免费视频99| 日本91在线| 99久久国产综合精品2020| 欧美成a人片在线观看| 四虎亚洲精品| 日本人妻一区二区三区不卡影院 | 国产免费久久精品99re不卡| 67194在线午夜亚洲| 在线观看的黄网| 久久综合色播五月男人的天堂| 国产综合精品日本亚洲777| 亚洲欧洲日韩综合色天使| 精品久久久久久成人AV| 国产av一码二码三码无码 | 日韩精品久久无码中文字幕色欲| 欧美一区中文字幕| 免费一级毛片完整版在线看| 日本亚洲欧美在线| 亚洲美女操| 五月天久久婷婷| 国产精品永久免费嫩草研究院| 色婷婷亚洲综合五月| 91人妻在线视频| 日a本亚洲中文在线观看| 亚洲AⅤ无码日韩AV无码网站| 国产欧美日韩精品综合在线| 黄片在线永久| a在线亚洲男人的天堂试看| 国产精品成人免费视频99| 免费国产一级 片内射老| 亚洲成人免费在线| 自拍中文字幕| 久久精品一卡日本电影| 免费国产黄线在线观看| 亚洲一区色| 亚洲一欧洲中文字幕在线| 亚洲网综合| 国产天天射| 国产白浆在线| 在线观看视频99| 无码视频国产精品一区二区| 国国产a国产片免费麻豆| 中文字幕日韩久久综合影院| 国产精品第一区| 又污又黄又无遮挡网站| 国外欧美一区另类中文字幕| 99视频在线免费| 亚洲人成色在线观看| 日韩av无码精品专区| 人妻免费无码不卡视频| 国产亚洲精品无码专| 欧美第九页| 狠狠躁天天躁夜夜躁婷婷| 天堂成人av| 国产精品一区二区国产主播| 搞黄网站免费观看| 日韩国产亚洲一区二区在线观看| 亚洲日韩AV无码精品| 天天躁夜夜躁狠狠躁躁88| 久久成人国产精品免费软件 | 国产欧美日韩免费| 午夜日韩久久影院| 久久国产高清视频| 青青青亚洲精品国产| 在线看片免费人成视久网下载| 国禁国产you女视频网站| lhav亚洲精品| 久久中文字幕av不卡一区二区| 亚洲伊人电影| 欧洲熟妇精品视频| 欧美在线伊人| 中文字幕1区2区| 精品国产免费人成在线观看|