999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

科學(xué)哲學(xué)視域下軟件開(kāi)發(fā)方案評(píng)價(jià)標(biāo)準(zhǔn)的研究

2021-12-31 21:34:01周宇先
科技創(chuàng)新與應(yīng)用 2021年3期
關(guān)鍵詞:標(biāo)準(zhǔn)方法

周宇先

(渤海大學(xué) 馬克思主義學(xué)院,遼寧 錦州 121000)

1 哲學(xué)思維在軟件開(kāi)發(fā)中的作用

史蒂芬·霍金在其著作《大設(shè)計(jì)》中說(shuō)“哲學(xué)死了”,[1]他之所以這樣說(shuō)是因?yàn)樗J(rèn)為“哲學(xué)跟不上科學(xué)”,[1]許多本來(lái)需要哲學(xué)來(lái)解決的問(wèn)題現(xiàn)在轉(zhuǎn)交給了科學(xué)。然而事實(shí)真的是這樣嗎?或許有失偏頗。至少在計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域的軟件開(kāi)發(fā)中,是一刻也離不開(kāi)哲學(xué)的。從思維方面來(lái)看,哲學(xué)的三大特性——抽象性、批判性和反思性在軟件開(kāi)發(fā)中是“須臾不可離也”。[2]從哲學(xué)的方法來(lái)看,無(wú)論是探索真理的“向上的路”與“向下的路”,無(wú)論是研究方法的“時(shí)間在先”與“邏輯在先”“循序思索”與“從后思索”,還是敘事方法的“邏輯與歷史的統(tǒng)一”與“從抽象到具體”,都貫穿于軟件開(kāi)發(fā)過(guò)程的始終。如果說(shuō)哲學(xué)在某個(gè)角落沒(méi)有發(fā)揮作用就說(shuō)它死了,那么我們每個(gè)現(xiàn)存的人,在活動(dòng)范圍之外的領(lǐng)域都是以死了形式存在著;如果說(shuō)哲學(xué)作為思維活動(dòng)的層次沒(méi)能居于一定的高度,那么只能說(shuō)作為思維活動(dòng)主體的人沒(méi)有達(dá)到那樣的高度;如果說(shuō)哲學(xué)作為一種能力不再是自我超越的了,那么喪失超越能力的也必然是人本身。所以問(wèn)題不能得到解決不能歸咎于哲學(xué),而應(yīng)該將視線回歸到人自身,聚焦于人對(duì)自身的能力如何正確的認(rèn)識(shí),聚焦于人對(duì)處理問(wèn)題的方法如何正確的運(yùn)用。

2 關(guān)于庫(kù)恩和拉卡托斯思想的簡(jiǎn)述

科學(xué)發(fā)展模式是指科學(xué)是以怎樣的形式發(fā)展演變的,它是科學(xué)哲學(xué)中的一個(gè)重要問(wèn)題,許多著名的科學(xué)哲學(xué)家都對(duì)這個(gè)問(wèn)題進(jìn)行了全面而深刻的討論,最具代表性的是科學(xué)哲學(xué)四巨頭——卡爾·波普爾、托馬斯·庫(kù)恩、費(fèi)耶阿本德、拉卡托斯。由于本文要借鑒托馬斯·庫(kù)恩、拉卡托斯的思想來(lái)分析軟件開(kāi)發(fā)中的問(wèn)題,所以需要在此對(duì)二人的思想做出必要的簡(jiǎn)介。

托馬斯·庫(kù)恩提出了科學(xué)革命的范式轉(zhuǎn)換模式,該模式體現(xiàn)在《科學(xué)革命的結(jié)構(gòu)》一書(shū)中。庫(kù)恩認(rèn)為在前科學(xué)時(shí)期學(xué)派林立、百家爭(zhēng)鳴,其中一個(gè)學(xué)派取得巨大成功使紛爭(zhēng)消失了,從而形成了第一個(gè)范式并帶來(lái)了眾多實(shí)踐者的追隨。這些實(shí)踐者形成了一個(gè)共同體,他們遵照共同的范式行動(dòng)。范式的形成標(biāo)志著進(jìn)入了常規(guī)科學(xué)時(shí)期,在常規(guī)科學(xué)時(shí)期,共同體成員使用范式進(jìn)行解謎,解謎過(guò)程中遇到反常導(dǎo)致新的發(fā)現(xiàn),新的發(fā)現(xiàn)會(huì)引起范式的變化。從舊范式到新范式的轉(zhuǎn)換是革命性的轉(zhuǎn)變,這種轉(zhuǎn)變是世界觀的轉(zhuǎn)變,由于新范式的出現(xiàn)克服了危機(jī),從而使新范式的共同體逐漸壯大,于是一些人轉(zhuǎn)向新范式從事常規(guī)科學(xué)研究,新的循環(huán)再次從常規(guī)科學(xué)開(kāi)始。[3]

拉卡托斯提出了科學(xué)研究綱領(lǐng)進(jìn)化模式,該模式體現(xiàn)在《科學(xué)研究綱領(lǐng)方法論》一書(shū)中。他的科學(xué)研究綱領(lǐng)是一組由理論硬核、假說(shuō)保護(hù)帶、正反面啟發(fā)法三部分構(gòu)成的嚴(yán)密理論體系。最重要概念和定律構(gòu)成理論體系的硬核,輔助假說(shuō)圍繞在硬核周圍形成保護(hù)帶,啟發(fā)法包括反面啟發(fā)法和正面啟發(fā)法兩種?!耙恍┮?guī)則告訴我們要避免哪些研究道路(反面啟發(fā)法),另一些告訴我們要尋求哪些道路(正面啟發(fā)法)”。[4]科學(xué)研究綱領(lǐng)有進(jìn)化和退化之分,“只要它繼續(xù)不斷地相當(dāng)成功地預(yù)測(cè)新穎的事實(shí)(進(jìn)步的問(wèn)題轉(zhuǎn)換),就可以說(shuō)它是進(jìn)步的;如果它的理論增長(zhǎng)落后于經(jīng)驗(yàn)增長(zhǎng),即它只能對(duì)偶然的發(fā)現(xiàn)或競(jìng)爭(zhēng)的綱領(lǐng)所預(yù)見(jiàn)和發(fā)現(xiàn)的事實(shí)進(jìn)行事后的說(shuō)明(退化的問(wèn)題轉(zhuǎn)換),這個(gè)綱領(lǐng)就是停滯的”。[4]

