美文网首页
「4+1视图」学习与理解

「4+1视图」学习与理解

作者: 情情说 | 来源:发表于2018-02-23 23:02 被阅读40次

声明:部分内容摘录了简书「橘色对白」作者的文章片段。

之前经常看到文章中提到「4+1视图」,对其也有片面的理解,但一直没有实践过,不清楚其真正的作用,这两天在业务需求分析中运用了其中的一部分,想谈谈自己的粗浅理解。

最近在调研「多租户」实现方案时,看到简友「橘色对白」的3篇关于多租户架构的文章,其中一篇「以CRM系统为例,浅析初级SaaS架构的构建方法」,以「4+1视图」的形式,覆盖了分析、设计、开发、部署等阶段,如何一步一步递进,形成最终的实施方案。

所谓「4+1视图」,是从5个不同视角来描述软件体系结构,包括场景视图、逻辑视图、开发视图、过程视图、物理视图,每个视图只关系系统的一个侧面,5个视图结合起来,才能反映系统的全部内容。

好吧,语气还是有点官方了,本来想根据自己项目再分析一遍,有人又在催我睡觉了,同时觉得「橘色对白」的这篇文章写的很不错了,决定整理下分享出来。

在分享之前,说说我的实践,通过场景视图、逻辑视图,分析出了「多租户」改造时,需要的功能列表。场景视图站在使用系统的角度,分析各个角色的用例。 逻辑视图站在业务对象的角度,表达了业务对象和对象间的关系。两个视图相互递进和补充,帮助我更完整的梳理出系统的功能点。

下面分享下「橘色对白」的这篇文章,如何一步步构建CRM系统

一、场景视图

负责从用户角度,识别业务需求,描述业务场景,是架构设计的起点和终点。

场景描述

老板角度:了解客户增减数量;了解客户增减变化趋势;商务行程管理。

员工角度:保存和随时查阅客户资料;通过邮件、IM、IP电话与客户保持及时沟通;商务行程管理。

场景抽象

客户管理:增、删、改、查,客户资料;
行程管理:商务形成安排(客户拜访、合同谈判);
订单管理:已签订单的管理;

二、逻辑视图

从对象角度,构建对象模型,用以确立逻辑分层、模块划分、模块功能、模块间依赖关系等。其中,模块功能,既包括可见的业务功能,也包括不可见的系统功能(日志、权限、事务等)。

模块划分及功能

客户模块、行程模块、订单模块、报表模块

模块依赖关系
模块依赖关系
模块包含的业务对象
  • 客户模块 — 客户分组、客户、联系人;
  • 行程模块 — 时间、事项等;
  • 订单模块 — 时间、客户、订单等;
  • 报表模块 — ……

三、开发视图

从开发角度,描述软件在开发环境下的静态组织(程序包、应用的统一框架、引用的类库、SDK和中间件等),并规范和约束开发环境的结构。

开发环境
  • 开发语言:Java、JavaScript、Html
  • 数据库类型:MySQL 5.0
  • 应用服务器类型:Apache+JBOSS
  • 其他软件:Ant、JUnit 等
  • 相关硬件:略
技术框架

开源框架:Struts+Spring+Hibernate框架结构


调用视图
分层策略
分层策略
目录结构

根据分层,制定目录结构如下


目录结构
  • Api: 存放service的接口定义源文件;
  • Action: 存放action的源文件和配置文件;
  • Biz: 存放各模块的业务逻辑组件和DAO组件;
  • Bundle: 存放JSP和HTML文件;
  • deploy:存放构建后待部署的jar文件;
  • biz目录下根据模块再分为dao和service目录,以及它们的实现类目录impl;

四、过程视图

从过程角度,描述系统的并发和同步设计。旨在解决进程、线程、并发、同步、通信等方面的问题;

五、物理视图

负责从部署角度,描述软硬件的映射关系,以及系统在分布/部署上的设计。旨在解决系统安装、系统部署、网络分布等问题。

至此,CRM系统已基本成型。

理论很重要,更重要的是去实践,在实践的过程中,才能够真正理解理论中每个字的精华。
我理解的还很浅,先欠个账,后续项目开发过程中,完整应用「4+1视图」后,我在做个实践总结。

情情说

相关文章

  • 「4+1视图」学习与理解

    声明:部分内容摘录了简书「橘色对白」作者的文章片段。 之前经常看到文章中提到「4+1视图」,对其也有片面的理解,但...

  • 关于4+1视图

    现在面向对象建模,总是绕不开4+1视图,可信设计也将其作为了重点。竟然还有《可信软件设计》这本书,回头找一找pdf...

  • 【抄袭】4+1视图模型

    “4+1”视图是对逻辑架构进行描述,最早由 Philippe Kruchten 提出,他在1995年的《IEEE ...

  • 如何展示你的架构 - "4+1"视图

    “4+1”视图是对逻辑架构进行描述,最早由 Philippe Kruchten 提出,他在1995年的《IEEE ...

  • 4+1 架构视图 101

    4+1 视图是现代软件开发中经常被使用到的架构蓝图。早在 1995,Phillip Krutchen 就在他的大作...

  • 4+1视图解读

    最早的4+1视图由Philippe Kruchten于1995年提出,虽然历经26年的时间,中间使用过程中也被不断...

  • MySQL之视图VIEW

    本文主要介绍MySQL中的视图, 在什么情况下使用视图。 I、视图介绍 1.1 视图的初步理解 视图是虚拟的表,与...

  • Mysql多表查询, 视图,事务,索引,函数,go连接数据库

    1.1 今日目标 理解多表查询 理解子查询 能够创建视图 能够删除视图 能够查看创建视图的SQL语句 能够理解事...

  • iOS深入总结

    1.UI视图 1.tableView重用机制的理解与运用 简单说就是当滑动 tableview 的时候,刚离开视图...

  • 文档/视图结构详细介绍2009-03-31

    以单文档界面(SDI)应用程序为例,介绍MFC的文档/视图程序结构。 学习要求 理解文档/视图结构,可在AppWi...

网友评论

      本文标题:「4+1视图」学习与理解

      本文链接:https://www.haomeiwen.com/subject/msyfxftx.html