精华内容
下载资源
问答
  • 功能需求——系统应答向用户提供什么样的服务。2.不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块” 行为和职责的划分。 分层架构,功能模块或者类图。UML:静态——包图,类图,...

    从软件的架构角度来看,可以划分为5种架构视图,也就是我们常说的五视图,自上而下,分别是:

    • 逻辑架构
    • 开发架构
    • 运行架构
    • 物理架构
    • 数据架构

    架构视图着重考虑关注点描述方式
    逻辑架构1.功能需求——系统应答向用户提供什么样的服务。2.不仅包括用户可见的功能,还包括为实现用户功能而必须提供的“辅助功能模块”行为和职责的划分。分层架构,功能模块或者类图。UML:静态——包图,类图,对象图;动态——序列图,协作图,状态图,活动图。
    开发架构1.着重考虑开发环境中模块的实际组织方式 2.包括源程序文件、配置文件、源程序包、编译后的目标文件和第三方库文件等。软件开发环境中软件模块实际组织方式——具体涉及源程序文件,配置文件,源程序包,编译后的目标文件和第三方库文件。UML:包图,类图,组件图
    运行架构运行期质量属性——性能,可伸缩性,持续可用性,安全性系统的并发和同步,涉及进程和线程技术。UML:包图类图对象图来说明运行时的关键的概念;序列图,协作图等来描述交互机制。
    物理架构安装和部署的需求——包括计算机,网络,硬件设施情况,以及如何部署软件单元如何映射到硬件,以及硬件相关的可靠性,可伸缩性,性能和安全性等。UML:部署图,组件图
    数据架构数据需求持久化数据的组织,数据传递,数据复制和数据同步策略。E-R图

    展开全文
  • 摘要 ...一、五视图介绍 (一)逻辑架构设计着重考虑功能需求 系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。逻辑架构关注的功能,不仅包括用户可见的功能,还应当包括...

    摘要

    软件架构是从宏观上说明一套软件系统的组成与特性,包括软件可以提供什么样的功能,软件代码的层次结构,软件的部署与网络结构,软件的数据结构,软件的性能特征。上面说到的几个方面就可以用五视图法来表示。五视图法做架构设计的步骤是逻辑架构->数据架构->开发架构->运行架构->物理架构。

    一、    五视图介绍

    电脑萤幕 低可信度描述已自动生成


    (一) 逻辑架构设计着重考虑功能需求

    系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。逻辑架构关注的功能,不仅包括用户可见的功能,还应当包括为实现用户功能而必须提供的辅助功能。逻辑架构的静态方面是抽象职责的划分,动态方面是承担不同职责的逻辑单元之间的交互与协作。

    (二)开发架构的设计着重考虑开发期质量属性

    关注点是在软件开发环境中软件模块的实际组织方式,具体涉及源程序文件、配置文件、源程序包、编译打包后的目标文件、直接使用的第三方SDK/框架/类库、以及开发的系统将运行于其上的系统软件或中间件。

    (三)运行架构的设计着重考虑运行期质量属性

    关注点是系统的并发与同步等问题,这势必涉及到进程、线程、对象等运行时概念,以及相关的并发、同步、通信等。运行架构的静态方面关注软件系统运行时的单元结构,动态方面关注运行时单元之间的交互机制。

    (四)物理架构的设计着重考虑安装和部署需求

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

    (五)数据架构的设计着重考虑数据需求

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

    二、    案例分析

    基于五视图法的酒店管理系统架构设计可以确定组成软件系统的程序模块和以程序模块为单位、用层次结构表示的软件结构,以及各模块的功能描述和借口描述。

    (一) 逻辑架构设计

    系统可划分为三个子系统,采购管理子系统、门店管理子系统和客服管理子系统。

    表格 描述已自动生成


    子系统都有用户登陆功能块。用户修改信息:指用户可以随时修改自己的信息,特别是用户密码必须经常修改,以防止他人盗用自己的身份操作系统,破坏数据库数据。取回密码:当用户忘了密码时,使用该功能通过简单的回忆获得自己的密码。

    图示, 日程表 描述已自动生成

     
    门店管理子系统包含五大模块。

    表格 中度可信度描述已自动生成


    客服管理子系统包括2大功能,分别是:客房预订,会员管理。


    (二) 开发架构设计

    系统采用三层架构模型进行开发,将系统分成三个部分:数据表现层、业务逻辑层和数据处理层。

    图示 描述已自动生成


    数据表现层负责用户与系统之间的交互,主要表现在将系统的数据按照用户的业务操作按照一定的规则显示在页面上,利用JSP页面技术来实现。在酒店管理中,数据表现层根据用户类别的不同分别展现不同的用户界面和功能,具体分为门店管理员界面、采购管理员界面、客服管理员界面、客人界面。

    业务逻辑层主要完成各个子系统之间的通信和交互,以实现系统的业务功能,在本系统分为门店管理、采购管理和客服管理。

    数据处理层主要实现系统的数据和数据库之间的交互,利用JSP和JDBC数据库的处理模块实现。

    (三) 运行架构设计

    文本, 信件 描述已自动生成


    (四) 物理架构设计

    图示 描述已自动生成

    (五) 数据架构设计

    图示 描述已自动生成


    三、    总结

    不同的架构视图代表不同的人对软件内部结构的不同看法,对于架构视图的选择和架构视图的数目,视实际的需要决定,并没有所有的软件在设计的时候都需要这5个视图,也不是只有这5个视图,能清晰地表达出系统设计的主要内容即为最优。 

    展开全文
  • 代码Solution分层介绍 4、构图工具:drawio-UML 、数据架构:面向DBA、开发人员讲解,重点突出如何建立数据库 1、核心架构以数据库E-R、存储设备为准 2、构图元素:表主外键、表关系;缓存Key、OSS Block等 3、...

    一、逻辑架构:面向架构师、技术Leader、业务人员讲解,重点突出技术如何组合实现业务蓝图

    1、逻辑分层与业务蓝图保持一致

    2、构图元素:UI/访问层、业务逻辑层、通用技术层、数据存储层;调用、数据关系

    3、构图逻辑:上下支撑关系、左右组合关系;常用布局以上入口、下连接、左公共、右开放为最佳实践

    4、构图工具:drawio-General/drawio-Arrows

    二、运行架构:面向开发人员实际梳理流程讲解,重点突出业务流程下技术如何跑通

    1、主流程与特定场景的业务流程图保持一致

    2、构图元素:逻辑架构图中的元素,重点按照业务流程图描述其调用关系及方式、数据流向及方式

    3、构图逻辑:左进右出,点对点的箭头,竖线切分阶段、横线切分角色为最佳实践

    4、构图工具:drawio-Flowchart/drawio-Data Flow Diagram

    三、部署架构:面向运维人员讲解,重点突出如何部署

      1、主框架以运维物理设备部署保持一致

      2、构图元素:逻辑架构图中的元素,重点按照终端设备、网关设备、网络及IO设备、服务器、存储设备等为划分单元,把逻辑架构的构成元素放进去

      3、构图逻辑:上请求、下存储结构,虚框代表网络、分区等隔离,注意负载、高可用、读写分离、数据同步等常见的部署

      4、构图工具:drawio-Kubernetes\drawio-Network

    四、开发架构:面向开发人员讲解,重点突出如何编码

      1、主框架以开发框架、代码解决方案、领域实体划分逻辑保持一致

      2、构图元素:DDD领域划分对象、开发框架示例代码,重点告诉开发人员如何编写代码

      3、构图逻辑:前后端分离,领域划分,上下结构;代码Solution分层介绍

      4、构图工具:drawio-UML

    五、数据架构:面向DBA、开发人员讲解,重点突出如何建立数据库

      1、核心架构以数据库E-R、存储设备为准

      2、构图元素:表主外键、表关系;缓存Key、OSS Block等

      3、构图逻辑:E-R图为载体,突出结构与关系;缓存Key的设计;租户分库分表逻辑;

      4、构图工具:drawio-Entity Relation

    展开全文
  • 很少有人对“架构”有全面的了解和认识能并说清楚架构是什么,更谈不上掌握了。事实上,也只有极少数人能成为或者被冠以“架构师”这样的title。为此,笔者总结了对架构的一些理解,希望能够补充很多初入门的人在这...

    在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜,但是总让很多刚入门的 

    ​在实际工作中,我们经常听到“架构”和“架构师”这样的名词,并不新鲜,但是总让很多刚入门的人感觉很神秘,甚至是高深莫测。很少有人对“架构”有全面的了解和认识能并说清楚架构是什么,更谈不上掌握了。事实上,也只有极少数人能成为或者被冠以“架构师”这样的title。为此,笔者总结了对架构的一些理解,希望能够补充很多初入门的人在这方面认识上的不足,纠正一些误解。高手和老鸟就直接跳过吧。

    架构的分类

    对于“架构”来讲,理论上划分了5种架构视图,分别是:逻辑架构、开发架构、运行架构、物理架构、数据架构。根据名字,大家都可能大概能猜到其侧重点和含义。这里先用通俗的文字简单介绍下,便于大家理解,大家可以不必纠结概念和这些理论。

    • 逻辑架构:逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能。或者更加通俗来描述,逻辑架构更偏向我们日常所理解的“分层”,把一个项目分为“表示层、业务逻辑层、数据访问层”这样经典的“三层架构”。
    • 开发架构:开发架构则更关注程序包,不仅仅是我们自己写的程序,还包括应用程序依赖的SDK、第三方类库、中间价等。尤其是像目前主流的Java、.NET等依靠虚拟机的语言和平台,以及主流的基于数据库的应用,都会比较关注。和逻辑架构有紧密的关联。
    • 运行架构:顾名思义,更关注的是应用程序运行中可能出现的一些问题。例如并发带来的问题,比较常见的“线程同步”问题、死锁问题、对象创建和销毁(生命周期管理)问题等等。开发架构,更关注的是飞机起飞之前的一些准备工作,在静止状态下就能规划好做好的,而运行架构,更多考虑的是飞机起飞之后可能发生的一些问题。
    • 物理架构:物理架构,更关注的系统、网络、服务器等基础设施。例如:如何通过服务器部署和配置网络环境,来实现应用程序的“可伸缩性、高可用性”。或者举一个实际的例子,如何通过设计基础设施的架构,来保障网站能支持同时10W人在线、7*24小时提供服务,当超过10W人或者低于10W人在线时,可以很方便的调整部署架构来支撑。
    • 数据架构:数据架构,更关注的是数据持久化和存储层面的问题,也可能会包括数据的分布、复制、同步等问题。更贴切来讲,如何选择需要的关系型数据库、流行的NOSQL,如何保障数据存储层面的性能、高可用性、灾备等等。很多时候,和物理架构是有紧密联系的,但它更关注数据存储层面的,物理架构更关注整个基础设施部署层面。

    上面讲了那么多,相信国内很少有公司是严格按照这五种视图去分工和设计的。其实在笔者眼中,架构大致分为两种:软件架构、系统架构。前三种视图,可以归纳为软件架构,而后两种架构,则归为系统架构。这也比较符合国内大部分中小型互联网公司的现状。

    根据应用特性的不同,关注侧重点可能不同。例如,某些门户类的互联网应用,读多写少而且业务相对比较简单,则更加关注“高性能、可伸缩性、可用性”等方面。对于更加复杂的应用,例如电商类大规模交易型的应用,对每个层面和每个环节都会比较关注。对于业务型的系统,例如一些生产型企业使用的ERP,或者仅供企业内部使用的一些MIS、OA应用,通常更关注功能和复杂的业务和实现和扩展,而对性能等方面又可能不要太高,这类应用则更关注纯软件架构层面。这里,不展开做具体讨论。所以很多时候,架构师也需要是一个团队,而不是一个人“全栈”。

    架构设计到底是什么

    在长期的技术招聘面试中,我发现在很多人眼中,架构就是分层,架构设计就是“三层架构”(或者四层、五层…反正分层越多就说明项目越复杂而且架构就越牛),或许是受到诸如PetShop之类的示例项目的影响,这里暂时不去追究原因了。

    之前已经纠正过很多人的误解-架构不只是软件架构。说一下通俗点的理解:

    软件架构就是实用而且优雅的设计,它不在于分多少层,或者应用了多少种设计模式/架构模式等。它应该是以满足实现用户需求为前提,以开发人员普遍可接受为根本的,而且要符合系统特性和业务发展需要的,从软件设计的角度,能够达到层次清晰、可维护、可重用、可扩展…就非常优秀了,无需刻意去纠结分了多少层,是否使用了什么模式,有多么抽象等。以面向对象设计为例,基本目标是“高内聚、低耦合”,为此我们可能会遵循一些常见的设计原则(例如经典的SOLID设计原则)。最后纠正一点,通常我们所说的模式,其实又分为很多种,并不是仅仅指的是“设计模式”(设计模式也有千千万,并不是只有常见的GOF 23种设计模式)。通常包括:企业架构模式、设计模式、SOA模式、企业集成模式等等。

    强调一下,架构要讲求“实用”,而且开发人员普遍可接受,要符合现状的。否则,再“优雅”的设计,都会沦为高成本的“花架子”,生搬硬套和过度设计只会让项目“流产”。

    由于角色和分工不同,软件架构是一个复杂的整体,软件架构工程师不可能在一个视角、一下子讲清楚,而利用多重软件架构视图的方法,可以一次只围绕少数概念和技术展开,分别着重研究软件架构的不同方面,使问题得以清晰公和简化,利于软件架构工程师完成架构设计工作。

    因此软件架构的每个视图分别关注不同的方面,针对不同的目标和用途。目前常用架构设计五视图方法进行软件架构描述。它们分别是逻辑架构、开发架构、运行架构、物理架构和数据架构。

    • 逻辑架构的设计着重考虑功能需求,系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。逻辑架构关注的功能,不仅包括用户可见的功能,还应当包括为实现用户功能而必须提供的辅助功能。逻辑架构的静态方面是抽象职责的划分,动态方面是承担不同职责的逻辑单元之间的交互与协作。
    • 开发架构的设计着重考虑开发期质量属性,关注点是在软件开发环境中软件模块(包)的实际组织方式,具体涉及源程序文件、配置文件、源程序包、编译打包后的目标文件、直接使用的第三方SDK/框架/类库、以及开发的系统将运行于其上的系统软件或中间件。
    • 运行架构的设计着重考虑运行期质量属性,关注点是系统的并发、同步、通信等问题,这势必涉及到进程、线程、对象等运行时概念,以及相关的并发、同步、通信等。运行架构的静态方面关注软件系统运行时的单元结构,动态方面关注运行时单元之间的交互机制。
    • 物理架构的设计着重考虑安装和部署需求,关注点是目标程序及其依赖的运行库和系统软件最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性、持续可用性、性能和安全性等要求。
    • 数据架构的设计着重考虑数据需求,关注点是持久化数据的存储方案,不仅包括实体及实体关系数据存储格式,还可能包括数据传递、数据复制、数据同步等策略。

    在运用五视图方法进行架构设计时需要注意两个方面的问题:一是多个架构视图间的同步问题,也就是必须保证不同视图之间是互相解释而不是相互矛盾的;另一个是架构视图的数量问题,原则上是软件系统不涉及某方面的要求时就不需要该方面的视图,严格控制架构视图的数量,但如果有需要,可以引入新的架构视图,从而更加突出和明确地制定和表达特定方面的架构决策,如安全性。

    构成每个架构设计视图的元素不同,这些不同的元素撑起不同的思维空间,从而使每个架构视图重点覆盖不同种类的需求,最终所有架构设计视图所表达的语义综合左右一起,就构成了软件架构设计方案。

    五视图 CSDN  https://blog.csdn.net/nnsword/article/details/78109126

    软件架构详解(附图)http://www.uml.org.cn/zjjs/zjjs-bk.asp

    对软件架构设计的一些总结和理解https://blog.csdn.net/cooldragon/article/details/48241965

    架构设计(1)-谈谈架构https://blog.csdn.net/hguisu/article/details/78258430

    展开全文
  • UML语言中视图

    2020-12-24 05:57:11
    UML语言纵览视图UML语言中的视图大致分为如下5种:1、用例视图。用例视图强调从系统的外部参与者(主要是用户)的角度看到的或需要的系统功能。2、逻辑视图。逻辑视图从系统的静态结构和动态行为角度显示如何实现系统...
  • 实验 SQL的数据视图

    2020-12-23 05:47:12
    实验SQL的数据视图(2学时)1、实验目的(1)掌握DBMS的数据视图机制(2)掌握SQL语言的视图功能2、实验内容(1)定义或创建视图(在已有的单个或多个基本表或视图上创建视图)(2)查询视图(通过视图查询数据)(3)更新视图...
  • MySQL 视图的基础操作()1.为什么使用视图:为了提高复杂SQL语句的复用性和表操作的安全性(例如:工资字段不想展示给所有能查看该查询结果的人),MySQL提供了视图特性。所谓视图,本质上是一种虚拟表,其内容与真实...
  • 一、架构五视图什么 1、逻辑架构  逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能。或者更加通俗来描述,逻辑架构更偏向我们日常所理解的“分层”,把一个项目分为“表示层、业务逻辑...
  • 学习十>使用视图

    2021-01-18 20:51:27
    本博将介绍视图究竟是什么,它们怎么工作,何时使用它们。我们还将看到如何利用视图简化前面章节中执行的某些SQL操作。一、视图注意:需要MySQL 5 MySQL5添加了对视图的支持。因此,本章内容适用于MySQL5及以后版本...
  • 对于增量刷新选项,如果在子查询中存在分析函数,则物化视图不起作用。Refresh方法- COMPLETE子句完全刷新重新生成整个视图,如果请求完全刷新,oracle会完成 完全刷新即使增量刷新可用。Refresh Method – FORCE ...
  • 1.为什么使用视图:为了提高复杂SQL语句的复用性和表操作的安全性(例如:工资字段不想展示给所有能查看该查询结果的人),MySQL提供了视图特性。所谓视图,本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有...
  • 实验 SQL的视图

    2020-12-23 05:47:10
    实验SQL的视图1、实验目的熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和取消视图。2、实验内容(1)定义常见的视图形式,包括:行列子集视图WITHCHECKOPTION的视图...
  • 实验5 索引和视图富春山居一、实验目的1.学会使用企业管理器和Transact-SQL语句CREATE INDEX创建索引。2.学会使用企业管理器查看索引。3.学会使用企业管理器和Transact-SQL语句DROP INDEX删除索引。4.掌握使用企业...
  • 1.为什么使用视图:为了提高复杂SQL语句的复用性和表操作的安全性(例如:工资字段不想展示给所有能查看该查询结果的人),MySQL提供了视图特性。所谓视图,本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有...
  • 实验7 交互式SQL()一、实验目的熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询及取消视图。 二、实验内容与要求(一)、基于SPJ数据库完成下列数据更新操作 1.建立视图在插入...
  • 1、视图是从一个或者几个基本表/视图导出的虚表2、数据库中只存放视图的定义,不存放视图对应的数据,那么这些数据在哪里呢?还在原来的表里3、从2我们可以发现,视图像一个窗口,当基本表中的数据发生变化时,我们...
  • 数据库视图 sql

    千次阅读 2021-01-28 08:08:21
    视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视...文章萌萌怪兽2020-02-...
  • 视图简介 是有数据库中的一个表或多个表导出的虚拟表。作用是方便用户对数据的操作。 1)、视图的含义 是一种虚拟的表,是从数据库中的一个或多个表中导出来的表。还可以从已经存在的视图的基础上定义。数据库中只...
  • 5.1 创建查询1. 查询的概念查询:就是向一个数据库发出检索信息的请求...查询结果:通过运行查询文件得到的一个基于表和视图的动态的数据集合。查询结果可以用不同的形式来保存。查询中的数据是只读的。查询的数据...
  • 任务 数据库的视图设计文章目录任务 数据库的视图设计【实训目的与要求】【实训原理】【实训步骤】一、创建视图(注意WITH CHECK OPTION子句用法)1.创建行列子集视图2.在多表上建立视图3.创建带表达式的视图4...
  • (1)理解视图的概念。 (2)掌握创建视图、测试、加密视图的方法。 (3)掌握更改视图的方法。 (4)掌握用视图管理数据的方法。 二、实验内容 创建视图 (1)创建一个名为stuview1的水平视图,从Student_info...
  • MySql 视图

    2021-01-27 03:49:59
    #视图/*含义:虚拟表,和普通表一样使用mysql5.1版本出现的新特性,是通过表动态生成的数据比如:舞蹈班和普通班级的对比创建语法的关键字是否实际占用物理空间使用视图create view只是保存了sql逻辑增删改查,只是...
  • Oracle视图详解

    2021-01-28 07:57:22
    视图的定义视图(view),也称虚表,不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL。视图是从一个或多个实际表中获得的,...
  • oracle视图详解

    2021-01-28 10:46:15
    Oracle视图详解一.视图的定义视图(view),也称虚表,不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL。视图是从一个或多个...
  • 知识点:视图概述、Razor视图引擎、Razor语法 1、视图概述 ASP.NET MVC 中视图的作用就是向用户提供界面。视图在得到模型(数据)后,将模型转换成为准备提供给用户的格式,这个过程分成检查由 Controller 输入...
  • Oracle数据库教程视图及索引5.1 视图的作用及定义5.2 视图的操作5.2.1 创建视图5.2.2 查询视图5.2.3 更新视图5.2.4 删除视图5.2.5 建立只读视图5.2.6 复杂视图5.2.7 连接视图5.2.8 删除视图5.3 索引的定义5.4 ...
  • 视图基础知识2 1.数据显示视图 数据显示视图是将后台的数据展示在网页上,数据主要来自模型,一共有4个视图类,分别是RedirectView、TemplateView、ListView、DetailView。 RedirectView 用于实现HTTP重定向,默认...
  • MySQL:视图

    2021-02-01 19:41:44
    视图一、视图的概述1. 含义:是从数据库中一个或多个表中导出的虚拟表2. 作用:①简单化 ②安全性 ③逻辑数据独立性3. 注意:一个表可以由多个视图;二、视图的创建1. 总的语法形式CREATE[OR REPLACE][ALGORITHM = {...
  • 在大纲视图中,可以设置显示级别,如显示一级,则文档的其他级别的内容就显示不出来...在Word中提供了视图模式供用户选择,这些视图模式包括“页面视图”、“阅读版式视图”、“Web版式视图”、“大纲视图”和“...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 231,012
精华内容 92,404
关键字:

什么是五视图

友情链接: PowerFlash_Simcom.zip