接下來(lái)讓我們提出軟件開(kāi)發(fā)中的一個(gè)基礎(chǔ)性問(wèn)題,然后把科學(xué)發(fā)展的過(guò)程與軟件開(kāi)發(fā)的過(guò)程相對(duì)照,透過(guò)科學(xué)發(fā)展模式來(lái)看軟件開(kāi)發(fā)活動(dòng)的本質(zhì),將科學(xué)哲學(xué)的思想精髓映射到軟件開(kāi)發(fā)活動(dòng)中,照亮問(wèn)題的內(nèi)部細(xì)節(jié)并分析問(wèn)題形成的根本原因,從而可得出妥善解決問(wèn)題的方法。

3 關(guān)于軟件開(kāi)發(fā)方案評(píng)價(jià)標(biāo)準(zhǔn)的問(wèn)題

什么樣的軟件開(kāi)發(fā)方法是好的方法?什么樣的軟件架構(gòu)是好的架構(gòu)?什么樣的軟件開(kāi)發(fā)語(yǔ)言和工具是最好的語(yǔ)言和工具?當(dāng)被問(wèn)到類似這樣的問(wèn)題時(shí),未免讓一些軟件從業(yè)者略顯尷尬,這些問(wèn)題就像問(wèn)一位哲學(xué)家“什么是哲學(xué)?”一樣難以回答。

針對(duì)此類問(wèn)題的回答即使是工作經(jīng)驗(yàn)豐富的軟件工程師也往往各持己見(jiàn),有些人此時(shí)堅(jiān)持這種觀點(diǎn)彼時(shí)卻又轉(zhuǎn)向了觀點(diǎn)的反面,或是轉(zhuǎn)向另一種觀點(diǎn)。最初他們認(rèn)為理論上介紹的方法和架構(gòu)等都是好的,但是在實(shí)踐過(guò)程中他們發(fā)現(xiàn)某些理論在應(yīng)用時(shí)會(huì)遇到各種麻煩,許多過(guò)程性的細(xì)節(jié)被過(guò)濾掉了,有些理論僅僅是闡述了要達(dá)到的原則和目標(biāo),但如何遵照所指出的原則行事以及如何達(dá)到這些目標(biāo),不同的人在不同環(huán)境下會(huì)做出不同的選擇。而“選擇”這種決定性判斷是由人通過(guò)主觀意識(shí)來(lái)決定的,這樣在選擇方案的界定標(biāo)準(zhǔn)上就會(huì)存在不同的見(jiàn)解。看似風(fēng)格迥異的不同選擇通過(guò)不同途徑都能達(dá)到預(yù)期的目標(biāo),或者是基于相同的理論基礎(chǔ)實(shí)踐后的結(jié)果卻各有成敗,這些都為好的標(biāo)準(zhǔn)的界定增添了神秘色彩。

正是因?yàn)槔碚撆c實(shí)際應(yīng)用不完全相符產(chǎn)生的迷惑,使實(shí)際應(yīng)用的方案制定和選擇呈現(xiàn)出多樣性。有觀點(diǎn)認(rèn)為,只要方案能夠獲得實(shí)際效果、能夠達(dá)到期望目標(biāo),就可稱之為好的方案——但是如果把作為目標(biāo)要素的軟件生命周期長(zhǎng)度的期望值加重,軟件的可擴(kuò)展性、穩(wěn)定性就顯得更重要,此時(shí)這種觀點(diǎn)就會(huì)顯得不妥。另有觀點(diǎn)認(rèn)為,只要方案完全符合理論的原則標(biāo)準(zhǔn),就可稱之為好的方案——但是如果把實(shí)現(xiàn)目標(biāo)所需的成本以及方案的可行性產(chǎn)生影響的權(quán)值加重,理論標(biāo)準(zhǔn)就會(huì)變成僵硬的教條而束縛了方案變通的靈活性。如果為了強(qiáng)行符合所謂的標(biāo)準(zhǔn)而不惜一切代價(jià),最終帶來(lái)的將是團(tuán)隊(duì)被所要實(shí)現(xiàn)目標(biāo)的異化,以致違背了以人為本的原則,甚至造成成本嚴(yán)重超支導(dǎo)致財(cái)政出現(xiàn)問(wèn)題。

可見(jiàn)軟件開(kāi)發(fā)中“什么樣的……是好的?”既是復(fù)雜的問(wèn)題也是不可回避的問(wèn)題。各種時(shí)空環(huán)境的差異及不同因素的制約導(dǎo)致好方案的相對(duì)性,只有識(shí)別出特定時(shí)空環(huán)境下起決定性作用的因素,才能明確相對(duì)的好方案準(zhǔn)則。至此以上問(wèn)題已經(jīng)轉(zhuǎn)化為:特定時(shí)空環(huán)境下起決定性作用的因素是什么?在特定的時(shí)空環(huán)境和因素的制約下,如何確定好方案的評(píng)價(jià)標(biāo)準(zhǔn)?而這樣的問(wèn)題只有訴諸于科技哲學(xué)才能得到解答。

4 新視角下對(duì)軟件方案標(biāo)準(zhǔn)的探求

