现在的位置: 首页 > 架构设计 > 正文

什么是架构设计的输出

2020年01月02日 架构设计 ⁄ 共 1300字 ⁄ 字号 评论关闭

  今天我们来看看架构师是怎样开展工作的,他/她需要对接上下游哪些角色,以什么作为工作输入,最终要对外输出什么产物。这些内容既有助于我们跟架构岗同事更好的协作,也可以作为是否往架构转型的参考,接下来我们一起揭开架构师的神秘面纱吧!

架构设计的输入是什么?

  软件系统最终要构建成什么样,这是由项目干系人的各种要求决定的。通常,我们将这些要求归集在产品需求文档之中,这份产品需求就是架构设计的输入。

  我们可以将这些需求划分为:

  功能需求:完成某项业务需要的功能操作,例如:共享单车客户端软件需要支持单车定位、扫码解锁等。

  质量需求:每项功能操作要达到什么样的质量要求,例如:易用性、可靠性、安全性、性能等等。

  商业需求:软件系统需要以什么样的成本、迭代速度推向市场,如何提升产品的市场竞争力等等。

架构师要对接哪些角色?

  这些需求源自项目干系人、商业管理、商业竞争、法律法规、技术环境、政治约束和生命周期等不同维度的诉求,架构设计就是要区分这些需求的优先级权重,然后找出相对最优的方案来平衡满足各个方面的诉求,最终基于这个架构设计方案研发出相应的软件系统推向市场,并收集市场反馈输入到下一次迭代演化当中。

  因此,架构在开展工作的过程中需要对接老板、产品、项目、开发、测试、安全和运营等各种岗位角色,他们都是架构需要关注和服务的内部客户,他们的痛点就是架构工作的驱动因素。

架构设计的输出

  关键场景(KeyScenarios):分析产品需求并从中提炼出关键的业务场景,架构设计必须要通过这些关键业务场景的验证,例如:共享单车的关键业务场景包括:用户注册登录、支付账号绑定、单车租借归还等。

  逻辑视图(LogicalView):为了实现关键业务场景,整个软件系统从逻辑上需要划分成多少个子系统。如果关键业务场景比作一幕话剧,那么逻辑视图就是出演话剧的主要角色,它是面向最终用户,对功能需求负责。

  过程视图(ProcessView):过程视图是以逻辑视图为基础的,逻辑视图是系统的静态结构,过程视图是系统的动态流程。如果把关键场景比作故事剧本,逻辑视图就是角色人物,过程视图就是让这些角色人物把故事剧本演练一遍,在该视图中每个角色人物的分工定位和交互关系都会被明确下来,集成人员可以根据它来验证系统。

  开发视图(DevelopmentView):通过逻辑视图、过程视图确定了子系统的划分和职责定位,开发视图就是明确每个子系统采用什么样的技术栈来实现,包括编程语言、开发框架、分层结构、项目工程等。开发视图主要是输出给编程人员,编程人员基于此就可以开始编码实现相关的工作了,所以说架构设计就是桥接需求和实现的。

  物理视图(PhysicalView):待构成整个系统的子系统都开发完成之后,我们需要将这些子系统部署到真实的物理环境当中,物理视图就是明确每个子系统需要什么规格的软硬件环境,分别部署到哪个网络区域,不同网络区域是否要开通防火墙,以及每个子系统需要部署多少个实例才能满足业务需求等,它主要是面向系统工程师。

  结束语:以上就是关于什么是架构设计的输出的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.