劉春紅
摘要:人類制造出了迄今為止最復(fù)雜的工具——計算機軟件,軟件究竟是什么?我們應(yīng)如何看待它?本文結(jié)合長期的專業(yè)實踐,嘗試著從哲學(xué)的高度進行了理論概括和反思。
關(guān)鍵詞:計算機;軟件;哲學(xué)
1引言
人類社會所特有的技術(shù)結(jié)構(gòu)包括兩方面:一方面是外在于人的工具系統(tǒng);另一方面是人使用工具的技能。這兩方面相互協(xié)調(diào)又互相轉(zhuǎn)化地雙向發(fā)展,推動著人類技術(shù)以加速度向前發(fā)展,并由此導(dǎo)致了社會現(xiàn)代化和人類自身現(xiàn)代化的雙向發(fā)展。以往的工具都是人類軀體的延伸。而計算機是人腦的延伸。計算機不同于以往物質(zhì)生產(chǎn)工具的一個重要特點是工具中出現(xiàn)了軟件。軟件究竟是什么?這是當代信息技術(shù)出現(xiàn)以來技術(shù)理論與實踐面對的一個新問題,迫切需要從哲學(xué)的高度進行理論概括和哲學(xué)反思。軟件是知識形態(tài)的技術(shù),是人類思維程序的外化,是一種特殊的符號體系,它是可執(zhí)行的程序。
2軟件的特點及發(fā)展
(1)軟件是一種邏輯實體。硬件是看得見摸得著的,而軟件則不同,人們無法看到軟件的形態(tài)。而必須通過觀察、分析、思考、判斷,去了解它的功能。性能及其他特性。
(2)軟件的生產(chǎn)與硬件不同。軟件是通過人的腦力勞動,把知識和技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品。
(3)軟件在生存期沒有硬件那樣的機械磨損、老化問題,但存在退化問題。
(4)軟件的開發(fā)和運行常常受到計算機系統(tǒng)的限制。
(5)軟件的開發(fā)尚未完全擺脫手工藝的開發(fā)方式。
(6)軟件是復(fù)雜的。
(7)軟件成本相當昂貴。
(8)軟件工作涉及到社會因素。
至今,軟件經(jīng)歷了三個發(fā)展階段:
(1)程序設(shè)計階段(20世紀50至60年代)
(2)程序系統(tǒng)階段(20世紀60至70年代)
(3)軟件工程階段(20世紀70年代后)
3主觀認知與客觀實際的對立統(tǒng)一問題
人們對客觀事物的認識是客觀事物的特性或特征在我們頭腦中的反映,客觀事物的存在不以我們的意志為轉(zhuǎn)移。在軟件生存期的各個階段都可能發(fā)生主觀認知與客觀實際不一致的情況。
軟件需求分析工作是軟件生存期中決定性的一步。用戶必須對軟件功能和性能提出要求,并澄清一些模糊概念。而軟件分析人員則要認真了解用戶的需求,把用戶“做什么”的要求轉(zhuǎn)換成邏輯模型并寫出軟件的需求規(guī)格說明,準確地表達用戶的要求。軟件工程師通常是在為他們原本不熟悉的專業(yè)領(lǐng)域的用戶群開發(fā)軟件。而用戶通常對計算機軟件領(lǐng)域知識不熟悉。專業(yè)的差別使得他們看待問題的角度也不同。如果雙方交流不充分,就會嚴重影響需求規(guī)格說明的質(zhì)量,最終導(dǎo)致軟件工程的失敗。
4聯(lián)系的觀點
沒有哪一個事物是孤立存在的。它總是和其他事物有著千絲萬縷的聯(lián)系。
軟件生存期的前一階段的工作總是為下一階段做準備的。前一階段完成的質(zhì)量不高,就會給后續(xù)工作帶來更大的麻煩,影響整個軟件工程的進度。
有人認為,人類能夠創(chuàng)造的最復(fù)雜的產(chǎn)物是計算機軟件。軟件的復(fù)雜性主要來自它所反映的實際問題的復(fù)雜性。通常,一個軟件會涉及多門學(xué)科、多個領(lǐng)域、多個部門。要使開發(fā)的軟件能夠讓用戶滿意,必須考慮到問題的方方面面,任何一處的疏漏都可能造成非常嚴重的后果。
5發(fā)展的觀點
事物總是在不斷變化的,沒有絕對靜止的事物。社會在變,政策在變,人的素質(zhì)在提高,計算機技術(shù)在發(fā)展,諸多的因素使得軟件應(yīng)用的環(huán)境也在不斷發(fā)生變化,因此必須對軟件進行改正性維護、完善性維護和預(yù)防性維護。
6人的作用
軟件是人高強度腦力勞動的產(chǎn)品。同時人也是軟件的使用者。人利用自己制造的這一工具為進一步認識世界和改造世界服務(wù)。在這一系統(tǒng)中人占據(jù)核心地位,發(fā)揮著主導(dǎo)作用。
人才是軟件業(yè)永遠不會過時的核心競爭力。智力資源的新陳代謝對軟件行業(yè)來說就好比是流通在企業(yè)中的血液,能增強企業(yè)的生產(chǎn)開發(fā)能力。我們不可能要求每一個軟件業(yè)中的人員都成為多面手,因此對于整個產(chǎn)業(yè)而言就需要一個比較合理的人才配比結(jié)構(gòu)。在像印度這樣的軟件強國,人才層次結(jié)構(gòu)一般有管理人才、軟件與相關(guān)行業(yè)分析人才和軟件工人三個層次,呈金字塔形分布。
作為軟件使用者的人來說,他們的素質(zhì)高低也是軟件應(yīng)用成敗的關(guān)鍵因素之一。軟件使用者群體,可能包括單位的最高決策層、中層管理干部、基層管理干部、普通員工,他們在軟件應(yīng)用中發(fā)揮的作用也不盡相同。一套軟件系統(tǒng),特別是管理信息軟件系統(tǒng),如果沒有最高決策管理層的大力支持或者最起碼是不設(shè)障礙,那么成功的可能性幾乎就是零。而對操作層的人員來說,沒有充分的軟件應(yīng)用培訓(xùn),也必然會導(dǎo)致錯誤操作,直接影響應(yīng)用的推行。
7內(nèi)容與形式的問題
內(nèi)容本身具有一定的形式,同時形式又是內(nèi)容的外在表現(xiàn)。
從一定意義上來說,軟件的用戶界面是形式,而功能及性能是內(nèi)容。作為用戶與計算機的接口。用戶界面好壞直接影響到軟件的競爭力。當然內(nèi)容是最重要的。即使用戶界面做的再精美,沒有強大的功能、可靠的性能。這樣的軟件也是不會受到用戶青睞的。