作业三:

ShrinkWrap (在包装盒子里面的软件,软件在CD/DVD上); Web APP (基于网页的软件); Internal Software (企业或学校或某组织内部的软件); Games (游戏); Mobile Apps (手机应用); Operating Systems (操作系统); Tools (工具软件) 选取一类软件, 请分析:

1) 此类软件是什么时候开始出现的, 这些软件是怎么说服你(陌生人)成为他们的用户的? 他们的目标都是盈利么? 他们的目标都是赚取用户的现金么?还是别的?

2) 你个人第一次用此类软件是什么时候,你当时多大,具体在什么学校读几年级,是什么状态,对软件有什么期望 ?

3)当时的软件是如何到你手里的 (邮购,下载,互相拷贝,从应用商店购买,。。。)

4) 你是如何学会用这软件的?它给你什么好处,坏处? 这些软件是如何处理 bug 的? 如何更新新版本的?

5) 同一类型的软件之间是如何竞争的?你现在还用它么,或者是同类软件的不同品牌,为何?

6)这种软件再过 3 年,5 年还会存在么,为什么?

7)列举你在使用上述软件的时候观察到的 “特殊”现象,它们和硬件有什么不同? 这些能说明软件的某些本质特性么?

 

问题说完了,接下来我本着童叟无欺的态度认真来答答。

大二时候我拿了奖学金,当即把自己慢的要死要死的三星手机换成了iphone6,那感觉真是一个倍儿爽,运行流畅,用户体验极好,虽然很多人抨击苹果的系统还有很多漏洞,但我觉得瑕不掩瑜,很多时候它带来的极致体验可以让我忽略它存在的瑕疵。OK不扯远了,我们接下来聊一下软件,这里我想说的是一款课程表软件叫超级课程表。

1)这款软件是我刚入大一时候同学推荐给我的,当时我还傻乎乎天天登陆学校的网站查自己的课程表,还试图把它们打印出来贴到课桌上提醒自己啥时候上课,完全一副高中生做派,自从同学推荐给我之后,我立马下载使用并觉得方便了许多。

我觉得不是每一个软件的初始目标都是盈利,但我觉得大多数软件的终极目标一定是盈利。为什么这么说呢?我曾经看过超级课程表CEO余佳文的演讲,他分享了他的亲身经历,说他是从小就对编程感兴趣,在高中时可能为了实现这样一个方便大众的功能,他便开始了用他所学习的程序进行试验,后来他成功了,他实现了心中并非盈利的目标。

只是后来随着软件的发展壮大,他的团队和他本人也意识到的超级课程表存在的巨大商机,所以后来开始联合第三方比如淘宝等网站,对学生群体开始连带的产品销售。

2)我用超级课程表是在大一,当时同学推荐给我之后,我觉得非常方便实在,因为是免费软件,而且设计很人性化,只需要输入学校和学号即可一键导入课表,它所具备的提醒、计划功能都让我的大学生活更加充实。

3)当时下载超级课程表是在三星的应用汇里面下载的,这个软件排名很高,受众很广,轻易可以下载。说来惭愧,后来本人换了iPhone之后,觉得华科团队设计的课程格子界面更美观,在同样的功能之下我卸载了超级课程表,安装了课程格子。

4)后来的后来,直到有一次课程格子出现了一个巨大的bug周二上午本来应该有课的,但是课程格子上面显示无课状态,然后我非常不幸的错过了那节课而且老师还点了名!于是我果断卸载了它,重新回到了超级课程表的怀抱。

不过说实在的,超级课程表初期(至少在我大二以前)是由许多bug的,比如闪退,比如数据更新不及时,比如无法连接第三方等,每当这个时候超级课程表的程序员们就会出来道歉,我也是累觉不爱,一次一次默默忍受着,不过好在余佳文诚意十足,后来的超级课程表开了挂一般质量越来越好,而且其中新开发的功能越来越多,现在它不仅仅是一个课程表了,很多时候成为同学们吐槽、阅览、甚至买东西的胜地。

5)上面提到过,超级课程表肯定是存在竞争对手的,其中很强大的一个对手就是课程格子,其实功能神马的都很相似,但对于界面控们来说恐怕超级课程表不是最优选择,所以超级课程表输就输在这里,但是超级课程表立足的优势也不少,比如他会推送最新校园轶事,会有创意十足的活动,尤其关于课表的设计是比较人性化的,我们想得到的上面都有。

6)时间过去个三五年超级课程表的发展仍然不是问题,现在本来就实行电子化办公,信息的电子化是时代发展的必然趋势,所以三五年之后,这款APP肯定是存在的,至于为了顺应时代潮流被改造成什么样子我就无法得知了

7)软件与硬件最大的不同就是,它可以分很多模块,有些模块可以根据人的需求进行增删改,而且软件本身是用程序语言堆砌的。

一般来讲软件被划分为系统软件、应用软件,其中系统软件包括操作系统和支撑软件(包括微软发布的嵌入式系统,即硬件级的软件,使电脑及其它设备运算速度更快更节能)软件是用户与硬件之间的接口界面。用户主要是通过软件与硬件进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须全局考虑软件与硬件的结合,以及用户的要求和软件的要求。  

1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。   
2.软件程序能够满意地处理信息的数据结构。   
3.描述程序功能需求以及程序如何操作和使用所要求的文档.以开发语言作为描述语言,可以认为:软件=数据结构+算法。