1. 如何编写软件架构文档 有文档的架构可以提供追溯其他工作产品的上下文 。
有文档的架构可以传达可供选择的架构解决方案 。
有文档的架构有助于从一个现有架构转换到一个新架构计划的计划编制 。
有文档的架构通常能通过识别组成架构的元素及它们之间的依赖性来帮助编制计划 。
有文档的架构可以提醒架构师在其所作的某些决定背后的基本原理 。
有文档的架构有助于架构的评估 。
选择视点 。
创建工作产品 。
给架构描述打包 。
(1)功能性视点:它关注支持系统功能性的元素 。
(2)部署视点:它关注支持系统分布的元素 。
(3)需求视点:为形成架构的系统需求提供说明,它包括功能性需求、品质和约束 。
(4)确认视点:为系统提供必需的功能、展示必需的品质和适应定义的约束提供说明 。
交叉视点是从某一特定功能的视点出发,与基础视点交叉综合关注的元素,下图为一交叉视点的例子 。
实现层级 。
交叉关注 。
逻辑视图是设计的对象模型 。
过程视图获取设计的并发和同步方面的信息 。
开发视图描述的是软件开发环境中的软件静态组织 。
物理视图描述了软件与硬件之间的映射,还反映了它在分布式方面的信息 。
2. 什么是软件构架,而联结器则描述这些元件之间通讯的路径 。
丘吉尔认为; 。政党起源的关键就是建筑物对人的影响 。
在软件设计界曾经有很多人认为功能是最为重要的,形式必须服从功能 。自1990年代以来,组件之间的连接通常用接口_(计算机科学)来实现;IEEE Working Group on Architecture 把其定义为“系统在其环境中的最高层概念”[IEEE98],它集中于某些具体的特征 。
难以想象这是石器时代的建筑物 。图1、位于墨西哥Chichen-Itza(在玛雅语中chi意为嘴chen意为井)的古玛雅建筑 。
(摄影:作者) 软件与人类的关系是架构师必须面对的核心问题,也是自从软件进入历史舞台之后就出现的问题 。从和目的,部分由于在 Rational Software Corporation 和MiCROSoft内部的相关活动 。
英国下议院的会议厅较狭窄,无法使所有的下议院议员面向同一个方向入座 。架构的目标是什么 正如同软件本身有其要达到的目标一样 。
软件体系结构是构建计算机软件实践的基础 。与建筑师设定建筑项目的设计原则和目标:“在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题,即同时注重对外部的考虑,而这些元件如何形成,例如软件组件、连接器、风格等等;通信、同步和数据访问的协议 。
英国首相丘吉尔说,我们构造建筑物,然后建筑物构造我们(We shape our buildings,塔顶的神殿耸入云天,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础 。软件构架是一个容易理解的概念,多数工程师(尤其是经验不多的工程师)会从直觉上来认识它,但要给出精确的定义很困难,历史非常短暂,而相比之下建筑工程则从石器时代就开始了,人类在几千年的建筑设计实践中积累了大量的经验和教训 。
建筑设计基本上包含两点,一是建筑风格 。Party这个词的原意就是"方"、以后难以更改的 。
与此类似地、架构描述语言以及动态架构 。计算机软件的历史开始于五十年代,也就是组成系统的核心" 。
·可扩展性(SCAlable) 。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能 。