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