闵应骅的博客分享 http://blog.sciencenet.cn/u/ymin 一位IEEE终身Fellow对信息科学及其发展的看法

博文

12306软件开发的管理(140120) 精选

已有 10133 次阅读 2014-1-20 08:52 |个人分类:网络|系统分类:科研笔记| 软件开发管理

12306软件开发的管理(140120

闵应骅

 

   最近由于春运,12306为大家所关心,成为新闻热点。铁路12306”是中国铁路客户服务中心推出的官方手机购票应用软件,与火车票务官方网站共享用户、订单和票额等信息,并使用统一的购票业务规则,软件具有车票预订、在线支付、改签、退票、订单查询、常用联系人管理、个人资料修改、密码修改等功能,为旅客提供方便快捷的手机购票全新体验。

   最近12306的程序员忙坏了。随着春运高峰车票预售期的到来,新版售票网站被客户挤破了,无票、系统崩溃、黄牛抢票,各种非正常状况相继出现,12306网站还引来网友吐槽声一片。而在APP平台上,一些民间开发的手机订票软件,抢票软件多得很。有新闻说:市民王先生准备去广州,当他在APP平台搜索铁路12306”时,系统一下子跳出了几十个应用软件。他最后下载了一款铁友火车票软件,据王先生介绍,他使用的铁友火车票手机购票软件可以查询车次和余票数量,支持多家银行以及支付宝支付,还可在线办理退票。打开后根据信息提示,不到10分钟就买好了到广州的高铁票。

又有新闻说:沪上一位从事手机软件开发的工程师告诉记者,这些山寨手机订票软件,很可能是一些网络公司通过盗链程序,非法与12306订票系统挂钩,从而开展订票活动。用户看似是用手机订到火车票了,实质上,只是换了种方式,用手机登录了12306网站而已,最终的交易行为还是通过铁路12306系统完成的,和软件本身无关。

为了对付黄牛抢票,后来又搞了一个动态认证码,给用户增加不少麻烦,给抢票着也增加了困难。但是,很快又出现动态识别认证玛,网络黄牛用软件瞬间买千张票!央视后来报道了网络黄牛利用软件抢票的黑色产业链。利用软件填写验证码和生成身份证号码,10分钟可抢1245张车票。12306网站表示,已针对恶意屯票行为采取了防范和封堵措施。铁路公安机关也已采取措施,严厉打击网络黄牛囤票倒票行为。现在又说要验证身份证号码是否与真实姓名一致。这些措施都是有利有弊,人们按常识就可以想到。

   这里引出了一个软件开发中的管理问题。软件开发被人认为太费时、太容易出错、太费钱。瀑布模型是软件开发过程模型的一种,包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装和检查阶段、操作和维护阶段,这些阶段按次序进行,可能有部分重叠,但很少会迭代。这个模型现在面临严重挑战。实践表明,很少的项目可以事前100%的确定需求。后面的阶段不可能一步一步走下去。可以说,瀑布开发模型已经不行了,也许可以作为阶段性的管理模型。事前确定的需求只能是一种估计。估计必然有不确定性。需求的扩张也是不确定的。

   实践者与管理之间有一个误会。实践者关心详细的工作流计划,怎么决定下一步该做什么,下一步怎么产生最大的效益。而资源掌握在管理者手里。管理者想知道需要多少资源,回报有多少,这就是估计要做的事。这种估计不一定准,但是必须做。系统维护是基于花费,而这种估计则用所谓工作流节流方法,即收集所谓希望的和要求的系统改变,按紧急程度和价值排队,只选取那些可以做到的工作。对优先级和紧急程度高的工作,当然要选取。但是必须在预算阶段允许的花费之内。资源管理的期待和开发者欲望之间的矛盾来源于资源预算期。另一个矛盾来自于对估计和承诺的误解。估计和承诺不是一回事。估计必有不确定性,但不能以不确定性来推卸责任。我们必须告诉用户以时间的承诺,而且给出预算。所以,我们必须把不确定性转换为一个确定的数字,这个数字就是承诺。承诺是估计加对付内在风险的储备。需求不清楚可能由于市场的压力、顾客的不确定性或者确定项目的经验不足,都可能增大项目风险,而要求更多资源。诊断风险未能考虑在内的关键是当我要求他们估计要尽量降低时常说的话。因为他们打了不必要的富裕量。如果我们继续要求减少抵御风险的资源时,我们也许会更接近实际。这样做,如果不出现风险是可以的,但如果真正出现,项目就无法应对,因为缺少资源实行承诺。

   承诺是项目加权的付出,即项目所需的付出和对付风险的付出。二者都是估计,都是不确定的,但对制定好的商业决策至关重要。另一方面,我们需要计算项目风险加权的价值,和风险加权的回报。其所以要加权,就是因为降低风险要付出代价。譬如身份认证要和国家身份认证权威部门进行互联网的身份认证联网,这当然要付出代价,包括用户购票的时间代价。

   所有项目必须有一个最后的目标状态,这是商业管理的根本。样机对于定义需求和创建估计都是很合适的途径。没有预先的估计,我们就无从着手一个项目。虽然我们不能完全预计需求。但是,如果没有估计过程和对付风险的可行承诺,公司就等着付出代价吧!所以,估计不是怪物,适当的估计是必要的。回到12306,我觉得这个自动购票软件首先就缺少一个最后的目标状态。最后的状态究竟是要让所有的人都购到想要的车票;还是先来的先购到?如果是前者,显然不可能,因为我们的运力对于这么多人集中在这么短时间内达到目的地根本做不到。如果提高运力做到了,那么平时就会有极大的运力浪费。如果是后者,先后怎么定义?是以进入12306系统的时间吗?如果是那样,人家开发自动系统来抢票,就无可厚非。你选择验证身份证,毛病很多。因为辨别真假身份证的充分必要条件不存在,譬如现在有所谓身份证生成器软件,帮人造假。所以你辨别起来,漏洞很多。其次,软件质量当然也是一个大问题。软件开发团队的经验赶不上人家电子商务,你软件的空子就很容易被人家钻了。当然,要想软件无空子可钻,基本上也是做不到的,因为软件的bug基本上是不可避免的。所以,真正要解决春节交通拥挤的问题,不是一个软件的问题,要从根本上入手,譬如减少远程就业、减少集中放假、增加运力等等。这些问题解决了,票贩子、抢票软件自然就没有市场了。




https://wap.sciencenet.cn/blog-290937-760601.html

上一篇:知识产权,非保护不可(140113)
下一篇:神秘的大脑(140129)
收藏 IP: 159.226.43.*| 热度|

14 夏少波 罗汉江 李宇斌 李健 王永林 温世正 李伟钢 孙东科 肖振亚 仲银鹏 邱嘉文 zdlh idealist dulizhi95

该博文允许注册用户评论 请点击登录 评论 (57 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 19:32

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部