建筑之美

电脑杂谈  发布时间:2020-04-10 03:01:47  来源:网络整理

it架构设计研究组大数据时代的it架构设计_架构之美_海外上市架构或国内架构

美的核心在于概念的完整性,即在整个系统中尽可能简单地应用的一组抽象和规则.

我们将计算机系统的体系结构定义为一组最少的功能,这些功能决定了哪些程序将运行以及这些程序将获得什么结果.

架构是一种折衷方案-决定改进一项功能通常会对其他功能产生负面影响. 架构师必须通过发现特定系统的重要关注点以及完全满足这些关注点的条件,来确定足够好的工作.

外部行为描述显示了产品如何与其用户,其他系统和外部设备进行交互. 这应该表示为一项要求. 结构说明显示了如何将产品分为多个部分以及这些部分之间的关​​系. 我们还需要内部行为描述来描述组件之间的交互接口. 结构描述通常会显示同一零件的不同视图,因为不可能以有意义的方式将所有信息组织到图形或文档中. 一个视图中的组件可能是另一视图中的组件的一部分.

典型的利益相关者及其关注的问题包括:

•投资者,他们想知道项目是否可以在给定的资源和时间表的约束下完成.

•建筑师,开发人员和测试人员,首先要考虑的是初始构建以及后续的维护和发展.

•项目经理,他们需要组织团队并制定迭代计划.

•希望通过质量特征与竞争对手区分开来的营销人员.

•用户架构之美,包括最终用户,系统管理员以及安装,部署,准备和配置人员.

•技术支持人员,他们关心呼叫帮助平台的次数和复杂性.

架构师的首要任务是与利益相关者合作,了解这些质量问题和约束,并对它们进行优先排序.

重要的担忧包括:

•功能

海外上市架构或国内架构_it架构设计研究组大数据时代的it架构设计_架构之美

•可变性

•性能

•容量

•生态系统

•模块化

•可施工性

•产品化

•安全性

建筑结构

•信息隐藏结构

模块之间最基本的关系是“整体”关系. 第二种信息隐藏模块结构是基于程序和模块之间的“包含”关系.

满意度问题: 信息隐藏结构的设计应满足可变性,模块化和可构造性的要求.

•使用结构

使用结构来确定我们可以构建和测试什么样的工作子集.

架构之美_it架构设计研究组大数据时代的it架构设计_海外上市架构或国内架构

满意的问题: 生产和生态系统

•流程结构

信息隐藏结构和使用结构属于静态结构,过程结构属于运行时结构.

满意的问题: 性能和容量

•访问结构

如果此结构最大程度地减少了程序的访问权限并严格执行架构之美,则我们认为系统更加安全.

满意的问题: 安全性

美丽的建筑展示了一些一般原则:

•一次一个事实

•自动传播

•建筑还包括建筑

•最少的机制

美丽的体系结构不会追求最好,而是使用最少的机制来满足整体需求. 在每种情况下都找到最佳解决方案将导致各种容易出错的机制,而以最低限度的方式添加机制将使系统更小,更快,更健壮.

•构建引擎

架构之美_it架构设计研究组大数据时代的it架构设计_海外上市架构或国内架构

高度可重复使用

•O(G),增长顺序

•抵制熵的增加

简而言之,一个美丽的架构可以用更少的机制完成更多的工作.

建筑是非常浪费的艺术.

软件系统就像一座由建筑物和背后的道路组成的城市.

保持软件设计的质量很重要. 糟糕的建筑设计会导致糟糕的建筑设计.

极限编程(XP)不会损害设计,它会降低不必要的工作量.

体系结构可帮助定位功能: 添加功能,修改功能或修复缺陷. 它为您提供了一个模板,可用于将您的工作合并到系统导航图中.

清晰的建筑设计将导致系统的一致性. 所有决定都应在建筑设计的背景下进行.

软件体系结构不是静态的. 需要时进行更改. 要进行修改,架构必须保持简单. 必须抵制牺牲简单性的改变.

延迟设计决策,直到您必须做出决定为止. 在知道需求之前,不要做出体系结构决策. 不要猜.

必须保持建筑质量. 只有开发人员相信并对此负责,才能做到这一点.

您的系统应该有一套不错的自动化测试,可以使您在进行基本体系结构更改时将风险降至最低. 这为您提供了工作空间.

对代码进行单元测试将导致更好的软件设计,因此在设计时应考虑可测试性.

一个好的项目计划将带来高质量的设计. 分配足够的时间来创建建筑杰作,它们不会立即出现.

团队的组织方式将不可避免地影响其产生的代码. 随着时间的流逝,体系结构还将影响团队合作的质量. 当团队解体时,代码交互将变得很糟糕. 当团队协作时,该架构可以很好地集成.

好的架构是多种因素共同作用的结果,包括以下因素(但不仅限于此):

•故意进行前端设计.

•设计师的素质和经验.

•在开发过程中保持清晰的设计观点.

•授权团队负责软件的总体设计,该团队也承担此责任.

•不要害怕改变设计: 一无所有.

•让合适的人(包括设计师,程序员和经理)加入团队,以确保开发团队的规模合适. 确保它们之间存在健康的工作关系,因为这些关系将不可避免地影响代码的结构.

•在适当的时候做出设计决定,并在知道所有必要信息时做出决定. 延迟无法暂时做出的决定.

•良好的项目管理和适当的期限.

永远不要失去神圣的好奇心. -爱因斯坦

游戏和虚拟世界已经清楚地找到了实现可扩展性以应对大量用户的方法. 当前有两种类型的方法:

第一类主要基于地理位置. 处理游戏或虚拟世界中拥挤区域的第二种方法称为分区.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-170108-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...