軟件很好做嗎?

李進


十年IT經驗的回答下。

軟件就是一個產品。

1、這個問題等於是問:車很好造嗎?車有很小的玩具車,有自行車有摩托車,有大卡車,賽車,轎車。那麼當然有好做的有不好做的。軟件也包括很多,操作系統是軟件,數據庫也是軟件,Erp是軟件,OA是軟件,簡易的抽獎工具是軟件,意思是軟件有好做的也有不好做的。

2、軟件這個產品相比普通的大眾家用產品(碗、筷子、食品等)難做些,因為需要做軟件前的學習成本還挺大,學習時間長,想對來說比工廠裡面生產的大部分產品壁壘要好,所以對於普通人來說確實不好做。

3、假如是學計算機專業的,那就是簡單的軟件好做,邏輯複雜、功能多、需要大規模協作的軟件難做。


信息化那些事


這個要看你是想做一個軟件僅此而已還是想完整的做好一個軟件。

下面我通俗的說一下一個正規的軟件公司開發一個軟件所需的流程:

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

  • 需求分析

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

  • 概要設計

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

  • 詳細設計

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

  • 碼農編碼

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

  • 程序測試

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

  • 軟件交付

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

  • 客戶驗收

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

  • 碼農維護

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

綜上所述,要是想系統的開發出一個軟件還是需要很大的成本的,但是僅僅想做出一個軟件出來而不考慮其他因素還是比較容易的。


分享到:


相關文章: