軟體開發的基礎知識[1]

來源:互聯網
上載者:User
(一)軟體開發具體的內容是:需求、設計、編程和測試!

      需求:不僅僅是使用者需求,應該是開發中遇到的所有的需求。比如,你首先要知道做這個項目是為瞭解決什麼問題;測試案例中應該輸入什麼資料......為了清楚地知道這些需求,你經常要和客戶、專案經理等交流。

      設計:編碼前,肯定有個計劃告訴你要做什麼,結構是怎樣等等。你一定要按照這個來做,否則可能會一團糟。

      編程:如果在項目截止日,你的程式不能跑起來或達不到客戶的要求,你就拿不到錢。

      測試:目的是讓你知道,什麼時候算是完成了。如果你聰明,你就應該先寫測試,這樣可以及時知道你是否真地完成了。否則,你經常會不知道,到底有哪些功能是真正完成了,離預期目標還差多遠。

(二)軟體開發中,客戶和開發人員都有自己的基本權利和義務。

客戶:
  定義每個使用者需求的商業優先順序;
  制訂總體計劃,包括用多少投資、經過多長時間、達到什麼目的;
  在項目開發過程中的每個工作周,都能讓投資獲得最大的收益;
  通過重複運行你所指定的功能測試,準確地掌握項目進展情況;
  能隨時改變需求、功能或優先順序,同時避免昂貴的再投資;能夠根據各種變化及時調整專案計劃;
  能夠隨時取消項目;項目取消時,以前的開發工作不是一堆垃圾,已開發完的功能是合乎要求的,進行中或未完成的的工作則應該是不難接手的。

開發人員:
  知道要做什麼,以及要優先做什麼;
  工作有效率;
  有問題或困難時,能得到客戶、同事、上級的回答或協助;
  對工作做評估,並根據周圍情況的變化及時重新評估;
  積極承擔工作,而不是消極接受分配;
  一周40小時工作制,不加班。

(三) 軟體開發過程可以包括以下6個階段:

計劃

      對所要解決的問題進行總體定義,包括瞭解使用者的要求及現實環境,從技術、經濟和社會因素等3個方面研究並論證本軟體項目的可行性,編寫可行性研究報告,探討問題的解決方案,並對可供使用的資源(如電腦硬體、系統軟體、人力等)成本,可取得的效益和開發進度作出估計。制訂完成開發工作單位的實施計劃。

分析

      軟體需求分析就是回答做什麼的問題。它是一個對使用者的需求進行去粗取精、去偽存真、正確理解,然後把它用軟體工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和使用者一起確定要解決的問題,建立軟體的邏輯模型,編寫需求規格說明書文檔並最終得到使用者的認可。需求分析的主要方法有結構化分析方法、資料流程圖和資料字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟體系統的體繫結構,並將整個系統分解成若干個子系統或模組,定義子系統或模組間的介面關係,對各子系統進行具體設計定義,編寫軟體概要設計和詳細設計說明書,資料庫或資料結構設計說明書,組裝測試計劃。

設計

      軟體設計可以分為概要設計和詳細設計兩個階段。實際上軟體設計的主要任務就是將軟體分解成模組是指能實現某個功能的資料和程式說明、可執行程式的程式單元。可以是一個函數、過程、子程式、一段帶有程式說明的獨立的程式和資料,也可以是可組合、可分解和可更換的功能單元。模組,然後進行模組設計。概要設計就是結構設計,其主要目標就是給出軟體的模組結構,用軟體結構圖表示。詳細設計的首要任務就是設計模組的程式流程、演算法和資料結構,次要任務就是設計資料庫,常用方法還是結構化程式設計方法。

編碼

      軟體編碼是指把軟體設計轉換成電腦可以接受的程式,即寫成以某一程式設計語言表示的"來源程式清單"。充分瞭解軟體開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟體產品的開發品質。

      當前軟體開發中除在專用場合,已經很少使用二十世紀80年代的進階語言了,取而代之的是物件導向的開發語言。而且物件導向的開發語言和開發環境大都合為一體,大大提高了開發的速度。

測試

      軟體測試的目的是以較小的代價發現儘可能多的錯誤。要實現這個目標的關鍵在於設計一套出色的測試案例(測試資料和預期的輸出結果組成了測試案例)。如何才能設計出一套出色的測試案例,關鍵在於理解測試方法。不同的測試方法有不同的測試案例設計方法。兩種常用的測試方法是白盒法測試對象是來源程式,依據的是程式內部的的邏輯結構來發現軟體的編程錯誤、結構錯誤和資料錯誤。結構錯誤包括邏輯、資料流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋儘可能多的內部程式邏輯結果。白盒法和黑盒法依據的是軟體的功能或軟體行為描述,發現軟體的介面、功能和結構錯誤。其中介面錯誤包括內部/外部介面、資源管理、整合化以及系統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模組輸出和輸入介面。黑盒法。

維護

      維護是旨在已完成對軟體的研製(分析、設計、編碼和測試)工作並交付使用以後,對軟體產品所進行的一些軟體工程的活動。即根據軟體啟動並執行情況,對軟體進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟體問題報告、軟體修改報告。

      一個中等規模的軟體,如果研製階段需要一年至二年的時間,在它投入使用以後,其運行或工作時間可能持續五年至十年。那麼它的維護階段也是啟動並執行這五年至十年期間。在這段時間,人們幾乎需要著手解決研製階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟體維護工作,不僅能排除障礙,使軟體能正常工作,而且還可以使它擴充功能,提高效能,為使用者帶來明顯的經濟效益。然而遺憾的是,對軟體維護工作的重視往往遠不如對軟體研製工作的重視。而事實上,和軟體研製工作相比,軟體維護的工作量和成本都要大得多。

      在實際開發過程中,軟體開發並不是從第一步進行到最後一步,而是在任何階段,在進入下一階段前一般都有一步或幾步的回溯。在測試過程中的問題可能要求修改設計,使用者可能會提出一些需要來修改需求說明書等。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.