在軟件開(kāi)發(fā)的各種經(jīng)典的教科書(shū)中,針對(duì)軟件開(kāi)發(fā)各個(gè)階段和過(guò)程都給出了理論性的指標(biāo)、實(shí)現(xiàn)方法以及典型的范例,但是在實(shí)際應(yīng)用中存在誤用的情況。隨著用戶需求日新月異的不斷提出,隨著開(kāi)發(fā)者經(jīng)驗(yàn)閱歷的不斷豐富和認(rèn)識(shí)的不斷深入,隨著面臨要解決的問(wèn)題日益復(fù)雜化或不確定性日益增加,許多人便陷入了——“對(duì)好的開(kāi)發(fā)模式和理論體系的向往”與“不知道好的標(biāo)準(zhǔn)是什么”之間的矛盾中。這些人又往往存在幾種傾向——最新流行的開(kāi)發(fā)模式就是好的;大型公司的所應(yīng)用的開(kāi)發(fā)模式就是好的;擁有完整的流程體系的開(kāi)發(fā)模式就是好的。這就造成處理問(wèn)題的方法也各具特色,因此對(duì)于好的標(biāo)準(zhǔn)很難形成統(tǒng)一的共識(shí)。

4.1 庫(kù)恩思想對(duì)軟件開(kāi)發(fā)過(guò)程的啟示

面對(duì)一個(gè)軟件項(xiàng)目或產(chǎn)品的開(kāi)發(fā)不同的開(kāi)發(fā)團(tuán)隊(duì)通常會(huì)給出不同的方案,這是因?yàn)樗麄冏鳛椴煌墓餐w都有各自遵循的一套范式。即使是沒(méi)有實(shí)戰(zhàn)經(jīng)驗(yàn)的新團(tuán)隊(duì)也會(huì)按照教科書(shū)中的指導(dǎo),或者參考其他人的開(kāi)發(fā)經(jīng)驗(yàn)制定出一套臨時(shí)的范式作為標(biāo)準(zhǔn),因?yàn)樗麄兌忌钪安灰砸?guī)矩,不能成方圓”[5]的道理。

4.1.1 每個(gè)開(kāi)發(fā)單位的團(tuán)隊(duì)都是一個(gè)共同體

對(duì)于那些有諸多項(xiàng)目經(jīng)驗(yàn)的研發(fā)團(tuán)隊(duì)而言,特別是做過(guò)的大型項(xiàng)目的團(tuán)隊(duì),他們的范式標(biāo)準(zhǔn)隨著所接觸的項(xiàng)目規(guī)模從小到大、需求從簡(jiǎn)單到復(fù)雜,逐漸由簡(jiǎn)單的設(shè)計(jì)走向復(fù)雜的設(shè)計(jì),以此適應(yīng)新的情境和新的變化。直到這種范式標(biāo)準(zhǔn)發(fā)展到他們認(rèn)為的——所研究的領(lǐng)域內(nèi)任何用戶的需求都可以在現(xiàn)有項(xiàng)目經(jīng)驗(yàn)上做局部調(diào)整就可以構(gòu)建出目標(biāo)產(chǎn)物,這種范式標(biāo)準(zhǔn)便被他們作為最優(yōu)的標(biāo)準(zhǔn)。

值得注意的是,他們認(rèn)為這樣的一個(gè)范式標(biāo)準(zhǔn)在應(yīng)對(duì)一個(gè)新的需求時(shí)所做出的反應(yīng)是快速的,主要原因有:理論體系足夠完整,可以覆蓋大多數(shù)用戶沒(méi)有提出的預(yù)想,以做到未雨綢繆;經(jīng)驗(yàn)積累足夠豐富,可以提供對(duì)比借鑒以做參照;有了共同遵循的范式標(biāo)準(zhǔn),會(huì)消除共識(shí)上的一些分歧。新問(wèn)題在他們面前就如同常規(guī)科學(xué)的解謎活動(dòng)一樣,進(jìn)入了一種常規(guī)模式的研究狀態(tài)。那么按照這樣的標(biāo)準(zhǔn)來(lái)處理新問(wèn)題真的能夠快速嗎?事實(shí)未必如此。這樣一個(gè)標(biāo)準(zhǔn)只有在應(yīng)對(duì)相同規(guī)模量級(jí)、相同復(fù)雜度體系的需求時(shí),才會(huì)顯現(xiàn)出構(gòu)建效率上的優(yōu)勢(shì)。如果構(gòu)建的目標(biāo)規(guī)模量級(jí)比現(xiàn)有的規(guī)模量級(jí)小,那就要在現(xiàn)有的完整體系上裁剪掉一部分,這無(wú)疑是在削足適履。原有體系由于過(guò)于復(fù)雜,與裁掉的部分的相關(guān)聯(lián)的屬性、方法及其它部分的邏輯設(shè)計(jì)勢(shì)必都會(huì)受到影響,所以需要做更詳細(xì)的檢查和驗(yàn)證才能保證萬(wàn)無(wú)一失。如果構(gòu)建的目標(biāo)規(guī)模量級(jí)與現(xiàn)有規(guī)模量級(jí)僅僅存在部分交集,則不僅要裁剪掉一部分,還要考慮到繼續(xù)完善現(xiàn)有體系,以囊括那些交集之外的部分。那么一旦這樣做了,復(fù)雜度又會(huì)有所提升,規(guī)模量級(jí)又會(huì)朝著新的級(jí)別發(fā)展。

4.1.2 每種編程語(yǔ)言的追隨者都是一個(gè)共同體

對(duì)于使用不同編程語(yǔ)言開(kāi)發(fā)者,他們都堅(jiān)信自己所掌握的編程語(yǔ)言是最好的語(yǔ)言,他們?cè)谛袠I(yè)中會(huì)遵從一套基礎(chǔ)范式標(biāo)準(zhǔn)?;A(chǔ)范式標(biāo)準(zhǔn)通常是軟件開(kāi)發(fā)工具的供應(yīng)商提供的基礎(chǔ)措施,后來(lái)經(jīng)過(guò)龐大的開(kāi)發(fā)者群體在實(shí)踐中不斷研究探索,從而研發(fā)出各種版本的分支范式標(biāo)準(zhǔn)。他們通過(guò)在相關(guān)論壇中交流經(jīng)驗(yàn)使各種分支范式標(biāo)準(zhǔn)在行業(yè)中形成共識(shí)與普及。

