自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

軟件開(kāi)發(fā)!=軟件工程 你真的希望如此嗎?

開(kāi)發(fā) 項(xiàng)目管理
端著咖啡,你大步走向書(shū)房,只余腳步聲回響在空蕩的走廊里??邕^(guò)門檻,停下來(lái)咯噠一聲打開(kāi)頭頂上的節(jié)能燈,放在書(shū)桌中央的筆 記本電腦一下子映入你的眼簾,明亮的屏幕上圖表正在發(fā)出誘惑的光芒。

端著咖啡,你大步走向書(shū)房,只余腳步聲回響在空蕩的走廊里??邕^(guò)門檻,停下來(lái)咯噠一聲打開(kāi)頭頂上的節(jié)能燈,放在書(shū)桌中央的筆 記本電腦一下子映入你的眼簾,明亮的屏幕上圖表正在發(fā)出誘惑的光芒。放下咖啡,你決定***再研究一次,看看還有什么錯(cuò)誤或誤算是先前被遺漏的。不斷地熬 夜,熬夜,但***,終于讓你獲得了客戶的認(rèn)可。

喝一口依然還滾燙的咖啡,你決定***一次檢查客戶需求。用早餐的位置?有了。四個(gè)浴室,其中一個(gè)要在天花板上安裝花灑淋浴頭?有了。三車車庫(kù)以及寬 敞的院子?有了。一切準(zhǔn)備就緒,各就各位。***的審查讓你充滿自信:想必客戶定會(huì)滿意,施工也馬上可以開(kāi)始。合上筆記本電腦,抓起它走出房門,興沖沖地想 要展示給客戶看。

正如你所預(yù)期的那樣,客戶很滿意!他對(duì)院子的大小很滿意,他和他的家人也很喜歡你設(shè)計(jì)的游泳池和早餐位置。但是美中不足的是….

“你能讓它飛起來(lái)嗎?”

[[138589]]

這是工藝,而不是工程

上面的故事顯然是荒謬的:只要是思維正常的人都不會(huì)要求讓房子飛起來(lái),因?yàn)槲覀兌家?jiàn)過(guò)房子,它們都是不會(huì)飛的。然而,這樣的情景卻經(jīng)常在軟件開(kāi)發(fā)上 重演,一遍又一遍??蛻粢蟮臇|西——他認(rèn)為是合理的,但對(duì)我們開(kāi)發(fā)人員而言可能是完全不可能的——至少目前為止我們清楚這是不可能的事情?,F(xiàn)在的軟件開(kāi) 發(fā)很少有章程,雙方協(xié)定的標(biāo)準(zhǔn)就更少了。我們能做的,通常就是,創(chuàng)建的東西盡可能地符合客戶的期望。

幾年前,有一個(gè)關(guān)于軟件開(kāi)發(fā)是否可以被 稱為軟件工程的大辯論,這源于一篇名為《Software Engineering: An Idea Whose Time Has Come and Gone?》的文章,作者是Tom DeMarco。DeMarco認(rèn)為,短命的軟件工程已經(jīng)死去,這對(duì)于所謂軟件“變革”的創(chuàng)建并不重要。

DeMarco的論文認(rèn)為由于缺乏測(cè)量力度(和“軟件”一詞所代表得深度和廣度),軟件工程已經(jīng)走向了滅亡。但是我看到的是一種截然不同的現(xiàn)象:軟件工程從未存在過(guò)。

首先鄭重聲明,我贊同DeMarco先生的主要觀點(diǎn)。軟件開(kāi)發(fā)不是工程,因?yàn)樵趥鹘y(tǒng)的工程中輸出是有把握的,且可被反復(fù)衡量和控制的。 DeMarco的著名論據(jù)“你無(wú)法控制你不能衡量的東西”是對(duì)此理念的***總結(jié):如果你不能衡量你將要實(shí)施的變化的影響,那么讓我們?cè)趺聪嘈拍隳芸刂扑鼈?呢?

這一點(diǎn),在我看來(lái),正是我們不能將軟件開(kāi)發(fā)稱為“工程”的首要原因:我們不能衡量將要實(shí)施的變化的影響。當(dāng)然,我們可以執(zhí)行單元測(cè)試,集成測(cè)試—— 我們能想到的所有測(cè)試,但我們依然無(wú)法準(zhǔn)確估計(jì)當(dāng)我們實(shí)施所有潛在的變化時(shí),它們對(duì)現(xiàn)有系統(tǒng)所造成的影響范圍。我們現(xiàn)在根本沒(méi)有足夠的工具來(lái)做到這一點(diǎn), 并且據(jù)我所知,我們一直以來(lái)就沒(méi)有這樣的工具。

我認(rèn)為軟件開(kāi)發(fā)可以當(dāng)作一門手藝。“工藝”一詞或許能夠更好地描述我們開(kāi)發(fā)人員的實(shí)際工作。

[[138590]]

工藝和工程之間的主要區(qū)別是,后者使用已經(jīng)廣為人知且公認(rèn)的知識(shí)來(lái)解決問(wèn)題,而前者使用的是更專業(yè)的知識(shí),懂這些知識(shí)的人不如前者那么多,甚至這些 知識(shí)可能是不成文的或并不為大眾所認(rèn)同。因此,我們可以得出軟件工程一說(shuō)根本不存在的觀點(diǎn),因?yàn)闆](méi)有足夠普遍都接受的知識(shí)來(lái)證明它可以叫做“工程”。

