互联网产品重构-出家如初,成佛有余

互联网产品重构

产品 admin 580浏览 9评论

1、为什么要进行产品重构

    旧系统人员流失,系统的业务规则、原始需求谁都不清楚,需求文档、使用文档、架构文档极其缺乏,成为一个无底洞,可维护性很差。  

    旧系统越来越复杂,潜规则太多,原本修改一个小需求,一不小心搞得上线后影响一堆用户

    旧系统的业务架构、技术架构无法满足新的业务模式需要

    旧系统性能无法满足公司业务高速发展的需要

    旧系统的产品生命周期已经到头,需要延长期生命周期

    等等

2、产品重构  VS.  重做新产品

    对现有产品进行重构还是重新做一套全新的系统并没有标准答案。技术人员们都倾向于重做新系统,并都倾向于高估自身的管理能力、架构设计能力,大家都会承诺完美的架构、完美的产品规划。但如果没解决根本性的管理问题,重构或是重做宿命都是一样的。这些管理问题包括产品规划能力、业务架构能力、项目管理能力、架构管理能力、架构设计能力等等。   

   在管理能力尚未改善的情况下,怎样保证重做新系统时候不落入旧系统“新做系统,承诺完美架构->管理失衡,系统维护陷入混乱->再重做新系统”同样的命运。好的架构是管理出来的,不是设计出来的。

  产品重构第一困难的是反向工程过程阶段,必须搞清楚现有系统的遗产状况。对于一个在线运营的系统,不管是重构还是重做都必须经历此过程

  产品重构第二困难的是旧系统迁移到重构系统的过程。怎样做到不影响现有客户使用的情况下完成灰度切换,这是最大的挑战。不管是重构或是重做都必须经历此过程

3、关于产品重构的思考

Architecture Reconstruction,architecture recovery,产品重构,架构重构,反向工程,正向工程

4、参考资料

  The Product Re Architecture

  利用 RUP 对遗留系统进行逆向工程 

  软件架构的艺术

 

转载请注明:出家如初,成佛有余 » 互联网产品重构

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (9)

  1. I appreciate your telling me the truth。
    foldable solar panel10年前 (2010-07-19)回复
  2. your weblog is very good!
    mens casual watch10年前 (2010-07-19)回复
  3. 好文,收藏至20ju.com
    草根网10年前 (2010-07-20)回复
  4. 前排占位..(*^__^*)
    趣游乐10年前 (2010-07-20)回复
  5. 嗯 逆向工程也是一个很考验人的东西 需要深入思考
    枯の灵10年前 (2010-07-20)回复
  6. 牛逼啊
    coo10年前 (2010-07-20)回复
  7. 不错的内容啊希望以后多交流呵呵http://www.8net8.net/
  8. 又见重构!