不同編程語(yǔ)言的共同體之所以強(qiáng)調(diào)自己所使用的編程語(yǔ)言和開(kāi)發(fā)工具最好,一般被認(rèn)為它所能做的工作其它編程語(yǔ)言和開(kāi)發(fā)工具做不到或做的不夠好。事實(shí)上兩者的比較本身缺乏一定的合理性。“尺有所短,寸有所長(zhǎng)”,[6]這些開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具所誕生的環(huán)境和目標(biāo)是不完全一致的。例如:JAVA和ASP.NET都可以做Web項(xiàng)目的開(kāi)發(fā),如果說(shuō)JAVA的優(yōu)勢(shì)在于其插件和框架資源豐富、在不同的操作系統(tǒng)上具有可移植性占有優(yōu)勢(shì),那么ASP.NET則使開(kāi)發(fā)工作快捷高效、在服務(wù)器管理簡(jiǎn)單方便上占據(jù)一定優(yōu)勢(shì)。雖然隨著智能移動(dòng)設(shè)備時(shí)代的發(fā)展JAVA語(yǔ)言在移動(dòng)設(shè)備應(yīng)用的開(kāi)發(fā)中發(fā)揮出重大作用,但ASP.NET的插件資源和跨平臺(tái)的解決方案在經(jīng)歷演變之后也變得并不遜色。

如果從用戶對(duì)項(xiàng)目需求的角度來(lái)考慮,則無(wú)論何種編程語(yǔ)言和開(kāi)發(fā)工具都表現(xiàn)出單憑自身無(wú)法滿足用戶需求的特點(diǎn),必須結(jié)合各種技術(shù)框架和設(shè)計(jì)思想綜合運(yùn)用,才能達(dá)到滿足用戶需求的目標(biāo)。

4.1.3 每一種具體流程標(biāo)準(zhǔn)的追隨者都是一個(gè)共同體

對(duì)軟件工程做深入研究會(huì)發(fā)現(xiàn)其中包含著豐富的思想和流程標(biāo)準(zhǔn)。從軟件過(guò)程模型來(lái)看,各種文獻(xiàn)中提供了“規(guī)定性的”和“描述性的”模型若干種,其中典型的模型有瀑布模型、原型化模型、敏捷開(kāi)發(fā)等;[7]從開(kāi)發(fā)方法來(lái)看,典型的方法有面向?qū)ο蟮拈_(kāi)發(fā)方法、可視化開(kāi)發(fā)方法等;[8]從項(xiàng)目管理方面來(lái)看,則有PMBOK(項(xiàng)目管理知識(shí)體系)這樣整套的管理技術(shù)與方法;在開(kāi)發(fā)過(guò)程的指導(dǎo)和開(kāi)發(fā)能力的評(píng)估方面,則有CMMI這樣的軟件能力成熟度模型。面對(duì)匯聚而成的如此浩瀚的標(biāo)準(zhǔn)海洋,每種支流都有其龐大的追隨者。項(xiàng)目開(kāi)發(fā)中原型化法與敏捷開(kāi)發(fā)的運(yùn)用難分伯仲,面向問(wèn)題的分析方法PAM、面向?qū)ο蟮拈_(kāi)發(fā)方法、可視化開(kāi)發(fā)方法更是呈三足鼎立之勢(shì),管理方式上和開(kāi)發(fā)過(guò)程的流程也都在向PMBOK和CMMI靠攏,這似乎形成了一股潮流,形成了對(duì)范式的一種尊崇。

尊崇敏捷開(kāi)發(fā)的共同體在軟件項(xiàng)目開(kāi)發(fā)過(guò)程中迅速響應(yīng)用戶方面的優(yōu)勢(shì)明顯,但如果是做軟件產(chǎn)品開(kāi)發(fā),其所有神圣的宣言將會(huì)失去神圣色彩,這是由軟件項(xiàng)目與軟件產(chǎn)品的區(qū)別決定的。CMMI雖然是為了提高軟件企業(yè)的開(kāi)發(fā)效率和軟件產(chǎn)品的質(zhì)量而設(shè)計(jì)的措施,但是如果企業(yè)所采用能力成熟度級(jí)別措施沒(méi)有與所開(kāi)發(fā)的項(xiàng)目或產(chǎn)品的規(guī)模和復(fù)雜度相匹配,要么是累贅的流程會(huì)拖延開(kāi)發(fā)進(jìn)程,要么是不夠成熟的體系掌控不了全局。

由此可見(jiàn),同一個(gè)軟件項(xiàng)目或產(chǎn)品的開(kāi)發(fā)活動(dòng)中不同共同體按照各自的范式標(biāo)準(zhǔn)雖然都有可能達(dá)成目標(biāo)——這也是為什么共同體成員對(duì)其所遵循的范式所深信不疑的原因——但是其各自遵循的范式標(biāo)準(zhǔn)是否是最好的?顯而易見(jiàn)并不一定是。不同共同體的成員擁有不同的世界觀,這種世界觀在最初形成范式的過(guò)程中或接受學(xué)習(xí)某一范式的過(guò)程中就已經(jīng)發(fā)揮著作用。由于此后共同體成員的大部分精力集中在如何利用現(xiàn)有的范式標(biāo)準(zhǔn)從事解謎活動(dòng),他們的關(guān)注點(diǎn)聚焦在了如何達(dá)成既定目標(biāo),因此束縛了他們最初的那種開(kāi)創(chuàng)新事物或接受新事物的能力。而且一旦解謎成功,他們就信心倍增,更加堅(jiān)信其范式的優(yōu)越性。他們通常沒(méi)有或者很少去考察“開(kāi)發(fā)同一個(gè)項(xiàng)目或產(chǎn)品究竟使用何種范式標(biāo)準(zhǔn)更優(yōu)”,一是因?yàn)闀r(shí)間和精力有限,況且這個(gè)對(duì)比驗(yàn)證的過(guò)程工作量巨大,存在很多難度與挑戰(zhàn);二是因?yàn)槿藗冏裱撤N范式后形成了某種思維慣性,習(xí)慣于用自己所熟悉的方式來(lái)處理問(wèn)題,這樣就會(huì)逐漸失去客觀的評(píng)判能力。如果一旦解謎活動(dòng)失敗,開(kāi)始有人持懷疑態(tài)度,伴隨著這種問(wèn)題長(zhǎng)期得不到妥善解決,特別是此后的解謎活動(dòng)失敗和反?,F(xiàn)象屢次頻發(fā),就會(huì)撼動(dòng)范式在共同體成員心目中的地位。此時(shí)共同體中的一些成員就會(huì)把視線轉(zhuǎn)移到其它范式,以期望能夠找到解決問(wèn)題的辦法。特別值得注意的是,此時(shí)共同體中如果有新成員的加入,尤其是對(duì)其它范式有開(kāi)發(fā)實(shí)踐研究經(jīng)驗(yàn)的人,便會(huì)對(duì)共同體成員思想的轉(zhuǎn)變起到催化劑的作用。伴隨著引入新范式解謎成功導(dǎo)致使危機(jī)產(chǎn)生,并逐步走向范式轉(zhuǎn)換的革命之路。范式的革命性轉(zhuǎn)變也意味著一個(gè)軟件的生命周期結(jié)束。

軟件開(kāi)發(fā)共同體范式的轉(zhuǎn)變是共同體成員世界觀的轉(zhuǎn)變,起初是從一種信仰轉(zhuǎn)為另一種信仰,但是當(dāng)經(jīng)歷過(guò)幾次軟件生命周期和范式的變革之后,他們也會(huì)意識(shí)到范式標(biāo)準(zhǔn)的相對(duì)性,沒(méi)有絕對(duì)好的范式標(biāo)準(zhǔn)而只有相對(duì)好的范式標(biāo)準(zhǔn),好的范式標(biāo)準(zhǔn)唯一不變的特性只有變化本身。而在軟件開(kāi)發(fā)過(guò)程中做出何種選擇,完全出于共同體主體的實(shí)踐理性。

4.2 拉卡托斯思想對(duì)軟件開(kāi)發(fā)過(guò)程的啟示

4.2.1 軟件開(kāi)發(fā)中的硬核研究

無(wú)論是科學(xué)理論還是技術(shù)理論,一個(gè)最基本的標(biāo)準(zhǔn)是要有硬核,硬核作為其理論體系的核心部分,體現(xiàn)了其理論體系的本質(zhì)特征,不同科學(xué)技術(shù)理論的硬核不同,它們是在不斷地實(shí)踐中沉淀的思想結(jié)晶。

軟件開(kāi)發(fā)過(guò)程中,無(wú)論是選擇現(xiàn)存的思想、架構(gòu)、語(yǔ)言、工具,還是在開(kāi)發(fā)活動(dòng)中形成的經(jīng)驗(yàn)積累,都應(yīng)該具有作為硬核部分的核心理論體系。如果沒(méi)有硬核,說(shuō)明軟件知識(shí)形態(tài)還處于初期的形成階段,對(duì)于這種未成熟的軟件知識(shí)形態(tài)還要觀察其發(fā)展態(tài)勢(shì),因此還談不上對(duì)其優(yōu)劣做出評(píng)判。那么硬核的具體體現(xiàn)是什么樣的?拿編程語(yǔ)言和開(kāi)發(fā)工具舉例,各種編程語(yǔ)言的語(yǔ)法規(guī)則、語(yǔ)言特性和其所遵照的編程思想原則就是其硬核,而對(duì)于開(kāi)發(fā)工具來(lái)說(shuō),.Net Framework是Visual Studio開(kāi)發(fā).NET程序的硬核,JDK是開(kāi)發(fā)Java程序的硬核。拿軟件工程過(guò)程舉例,軟件過(guò)程模型方法策略是建模階段的硬核,軟件項(xiàng)目管理計(jì)劃和管理方法是項(xiàng)目管理過(guò)程的硬核,軟件需求分析的方法策略是獲取需求階段的硬核,軟件體系結(jié)構(gòu)設(shè)計(jì)方法策略是概要設(shè)計(jì)階段的硬核,軟件的模塊設(shè)計(jì)方法和原則規(guī)范是詳細(xì)設(shè)計(jì)階段的硬核,軟件測(cè)試計(jì)劃和原則方法則是軟件測(cè)試階段的硬核。

對(duì)于一個(gè)軟件開(kāi)發(fā)團(tuán)隊(duì)而言,至少要形成兩種硬核:一種是所研發(fā)出的軟件產(chǎn)品具備的功能硬核,它決定了軟件產(chǎn)品在市場(chǎng)中的核心競(jìng)爭(zhēng)力,是其價(jià)值彰顯的根本所在;另一種是軟件開(kāi)發(fā)團(tuán)隊(duì)自身的開(kāi)發(fā)經(jīng)驗(yàn)積累。只有至少具備了兩種硬核,才算具備了參與好壞優(yōu)劣的評(píng)判基礎(chǔ)。

4.2.2 軟件開(kāi)發(fā)中的保護(hù)帶研究

硬核理論并不是孤立存在的,在它周圍有保護(hù)帶保護(hù)硬核免受傷害,保護(hù)帶在科學(xué)理論中體現(xiàn)為一系列科學(xué)假說(shuō)、初始條件和背景知識(shí),在技術(shù)理論中則體現(xiàn)為應(yīng)用條件、環(huán)境限制以及輔助說(shuō)明。

