軟件開發(fā)流程流程圖(軟件開發(fā)流程流程圖怎么做)
本篇文章給大家談?wù)勡浖_發(fā)流程流程圖,以及軟件開發(fā)流程流程圖怎么做對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、軟件開發(fā)具體流程是什么樣的?
- 2、軟件開發(fā)步驟是什么,主要流程
- 3、軟件開發(fā)流程
- 4、真心想知道軟件的開發(fā)過程
- 5、軟件開發(fā)的一般流程是什么?
- 6、軟件開發(fā)過程一般有幾個階段?
軟件開發(fā)具體流程是什么樣的?
軟件開發(fā)過程 免費下載
鏈接:
?提取碼:rd84 ?
軟件開發(fā)過程(英語:software development process),或軟件過程(英語:software process),是軟件開發(fā)的開發(fā)生命周期(software development life cycle),其各個階段實現(xiàn)了軟件的需求定義與分析、設(shè)計、實現(xiàn)、測試、交付和維護。軟件過程是在開發(fā)與構(gòu)建系統(tǒng)時應(yīng)遵循的步驟,是軟件開發(fā)的路線圖。
軟件開發(fā)步驟是什么,主要流程
一般一個軟件的開發(fā)是必須包含以下流程的:
1、首先制定項目計劃,最初計劃是里程碑性質(zhì)的。可以先按瀑布模型設(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)并能鼓勵團隊共同朝一個目標(biāo)前進。
5、測試工作,測試是項目的很重要的環(huán)節(jié),怎么測試,怎么準(zhǔn)確測試,怎么有效測試,怎么覆蓋測試,時間、人手、經(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)成果,入庫形成基線。
軟件開發(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è)計,其主要目標(biāo)就是給出軟件的模塊結(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ì)量。
當(dāng)前軟件開發(fā)中除在專用場合,已經(jīng)很少使用二十世紀(jì)80年代的高級語言了,取而代之的是面向?qū)ο蟮拈_發(fā)語言。而且面向?qū)ο蟮拈_發(fā)語言和開發(fā)環(huán)境大都合為一體,大大提高了開發(fā)的速度。
5、測試
軟件測試的目的是以較小的代價發(fā)現(xiàn)盡可能多的錯誤。要實現(xiàn)這個目標(biāo)的關(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ù)軟件運行的情況,對軟件進行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運行中發(fā)現(xiàn)的錯誤。編寫軟件問題報告、軟件修改報告。
一個中等規(guī)模的軟件,如果研制階段需要一年至二年的時間,在它投入使用以后,其運行或工作時間可能持續(xù)五年至十年。那么它的維護階段也是運行的這五年至十年期間。在這段時間,人們幾乎需要著手解決研制階段所遇到的各種問題,同時還要解決某些維護工作本身特有的問題。做好軟件維護工作,不僅能排除障礙,使軟件能正常工作,而且還可以使它擴展功能,提高性能,為用戶帶來明顯的經(jīng)濟效益。然而遺憾的是,對軟件維護工作的重視往往遠不如對軟件研制工作的重視。而事實上,和軟件研制工作相比,軟件維護的工作量和成本都要大得多。
在實際開發(fā)過程中,軟件開發(fā)并不是從第一步進行到最后一步,而是在任何階段,在進入下一階段前一般都有一步或幾步的回溯。在測試過程中的問題可能要求修改設(shè)計,用戶可能會提出一些需要來修改需求說明書等。
真心想知道軟件的開發(fā)過程
分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計 其他編程語言
問題描述:
希望知道軟件的開發(fā)過程
我是學(xué)軟件的一些理論上的知識我能知道,但是我想知道真正實際上是怎么運轉(zhuǎn)的,一個真正的軟件公司的軟件設(shè)計開發(fā)發(fā)布的具體流程。
那位前輩不吝嗇賜教。
謝謝
解析:
軟件系統(tǒng)的開發(fā)是按階段進行的,一般劃分為以下階段:可行性討論;需求分析;系統(tǒng)設(shè)計(概要設(shè)計、詳細設(shè)計);程序開發(fā);編碼,單元測試;系統(tǒng)測試;系統(tǒng)維護。
軟件開發(fā)過程中要明確各階段的工作目標(biāo)、實現(xiàn)該目標(biāo)所必需的工作內(nèi)容以及達到的標(biāo)準(zhǔn)。只有在上一個階段的工作完成后,才能開始下一階段的工作。
1.可行性討論
明確系統(tǒng)的目的、功能和要求,了解目前所具備的開發(fā)環(huán)境和條件,論證的內(nèi)容有:① 在技術(shù)能力上是否可以支持;② 在經(jīng)濟上效益如何;③ 在法律上是否符合要求;④ 與部門、企業(yè)的經(jīng)營和發(fā)展是否吻合;⑤ 系統(tǒng)投入運行后的維護有無保障。
可行性討論的目的是判定軟件系統(tǒng)的開發(fā)有無價值。分析和討論的內(nèi)容形成“系統(tǒng)開發(fā)計劃書”,主要內(nèi)容有:
(1) 開發(fā)的目的及所期待的效果;
(2) 系統(tǒng)的基本設(shè)想,涉及的業(yè)務(wù)對象和范圍;
(3) 開發(fā)進度表,開發(fā)組織結(jié)構(gòu);
(4) 開發(fā)、運行的費用;
(5) 預(yù)期的系統(tǒng)效益;
(6) 開發(fā)過程中可能遇到的問題及注意事項。
2、系統(tǒng)需求分析
系統(tǒng)需求分析是軟件系統(tǒng)開發(fā)中最重要的一個階段,直接決定著系統(tǒng)的開發(fā)質(zhì)量和成敗,必須明確用戶的要求和應(yīng)用現(xiàn)場環(huán)境的特點,了解系統(tǒng)應(yīng)具有哪些功能、數(shù)據(jù)的流程和數(shù)據(jù)之間的聯(lián)系。需求分析應(yīng)有用戶參加,到使用現(xiàn)場進行調(diào)研學(xué)習(xí),軟件設(shè)計人員應(yīng)虛心向技術(shù)人員和使用人員請教,共同討論解決需求問題的方法,對調(diào)查結(jié)果進行分析,明確問題的所在。需求分析的內(nèi)容編寫成“系統(tǒng)需求分析報告”。
3.系統(tǒng)設(shè)計
可根據(jù)系統(tǒng)的規(guī)模分成概要設(shè)計和詳細設(shè)計兩個階段。
概要設(shè)計包括:① 劃分系統(tǒng)模塊;② 每個模塊的功能確定;③ 用戶使用界面概要設(shè)計;④ 輸入輸出數(shù)據(jù)的概要設(shè)計;⑤ 報表概要設(shè)計;⑥ 數(shù)據(jù)之間的聯(lián)系、流程分析;⑦ 文件和數(shù)據(jù)庫表的邏輯設(shè)計;⑧ 硬件、軟件開發(fā)平臺的確定;⑨ 有規(guī)律數(shù)據(jù)的規(guī)范化及數(shù)據(jù)惟一性要求。
系統(tǒng)的詳細設(shè)計是對系統(tǒng)的概要設(shè)計進一步具體化,其主要工作有:① 文件和數(shù)據(jù)庫的物理設(shè)計;② 輸入輸出記錄的方案設(shè)計;③ 對各子系統(tǒng)的處理方式和處理內(nèi)容進行細化設(shè)計;④ 編制程序設(shè)計任務(wù)書。程序說明書通常包括程序規(guī)范、功能說明、程序結(jié)構(gòu)圖,通常用HPIPO(Hierarchy Plus Input Process Output)圖描述。
4、程序開發(fā)
根據(jù)程序設(shè)計任務(wù)書的要求,用計算機算法語言實現(xiàn)解題的步驟,主要工作包括:① 模塊的理解和進一步劃分;② 以模塊為單位的邏輯設(shè)計,也就是模塊內(nèi)的流程圖的編制;③ 編寫代碼,用程序設(shè)計語言編制程序;④ 進行模塊內(nèi)功能的測試、單元測試。
程序質(zhì)量的要求包括:① 滿足要求的確切功能;② 處理效率高;③ 操作方便,用戶界面友好;④ 程序代碼的可讀性好,函數(shù)、變量標(biāo)識符合規(guī)范;⑤ 擴充性、維護性好。
降低程序的復(fù)雜性也是十分重要的。系統(tǒng)的復(fù)雜性由模塊間的接口數(shù)來衡量,一般地講,n個模塊的接口數(shù)的最大值為n(n-1)/2;若是層次結(jié)構(gòu),n個模塊的接口數(shù)的最小值為n-1。為使復(fù)雜性最小,對模塊的劃分設(shè)計常常采用層次結(jié)構(gòu)。要注意編制的程序或模塊應(yīng)容易理解、容易修改,模塊應(yīng)相互獨立,對某一模塊的修改應(yīng)對其他模塊的功能不產(chǎn)生影響,模塊間的聯(lián)系盡可能少。
5.系統(tǒng)測試
測試是為了發(fā)現(xiàn)程序中的錯誤,對于設(shè)計的軟件,出現(xiàn)錯誤是難免的。系統(tǒng)測試通常由經(jīng)驗豐富的設(shè)計人員設(shè)計測試方案和測試樣品,并寫出測試過程的詳細報告。系統(tǒng)測試是在單元測試的基礎(chǔ)上進行的,包括:① 測試方案的設(shè)計;② 進行測試;③ 寫出測試報告;④ 用戶對測試結(jié)果進行評價。
6、文檔資料
文檔包括開發(fā)過程中的所有技術(shù)資料以及用戶所需的文檔,軟件系統(tǒng)的文檔一般可分為系統(tǒng)文檔和用戶文檔兩類。用戶文檔主要描述系統(tǒng)功能和使用方法,并不考慮這些功能是怎樣實現(xiàn)的;系統(tǒng)文檔描述系統(tǒng)設(shè)計、實現(xiàn)和測試等方面的內(nèi)容。文檔是影響軟件可維護性、可用性的決定因素,有句話講,系統(tǒng)編程人員的每一張紙片都要保留,所以文檔的編制是軟件開發(fā)過程中的一項重要工作。
系統(tǒng)文檔包括:開發(fā)軟件系統(tǒng)在計劃、需求分析、設(shè)計、編制、調(diào)試、運行等階段的有關(guān)文檔。在對軟件系統(tǒng)進行修改時,系統(tǒng)文檔應(yīng)同步更新,并注明修改者和修改日期,如有必要應(yīng)注明修改原因,應(yīng)切記過時的文檔是無用的文檔。
用戶文檔包括:① 系統(tǒng)功能描述;② 安裝文檔,說明系統(tǒng)安裝步驟以及系統(tǒng)的硬件配置方法;③ 用戶使用手冊,說明使用軟件系統(tǒng)方法和要求,疑難問題解答;④ 參考手冊,描述可以使用的所有系統(tǒng)設(shè)施,解釋系統(tǒng)出錯信息的含義及解決途徑。
7、系統(tǒng)的運行與維護
系統(tǒng)只有投入運行后,才能進一步對系統(tǒng)檢驗,發(fā)現(xiàn)潛在的問題,為了適應(yīng)環(huán)境的變化和用戶要求的改變,可能會對系統(tǒng)的功能、使用界面進行修改。要對每次發(fā)現(xiàn)的問題和修改內(nèi)容建立系統(tǒng)維護文檔,并使系統(tǒng)文檔資料同步更新。
軟件開發(fā)的一般流程是什么?
第一步:需求調(diào)研分析
軟件開發(fā)流程
軟件開發(fā)流程
1相關(guān)系統(tǒng)分析員向用戶初步了解需求,然后用word列出要開發(fā)的系統(tǒng)的大功能模塊,每個大功能模塊有哪些小功能模塊,對于有些需求比較明確相關(guān)的界面時,在這一步里面可以初步定義好少量的界面。
2 系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗和需求用WORD或相關(guān)的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會清楚列出系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還列出相關(guān)的界面和界面功能。
3 系統(tǒng)分析員向用戶再次確認需求。
第二步:概要設(shè)計
首先,開發(fā)者需要對軟件系統(tǒng)進行概要設(shè)計,即系統(tǒng)設(shè)計。概要設(shè)計需要對軟件系統(tǒng)的設(shè)計進行考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計、運行設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計和出錯處理設(shè)計等,為軟件的詳細設(shè)計提供基礎(chǔ)。
第三步:詳細設(shè)計
在概要設(shè)計的基礎(chǔ)上,開發(fā)者需要進行軟件系統(tǒng)的詳細設(shè)計。在詳細設(shè)計中,描述實 現(xiàn)具體模塊所涉及到的主要算法、數(shù)據(jù)結(jié)構(gòu)、類的層次結(jié)構(gòu)及調(diào)用關(guān)系,需要說明軟件系統(tǒng)各個層次中的每一個程序(每個模塊或子程序)的設(shè)計考慮,以便進行編碼和測試。應(yīng)當(dāng)保證軟件的需求完全分配給整個軟件。詳細設(shè)計應(yīng)當(dāng)足夠詳細,能夠根據(jù)詳細設(shè)計報告進行編碼。
第四步:編碼
在軟件編碼階段,開發(fā)者根據(jù)《軟件系統(tǒng)詳細設(shè)計報告》中對數(shù)據(jù)結(jié)構(gòu)、算法分析和模塊實現(xiàn)等方面的設(shè)計要求,開始具體的編寫程序工作,分別實現(xiàn)各模塊的功能,從而實現(xiàn)對目標(biāo)系統(tǒng)的功能、性能、接口、界面等方面的要求?!?/p>
第五步:測試
測試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個一個的確認每個功能。
軟件開發(fā)過程一般有幾個階段?
軟件開發(fā)的生命周期一般分為6個階段:計劃、需求分析、邏輯設(shè)計、程序編制、調(diào)試、運行和維護
軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護三個階段:
軟件定義階段
制定計劃:確定總目標(biāo);可行性研究;探討解決方案;制定開發(fā)計劃。
需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。
軟件開發(fā)階段
軟件設(shè)計:分為概要設(shè)計和詳細設(shè)計兩個部分?
軟件實現(xiàn):把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼
軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分
軟件運行維護階段
軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。
關(guān)于軟件開發(fā)流程流程圖和軟件開發(fā)流程流程圖怎么做的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。