架构图、流程图、结构图、功能图、逻辑图

我们画的架构图、流程图、结构图、功能图、逻辑图等,都需要好看、好懂、好用、好搞,因为:

  • 好看是为了提升沟通效率,
  • 好懂是为了提升交流共识,
  • 好用是为了提升交付质量,
  • 好搞是为了提升实施速度。

架构图有哪几种

工作两三年了,整不明白架构图都画啥?

  • 业务架构:需求初期业务的结果和过程描述一般比较模糊,可能来自于某个老板、运营或用户的反馈。客户说海尔洗衣机洗土豆会堵,海尔立马设计专门的土豆洗衣机 业务方向往往是定方向和结果的叫战略,主要包括业务规划、业务模块和流程以及问题域的列表等。
  • 应用架构:服务复用、跨组协同,简单、灵活、整合是应用架构必须考虑的点,就像你要上线一个聊天功能,那么聊天内容的输入法、文字识别、舆情监控以及视频服务、支付服务等,它们都是在应用架构分层下沉淀到平台的产物,在供各个方使用。
  • 产品架构:业务提需求,产品定方案,相对于业务的粗放流程,产品架构会更加细腻以及考虑各个模块的分层和边界。
  • 数据架构:数据的获取、数据的存放和数据的使用是数据架构要解决的三个问题,数据库存放、大数据汇总、数据分析等。
  • 技术架构:是离程序员最近的架构设计,它不仅是系统搭建的架构图设计,还包括了结构、功能、流程、逻辑等内容。它的具体描述就是整个系统如何落地的具体实现方案。

Zachman框架

Zachman框架(Zachman framework)是一种逻辑结构,它可以对企业信息按照不同分类和不同角度进行表示。

Zachman框架,从横向六个角度看待企业,这个六个观点可以分为;什么内容、如何工作、什么地点、谁负责、为什么这么做(称为W5H)。

框架的列由一组工件组成,分为规划者、拥有者、设计者(架构师)、建造者、分包者、产品,或者有时表示为视点:范围上下文,业务概念,系统逻辑,技术,物理,组件组装和操作类。整体如图 

工作两三年了,整不明白架构图都画啥?

表格横向六项 代表了用于描述信息系统的某一个方面,对于任何一个事物只要在这几个基本方面对其进行清洗的解释就足够可以描述清楚。

  • 数据(What,即什么内容):什么是业务数据,信息或对象?
  • 功能(How,即如何工作):业务如何运作,即什么是业务流程?
  • 网络(Where,即何处):企业运营、部署在哪里?
  • (Who,即何人负责):什么人?什么是业务部门及其等级制度?
  • 时间(When,即什么时间):业务计划和工作流程是什么?什么时候执行?
  • 原因(Why,即为什么做):为什么选择的解决方案?这是怎么产生的?

表格纵向六项 代表了在信息系统构造过程中所涉及到的人在描述信息系统时所采用的视角,包括:

  • 范围/规划者(Planner):此视图描述了业务目的和策略,充当其他视图将被派生和管理的上下文。
  • 业务模型/拥有者(Owner):这是对信息系统必须在其中运作的组织的描述。
  • 系统模型/设计师(Designer):该视图概述了系统如何满足组织的信息需求。
  • 技术模型/建造者(Builder):这是系统如何实施的表示,它使特定的解决方案和技术显而易见。
  • 详细表述/分包者(Sub-Contractor):这些表示说明了某些系统元素的特定于实现的细节:在生产开始之前需要进一步说明的部分。
  • 功能系统/产品(Functioning Enterprise):在1987年的论文(《A framework for information systems architecture》)中并没有这一行的内容,实际上此行的内容也并不在架构描述的范畴的之内,不过为了使得架构Zachman框架对于架构的表述更加完备,这一行最终还是被加了进去。

根据 TOGAF 的定义,企业是具有一系列共同目标组织的集合,而架构则是为了有效地实现这一系列目标。

在实现的过程中 定义了企业的结构和运作模式的概念蓝图(SearchCIO),以及构成企业的所有关键元素和其关系的综合描述(Zachman)。通过创建、沟通和优化用以描述企业未来状态和发展的关键原则和模型以将业务愿景和战略转化成有效的企业变更的过程(Gartner)。

可以这一部分内容会比较绕,但可以作为架构设计的知识扩展进行学习理解以及运用。

DEMO

 架构选型图
 

工作两三年了,整不明白架构图都画啥?

通常在新项目开发初期,都要做一些技术选型工作。在负载、网关、架构、治理、框架、服务、数据以及环境和支撑服务上,要选择适合当前开发的技术。

微服务架构

工作两三年了,整不明白架构图都画啥?