在軟件開(kāi)發(fā)過(guò)程中,如果遇到重大需求變更對(duì)項(xiàng)目管理過(guò)程造成威脅時(shí),則通過(guò)建立項(xiàng)目需求變更流程機(jī)制來(lái)處理,避免項(xiàng)目管理流程體系的科學(xué)性遭到?jīng)_擊;如果需要變更的內(nèi)容對(duì)原有軟件設(shè)計(jì)體系造成威脅,則采取構(gòu)建子系統(tǒng)、服務(wù)程序、擴(kuò)充接口和模塊的方式與現(xiàn)有主體系統(tǒng)進(jìn)行交互,避免主體設(shè)計(jì)體系遭到破壞;如果針對(duì)某一具體的程序功能提出擴(kuò)展需求時(shí),則采取擴(kuò)充功能類及功能類中的方法,并在方法調(diào)用處使用“反射+配置文件”或“適配器模式”避免原有程序邏輯的整潔性和清晰性遭到破壞。這些都可以看作是保護(hù)硬核體系的保護(hù)帶,而且保護(hù)帶一旦起到進(jìn)步性的作用,也會(huì)逐漸演化為硬核的一部分。對(duì)于一些程序配置的設(shè)計(jì)、軟件設(shè)計(jì)模式的使用、程序邏輯分層的設(shè)計(jì)、分布式的程序設(shè)計(jì)、項(xiàng)目集群的設(shè)計(jì),這些以提高靈活性、避免修改原有程序、提高程序可復(fù)用性和擴(kuò)展性、以高內(nèi)聚低耦合為目標(biāo)原則的設(shè)計(jì),實(shí)際上也都是為了保護(hù)各種理論硬核而采取的保護(hù)帶措施。甚至在軟件提交時(shí),如果仍然存在已知但是尚未解決的問(wèn)題,通常會(huì)在軟件操作手冊(cè)中做出特殊說(shuō)明,以免軟件的可用性遭到質(zhì)疑,例如我們?cè)谑褂媚承¦eb站點(diǎn)的功能時(shí),經(jīng)常被要求使用特定的瀏覽器,或者要開(kāi)啟兼容模式才能訪問(wèn)。

4.2.3 軟件開(kāi)發(fā)中的啟發(fā)法研究

理論體系在正面啟發(fā)法的作用下完善保護(hù)帶以提供新的預(yù)測(cè)功能,在反面啟發(fā)法的作用下保護(hù)硬核不受反駁而提供問(wèn)題的轉(zhuǎn)化和解決功能,從而使自身不斷在進(jìn)化與退化中發(fā)展演化。

在軟件開(kāi)發(fā)過(guò)程中,正面啟發(fā)法的例子體現(xiàn)在發(fā)布新版本帶來(lái)的兼容性升級(jí)或擴(kuò)展性升級(jí)。例如:VS2019既能提供VS2017的兼容又有了新的功能改進(jìn);VS2017與以往的VS版本相比,增加了.Net Core為跨平臺(tái)的操作提供了解決方案,提供了開(kāi)發(fā)IOS和Android項(xiàng)目的開(kāi)發(fā)方案等。反面啟發(fā)法的例子則體現(xiàn)在發(fā)布升級(jí)補(bǔ)丁包帶來(lái)的功能優(yōu)化或漏洞修復(fù)。例如:開(kāi)發(fā)工具和軟件根據(jù)搜集的用戶反饋信息發(fā)布功能優(yōu)化補(bǔ)丁;為應(yīng)對(duì)黑客的漏洞攻擊所作的有針對(duì)性漏洞安全修復(fù)補(bǔ)丁。正面啟發(fā)法是主動(dòng)的、有預(yù)見(jiàn)性的解決新問(wèn)題,反面啟發(fā)法是被動(dòng)的、防御性的解決帶有威脅性的問(wèn)題。在正面啟發(fā)法的作用下解決了更多的問(wèn)題,有了更多的預(yù)見(jiàn)性,則該軟件理論體系就是進(jìn)步性的綱領(lǐng),而一旦發(fā)生越來(lái)越多的解決不了的問(wèn)題或一味采取防御性的修補(bǔ)措施,伴隨著預(yù)見(jiàn)性的漸漸失去該軟件理論體系就逐漸淪為退步的綱領(lǐng)。例如:VS2017相比之前版本解決了跨平臺(tái)的問(wèn)題以及IOS和Android項(xiàng)目的開(kāi)發(fā)問(wèn)題是進(jìn)步的體現(xiàn);而多年前的VB6、Delphi7不能針對(duì)Web應(yīng)用開(kāi)發(fā)提供解決方案,以及無(wú)法滿足用戶的多元化需求最終逐漸走向沒(méi)落則是退步的體現(xiàn)。

由此可見(jiàn),硬核、保護(hù)帶和啟發(fā)法所構(gòu)成的研究綱領(lǐng)理論體系可作為成熟理論體系的一個(gè)評(píng)價(jià)參考尺度。軟件開(kāi)發(fā)過(guò)程中在選擇第三方的理論或工具時(shí),有必要考察被選擇對(duì)象是否是具備這三者的成熟理論體系,尤其要關(guān)注其硬核是否可以解決軟件開(kāi)發(fā)中的難點(diǎn)和重點(diǎn)以生產(chǎn)出具有核心競(jìng)爭(zhēng)力的軟件。軟件開(kāi)發(fā)團(tuán)隊(duì)自身則要在不斷的項(xiàng)目實(shí)踐活動(dòng)中歷練,逐漸形成具備這三者的理論體系作為經(jīng)驗(yàn)積累以鑄造具備核心競(jìng)爭(zhēng)力的團(tuán)隊(duì)。這樣便具備了作為衡量發(fā)展進(jìn)步尺度的雙重科學(xué)標(biāo)準(zhǔn)。

但是更進(jìn)一步分析,如果多個(gè)軟件開(kāi)發(fā)企業(yè)團(tuán)隊(duì)、多個(gè)不同的軟件項(xiàng)目或產(chǎn)品都已形成或具備了這樣的理論體系,將他們放在一起比較則依舊很難分出好壞優(yōu)劣,這是因?yàn)檠芯烤V領(lǐng)理論體系是衡量科學(xué)性的標(biāo)準(zhǔn),而好壞優(yōu)劣是從技術(shù)的功利性角度來(lái)衡量的,即滿足目標(biāo)的有用性和有效性。因此在遵照科學(xué)研究綱領(lǐng)方法論的基礎(chǔ)前提下開(kāi)展的軟件開(kāi)發(fā)活動(dòng),結(jié)合團(tuán)隊(duì)自身特點(diǎn)和能力范圍運(yùn)用方法并且如期達(dá)成了功利性目標(biāo),將之綜合考量才可以確定是否是一種好的方案。這樣的好方案同樣具有相對(duì)性,相對(duì)性的跨度既取決于科學(xué)研究綱領(lǐng)進(jìn)步的持續(xù)過(guò)程的跨度,又取決于開(kāi)發(fā)團(tuán)隊(duì)的主體性因素。

