<ruby id="jnjjj"><b id="jnjjj"></b></ruby>

    <p id="jnjjj"><cite id="jnjjj"><dfn id="jnjjj"></dfn></cite></p>

    <ruby id="jnjjj"></ruby>

    <p id="jnjjj"></p>
        <del id="jnjjj"><mark id="jnjjj"></mark></del>
        <del id="jnjjj"><mark id="jnjjj"><progress id="jnjjj"></progress></mark></del>

          <address id="jnjjj"><pre id="jnjjj"></pre></address>

              <ruby id="jnjjj"><mark id="jnjjj"></mark></ruby>

              <pre id="jnjjj"></pre>
                <p id="jnjjj"></p>
                <pre id="jnjjj"><mark id="jnjjj"><thead id="jnjjj"></thead></mark></pre><output id="jnjjj"><cite id="jnjjj"></cite></output><p id="jnjjj"><mark id="jnjjj"></mark></p>

                <pre id="jnjjj"></pre>
                  <p id="jnjjj"></p>
                      當前位置:小豆培訓網 > 電腦IT > 程序開發

                      如何編寫軟件架構文檔,如何編寫軟件開發文檔

                      分類:程序開發 地區:云南 時間: 閱讀: 修改

                      如何編寫軟件架構文檔,如何編寫軟件開發文檔 今天小豆培訓網學歷教育小編就來給大家簡單介紹一下。

                      如何編寫軟件架構文檔,如何編寫軟件開發文檔

                      作者 / 以碼為梯

                      排版 / 以碼為梯

                      文章字數 / 1996

                      如何成為架構師系列文章(譯文)的第五篇,歡迎轉發、評論、收藏

                      在確認了軟件架構中的利益相關者,功能性和系統架構中的非功能性需求有哪些后,我們需要將這些內容用文檔記錄下來。這也是為什么我們要在這篇文章中討論軟件架構中的文檔的原因。

                      在深入討論之前,我首先要說明我們認為的架構文檔是什么樣的。不幸的是,編寫架構文檔沒有可以遵循的標準。而且,每個公司都有自己的一套關于文檔編寫的規范。

                      在這篇文章中,架構文檔指的是系統的頂層描述,展示整個架構工作的基本原理。架構文檔的主要目的是關聯功能性和非功能性需求。

                      我們為什么需要架構文檔?

                      在描述如何編寫架構文檔之前,我們需要理解為什么需要這些文檔。架構文檔的三個主要目的如下:

                      知識分享(Knowledge Share):適合項目中不同的模塊的成員以及新加入的同事了解項目。交流(Communication):文檔是不同的利益相關者交流的起點。實際上,架構文檔對將架構師的思想傳遞給開發人員有很大的幫助。分析(Analyse):文檔也是將來對項目進行審查的起點。

                      對于任何文檔,無論是項目文檔,開發文檔還是架構文檔,最值得關注的問題是,創建并維護文檔是否值得。對于這個問題可以通過下面的簡單公式來表示:

                      (Cx — Cy) > Cdiff

                      Cx代表沒有文檔時項目所需要的成本

                      Cy表示項目有文檔時的成本

                      Cdiff表示管理文檔的成本

                      使用以上的公式可以很容易回答是否該創建文檔,創建什么類型的文檔,以什么樣的頻率更新文檔等等類似的問題。這也可以回答對于小的項目,短期考慮或長期考慮情況下是否需要文檔這樣的問題。

                      但是,一個沒有文檔的項目怎么會比一個有文檔的項目成本更高呢?想象一下你有一個200人的團隊,持續五年,每個開發者在一個項目上的時長為兩年。如果沒有文檔,即使是做很小的改動也是非常混亂的。下面會給出如何維護文檔的一些小建議。

                      圖表的類型

                      讓我們考慮一下可以在文檔中使用的架構方案和圖表類型:

                      非正式的

                      這是最常見的一種圖表類型,可以以任何形式展示。通常是用于利益相關者之間交流的最方便快捷的方式。這種非正式的圖表的缺點是,不同理解程度的人,看到的圖都是一樣的,所以需要添加很詳細的說明。

                      如何編寫軟件架構文檔,如何編寫軟件開發文檔

                      Informal diagram example

                      半正式的

                      它是具有一定創建規則的標準圖形方案或圖表。它的缺點是對于每個元素沒

                      有提供完整的描述。因此,想看懂這種圖需要特定圖表的語義知識。此外,還需要額外的軟件來完成圖表的創建,UML就是屬于這種類型的圖表。

                      如何編寫軟件架構文檔,如何編寫軟件開發文檔

                      Semiformal diagram example (C4 deployment diagram example )

                      正式的

                      它在某種形式上是一種描述架構的語言,允許直接從創建的架構方案生成代碼,它更適用于硬件系統工程。缺點之一是:它需要特殊的軟件和知識,用于編寫和理解。

                      編寫架構文檔的一些建議

                      在工作中,我經常會寫文檔并維護它。接下來我分享一些編寫架構文檔的基本原則:

                      避免重復

                      DRY(Don’t Repeat Yourself)原則無論是在編碼還是在編寫文檔中都適用,在編寫文檔時,遇到重復的內容,使用鏈接來避免重復內容。

                      意識到文檔是為誰而寫的

                      這有可能是重要的原則。給開發人員編寫的文檔跟給高級管理者的文檔肯定是不一樣的。因此在編寫文檔時需要弄清楚文檔為誰而寫,然后了解這些人在你的文檔中需要看到什么以及他們試圖找到什么答案。

                      避免歧義

                      這是文檔編寫中經常遇到的問題。比如,你提出一個問題的解決方案并以圖表的方式記錄了它。你理解它,知曉它的上下文,但是看文檔的人可能不清楚上下文,那么這種情況下對你來說一清二楚的內容卻會對他們造成混亂。因此,在寫文檔時你應該提供圖表的上下文作為描述。

                      此外,還可以嘗試一些標準化方法。例如,我非常喜歡使用C4標準來描述我的解決方案,因為這種方式允許你先在頂層對系統進行描述,然后深入到組件、容器和部署的細節,并且對于每個元素的描述都有合理正式的標準。

                      保持相關性

                      在這種情況下,您應該在花費的時間和相關性之間找到折衷方案。這里你依據本文最開始那個簡單公式來做判斷。如果維護一個項目的文檔比項目沒有文檔花費的成本更小,那編寫并維護文檔就是一件正確的事情。

                      評審文檔

                      跟代碼一樣,文檔也需要定期評審。在評審的過程中,很可能會找到已失去相關性且值得更新的地方。另外,盡量將文檔分享給軟件架構中的利益相關者并尋求他們的觀點,這在剛剛開始編寫架構文檔時尤其有用。

                      畫圖常用的工具

                      工欲善其事必先利其器,想編寫好的架構文檔,一些畫圖工具肯定是少不了的,接下來我就分享一些常用的畫圖工具給大家:

                      MS Visio

                      你可以使用它繪制任何的圖,它的缺點是不能在Mac上運行,而且還是收費的。

                      Omnigraffle

                      這個軟件是為Mac用戶提供的,但是是收費的。

                      Enterprise Architect(EA)

                      這是一個收費軟件,但是有30天的免費試用。

                      draw.io

                      我最喜歡的一個在線繪圖工具。它支持從C4到AWS規范的第三方插件。你可以在任何平臺上做任何你想做的事,非常適合作為創建非正式圖表的白板工具。最關鍵的是,它是免費的。

                      processon

                      這也是一個在線的繪圖網站。

                      大家對于編寫架構設計文檔有什么好的想法或者有一些好用的畫圖工具歡迎評論交流。

                      1、delphi程序開發

                      delphi是使用pascal語言做的rad開發工具

                      2、常見的程序設計有哪些結構

                      順序結構、循環結構和選擇結構。順序結構是最簡單的一種,代碼是從上往下一行一行解析的。循環結構包含for,while,dowhile三種,其中for用于已知循環次數的情況,while和dowhile用于不知道循環次數的情況。選擇結構包含if和switch兩種,if用于判斷條件為范圍的情況,switch用于判斷條件為離散值的情況。

                      3、系統開發框架有哪些

                      系統開發框架有:

                      1、SpringMVC&SpringBoot

                      SpringMVC應該最常用的。SpringWebMVC框架(簡稱SpringMVC)是一個豐富的模型視圖控制Web框架。使用DispatcherServlet發布請求處理,他使用可配置的處理程序映射,視圖解析和主題解決方案。SpringMVC用戶似乎都商量好的,大約40%的開發都使用Spring。

                      2、Grails

                      知名Java虛擬機Web應用程序開源框架。Grails是一個開源、全棧JVMWeb開發框架。吸取Groovy語言精華,對于Java虛擬機來說是一個敏捷和動態語言,為開發者提供一個高效開發經驗。

                      3、Spring

                      SpringFramework是一個開源的Java/JavaEE全功能棧(full-stack)的應用程序框架,以Apache許可證形式發布,也有.NET平臺上的移植版本。

                      4、JFinal快速開發平臺EOVA

                      基于JFinal開發,首創JFinal快速開發平臺,JFinal最佳實踐!

                      5、JavaEE應用基礎平臺AOS

                      AOS平臺簡介AOS應用基礎平臺基于JavaEE技術體系,以“標準功能可復用、通用模塊可配置、行業需求快速開發、異構系統無縫集成”為目標,為軟件開發團隊提供高效可控、隨需應變、快速實現業務需求的全棧式技術解決方案。

                      6、SpringScala

                      SpringScala項目的目的是為了簡化在Scala應用中使用Spring框架。

                      擴展資料:

                      計算機系統開發是根據計算機用戶對應用系統的技術要求,分析原系統,設計新的計算機系統的內部結構并加以實現和維護的過程。計算機系統開發也是一個管理科學問題,自始至終貫穿著人員組織、工程化、標準化等管理工作,而且在很大程度上影響系統的性能和開發工作的效率。

                      計算機系統可信性是描述系統所提交服務的性質的一種定性量度,用于表征系統可提交用戶有足夠理由依賴的期望服務能力。所謂系統提交的服務是指所有由用戶察覺到的系統行為。可信性作為一種定性量度需根據不同應用來對其屬性具體化或定量化。典型的可信性定性/定量量度包括:可靠度、可用度、安全度。可維修度、可測性、完整性等。

                      參考資料:百度百科-計算機系統開發

                      4、用什么工具畫軟件架構設計圖?

                      1、Microsoft Office VisioOffice Visio 是office軟件系列中的負責繪制流程圖和示意圖的軟件,是一款便于IT和商務人員就復雜信息、系統和流程進行可視化處理、分析和交流的軟件。

                      2、ProcessOn是一款網頁版的在線作圖工具,優點是無需下載安裝、破解這些破事,同時支持在線協作,可以多人同時對一個文件協作編輯,而且上手比較容易,它提供很多流程圖模版,可以方便的畫出流程圖、思維導圖、原型圖、UML圖。

                      3、OmniGraffleOmniGraffle可以用來繪制圖表,流程圖,組織結構圖以及插圖,也可以用來組織頭腦中思考的信息,組織頭腦風暴的結果,繪制心智圖,作為樣式管理器,或設計網頁或PDF文檔的原型。只能于運行在Mac OS X和iPad平臺之上。

                      4、億圖是一款基于矢量的繪圖工具,包含大量的事例庫和模板庫。可以很方便的繪制各種專業的業務流程圖、組織結構圖、商業圖表、程序流程圖、數據流程圖、工程管理圖、軟件設計圖、網絡拓撲圖等等。

                      5、Axure RPAxure RP是美國Axure Software Solution公司旗艦產品,是一個專業的快速原型設計工具,讓負責定義需求和規格、設計功能和界面的專家能夠快速創建應用軟件或Web網站的線框圖、流程圖、原型和規格說明文檔。

                      注意:信息由用戶發布,其真實性、合法性由發布人負責,請仔細甄別,注意防騙!如違法/虛假/侵權請:舉報

                      咨詢留言

                      標簽

                      免費領取資料

                      返回頂部

                        <ruby id="jnjjj"><b id="jnjjj"></b></ruby>

                        <p id="jnjjj"><cite id="jnjjj"><dfn id="jnjjj"></dfn></cite></p>

                        <ruby id="jnjjj"></ruby>

                        <p id="jnjjj"></p>
                            <del id="jnjjj"><mark id="jnjjj"></mark></del>
                            <del id="jnjjj"><mark id="jnjjj"><progress id="jnjjj"></progress></mark></del>

                              <address id="jnjjj"><pre id="jnjjj"></pre></address>

                                  <ruby id="jnjjj"><mark id="jnjjj"></mark></ruby>

                                  <pre id="jnjjj"></pre>
                                    <p id="jnjjj"></p>
                                    <pre id="jnjjj"><mark id="jnjjj"><thead id="jnjjj"></thead></mark></pre><output id="jnjjj"><cite id="jnjjj"></cite></output><p id="jnjjj"><mark id="jnjjj"></mark></p>

                                    <pre id="jnjjj"></pre>
                                      <p id="jnjjj"></p>
                                          伦理电影