软件设计是知识构建

主要观点:

  • 公司ORG依赖集成服务SaaS,后决定用内部构建的系统SVC替代SaaS,工程师X10按时完成SVC建设并离开,TEAM接手后难以对SVC进行修改,系统多次变更后成为“遗留软件”,成员对其理解不足。
  • 软件开发不应仅注重生产代码,而应重视软件设计中的理论构建,即程序员需构建对系统的认知模型,否则软件易老化、维护困难。
  • TEAM难以接手SVC是因为X10带走了开发上下文(认知模型),系统虽仍运行但已“死亡”,TEAM需重建理论使其复活,虽艰难但有可能,且我们应重视这对未来工作的影响。

关键信息:

  • ORG从无限预算模式转为需明年盈利,发现SaaS花费高,决定用SVC替代,X10按时完成后离开,TEAM接手后表现不佳。
  • David Parnas 指出软件维护者不理解原设计会导致软件结构退化,Peter Naur 认为大型程序的持续修改依赖于程序员的理论构建,Zach Tellman 认为软件开发就是不断解释软件意义。
  • 软件设计活动应减少复杂性以促进理解和解释,TEAM需重建SVC的理论模型,虽艰难但可能,我们应重视这对未来工作的影响。

重要细节:

  • ORG依赖SaaS decouple 业务逻辑与其他软件。
  • 分析师发现SaaS花费高,高管决定用SVC替代,X10独自在紧张时间内完成。
  • Parnas 强调理解原设计对软件维护的重要性,Naur 指出程序员需构建对程序的理论,Zach Tellman 认为软件开发是不断解释。
  • TEAM接手后难以对SVC进行修改,系统成为“遗留软件”,TEAM需重建理论使其复活,作者认为虽艰难但可能,且应重视这对未来工作的影响。
阅读 8
0 条评论