5 軟件開(kāi)發(fā)的相對(duì)評(píng)價(jià)標(biāo)準(zhǔn)及其影響因素

在做出問(wèn)題分析的結(jié)論之前,我們?cè)賮?lái)看最后一個(gè)例子。

眾所周知淘寶網(wǎng)已成為我們今天生活中所離不開(kāi)的購(gòu)物平臺(tái)之一,憑借其先進(jìn)的技術(shù)理念和平臺(tái)的穩(wěn)定性帶給用戶的體驗(yàn)足以被視為互聯(lián)網(wǎng)開(kāi)發(fā)的成功典范,像這種級(jí)別的互聯(lián)網(wǎng)平臺(tái)設(shè)計(jì)及其技術(shù)理論體系都頂著成功企業(yè)的耀眼光環(huán)。然而,如果考察過(guò)淘寶網(wǎng)的發(fā)展歷史便會(huì)發(fā)現(xiàn),這樣一個(gè)高大的形象也并不是一次性樹(shù)立起來(lái)的,而是經(jīng)歷了漫長(zhǎng)的歷史演變過(guò)程。它最初是由工程師基于3000美元購(gòu)買的PHP程序代碼上進(jìn)行技術(shù)改進(jìn)后形成的基礎(chǔ)技術(shù)架構(gòu),[9]從規(guī)模上看那時(shí)的它和今天的小型網(wǎng)站并無(wú)區(qū)別,甚至從技術(shù)體系成熟度來(lái)看比今天的小型網(wǎng)站還要遜色,因?yàn)榻?jīng)過(guò)時(shí)代的變遷,如今的小型網(wǎng)站架構(gòu)體系中已經(jīng)融合了各種新技術(shù)和新思想。正是這樣一個(gè)小型網(wǎng)站的架構(gòu)在經(jīng)過(guò)體系的不斷革新之后,才形成了今天如此有影響力的大平臺(tái)。

至此結(jié)論已經(jīng)不言自明了,好的軟件項(xiàng)目和產(chǎn)品都是在不斷的開(kāi)發(fā)實(shí)踐過(guò)程中演變而來(lái)的,既沒(méi)有一步到位方法更沒(méi)有一勞永逸方案。衡量軟件方案的標(biāo)準(zhǔn)也只能是相對(duì)性的標(biāo)準(zhǔn)和階段性的標(biāo)準(zhǔn)。開(kāi)發(fā)過(guò)程中形成一定的范式,并遵從范式在解謎活動(dòng)中取得成功,是相對(duì)的好;突破原有范式使之發(fā)生革命性的轉(zhuǎn)變,從而解決老范式不能解決的問(wèn)題,是相對(duì)的好;形成理論硬核并在各種輔助性措施下不斷砥礪前行,不斷的預(yù)見(jiàn)和解決新的問(wèn)題,不斷完善自身體系的不足,不斷的朝著進(jìn)步的方向演變,也是相對(duì)的好。

相對(duì)的評(píng)判標(biāo)準(zhǔn)取決四個(gè)方面:目標(biāo)問(wèn)題是否得到妥善解決;物質(zhì)資源的利用率是否達(dá)到最優(yōu);人力資源的能力是否發(fā)揮最優(yōu);使用的方法策略是否最合理。如果把這樣的情況用函數(shù)的方式描述,那么特定階段的時(shí)空就是軟件開(kāi)發(fā)活動(dòng)的作用域。可以把目標(biāo)問(wèn)題域看作是值域,時(shí)空中的物質(zhì)資源一旦確定下來(lái)就可看作是階段性的常量,使用的方法策略可看作是函數(shù)表達(dá)式,而作為主體的人處理問(wèn)題的能力可看作是自變量,人處理問(wèn)題的能力范圍則構(gòu)成了定義域。人的主體選擇性和創(chuàng)造性等相關(guān)能力決定了方法策略的函數(shù)表達(dá)式的形式,人處理問(wèn)題的能力范圍(即自變量的取值范圍)決定了目標(biāo)問(wèn)題域(即值域)的取值范圍。

由此得出“影響評(píng)判標(biāo)準(zhǔn)的因素”可歸為時(shí)空環(huán)境因素、人的世界觀、人的能力因素。其中能力因素中的主體選擇能力和創(chuàng)造能力受世界觀的影響,兩者又決定了做出的何種方法策略;人處理問(wèn)題的能力以及在能力范圍內(nèi)的波動(dòng)與方法策略的共同作用決定了目標(biāo)問(wèn)題的效果。時(shí)空因素在一般情況下是處于穩(wěn)定狀態(tài)的因素,但是人的創(chuàng)造力會(huì)使其發(fā)生革命性突變,一旦突變發(fā)生人的世界觀就要重新形成,從而引起評(píng)判標(biāo)準(zhǔn)和其相關(guān)因素的新變化。所以,起決定性作用的因素并不是什么單一的因素,而是時(shí)空和人的綜合性因素。認(rèn)清共同體成員自身的能力范圍,認(rèn)清所處的時(shí)空環(huán)境,認(rèn)清人的能力之間的協(xié)調(diào)性與作用邊界,方能做出通往需求目標(biāo)的最適合的方法策略,這樣所達(dá)成目標(biāo)的方案才能是相對(duì)標(biāo)準(zhǔn)范圍內(nèi)的好方案。這樣的方案將使未來(lái)面臨的風(fēng)險(xiǎn)降到最低,面臨的不確定性得以妥善應(yīng)對(duì),真正做到以審時(shí)度勢(shì)的方式科學(xué)應(yīng)對(duì)問(wèn)題。

