軟件開發(fā)項目管理整個流程圖(軟件設(shè)計開發(fā)流程圖)
今天給各位分享軟件開發(fā)項目管理整個流程圖的知識,其中也會對軟件設(shè)計開發(fā)流程圖進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
軟件開發(fā)的基本流程包括哪些
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項包括需求捕捉、需求分析、設(shè)計、實現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設(shè)計語言來實現(xiàn)的。通常采用軟件開發(fā)工具可以進行開發(fā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計算機上運行的程序,與這些程序相關(guān)的文件一般也被認為是軟件的一部分。 軟件設(shè)計思路和方法的一般過程,包括設(shè)計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計和模塊設(shè)計、編程和調(diào)試、程序聯(lián)調(diào)和測試,然后進行編寫再提交程序。
軟件開發(fā)步驟是什么,主要流程
一般一個軟件的開發(fā)是必須包含以下流程的:
1、首先制定項目計劃,最初計劃是里程碑性質(zhì)的??梢韵劝雌俨寄P驮O(shè)置,里程碑點主要為需求評審、設(shè)計評審、經(jīng)過代碼開發(fā)和單元測試后進行集成測試、部署上線是一個很重要的里程碑,一般用戶會期望系統(tǒng)何時能使用,進入試運行期。
2、需求開發(fā)階段:怎么樣寫好需求很關(guān)鍵,這個需要實踐經(jīng)驗鍛煉自己。如果有項目成員,可以一起做需求,這個階段對于業(yè)務(wù)理解、分析、如何開展調(diào)研以及文字表述、業(yè)務(wù)流程圖描述還有文檔編輯能力都有不少要求。一般分為《用戶需求說明書》和《需求規(guī)格說明書》,小項目可以寫一個《需求分析報告》,《用戶需求說明書》是用用戶的語言進行描述,讓用戶和開發(fā)團隊對于需求的達成一致的理解,《需求規(guī)格說明書》,則是對用戶需求的分析,形成系統(tǒng)要具有的功能,這個是真正提供用戶可交互操作的文檔,也就是后期設(shè)計和代碼開發(fā)的重要基線。
另外,作為了解需求,拿出用戶UI和用戶交流也是一項比較重要的需求獲取手段,雖然這個屬于設(shè)計的范疇
3、系統(tǒng)設(shè)計階段:
系統(tǒng)總體架構(gòu),結(jié)合用戶對系統(tǒng)環(huán)境、開發(fā)語言以及運行的網(wǎng)絡(luò)硬件等要求,確定開發(fā)工具等,對應(yīng)用系統(tǒng)關(guān)系進行架構(gòu)性設(shè)計,通過需求階段對用戶的分析歸類,用圖的方式描述出用戶和各子系統(tǒng)或模塊的全局視圖,以及和其他系統(tǒng)的關(guān)系。也就是搞清楚系統(tǒng)的邊界問題。
概要設(shè)計中除了高層架構(gòu)設(shè)計,還需要設(shè)計網(wǎng)絡(luò)拓撲圖,以及系統(tǒng)部署圖。概要設(shè)計比較重要的還有就是子系統(tǒng)、模塊進行合理的劃分。模塊的名稱很大程度上會成為用戶的主要菜單,如何用用戶的角度去取比較清楚的子系統(tǒng)和模塊是很重要的。
4、代碼開發(fā)和單元測試階段:這個階段一般來說需要改進瀑布模型,類似跌代開發(fā),把模塊進行合理劃分,把項目總體計劃的代碼開發(fā)測試階段劃分為多個時間段,每個時間段都包括代碼開發(fā)、單元測試和集成測試,這個階段還需要對需求變更進行跟蹤控制,如果需求有變更,那么要把需求文檔、設(shè)計文檔都重新跟上。跌代開發(fā)的好處就是不讓代碼開發(fā)階段拉的過程,沒有進行及時的自我檢查,不小心到了提交時間,卻不是用戶想要的,還有可能都不是自己想要的。
項目經(jīng)理重要的責(zé)任是控制好進度,能及早發(fā)現(xiàn)風(fēng)險,并能拿出好的預(yù)防和解決辦法的措施。合理安排好開發(fā)團隊的任務(wù),合時的任務(wù)安排和銜接,你會覺得非常有藝術(shù)感,這個要自己體會了。另外,關(guān)注項目團隊各人員的狀況,保持高的戰(zhàn)斗力,及時發(fā)現(xiàn)并能鼓勵團隊共同朝一個目標前進。
5、測試工作,測試是項目的很重要的環(huán)節(jié),怎么測試,怎么準確測試,怎么有效測試,怎么覆蓋測試,時間、人手、經(jīng)驗扽個方面都會有制約。高級測試人員能夠分析系統(tǒng)各測試要點,在需求、設(shè)計階段都要參與,提早了解如何去測試,能寫出測試用例。
6、文檔工作,文檔在項目開發(fā)中也占有重要位置,除非你覺得代碼是項目唯一的成果,那么你把文檔拋掉吧,什么都在你的腦子里,團隊中人員一走,項目的一部分也就帶走了。代碼開發(fā)其實也需要文檔,代碼是成果,代碼注釋是成果,模塊開發(fā)卷宗也是重要的成果,因為程序員在開發(fā)時候的邏輯是怎么樣的,對于今后查問題很有作用。除非你的系統(tǒng)設(shè)計程度到了方法、類,把代碼邏輯也都設(shè)計好了,那么程序員就CODEING去吧。
7、QA是對項目過程的質(zhì)量保障,有些公司吧QA和測試工作合成一個崗位叫做QA測試人員,或者就叫QA人員。QA是對項目全過程的監(jiān)管,獨立于項目之外。監(jiān)督項目經(jīng)理在各項目里程碑提交相關(guān)成果,入庫形成基線。
項目管理過程流程圖
項目管理過程流程圖:
一、項目啟動
(一)立項準備:在應(yīng)用需求驅(qū)動下,經(jīng)過調(diào)查研究和需求分析,準確描述出項目的目標和可交付的成果。
(二)立項申請:形成立項申請書(或項目可行性研究報告:項目建設(shè)有無必要性?項目需要多長時間完成?需要多少人力物力資源?需要多少資金且能否籌集到足夠的資金?項目財務(wù)上是否有利可算?項目經(jīng)濟上是否合理?)
(三)立項審批:根據(jù)業(yè)務(wù)需求、預(yù)定目標、可行性、資金實力、效益分析等要素進行。
二、項目計劃
(一)計劃清單
確定項目名稱,項目各方聯(lián)系責(zé)任人,分計劃清單:質(zhì)量、進度、成本、安全、溝通協(xié)調(diào)、文檔的管理。在項目管理過程中,項目計劃工作涉及九個項目管理知識領(lǐng)域。在計劃編制的過程中,可看到后面各階段的輸出文件。在計劃制定出來后,項目的實施階段將嚴格按照計劃進行控制。今后的所有變更都將是因與計劃不同而產(chǎn)生的。也就是說項目的變更控制將是參考計劃階段的文件而產(chǎn)生的。
(二)系統(tǒng)開發(fā)進度
1.各階段完成的日期,交付的成果。
2.列出項目間的相互關(guān)系。
3.提出保證項目進度所需的條件。
(三)項目設(shè)計
1.項目成本構(gòu)成。
2.提出對項目所需資金的整體預(yù)算。
3.指出預(yù)算的可伸縮程度及按年度和月度的預(yù)算估算。
4.描述本項目主要采用的一些具體技術(shù)、方法及歸檔要求。
5.指出本項目所必須遵循的標準和技術(shù)規(guī)范。
三、項目實施與控制
(一)按計劃實施,在實施階段中,項目經(jīng)理將項目按技術(shù)類別或按各部分實現(xiàn)的功能分成不同的子項目,并向參加項目的成員發(fā)送《任務(wù)書》。《任務(wù)書》中包括工作內(nèi)容、工程進度、工程質(zhì)量標準、項目的'范圍等與項目有關(guān)的內(nèi)容,以及項目使用方主要負責(zé)人的聯(lián)系方式及地址等內(nèi)容。
(二)系統(tǒng)建設(shè):基礎(chǔ)建設(shè)(硬件),由服務(wù)器、路由器、磁盤陣列等設(shè)備組建網(wǎng)絡(luò);軟件建設(shè),把所需求的軟件進行安裝調(diào)試,并對服務(wù)器進行分類分組。
四、項目驗收
(一)組織初步驗收和評審:對所有軟硬件進行以功能為主的測試工作,對測試情況進行記錄并進行針對錯誤的修改與回歸測試,測試完成后要根據(jù)全過程的情況編寫正式的系統(tǒng)測試報告。提交財務(wù)部門工程預(yù)轉(zhuǎn)固表,審計部門進行施工結(jié)算審計。
(二)試運行與培訓(xùn):在系統(tǒng)的試運行與維護階段,承建方進行系統(tǒng)的試運行與維護工作。承建方制定詳細的試運行計劃,進行現(xiàn)場跟蹤,修改實現(xiàn)環(huán)境運行工程中發(fā)現(xiàn)的問題,處理初驗遺留問題,對用戶進行培訓(xùn),制定詳細的維護方案。由維護部門提交試運行報告。
(三)組織竣工驗收和評審:
1.竣工驗收的依據(jù):上級主管部門批準的立項申請、技術(shù)建議書、設(shè)計文件、施工圖紙和說明書,設(shè)備技術(shù)說明書,招標投標文件和工程合同,圖紙會審記錄、設(shè)計變更批復(fù)、現(xiàn)行的施工技術(shù)驗收規(guī)范及技術(shù)規(guī)范書,協(xié)作配合協(xié)議,以及施工單位提供的有關(guān)質(zhì)量保證文件和技術(shù)資料等。工程項目的規(guī)模、工藝流程、工藝管線、生產(chǎn)設(shè)備必須與上述文件、合同所規(guī)定的內(nèi)容一致。
2.竣工驗收的范圍:凡列入固定資產(chǎn)計劃的建設(shè)項目或單項工程,按照批準的設(shè)計文件(初步設(shè)計、施工圖設(shè)計)所規(guī)定的內(nèi)容和施工圖紙的要求全部建成,具備投產(chǎn)和使用條件,不論新建、改建、擴建和遷建性質(zhì),都要經(jīng)建設(shè)單位及時組織驗收,并辦理固定資產(chǎn)交付使用的轉(zhuǎn)帳手續(xù)。
3.竣工驗收的條件:生產(chǎn)性工程和輔助辦公用設(shè)備,已按設(shè)計建成,能滿足生產(chǎn)及辦公需求。
4.竣工驗收的步驟:
(1)項目經(jīng)理介紹工程施工情況、及竣工情況,出示竣工資料(備忘錄、竣工圖和各項原始資料及記錄)。
(2)生產(chǎn)使用部門發(fā)表驗收意見。
(3)監(jiān)理工程師通報工程監(jiān)理中的主要內(nèi)容,發(fā)表竣工驗收的意見。
(4)辦理竣工驗收簽證書:竣工驗收簽證書必須有三方的簽字方生效,驗收合格,項目投產(chǎn)使用。
5.財務(wù)部門進行竣工決算。
五、項目維護
項目收尾階段結(jié)束以后,項目將進入到后續(xù)的維護期,也是使項目產(chǎn)生效益的階段,對項目進行分析,對項目是否按照計劃進行,是否符合產(chǎn)品既定的要求,開發(fā)過程是否符合規(guī)范,是否在成本控制內(nèi),是否如期交付,按照計劃有無延遲,客戶使用滿意度。后續(xù)維護期的工作是長久的,將一直持續(xù)到這個信息技術(shù)(IT)項目的結(jié)束。
求一個完整的軟件項目開發(fā)流程???
第一個步驟是市場調(diào)研,技術(shù)和市場要結(jié)合才能體現(xiàn)最大價值。
第二個步驟是需求分析,這個階段需要出三樣?xùn)|西,用戶視圖,數(shù)據(jù)詞典和用戶操作手冊。用戶視圖是該軟件用戶(包括終端用戶和管理用戶)所能看到的頁面樣式,這里面包含了很多操作方面的流程和條件。數(shù)據(jù)詞典是指明數(shù)據(jù)邏輯關(guān)系并加以整理的東東,完成了數(shù)據(jù)詞典,數(shù)據(jù)庫的設(shè)計就完成了一半多。用戶操作手冊是指明了操作流程的說明書。請注意,用戶操作流程和用戶視圖是由需求決定的,因此應(yīng)該在軟件設(shè)計之前完成,完成這些,就為程序研發(fā)提供了約束和準繩,很遺憾太多公司都不是這樣做的,因果顛倒,順序不分,開發(fā)工作和實際需求往往因此產(chǎn)生隔閡脫節(jié)的現(xiàn)象。需求分析,除了以上工作,筆者以為作為項目設(shè)計者應(yīng)當完整的做出項目的性能需求說明書,因為往往性能需求只有懂技術(shù)的人才可能理解,這就需要技術(shù)專家和需求方(客戶或公司市場部門)能夠有真正的溝通和了解。
第三個步驟是概要設(shè)計,將系統(tǒng)功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。作為快速原型設(shè)計方法,完成概要設(shè)計就可以進入編碼階段了,通常采用這種方法是因為涉及的研發(fā)任務(wù)屬于新領(lǐng)域,技術(shù)主管人員一上來無法給出明確的詳細設(shè)計說明書,但是并不是說詳細設(shè)計說明書不重要,事實上快速原型法在完成原型代碼后,根據(jù)評測結(jié)果和經(jīng)驗教訓(xùn)的總結(jié),還要重新進行詳細設(shè)計的步驟。
第四個步驟是詳細設(shè)計,這是考驗技術(shù)專家設(shè)計思維的重要關(guān)卡,詳細設(shè)計說明書應(yīng)當把具體的模塊以最‘干凈’的方式(黑箱結(jié)構(gòu))提供給編碼者,使得系統(tǒng)整體模塊化達到最大;一份好的詳細設(shè)計說明書,可以使編碼的復(fù)雜性減低到最低,實際上,嚴格的講詳細設(shè)計說明書應(yīng)當把每個函數(shù)的每個參數(shù)的定義都精精細細的提供出來,從需求分析到概要設(shè)計到完成詳細設(shè)計說明書,一個軟件項目就應(yīng)當說完成了一半了。換言之,一個大型軟件系統(tǒng)在完成了一半的時候,其實還沒有開始一行代碼工作。那些把作軟件的程序員簡單理解為寫代碼的,就從根子上犯了錯誤了。
第五個步驟是編碼,在規(guī)范化的研發(fā)流程中,編碼工作在整個項目流程里最多不會超過1/2,通常在1/3的時間,所謂磨刀不誤砍柴功,設(shè)計過程完成的好,編碼效率就會極大提高,編碼時不同模塊之間的進度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個小模塊的問題就可能影響了整體進度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現(xiàn)過。編碼時的相互溝通和應(yīng)急的解決手段都是相當重要的,對于程序員而言,bug永遠存在,你必須永遠面對這個問題,大名鼎鼎的微軟,可曾有連續(xù)三個月不發(fā)補丁的時候嗎?從來沒有!
第六個步驟是測試測試有很多種:按照測試執(zhí)行方,可以分為內(nèi)部測試和外部測試;按照測試范圍,可以分為模塊測試和整體聯(lián)調(diào);按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋??傊?,測試同樣是項目研發(fā)中一個相當重要的步驟,對于一個大型軟件,3個月到1年的外部測試都是正常的,因為永遠都會又不可預(yù)料的問題存在。完成測試后,完成驗收并完成最后的一些幫助文檔,整體項目才算告一段落,當然日后少不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運營狀況并持續(xù)修補升級,直到這個軟件被徹底淘汰為止。
軟件開發(fā)流程
一個軟件從開始到最后一共需要以下幾個流程:
1、計劃
2、分析
3、設(shè)計
4、編碼
5、測試
6、維護
1、計劃
對所要解決的問題進行總體定義,包括了解用戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會因素等3個方面研究并論證本軟件項目的可行性,編寫可行性研究報告,探討解決問題的方案,并對可供使用的資源(如計算機硬件、系統(tǒng)軟件、人力等)成本,可取得的效益和開發(fā)進度作出估計,制訂完成開發(fā)任務(wù)的實施計劃。
2、分析
軟件需求分析就是對開發(fā)什么樣的軟件的一個系統(tǒng)的分析與設(shè)想。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達出來的過程。本階段的基本任務(wù)是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規(guī)格說明書文檔并最終得到用戶的認可。需求分析的主要方法有結(jié)構(gòu)化分析方法、數(shù)據(jù)流程圖和數(shù)據(jù)字典等方法。本階段的工作是根據(jù)需求說明書的要求,設(shè)計建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個系統(tǒng)分解成若干個子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對各子系統(tǒng)進行具體設(shè)計定義,編寫軟件概要設(shè)計和詳細設(shè)計說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計說明書,組裝測試計劃。在任何軟件或系統(tǒng)開發(fā)的初始階段必須先完全掌握用戶需求,以期能將緊隨的系統(tǒng)開發(fā)過程中哪些功能應(yīng)該落實、采取何種規(guī)格以及設(shè)定哪些限制優(yōu)先加以定位。系統(tǒng)工程師最終將據(jù)此完成設(shè)計方案,在此基礎(chǔ)上對隨后的程序開發(fā)、系統(tǒng)功能和性能的描述及限制作出定義。
3、設(shè)計
軟件設(shè)計可以分為概要設(shè)計和詳細設(shè)計兩個階段。實際上軟件設(shè)計的主要任務(wù)就是將軟件分解成模塊是指能實現(xiàn)某個功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元??梢允且粋€函數(shù)、過程、子程序、一段帶有程序說明的獨立的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。模塊,然后進行模塊設(shè)計。概要設(shè)計就是結(jié)構(gòu)設(shè)計,其主要目標就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。詳細設(shè)計的首要任務(wù)就是設(shè)計模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計方法。
4、編碼
軟件編碼是指把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序,即寫成以某一程序設(shè)計語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。
當前軟件開發(fā)中除在專用場合,已經(jīng)很少使用二十世紀80年代的高級語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,大大提高了開發(fā)的速度。
5、測試
軟件測試的目的是以較小的代價發(fā)現(xiàn)盡可能多的錯誤。要實現(xiàn)這個目標的關(guān)鍵在于設(shè)計一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。如何才能設(shè)計出一套出色的測試用例,關(guān)鍵在于理解測試方法。不同的測試方法有不同的測試用例設(shè)計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據(jù)的是程序內(nèi)部的的邏輯結(jié)構(gòu)來發(fā)現(xiàn)軟件的編程錯誤、結(jié)構(gòu)錯誤和數(shù)據(jù)錯誤。結(jié)構(gòu)錯誤包括邏輯、數(shù)據(jù)流、初始化等錯誤。用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果。白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯誤。其中接口錯誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯誤。黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。
6、維護
維護是指在已完成對軟件的研制(分析、設(shè)計、編碼和測試)工作并交付使用以后,對軟件產(chǎn)品所進行的一些軟件工程的活動。即根據(jù)軟件運行的情況,對軟件進行適當修改,以適應(yīng)新的要求,以及糾正運行中發(fā)現(xiàn)的錯誤。編寫軟件問題報告、軟件修改報告。
一個中等規(guī)模的軟件,如果研制階段需要一年至二年的時間,在它投入使用以后,其運行或工作時間可能持續(xù)五年至十年。那么它的維護階段也是運行的這五年至十年期間。在這段時間,人們幾乎需要著手解決研制階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟件維護工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴展功能,提高性能,為用戶帶來明顯的經(jīng)濟效益。然而遺憾的是,對軟件維護工作的重視往往遠不如對軟件研制工作的重視。而事實上,和軟件研制工作相比,軟件維護的工作量和成本都要大得多。
在實際開發(fā)過程中,軟件開發(fā)并不是從第一步進行到最后一步,而是在任何階段,在進入下一階段前一般都有一步或幾步的回溯。在測試過程中的問題可能要求修改設(shè)計,用戶可能會提出一些需要來修改需求說明書等。
關(guān)于軟件開發(fā)項目管理整個流程圖和軟件設(shè)計開發(fā)流程圖的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。