技术选型完毕后,接下来就是对于这些技术的运用。这个过程有点像搭积木一样,把每一个区域用适合此位置的积木填充进去。如果是团队初建或者是技术升级,那么这个过程还是比较复杂的,需要大量的验证。不过其实互联网的技术分层和使用已经相对稳定,搭建一个这样的微服务并不会耗费太长的时间。

技术架构图

工作两三年了,整不明白架构图都画啥?

技术架构图主要是对于研发层面做技术实现指导的,它可以把系统分层和实现结构划分清楚。另外一般也会把案例工程的结构拿出来一起讲解,这样可以让团队伙伴快速的进入开发。

  • 34
    点赞
  • 376
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 我可以回答这个问题。分布式项目架构设计的流程图通常包括需求分析、系统设计、技术选型、系统实现、测试和部署等环节。在需求分析阶段,需要明确系统的功能需求和性能需求;在系统设计阶段,需要根据需求设计系统的整体架构和模块设计;在技术选型阶段,需要选择合适的技术栈和工具;在系统实现阶段,需要按照设计实现系统的各个模块;在测试阶段,需要对系统进行各种测试,包括单元测试、集成测试、性能测试等;在部署阶段,需要将系统部署到生产环境中。 ### 回答2: 分布式项目架构设计是一个多角度考量的过程,下面是一个大致的流程图: 1. 需求分析:首先要对项目需求进行全面的分析和理解,明确项目的目标、业务流程和功能需求。 2. 技术评估:根据项目需求,评估各种可能的分布式技术和架构方案,确定使用的技术栈和框架。 3. 功能模块划分:将项目功能根据业务逻辑进行模块化拆分,确定不同模块的职责和交互方式。 4. 数据库设计:根据需求分析,设计数据库结构,确定数据存储和访问方式,考虑数据的一致性和性能优化。 5. 通信协议选择:确定不同模块之间的通信方式和协议,例如使用RESTful API或消息队列等。 6. 负载均衡和高可用性设计:考虑分布式系统的负载均衡和故障恢复机制,如通过负载均衡器实现请求分发和高可用性。 7. 安全性设计:保障数据安全和系统的可靠性,通过身份验证、权限控制和数据加密等方式提升系统安全性。 8. 缓存设计:考虑使用缓存技术提升系统性能,如使用Redis等进行数据缓存和预读。 9. 日志记录和监控:设计系统的日志记录和监控机制,对系统进行实时监控和错误排查,确保系统可靠性和快速反应能力。 10. 性能优化:根据需求和实际使用情况,对系统进行性能优化,如通过分布式缓存、数据库读写分离等提升系统性能和扩展性。 11. 部署和测试:将设计好的分布式架构部署到实际环境中,并进行相应的测试和验证,确保系统稳定可用。 12. 维护和扩展:持续对分布式系统进行维护和优化,根据实际需求进行扩展和升级,保持系统的稳定运行和持续发展。 以上是一个较为完整的分布式项目架构设计流程,其中每个环节都需要深入思考和细致计划,以满足项目的需求并保证系统的稳定性和性能。 ### 回答3: 分布式项目架构设计流程图包括以下几个关键步骤: 1.需求分析:明确项目的目标和需求,包括功能、性能、可靠性等方面的要求。与项目利益相关者沟通,理解他们的期望和关注点。 2.系统拓扑设计:确定系统的整体结构,包括前端、后端、数据库等各个组件的划分和交互方式。选择合适的技术栈和框架,确保系统能够满足需求。 3.模块拆分设计:将系统拆分成多个独立的模块,每个模块可独立运行并拥有自己的数据存储和业务逻辑。考虑模块之间的通信和数据共享方式,避免单点故障和性能瓶颈。 4.负载均衡设计:考虑系统的并发访问量和负载情况,设计合适的负载均衡策略,将请求均匀分布到各个模块或节点上,提高系统的稳定性和性能。 5.数据一致性设计:在分布式系统中,数据一致性是一个重要的挑战。设计合理的数据复制和同步机制,确保不同节点之间的数据一致性和可靠性。 6.故障容错设计:考虑系统中可能出现的故障和异常情况,设计相应的容错机制,如备份节点、自动恢复、故障转移等,降低系统的风险和损失。 7.安全性设计:确保分布式系统的安全性,包括数据安全、访问控制、身份认证等方面的设计。采用合适的加密算法和安全协议,防范潜在的安全威胁。 8.性能优化设计:对系统进行性能测试和评估,识别潜在的性能瓶颈并进行优化。使用合适的缓存机制、并发控制策略等,提高系统的性能和响应速度。 9.监控和调优设计:设计合理的监控系统,实时监测系统的运行状态和性能指标。根据监控数据进行系统调优,优化资源利用和性能表现。 以上是分布式项目架构设计流程图的主要步骤,每个步骤都需要仔细考虑和权衡各种因素,以确保分布式系统的稳定性、可靠性和性能优化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值