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

正交軟件體系結(jié)構(gòu)設(shè)計(jì)和演化方法應(yīng)用研究

2007-01-01 00:00:00李海洋李柏林郭榮佐

摘要:通過對(duì)正交軟件體系結(jié)構(gòu)的概念分析,給出了具體的正交軟件體系結(jié)構(gòu)模型,并詳細(xì)介紹了其演化控制方法,最后以實(shí)例探討了該模型和方法在實(shí)際系統(tǒng)中的應(yīng)用。

關(guān)鍵詞:正交軟件體系結(jié)構(gòu); 模型; 線索; 演化控制

中圖法分類號(hào):TP311.52文獻(xiàn)標(biāo)識(shí)碼:A

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

軟件體系結(jié)構(gòu)(Software Architecture)是一種關(guān)注和描述軟件系統(tǒng)整體組織結(jié)構(gòu)和性能的抽象系統(tǒng)機(jī)制,為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、行為和屬性的高級(jí)抽象,由構(gòu)成系統(tǒng)的元素描述、這些元素的相互作用、指導(dǎo)元素集成的模式以及這些模式的約束組成[1]。

軟件體系結(jié)構(gòu)設(shè)計(jì)是軟件生命周期中的一個(gè)重要環(huán)節(jié)。計(jì)算機(jī)應(yīng)用系統(tǒng)的日益復(fù)雜和龐大,使得軟件體系結(jié)構(gòu)的研究成為當(dāng)前的熱點(diǎn)。

對(duì)于軟件項(xiàng)目的開發(fā)來說,一個(gè)清晰的軟件體系結(jié)構(gòu)是首要的。傳統(tǒng)的軟件開發(fā)過程可以劃分為從概念到實(shí)現(xiàn)的若干個(gè)階段,包括問題定義、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)及軟件測(cè)試等。軟件體系結(jié)構(gòu)的建立就位于需求分析之后、軟件設(shè)計(jì)之前。在建立軟件體系結(jié)構(gòu)時(shí)系統(tǒng)設(shè)計(jì)師主要從結(jié)構(gòu)的角度對(duì)整個(gè)系統(tǒng)進(jìn)行分析,選擇恰當(dāng)?shù)臉?gòu)件、構(gòu)件間的相互作用以及它們的約束,最后形成一個(gè)系統(tǒng)框架(Framework)以滿足用戶的需求,為軟件設(shè)計(jì)奠定基礎(chǔ)。

1正交軟件體系結(jié)構(gòu)概述

1.1正交軟件體系結(jié)構(gòu)基本概念

正交(Orthogonal)軟件體系結(jié)構(gòu)由組織層和線索的構(gòu)件構(gòu)成。線索是子系統(tǒng)的特例,由完成不同層次功能的構(gòu)件組成,每一條線索完成整個(gè)系統(tǒng)中相對(duì)獨(dú)立的一部分功能。每一條線索的實(shí)現(xiàn)與其他線索的實(shí)現(xiàn)無關(guān)或關(guān)聯(lián)很少,在同一層的構(gòu)件之間不存在相互調(diào)用。如果線索是相互獨(dú)立的,即不同線索構(gòu)件之間沒有相互調(diào)用,那么這個(gè)結(jié)構(gòu)就成為完全正交。每一條線索可按其功能劃分為多個(gè)子線索,從而形成低一級(jí)的子正交結(jié)構(gòu),成為多級(jí)正交結(jié)構(gòu)[2]。正交結(jié)構(gòu)有一個(gè)公共的頂層,由它來觸發(fā)各條線索運(yùn)行;有一個(gè)公共的底層,包含了各線索要調(diào)用的數(shù)據(jù)。

1.2正交軟件體系結(jié)構(gòu)模型 

對(duì)于復(fù)雜的軟件系統(tǒng),其子線索可以劃分為低一級(jí)子線索,形成多級(jí)正交體系結(jié)構(gòu)。圖1為正交軟件體系結(jié)構(gòu)的框架。

圖1是一個(gè)三級(jí)線索、五層結(jié)構(gòu)的正交軟件體系結(jié)構(gòu)框架圖,其中,ABDFH組成一條線索,ACEGH也是一條線索。因?yàn)锽C處于同一層中,所以不允許進(jìn)行相互調(diào)用;DE,F(xiàn)G也處于同一層中,也不允許相互調(diào)用。第一層是頂層,二、三、四層是三級(jí)正交線索,第五層是物理數(shù)據(jù)庫鏈接層。

1.3結(jié)構(gòu)的演化控制方法

