軟體開發及管理的流程建議

2021-03-04 00:58:54 字數 3665 閱讀 3082

軟體開發流程

軟體開發流程即軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模組設計、程式設計和除錯、程式聯調和測試以及編寫、提交程式。

開發流程:

第一步:需求調研分析

1相關系統分析員向使用者初步了解需求,然後用word列出要開發的系統的大功能模組,每個大功能模組有哪些小功能模組,對於有些需求比較明確相關的介面時,在這一步裡面可以初步定義好少量的介面。

2 系統分析員深入了解和分析需求,根據自己的經驗和需求用word或相關的工具再做出乙份文件系統的功能需求文件。這次的文件會清楚例用系統大致的大功能模組,大功能模組有哪些小功能模組,並且還列出相關的介面和介面功能。

3 系統分析員向使用者再次確認需求。

第二步:概要設計

首先,開發者需要對軟體系統進行概要設計,即系統設計。概要設計需要對軟體系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模組劃分、功能分配、介面設計、 執行設計、資料結構設計和出錯處理設計等,為軟體的詳細設計提供基礎。

第三步:詳細設計

在概要設計的基礎上,開發者需要進行軟體系統的詳細設計。在詳細設計中,描述實現具體模組所涉及到的主要演算法、資料結構、類的層次結構及呼叫關係,需要說明軟體系統各個層次中的每乙個程式(每個模組或子程式)的設計考慮,以便進行編碼和測試。應當保證軟體的需求完全分配給整個軟體。

詳細設計應當足夠詳細,能夠根據詳細設計報告進行編碼。

第四步:編碼

在軟體編碼階段,開發者對資料結構、演算法分析和模組實現等方面的設計要求,開始具體的編寫程式工作,分別實現各模組的功能,從而實現對目標系統的功能、效能、介面、介面等方面的要求。

第五步:測試

對需求定義中的每個功能進行詳細的觀測標定測試,並文件化相關測試記錄。

第六步:軟體交付準備

在軟體測試證明軟體達到要求後,軟體開發者應向使用者提交開發的目標程式、需求報告、設計報告、測試報告等雙方合同約定的產物。

第七步:驗收

使用者對需求定義中的每個功能進行詳細的測試驗收。

軟體管理流程

1 軟體專案管理總體流程設計

軟體專案管理總體流程設計為專案搜尋、立項、售前、合同生成和合同執行等5個主要階段,分別以p1、p2、p3、p4、p5表示;同時設計了立項完成、合同簽定、功能定義、軟體開發、專案驗收等5個里程碑,分別以tm1、tm2、tm3、tm4、tm5表示,如圖1所示。在這些流程中,合同執行流程是軟體專案管理的核心,其主要過程有:產品定義、軟體開發、測試執行、內部驗收、專案實施與驗收、專案維護。

圖1 軟體專案管理總體流程

2 軟體專案管理總體流程分析

2.1專案搜尋

專案搜尋是專案立項的基礎,專案搜尋階段的主要任務包括市場資訊收集,使用者需求跟蹤,對潛在的專案進行分析和篩選。

2.2專案立項

立項階段的主要任務是確認立項的理由,提出立項建議,提供合適的資金和資源,使立項建議成為正式專案。

2.3 專案售前

售前階段從專案立項開始到專案合同的簽定結束,主要工作有:制定與客戶的交流計畫,詳細了解客戶的背景資料,了解客戶啟動專案的緣由、目的和期望,編制專案方案建議書,準備合同藍本。

2.4合同生成

合同生成階段的主要工作有:專案方案的評估與確定,技術合同、商務合同的商定、評估與簽署。

2.5合同執行

合同執行是軟體專案管理流程的重點,可分為軟體開發、測試執行;內部驗收、專案驗收、系統維護等五個基本工作過程。

2.5.1軟體開發

軟體開發階段分為:需求調研、系統分析、系統設計、編碼、單元測試等過程。主要從三個方面進行管理:

1) 制定專案計畫。軟體專案計畫是乙個用來協調所有其他計畫,以指導專案執行和控制的可操作檔案。它體現了對客戶需求的理解,是開展專案活動的基礎,也是軟體專案跟蹤與監控的依據。

2) 確定開發過程。根據軟體專案和專案組的實際情況,建立起乙個穩定、可控的軟體開發過程模型,並按照該過程來進行軟體開發。

3) 加強過程控制。過程控制主要包括過程管理、變更控制和配置管理。

2.5.2測試與執行

專案測試的目的是檢查系統是否符合專案合同與任務書規定的要求。專案測試分整合測試和系統測試,主要進行功能測試、健壯性測試、效能—效率測試、安全性測試、可靠性測試、安裝/反安裝測試等。測試過程在模擬執行環境中進行。

2.5.3內部驗收

專案完成整合測試和系統測試後進行專案內部驗收,主要有三個步驟:1)文件準備。專案經理提交內部驗收計畫、專案開發總結報告、產品發布清單;財務主管提交專案財務預算報告。

