软件架构 = 模块 + 模块之间的接口
软件架构其实很简单,就是将要解决的问题划分为模块,同时设计好模块之间的接口
做某个领域先把这个领域的书读完
模型可以是图形,甚至是某种特殊的描述性的语言
任何领域都没有银弹,都没有一成不变,一劳永逸,完美无缺的解决方案
分层管理
对于一个架构是否良好,从Software Product Line Engineering 软件产品线工程的角度说就是看看它是不是可以分层管理的。我们对于要设计的系统,不刻意的要求系统的全部都服从统一的结构。我们先把系统分为几个模块,模块内部是家族,家族内的成员使用不同或相同的架构。同时考虑系统是可以在最小的范围内耦合的。
工业界和学术界的鸿沟
如果实践者不能参加国际性的会议,我们的教授就没有问题来源。我们在实践中产生了大量的数据,都放弃了,忘了总结,抽象。
产品的生命周期
厂家引导阶段 | 我来做,你来用 | 没有反馈 |
用户引导阶段 | 市场竞争,价格机制 | 谁的物美价廉用谁的 |
规则引导阶段 | 产生规范 | 对大家都有利 |