“做软件是艺术,还是工程?”,答案是肯定的——做软件是工程,不是艺术。所谓艺术一般不是经济生活必需的,而是茶余饭后供人们休闲和欣赏的附属品。艺术品虽然价值不菲,但不是和国民经济或老百姓生活息息相关的东西,它应该是一种附属品。
软件则完全不同,它已在各行各业得到广泛而深入的应用,真正在为社会服务,和人们的日常生活分不开了,直接关系到人民的生命财产。现在软件无处不在,已和大家的工作、生活密不可分。例如:
固定电话、手机、数字电视等都已嵌入了计算机程序、由软件控制的。
火车运行、飞机航线等也是由计算机系统来操作、监控和管理的。
银行业务处理、网上银行、股票系统等无一不是计算机系统呢?
在软件天才眼中,做软件象是成就一件艺术品,充满着想象,不断创新,而且其人机交互界面设计的确需要艺术细胞。当人们将软件看成是“艺术品”时,只是过分强调了其创造性,只是看到了某个局部或少数应用场合,具有很大的局限性。虽然软件是高科技的智力产品,需要很高的创造性,但还是不能抹去其工业性。软件已经形成一项产业,是当今社会工业不可缺少的一个领域,软件产业已经是国民经济的重要支柱产业之一。所以,软件质量问题直接危害到人们的生命财产,软件质量问题会造成国家经济的严重损失、企业会为此付出很大的代价。但书法、绘画、雕塑等质量问题只影响作品本身的艺术价值,或者说只影响到观众对产品的认可度,但决不会直接影响到人们的生命财产,也不会直接给国家经济带来损失。
软件是一门技术,而且是快速发展的高技术。软件工程强调目标的实现,从目标和要求出发,力争达到“多、快、好、省”,满足业务需求、满足客户需求和质量诉求。软件工程无疑是一门工程,因为软件工程同样具备标准工程实践的三段论——分析、设计与实现。
参考:
什么是软件工程?
软件工程的核心是什么?
先进、成熟的软件工程思想有哪些?
后补:
从网友的评论,得到一些启发,例如,“游戏软件呢?经济生活必需的?”是一个很好的问题,也同意“艺术与工程不应该是对立的, 应该是相辅相成的”。游戏软件虽然形成一个不小的产业,不是生活必须的,和绘画、音乐、电影等艺术创作有些类似,都是供人们感官享受的,满足精神上的需要。但游戏软件为了提高性能、满足上百万在线用户的使用,其软件工程方面的要求非常高,包括3D建模、系统架构、服务器部署设计等。所以构建一个游戏软件系统,工程技术是不能忽视的,其开发过程是一个复杂的系统工程过程,虽然它比普通软件需要更多的艺术创作。
现在越来越多的绘画、音乐、电影等借助计算机来实现,形成数字艺术,这时候,软件或计算机系统只是工具,和画笔、画板没有差别,作为工具,谈不上是艺术的或工程的。软件作为工具,也很难体现其艺术性,辅助性则更为强烈。本文主要是讨论软件系统本身,即软件系统或产品的开发过程。从这个层次上看,软件的开发过程是系统的、技术的工程过程,虽然包括管理过程、人文环境等。
传统建筑是艺术和工程结合的比较好的例子,不乏许多经典之作。但所有的经典之作都是艺术和工程的完美结合,例如,“都江堰”、“赵州桥”、“伦敦塔桥”、“克里姆林宫”、“卢浮宫”等。如果没有很好的过程技术来保证质量,那些建筑早就灰飞烟灭。这些建筑艺术的创作,正是靠坚实的建筑工程使其艺术得以表现,也使它们能长久保留下来。无论建筑设计师如何创作,如果没有结构工程师等技术支持,建筑艺术创作只能是纸上谈兵。
软件本身的艺术性也很难和建筑比。传统的建筑比较成熟,至少分为建筑学、结构工程(土木工程)、给排水工程、电气工程、工程预算等,处处体现了工程,并将艺术创作(建筑学)独立起来。软件学科还比较含糊,只有一个专业“软件工程”(官方)。非官方的专业有动漫、多媒体应用、软件应用、项目管理、软件开发、软件测试等,还没有类似“建筑学”的软件设计专业,虽然有些学校也开设了“UI设计”课程,仅仅是一门课程。
转载:http://news.csai.cn/ITplnews/200907161053481431.htm