IBM系统分析——架构设计五视图+数据设计
目 录
一、架构设计五视图
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.每个人都可以做成为架构设计师 不懂软件的和刚入行的人们一听到架构设计,都认为是非常的高大上课题,是一个遥不可及的领域,一般人是不能做的.听起来云里雾里的,第一印象除了来自微软,阿里这些NB的公司里 ...
- 软件架构(7)---软件架构设计-五视图方法论
1.每个人都可以做成为架构设计师 不懂软件的和刚入行的人们一听到架构设计,都认为是非常的高大上课题,是一个遥不可及的领域,一般人是不能做的.听起来云里雾里的,第一印象除了来自微软,阿里这些NB的公司里 ...
- 数字时代下表单产品设计中的数据研究
导语:伴随着各行各业和人们生产生活中出现的数据化转型趋势,数据设计显得愈发重要.这篇文章主要讨论了数据的概念.分类,以及数据与指标的关系,在表单产品中数据设计的注意事项.推荐对表单设计感兴趣的同学阅读 ...
- RPG多人回合制战斗框架设计《五:Buff设计》
RPG战斗框架包含以下四部分的内容: 一.基本战斗流程 二.战斗角色设计 三.战斗伤害计算 四.技能设计 五.BUFF设计 六.战斗AI 五.BUFF设计 BUFF类似被动技能,存在战斗角色身上,只不 ...
- 计算机设计与制作教学设计,计算机应用基础(五年制大专)表格的设计与制作教学设计...
<计算机应用基础(五年制大专)表格的设计与制作教学设计>由会员分享,可在线阅读,更多相关<计算机应用基础(五年制大专)表格的设计与制作教学设计(8页珍藏版)>请在金锄头文库上搜 ...
- 软考高级-系统架构师-第五章软件架构设计
本篇博文目录: 一.软件架构设计 1.软件架构的定义 2.体系结构设计(SA)与生命周期 (1) 需求分析阶段 (2) 设计阶段 (3) 实现阶段 (4) 构建组装阶段 (5) 部署阶段 (6) 后开 ...
- 运用五视图方法进行软件架构设计--实战一
摘要 软件架构是从宏观上说明一套软件系统的组成与特性,包括软件可以提供什么样的功能,软件代码的层次结构,软件的部署与网络结构,软件的数据结构,软件的性能特征.上面说到的几个方面就可以用五视图法来表示. ...
- 朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素
朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素 [下载文本PDF进行阅读] 本文我会来说说我认为架构评审中应该看的一些点,以及我写设计文档的一些心得.助你在架构评审中过五关斩六将,助 ...
- 如何在微服务架构下进行数据设计?
作者:唐建法 && Mongoing中文社区 来自:http://www.mongoing.com/ 微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微 ...
最新文章
- 安装 | Anaconda3下载链接
- MyBatis 源码解读-会话创建过程
- idea 版本控制忽略文件、文件夹设置
- 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析 1
- 关于grep,egrep正则表达式的常用用法
- SSM中PageHelper的使用步骤与com.github.pagehelper.PageHelper3系列与5系列的区别
- Golang实践录:简单的代码片段
- 论文笔记之:Deep Reinforcement Learning with Double Q-learning
- Linux emacs考场配置及对拍脚本
- Mysql数据恢复有哪几种_MYSQL 数据恢复有哪些
- AD教程系列 | 0-认识Altium Designer:汉化和新建项目
- 微软鼠标测试软件,微软IO1.1鼠标使用测试_微软 IO1.1红光鲨鼠标(战队包黑色版)_键鼠评测-中关村在线...
- 交换机VLAN工作模式介绍
- 语音识别 卷积神经网络,卷积神经网络字符识别
- 流利阅读12.16 ‘Aquaman’ is already a box office titan
- nginx url中带中文不能访问
- 20天学会UI设计(PS+AI)入门教程
- TCP/IP网络通信协议
- DNS List (台湾的比较不错,推荐使用!)
- 华三 h3c isis协议综合配置
热门文章
- Visual GDB不能在线调试,出现Received a SIGTRAP:Trace/breakpoint trap
- 远程办公效率打折,怎么办?
- 安装虚拟机之开启VT
- JavaScript第二十四篇 高级定时器(下)
- 什么是SHA256?比特币是如何应用SHA256算法的?
- Paper:《YOLOv4: Optimal Speed and Accuracy of Object Detection》的翻译与解读
- 设计链表(单链表、双链表)
- 参与IPFS项目最好的方式是买矿机挖Fil,而不是直接买币
- MyEclipse设置黑色主题皮肤(详细)
- 跨考西电计算机科学与技术专业介绍,2021年西安电子科技大学计算机科学与技术(081200)人工智能交叉研究方向_考研专业目录_考试科目_考试范围 - 学途吧...