軟件是如何開發(fā)出來的?
網(wǎng)友解答: 這個問題比較籠統(tǒng)。我可以以我個人的理解簡單的回答一下。如果提出這個問題,說明你沒有軟件開發(fā)的經(jīng)驗。軟件開發(fā)可以從最基本的可以簡單理解成為,用一種規(guī)定的語言系統(tǒng)寫出來的東西。我
這個問題比較籠統(tǒng)。
我可以以我個人的理解簡單的回答一下。
如果提出這個問題,說明你沒有軟件開發(fā)的經(jīng)驗。
軟件開發(fā)可以從最基本的可以簡單理解成為,用一種規(guī)定的語言系統(tǒng)寫出來的東西。
我們經(jīng)常看到的有用中文英文各種語言寫出來的小說,或者是寫出來的故事。軟件呢,就相當于是一個成熟的故事,而你怎么把它寫出來呢?就是你用了什么樣的語言。
開發(fā)語言主要分為三大類:
1. 網(wǎng)絡開發(fā) 現(xiàn)在網(wǎng)絡已經(jīng)成為世界通訊的一座橋梁,好像Javas c r i p t、PHP、Ruby這幾類開發(fā)語言大部分是用作網(wǎng)絡開發(fā)方面。
2. 企業(yè)軟件開發(fā) JAVA、C#、VB這幾類開發(fā)語言都實現(xiàn)了面向對象開發(fā)的目標,更多時候用于企業(yè)系統(tǒng)的開發(fā)。
3. 系統(tǒng)軟件 C語言、C++、Objective-C這些軟件更多是用在系統(tǒng)軟件開發(fā),嵌入式開發(fā)的方面。 當然,像JAVA、C#、VB很多時候也用于動態(tài)網(wǎng)站的開發(fā)。在很開發(fā)項目都會使用集成開發(fā)的方式,同一個項目里面使用多種開發(fā)語言,各展所長,同步開發(fā)。但所以在剛入門的時候,建議您先為自己選擇一種合適的開發(fā)工具,“專注地投入學習,全力一擊”。
上面說的是基本的語言,不同的語言有不同的特點,就像中文,英語,俄語,法語一樣。語言和語言之間會有不同的語系,這個就不多細說了。
我們可以從最基本的數(shù)學,簡單的數(shù)學,1+1等于2這種。我們電腦手機上用到的各種計算器,就屬于這種簡單的軟件,他只是把數(shù)學的相關東西放進去了而已。開發(fā)軟件也可以涉及到各方各面。我們平常說的ps這種軟件也是要有語言開發(fā)包開發(fā)出來的。它里面涉及到的數(shù)學公式,就不會像1+1這么簡單,它可能會涉及到各種的顏色數(shù)值的加減運算。它里面也可能就不會涉及到數(shù)學運算,它可能會涉及到函數(shù)運算,矢量運算等等的一些計算方式,總之你可以把它理解成它就是一種計算出來的一種東西。只是最后呈現(xiàn)到你面前的呢,是一種可以互動的啊,你可以下達什么命令,它可以完成什么命令的一種這種系統(tǒng)軟件。
比如說我們打開電腦上的ps軟件他可能后臺要進行的操作有很多步,比如說他會先啟動主程序,然后再啟動主程序下面,帶動了其他子程序,或者它里面設置了各種預設的東西。這個時候在編寫軟件的時候,他會根據(jù)需要把這些東西都會寫進去,他可能會給你留個后門,和通道。
總之你只要知道軟件是通過一種特殊的語言來寫成了一種成熟的工具就行了。
網(wǎng)友解答:謝邀,科普來了。軟件種類過多,每一種軟件在每一家公司有不同的開發(fā)方式,不過大致開發(fā)過程殊途同歸。
開發(fā)軟件,一般不是說一想到要開發(fā)系統(tǒng)就開始敲代碼,畢竟你要明確你需要做什么軟件,軟件的使用人群是怎樣的,軟件需要什么功能,軟件需要怎樣的規(guī)模,進行一定的可行性分析和調研后,進行軟件開發(fā)步驟。這里以開發(fā)企業(yè)級web系統(tǒng)為例:
第一步,往往是進行需求分析,一般面向企業(yè)的軟件需要跟甲方確認需求,這需要消耗一兩個月甚至更久。
第二步,進行原型設計,設計出符合需求的軟件的樣子,有的公司可能直接沒原型圖靠草圖。
第三步,詳細設計,這是很重要的一步,數(shù)據(jù)庫設計,接口設計,開發(fā)者都會根據(jù)詳細設計進行編程。
第四步,開發(fā)與測試,程序猿這時候上場了,開始寫bug了,你懂的。其實測試和修bug是齊頭并進的,往往是開發(fā)完測一下,有bug修bug,沒bug開發(fā)下一個任務。
第五步,迭代,需求不是一下子就確認完,會不斷有新需求或者需求變更,這就需要不斷的重復上述過程。
第六步,當軟件需求做完了,測試也沒什么問題了,基本上是可以進入用戶測試階段然后上生產(chǎn)環(huán)境了。算是軟件開發(fā)完畢咯。
覺得程序員宇文笑的觀點有道理的點點關注