軟體開發設計流程
我們分公司性質來說一個軟體的開發流程,
軟體公司和非軟體公司
非軟體公司
需求分析-概要設計-程序編碼-程序測試-軟體交付-客戶驗收-碼農維護
軟體公司
需求分析-概要設計-詳細設計-程序編碼-程序測試-軟體交付-客戶驗收-碼農維護
需求分析
一個軟體沒有出現之前,只是有一部分人有一個想法,我需要一個這樣的東西(想要一個孩子了)用來管理我的什麼什麼,這個時候一個想法出現了,就會有這個需求,他會找軟體公司需求分析師來商量,這個時候一個軟體就懷孕了,相當於開始發育了.需求分析是聽完要求以後會將大概的功能描述一下,用Word或者Axure畫出一個簡單的Demo給用戶看,經過幾次確認以後需求分析師會最後確認功能是不是完善的,確認了以後進行我們的下一步,概要設計
概要設計
這個功能主要是幹嘛的呢?很多的公司覺得沒必要,其實是很有必要的,這個就是相當於先規劃一下怎麼平安度過懷孕期,對於軟體來說就是軟體的處理邏輯,大概的一個流程是怎麼走的,大概需要哪些模塊,怎麼運行,需要大概多少介面,後期怎麼維護等問題,做這些干呢嗎?為了下一步-詳細設計
詳細設計
有人說,詳細設計是很麻煩的一步,其實不是很麻煩的一步,我覺得是最難的一步,詳細設計主要是用來確認細節的,介面的名字啊,控制器的名字啊,多少個控制器,誰來調用誰,這個不可以有錯,因為後期碼農是需要看這個開發的,你怎麼起名字,他們就怎麼寫,所以這里出錯也就意味著編碼的時候也會錯,最後會有一份詳細設計書出現,這個就是告訴孕婦具體吃什麼,怎麼吃,多少量。
碼農編碼
很多人覺得這個就是搬磚,看著設計書就直接寫就可以了,理論是這樣的,但是為什麼還有很多的bug出現呢?很大一部分原因並不是設計的原因(當然也有可能),很大原因是不規范造成的,還有就是是不是一個項目組的人可以協作處理代碼,怎麼做可可以提高編碼的效率,這些問題都是在編碼的時候出現的問題。這個是相當於孕婦實施那一套套餐的時候具體是不是按規范來吃的。
程序測試
這一步是裡面很重要的一步,測試,我們不可能說寫好直接就給用戶用了,這個是不現實的,我們需要做的是先給測試部門進行系統的測試,當然這個測試不是按照用戶的想法來的,他們會很暴力,舉個栗子,一個按鈕,正常的用戶使用的時候會直接點擊一次,看到效果就可以了,但是測試的時候不是,他們會瘋狂的點擊,知道他們覺得這個世界上不會有人比他們暴力的時候他們會停止,當然這是一個好的測試人員,很多的測試不會是這樣的,他們覺得正常使用沒問題就是沒事的,其實一個軟體好不好,很大一部分在於測試人員的測試力度。最後寫一份測試報告就可以了。
軟體交付
測試結束以後沒有任何的問題的話,就可以寫安裝手冊了,這個其實就是用戶使用指南。
客戶驗收
交付後客戶簡單的測試以後覺得是和自己想的一樣的,就收貨,交錢.
碼農維護
是不是驗收以後就沒事了呢?當然不是,一個軟體很多時候是在用一段時間以後才會出問題的,所以會一直需要人來維護他們,當然不是說只是出問題才會維護的,主要的原因是軟體會根據不同的需要更改功能,這樣的過程也是維護的過程,QQ已經更新多少代了,是不是,這也是一個維護的過程。
項目重構
這個是一個項目如果出現了新的技術,功能沒有改變的時候,為了用戶體驗,例如之前是SSH寫的,但是運行的速度很低,用SpringBoot,大家都在用,用戶反映很好,那麼這個時候就需要項目重構了,用新的技術將之前的功能重新實現。
基本那就是這些了,另外細心的人也看到了非軟體公司是沒有詳細設計的,這個解釋一下,為什麼呢?很簡單,其實詳細設計是和耗費時間的,非軟體公司的人不會花費這個時間在設計上,他們就是直接告訴你需求,碼農只需要直接編碼就可以了,一般這樣的對你用什麼技術,什麼框架是沒有要求的。
Ⅱ 軟體項目開發工作流程
軟體開發流程可份為8步
一:需求分析
1.相關系統分析員向用戶初步了解需求,然後用相關的工具軟體列出要開發的系統的大功能模塊,每個大功能模塊有哪些小功能模塊,對於有些需求比較明確相關的界面時,在這一步裡面可以初步定義好少量的界面。
2.系統分析員深入了解和分析需求,根據自己的經驗和需求用WORD或相關的工具再做出一份文檔系統的功能需求文檔。這次的文檔會清楚列出系統大致的大功能模塊,大功能模塊有哪些小功能模塊,並且還列出相關的界面和界面功能。
3.系統分析員向用戶再次確認需求。
二:概要設計
首先,開發者需要對軟體系統進行概要設計,即系統設計。概要設計需要對軟體系統的設計進行考慮,包括系統的基本處理流程、系統的組織結構、模塊劃分、功能分配、介面設計、運行設計、數據結構設計和出錯處理設計等,為軟體的詳細設計提供基礎。
三:詳細設計
在概要設計的基礎上,開發者需要進行軟體系統的詳細設計。在詳細設計中,描述實現具體模塊所涉及到的主要演算法、數據結構、類的層次結構及調用關系,需要說明軟體系統各個層次中的每一個程序(每個模塊或子程序)的設計考慮,以便進行編碼和測試。應當保證軟體的需求完全分配給整個軟體。詳細設計應當足夠詳細,能夠根據詳細設計報告進行編碼。
四:編碼
在軟體編碼階段,開發者根據《軟體系統詳細設計報告》中對數據結構、演算法分析和模塊實現等方面的設計要求,開始具體的編寫程序工作,分別實現各模塊的功能,從而實現對目標系統的功能、性能、介面、界面等方面的要求。
五:測試
測試編寫好的系統。交給用戶使用,用戶使用後一個一個的確認每個功能。測試同樣是項目研發中一個相當重要的步驟,對於一個大型軟體,3個月到1年的外部測試都是正常的,因為永遠都會有不可預料的問題存在。完成測試後,完成驗收並完成最後的一些幫助文檔,整體項目才算告一段落,當然日後少不了升級,修補等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟體的運營狀況並持續修補升級,直到這個軟體被徹底淘汰為止。
六:軟體交付
在軟體測試證明軟體達到要求後,軟體開發者應向用戶提交開發的目標安裝程序、資料庫的數據字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設計報告、測試報告等雙方合同約定的產物。
七:驗收
用戶驗收。
八:維護
根據用戶需求的變化或環境的變化,對應用程序進行全部或部分的修改。
Ⅲ 軟體開發的一般流程是什麼_
軟體開發流程分為: 需求確認——概要設計——詳細設計——編碼——單元測試——集成測試——系統測試——維護
軟體開發是一項包括需求捕捉、需求分析、設計、實現和測試的系統工程。軟體一般是用某種程序設計語言來實現的。通常採用軟體開發工具可以進行開發。軟體分為系統軟體和應用軟體,並不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟體的一部分。
軟體設計思路和方法的一般過程,包括設計軟體的功能和實現的演算法和方法、軟體的總體結構設計和模塊設計、編程和調試、程序聯調和測試以及編寫、提交程序。
(3)軟體開發設計流程擴展閱讀
軟體開發方面的工作。具體可分為以下方面:
1可視化編程掌握程序設計方法及可視化技術,精通一種可視化平台及其軟體開發技術。獲取Delphi程序員系列、Java初級或VB開發能手認證。 就業方向:企業、政府、社區、各類學校等可視化編程程序員。
2 WEB應用程序設計 具有美工基礎和網頁動畫設計能力,掌握互動式網頁程序的設計技術,能進行網站建設和維護。獲取Macromedia多媒體互動設計師或Delphi初級程序員或Delphi快速網路開發工程師認證。 就業方向:企業、政府、社區、各類學校等WEB應用程序員。
3軟體測試掌握軟體測試的基本原理、方法和組織管理,精通軟體測試工具。獲取ATA軟體測試工程師或Delphi初級程序員或Java初級程序員認證。 就業方向:企業、政府、社區、各類學校等軟體測試員。
4 資料庫管理 能應用關系範式進行資料庫設計,精通SQL語言,勝任資料庫伺服器管理與應用工作。獲取Oracle資料庫管理或SQL Server資料庫應用或Windows XP應用認證。 就業方向:企業、政府、社區、各類學校等部門的中、大型資料庫管理員。
5 圖形圖像製作 精通國際上流行的圖形/圖像製作工具(如CorelDraw、Photoshop、Pagemaker等)。獲取平面設計師相關的認證。 就業方向:廣告製作公司、建築設計公司、包裝裝璜設計公司、居室裝修公司、出版印刷公司。
參考資料來源:網路-軟體開發
Ⅳ 軟體開發的流程都有哪些步驟呢
軟體開發一般分為五個階段:
1.問題的定義及規劃
此階段是軟體開發與需求放共同討論,主要確定軟體的開發目標及其可行性。
2.需求分析
在確定軟體開發可行性的情況下,對軟體需要實現的各個功能進行詳細需求分析。需求分析階段是一個很重要的階段,這一階段做的好,將為整個軟體項目的開發打下良好的基礎。「唯一不變的是變化本身」,同樣軟體需求也是在軟體愛你開發過程中不斷變化和深入的,因此,我們必須定製需求變更計劃來應付這種變化,以保護整個項目的正常進行。
3.軟體設計
此階段中偶要根據需求分析的結果,對整個軟體系統進行設計,如系統框架設計、資料庫設計等。軟體設計一般分為總體設計和詳細設計。還的軟體設計將為軟體程序編寫打下良好的基礎。
4.程序編碼
此階段是將軟體設計的結果轉化為計算機可運行的程序代碼。在程序編碼中必定要制定統一、符合標準的編寫規范。以保證程序的可讀性、易維護性。提高程序的運行效率。
5.軟體測試
在軟體設計完成之後要進行嚴密的測試,一發現軟體在整個軟體設計過程中存在的問題並加以糾正。整個測試階段分為單元測試、組裝測試、系統測試三個階段進行。測試方法主要有白盒測試和黑盒測試。