在軟件演化過程中,系統(tǒng)需求會(huì)不斷發(fā)生變化。在正交軟件體系結(jié)構(gòu)中,因?yàn)榫€索的正交性,每一個(gè)需求變動(dòng)只影響一條線索,而不涉及其他線索。這樣,就把軟件需求變動(dòng)局部化了,產(chǎn)生的影響也被限制在一定范圍內(nèi),因此容易實(shí)現(xiàn)[3]。在對(duì)應(yīng)用程序進(jìn)行演化控制時(shí),新軟件的結(jié)構(gòu)可以通過在原軟件結(jié)構(gòu)基礎(chǔ)之上新增、修改、刪除線索來產(chǎn)生。這個(gè)過程是以原結(jié)構(gòu)的線索和構(gòu)件為單位自頂向下、由左向右進(jìn)行的,首先將用戶提出的軟件功能要求映射到原結(jié)構(gòu)的一個(gè)副本上,然后:

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

2應(yīng)用實(shí)例

2.1應(yīng)用背景

我們?yōu)槟称嚿a(chǎn)廠家的服務(wù)站設(shè)計(jì)了一個(gè)汽修服務(wù)站管理系統(tǒng),設(shè)計(jì)初期為一個(gè)內(nèi)部管理系統(tǒng),在完成系統(tǒng)的第一個(gè)版本后,應(yīng)廠家的要求,要實(shí)現(xiàn)網(wǎng)上報(bào)單。也就是說,本系統(tǒng)除了要實(shí)現(xiàn)服務(wù)站的內(nèi)部管理,還要在Internet上通過協(xié)同電子商務(wù)平臺(tái)與生產(chǎn)廠服務(wù)部、零配件供應(yīng)商進(jìn)行數(shù)據(jù)交換,這需要集成到由西南交通大學(xué)CAD工程中心主持研發(fā)的國家“863”項(xiàng)目區(qū)域網(wǎng)絡(luò)化制造平臺(tái)上,構(gòu)成一個(gè)完整的汽車產(chǎn)業(yè)鏈系統(tǒng)。此外,還應(yīng)考慮其他的一些需求變化。

2.2設(shè)計(jì)思想

為應(yīng)付將來用戶需求可能發(fā)生的變化,使軟件結(jié)構(gòu)清晰、易修改、降低維護(hù)成本、提高可用性和重用性,我們?cè)谲浖O(shè)計(jì)初期采用了正交軟件體系結(jié)構(gòu)的設(shè)計(jì)思想。

在本系統(tǒng)中,我們將線索分為兩級(jí),即主線索和子線索。總體結(jié)構(gòu)包含數(shù)個(gè)主線索,每個(gè)主線索包含多個(gè)子線索,采用非完全正交,允許線索間有適當(dāng)?shù)南嗷フ{(diào)用,因此會(huì)發(fā)生共享構(gòu)件的情況。

2.3結(jié)構(gòu)設(shè)計(jì)

在設(shè)計(jì)開發(fā)第一個(gè)版本時(shí),我們將本系統(tǒng)設(shè)計(jì)為三級(jí)正交結(jié)構(gòu),第一級(jí)分為六個(gè)主線索或一級(jí)線索,如圖2所示(不包括虛線部分)。

每個(gè)一級(jí)線索又可以劃分為多個(gè)二級(jí)線索,例如,維修登記可以劃分為如圖3所示的線索結(jié)構(gòu)。每個(gè)二級(jí)線索又可以劃分為多個(gè)三級(jí)線索。例如,派工可以劃分為如圖4所示的線索結(jié)構(gòu)。

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

整個(gè)結(jié)構(gòu)分為三級(jí)正交線索,五個(gè)層次,其中一個(gè)完整的線索結(jié)構(gòu)如圖5所示。

其中,系統(tǒng)—維修登記—派工—增加—數(shù)據(jù)接口構(gòu)成了一條完整的線索。

2.4結(jié)構(gòu)的演化控制

在系統(tǒng)開發(fā)完成第一個(gè)版本后,由于生產(chǎn)廠家業(yè)務(wù)擴(kuò)展,需要增加新的需求,主要有以下兩個(gè):

(1)網(wǎng)上業(yè)務(wù)處理。

要在制造廠售后服務(wù)部、維修站、配件供應(yīng)商之間進(jìn)行三包鑒定單和強(qiáng)保單數(shù)據(jù)的實(shí)時(shí)交互,需要增加數(shù)據(jù)交換功能。

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

按照第1.3節(jié)介紹的演化控制方法,發(fā)現(xiàn)需要建立新的主線索和構(gòu)件如下: 

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

新增二級(jí)線索“上傳/下載各單據(jù)”又可以劃分為多個(gè)三級(jí)線索(包括增加、準(zhǔn)備發(fā)送、上傳、取消上傳、下載、查看、打?。?。

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

新增線索與原結(jié)構(gòu)重新構(gòu)成新的正交結(jié)構(gòu),系統(tǒng)正交結(jié)構(gòu)變動(dòng)情況如圖6所示,其中: ①表示在功能定義層新增加一個(gè)構(gòu)件,其中包含打印功能;②表示新增數(shù)據(jù)交換主線索。新增構(gòu)件用空心菱形表示,要修改構(gòu)件用方框標(biāo)記;其他未作標(biāo)記的部分表示可以重用的構(gòu)件。

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

2.5系統(tǒng)實(shí)現(xiàn)

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

在系統(tǒng)的演化過程中,新增線索時(shí)不會(huì)對(duì)其他部分產(chǎn)生不良影響,還可以重用其他共享類和構(gòu)件,充分顯示了正交軟件體系結(jié)構(gòu)的優(yōu)越性。

該系統(tǒng)在服務(wù)站內(nèi)部采用C/S模式,在與服務(wù)部、配件供應(yīng)商之間進(jìn)行數(shù)據(jù)交換時(shí)采用B/S模式,適合中小型汽車生產(chǎn)廠家售后服務(wù)采用第三方軟件的實(shí)際需求。目前該系統(tǒng)已經(jīng)在某汽車生產(chǎn)廠的十多個(gè)售后服務(wù)站應(yīng)用,并且應(yīng)用規(guī)模正不斷擴(kuò)大。

3結(jié)論

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

參考文獻(xiàn):

[1]左愛群,黃水松.軟件體系結(jié)構(gòu)的發(fā)展與研究[J].計(jì)算機(jī)工程與應(yīng)用,1999,35(3):1921.

[2]張友生.軟件體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,20-04.7276.

[3]譚凱,林子禹,彭德純,等.多級(jí)正交軟件體系結(jié)構(gòu)及其應(yīng)用[J].小型微型計(jì)算機(jī)系統(tǒng),2000,21(2):138141.

[4]張友生,陳松喬.正交軟件體系結(jié)構(gòu)的設(shè)計(jì)與演化[J]. 小型微型計(jì)算機(jī)系統(tǒng),20-04,25(2):295299.

[5]周瑩新,艾波.軟件體系結(jié)構(gòu)建模研究[J].軟件學(xué)報(bào),1998,9(11):866872.

作者簡(jiǎn)介:

李海洋 (1972),男,講師,碩士研究生,研究方向?yàn)榫W(wǎng)絡(luò)化制造;李柏林(1962),男,教授,博導(dǎo),主要研究方向?yàn)榫W(wǎng)絡(luò)化制造;郭榮佐(1973),男,碩士,主要研究方向?yàn)榍度胧较到y(tǒng)、軟件系統(tǒng)理論、計(jì)算機(jī)連鎖。

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文

