軟件開發(fā)與設(shè)計 軟件開發(fā)與設(shè)計專業(yè)
大家好,今天小編關(guān)注到一個比較有意思的話題,就是關(guān)于軟件開發(fā)與設(shè)計的問題,于是小編就整理了1個相關(guān)介紹軟件開發(fā)與設(shè)計的解答,讓我們一起看看吧。
為什么軟件工程特別強調(diào)必須先有設(shè)計,然后才能編程?
全行業(yè)需要而非軟件工程
首先,需要糾正一點是,不是僅僅軟件工程需要先有設(shè)計,然后才能編程。所有的行業(yè)都需要先進行設(shè)計,才能夠去真正落地實施(當(dāng)然,各行各業(yè)的用詞可能會有些差別,像拍電影通常稱之為:籌劃)。
從頭幾年開始,有一個比較流行的詞匯進入了大眾的視野之中:“商業(yè)計劃書”。要知道這個詞早在幾十年前就有了,但是一直也沒有將這個概念推廣開來,它一直停留在大中型企業(yè)之間的商業(yè)行為當(dāng)中。直到有一天,“大眾創(chuàng)業(yè),萬眾創(chuàng)新”的時代在黨的號召下來臨了!
“商業(yè)計劃書”就很好的體現(xiàn)了“先設(shè)計,在實施”的思路。商業(yè)計劃書中包含很多內(nèi)容(如:市場痛點、競爭分析、運營支持、公司概況、財務(wù)預(yù)測、融資計劃、財務(wù)報表等等一些內(nèi)容),這些內(nèi)容核心就是在介紹兩方面:
一、我們有什么資源、數(shù)據(jù)體現(xiàn)有哪些;
二、我們要完成的事情有什么前景、如何實現(xiàn)這個事情。
第二點通常占比70%,且是還沒有實現(xiàn)的東西,需要預(yù)先的規(guī)劃出來,把所有需要的準(zhǔn)備工作用比較簡潔的方式描述出來。從某種角度來說,它也是一種藍圖。未來所有工作都是圍繞這個藍圖,不斷的延伸、展開的。
沒設(shè)計能不能干?
那么問題來了,既然有了設(shè)計之后,后面可以把它作為中心來進行展開。如果沒有設(shè)計,可以直接編程么?
軟件工程或者編程項目,需要先規(guī)劃設(shè)計后編程實施的主要原因還是每個人的編程思路特別是嚴密性不一樣,而且沒有明確清晰的控制要求的話,很容易考慮不周全,程序就會不完善。
其實項目如果很小,那么即使考慮不周全,在調(diào)試的時候也能發(fā)現(xiàn)問題,并及時修正。
而當(dāng)比較大的項目,控制要求或者任務(wù)書,就需要集思廣益的不斷探討確認。這個過程相當(dāng)于編程實施已經(jīng)預(yù)演了一遍,而且多人考慮確認,就可以減少很多考慮不完善的問題。
而且,有確定的控制任務(wù)文件,也有利于大家分區(qū)域的分工合作,你做A部分,我做B部分,他做C部分。
套用一個成語“凡事預(yù)則立,不預(yù)則廢”,因此任何稍微復(fù)雜一點的系統(tǒng),都應(yīng)該先有經(jīng)過廣泛意見采集與確認的頂層文件作為指導(dǎo),后續(xù)的工作才能有序的開展,后邊檢查出錯點,也同樣有一條主線可循。
所以,有設(shè)計文件就可以有效減少編程時的猜測,討論等時間,也可以組織更多的人同時開展工作,可以說有百利而無一害。
首先說明編程只是一種工具而已,是實現(xiàn)功能模塊的一種手段。但是,你如果頭腦不清晰就去寫代碼,不但代碼可讀性差,而且也容易產(chǎn)生許多bug,進而返回重寫,這產(chǎn)生的時間成本可想而知。
學(xué)過軟件工程這門課的同學(xué)都知道,在編寫代碼前需要進行可行性分析、概要設(shè)計和詳細設(shè)計,這里不到需要與對接人員了解需求,還需要設(shè)計各種數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫,這樣才能對任務(wù)有一個整體的了解。之后還需要進行代碼接口的編寫與函數(shù)的優(yōu)化,這些都需要提前考慮好,哪些操作可能會提高性能與降低時間復(fù)雜度。如果您做到事前分析,那么就會減少許多出錯的可能。
最后,當(dāng)我們養(yǎng)成了事前分析問題的習(xí)慣時,那么不管是對于編寫代碼還是生活,都將受益匪淺。
如果您有疑問,可下方留言,讓我們共同進步。
軟件開發(fā)是一個比較復(fù)雜的過程,從需求調(diào)研到數(shù)據(jù)庫設(shè)計、原型設(shè)計、功能設(shè)計、開始編碼、功能測試、壓力測試、功能上線。這些是軟件開發(fā)的一個基本流程。
其中我認為最重要的是一個環(huán)節(jié)是設(shè)計。這個決定了你做出來的東西是什么樣,會不會出現(xiàn)大量的返工。這個是耗費成本的環(huán)節(jié)。只有好的設(shè)計才可以最大程度的避免返工產(chǎn)生的人工成本。所以我認為設(shè)計是必須要做的事情。
到此,以上就是小編對于軟件開發(fā)與設(shè)計的問題就介紹到這了,希望介紹關(guān)于軟件開發(fā)與設(shè)計的1點解答對大家有用。