什么是架构?它是一组工作,包括蓝图和构建规范这样的文档。这些工作描述了要构建的对象,该对象被视为一组结构。
把架构作为一个动词,用来描述创建这些工作的过程,包括由此而导致的工作。
架构的作用一般而言人们对软件系统的期望可能会有很多,但是这些期望往往不能同时满足,架构要对其进行折中,发现重要关注点以及充分满足这些关注点的条件。
文章首先通过对建筑家的使用架构进行了说明,然后对比软件和建筑架构以及其他学科的种种的相同和不同。所有学科中的架构都提供了一种方式来解决问题,从而使得到的成果符合期望。
然后如何创建软件架构。首先应该关注什么,关注的首先是需要满足的品质而不是功能,在理解利益相关人的品质关注点后,就要考虑折中,对性能进行取舍。
想让系统满足品质需求就要,有一个好的架构,如果系统非常大,我们通常运用分而治之的架构原则。但是要有概念完整性,就是只反映一组设计思想。所以架构团队一般有一到两名首席架构师来领导.
组件的关系,分为几个结构,信息隐藏结构,使用结构,进程结构,访问结构。不同的结构有不同的关注点。
怎样就是好的架构,有两种评估方式,第一种确定架构的属性,通常通过建模或模拟系统的一个或多个方面。另一种就是通过对架构师提出质询来评估该架构。
架构是否足够好就是说,是否可以指导开发者和测试者构建一个系统并满足系统的利益相关人的功能和质量关注点。