需求分析
1.相關系統分析員向用戶初步了解需求,然後用相關的工具軟件列出要開發的系統的大功能模塊,每個大功能模塊有哪些小功能模塊,對於有些需求比較明確相關的界面時,在這壹步裏面可以初步定義好少量的界面。
2.系統分析員深入了解和分析需求,根據自己的經驗和需求用WORD或相關的工具再做出壹份文檔系統的功能需求文檔。這次的文檔會清楚列出系統大致的大功能模塊,大功能模塊有哪些小功能模塊,並且還列出相關的界面和界面功能。
3.系統分析員向用戶再次確認需求。
概要設計
首先,開發者需要對軟件系統進行概要設計,即系統設計。概要設計需要對軟件系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模塊劃分、功能分配、接口設計、運行設計、數據結構設計和出錯處理設計等,為軟件的詳細設計提供基礎。[2]
詳細設計
在概要設計的基礎上,開發者需要進行軟件系統的詳細設計。在詳細設計中,描述實現具體模塊所涉及到的主要算法、數據結構、類的層次結構及調用關系,需要說明軟件系統各個層次中的每壹個程序(每個模塊或子程序)的設計考慮,以便進行編碼和測試。應當保證軟件的需求完全分配給整個軟件。詳細設計應當足夠詳細,能夠根據詳細設計報告進行編碼。
編碼
在軟件編碼階段,開發者根據《軟件系統詳細設計報告》中對數據結構、算法分析和模塊實現等方面的設計要求,開始具體的編寫程序工作,分別實現各模塊的功能,從而實現對目標系統的功能、性能、接口、界面等方面的要求。在規範化的研發流程中,編碼工作在整個項目流程裏最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設計過程完成的好,編碼效率就會極大提高,編碼時不同模塊之間的進度協調和協作是最需要小心的,也許壹個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發過程中都出現過。編碼時的相互溝通和應急的解決手段都是相當重要的,對於程序員而言,bug永遠存在,妳必須永遠面對這個問題!
測試
測試編寫好的系統。交給用戶使用,用戶使用後壹個壹個的確認每個功能。軟件測試有很多種:按照測試執行方,可以分為內部測試和外部測試;按照測試範圍,可以分為模塊測試和整體聯調;按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入範圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋。總之,測試同樣是項目研發中壹個相當重要的步驟,對於壹個大型軟件,3個月到1年的外部測試都是正常的,因為永遠都會有不可預料的問題存在。完成測試後,完成驗收並完成最後的壹些幫助文檔,整體項目才算告壹段落,當然日後少不了升級,修補等等工作,只要不是想通過壹錘子買賣騙錢,就要不停的跟蹤軟件的運營狀況並持續修補升級,直到這個軟件被徹底淘汰為止。
軟件交付
在軟件測試證明軟件達到要求後,軟件開發者應向用戶提交開發的目標安裝程序、數據庫的數據字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方合同約定的產物。
《用戶安裝手冊》應詳細介紹安裝軟件對運行環境的要求、安裝軟件的定義和內容、在客戶端、服務器端及中間件的具體安裝步驟、安裝後的系統配置。
《用戶使用指南》應包括軟件各項功能的使用流程、操作步驟、相應業務介紹、特殊提示和註意事項等方面的內容,在需要時還應舉例說明。
首先第壹步:商務洽談。先了解客戶需求,根據客戶咨詢做出初步方案,客戶核實沒問題後給出報價。客戶確認後前面合同並付意向金。第二步:項目策劃。產品經理對產品策劃設計,原型設計規劃,功能邏輯梳理,項目正式啟動。第三步:UI設計第四部:程序開發第五步:測試第六步:上線最後壹步:後期維護
分析
軟件需求分析就是回答做什麽的問題。它是壹個對用戶的需求進行去粗取精、去偽存真、正確理解,然後把它用軟件工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶壹起確定要解決的問題,建立軟件的邏輯模型,編寫需求規格說明書文檔並最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟件系統的體系結構,並將整個系統分解成若幹個子系統或模塊,定義子系統或模塊間的接口關系,對各子系統進行具體設計定義,編寫軟件概要設計和詳細設計說明書,數據庫或數據結構設計說明書,組裝測試計劃。
設計
軟件設計可以分為概要設計和詳細設計兩個階段。實際上軟件設計的主要任務就是將軟件分解成模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是壹個函數、過程、子程序、壹段帶有程序說明的獨立的程序和數據,也可以是可組合、可分解和可更換的功能單元。模塊,然後進行模塊設計。概要設計就是結構設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、算法和數據結構,次要任務就是設計數據庫,常用方法還是結構化程序設計方法。
編碼
軟件編碼是指把軟件設計轉換成計算機可以接受的程序,即寫成以某壹程序設計語言表示的\"源程序清單\"。充分了解軟件開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟件產品的開發質量。
當前軟件開發中除在專用場合,已經很少使用二十世紀80年代的高級語言了,取而代之的是面向對象的開發語言。而且面向對象的開發語言和開發環境大都合為壹體,大大提高了開發的速度。
測試
軟件測試的目的是以較小的代價發現盡可能多的錯誤。要實現這個目標的關鍵在於設計壹套出色的測試用例(測試數據和預期的輸出結果組成了測試用例)。如何才能設計出壹套出色的測試用例,關鍵在於理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據的是程序內部的的邏輯結構來發現軟件的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。白盒法和黑盒法依據的是軟件的功能或軟件行為描述,發現軟件的接口、功能和結構錯誤。其中接口錯誤包括內部/外部接口、資源管理、集成化以及系統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。黑盒法。
維護
維護是指在已完成對軟件的研制(分析、設計、編碼和測試)工作並交付使用以後,對軟件產品所進行的壹些軟件工程的活動。即根據軟件運行的情況,對軟件進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟件問題報告、軟件修改報告。
壹個中等規模的軟件,如果研制階段需要壹年至二年的時間,在它投入使用以後,其運行或工作時間可能持續五年至十年。那麽它的維護階段也是運行的這五年至十年期間。在這段時間,人們幾乎需要著手解決研制階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟件維護工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴展功能,提高性能,為用戶帶來明顯的經濟效益。然而遺憾的是,對軟件維護工作的重視往往遠不如對軟件研制工作的重視。而事實上,和軟件研制工作相比,軟件維護的工作量和成本都要大得多。
在實際開發過程中,軟件開發並不是從第壹步進行到最後壹步,而是在任何階段,在進入下壹階段前壹般都有壹步或幾步的回溯。在測試過程中的問題可能要求修改設計,用戶可能會提出壹些需要來修改需求說明書等。
軟件開發壹般分為五個階段:
1.問題的定義及規劃
2.需求分析
3.軟件設計
4.程序編碼
5.軟件測試
6.軟件的維護
軟件開發壹般分為五個階段:
1.問題的定義及規劃
此階段是軟件開發與需求放***同討論,主要確定軟件的開發目標及其可行性。
2.需求分析
在確定軟件開發可行性的情況下,對軟件需要實現的各個功能進行詳細需求分析。需求分析階段是壹個很重要的階段,這壹階段做的好,將為整個軟件項目的開發打下良好的基礎。“唯壹不變的是變化本身”,同樣軟件需求也是在軟件愛妳開發過程中不斷變化和深入的,因此,我們必須定制需求變更計劃來應付這種變化,以保護整個項目的正常進行。
3.軟件設計
此階段中偶要根據需求分析的結果,對整個軟件系統進行設計,如系統框架設計、數據庫設計等。軟件設計壹般分為總體設計和詳細設計。還的軟件設計將為軟件程序編寫打下良好的基礎。
4.程序編碼
此階段是將軟件設計的結果轉化為計算機可運行的程序代碼。在程序編碼中必定要制定統壹、符合標準的編寫規範。以保證程序的可讀性、易維護性。提高程序的運行效率。
5.軟件測試
在軟件設計完成之後要進行嚴密的測試,壹發現軟件在整個軟件設計過程中存在的問題並加以糾正。整個測試階段分為單元測試、組裝測試、系統測試三個階段進行。測試方法主要有白盒測試和黑盒測試。