<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 9.2 原型法 我們在 4.3 中介紹了自頂向下逐步求精的程序設計方法。自頂向下設計是非常強大的程 序設計技術,但它也有不適用的場合。 自頂向下設計的第一步是頂層設計,這需要設計者對問題的全局有清晰的認識。萬一要 解決的問題非常復雜,或者用戶需求不是很完整、清晰,這時頂層設計就非常困難。另外, 設計者有時候會卡在自頂向下層次中的某一層,這就導致下層的精化無法繼續,從而影響整 個程序的開發。即便前面這兩個問題都不存在,自頂向下設計也存在開發周期過長、工作量 太大的缺點。 另一種程序設計方法是原型法(prototyping)。這種方法的思想是,先開發一個簡單版 本,即功能少、界面簡單的版本,然后再對這個簡單版本逐步進行改善(添加或修改功能), 直至完全滿足用戶需求。初始精簡版程序稱為原型(prototype)。應用原型法來進行軟件開 發的步驟大致如下: (1)確認基本需求; (2)創建原型; (3)向用戶演示或交付用戶試用,獲得反饋意見; (4)改善原型;回到(3),重復(3)、(4),直至用戶最終認可。 可見,原型技術不是對整個問題按照“設計、實現、測試”的過程來開發,而是先按此 過程創建一個原型,然后根據用戶反饋再重復此過程來改善原型。這樣,通過許多“設計- 實現-測試”小循環,原型逐步得到改善和擴展,直至成為最終產品。因此原型法也稱為“螺 旋式開發”。原型法適合于大型程序開發中需求分析難以一次完成的場合,也常用在程序用 戶界面設計領域。 原型法開發有很多優點,例如:用戶可以通過實際使用的體驗來評價軟件產品是否合意, 而不是僅憑開發者口頭的描述;開發者和用戶可以在開發過程中發現以前沒有考慮到的需求 或問題;開發者可以在產品開發的早期就獲得用戶反饋,避免在開發后期來修改設計,因為 越往后,修改的代價就越大。 原型法開發中的原型可以有兩種處理方法。一種方法是,一開始構造的原型就是最終產 品的核心,后續工作都是對原型的改善,通過不斷的積累和修改最后得到符合用戶需求的產 品。開發過程中,原型盡管功能不完善,但一直是可用的,甚至可以作為在最終產品交付前 的替代產品。另一種方法是,初始創建的原型只是作為與用戶進行交互的工具,通過不斷展 示給用戶看而獲得反饋并改進。等到用戶認可原型,該原型即被丟棄,開發者將基于用戶已 經確認的需求開始正式開發產品。這種做法稱為“快速原型法”,因為其主要目的是盡快構 造系統模型,強調的是開發速度。 我們在 9.1.3 中就采用了原型法來設計實現乒乓球比賽的模擬程序。 解決問題的關鍵是模擬乒乓球比賽,而比賽的最基本動作是打一個回合及記分,因此我們一開始就考慮如何模擬一個回合的比賽并給勝方得分。即: ``` if random() < prob: pointA = pointA + 1 else: pointB = pointB + 1 ``` 經過測試,可以確認這段代碼確實能夠模擬具有特定得分概率的球員之間的比賽。在此 基礎上,根據實際乒乓球比賽的規則要求,我們將回合擴展到局,又擴展到一場 3 局 2 勝的 比賽。在設計的前期階段,我們做了很多簡化,比如直接假設球員的得分概率為 0.55,直接 規定采用 21 分一局的規則等等。隨著螺旋式開發的進展,程序功能越來越完善,所有被簡 化的東西最終都會以完善的形式實現。總結這個開發過程,我們的模擬程序大致經歷了如下 階段: 階段 1:建立原型,能進行回合比賽并為勝方記分; 階段 2:擴展為能進行一局比賽; 階段 3:擴展為能進行 3 局 2 勝的比賽; 階段 4:球員的得分概率、比賽次數改為由用戶輸入; 階段 5:添加結果分析,輸出分析結果。 通過原型法來編程序,對初學程序設計的人來說是很合適的,因為可以從原型獲得最終 程序的感性認識,并進而理解自己到底要寫什么樣的程序。 要指出的是,螺旋式開發并不是用來取代自頂向下設計的,這兩種設計方法是互為補充 的關系。例如,對于大型的復雜程序,如果用原型法,可能原型本身也比較復雜,這時就可 以采用自頂向下設計來創建原型。好的設計者應該根據情況選用多種設計方法,這一切都要 通過實踐來學習掌握。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看