一、軟件開發(fā)的定義
我給翻譯下:
軟件開發(fā)的意思呢就是說,基于程序設計語言,如java\net\php等開發(fā)語言,去實現(xiàn)某一類需求系統(tǒng)的開發(fā)和建設,并最終將其安裝到電腦或手機,甚至是冰箱等智能設備載體上去運行的一種行為;
軟件開發(fā)的行為較為復雜,里面包含了需求分析、設計、編碼實現(xiàn)和測試維護等眾多階段內容;
但最終我們需求的就是通過這一種建造方式,來做出我們理想的產品來,便于我們日常的工作和生活使用;任何智能設備如果離開了軟件的支持,那么就是一堆廢鐵;
不僅僅是我們日常用到的微信、釘釘?shù)溶浖?,就是我們電腦安裝的window 或者MAC OS操作系統(tǒng)也可以視為一類軟件;
軟件開發(fā)細說的話也分很多種類,如嵌入式開發(fā),智能AI等范疇也都包含了軟件開發(fā)的行為,我們本文只闡述并解釋 純軟件行為;暫不涉及硬件、物聯(lián)網(wǎng)等范疇;
二、軟件編程語言的進化
學過《數(shù)字邏輯電路》這門課程的同學知道,我們涉及電路板,讓他理解信號并處理,用的就是0、1二進制;0、1所代表的也叫機器語言;
那么再往上一點叫匯編語言,相比較0、1就要上一層了,但依舊很難懂,會的人很少;
再進步一點呢,我們就有了C語言,C語言至今也是各大院校開發(fā)語言學習的入門語言;
C語言的誕生,使得計算機進入了一個嶄新的時代,其人性化的編程風格,使得編程技術迅速普及起來
再后來,我們就有了C++、C# JAVA等面向對象的語言;
我們可以用比較簡單的詞匯,去編寫一段處理邏輯,用我們人腦的思維去給機器編程;
對比最開始的0、1是偉大的進步了;
至今,各類面向對象語言的編程和設計,已經得到了長足的應用,并且各類前后端技術還在如雨后春筍般迭代;
同時,我們用的軟件,也從最開始的黑白‘軟體’到現(xiàn)如今琳瑯滿目的漂亮應用;
我們使用軟件開發(fā)技術,解決了一個又一個領域的問題,現(xiàn)在倡導的互聯(lián)網(wǎng)+,更是把軟件開發(fā)行為和傳統(tǒng)生產模式相結合,大大的提升了企業(yè)的生產效率和產值;
好,重點來了!
我們前面講了軟件開發(fā)的基本定義和編程語言技術應用領域發(fā)展,下面我們講下軟件開發(fā)的幾個步驟和過程;
讓我們看看,一個軟件到底是怎么做出來的?
三、軟件開發(fā)的流程和步驟
網(wǎng)上流傳著一個笑話,我已經找不到出處了,無法@,大致是講了一個禿頭理論:
我給潤色補充了下:
說是,一個標準的“掉頭發(fā)”人員的參與流程標準應該是下面這樣的;
第一步是:銷售人員和你對接,確定開發(fā)意向;
第二步是:項目經理找你談具體的開發(fā)細節(jié),并確定工期報價,并簽約
第三步是:技術或者項目經理給你繪制原型圖,確定模塊和功能分布
第四步是:UI設計師,按照確定好的原型圖,給你做界面和美工
第五步是:程序員,按照項目開發(fā)內容要求,編寫程序并結合前臺UI實現(xiàn)功能
你以為到這里就完了?
第六步是:測試員,開始測試全面項目穩(wěn)定性和功能實現(xiàn)度,并拉著項目經理找程序員“約架”!
第七步是:程序員哭著改完了所有的Bug,項目經理找到你驗收確認;
第八步是:項目培訓,有專門的人員和您公司的對接人講解并說明使用;并提供操作手冊,源代碼等
第九步是:就是正式使用軟件,并進入軟件生命周期的最后一個階段,維護期;軟件公司會專門給你配置一個對接人,負責維護你的項目,有問題可以隨時反饋給他們;他們來提供技術支持;
大家可能讀起來代入感不強,那么我下面用第一視角,給安排下:
假如你現(xiàn)在是一家企業(yè)的老板,你現(xiàn)在需要一款CRM客戶管理系統(tǒng),用于存儲你的客戶信息,并要求每個客戶和客戶對應的訂單關聯(lián)起來,然后訂單的金額里面區(qū)分開已收款和待收款,并要求實現(xiàn)報表統(tǒng)計的實時數(shù)據(jù),方便你查看; 開發(fā)的終端要求有電腦端和app、小程序端;方便銷售員快速錄入客戶和訂單信息等;
經過朋友介紹,你考察好了一家軟件公司準備合作,那么你們的合作流程如下:
第一步:乙方公司的代表和你探討了你的項目的具體開發(fā)要求,并就預算和工期兩家達成一致;
這時候你們要簽署一份開發(fā)合約,合約中明確了開發(fā)內容和設計約束等方面約定;
第二步:乙方公司的項目經理,和您進行了二次和細致的溝通,就開發(fā)的細節(jié)部分進行了確認,項目經理幾天后做出了一份項目原型設計,找到你。
原型設計里面,展示了項目的基礎模塊位置、功能、和基本樣式、交互等信息;
你和項目經理,交換了意見后,確認了原型圖的設計
(在項目的一開始,乙方公司會通知你進行相關的ICP備案和小程序認證,服務器購買等工作)
第三步:
軟件公司安排了一個UI設計師去設計你的項目圖,項目圖是在原型圖的邏輯基礎上繪制出來了。UI設計師會告訴你,這是咱們項目的配色和樣式,您確認下;如果有問題可以改;
雙方確認無誤后,進入了第三步
第四步:
前端的工程師入場,開始就網(wǎng)頁和APP端的H5和Uniapp界面,進行實現(xiàn);
前段工程師帶著寫好的前段網(wǎng)頁代碼找到你進行演示,雙方交換意見,修改確認;
在這個階段,你和乙方基本確認了本項目的交互方式
第五步:
后臺工程師入場,開始數(shù)據(jù)庫建模和程序編寫,這個過程需要多消耗些時間,終于后臺工程師把項目的演示網(wǎng)址發(fā)給您確認。
雙方對項目的整體功能模塊和數(shù)據(jù)交互層面,進行了確認和完善;
并在進行了幾輪的修改調整后,確定了最終的功能設計
第六步:
后臺工程師將你的項目演示網(wǎng)址,發(fā)給了測試部門的同事,測試部開始進行單元測試、集成測試等各類回歸測試、極限測試、白盒黑盒測試等等等等;
并且把測試發(fā)現(xiàn)的問題,統(tǒng)一反饋給前面的UI、前端、后端技術進行協(xié)作修改完善;
第七步:
項目經理拿著測試好的項目找到你進行最后的驗收確認,你安排了你們公司的幾個業(yè)務骨干進行試用。沒有問題了之后了打款驗收;
第八步:
乙方公司將你的項目源碼部署到你的服務器上,并交接了相關的開發(fā)文檔等內容;
你表示,后續(xù)的維護等問題還需要繼續(xù)保持良好合作
第九步:
項目正式上線運行,維護階段正式開始,在這個階段的維護有效期內,甲方公司發(fā)現(xiàn)的bug等問題,可以免費找到乙方提供技術支持,乙方負責保障項目的良好穩(wěn)定運行;
至此呢,你公司所需要的業(yè)務管理軟件,就算是正式做出來了;
這也就是一個普通的企業(yè)級項目開發(fā)的流程了。
當然了,在這個流程描述中比較理想化,我們會常常遇到雙方溝通隔閡,甚至是需求變更、加價等問題;
并且呢,隨著項目的使用,還會有后續(xù)的二次開發(fā)事宜;
如果有想省事的老板,可以直接看看我的這篇文章;相當于自己組建了一個IT團隊,用自己熟練的業(yè)務知識,快速搭建自己理想的系統(tǒng);
四、常見的企業(yè)管理軟件類型
我們前面講了軟件開發(fā)的概念、應用語言和平臺架構以及一個軟件開發(fā)項目的實際實施過程;
下面我們補充講下企業(yè)管理系統(tǒng)的幾個類型:
只做簡單介紹,不講得太復雜;
企業(yè)管理系統(tǒng)我們常見的有
ERP(企業(yè)資源計劃管理系統(tǒng))
CRM(客戶管理系統(tǒng))
OA(協(xié)同辦公自動化)
WMS(倉儲管理系統(tǒng))
進銷存生產管理系統(tǒng)、PM項目管理系統(tǒng)、HR(人力資源系統(tǒng)系統(tǒng)),財務管理系統(tǒng)等
我們發(fā)現(xiàn),每一類型的管理系統(tǒng),實際上都是基于客戶公司的實際業(yè)務做出來的分支;
我們打個比方,如果客戶公司體量較大,員工好幾百人這樣的;那么他就一定需要一個OA協(xié)同辦公的系統(tǒng);
在OA系統(tǒng)中,我們比較常見的功能有行政審批;請假、報銷、開會通知日程管理等日常業(yè)務的管理
如果客戶公司的體量不是很大,十幾幾十個人,那么他們可能就不太需要一個OA的系統(tǒng)定制,但是會需要CRM的系統(tǒng)開發(fā);去存儲他們的客戶基本信息,進行銷售;
再打個比方,如果你的公司是一家生產制造型的企業(yè),那么你就一定需要進銷存的系統(tǒng)或者大一點ERP的資源計劃系統(tǒng);
因為你一定要通過這類系統(tǒng)對整個公司的生產銷售一把抓。從物料的進庫,到生產和銷售統(tǒng)計、每一個環(huán)節(jié)的出庫、入庫;采購單、生產計劃單、物料運輸單、驗收單等等;
那么這類系統(tǒng)就是你一定要做的;
再有一些HR系統(tǒng)、財務系統(tǒng)等等,那么他們適用的客戶首先是一些大客戶,有較多的員工和財務統(tǒng)計數(shù)據(jù),其次呢就是一些個專門領域的公司,如財稅公司、人力資源公司等等;
我們客戶在找開發(fā)商開發(fā)的時候,其實不一定需要對系統(tǒng)軟件的類型過于較真,而只需要把自己想要做的功能拎出來,搞定就可以了。
五、給大家的幾點建議
最后給想做軟件開發(fā)的客戶,幾點個人建議:
首先找準自己的定位:
如果你是創(chuàng)業(yè)公司,預算有限,建議前期做軟件開發(fā),只考慮做自己核心業(yè)務的需求點,這些最基礎的功能實現(xiàn)了之后,等你的公司規(guī)模擴大了再一點一點的去加,或者到時候有錢了再一步到位,深入的去做自身業(yè)務需求分析的搞;這樣既節(jié)約了預算,也節(jié)約了時間;
不建議,一上來就耗費巨資去做一堆自己暫時用不上的功能;這叫做減法;
如果您是大老板,公司的體量較大,譬如上百人的公司,那么建議要做管理系統(tǒng)的時候,盡可能的把公司各個部門的人員召集起來,頭腦風暴的分析出需要的點;
把你和你的手下認為你公司的發(fā)展期望內可能會用到的功能,詳細的統(tǒng)計好并做出來,或者有條件的可以直接找?guī)准也诲e的軟件公司去深入的給你們做調研和分析;不要等著項目做出來一看才發(fā)現(xiàn)很多功能都只做了一半,或者有很多地方忘了加的;還得浪費時間重新去商議簽約再二次開發(fā)等等;
如果有人不明確自己的需求,那么也可以照著你公司的章程和政策一條一條去看,看看哪些是可以通過軟件約束實現(xiàn)的管理,如果有必要上就做加法;
小公司做減法,大公司做加法
小公司重點節(jié)約預算,大公司重點節(jié)約時間;
其次呢 ,我們在做軟件的時候,一定要有自己的主導權
不管你找誰給你開發(fā)了軟件,你花了錢了就應該擁有這套軟件的全部知識產權和源代碼數(shù)據(jù)庫;
且要時刻確認你的軟件離開了他的原始作者,找別人開發(fā)也能繼續(xù)二次升級的開發(fā);這點尤為重要,我見過很多不地道的同行給客戶做了個軟件,故意用很繞的邏輯去寫,寫出來的代碼,讓別人看很難懂,客戶就只能找他再合作,要多少錢就得給多少錢;要不就得重新再做一遍;
最后,提一點,很多客戶沒想到的,數(shù)據(jù)安全性
我始終不建議企業(yè)去用一些個SaaS模式的平臺,幾百塊錢就能放心把自己企業(yè)的客戶數(shù)據(jù)放到別人的平臺上?
我主頁的文章里面有專門去將企業(yè)數(shù)據(jù)安全的,感興趣的可以去看下,這里不展開了。
總結下:
如果你想給自己的企業(yè)上一套軟件,首先找準自己的定位,用有限的時間和預算去做出最適合自己的產品才是正解,其次時刻把握自己項目的主導權,不應該受到任何的第三方牽制,最后把自己的數(shù)據(jù)安全放到首先要考慮的層面;
“低成本、私有化、快速開發(fā)、可視化設計、獨立源碼數(shù)據(jù)庫”
- 上一篇:什么是智慧校園
- 下一篇:恭喜我公司官網(wǎng)改版上線