第一章-第四题(ACM 比赛的程序是软件么? “写程序” 和 ”做软件“ 有区别么?软件工程是不是教那些不怎么会写程序的人开发软件? 你怎么看?这个游戏团队, 有很好的软件,但是商业模式和其他软件之外的因素呢?有没有考虑到)--By梁旭晖
引用
ACM程序不算软件,软件=程序+数据+文档,他们的显然只有程序,顶多还有数据,但是没有文档。
写程序和做软件是不一样的,程序就仅仅是代码而已,软件还有文档,数据。做软件需要做需求分析,概要设计等一系列流程,过程之后生成相关文档。写程序就只是编写代码。
随着电脑的普及,软件的应用场景越来越多,越来越广泛,随着这几年大数据等话题的掀起,软件更是成为一个大众所关注的方向,软件工程也在越来越多的学校里作为正式课程所教授。
软件一般情况下, 公认的定义为“程序+数据+文档”。软件工程,就是为了得到软件,所进行的一系列活动,包括4个方面。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,它包含的方面很广泛,包括编程语言,软件开发平台,软件开发模式等很多方面的内容。
其实软件工程一直就没有太准确的定义,每个人或者组织都有自己的理解。我觉得,学习软件工程,不止是要学习怎么用Java,C++等语言去编写代码,还要学习软件的原理,软件的过程,软件的方法,软件的模型等各种方面的内容,这些东西,看似用处不大,但是,随着深入,这些东西所能发挥的效用会越来越大。
我认为,软件工程不能只是教人写代码,还要学习上述原理,过程,方法,模型等“配套”的东西,甚至于软件工程方面的行业道德,业内规范,我们都需要去学习。软件工程得以发展,不止要靠实际的代码,还要有一些抽象的东西,这些理论性质的东西,都是总结前人的经验所得到,有很好的指导作用。换句话说,我们不止要学习怎么编写软件,在对编程语言有一定的了解之后,我们还要学习怎样更好的编写软件。软件工程,很庞大,我们要学习的有很多。
这款软件无疑是一个好软件,软件的开发者是有相当水平的,可以说是优秀的软件编写人员,但是也只是优秀的软件人员,术业有专攻,他们在其他方面我觉得是有很大的欠缺的。
我觉得,他们并没有抓住消费者的心理,首先,在当前的环境下,有很多免费的游戏存在,所以,想要让用户去掏钱买一款游戏是很困难的,因为用户有很多选择,所以,即便他很喜欢这个游戏,他也很可能会选择另外一个免费的,比这个游戏的喜欢程度稍微低一些的游戏,而这类用户的数量相当多。
其次,这款游戏考虑的是面向很多人,但是,我觉得这并不是一个好的方法。也许很多人喜欢这个游戏,但是,也只是喜欢,谈不上热爱,我觉得与其让很多人喜欢,不如让少一些的人去热爱更能获得收益,所以,我觉得在最初游戏设计的时候,这个设想就有问题。
好的软件定义可以有很多种,从画面,逻辑等方面考虑,可以算是一个好的软件,但是,从创新性上,算不上一个足够创新的游戏,我觉得这类游戏在市场上有很多,只是可能不如这款游戏精美。
所以,我觉得这个游戏的开发者,软件编程方面并不差,错在其他方面。首先对现在的市场了解并不够,不了解现在的游戏市场的现状。成功的商人不止要有好的商品,还要有非常独到的眼光,要把握消费者的心理,才能把商品卖出去。另外,商业中有句话叫做“薄利多销”,所以,我觉得游戏的价格有可能偏高了,让用户觉得并不值得,不愿意去购买。