2)內部驗收測試。內部驗收測試的測試內容與方法雖然與系統測試基本相同,但應站在使用者驗收的角度進行,因為它是試執行的基礎,通過這一步,為使用者驗收作充分的準備。3)內部評審。

對提交的所有文件及測試結果進行內部評審,完成專案開發總結報告。

2.5.4專案試執行與驗收

試執行與使用者驗收階段的主要任務是,使所有的工作產品得到使用者的確認。主要工作有:1) 驗收前的準備。

專案經理負責檢查產品的完整性,包括文件、介質和中間產品等,以確保現場實施的成功;負責應用軟體的現場除錯,完成除錯總結報告;負責制定使用者驗收計畫,並得到客戶的確認。2) 使用者進行驗收測試和系統試執行,進行文件和系統的移交。3) 使用者確認。

專案經理負責與客戶協調,協助使用者進行專案驗收,形成使用者驗收報告。

2.5.5專案維護

軟體系統的維護分為兩大類:一類是糾錯性維護,由於前期的測試不可能暴露軟體系統中所有潛在的和隱含的錯誤,診斷和改正這些錯誤的過程為糾錯性維護。另一類是完善性維護,在軟體正常使用過程中,使用者還會不斷地提出新的需求,為了滿足使用者新的需求而增加軟體功能的活動稱為完善性維護。

如果需求變更很大,那完善性維護將轉變為軟體新版本的開發。系統維護的宗旨就是提高客戶對軟體產品的滿意度。確保系統的正常執行是系統維護的根本目的。

2.6 軟體專案管理的里程碑

專案的考核與評審是軟體專案管理流程控制的基礎,我們在整個流程中設定五個基線,即確定五個里程碑,它們分別是tm1:立項完成;tm2:合同簽訂; tm3:

產品功能定義完成;tm4:軟體開發完成;tm5:驗收通過。

如圖1所示。各階段的主要的進入條件和相應的工作結果是里程碑是否達到的重要標誌。

軟體編寫環境

目前新能源汽車控制系統大多數是採用基於can網路的分布式計算系統;其開發流程基本是採用目前最為流行的基於v模的開發流程,主要包括系統及子系統需求分析、快速原型(rcp)、軟硬體開發、硬體在環測試(hil)、匹配測試等主要過程;其軟體部分的開發環境及平台大多數採用了具有能夠方便貫通整個開發流程的介面功能,具備強大的建模及其在不同硬體平台上的**生成能力及其相關的擴充套件能力的一整套工具鏈。mathworks公司的matlab/simulink/stateflow/rtw/rtw-ec/embeddedtarget等一整套開發工具因為其描述能力強、擴充套件效能好並且能夠很好的貫通整個d2p(from development to production)的研發過程而成為汽車電子軟體研發的一款比較重要也比較流行的工具平台。其建立的模型可以很好的使系統工程師、控制工程師、測試工程師之間無障礙溝通,並且模型與相關機器**有一整套對映轉換機制,這套機制由嵌入式軟體工程師來維護、擴充套件。

軟體編寫環境主要是matlab 08a或以上版本,其作為控制策略建模工具,主要通過其simulink/stateflow來搭建相關控制模型,底層驅動模組也在該平台進行擴充套件。

注:作為軟體整合單位,對各控制策略模組軟體編寫單位作如下要求:

1. 各控制策略模組編寫單位需對其編寫的模組測試**並有相應的結果。

2. 各控制策略模組編寫單位編寫的模組要在我們的硬體在環系統進行**。

軟體開發流程

0 定義assoc顯示或修改副檔名關聯。attrib 顯示或更改檔案屬性。break設定或清除擴充套件式 ctrl c 檢查。bootcfg 設定 boot.ini 檔案的屬性以便控制 cacls顯示或修改檔案的訪問控制列表 acl call從另乙個批處理程式呼叫這乙個。cd顯示當前目錄的名稱或將其...

迭代軟體開發流程

1.傳統開發流程的問題 傳統的軟體開發流程是乙個文件驅動的流程,它將整個軟體開發過程劃分為順序相接的幾個階段,每個階段都必需完成全部規定的任務 文件 後才能夠進入下乙個階段。如必須完成全部的系統需求規格說明書之後才能夠進入概要設計階段,編碼必需在系統設計完成之後才能夠進行。這就意味著只有當所有的系統...

Scrum軟體開發流程

2001年2月由17位世界輕量級方法學家提出了乙份敏捷聯盟宣言,這個宣言只是簡單的四句話,但卻是敏捷方法的精髓,也是對敏捷的高度抽象,這便是敏捷之道的最高境界 人與互動勝過過程與工具 可以工作的軟體勝過面面俱到的文件 客戶協作勝過合同談判 響應變化勝過遵循計畫 scrum 方法簡介 scrum 是目...