目  录

一、架构设计五视图

1. 逻辑架构

2. 开发架构

3. 运行架构

4. 物理架构

5. 数据架构

二、数据设计

1. 数据库的逻辑模型

2. 数据库的常用模型

3. 实现从面对对象模型到表的转换

4. 数据库的物理模型


一、架构设计五视图

1. 逻辑架构

逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能。或者更加通俗来描述,逻辑架构更偏向我们日常所理解的“分层”,把一个项目分为“表示层、业务逻辑层、数据访问层”这样经典的“三层架构”。

2. 开发架构

开发架构则更关注程序包,不仅仅是我们自己写的程序,还包括应用程序依赖的SDK、第三方类库、中间价等。尤其是像目前主流的Java、.NET等依靠虚拟机的语言和平台,以及主流的基于数据库的应用,都会比较关注。和逻辑架构有紧密的关联。

3. 运行架构

顾名思义,更关注的是应用程序运行中可能出现的一些问题。例如并发带来的问题,比较常见的“线程同步”问题、死锁问题、对象创建和销毁(生命周期管理)问题等等。开发架构,更关注的是飞机起飞之前的一些准备工作,在静止状态下就能规划好做好的,而运行架构,更多考虑的是飞机起飞之后可能发生的一些问题。

4. 物理架构

物理架构,更关注的系统、网络、服务器等基础设施。例如:如何通过服务器部署和配置网络环境,来实现应用程序的“可伸缩性、高可用性”。例子,如何通过设计基础设施的架构,来保障网站能支持同时10W人在线、7*24小时提供服务,当超过10W人或者低于10W人在线时,可以很方便的调整部署架构来支撑。

5. 数据架构

数据架构,更关注的是数据持久化和存储层面的问题,也可能会包括数据的分布、复制、同步等问题。更贴切来讲,如何选择需要的关系型数据库、流行的NOSQL,如何保障数据存储层面的性能、高可用性、灾备等等。很多时候,和物理架构是有紧密联系的,但它更关注数据存储层面的,物理架构更关注整个基础设施部署层面。

二、数据设计

1. 数据库的逻辑模型

逻辑模型就是要将概念模型具体化,就是要实现概念模型所描述的东西,需要哪些具体的功能,处理哪些具体的信息,是对概念模型的进一步细化。

简单概括,就是——“做什么”。

以销售业务为例:“客户”信息基本上要包括:单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;“定单”信息基本上要包括:日期和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。

系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表

系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单

2. 数据库的常用模型

层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化模型。

3. 实现从面对对象模型到表的转换

方法一:将整个类层次映射成一张表;

方法二:将子类映射成单独的表;

方法三:将每个类映射成单独的表。

4. 数据库的物理模型

物理模型是对真实数据库的描述。例如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。

简单概括,就是——“怎么做”​​​​​​。

