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