回覆列表
-
1 # 木子無界科技
-
2 # 資訊化那些事
十年IT經驗的回答下。
軟體就是一個產品。
1、這個問題等於是問:車很好造嗎?車有很小的玩具車,有腳踏車有摩托車,有大卡車,賽車,轎車。那麼當然有好做的有不好做的。軟體也包括很多,作業系統是軟體,資料庫也是軟體,Erp是軟體,OA是軟體,簡易的抽獎工具是軟體,意思是軟體有好做的也有不好做的。
2、軟體這個產品相比普通的大眾家用產品(碗、筷子、食品等)難做些,因為需要做軟體前的學習成本還挺大,學習時間長,想對來說比工廠裡面生產的大部分產品壁壘要好,所以對於普通人來說確實不好做。
3、假如是學計算機專業的,那就是簡單的軟體好做,邏輯複雜、功能多、需要大規模協作的軟體難做。
這個要看你是想做一個軟體僅此而已還是想完整的做好一個軟體。
下面我通俗的說一下一個正規的軟體公司開發一個軟體所需的流程:
需求分析-概要設計-詳細設計-程式編碼-程式測試-軟體交付-客戶驗收-碼農維護
需求分析
一個軟體沒有出現之前,只是有一部分人有一個想法,我需要一個這樣的東西(想要一個孩子了)用來管理我的什麼什麼,這個時候一個想法出現了,就會有這個需求,他會找軟體公司需求分析師來商量,這個時候一個軟體就懷孕了,相當於開始發育了.需求分析是聽完要求以後會將大概的功能描述一下,用Word或者Axure畫出一個簡單的Demo給使用者看,經過幾次確認以後需求分析師會最後確認功能是不是完善的,確認了以後進行我們的下一步,概要設計
概要設計
這個功能主要是幹嘛的呢?很多的公司覺得沒必要,其實是很有必要的,這個就是相當於先規劃一下怎麼平安度過懷孕期,對於軟體來說就是軟體的處理邏輯,大概的一個流程是怎麼走的,大概需要哪些模組,怎麼執行,需要大概多少介面,後期怎麼維護等問題,做這些幹呢嗎?為了下一步-詳細設計
詳細設計
有人說,詳細設計是很麻煩的一步,其實不是很麻煩的一步,我覺得是最難的一步,詳細設計主要是用來確認細節的,介面的名字啊,控制器的名字啊,多少個控制器,誰來呼叫誰,這個不可以有錯,因為後期碼農是需要看這個開發的,你怎麼起名字,他們就怎麼寫,所以這裡出錯也就意味著編碼的時候也會錯,最後會有一份詳細設計書出現,這個就是告訴孕婦具體吃什麼,怎麼吃,多少量。
碼農編碼
很多人覺得這個就是搬磚,看著設計書就直接寫就可以了,理論是這樣的,但是為什麼還有很多的bug出現呢?很大一部分原因並不是設計的原因(當然也有可能),很大原因是不規範造成的,還有就是是不是一個專案組的人可以協作處理程式碼,怎麼做可可以提高編碼的效率,這些問題都是在編碼的時候出現的問題。這個是相當於孕婦實施那一套套餐的時候具體是不是按規範來吃的。
程式測試
這一步是裡面很重要的一步,測試,我們不可能說寫好直接就給使用者用了,這個是不現實的,我們需要做的是先給測試部門進行系統的測試,當然這個測試不是按照使用者的想法來的,他們會很暴力,舉個栗子,一個按鈕,正常的使用者使用的時候會直接點選一次,看到效果就可以了,但是測試的時候不是,他們會瘋狂的點選,知道他們覺得這個世界上不會有人比他們暴力的時候他們會停止,當然這是一個好的測試人員,很多的測試不會是這樣的,他們覺得正常使用沒問題就是沒事的,其實一個軟體好不好,很大一部分在於測試人員的測試力度。最後寫一份測試報告就可以了。
軟體交付
測試結束以後沒有任何的問題的話,就可以寫安裝手冊了,這個其實就是使用者使用指南。
客戶驗收
交付後客戶簡單的測試以後覺得是和自己想的一樣的,就收貨,交錢.
碼農維護
是不是驗收以後就沒事了呢?當然不是,一個軟體很多時候是在用一段時間以後才會出問題的,所以會一直需要人來維護他們,當然不是說只是出問題才會維護的,主要的原因是軟體會根據不同的需要更改功能,這樣的過程也是維護的過程,QQ已經更新多少代了,是不是,這也是一個維護的過程。
綜上所述,要是想系統的開發出一個軟體還是需要很大的成本的,但是僅僅想做出一個軟體出來而不考慮其他因素還是比較容易的。