写点什么

架构实战营 毕业总结

用户头像
CR
关注
发布于: 4 小时前

一、什么是架构

1. 4R 架构

    软件架构是指软件系统的顶层结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)运作规则(Rule)


相关概念:

  • 系统与子系统

  • 架构与框架

  • 模块与组件

常见架构图分类


系统序列图

画系统序列图主要用于体现角色的运作规则,是从动态的视角展现架构。

2. 面向复杂度架构设计

    为什么需要做架构设计?从软件技术发展史看,核心原因是软件系统规模的增长,使得数据结构和算法不再是主要问题,整个系统的结构成为首要问题。

    在软件发展的过程中,产生了一些架构设计方法论,如:


    面向复杂度的架构设计本质上是为了降低软件系统的复杂度,通过分析系统需求,找到系统复杂的地方,然后设计方案。通过识别复杂度的来源,如高性能、高可用、可扩展、安全等总结出架构模式,使用一定的套路降低这些复杂度,如分库分表、缓存、集群、分片、微服务、DDD 等等,设计步骤可通过架构设计环描述:


3. 架构设计三原则

    架构设计原则是为了指导我们做更好的设计,而不是可用的设计。


4. 架构设计复杂度模型

    复杂度分为业务复杂度质量复杂度,前者主要体现为难以理解、难以扩展,如业务数量多、业务流程长、业务之间关系复杂;后者主要体现在对高性能、高可用、成本、安全等质量属性的要求,两者是正交的关系:



二、架构师

    架构师是业务和技术之间的桥梁,不能只顾技术不懂业务。架构师需具备判断、拆解、取舍能力,需掌握确定性思维、创造性思维和系统性思维:



发布于: 4 小时前阅读数: 4
用户头像

CR

关注

还未添加个人签名 2018.09.23 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 毕业总结