建造的艺术或科学;特别是设计和建造人类使用的建筑时的艺术或实践,同时考虑到美学因素和实用因素。
架构既是所构建系统的计划,确保由此得到期望的特性,同时也是所构建系统的描述。
待构建的对象或系统必须具有以下特征:
具备客户要求的功能。
能够在要求的工期内安全地构建。
性能足够好。
可靠的。
可用的,并且使用时不会造成伤害。
安全的。
成本是可以接受的。
符合法规标准。
将超越前人及其竞争者。
我们从来没有看到过一个复杂系统能够很好地满足上述特征。架构是一种折中—决定
改进其中一个特征常常会对其他特征产生负面影响。架构师必须确定怎样做是足够好的
方法就是发现特定系统的重要关注点,以及充分满足这些关注点的条件。
外部行为描述展示了产品如何与它的用户、其他系统和外部设备进行交互,这应该表现
为需求。结构描述展示了产品如何划分为多个部分,以及这些部分之间的关系。我们还
需要内部行为描述,用于描述组件之间的交互接口。
成功架构师的两项关键实践:让利益相关人参与以及同时关注功能和品质。
典型的利益相关人和他们的关注点包括:
? 投资人,他们想知道项目是否能够在给定的资源和进度约束下完成。
? 架构师、开发人员和测试人员,他们首先考虑的是最初的构建和以后的维护与演进。
? 项目经理,他们需要组织团队,制定迭代计划。
? 市场人员,他们想通过品质特点实现与竞争者的差异化。
? 用户,包括最终用户、系统管理员,以及安装、部署、准备、配置人员。
? 技术支持人员,他们关注帮助平台电话呼入的数目和复杂性。
概念完整性是架构最重要的特征:“最好是让系统……反映一组设计思想,而不是让系统包含许多好的思想,而这些思想却彼此独立而不协调”