軟件開發(fā)不是一門藝術
"做軟件是藝術,還是工程?",答案是肯定的--做軟件是工程,不是藝術。所謂藝術一般不是經(jīng)濟生活必需的,而是茶余飯后供人們休閑和欣賞的附屬品。藝術品雖然價值不菲,但不是和國民經(jīng)濟或老百姓生活息息相關的東西,它應該是一種附屬品。

藝術是人的知識、情感、理想、意念綜合心理活動的有機產(chǎn)物,是人們現(xiàn)實生活和精神世界的形象表現(xiàn)。藝術屬于娛樂游戲文化的范疇,是人們?yōu)榱藵M足自己對主觀缺憾的慰籍需求和情感器官的行為需求而創(chuàng)造出的一種文化現(xiàn)象,這種文化現(xiàn)象的本質(zhì)特點是用語言創(chuàng)造出虛擬的人類現(xiàn)實生活。藝術是人們進行情感和思想交流的一種文化形式,人們進行情感和思想交流是以語言為基礎的,所以,藝術的發(fā)生基礎是人類的語言。藝術可以定義為"人類以創(chuàng)造美為主要目的的技術及其產(chǎn)品". 藝術需要技術,但不是技術。
軟件則完全不同,它已在各行各業(yè)得到廣泛而深入的應用,真正在為社會服務,和人們的日常生活分不開了,直接關系到人民的生命財產(chǎn),F(xiàn)在軟件無處不在,已和大家的工作、生活密不可分。例如:
固定電話、手機、數(shù)字電視等都已嵌入了計算機程序、由軟件控制的。
火車運行、飛機航線等也是由計算機系統(tǒng)來操作、監(jiān)控和管理的。
銀行業(yè)務處理、網(wǎng)上銀行、股票系統(tǒng)等無一不是計算機系統(tǒng)呢?
在軟件天才眼中,做軟件象是成就一件藝術品,充滿著想象,不斷創(chuàng)新,而且其人機交互界面設計的.確需要藝術細胞。當人們將軟件看成是"藝術品"時,只是過分強調(diào)了其創(chuàng)造性,只是看到了某個局部或少數(shù)應用場合,具有很大的局限性。雖然軟件是高科技的智力產(chǎn)品,需要很高的創(chuàng)造性,但還是不能抹去其工業(yè)性。軟件已經(jīng)形成一項產(chǎn)業(yè),是當今社會工業(yè)不可缺少的一個領域,軟件產(chǎn)業(yè)已經(jīng)是國民經(jīng)濟的重要支柱產(chǎn)業(yè)之一。所以,軟件質(zhì)量問題直接危害到人們的生命財產(chǎn),軟件質(zhì)量問題會造成國家經(jīng)濟的嚴重損失、企業(yè)會為此付出很大的代價。但書法、繪畫、雕塑等質(zhì)量問題只影響作品本身的藝術價值,或者說只影響到觀眾對產(chǎn)品的認可度,但決不會直接影響到人們的生命財產(chǎn),也不會直接給國家經(jīng)濟帶來損失。
軟件是一門技術,而且是快速發(fā)展的高技術。軟件工程強調(diào)目標的實現(xiàn),從目標和要求出發(fā),力爭達到"多、快、好、省",滿足業(yè)務需求、滿足客戶需求和質(zhì)量訴求。軟件工程無疑是一門工程,因為軟件工程同樣具備標準工程實踐的三段論--分析、設計與實現(xiàn)。
說明:"軟件開發(fā)不是一門藝術"和"軟件開發(fā)工作中沒有藝術性"是不同的。"軟件開發(fā)不是一門藝術",意味著"藝術在軟件開發(fā)中不占有主導地位,而是工程技術占主導地位",并不否認"軟件開發(fā)中含有藝術的成分",只不過這種藝術成分少于50%.每一項工作都有藝術性,軟件開發(fā)與測試有藝術性、項目管理也有藝術性。但美術、音樂等是一門藝術,藝術在美術、音樂中占主導地位。
參考:
什么是軟件工程?
軟件工程的核心是什么?
先進、成熟的軟件工程思想有哪些?
后補:
從網(wǎng)友的評論,得到一些啟發(fā),例如,"游戲軟件呢?經(jīng)濟生活必需的?"是一個很好的問題,也同意"藝術與工程不應該是對立的, 應該是相輔相成的".游戲軟件雖然形成一個不小的產(chǎn)業(yè),不是生活必須的,和繪畫、音樂、電影等藝術創(chuàng)作有些類似,都是供人們感官享受的,滿足精神上的需要。但游戲軟件為了提高性能、滿足上百萬在線用戶的使用,其軟件工程方面的要求非常高,包括3D建模、系統(tǒng)架構、服務器部署設計等。所以構建一個游戲軟件系統(tǒng),工程技術是不能忽視的,其開發(fā)過程是一個復雜的系統(tǒng)工程過程,雖然它比普通軟件需要更多的藝術創(chuàng)作。
現(xiàn)在越來越多的繪畫、音樂、電影等借助計算機來實現(xiàn),形成數(shù)字藝術,這時候,軟件或計算機系統(tǒng)只是工具,和畫筆、畫板沒有差別,作為工具,談不上是藝術的或工程的。軟件作為工具,也很難體現(xiàn)其藝術性,輔助性則更為強烈。本文主要是討論軟件系統(tǒng)本身,即軟件系統(tǒng)或產(chǎn)品的開發(fā)過程。從這個層次上看,軟件的開發(fā)過程是系統(tǒng)的、技術的工程過程,雖然包括管理過程、人文環(huán)境等。
傳統(tǒng)建筑是藝術和工程結合的比較好的例子,不乏許多經(jīng)典之作。但所有的經(jīng)典之作都是藝術和工程的完美結合,例如,"都江堰"、"趙州橋"、"倫敦塔橋"、"克里姆林宮"、"盧浮宮"等。如果沒有很好的過程技術來保證質(zhì)量,那些建筑早就灰飛煙滅。這些建筑藝術的創(chuàng)作,正是靠堅實的建筑工程使其藝術得以表現(xiàn),也使它們能長久保留下來。無論建筑設計師如何創(chuàng)作,如果沒有結構工程師等技術支持,建筑藝術創(chuàng)作只能是紙上談兵。
軟件本身的藝術性也很難和建筑比。傳統(tǒng)的建筑比較成熟,至少分為建筑學、結構工程(土木工程)、給排水工程、電氣工程、工程預算等,處處體現(xiàn)了工程,并將藝術創(chuàng)作(建筑學)獨立起來。軟件學科還比較含糊,只有一個專業(yè)"軟件工程"(官方).非官方的專業(yè)有動漫、多媒體應用、軟件應用、項目管理、軟件開發(fā)、軟件測試等,還沒有類似"建筑學"的軟件設計專業(yè),雖然有些學校也開設了"UI設計"課程,僅僅是一門課程。
文章強調(diào)"軟件開發(fā)不是一門藝術",雖然有些偏激 :-) 也是希望大家正視軟件質(zhì)量,奉勸大家不要將"軟件開發(fā)是一門藝術"、"軟件開發(fā)是高技術"等作為"軟件質(zhì)量低下"的借口。而多向傳統(tǒng)的建筑學習,不僅有很好的創(chuàng)造,而且有一絲不茍的質(zhì)量體系來保證質(zhì)量,一起努力將軟件推向一個新的水平、成熟的時代。
【軟件開發(fā)不是一門藝術】相關文章:
升職是一門技術,也是一門藝術職場勵志文章12-06
演講是一門語言藝術08-21
秘書工作是一門藝術11-13
教育應該是一門藝術論文10-31
《思考是一門藝術》讀后感2000字01-16
營銷:將不再是一門“假裝”的藝術10-17
軟件開發(fā)工具與軟件開發(fā)環(huán)境分析08-22
NIIT軟件開發(fā)專業(yè)08-21