軟件開發(fā)過程(軟件開發(fā)過程管理)
今天給各位分享軟件開發(fā)過程的知識,其中也會對軟件開發(fā)過程管理進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!
本文目錄一覽:
- 1、軟件開發(fā)過程一般有幾個階段?每個階段有什么作用?
- 2、軟件開發(fā)流程
- 3、軟件開發(fā)過程一般有幾個階段?
- 4、軟件開發(fā)的四個階段
- 5、真心想知道軟件的開發(fā)過程
- 6、軟件開發(fā)過程包括哪些階段?
軟件開發(fā)過程一般有幾個階段?每個階段有什么作用?
1、首先制定項目計劃,最初計劃是里程碑性質的??梢韵劝雌俨寄P驮O置,里程碑點主要為需求評審、設計評審、經過代碼開發(fā)和單元測試后進行集成測試、部署上線是一個很重要的里程碑,一般用戶會期望系統(tǒng)何時能使用,進入試運行期。\x0d\x0a\x0d\x0a2、需求開發(fā)階段:怎么樣寫好需求很關鍵,這個需要實踐經驗鍛煉自己。如果有項目成員,可以一起做需求,這個階段對于業(yè)務理解、分析、如何開展調研以及文字表述、業(yè)務流程圖描述還有文檔編輯能力都有不少要求。一般分為《用戶需求說明書》和《需求規(guī)格說明書》,小項目可以寫一個《需求分析報告》,《用戶需求說明書》是用用戶的語言進行描述,讓用戶和開發(fā)團隊對于需求的達成一致的理解,《需求規(guī)格說明書》,則是對用戶需求的分析,形成系統(tǒng)要具有的功能,這個是真正提供用戶可交互操作的文檔,也就是后期設計和代碼開發(fā)的重要基線。\x0d\x0a另外,作為了解需求,拿出用戶UI和用戶交流也是一項比較重要的需求獲取手段,雖然這個屬于設計的范疇\x0d\x0a\x0d\x0a3、系統(tǒng)設計階段:\x0d\x0a系統(tǒng)總體架構,結合用戶對系統(tǒng)環(huán)境、開發(fā)語言以及運行的網絡硬件等要求,確定開發(fā)工具等,對應用系統(tǒng)關系進行架構性設計,通過需求階段對用戶的分析歸類,用圖的方式描述出用戶和各子系統(tǒng)或模塊的全局視圖,以及和其他系統(tǒng)的關系。也就是搞清楚系統(tǒng)的邊界問題。\x0d\x0a概要設計中除了高層架構設計,還需要設計網絡拓撲圖,以及系統(tǒng)部署圖。概要設計比較重要的還有就是子系統(tǒng)、模塊進行合理的劃分。模塊的名稱很大程度上會成為用戶的主要菜單,如何用用戶的角度去取比較清楚的子系統(tǒng)和模塊是很重要的。\x0d\x0a\x0d\x0a4、代碼開發(fā)和單元測試階段:這個階段一般來說需要改進瀑布模型,類似跌代開發(fā),把模塊進行合理劃分,把項目總體計劃的代碼開發(fā)測試階段劃分為多個時間段,每個時間段都包括代碼開發(fā)、單元測試和集成測試,這個階段還需要對需求變更進行跟蹤控制,如果需求有變更,那么要把需求文檔、設計文檔都重新跟上。跌代開發(fā)的好處就是不讓代碼開發(fā)階段拉的過程,沒有進行及時的自我檢查,不小心到了提交時間,卻不是用戶想要的,還有可能都不是自己想要的。\x0d\x0a項目經理重要的責任是控制好進度,能及早發(fā)現風險,并能拿出好的預防和解決辦法的措施。合理安排好開發(fā)團隊的任務,合時的任務安排和銜接,你會覺得非常有藝術感,這個要自己體會了。另外,關注項目團隊各人員的狀況,保持高的戰(zhàn)斗力,及時發(fā)現并能鼓勵團隊共同朝一個目標前進。\x0d\x0a\x0d\x0a5、測試工作,測試是項目的很重要的環(huán)節(jié),怎么測試,怎么準確測試,怎么有效測試,怎么覆蓋測試,時間、人手、經驗_個方面都會有制約。高級測試人員能夠分析系統(tǒng)各測試要點,在需求、設計階段都要參與,提早了解如何去測試,能寫出測試用例。\x0d\x0a\x0d\x0a6、文檔工作,文檔在項目開發(fā)中也占有重要位置,除非你覺得代碼是項目唯一的成果,那么你把文檔拋掉吧,什么都在你的腦子里,團隊中人員一走,項目的一部分也就帶走了。代碼開發(fā)其實也需要文檔,代碼是成果,代碼注釋是成果,模塊開發(fā)卷宗也是重要的成果,因為程序員在開發(fā)時候的邏輯是怎么樣的,對于今后查問題很有作用。除非你的系統(tǒng)設計程度到了方法、類,把代碼邏輯也都設計好了,那么程序員就CODEING去吧。\x0d\x0a\x0d\x0a7、QA是對項目過程的質量保障,有些公司吧QA和測試工作合成一個崗位叫做QA測試人員,或者就叫QA人員。QA是對項目全過程的監(jiān)管,獨立于項目之外。監(jiān)督項目經理在各項目里程碑提交相關成果,入庫形成基線。
軟件開發(fā)流程
軟件開發(fā)流程如下:
1、項目開發(fā)目的分析與確定
軟件開發(fā)流程的這一階段,主要是在在軟件開發(fā)商將開發(fā)項目確定下來之后,需要與需求方進行討論,確定需求方對于軟件開發(fā)的需要實現目標及其具體需要的功能等等,并確定是否可達成。
2、需求分析
這是軟件開發(fā)流程的第二個階段,也是為軟件開發(fā)的正常進行確定具體思路的階段。在確定軟件開發(fā)可進行后,必須要對客戶需要實現的軟件功能需求進行具體詳細的分析。同時應當考慮在開發(fā)過程中可能出現的變化情況,制定需求變更計劃隨時應對特殊情況的發(fā)生,保證軟件開發(fā)流程的順暢進行。
3、設計
軟件設計要根據上一階段對軟件功能需求分析的結果,來設計軟件系統(tǒng)的框架結構、功能模塊和數據庫等等。分為總體設計和詳細設計兩個部分。
4、編程
軟件開發(fā)流程中每上一個階段都是下一個階段的實施進行的基礎。編程也是根據對軟件設計,將軟件設計的各部分需求通計算機程序代碼來實現運行,編程有統(tǒng)一、規(guī)范的程序編寫規(guī)則,保證軟件程序的易懂性、易維護性。
5、軟件測試
在根據設計將客戶軟件需用編程代碼來實現之后,也就是軟件程序完成之后,需要對編寫的程序,形成整體構架、功能進行單元、組裝、系統(tǒng)三階段的測試,以測試程序編寫的正確性,以及對客戶需求功能滿足的充分性,以此來確定軟件是否達到開發(fā)要求,同時也是一個發(fā)現問題、糾正問題的過程。
6、軟件交付
軟件開發(fā)流程通過以上核心環(huán)節(jié)完成了軟件開發(fā),接下來就是在軟件開發(fā)達到客戶需求之后,開發(fā)者將軟件系統(tǒng)交予客戶,并將軟件安裝程序、數據庫的數據字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等產物交付給客戶。
7、驗收
用戶在接收開發(fā)商交付的軟件開發(fā)結果,并進行實際操作、測試運行,實現滿意結果之后,對開發(fā)出來的軟件進行驗收。
8、維護
定制開發(fā)的軟件通常都需要提供售后服務,定期對軟件進行維護,或者根據用戶出現的新需求,進行應用軟件程序的修改,使之不斷滿足客戶實際需求。
軟件開發(fā)的概念
是根據用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項包括需求捕捉、需求分析、設計、實現和測試的系統(tǒng)工程。軟件一般是用某種程序設計語言來實現的。通常采用軟件開發(fā)工具可以進行開發(fā)。軟件分為系統(tǒng)軟件和應用軟件,并不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟件的一部分。
軟件開發(fā)過程一般有幾個階段?
軟件開發(fā)的生命周期一般分為6個階段:計劃、需求分析、邏輯設計、程序編制、調試、運行和維護
軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護三個階段:
軟件定義階段
制定計劃:確定總目標;可行性研究;探討解決方案;制定開發(fā)計劃。
需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。
軟件開發(fā)階段
軟件設計:分為概要設計和詳細設計兩個部分?
軟件實現:把軟件設計轉換成計算機可以接受的程序代碼
軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分
軟件運行維護階段
軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。
軟件開發(fā)的四個階段
軟件開發(fā)的四個階段:規(guī)劃階段、分析階段、設計階段、實施階段。
一、規(guī)劃階段
階段是理解為什么要建立一個信息系統(tǒng)以及確定如何建設的基礎。規(guī)劃階段由兩個步驟:
項目啟動期間,系統(tǒng)對于組織的業(yè)務價值已經被確認:如何降低成本或增加收入?大多數新系統(tǒng)的想法來自于在IS區(qū)域以外(例如來自市場部門,會計部門)系統(tǒng)請求的形式。系統(tǒng)請求提供業(yè)務的簡要摘要需要,并解釋了如何支持需求的系統(tǒng)將創(chuàng)造商業(yè)價值。信息系統(tǒng)部門與產生信息的人員或部門一起工作要求(稱為項目發(fā)起人)進行可行性分析。
將系統(tǒng)請求和可行性分析呈現給信息系統(tǒng)審批委員會(有時也稱為指導委員會),決定該項目是否應該進行。
一旦項目獲得批準,即進入項目管理。在項目管理期間,項目經理創(chuàng)建一個工作計,工作人員的項目,并提出技術以幫助項目團隊控制和指導項目整個SDLC。項目管理的交付成果是一個項目計劃描述了項目團隊如何開發(fā)系統(tǒng)
二、分析階段
分析階段回答誰將使用系統(tǒng)的問題,系統(tǒng)將會如何做什么,以及何時何地將被使用。 在這個階段,項目組調查任何目前的系統(tǒng),找出改進的機會,并為新系統(tǒng)形成一個概念。
這個階段有三個步驟:
1、一個分析策略是用來指導項目團隊的工作。這樣的策略通常包括對當前系統(tǒng)(稱為現狀系統(tǒng))及其系統(tǒng)的分析問題,然后再設計一個新的系統(tǒng)(稱為待定系統(tǒng))。
2、下一步是需求收集(例如,通過訪談或調查問卷)。分析這些信息 - 連同項目的投入贊助商和許多其他人– 產生新系統(tǒng)的開發(fā)概念。然后系統(tǒng)概念被用作開發(fā)一套業(yè)務的基礎分析模型,這些模型描述了新系統(tǒng)如何運作開發(fā)。
3、系統(tǒng)分析,系統(tǒng)概念和模型被合并成一個文件,稱為系統(tǒng)提案,系統(tǒng)提案被提交給項目發(fā)起人等關鍵決策決策者(例如審批委員會成員),由他們決定是否決定項目應該繼續(xù)前進。
系統(tǒng)建議是最初的交付成果,描述了新系統(tǒng)應該滿足的業(yè)務需求。因為這是新系統(tǒng)設計的第一步,一些專家認為用“分析”作為該階段的名稱是不合適的,有人認為更好的名字是“分析和初步設計”。大多數組織繼續(xù)用分析作為該階段的名稱,所以我們也在本書中使用它。只是請記住,分析階段的交付成果既是分析性的,也是高層次的新系統(tǒng)的初始設計。
三、設計階段
設計階段決定系統(tǒng)如何在硬件,軟件,和網絡基礎設施方面操作;并決定用戶界面,表單和報告; 特定的程序,數據庫和將需要的文件。雖然關于這個系統(tǒng)的大部分的戰(zhàn)略決策都是在分析階段制定系統(tǒng)概念的過程中,但是設計階段步驟確切地確定系統(tǒng)將如何操作。
四、實施階段
SDLC的最后階段是系統(tǒng)實施階段,在這個階段系統(tǒng)被真正創(chuàng)建(或者在包裝軟件設計的情況下購買)。這是最受關注的階段,因為對于大多數系統(tǒng)來說,它是開發(fā)過程中最長和最昂貴的一部分。這個階段的步驟:
1、系統(tǒng)建設是第一步。創(chuàng)建系統(tǒng)并測試以確保它按設計執(zhí)行。因為修復bug的成本可能是巨大的,所以測試是實施過程中其中一個最關鍵的步驟。大多數組織給予測試更多的時間和關注,而不是開始寫的程序。
2、按安裝系統(tǒng)。安裝是關閉舊系統(tǒng),打開新系統(tǒng)的過程。轉換系統(tǒng)的一個最重要的方面是一個培訓計劃的開展,教導用戶如何使用新系統(tǒng)并且?guī)椭芾碛尚孪到y(tǒng)造成的改變。
分析團隊為系統(tǒng)建立一個支持計劃。這是計劃通常包括正式或非正式的后審查以及動態(tài)地確定系統(tǒng)的主要和次要的需求改變。
真心想知道軟件的開發(fā)過程
分類: 電腦/網絡 程序設計 其他編程語言
問題描述:
希望知道軟件的開發(fā)過程
我是學軟件的一些理論上的知識我能知道,但是我想知道真正實際上是怎么運轉的,一個真正的軟件公司的軟件設計開發(fā)發(fā)布的具體流程。
那位前輩不吝嗇賜教。
謝謝
解析:
軟件系統(tǒng)的開發(fā)是按階段進行的,一般劃分為以下階段:可行性討論;需求分析;系統(tǒng)設計(概要設計、詳細設計);程序開發(fā);編碼,單元測試;系統(tǒng)測試;系統(tǒng)維護。
軟件開發(fā)過程中要明確各階段的工作目標、實現該目標所必需的工作內容以及達到的標準。只有在上一個階段的工作完成后,才能開始下一階段的工作。
1.可行性討論
明確系統(tǒng)的目的、功能和要求,了解目前所具備的開發(fā)環(huán)境和條件,論證的內容有:① 在技術能力上是否可以支持;② 在經濟上效益如何;③ 在法律上是否符合要求;④ 與部門、企業(yè)的經營和發(fā)展是否吻合;⑤ 系統(tǒng)投入運行后的維護有無保障。
可行性討論的目的是判定軟件系統(tǒng)的開發(fā)有無價值。分析和討論的內容形成“系統(tǒng)開發(fā)計劃書”,主要內容有:
(1) 開發(fā)的目的及所期待的效果;
(2) 系統(tǒng)的基本設想,涉及的業(yè)務對象和范圍;
(3) 開發(fā)進度表,開發(fā)組織結構;
(4) 開發(fā)、運行的費用;
(5) 預期的系統(tǒng)效益;
(6) 開發(fā)過程中可能遇到的問題及注意事項。
2、系統(tǒng)需求分析
系統(tǒng)需求分析是軟件系統(tǒng)開發(fā)中最重要的一個階段,直接決定著系統(tǒng)的開發(fā)質量和成敗,必須明確用戶的要求和應用現場環(huán)境的特點,了解系統(tǒng)應具有哪些功能、數據的流程和數據之間的聯系。需求分析應有用戶參加,到使用現場進行調研學習,軟件設計人員應虛心向技術人員和使用人員請教,共同討論解決需求問題的方法,對調查結果進行分析,明確問題的所在。需求分析的內容編寫成“系統(tǒng)需求分析報告”。
3.系統(tǒng)設計
可根據系統(tǒng)的規(guī)模分成概要設計和詳細設計兩個階段。
概要設計包括:① 劃分系統(tǒng)模塊;② 每個模塊的功能確定;③ 用戶使用界面概要設計;④ 輸入輸出數據的概要設計;⑤ 報表概要設計;⑥ 數據之間的聯系、流程分析;⑦ 文件和數據庫表的邏輯設計;⑧ 硬件、軟件開發(fā)平臺的確定;⑨ 有規(guī)律數據的規(guī)范化及數據惟一性要求。
系統(tǒng)的詳細設計是對系統(tǒng)的概要設計進一步具體化,其主要工作有:① 文件和數據庫的物理設計;② 輸入輸出記錄的方案設計;③ 對各子系統(tǒng)的處理方式和處理內容進行細化設計;④ 編制程序設計任務書。程序說明書通常包括程序規(guī)范、功能說明、程序結構圖,通常用HPIPO(Hierarchy Plus Input Process Output)圖描述。
4、程序開發(fā)
根據程序設計任務書的要求,用計算機算法語言實現解題的步驟,主要工作包括:① 模塊的理解和進一步劃分;② 以模塊為單位的邏輯設計,也就是模塊內的流程圖的編制;③ 編寫代碼,用程序設計語言編制程序;④ 進行模塊內功能的測試、單元測試。
程序質量的要求包括:① 滿足要求的確切功能;② 處理效率高;③ 操作方便,用戶界面友好;④ 程序代碼的可讀性好,函數、變量標識符合規(guī)范;⑤ 擴充性、維護性好。
降低程序的復雜性也是十分重要的。系統(tǒng)的復雜性由模塊間的接口數來衡量,一般地講,n個模塊的接口數的最大值為n(n-1)/2;若是層次結構,n個模塊的接口數的最小值為n-1。為使復雜性最小,對模塊的劃分設計常常采用層次結構。要注意編制的程序或模塊應容易理解、容易修改,模塊應相互獨立,對某一模塊的修改應對其他模塊的功能不產生影響,模塊間的聯系盡可能少。
5.系統(tǒng)測試
測試是為了發(fā)現程序中的錯誤,對于設計的軟件,出現錯誤是難免的。系統(tǒng)測試通常由經驗豐富的設計人員設計測試方案和測試樣品,并寫出測試過程的詳細報告。系統(tǒng)測試是在單元測試的基礎上進行的,包括:① 測試方案的設計;② 進行測試;③ 寫出測試報告;④ 用戶對測試結果進行評價。
6、文檔資料
文檔包括開發(fā)過程中的所有技術資料以及用戶所需的文檔,軟件系統(tǒng)的文檔一般可分為系統(tǒng)文檔和用戶文檔兩類。用戶文檔主要描述系統(tǒng)功能和使用方法,并不考慮這些功能是怎樣實現的;系統(tǒng)文檔描述系統(tǒng)設計、實現和測試等方面的內容。文檔是影響軟件可維護性、可用性的決定因素,有句話講,系統(tǒng)編程人員的每一張紙片都要保留,所以文檔的編制是軟件開發(fā)過程中的一項重要工作。
系統(tǒng)文檔包括:開發(fā)軟件系統(tǒng)在計劃、需求分析、設計、編制、調試、運行等階段的有關文檔。在對軟件系統(tǒng)進行修改時,系統(tǒng)文檔應同步更新,并注明修改者和修改日期,如有必要應注明修改原因,應切記過時的文檔是無用的文檔。
用戶文檔包括:① 系統(tǒng)功能描述;② 安裝文檔,說明系統(tǒng)安裝步驟以及系統(tǒng)的硬件配置方法;③ 用戶使用手冊,說明使用軟件系統(tǒng)方法和要求,疑難問題解答;④ 參考手冊,描述可以使用的所有系統(tǒng)設施,解釋系統(tǒng)出錯信息的含義及解決途徑。
7、系統(tǒng)的運行與維護
系統(tǒng)只有投入運行后,才能進一步對系統(tǒng)檢驗,發(fā)現潛在的問題,為了適應環(huán)境的變化和用戶要求的改變,可能會對系統(tǒng)的功能、使用界面進行修改。要對每次發(fā)現的問題和修改內容建立系統(tǒng)維護文檔,并使系統(tǒng)文檔資料同步更新。
軟件開發(fā)過程包括哪些階段?
軟件開發(fā)一般分為五個階段,分別是:
1、問題的定義及規(guī)劃
此階段是軟件開發(fā)與需求放共同討論,主要確定軟件的開發(fā)目標及其可行性。
2、需求分析:在確定軟件開發(fā)可行性的情況下,對軟件需要實現的各個功能進行詳細需求分析。需求分析階段是一個很重要的階段,這一階段做的好,將為整個軟件項目的開發(fā)打下良好的基礎?!拔ㄒ徊蛔兊氖亲兓旧怼保瑯榆浖枨笠彩窃谲浖勰汩_發(fā)過程中不斷變化和深入的,因此,我們必須定制需求變更計劃來應付這種變化,以保護整個項目的正常進行。
3、軟件設計:此階段中偶要根據需求分析的結果,對整個軟件系統(tǒng)進行設計,如系統(tǒng)框架設計、數據庫設計等。軟件設計一般分為總體設計和詳細設計。還的軟件設計將為軟件程序編寫打下良好的基礎。
4、程序編碼:此階段是將軟件設計的結果轉化為計算機可運行的程序代碼。在程序編碼中必定要制定統(tǒng)一、符合標準的編寫規(guī)范。以保證程序的可讀性、易維護性。提高程序的運行效率。
5、軟件測試:在軟件設計完成之后要進行嚴密的測試,一發(fā)現軟件在整個軟件設計過程中存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統(tǒng)測試三個階段進行。測試方法主要有白盒測試和黑盒測試。
關于軟件開發(fā)過程和軟件開發(fā)過程管理的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。