首页 >>  正文

软件架构五个视图

来源:baiyundou.net   日期:2024-07-19

产品架构是产品经理用于表达自己的产品设计机制的图,那么我们为什么要画产品架构图以及它的特点是什么?本文对此进行阐述,一起来看看吧。

一、什么是产品架构?

产品架构是产品经理用来表达自己产品设计机制的图,它将产品功能落地为信息化、模块化、层次清晰的可视化架构,并通过不同分层的交互关系、功能模块的组合、数据和信息的流转,来传递产品的业务流程、商业模式和设计思路,它是设计复杂产品时不可或缺的文档之一。

建议在复杂项目开始前画产品架构,这样可以避免就又双叒叕改需求、推翻之前的计划重新规划等低效工作的情况。

二、为什么要画产品架构?

1、梳理自己对产品方向的判断

抬头看路和低头走路一样重要,但是在产品方向把控初期,他们的顺序尤为重要。如果说马不停蹄的开发产品是低头走路,那前期思考和规划关于“未来一年要设计什么样的产品、需求应该如何分期和落地、和其他产品的依赖&竞争关系是什么、未来的可拓展性在哪里”等问题则是抬头看路,看好路再走,才能走好脚下的每一步路。

2、为其他人的输出节奏提供依据

当产品架构图被设计出来后,清晰的产品思路能帮助别人快速建立对项目的产品结构、功能、交互、复杂度等问题的认知,同时,帮助技术和运营成员就能根据这张架构图产出项目推广计划、技术系统架构方案等强依赖产品方向的方案。

三、产品架构图应具备的特点

一张优秀的产品架构图需要具备哪些特点?大致总结为以下4点:

  1. 清晰的模块功能边界
  2. 功能做到标准化、互相独立
  3. 上下游产品功能边界清晰,架构分层明确合理
  4. 具备持续迭代优化的能力

随着产品的发展情况你可以持续更新产品架构图,每次修改的过程对提升产品架构能力的帮助非常巨大。

四、产品架构图的分类

逻辑架构图、技术架构图、运行架构图、部署架构图,数据架构图,称为架构5视图或4+1视图,5个视图差不多就是同一个事物的5种看法,适用于不同角色。

1. 逻辑架构图

逻辑架构关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”

2. 技术架构图

开发架构关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现场框架、类库,以及开发的系统将运行于其上的系统软件或中间件。关注编译时刻的静态依赖关系。

3. 运行架构图

运行架构关注进程、线程、对象等运行时概念,以及相关的并发,同步,通信等问题。运行架构关注运行期间各个单元的交互。

4. 部署架构图

物理架构关注“目标程序及其依赖的运行库和系统软件”最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性,可伸缩性等要求。

5. 数据架构图

数据架构关注持久化数据的存储方案,不仅包括实体及实体关系的存储格式、还包括数据传递,数据复制,数据同步等策略。

本文由 @观察月亮的小白羊 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

","gnid":"970c3e1577a0780fe","img_data":[{"flag":2,"img":[{"desc":"","height":"420","title":"","url":"https://p0.ssl.img.360kuai.com/t01b0f793781bc503c8.jpg","width":"900"},{"desc":"","height":"543","title":"","url":"https://p0.ssl.img.360kuai.com/t01c6d5b6743e510f78.jpg","width":"705"},{"desc":"","height":"771","title":"","url":"https://p0.ssl.img.360kuai.com/t01a330b2c3e88ae87d.jpg","width":"1225"}]}],"original":0,"pat":"qgc,art_src_3,fts0,sts0","powerby":"pika","pub_time":1695087960000,"pure":"","rawurl":"http://zm.news.so.com/2e80d1fd7575ed2d18aa0accd49bbdb7","redirect":0,"rptid":"e695749c7e667e59","rss_ext":[],"s":"t","src":"人人都是产品经理","tag":[],"title":"产品不得不看的产品架构图,都是大厂总监爱看的!

迟应典3410如何编写软件架构文档 -
冀薛飘17718583731 ______ 有文档的架构可以提供追溯其他工作产品的上下文.有文档的架构可以传达可供选择的架构解决方案.有文档的架构有助于从一个现有架构转换到一个新架构计划的计划编制.有文档的架构通常能通过识别组成架构的元素及它们之间的依赖性来...

迟应典3410软件构架的构架重点 -
冀薛飘17718583731 ______ 虽然以上视图可以表示系统的整体设计,但构架只同以下几个具体方面相关:模型的结构,即组织模式,例如分层.基本元素,即关键用例、主类、常用机制等,它们与模型中的各元素相对.几个关键场景,它们表示了整个系统的主要控制流程.记录模块度、可选特征、产品线状况的服务.构架视图在本质上是整体设计的抽象或简化,它们通过舍弃具体细节来突出重要的特征.在考虑以下方面时,这些特征非常重要:系统演进,即进入下一个开发周期.在产品线环境下复用构架或构架的一部分.评估补充质量,例如性能、可用性、可移植性和安全性.向团队或分包商分配开发工作.决定是否包括市售构件.插入范围更广的系统.

迟应典3410"4+1"架构中的开发视图将四个视图结合为一个数体 - 上学吧普法...
冀薛飘17718583731 ______ MVC设计模式. M--Model,模型层 V--View,视图层 C--Controller,控制层

迟应典3410请问构架视图显示了什么?
冀薛飘17718583731 ______ 希望我的回答对你有用. 构架视图显示了软件构架如何分解为构件,以及构件如何由连接器连接来产生有用的形式[PW92],由此记录主要的结构设计决策

迟应典3410软件架构的种类 -
冀薛飘17718583731 ______ 根据我们关注的角度不同,可以将架构分成三种: 软件系统中元件之间的关系,比如用户界面,数据库,外部系统接口,商业逻辑元件,等等.比如下面就是笔者亲身经历过的一个软件系统的逻辑架构图 图2、一个逻辑架构的例子 从上面这张...

迟应典3410软件架构设计的目录 -
冀薛飘17718583731 ______ 第一部分 软件架构概念与思想篇第1章 解析软件架构要领第2章 子系、框架与架构第3章 软件架构的作用第二部分 软件架构设计方法与过程zhidao篇第4章 软件架色视图第5章 架构设计的5视图法第6章 从概念性架构到实际架构第7章 如何进行成...

迟应典3410什么是软件架构? -
冀薛飘17718583731 ______ 当你去了解一个东东的时候,第一步要做的,就应该去知道这个东东的定义,对于软件架构也是如此,经过网上查询和书籍的帮助,我大概理清了一个轮廓. 软件行业是一个热衷于制造'名词'的行业,如果退回15年,估计没几个人知道'软...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024