過年的時候,常常有七大姑八大茄子們問道,你的工作是做什麼的?電視上天天報道的駭客什麼的,你們在外面可別幹什麼違法的事啊。每到這時候,我都想直接說,我就是一個修電腦的,可是真要這麼說了,七大姑八大茄子們又要帶著去各家轉,一邊轉還要一邊修電腦,說不定還要手機下載電影小說歌曲,對了,還要貼膜。
為了能夠把軟體開發這回事說得更清楚,正好是周末,就花時間把內容寫一寫,讓七大姑八大茄子們也能知道什麼是軟體開發,我們這夥人每天都在做些什麼事。
首先,說一下什麼叫軟體。
軟體,就是一切支撐電子設備的靈魂。你使用的電腦安裝了Windows 作業系統,那麼Windows 就是一個軟體,你手機上安裝了一個微信,那麼微信就是軟體,你去購買火車票,登入12306 網站,那麼12306 就是一個軟體,甚至你無聊了,想用陌陌找幾個小夥伴,或是打開電驢在精神層次上與倉老師做一次溝通,那麼這些都是軟體,甚至你在百度網盤下載一個盜版電影,百度網盤也是軟體。
那麼,為什麼要開發軟體?
開發軟體的目的有很多,不過主要有這麼多目的:
1, 服務於商務運作和業務運營
比如電商,很多的電商為了能夠比競爭對手更了解市場,更高效率地處理貨物,大多都會開發自己的進銷存,銷售管理,退貨管理,客戶管理或熱點行銷軟體,當然不依賴第三方軟體(例如淘寶)而獨立開發電商軟體的也不在少數。
再例如房產租賃,移動公司的業務辦理,醫院資訊系統,當然也包括大量的辦公流程審批,這一類的應用也屬於商務運作及業務運營類的軟體,其本質還是使用軟體服務於目前的業務模式。
2, 帶來娛樂和放鬆
這一類的軟體太多太多了,遊戲,電影,聊天全部屬於這一類,無論是手機,平板,手錶,汽車當然也包括電腦,這一類的軟體數量龐大,品質各異,新奇軟體層出不窮。
3, 提供閱讀,工具和效率相關的軟體
個人時間記錄,手機微博,手機日曆,天氣,英漢字典,這一類的軟體全部屬於第三類,這一類的軟體相對功能單一,目標明確,以提高效率為目的。
4, 專業軟體
Photoshop 就屬於典型的專業軟體,還有AutoCAD 也屬於這一類,目前市場上有大量的專業軟體存在,而今天有很多的軟體需要移植到不同的平台,例如手機的Android 和iOS。對了,順便說一句,Android 和 iOS 也是軟體。
5, 試驗性質的軟體
這一類的軟體,往往是一家企業或一個組織,希望嘗試一種新的工作模式,或者需要嘗試一種新的產品形態,再或者為了進入某一個市場而專門開發的某一種軟體,這種軟體往往只有一個模糊的需求,開發人員很難拿到定義好的需求規範,在市場上只有少數人能夠接觸到這一類的軟體。
當然,除此之外還有很多很多軟體,是無法隨便歸類的,比如說一個遊戲外掛,再比如一個政府單位需要對某些數據做一些篩選處理,不過總體來說,這些軟體也可以稱為應用軟體,簡單地說,能夠想像到的各種服務於我們日常生活的產品,都屬於軟體。
那軟體是怎麼來的呢?是那些長得像大猩猩的程式設計師們用一般人不認識的程式碼一行一行寫出來的。可是,具體的流程是什麼樣的呢?
首先,需要有一個產品經理站出來,尋找需求並設計產品。先不用管什麼是產品經理,反正知道是一個經理,就行了。在做一個產品之前,有兩個人是少不了 的,第一個是客戶,一個是產品經理。無論是客戶出錢做軟體,還是自己想做一個服務別人的軟體(例如做一個聊天軟體給別人用),那你都需要找客戶,也就是說客戶是使用軟體的人,如果一個軟體沒有人用,或是最初就不知道這個軟體要給誰用,那就沒啥意義了。
OK,現在我們知道產品經理要跟客戶打交道,從客戶那裡了解需求,也就是知道客戶想要一個什麼樣的軟體。不過最大的問題來了:客戶以為自己知道什麼是需求,但其實客戶只能提出當前的問題,並不能夠了解當前的需求,他們誤以為自己面臨的問題就是需求,可是真正的需求是解決方案,也就是說產品經理需要引導客戶說出自己面臨的問題是什麼,並且幫助客戶尋找解決方案,然後把這套的東西轉答給程式設計師。
也就是說,產品經理至少要做:
客戶啊,你的問題是啥,我來給你記下
客戶啊,你的問題如何解決,咱們一起來商議
客戶啊,看,這是文檔,這裡面寫了我們怎麼解決你面臨的問題,還有,還有,這東西要花不少錢啊,還有,你看這軟體是不是這些人來用?這軟體是不是分這麼幾個模組?
客戶啊,你的問題和解決方案全部已經交給程式設計師了,那幫長得像NBA 裡面的詹姆斯的背著雙肩包的人會幫你把軟體做好的 你們這群大猩猩,做的軟體有bug,來來來,讓我告訴你,你的Bug 在哪裡
客戶啊,你看,我天天在你身邊,幫你解決問題,現在,你爽了吧?你還要什麼軟體,你說啊,你說啊。
當然啦,要服務一個產業,首先需要的是了解這個產業的基礎知識。例如要幫淘寶賣家做軟體,那至少需要了解淘寶體系內的各種知識;再比如要為一個礦場開發軟體,那當然需要了解礦場是如何運作的,這就是做一行,愛一行,幹一行,通兩行。
那這樣軟體就做出來了?沒有,當然沒有,因為程式設計師拿到這些研究的需求,做出一個簡單的開發計畫以後,還有很重要的活要做:精細定義產品。
程式設計師裡面總是會出來一個老大,長相大多比較像23 歲的詹姆斯,基本上會長成這樣:
Img273396544
他會做出一付冷酷無情的態度說:你描述的需求不完整啊,你看,我們現在把開發分成了這麼幾個階段,第一步,我們要做一個用戶體系;第二步,我們要作一個訊息系統,當然這傢伙還有可能會說:我們根本不打算做軟體,我們喜歡看著編譯的過程,就是一片黑色的屏蔽上有綠色的字不斷滾動,就像這樣:
5533787120101028221244275568534062000這時候,產品經理只需要知道,程式設計師已經進入了某種入定的狀態,他們需要的是:你告訴他們,客戶想要的一切細節,即使你不知道,你也要告訴程式設計師:乖,別擔心,我去幫你問那夥長得不酷的傢伙們。 這時候,產品經理需要去編寫一些用戶的用例說明,比如像這樣:用例開始用戶點擊登錄鏈接,打開登錄界面使用者輸入自己的使用者名稱和密碼,同時輸入正確的驗證碼如果輸入正確,則讓使用者進入自己的個人控制中心,否則跳轉回登入頁面如果用戶連續三次輸入了錯誤的密碼,請給予提示「對不起,您的人品已用光」當使用者成功登入個人中心後,記錄使用者的登入時間和登入IP 位址
PHPCMS二次開發 http://yun.itxdl.cn/online/phpcms/index.php?u =5
微信開發 http://yun.itxdl.index/online/weixin/index. 🎜>
行動網路伺服器端開發 http://yun.itxdl.cn/online/server/index.php?u=5
Javascript課程 http://yun.itxdl.cn/online/js/index.php?u =5
CTO訓練營 .php?u=5
|