精华内容
下载资源
问答
  • 逻辑视图和物理视图的解释 我们在学习struts2开发的时候,这两个东西使我们使用的最多的。 所以我就去百度搜索了这两个定义的含义,可是让我有点失望,还像解释的都挺模糊的。 其实逻辑视图和物理视图都很多,而且...

    逻辑视图和物理视图的解释

    我们在学习struts2开发的时候,这两个东西使我们使用的最多的。

    所以我就去百度搜索了这两个定义的含义,可是让我有点失望,还像解释的都挺模糊的。

    其实逻辑视图和物理视图都很多,而且开发网站是必须使用的。

    View是视图的意思,但是Struts2支持的视图类型有甚多种,其中物理视图有很多,比如我们jsp、word.doc word.xls等一些文件可以显示内容的都可以算作是物理视图。那什么是逻辑视图呢。逻辑视图其实就是我们在struts.xml文件Result中配置的name中的字符串元素。

    /register.jsp

    那么name中的error其实就是逻辑视图,它属于一个理论上要实现的视图可是没有实际的实现它,才使用到物理视图显示他的结果我们才能看得到。
    在这里插入图片描述

    展开全文
  • 目录 一、RUP概述 二、“4+1”视图模型 一、RUP概述 ...“4+1”视图包括逻辑视图、实现视图、进程视图、部署视图和用例视图。 最终用户关心的是系统的功能,因此会侧重于逻辑视图; ...

    目录

    一、RUP概述

    二、“4+1”视图模型


    一、RUP概述

    RUP(Rational Unified Process),统一软件开发过程,统一软件过程是一个面向对象且基于网络的程序开发方法论。

    在RUP中采用“4+1”视图模型来描述软件系统的体系结构。“4+1”视图包括逻辑视图、实现视图、进程视图、部署视图和用例视图。

    • 最终用户关心的是系统的功能,因此会侧重于逻辑视图

    • 程序员关心的是系统的配置、装配等问题,因此会侧重于实现(开发)视图

    • 系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,因此会侧重于进程(处理)视图

    • 系统工程师关心的是系统的发布、安装、拓扑结构等问题,因此会侧重于部署(物理)视图

    • 分析人员和测试人员关心的是系统的行为,因此会侧重于用例(场景)视图;

    二、“4+1”视图模型

    “4+1”视图模型从五个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,五个视图结合在一起才能反映软件架构的全部内容。

    (1)逻辑视图。

    逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在OO技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。逻辑视图中使用的风格为面向对象的风格,在设计中要注意保持一个单一的、内聚的对象模型贯穿整个系统。

    (2)开发视图。

    开发视图也称为模块视图,在UML中被称为实现视图,它主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,例如,软件开发的容易性、软件复用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统I/O关系的模型图和子系统图来描述。

    (3)进程视图。

    进程视图侧重于系统的运行特性,主要关注一些非功能性需求,例如,系统的性能和可用性等。进程视图强调并发性、分布性、系统集成性和容错能力,以及逻辑视图中的功能抽象如何适合进程结构等,它也定义了逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。

    (4)物理视图。

    物理视图在UML中被称为部署视图,它主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装和通信等问题。当软件运行于不同的物理节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小化。

    (5)用例视图。

    用例可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。场景视图对应UML中的用例视图。在开发软件架构时,它可以帮助架构设计师找到构件及其相互关系。同时,架构设计师也可以用场景来分析一个特定的视图,或描述不同视图的构件之间是如何相互作用的。场景可以用文本表示,也可以用图形表示。下面是题目选项中几种UML图的解释,从中可以了解题目所描述的,是哪一种UML图。

    • 对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
    • 活动图(activity diagram)。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。 
    • 状态图(state diagram)。状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。 
    • 类图(class diagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
    展开全文
  • HBase表格的逻辑视图和物理视图

    千次阅读 2019-11-22 23:21:32
    HBase表格的逻辑视图和物理视图 逻辑视图(概念视图): HBase以表的形式存储数据,表由行和列组成。列划分为若干个列簇 HBase是一个键值(key-value)型数据库。HBase数据行可以类比成一个多重映射(map),通过...

                            HBase表格的逻辑视图和物理视图

    逻辑视图(概念视图):

     HBase以表的形式存储数据,表由行和列组成。列划分为若干个列簇

    HBase是一个键值(key-value)型数据库。HBase数据行可以类比成一个多重映射(map),通过多重的键(key)一层层递进可以定位一个值(value)。因为HBase数据行列值可以是空白的(这些空白列是不占用存储空间的),所以HBase存储的数据是稀疏的。

    (1)表(table):类似于关系型数据库中的表,即数据行的集合。表名用字符串表示,一个表可以包含一个或者多个分区(region)。

    (2)行键(row key):用来标识表中唯一的一行数据,以字节数组形式存储,类似于关系型数据库中表的主键(不同的是从底层存储来说,行键其实并不能唯一标识一行数据,因为HBase数据行可以有多个版本。

    但是,一般在不指定版本或者数据时间戳的情况下,用行键可以获取到当前最新生效的这行数据,因此从用户视图来说,默认情况下行键能够标识唯一一行数据),同时行键也是HBase表中最直接最高效的索引,表中数据按行键的字典序排序。

    (3)列族(column family):HBase是一个列式存储数据库,所谓列式就是根据列族存储,每个列族一个存储仓库(Store),每个Store有多个存储文件(StoreFile)用来存储实际数据。

    (4)列限定符(column qualifier):每个列族可以有任意个列限定符用来标识不同的列,这个列也类似于关系型数据库表的一列,与关系型数据库不同的是列无须在表创建时指定,可以在需要使用时动态加入。

    (5)单元格(cell):单元格由行键、列族、列限定符、时间戳、类型(Put、Delete等用来标识数据是有效还是删除状态)唯一决定,是HBase数据的存储单元,以字节码的形式存储。

    (6)版本(version):HBase数据写入后是不会被修改的,数据的Put等操作在写入预写入日志(Write-Ahead-Log,WAL)(类似于Oracle Redo Log)后,会先写入内存仓库(MemStore),同时在内存中按行键排序,等到合适的时候会将MemStore中的数据刷新到磁盘的StoreFile文件。

    因为数据已经排序,所以只需顺序写入磁盘,这样的顺序写入对磁盘来说效率很高。由于数据不会被修改,因此带来的问题就是数据会有多个版本,这些数据都会有一个时间戳用来标识数据的写入时间。

    (7)分区(region):当传统数据库表的数据量过大时,我们通常会考虑对表做分库分表。例如,淘宝的订单系统可以按买家ID与按卖家ID分别分库分表。同样HBase中分区也是一个类似的概念,分区是集群中高可用、动态扩展、负载均衡的最小单元,一个表可以分为任意个分区并且均衡分布在集群中的每台机器上,分区按行键分片,可以在创建表的时候预先分片,也可以在之后需要的时候调用HBase shell命令行或者API动态分片。

    接下来以用户行为管理系统为例,假设现在需要用HBase来存储电商系统的用户行为数据,表s_behavior用来存储这些行为数据,两个列族pc和ph分别存储电脑端与手机端的行为数据,列v用来存储用户浏览记录,列o用来存储用户的下单记录。

     

    物理视图:

    HBase是一个列式存储数据库,数据按列族聚簇存储在存储文件(StoreFile)中,在逻辑视图上面有些列是空白的,空白的列单元格不会被存储,当请求这些空白的单元格时,会返回null值。如果在查询的时候不提供时间戳,那么会返回距离现在最近的那一个版本的数据,因为在存储的时候,数据会按照时间戳来排序。

    (1)HBase中表按照行键的范围被划分为不同的分区(Region),各个分区由分区服务器负责管理并提供数据读写服务,HBase主节点进程(HMaster)负责分区的分配以及在集群中的迁移。

    (2)一个分区同时有且仅由一个分区服务器提供服务。当分区增长到配置的大小后,如果开启了自动拆分(也可以手动拆分或者建表时预先拆分),则分区服务器会负责将这个分区拆分成两个。

    每个分区都有一个唯一的分区名,格式是“<表名,startRowKey,创建时间>”。一个分区下的每个列族都会有一个存储仓库(Store),因此一个表有几个列族,那么每个分区就会有几个存储仓库。

    (3)每个Store(存储仓库)有且仅有一个MemStore(内存仓库),但是可以有多个存储文件。当分区服务器处理写入请求时,数据的变更操作在写入WAL后,会先写入MemStore,同时在内存中按行键排序。

    当MemStore到达配置的大小或者集群中所有MemStore使用的总内存达到配置的阈值百分比时,MemStore会刷新为一个StoreFile(存储文件)到磁盘,存储文件只会顺序写入,不支持修改。

    (4)数据块(block)是HBase中数据读取的最小单元,StoreFile由数据块组成,可以在建表时按列族指定表数据的数据块大小。如果开启了HBase的数据压缩功能,数据在写入StoreFile之前会按数据块进行压缩,读取时同样对数据块解压后再放入缓存。理想情况下,每次读取数据的大小都是指定的数据块大小的倍数,这样可以避免一些无效的IO,效率最高。

     

     

    表格的物理视图

     

     HBase各模块交互图:

     

     

    参考博客:

    https://www.cnblogs.com/steven-note/p/7209398.html

    https://www.cnblogs.com/zlslch/p/6139913.html

    展开全文
  • HBase学习笔记——逻辑视图

    千次阅读 2017-02-21 20:22:03
    本文章将主要讲解HBase的逻辑视图,首先给出逻辑视图的一个例子,之后进行详细的介绍。 HBase以表的形式存储数据,表由行和列组成,列划分为若干个列族,每个列族可以有多个列。 一、行健(row key)与NoSQL数据库...

    本文章将主要讲解HBase的逻辑视图,首先给出逻辑视图的一个例子,之后进行详细的介绍。
    HBase以表的形式存储数据,表由行和列组成,列划分为若干个列族,每个列族可以有多个列。
    HBase的逻辑视图

    一、行健(row key)

    与NoSQL数据库一样,行健是用来检索记录的主键,行健就像RDBMS中的主键(主键可有可无,行健天然自带)。

    访问hbase table中的行,只有三种方式:1、通过单个row key访问。2、通过row key的range。3、全表扫描。

    行键可以是任意字符串(最大长度是 64KB,实际应用中长度一般为10-100bytes),在hbase内部,row key保存为字节数组。

    存储时,数据按照Row key的字典序(byte order)排序存储,而不管存入的先后顺序。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起(位置相关性)。要保持整形的自然序,行键必须用0作左填充。

    注意:字典序对int排序的结果是1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。

    行的一次读写是原子操作 (不论一次读写多少列),这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。

    二、列族(row family)

    列族是表结构的一部分(而列不是),必须在使用表之前定义。HBase表中的每个列,都归属于某个列族,列名都以列族作为前缀,列是在插入记录时动态增加的。例如courses:history,courses:math,都属于courses 这个列族。

    访问控制、磁盘和内存的使用统计都是在列族层 面进行的,每个列族单独存在一个文件中,所以可以将经常访问的列族存放在一个列族。实际应用中,列族上的控制权限能帮助我们管理不同类型的应用:我们允许一些应用可以添加新的基本数据、一些应用可以读取基本数据并创建继承的列 族、一些应用则只允许浏览数据(甚至可能因为隐私的原因不能浏览所有数据)。

    三、时间戳(time stamp)

    HBase中的每个cell都保存着同一份数据的多个版本,版本就是通过时间戳来区分。时间戳的类型是64位整型。时间戳的两种生成方式:1、时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间。2、时间戳也可以由显式地赋值。

    如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。为了避免数据存在过多版本造成的的管理(包括存贮和索引)负担,HBase提供了两种数据版本回收方式:1、保存数据的最后n个版本。2、保存最近一段时间内的版本(比如最近七天)。

    四、cell

    HBase中通过row和columns确定的为一个存贮单元称为cell,每个 cell都保存着同一份数据的多个版本。由{row key, column(= +

    cell中的数据是没有类型的,全部是字节码形式存贮,省去了很多关于类型的麻烦。获取cell中的数据时,如果没有指定时间戳或者版本,默认取得最新的版本。

    展开全文
  • 使用了主程序子程序、面向对象、隐式调用、管道过滤器、黑板风格实现,并附上了所有5中风格的逻辑视图和开发视图,是江苏某大学软件学院某老师的作业,呵呵
  • 1. 逻辑视图的绘制 (1)进入StarUML选择Approaches,"4+1View" (2)点开逻辑视图,开始添加控件,有两种添加方式。a:直接从左边控件去拖入。b:在右边列表中,右键选择添加,但添加后还需将其拖到图中才会显示...
  • hbase快速入门之---逻辑视图

    千次阅读 2017-12-11 20:56:38
    hbase逻辑视图,rowkey,timestamp,cell等,图片摘自官网
  • “4+1”视图包括逻辑视图、实现视图、进程视图、部署视图和用例视图。 最终用户关心的是系统的功能,因此会侧重于逻辑视图; 程序员关心的是系统的配置、装配等问题,因此会侧重于实现(开发)视...
  • UML逻辑视图-类图详解 提示: 对UML基础还不太了解或想查阅学习其他UML图的戳这的戳这UML统一建模语言快速入门.CSDN 类图技术是面向对象方法的核心技术,应用非常广泛,其中,类、对象,以及它们之间的关系是最基本...
  • HBase逻辑视图

    千次阅读 2015-05-26 13:25:31
    这张图看起来比较直观。什么列模式,列族,列中为NULL的数据不占空间,在关系型数据库存储方式的思维定式下,好难想象列模式是怎么存储的,看上图,拨云见日。
  • 在Rational Rose建立的模型中包括四种视图,分别是用例视图(use case view)、逻辑视图(logical view)、组件视图(componentview)和部署视图(deployment view)。在我们创建一个rational rose工程的时候,会...
  • Rose建模历程(2 逻辑视图)

    万次阅读 2006-11-19 20:35:00
    逻辑视图逻辑视图用来描述用例视图中提出的系统功能的实现,该视图以图形方式说明关键的用例实现、子系统、包和类,它们包含了在构架方面具有重要意义的行为。逻辑视图在每次迭代过程中都会加以改进,主要是作为...
  • UML-逻辑视图-类图

    万次阅读 2018-06-27 09:07:09
    假如我们使用的是.NET平台分层架构,并使用ASP.NETMVC,则设计师应该在实现UML类图中绘制出所有的实体类、数据访问类、业务逻辑类和界面类,界面类又分为视图类、控制器类等等,还要表示出IoC和Aop等信息,并明确...
  • 1 初始化视图解析器 2 DispatcherServlet转发请求获得处理结果 3 获取视图对象 3.1 获取视图对象 3.2 得到实际视图 Spring MVC的大致流程: 在Spring MVC框架下,请求通常会被拦截交给DispatcherServlet...
  • 逻辑视图——类图和对象图

    千次阅读 2011-12-21 21:09:28
    类图是对系统的静态结构建模,涉及到具体的实现细节。 在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责。 在系统设计阶段,类图用于捕捉组成系统体系结构的类结构。 在系统编码阶段,根据类图中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 343,557
精华内容 137,422
关键字:

逻辑视图