------对软件工程卑微的理解------
作为一名大三的学生,对“软件工程”这个名词是既陌生又熟悉。单从字面意思去理解,“软件工程”就是“软件”+“工程”,当时我就是这么去理解的。但根据邹欣老师说的“软件=程序+软件工程”,我的理解似乎陷入了一个死循环。。那到底什么是软件工程呢?“软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。”----百度百科。其中一个词很关键--“工程化”,所以什么又是工程化呢?其实也不需要太夸张的理解嘛,就是将一些事情当做工程去做(手动滑稽),那什么又是工程呢(再次滑稽)?那就再次借助百度百科的力量吧-------“工程是科学和数学的某种应用,通过这一应用,使自然界的物质和能源的特性能够通过各种结构、机器、产品、系统和过程,是以最短的时间和最少的人力、物力做出高效、可靠且对人类有用的东西。将自然科学的理论应用到具体工农业生产部门中形成的各学科的总称。”这么一解释,哦,似乎很是豁然开朗。那么,现在我对软件工程产生了新的理解,软件工程就是用最少的人、物力,做出一个汇聚了诸多特性的并高效可靠的软件供大众们使用的一个过程。似乎这种理解对我这种小白来说也是最好不过。那么我们跳过这个对其涵义高低的探究,马克思说过“较高级复杂的劳动,是这样一种劳动力的表现,这种劳动力比较普通的劳动力需要较高的教育经费,它的生产需要花费较多的劳动时间。因此,具有较高的价值。”那么我可以认为,软件工程就是一种较高级复杂的劳动,所以它具有更高的价值。通过软件工程做出的服务大众的高效且实用的软件真的是随处可见,比如说“微信”这个基本服务为即时通讯的免费应用。它的成功存在着偶然性,马哥一开始并不认为微信会超越“QQ”(另一种在微信出现之前被大众所接受的即时通讯工具),因为微信的功能较QQ而言真是少之又少。虽然现在微信为了迎合群众并存在着其他的一些目的渐渐的又添加了诸多功能,但从不同角度去理解微信的成功,我们会发现,一个软件的成功与否也伴随着时代潮流的趋势变化而变化。马克思说,“具体问题具体分析”,但我们能从具体问题中总结出普遍规律。微信的一大特点就是“简洁”,那就试想,一个好的软件首先它需要具备的是应该是它本身最朴素的功能的最佳化,比如即时通讯应用应该最先是从各个角度为它这个最根本的功能做“铺垫”,让人们在体验这个功能时感觉到同样的功能这个应用更加值得去选择。我认为,开发者具备的能力完全不应该仅仅是靴学术上和技术上的高水准(当然这两个因素十分重要),眼界和对开发事物的理解应该是更高的“建筑”,作为一名大三的学生,我着实应该向这两个方向去努力并去精进。
浙公网安备 33010602011771号