那么“軟件工程”可以存在嗎?是否有用?

軟件工程這說(shuō)法是否可行?

假設(shè)將軟件開(kāi)發(fā)的整個(gè)領(lǐng)域轉(zhuǎn)換到工程學(xué)科是可能的。然而,我們真的想要這么做嗎?

在我看來(lái),創(chuàng)建有用的軟件需要具備一定層次的藝術(shù)技能,有的形式的創(chuàng)造并不能用數(shù)學(xué)和工程精確地表現(xiàn)出來(lái)。創(chuàng)造力能讓我們面對(duì)從未見(jiàn)過(guò)的問(wèn)題時(shí),也能想出新穎的解決方案。但是如果我們不小心,它也會(huì)讓我們搬起石頭砸自己的腳。

對(duì)我而言,將軟件開(kāi)發(fā)制定為工程學(xué)科會(huì)消弭大量的創(chuàng)造自由(當(dāng)然并非全部),從而阻礙我們從多方面思考來(lái)解決當(dāng)前問(wèn)題。

另一方面,利用工程策略可以顯著提高例如標(biāo)準(zhǔn)規(guī)格、可測(cè)試性,以及項(xiàng)目管理等理念。此外,它提供的公共知識(shí)池,可作為使用來(lái)源用于參考解決方案,使它們更容易交叉引用。

既然這樣,那么共享和控制所有知識(shí)是否值得我們失去一些創(chuàng)造的自由?我認(rèn)為這不值得,哪怕上述權(quán)衡真的可以實(shí)現(xiàn)。軟件可用于所有基本的事情,與其說(shuō) 偉大的多元化思維自由是我們解決問(wèn)題的阻礙,倒不如說(shuō)它是福音。如果硬是將軟件塞進(jìn)工程領(lǐng)域,那么就會(huì)有太多的變量,太多的問(wèn)題,太廣泛的問(wèn)題范圍需要考 慮。對(duì)所有軟件開(kāi)發(fā)使用工程策略將會(huì)是一場(chǎng)災(zāi)難。

這篇文章開(kāi)頭的故事,就是一個(gè)當(dāng)我們將軟件開(kāi)發(fā)與工程作比較時(shí),常見(jiàn)但不正確的假設(shè):即將軟件設(shè)計(jì)比作是蓋房子。這嚴(yán)重偏離了事實(shí)。房子是有形的, 受到物理定律如重力的約束,并且我們已經(jīng)擁有了上千年的筑造歷史,知道如何建筑適宜居住的房子。而軟件是沒(méi)有這些條件的,因此這樣的比較說(shuō)好聽(tīng)點(diǎn)是天真, 說(shuō)難聽(tīng)點(diǎn)就是誤人子弟。

總之,軟件開(kāi)發(fā)永遠(yuǎn)不可能是軟件工程。

我們的專業(yè)是一門手藝,我們是工匠。軟件開(kāi)發(fā)是一個(gè)過(guò)程,作為程序員的我們吸取關(guān)于項(xiàng)目的專業(yè)信息和設(shè)計(jì)內(nèi)容,然后實(shí)施滿足客戶需求的解決方案。它是藝術(shù),它充滿了創(chuàng)造性;它不是工程,它也不需要成為工程。這應(yīng)該成為我們的共識(shí)。

你有什么看法?你認(rèn)為軟件開(kāi)發(fā)成為軟件“工程”是一個(gè)值得追求的目標(biāo),還是一項(xiàng)不可能完成的任務(wù)?歡迎分享你的評(píng)論,請(qǐng)暢所欲言!

 

 

 

責(zé)任編輯:王雪燕 來(lái)源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2011-05-17 09:25:33

軟件工程師

2011-05-17 10:48:30

軟件程序員

2009-07-24 09:43:09

軟件工程軟件開(kāi)發(fā)

2020-03-09 11:00:42

軟件技術(shù)開(kāi)發(fā)

2011-05-16 10:05:33

軟件工程師Java工程師

2011-05-10 09:22:28

軟件工程

2020-07-01 07:00:00

軟件開(kāi)發(fā)低代碼無(wú)代碼

2009-02-12 11:52:23

軟件工程師職業(yè)規(guī)劃價(jià)值

2013-07-24 10:11:50

軟件工程師

2020-06-24 11:21:47

軟件開(kāi)發(fā)面試

2017-03-17 08:15:17

敏捷軟件開(kāi)發(fā)軟件開(kāi)發(fā)

2012-06-18 09:34:14

2024-11-07 12:14:36

2011-09-07 08:59:23

2020-12-01 16:51:05

軟件工程師編碼代碼

2021-11-04 10:42:43

汽車軟件技術(shù)

2019-11-22 08:00:00

軟件軟件開(kāi)發(fā)

2022-08-20 18:28:49

汽車軟件

2014-10-08 09:34:23

git并行管理并行工程

2009-05-26 17:38:43

IEEECSDA認(rèn)證CSDA
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)