6 結(jié)束語(yǔ)

在軟件開(kāi)發(fā)這個(gè)神奇的領(lǐng)域,哲學(xué)不但沒(méi)有死,相反有著旺盛的生命力和巨大的活力。每一次的思辨,帶來(lái)的都會(huì)是質(zhì)的飛躍,可能是編程語(yǔ)言的誕生、開(kāi)發(fā)工具的改進(jìn)、架構(gòu)體系的革新、設(shè)計(jì)模式的調(diào)整、軟件代碼的重構(gòu)、新算法的融合,抑或是管理流程的優(yōu)化。軟件開(kāi)發(fā)中固然也存在種種問(wèn)題,而且許多問(wèn)題目前尚未很好地得到解決,但恰恰是問(wèn)題給了哲學(xué)存在的價(jià)值和空間。即使暫時(shí)在叢林中走錯(cuò)了路,只要哲學(xué)的思辨還在進(jìn)行,只要方法還在不斷地革新,那么迷失是暫時(shí)的,重見(jiàn)光明是必然的,問(wèn)題遲早會(huì)得到解決。

科學(xué)在發(fā)展的道路上固然要與哲學(xué)各有分工、相互配合,這種分工與配合的活動(dòng)需要人來(lái)完成,而人是具有流動(dòng)性的思維載體,不可能永恒全部固守在某一個(gè)特定的領(lǐng)域,因此造成各個(gè)領(lǐng)域的發(fā)展會(huì)呈現(xiàn)出不均衡的態(tài)勢(shì)。由于在不同的領(lǐng)域中,呈現(xiàn)出的問(wèn)題日益復(fù)雜化,處于不同發(fā)展階段的問(wèn)題又各有其特點(diǎn),人們?cè)谔幚韱?wèn)題時(shí)又因主次之別而各有側(cè)重,解決問(wèn)題的方法日益多元化,組織結(jié)構(gòu)的特點(diǎn)日益多樣化,因此解決問(wèn)題的效果也會(huì)良莠不齊。對(duì)于這兩種狀況,我們只要翻越思維的屏障,重新審視就會(huì)發(fā)現(xiàn):發(fā)展的不均衡態(tài)勢(shì)是作為科學(xué)與哲學(xué)兩種思維載體的人沒(méi)有均勻融合造成的;解決問(wèn)題的良莠不齊是方法運(yùn)用的不合理造成的。此時(shí)創(chuàng)新便顯得極為重要,創(chuàng)新的思維模式與創(chuàng)新的方法可以打破固有的思想藩籬,解放僵化的思維模式,使哲學(xué)思維和科學(xué)思維重新調(diào)和溶解,使運(yùn)用的方法重新得到優(yōu)化和配置,在創(chuàng)新的指引下一切被動(dòng)的受困都會(huì)變成主動(dòng)的牽引。

猜你喜歡
標(biāo)準(zhǔn)方法
2022 年3 月實(shí)施的工程建設(shè)標(biāo)準(zhǔn)
學(xué)習(xí)方法
忠誠(chéng)的標(biāo)準(zhǔn)
美還是丑?
你可能還在被不靠譜的對(duì)比度標(biāo)準(zhǔn)忽悠
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
一家之言:新標(biāo)準(zhǔn)將解決快遞業(yè)“成長(zhǎng)中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
2015年9月新到標(biāo)準(zhǔn)清單
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 亚洲国产精品成人久久综合影院| 国产精品专区第一页在线观看| 国产成人1024精品| 精品人妻系列无码专区久久| 午夜无码一区二区三区| 自拍欧美亚洲| 亚洲一区毛片| 国产网站在线看| yy6080理论大片一级久久| 婷婷午夜天| 免费一级毛片完整版在线看| 亚洲欧洲综合| 久久成人18免费| 999国产精品| 久久青草免费91线频观看不卡| 久久成人国产精品免费软件 | 精品成人免费自拍视频| 激情成人综合网| 亚洲啪啪网| 亚洲最猛黑人xxxx黑人猛交 | 毛片一级在线| 在线a视频免费观看| 亚洲性视频网站| 欧美在线国产| 99久久精品免费看国产免费软件| 亚洲欧美不卡中文字幕| 国产精品自在在线午夜| 中文字幕1区2区| 视频一区视频二区日韩专区| 538精品在线观看| 日韩免费成人| 国产欧美自拍视频| 欧美激情伊人| 香蕉伊思人视频| 91精品国产福利| 欧美成人精品欧美一级乱黄| 国内黄色精品| 天堂在线视频精品| 国产剧情国内精品原创| 久久久久无码精品| 亚洲欧洲国产成人综合不卡| 国产高清在线观看91精品| 青青草一区| 九九热在线视频| 精品三级网站| 最近最新中文字幕免费的一页| 经典三级久久| 午夜a视频| 伊人久久婷婷五月综合97色| 国产丰满大乳无码免费播放| 免费精品一区二区h| 欧美19综合中文字幕| 成年女人a毛片免费视频| аv天堂最新中文在线| 欧美日韩成人在线观看 | jizz亚洲高清在线观看| 丁香婷婷综合激情| 91精品专区国产盗摄| 免费在线一区| 日韩少妇激情一区二区| 午夜激情福利视频| 最新国产精品第1页| 大乳丰满人妻中文字幕日本| 国产亚洲视频在线观看| 中文字幕永久在线看| 免费视频在线2021入口| 久久亚洲黄色视频| 青青草国产一区二区三区| 欧美日一级片| 国产一级小视频| 国产95在线 | 在线免费观看AV| 波多野结衣在线一区二区| 色婷婷电影网| 亚洲精品制服丝袜二区| 国产精品网曝门免费视频| 亚洲国产精品久久久久秋霞影院| 亚洲va在线观看| 亚洲无码在线午夜电影| 日本手机在线视频| 日韩中文欧美| 97av视频在线观看|