1. 程式人生 > >一個軟體完整的開發流程介紹

一個軟體完整的開發流程介紹

剛開始寫博文的時候就應該將這個文章更新一下,雖然不是什麼大牛,但是對於軟體的開發流程還是比較瞭解的,畢竟大大小小做過了好幾個專案了,今天就大概的說一下,用我做過的一個專案來說吧,寫的不好的,請多多見諒,畢竟小生不才。

開發流程百度的解釋是:


不是我懶得寫,而是覺得寫出來也不是自己的,還不如直接告訴你們我是百度的概念...但是下面的我們就不要百度了,因為百度說的太專業,讓你看了很煩,最起碼我是很煩(都是些什麼玩意).


進入正題

我們分公司性質來說一個軟體的開發流程,

軟體公司和非軟體公司

非軟體公司

需求分析-概要設計-程式編碼-程式測試-軟體交付-客戶驗收-碼農維護

軟體公司

需求分析-概要設計-詳細設計-程式編碼-程式測試-軟體交付-客戶驗收-碼農維護

我們一步一步的說:

需求分析

一個軟體沒有出現之前,只是有一部分人有一個想法,我需要一個這樣的東西(想要一個孩子了)用來管理我的什麼什麼,這個時候一個想法出現了,就會有這個需求,他會找軟體公司需求分析師來商量,這個時候一個軟體就懷孕了,相當於開始發育了.需求分析是聽完要求以後會將大概的功能描述一下,用Word或者Axure畫出一個簡單的Demo給使用者看,經過幾次確認以後需求分析師會最後確認功能是不是完善的,確認了以後進行我們的下一步,概要設計

概要設計

這個功能主要是幹嘛的呢?很多的公司覺得沒必要,其實是很有必要的,這個就是相當於先規劃一下怎麼平安度過懷孕期,對於軟體來說就是軟體的處理邏輯,大概的一個流程是怎麼走的,大概需要哪些模組,怎麼執行,需要大概多少介面,後期怎麼維護等問題,做這些幹呢嗎?為了下一步-詳細設計

詳細設計

有人說,詳細設計是很麻煩的一步,其實不是很麻煩的一步,我覺得是最難的一步,詳細設計主要是用來確認細節的,介面的名字啊,控制器的名字啊,多少個控制器,誰來呼叫誰,這個不可以有錯,因為後期碼農是需要看這個開發的,你怎麼起名字,他們就怎麼寫,所以這裡出錯也就意味著編碼的時候也會錯,最後會有一份詳細設計書出現,這個就是告訴孕婦具體吃什麼,怎麼吃,多少量。

碼農編碼

很多人覺得這個就是搬磚,看著設計書就直接寫就可以了,理論是這樣的,但是為什麼還有很多的bug出現呢?很大一部分原因並不是設計的原因(當然也有可能),很大原因是不規範造成的,還有就是是不是一個專案組的人可以協作處理程式碼,怎麼做可可以提高編碼的效率,這些問題都是在編碼的時候出現的問題。這個是相當於孕婦實施那一套套餐的時候具體是不是按規範來吃的。

程式測試

這一步是裡面很重要的一步,測試,我們不可能說寫好直接就給使用者用了,這個是不現實的,我們需要做的是先給測試部門進行系統的測試,當然這個測試不是按照使用者的想法來的,他們會很暴力,舉個栗子,一個按鈕,正常的使用者使用的時候會直接點選一次,看到效果就可以了,但是測試的時候不是,他們會瘋狂的點選,知道他們覺得這個世界上不會有人比他們暴力的時候他們會停止,當然這是一個好的測試人員,很多的測試不會是這樣的,他們覺得正常使用沒問題就是沒事的,其實一個軟體好不好,很大一部分在於測試人員的測試力度。最後寫一份測試報告就可以了。

軟體交付

測試結束以後沒有任何的問題的話,就可以寫安裝手冊了,這個其實就是使用者使用指南。

客戶驗收

交付後客戶簡單的測試以後覺得是和自己想的一樣的,就收貨,交錢.

碼農維護

是不是驗收以後就沒事了呢?當然不是,一個軟體很多時候是在用一段時間以後才會出問題的,所以會一直需要人來維護他們,當然不是說只是出問題才會維護的,主要的原因是軟體會根據不同的需要更改功能,這樣的過程也是維護的過程,QQ已經更新多少代了,是不是,這也是一個維護的過程。

專案重構

這個是一個專案如果出現了新的技術,功能沒有改變的時候,為了使用者體驗,例如之前是SSH寫的,但是執行的速度很低,用SpringBoot,大家都在用,使用者反映很好,那麼這個時候就需要專案重構了,用新的技術將之前的功能重新實現。

基本那就是這些了,另外細心的人也看到了非軟體公司是沒有詳細設計的,這個解釋一下,為什麼呢?很簡單,其實詳細設計是和耗費時間的,非軟體公司的人不會花費這個時間在設計上,他們就是直接告訴你需求,碼農只需要直接編碼就可以了,一般這樣的對你用什麼技術,什麼框架是沒有要求的。