• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    配置管理系統中的概念

    發布: 2008-6-03 13:48 | 作者: xiaohuan | 來源: 測試時代編輯整理 | 查看: 360次 | 進入軟件測試論壇討論

    領測軟件測試網

    3.4.3        子系統

    Rational環境提供了把一個很大的Ada產品分成多個小模塊以及限制變更影響范圍的功能。這些小模塊被稱為子系統,子系統包括接口說明書和實現主體并指出配置項目,因此,他們可被看為一個整體并通過他們的名稱被評價。在一個子系統內的組件不可被其他子系統內的組件所訪問除非為了被輸出而通過接口說明書將這些組件指明。Rational環境檢查實現主體完全匹配上接口說明書所需的運行時間。結果是,工作可以在實現主體上展開而獨立于當用戶想用時就可以被改變的接口說明書,到接口被改變時僅針對那個子系統中的組件會發生二次編譯。這時使用了這個接口產品的任何模塊都將進行二次編譯。對一個接口說明書所作的更改可能需要整個產品進行二次編譯。子系統對其組件進行了版本控制,子系統本身可以是一個特定版本。用戶可以用過組合匹配系統的版本來形成該品的一個特殊產品。概括的說,子系統為用戶指示了一種方法,它限制了變化和二次編譯所帶來的影響,并提供了檢查一個產品的各組成部分的有效性的環境。

    3.4.4        對象池

    運用系統建模的概念,DSEE已擁有一切必須的信息,此信息能夠確認產生一個生成對象的特殊版本需要些什么。生成的對象被放置在用戶們共享的對象池中。一旦用戶暗示了對對象屬性的需求DSEE就能夠共享。被產生的對象池包括一個由轉換工具生成的二進制代碼和其它對象組成的集合。每一個被產生的對象和其所有的信息有聯系,而這些信息是關于其包括原始版本的系統建模和與轉換項一起使用的轉換工具,被包括的用戶注釋的出處﹑日期﹑時間﹑人員和引出的位置.這個信息被認為是一個BCT.當DSEE構建一個系統時,會為系統中每一個組件計算需要得到的BCT數。DSEE在對象池中查找來看生成的對象和所需的一個已存在的對象是否匹配。如果匹配,它就被用;如果不匹配,它被構建。因此,任何時候一個用戶需要一個特殊的生成對象時(或是一個一致的對象)。DSEE能夠從對象池中再使用從而消除了生成這個對象的需要。用戶不需要知道生成現存對象要做的;DSEE作了全部的檢測。一旦池中的對象成為死亡的(基于一階段無作用)DSEE能夠刪除他們,從而釋放空間。這就節省了大量的編譯時所需的時間和空間,再使用的工作已經在進行。DSEE也提供了各種不同的對象池,例如從源文件中得到的對象仍是對提供給特殊用戶的庫的檢測。結果,CM系統使再生成組件的需求最佳化且最大數量的分享生成對象。

    3.4.5        屬性

    Adele系統通過用一個有數據建模能力的關系數據庫實體來普及庫和系統的建模。產品在一個數據模型方面被描述,Adele基于那個模型進行它的運算。產品的組件被描繪為擁有屬性和關系的數據庫對象。屬性和每一對象及那個對象的特性相關。屬性有一個名字和一個值。一個例子是名為delta的用于描繪對象是否存在于ASCΠ表中從而能夠被理解的屬性;它可以有一個為真或為假的值。有兩種屬性被區別:預先確定和用戶確定。前者被Adele管理而后者被用戶定義和聲明。一個預先確定,特殊的屬性是“類型“。這個命令屬性是強制的且對每一對象都是不可變的。它在Adele中表現為主要的的CM實體(例如對象的組成,文獻,修改和元素)。關系在對象間獨立定義,例如對象B源自對象A。用戶能夠按照對象的特性而不是按照一系列對象的特殊版本來描述一個配置。Adele例示和構建一個配置用來選取規則和強制圍繞屬性和關系為中心。用戶能夠按照所需特性對一產品定義任何結構。從而用戶能在一經由其特性的抽象的高水平描述一產品,其優于按照冗長的文件列表的組成來描述。

    3.4.6        一致性維護

    CMA提供了配置的釋義和確認,其是基于一個對于產品的抽象描述也是基于有關形成配置的組件的使用用法成功或不成功的信息。數據建模便利的包括預先確定用戶所描述的配置的屬性和關系;谀切⿲傩院完P系的語義,CMA能夠決定一配置(就是一系列組件的實例)是否是可用的。成為可用的,一配置必須是完全的,無歧義的,一致的和沒有歪斜的版本。這意味著一個配置必須有全部組件所需的實例組成且不必包括多重的一個組件的實例。屬性的等級描述了象約束,類型和版本這樣的用戶定義的特性。關系的等級表現了各種依賴性,例如,合理性,兼容性,構成,實例和可繼承的獨立性。每次一個新的配置被組建,CMA就利用經由先前對形成配置的組件的使用在數據庫中積累的信息。這樣,CMA預見配置是否可用。這種新的配置為了將來分析可用性而加入數據庫。從而,用戶能夠依靠系統來識別任何不一致以及在構建和重復使用用配置時保護此不一致。

    3.5 團隊概念

    描述工作在一個工程項目上的軟件工程團隊間的獨立、合作、同步的術語是工作區,透明檢查和協調。描述如下:

    3.5.1        工作空間

    工作空間為開發人員提供獨立的工作空間。

    在“形狀”中的工作空間是被設計用來防止用戶之間的相互干擾。它提供了在配置管理下的能在可調對象上持續的工作空間。工作空間是通過版本狀態模型來獲得的。這就意味著屬性“狀態”是和構件的版本相連系的。依靠那種狀態(例如狀態“忙”或“凍結”),構件或者被認為是一個私有的工作區或者被認為是一個公有的庫!懊Α睒嫾强烧{的并且不能被其他人所使用,象“凍結”就是一個對公共使用來說能獲得的但不可調的例子。構件被提交給公共庫的同時使得它們在被適當的用戶證明后,對公共用途來說是可獲得的。在效力上,工作區提供工作的獨立性且建立在一個全局的、長期的為不可調對象的庫和一個為可調對象且私有的短期的庫之間的區別。

    3.5.2        透明視圖

    透明視圖提供從主配置庫到工作區的訪問機制,該機制具有防止非法存取的功能。

    軟件管理系統通過使工作區成為一個透明(清晰)的對象和提供在那個工作區的庫的透明檢查來增強了工作區的術語。這就意味著僅僅用戶感興趣的文件版本能在工作區中看到,所有其他的版本都不可見(盡管它們在物理上是存在的)。例如,任何對最新公有版本的變化都不需在工作區里顯示出來,用戶從公有變化中分離出來,并且工作區提供給用戶一個特定庫的外表。相關工作區版本計數的版本控制提供在工作區中。新版本是私有的并且在從工作區中釋放出來之前是不可能被公共用戶所見的。一個配置從公有庫中檢測出來提供給工作區。用戶訪問分配給自己的工作區。工作區里的組件有效地屬于那個工作區而非一個用戶。僅僅在那個工作區已登記的用戶才能改變配置,且僅有那個工作區的構件能被訪問?偟膩碚f透明檢查通過防止對一個配置的非授權訪問而提供了一個檢查機制。

    3.5.3        協調控制

    協調控制協調開發組成員對同一配置項的修改。

    網絡軟件環境(NSE)[12]協調控制代表了一個工作協調單元。它反應了工程的結構并且支持工作的獨立性、用戶間的相互影響和合并變化。一個協調包含一個環境和一系列命令。環境提供了類似于工作區和透明檢查的術語。它顯示了用來存儲資源和派生對象的目錄結構。那些命令,例如“獲得”、“退后”、“重新同步”和“解決”,在不同環境中提供相互活動。它們代表了用來協調和同步用戶間活動的協議,也代表了實際變化的通信。用戶獨立地工作在他們自己的環境里,改變相同的或不同的配置。用戶用配置的新版本來更新庫。網絡軟件環境支持將變化合并到庫里。但是它檢查什么已存在于庫里(可能被其他用戶放置在那兒)而且不和正在進行的變化產生沖突。假如有沖突,網絡軟件環境提示用戶注意合并問題,同時提供減少沖突的幫助。對于任何庫的變化,用戶能請求進入他們自己的工作區?偠灾,協調同步和協作團隊們改變工程產品的相同或不同部份。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>