锁定老帖子 主题:遗留系统:IT攻城狮永远的痛
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-12-05
最后修改:2014-01-31
然而,在这个令人振奋的软件工业时代,处于时代中心的各大软件企业却令人沮丧。软件规模越来越庞大,软件结构越来越复杂的同时,伴随的却是软件质量越来越低下,软件维护变得越来越困难,以至于每个小小的变更都变得需要伤筋动骨。研发人员为此举足无措,测试人员成为唯一的救星,每个小小的变更都需要付出巨大代价进行测试。软件企业在这样一种恶性循环中苦苦支撑。毫无疑问,这也成为这个令人振奋的时代的一景。 过去,一套软件的生命周期不过2~3年时间,随着软件需求的变化,我们总是选择将软件推倒了重新开发,但是现在这样的情况在发生着改变。随着软件规模的扩大,软件数据的积累,软件影响力的提升,我们,以及我们的客户,都真切感受到,要推倒一套软件重新开发,将变得越来越困难而不切实际。这样的结果就是,我们的软件将不停地修改、维护、再修改、再维护……直到永远。这是一件多么痛苦的事情啊! 一套软件,当它第一次被开发出来的时候,一切都十分清晰:清晰的业务需求、清晰的设计思路、清晰的程序代码,经历了几次需求变更与维护,一切就变得了不那么清晰。业务需求文档变得模糊不清,设计思路已经跟不上变更的脚步,程序代码则随着业务逻辑的复杂而臃肿不堪。程序员开始读不懂代码,软件开发工作变得不再是一种乐趣。 随着时间的推移,软件经过数年、数十次的变更与维护,情况变得越来越糟。最初的程序员已经不愿再看到自己的代码而选择离去。他的继任者变得更无所是从,由于看不懂程序,代码的每一次修改如同在走钢丝。测试人员变成了唯一的希望,开发人员的每一次修改都意味着测试人员需要把所有程序测试一遍。继任者们开始质问最初的设计者们的程序设计。如果此时恰巧又有什么新技术出现,就会更显得原有系统的破旧与不堪。 相信这就是软件工业时代的所有企业都不得不面对的尴尬境地。难倒真的是我们最初的设计错了吗?是的,我们都这样质问过我们自己,因此我们开始尝试在软件设计之初投入更多的精力。我们开始投入更多的时间作需求调研,考虑更多可能的需求变化,做更多的接口,实现更加灵活但复杂的设计。然后呢,我们解决了我们的问题了吗?显然是没有。需求并没有像我们想象的那样发生变更:我们之前认为可能发生的变更并没有发生,使我们为之做出的设计变成了摆设;我们之前没有考虑到的变更发生了,让我们猝不及防,软件质量开始下降,我们被打回了原形。难倒真的是无药可解了吗?在我看来,如果我们没有看明白软件开发的规律与特点,那么我们永远找不到那份向往已久的解药。现在是时候了,让我们真正静下心来分析分析软件开发的规律与特点吧。(续) 相关文档 遗留系统:IT攻城狮永远的痛 需求变更是罪恶之源吗? 系统重构是个什么玩意儿 我们应当改变我们的设计习惯 小步快跑是这样玩的(上) 小步快跑是这样玩的(下) 代码复用应该这样做(1) 代码复用应该这样做(2) 代码复用应该这样做(3) 做好代码复用不简单(1) 特别说明:希望网友们在转载本文时,应当注明作者或出处,以示对作者的尊重,谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2013-12-07
禅宗六祖惠能于黄梅得法后,至广州法性寺,值印宗法师讲《涅槃经》,时有风吹幡动,一僧曰风动,一僧曰幡动,议论不已,惠能进曰:不是风动,不是幡动,仁者心动。 佛曰:命由己造,相由心生,世间万物皆是化相,心不动,万物皆不动,心不变,万物皆不变。
|
|
返回顶楼 | |
发表时间:2013-12-09
jackra 写道 禅宗六祖惠能于黄梅得法后,至广州法性寺,值印宗法师讲《涅槃经》,时有风吹幡动,一僧曰风动,一僧曰幡动,议论不已,惠能进曰:不是风动,不是幡动,仁者心动。 佛曰:命由己造,相由心生,世间万物皆是化相,心不动,万物皆不动,心不变,万物皆不变。
不知所云 |
|
返回顶楼 | |
发表时间:2013-12-09
fangang 写道 jackra 写道 禅宗六祖惠能于黄梅得法后,至广州法性寺,值印宗法师讲《涅槃经》,时有风吹幡动,一僧曰风动,一僧曰幡动,议论不已,惠能进曰:不是风动,不是幡动,仁者心动。 佛曰:命由己造,相由心生,世间万物皆是化相,心不动,万物皆不动,心不变,万物皆不变。
不知所云 LZ说的问题,是个经营与管理的问题,根本就不是攻城狮能解决的问题。 |
|
返回顶楼 | |
发表时间:2013-12-09
这就是现实, 过去会一直影响现在,
|
|
返回顶楼 | |
发表时间:2013-12-09
我现在提出来是,你感到痛了吗?你是否期望得到解决呢?既然如此,我们是不是应当坐下来探讨一下?
|
|
返回顶楼 | |
发表时间:2013-12-09
fangang 写道 我现在提出来是,你感到痛了吗?你是否期望得到解决呢?既然如此,我们是不是应当坐下来探讨一下?
做投资人的话可以探讨下。 如果是打工者,还是不要探讨了。 |
|
返回顶楼 | |
发表时间:2013-12-10
最后修改:2013-12-10
软件是对真实世界的模拟。
显然地,真实世界在变,软件也要跟着变。 |
|
返回顶楼 | |
发表时间:2013-12-10
测试手段有很多,不一定需要人,可以自动化测试,如:fit
方法总比困难多,这个时候需要把脚步放慢,开始重构、整洁代码等 |
|
返回顶楼 | |
发表时间:2013-12-12
个人认为:软件的使用(或更新)使得业务处理时间缩短,时间缩短导致业务模型进化,模型进化反过来要求软件进一步更新,循环便开始了……
解决方式: 1、软件做成一个可供二次开发的平台,先根据业务模型定义自己的元素(如:DML),然后用这些用户能够看懂的元素来实现他的业务逻辑,最后用户自己能够开发新的功能。 2、用人工智能让软件能自我学习、进化。(太科幻) |
|
返回顶楼 | |