<b id="frbqs"></b>

        <b id="frbqs"><form id="frbqs"></form></b>
      1. <rt id="frbqs"><optgroup id="frbqs"></optgroup></rt>
        1. <b id="frbqs"><form id="frbqs"><delect id="frbqs"></delect></form></b><b id="frbqs"></b>
          <rt id="frbqs"><optgroup id="frbqs"><acronym id="frbqs"></acronym></optgroup></rt>
          <tt id="frbqs"><noscript id="frbqs"><var id="frbqs"></var></noscript></tt>
        2. 軟件系統開發的藝術:可靠性,可用性

          admin 系統開發 2019-02-22 17:28 0
           
            抽象
           
            生產對可靠性,可用性,維護和性能(RAMP)有特定要求的軟件系統是軟件工程師在開發周期各個層面面臨的最大挑戰之一。大多數需求規范工具比非功能性RAMP要求更適合功能需求。RAMP要求未指定,在稍后階段指定,或者最好模糊地指定,這使得要求規范更像是一門藝術而非科學。此外,測試RAMP要求的成本通常是令人望而卻步的。在許多情況下,很難測試某些RAMP規范,例如可維護性,可靠性和高可用性。即使是性能測試也經常依賴于工作負載,因此在實際系統工作負載期間,在測試時或系統調試時提供的性能數可能無法實現。使主題更加困難的原因是缺乏一套明確的規則或實踐,如果嚴格遵守這些規則或實踐,則會產生具有可接受的RAMP規范的系統。因此,直到RAMP軟件系統的設計成為一個很好理解的主題,這種系統的開發將是一門藝術,開發這樣的系統的工具和能力將取決于要開發的特定系統,環境在它將運行,以及部署的專業知識和知識水平。就像同一位藝術家制作的兩件藝術品不相同,
           
            本文將通過幾個案例研究,重點介紹RAMP軟件系統生產中涉及的范例。目的是促進研究人員的興趣,為具有明確定義的RAMP質量的SW系統的生產制定更具體的指導方針。
           
            生產對可靠性,可用性,維護和性能(RAMP)有特定要求的軟件系統是軟件工程師在開發周期各個層面面臨的最大挑戰之一。最需求規范的工具,例如,將Accent中,Nu Thena,SES,理性,更適合于比非功能性要求的RAMP功能要求[ 1,2,3,4,5 ]。RAMP要求未指定,在后一階段中指定,或者在最好的隱約指定,這使得要求的規格而不是科學[更多的藝術6,7,8]。此外,測試RAMP要求的成本通常是令人望而卻步的。在許多情況下,很難測試某些RAMP規范,例如可維護性,可靠性和高可用性。即使是性能測試也經常依賴于工作負載,因此在實際系統工作負載期間,在測試時或系統調試時提供的性能數可能無法實現。使主題更加困難的原因是缺乏一套明確的規則或實踐,如果嚴格遵守這些規則或實踐,則會產生具有可接受的RAMP規范的系統。因此,直到RAMP軟件系統的設計成為一個很好理解的主題,這種系統的開發將是一門藝術,開發這種系統的工具和能力將取決于要開發的特定系統,8 ]。就像同一藝術家制作的兩件藝術品不相同,沒有兩個軟件系統具有相同的RAMP特性。軟件系統的設計和開發基本上比它的編程階段更復雜,Donald Knuth在他的經典著作“計算機編程藝術”[ 9 ]中將其視為藝術。
           
            關于軟件生產周期中的藝術或科學的構成,文獻中有相當多的爭論。這在攜帶辯論SW發展是否是一門藝術或工程[幾個參數是顯而易見的10,11 ]。在互聯網上一篇名為“軟件開發:藝術或科學”的帖子中,來自休斯頓大學的Sammy Larbi寫道:“關于軟件專業是否是一個看似永無止境的辯論(或者可能是無關聯的對話和誤解)科學或藝術,或明確是否“做軟件”實際上是一門工程學科[ 12,13 ]”。
           
            在一篇題為“軟件開發的藝術,科學和工程”[ 14 ]的文章中,Steve McConnell認為軟件開發是藝術,科學,工藝和許多其他事物。
           
            Naveen Gunti [ 15 ]研究了在SW工程技術背景下使用功能點分析的好處。羅伯特·格拉斯在他的著作“軟件沖突2:軟件開發的藝術與科學”中同意早期的研究結果,即SW設計是一種出現在人類心靈中的模型[ 16 ],類似于一件藝術作品出現在一個人的心靈中。藝術家。SUN Microsystems的杰出工程師Jim Waldo [ 17 ]寫道:“軟件工程與其他工程類似,不像我們大多數人想的那樣。藝術有一個方面我們所做的,不是在學校學習,而是通過尋找大師和服務學徒“。
           
            本文的目的不是要爭論軟件開發是一門藝術還是科學,或者是軟件開發周期中的科學或藝術。相反,本文將通過幾個案例研究關注RAMP軟件系統生產中涉及的范例。目的是促進研究人員的興趣,為具有明確定義的RAMP質量的SW系統的生產制定更具體的指導方針。在性能范例部分,我們將討論性能范例作為軟件設計的主要部分之一??煽啃苑独糠謱⒔榻B可靠性和可用性范例??删S護性問題將在討論部分討論。部分結論將闡述為RAMP軟件系統開發制定指南和最佳實踐的必要性,其中提出了RAM的一般框架。結論部分在討論部分討論。
           
            案例1:初始化問題
           
            故障恢復是與可用性相關的重要因素之一。故障恢復涉及恢復模式,軟件系統開發的藝術:可靠性,可用性恢復時間和恢復成功率。在完全系統故障之后,恢復模式之一是重新啟動故障系統和/或同一系統上的應用程序。為了實現的可用性一定水平(5個NINES例如)[ 22,23,24,25,26 ],該系統必須(重新啟動,初始化,恢復檢查點)在一定的時間限制內被重新啟動。使用諸如馬爾可夫過程分析[ 27 ]或隨機活動網絡模擬[ 28 ] 等技術確定最小可接受恢復時間]。這是基于另一個更高級別要求(例如,可用性要求)確定性能要求的情況。
           
            在分析過程中,恢復時間根據每個子任務消耗的時間進一步分解為子任務。然后,如果可能的話,使用性能預算來估計每個子任務的潛在增強。在此上下文中,性能預算定義了性能改進的限制。在我們的示例中,占用預算時間大部分的一些子任務包括啟動映像加載時間,內核初始化時間和有效負載組件初始化時間。必須確定是否可以跳過任何子任務以節省時間并加快初始化過程。例如,當系統不太忙時,可以在初始化時跳過內存測試,以便稍后執行。 軟件系統開發可靠性,軟件系統開發可用性.
           
            在我們的示例中,我們將注意力集中在設備啟動映像的加載時間上; 假設引導映像不駐留在設備上,就像無線基礎設施設備中的情況一樣。在使用ftp協議評估啟動映像加載時間時,注意到ftp加載的速度取決于文件大小以及并發ftp加載會話的數量。我們評估了兩個版本的ftp協議。我們測量了不同文件大小和不同并行負載的加載時間。圖  2表明使用ftp加載協議的版本2且文件大小為11.6 MB時,加載時間最短。當并行執行4個下載會話時,可以獲得最佳結果。我們觀察到,增加超過4的開放ftp會話的數量將增加總加載時間。這是一個示例,其中性能改進需要仔細選擇協議和參數設置。

          分享:

          發表評論

          評論列表(條)

            在线视频欧美视频国产日韩