一、架构师决定着软件质量
    在软件组织中,架构师的作用举足轻重。软件的质量很大程度上是由架构设计的质量来决定的。为了创建高质量的软件产品、增强产品的竞争力,培养高水平的架构师队伍,建立有效的架构团队,提升架构师队伍的分析与设计能力,成为企业关注的重心。

    二、体系结构设计决定着架构的成败

    多年来的实践告诉我们,软件产品仅凭优良的代码是不够的。不少大型软件企业集中了相当多的优秀编码人员,但还是不断受到需求变更之苦,产品质量下降,不断返工造成成本上升。究其原因,很多情况是由于设计人员只关注到实现需求,而没有仔细思考整体体系结构设计的思想,更没有关注到开发过程的改变,会极大的影响架构设计,以及由此引发的产品设计每一阶段重点的变化。

    三、经典瀑布模式已成昨日黄花

    在经典瀑布式模型下,已经形成了一套行之有效的分析和设计过程。但是近年来,由于项目越来越大、越来越复杂,软件的易变性带来的冲击也越来越令人难以接受,促使业内研究更加合理的项目过程,敏捷过程就是其中有代表性的新方法,但是,不少企业应用敏捷模型往往导致项目混乱和难以控制。除了管理上的问题之外,没有注意到敏捷开发的基础是架构驱动也是一个重要原因,所以,我们必须研究敏捷过程下的架构设计问题。其中,关注点在于开发过程的改变,会极大的影响架构设计,以及由此引发的产品设计每一阶段重点的变化。

    四、规模软件经济理念的兴起

    规模软件经济的理念,对设计方法和思路提出了完全不同的要求,重用成为重要的主题。复用的思想,目前正经历从下游到上游延伸的过程,从设计模式延伸到分析模式、业务模式。架构决不是一个孤立的设计问题,一个好的架构师必须从业务领域到需求分析直至架构设计具有深刻而且现代的理解,模型驱动的设计与开发是我们必须认真研究的问题。

    五、架构的万变不离其宗

    架构优化与应对变更必须对业务的变与不变进行深入分析,之中有两个关注点:一个是业务流程不变而业务单元可能变,另一个是业务单元不变而业务流程可能变,这是在两个不同粒度下的思考基点。第一个处理方法是合理应用设计模式而封装变化,第二个处理方法就是应用面向服务的架构进行业务流程的敏捷性处理,这是从两个不同侧面讨论架构问题,需要我们有深入而现代的理解。

    六、不要空谈架构

    我们不需要泛泛讨论软件架构设计一般方法与过程,而是应该针对上述核心问题和关键思考点,从系统的角度寻找相应的对策和解决方案。研究架构设计不能仅仅依靠别人已有的产品架构,而是要吃透这些架构的思维核心,找到每一个困难节点解决问题的办法,根据自己的情况,依照问题、对策与解决方案的步骤,建立符合自己项目要求的架构策略,达到从方法论的角度、从质量属性对架构设计影响的角度,多视角、全方位的在理论和实践两方面研究问题,这样才可能把项目引向成功。架构设计面对的问题很多,泛泛的介绍所有问题是没有意义的,只有抓住重点深入研究解决实际问题,才能使架构设计为软件开发全过程提供强大的支撑。