IBM系统分析——架构设计五视图+数据设计相关推荐

  1. 软件架构设计-五视图方法论

    1.每个人都可以做成为架构设计师 不懂软件的和刚入行的人们一听到架构设计,都认为是非常的高大上课题,是一个遥不可及的领域,一般人是不能做的.听起来云里雾里的,第一印象除了来自微软,阿里这些NB的公司里 ...

  2. 软件架构(7)---软件架构设计-五视图方法论

    1.每个人都可以做成为架构设计师 不懂软件的和刚入行的人们一听到架构设计,都认为是非常的高大上课题,是一个遥不可及的领域,一般人是不能做的.听起来云里雾里的,第一印象除了来自微软,阿里这些NB的公司里 ...

  3. 数字时代下表单产品设计中的数据研究

    导语:伴随着各行各业和人们生产生活中出现的数据化转型趋势,数据设计显得愈发重要.这篇文章主要讨论了数据的概念.分类,以及数据与指标的关系,在表单产品中数据设计的注意事项.推荐对表单设计感兴趣的同学阅读 ...

  4. RPG多人回合制战斗框架设计《五:Buff设计》

    RPG战斗框架包含以下四部分的内容: 一.基本战斗流程 二.战斗角色设计 三.战斗伤害计算 四.技能设计 五.BUFF设计 六.战斗AI 五.BUFF设计 BUFF类似被动技能,存在战斗角色身上,只不 ...

  5. 计算机设计与制作教学设计,计算机应用基础(五年制大专)表格的设计与制作教学设计...

    <计算机应用基础(五年制大专)表格的设计与制作教学设计>由会员分享,可在线阅读,更多相关<计算机应用基础(五年制大专)表格的设计与制作教学设计(8页珍藏版)>请在金锄头文库上搜 ...

  6. 软考高级-系统架构师-第五章软件架构设计

    本篇博文目录: 一.软件架构设计 1.软件架构的定义 2.体系结构设计(SA)与生命周期 (1) 需求分析阶段 (2) 设计阶段 (3) 实现阶段 (4) 构建组装阶段 (5) 部署阶段 (6) 后开 ...

  7. 运用五视图方法进行软件架构设计--实战一

    摘要 软件架构是从宏观上说明一套软件系统的组成与特性,包括软件可以提供什么样的功能,软件代码的层次结构,软件的部署与网络结构,软件的数据结构,软件的性能特征.上面说到的几个方面就可以用五视图法来表示. ...

  8. 朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素

    朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素 [下载文本PDF进行阅读] 本文我会来说说我认为架构评审中应该看的一些点,以及我写设计文档的一些心得.助你在架构评审中过五关斩六将,助 ...

  9. 如何在微服务架构下进行数据设计?

    作者:唐建法 && Mongoing中文社区 来自:http://www.mongoing.com/ 微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微 ...

最新文章

  1. 安装 | Anaconda3下载链接
  2. MyBatis 源码解读-会话创建过程
  3. idea 版本控制忽略文件、文件夹设置
  4. 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析 1
  5. 关于grep,egrep正则表达式的常用用法
  6. SSM中PageHelper的使用步骤与com.github.pagehelper.PageHelper3系列与5系列的区别
  7. Golang实践录:简单的代码片段
  8. 论文笔记之:Deep Reinforcement Learning with Double Q-learning
  9. Linux emacs考场配置及对拍脚本
  10. Mysql数据恢复有哪几种_MYSQL 数据恢复有哪些
  11. AD教程系列 | 0-认识Altium Designer:汉化和新建项目
  12. 微软鼠标测试软件,微软IO1.1鼠标使用测试_微软 IO1.1红光鲨鼠标(战队包黑色版)_键鼠评测-中关村在线...
  13. 交换机VLAN工作模式介绍
  14. 语音识别 卷积神经网络,卷积神经网络字符识别
  15. 流利阅读12.16 ‘Aquaman’ is already a box office titan
  16. nginx url中带中文不能访问
  17. 20天学会UI设计(PS+AI)入门教程
  18. TCP/IP网络通信协议
  19. DNS List (台湾的比较不错,推荐使用!)
  20. 华三 h3c isis协议综合配置

热门文章

  1. Visual GDB不能在线调试,出现Received a SIGTRAP:Trace/breakpoint trap
  2. 远程办公效率打折,怎么办?
  3. 安装虚拟机之开启VT
  4. JavaScript第二十四篇 高级定时器(下)
  5. 什么是SHA256?比特币是如何应用SHA256算法的?
  6. Paper:《YOLOv4: Optimal Speed and Accuracy of Object Detection》的翻译与解读
  7. 设计链表(单链表、双链表)
  8. 参与IPFS项目最好的方式是买矿机挖Fil,而不是直接买币
  9. MyEclipse设置黑色主题皮肤(详细)
  10. 跨考西电计算机科学与技术专业介绍,2021年西安电子科技大学计算机科学与技术(081200)人工智能交叉研究方向_考研专业目录_考试科目_考试范围 - 学途吧...