第一章:什么是软件架构?

  • What Software Architecture Is

系统的软件体系结构是指系统所需的一组结构,包括软件元素、它们之间的关系以及两者的属性。

结构是由一个关系集合在一起的一组元素。

第一章:什么是软件架构?_第1张图片


We call runtime structures component-and-connector (C&C) structures.


Allocation structures describe the mapping from software structures to the systems environments


  • Which Structures are Architectural?

A structure is architectural if it supports reasoning about the system and the systems properties. The reasoning should be about an attribute of the system that is important to some stakeholder. 

如果架构支持对系统和系统属性的推理,那么架构就是体系结构。推理应该是对某些利益相关者重要的系统属性。


Architecture is an Abstraction

体系结构可以独立于其描述或规范而存在。任何system都有架构。


  • 视图是由系统涉众编写和读取的一组连贯的体系结构元素的表示。

a view is a representation of a structure. 


  • 模块结构体现了系统将如何构造成一组代码或数据单元的决策。



  • 组件和连接器结构体现了如何将系统构造成一组具有运行时行为(组件)和交互(连接器)的元素的决策。


  • Allocation structures show the relationship between the software elements and elements in one or more external environments in which the software is created and executed. 

分配结构显示了在创建或执行软件的一个或多个外部环境中的软件元素和元素之间的关系。


  • 一般来说,结构之间的映射是多对多的。


  • What Makes a Good Architecture?

体系结构可以被评估,但只能在特定的目标下进行评估。


  • Rules of Thumb

1.应该由一个人完成;

2.架构师(或体系结构团队)应该将体系结构建立在指定的质量属性要求的优先级列表上;


3.The architecture should be documented using views


4.The architecture should be evaluated for its ability to deliver the systems important quality attributes


5.体系结构应该支持增量实现;






你可能感兴趣的:(软件架构)