主站蜘蛛池模板: 毛片网站观看| 免费无码网站| 日韩精品一区二区三区视频免费看| 欧美日韩激情| 伊人久久大香线蕉成人综合网| 2021国产精品自拍| 国产中文在线亚洲精品官网| 精品视频一区二区三区在线播| 亚洲国产欧洲精品路线久久| 日本久久网站| 欧美国产另类| 免费a在线观看播放| 精品国产一区二区三区在线观看 | 亚洲一区二区成人| 黄色网站不卡无码| 国产色爱av资源综合区| 19国产精品麻豆免费观看| 欧美午夜久久| 91福利片| 色网在线视频| 国产一在线观看| 国产人成在线观看| 欧洲欧美人成免费全部视频| 日本欧美一二三区色视频| 亚洲欧美日韩动漫| 99在线观看视频免费| 欧美日韩成人在线观看| 国产乱子伦手机在线| 在线观看网站国产| 欧美成人第一页| 国产导航在线| 久久精品一卡日本电影| 亚洲第一成年人网站| 日韩国产一区二区三区无码| 欧美在线伊人| 久久这里只精品热免费99| 久久香蕉国产线看观看式| 国产一区二区三区在线观看视频| 91av成人日本不卡三区| 国产精品伦视频观看免费| 亚洲国产日韩一区| 综合五月天网| 就去色综合| 欧美啪啪精品| 无码精品福利一区二区三区| 国产精品视频久| 亚洲天堂视频在线观看免费| 99久久99这里只有免费的精品| 国产无码精品在线播放| 白浆视频在线观看| 亚洲综合一区国产精品| 日韩精品无码不卡无码| 99资源在线| 67194亚洲无码| 久久这里只有精品国产99| 久久精品人人做人人综合试看| 国产欧美精品一区二区| aa级毛片毛片免费观看久| 国产精品漂亮美女在线观看| 亚洲天堂成人在线观看| 国产成人综合欧美精品久久| 夜精品a一区二区三区| 日韩a级片视频| 女同国产精品一区二区| 99久久国产精品无码| 国产sm重味一区二区三区| 亚洲一区二区视频在线观看| 欧美一级片在线| 热久久综合这里只有精品电影| 国产精品永久不卡免费视频 | 91精品国产丝袜| 91免费在线看| 日韩亚洲高清一区二区| 国产嫖妓91东北老熟女久久一| 欧美精品v| 欧美激情伊人| 国产嫖妓91东北老熟女久久一| 日韩精品高清自在线| 2020国产免费久久精品99| 国产杨幂丝袜av在线播放| 久久亚洲精少妇毛片午夜无码| 亚洲精品无码高潮喷水A|