计算机系统的软件架构是构建这个系统所需要的一组结构,包括软件元素、它们之间的关系以及两者的属性。其实质是应用程序的架构是将软件分解为元素和这些元素之间的关系。分解的重要性体现在如下2点:

  1. 它促进了劳动和知识的分工,它使具有特定专业知识的人们(团队)能够就应用程序能够高效的协同工作。

  2. 它定义了软件元素的交互方式。

应用程序有2个层面的需求,第一类是功能性需求,它可以通过任意性架构实现,甚至是非常糟糕的架构。第二类是非功能性需求。

软件架构的重要性就在于它满足了非功能性的需求,也称之为质量需求。这些非功能性需求决定一个应用程序在运行时的质量,比如可扩展性和可靠性。也决定了开发阶段的质量,包括可维护性、可测试性、可扩展性和可部署性。为应用程序所选择的架构决定了这些质量的属性。

发表评论