我(的手机)终于吃上棉花糖了!……什么?奥利奥?!
小至应用程序,大到操作系统,隔三差五都会有更新。App Store图标上的小红点,Google Play在通知栏弹出的提示也是见怪不怪了。有的时候,硬件也会有更新。
更新的目的有很多,例如使系统保持最新、增加新功能、修正旧版本的错误等。
软件开发不是想来就来的,它有着一套严谨而科学的流程。例如以下是系统发展生命周期的一个版本:
从身边事件中找到机会,产生初步软件概念。
初步得出项目管理计划等一系列文档,并准备好最基本的必备资源。
分析可以有很多方面的分析,比如说客户需求分析,市场分析,能力分析。在这个过程中,需要制定一份详细的功能清单。
设计,顾名思义,是将愿望变成现实的第一步。在这个过程中,需要给出具体的功能的实现方案。虽然这个阶段的产品仍然只是一份方案书,但是建造起灯塔远比在一片漆黑中航行要好得多。
梦开始的地方。将纸上的宏大构架变成屏幕上的代码。当看到自己的程序真正在工作的时候,那一份欣喜是不言而喻的。
程序开发出最初版本后是远远不够的,它需要经过一系列严格的测试,以保证程序尽可能地减少bug,提升效率,以及压力测试等等。
程序开发结束后不是一劳永逸的。开发者必须时刻监视着软件的运行状况,及时得到反馈并作出修正。同时还要时刻准备回答客户的疑问。
上面提到的周期更侧重于项目的层面,就一个软件本身而言,它的一生将会这样度过
这是真的写代码的阶段。分析需求,编写程序,单元测试,均在这个阶段完成。
在这个阶段,虽然软件已经开始了测试,但是软件的全部功能还没有开发完成。一旦功能不再添加,这个阶段也就结束了。
在这个阶段,程序已经基本完成了, 但是可能会有或大或小的数不清的bug。同时程序的运行效率可能也不是最优的。在这个阶段,开发者会尽量减少对用户不利的影响。
我想我应该知道育碧是哪个环节出岔子了……
程序一旦结束测试状态之后就可以发行了。发行的渠道有很多,可以是实体,也可以是网络发行。
程序不是一成不变的,bug总是会出来的,补丁是必要的。
程序改动得太多,旧的版本终有一天会被抛弃。这只是时间问题,但是偏偏有的软件可是整整拖了13年才停止支持,还在结束支持后又推送了几个补丁包……
标题终于上线了
软件的开发一般会有长期的路线图,顾名思义就是指导程序下一步开发方向的指南文件。所以在发布一个版本的时候,程序可能并没有达到完全形态而且可能永远都达不到,所以会时不时地发布更新,来提供最新的更新。
但是,如果更新速度太快的话,就很可能导致测试不充分。测试不充分就会有bug。苹果每一次的新系统都会遭到不少用户的差评,漏洞百出,可能就是与每年一次大更新太频繁有关。
如果放出更新之后迟迟没有人升级,这也是很大的问题。(吃不到最新甜品的痛苦)Android系统的升级率一直都很低,最新的功能无法带给多数用户,这种更新也是失败的。
毫无意义的软件更新最近也是越来越多了。软件的主打新功能竟然是可以看它独播的新片?!这是功能吗?这需要单独放出更新吗?更新不需要网络流量的吗?
问题虽然存在,我们却不能因此而否定这个完善的流程和理论。就正如日本现在都还没有找到可以替代制作委员会方式的体制,现在的项目管理机制也没有被推翻。
所以我们更应该在自己身上下功夫,做好管理机制,带来更好的产品。
CC BY-SA 3.0