摘要: 一、引言正 如建筑蓝图是建设一座高楼大厦的基石一样,企业架构对一个企业的生存和发展具有同样至关重要的作用。随着企业的发展,企业的信息系统与业务关联越来越紧 密,信息系统的复杂度和规模都发生了巨大的变化,这也使得设计和实现信息系统面临着更多的问题,比如系统的技术体系复杂混乱,系统功能与实际的业务流程不 匹配或是不能灵活地适应业务流程变化带来的新需求,系统的技术标准之间不兼容等问题。企业架构的概念产生...
阅读全文
摘要: 领域模型驱动设计(DDD)之模型提炼 当Java世界提供的可选择性框架平台越来越多时,我们可能被平台架构所深深困扰,而无暇顾及软件的真正核心:业务建模,其实,业务领域建模同样是一个比平台架构更复杂,更需要学习的新的领域。相反,在实践中,我们技术人员在经过冗长的平台架构学习和实践后,就匆忙开始项目开发,这时是什么指导他们进行软件业务实现呢?大部分可能是依赖数据库建模,甚至是复杂冗长的数据库存储过程设...
阅读全文
摘要: 简介:领域模型是OO分析中最重要和经典的模型。它阐述了领域中的重要概念。本次将介绍有关领域模型的基本技术。领域模型:是对领域内的概念类或现实世界中对象的可视化表示[MO95,Fowler96]。领域模型也称为概念模型,领域对象模型和分析对象模型。UP对领域模型的定义是,可以在业务建模科目中创建的制品之一。更准确地讲,UP领域模型是UP业务对对象模型(BOM)的特化,“专用于解释业务领域...
阅读全文
摘要: 7.4 绘制Recorder模块的组合结构图Recorder模块的组合结构图的新增及绘制步骤如下:1. 回到模型浏览器,点选结构设计项目,执行【Add DiagramComposite Structure Diagram】来新增另一张Recorder模块的组合结构图。2. 请根据前小节的操作步骤,练习绘制出图7-28。3. 回到模型浏览器,点选sc_fifo_in_if接口项目,拖曳至Record...
阅读全文
摘要: 关 键 词:UML组件图 阅读提示:在以组件为基础的开发(CBD)中,组件图为架构师提供一个开始为解决方案建模的自然形式。组件图允许一个架构师验证系统的必需功能是由组件实现的,这样确保了最终系统将会被接受。图的目的组件图的主要目的是显示系统组件间的结构关系。在 UML 1.1 中,一个组件表现了实施项目,如文件和可运行的程序。不幸地,这与组件这个术语更为普遍的用法、指象COM组件这样的东西相冲突...
阅读全文
摘要: 状态图 状态图表示某个类所处的不同状态和该类的状态转换信息。每个类都有状态,但不是每个类都应该有一个状态图。只有当行为的改变和状态有关时才创建状态图。一般只描述在系统活动期间具有三个或更多潜在状态的类的状态图。 状态图的符号集包括5个基本元素:初始起点,它使用实心圆来绘制;状态之间的转换,它使用带箭头的线段来绘制;状态,它使用圆角矩形来绘制;判断点,它使用空心圆来绘制;一个或者多个终止点,它们...
阅读全文
摘要: Java与UML交互图前面我们主要讨论的是UML类图,下面我们要讨论的是另一种UML图——交互图(Interaction Diagram)。交互图描述的是一组对象之间的交互过程,或者说,这里我们实际上要回答这样一个问题:“方法调用过程在UML中怎样表示?”UML交互图本文将通过一个非常简单的交易系统来说明UML交互图。这个系统包含六个Java类。从前...
阅读全文
摘要: 除了序列图可以表达一群对象之间的交互外,UML还有另一款通信图(communication diagram)一样可以呈现一群对象交互的情况,所以这两款图也合称为交互图(interaction diagram)。由于,这两款图所蕴含的内容大致相同,所以多数的UML开发工具都有提供转换两图的功能,像是通信图7-28便是根据序列图7-26自动输出。图7-28 通信图(转自序列图7-26)比较两图的主要差...
阅读全文
摘要: 2008-04-07 作者:Webmaster 来源:Linux-cn.com一个"包图"可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。 包被描述成文件夹,可以应用在任何一种UML图上。 虽然包图并非是正式的UML图,但实际上他们是很有用处的, 创建一个包图是为了∶描述你的需求高阶概述。描述你的设计的高阶概述。在...
阅读全文
摘要: 对象图(Object Diagram) 是显示了一组对象和他们之间的关系。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个类图的特殊用例,实例和类可在其中显示。对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色)。对象图是类图的实例,几乎使用...
阅读全文
摘要: http://www.tzwhx.com/newOperate/html/1/14/141/7199.html活动图是活动视图的表示法(如图 7-1)。它包括一些方便的速记符号,这些符号实际上可以用于任何状态图,尽管活动图和状态图的混合表示法多数时候都很难看。活动状态表示成带有圆形边线的矩形,它含有活动的描述(普通的状态盒为直边圆角)。简单的完成转换用箭头表示。分支表示转换的监护条件或具有多标记出...
阅读全文
摘要: 一个UML部署图(对象治理组织2001)描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图。 部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件。 创建一个部署模型的目的包括∶ 探究系统投产的相关问题. 探究你的系统和生产环境中的其它系统的依靠关系,这些系统可能是已经存在,或是将要引入的。 描述一个商业应用主要的部署结构。 设计一个嵌入系统的硬...
阅读全文
摘要: 来自: IBM Rational Edge 现在是二月,而且到如今你或许已经读到、或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化。考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG 的 UML 1.4 规范,转移到 OMG 的已采纳 UML 2.0草案规范(又名 UML 2)。我不喜欢在一系列文章的中间,把重点...
阅读全文
摘要: 用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功...
阅读全文
摘要: UML类图有关联、聚合/组合、依赖、泛化(继承,实现)这样几种关系。事实上关联、聚合/组合这几种关系很容易搞混。比如图1.1在PowerDesigner中生成的代码都是一样的。图1.1而什么时候使用关联,聚合/组合呢?1、关联当Class_A与Class_B有一种关系时使用,比如父子关系。2、聚合/组合当Class_A与Class_B有包含关系,是has a的情况使用。具体看如果Class_A包含...
阅读全文
摘要: Welcome to the Xapian project website.欢迎来到Xapian项目的网站。Xapian is an Open Source Search Engine Library, released under the GPL. It's written in C++, with bindings to allow use from Perl, Python, PHP, Ja...
阅读全文
摘要: 子集合加总问题可以简化为:假设有一个整数集合[0,N],有一个负整数M,那么需要证明有一个集合x∩[0,N] == x的情况下,∑y (y 在x集合内) = |M|。也就是x的子集和,与M的绝对值相等。简单的算法,复杂度比较高。首先需要一个算法来提取[0,N]的子集。它的非空子集是2n-1个。该算法的时间复杂度也就是O(2n)。因为算法的时候复杂度与N相关,所以该问题是一个NP问题,且...
阅读全文
摘要: C#的一个简单函数。using System;using System.Collections.Generic;using System.Text;using System.Net.Sockets;namespace Cross3389 { class Program { static void Main(string[] args) { Console.ReadKey(); } }}汇编--- ...
阅读全文
摘要: 一、插入排序算法1、插入排序算法,利用List<int>特性测试小数据量排序。这个算法可以理解为打扑克牌,然后拿牌的时候进行排序。10万次运算,650ms左右执行完毕。下面是测试代码:[代码]把List初始化为list = new List<int>(intArray.Length);让它容量刚好是要插入数的个数,还可以节约50ms左右。这个是避免数组扩容的开销。2、交换排...
阅读全文
摘要: 一、Java的哈希算法public static int JavaHash(string key){int hashCode = 0;for (int i = 0; i < key.Length; i++){hashCode = 31 * hashCode + key[i];} return hashCode;}转换为数学公式h(m) = h-1 p + m (这里p = 31,h0 = 0...
阅读全文