Measure twice,cut once:upstream prerequisites--Code complete reading notes(3)

架构师吃掉需求,设计师吃掉架构,程序员消化设计。
就如同你做这个项目的时间越长,对这个项目的理解也就越深入一样,客户参与项目的时间越长,他们对项目的理解也就越深入。开发过程能帮助客户更好的地理解需求,这是需求变更的主要来源。
如果你的需求不够好,那就停止工作,退回去,先把它做好,再继续前进。
确保每个人都知道需求变更的代价,
建立一套变更控件程序,
使用能适应变更的开发方法,
放弃这个项目,
注意项目的商业案例--要求给出商业理由,考虑需求的“增加的商业价值”

架构中,应该能发现对那些曾经考虑过的最终组织结构的替代方案的记叙,找到之所以选用最终的组织结构,而不用其它的替代方案的理由
“维护‘设计的缘由’”至少与“维护设计本身”一样重要。
对那些构成系统计80%的行为的20%的类进行详细说明
数据通常只应该由一个子系统或一个类直接访问
如果架构依赖于特定的业务规则,那么它就应该详细描述这些规则,并描述这些规则对系统的影响

架构的典型组成部分:
程序组织
主要的类
数据设计
业务规则
用户界面设计
资源管理
安全性
性能(定义各种资源之间的优先顺序)
可伸缩性
互用性
国际化、本地化
输入输出
错误处理
容错性
架构的可行性
过度工程
关于“买”还是“造”的决策
关于复用的决策
变更策略
架构的总体质量,维持其概念的完整性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值