uml活动图的概念与作用

  categories:资料  tags:,   author:

uml是程序员需要掌握一个重要工具,特别在研究hadoop(http://www.iigrowing.cn/hadoop)系统中,有很多相关的uml图形需要绘制,为了方便大家了解uml,在网络上找了些uml方面的文章(http://www.iigrowing.cn/?s=uml)在参考资料中,在uml参考资料中缺少活动图方面的介绍,因此特地在网络上寻找了一些资料,然后整理成一篇文章,供大家参考,水平有限疏漏难免,请谅解.

一.UML概述

以下内容对uml进行简单介绍,读者有兴趣可以阅读,建议读者可以阅读其他uml等文章,最后有时间在了解这个部分内容。这样可以先去实践一些uml,然后在回到这里的一些简单的理论介绍,收获会大些。

UML 全称Unified Modeling Language 又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。

UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

(1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。

(2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:

第一类是用例图,

从用户角度描述系统功能,并指出各功能的操作者。

第二类是静态图 (Static diagram),

包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。

对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

第三类是行为图(Behavior diagram),

描述系统的动态模型和组成对象间的交互关系。行为图包括:状态图、活动图、顺序图和协作图。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。 而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。 顺序图展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。 协作图展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。 顺序图和协作图都是交互图,顺序图和协作图可以相互转换。

第四类是交互图(Interactive diagram),

描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

第五类是实现图 … 阅读全文

虚拟商品在线交易系统UML分析与设计文档

  categories:资料  tags:  author:

本小组项目任务是开发一个虚拟商品在线交易系统。卖家需要一个全新的在线交易系统,用于向网络买家提供一个集在线购买和在线下载功能于一身的网络交易平台,销售的物品主要是正版软件和网络游戏充值卡等非实体的虚拟商品。本系统需要支持和集成支付宝公司的“虚拟商品交易服务”接口,并通过该接口收取买家费用,在交易完成后返回到本系统界面下给买家下载软件安装程序、软件激活码或充值卡密码等。

系统允许卖家在系统后台对商品进行维护,卖家可以在后台管理系统中对所销售的软件产品和充值卡商品进行修改、添加和删除,并可以查询所有买家信息。

系统允许买家在注册后对个人信息进行修改和维护,并查阅自己的购买记录;对于没有注册的临时买家,也可以直接购买,在交易完成后把其信息记录到数据库,但不会为临时买家注册系统ID。

系统允许买家在交易完成后通过网页界面在线下载软件安装程序,但需要做到防盗链,即防止软件的下载地址被公开或盗用,此项主要针对不需要激活码激活的软件产品。而对于软件激活码或充值卡密码,除了在交易完成后会在页面上显示外,也会自动E-MAIL一份到买家的电子邮箱里去。

同时,服务器使用Linux系统,安装有Apache、PHP和MySQL,需要把销售情况记录到MySQL数据库中,以便业务人员查询销售情况和进行管理。

系统需要对每周和每月销售的情况进行统计,并列印成报表,同时允许在线生成Excel及PDF格式文件以便保存。

2 需求分析

2.1 用例图

虚拟商品在线交易系统的用例图如图2-1所示,包括:用户登陆系统、商品展示系统、购物车、结算付款、支付宝服务接口、用户及定单管理系统、商品管理。

wps_clip_image-15689

图2-1. 虚拟商品交易系统用例图

2.2 术语表

User:用户、顾客;

Shop Administrator:网上商店管理员、商家;

Products:商品、虚拟商品、非实体的商品;

Shopping Cart:购物车;

Payment:结算付款;

Alipay.com Server:支付宝服务器、与我方制作支付宝收款接口相连;

Order:在线定单。

2.3 活动图

2.3.1结算付款系统活动图

如图2-2所示,对应的用例规约请见表2.4-1:

wps_clip_image-5185

图2-2. 结算付款系统活动图

2.4 用例规约

2.4.1用例规约Login

表2.4-1. 用例规约Login

主要参与者

用户及网上商店管理员

前置条件

输入正确的用户名、密码… 阅读全文

货物管理系统uml模型

  categories:资料  tags:  author:

货物管理系统

一、 需求分析

1.1系统开发的目的:

随着计算机技术特别是网络技术的飞速发展,计算机的应用领域不断扩大,各行各业都离不开计算机,货物管理也不例外,使之能跟上时代的发展。本需求分析报告的目的是规范化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了货物管理系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大范围的应用。

1.2应用范围:

理论上能够实现于超市、仓库等部门的货物管理系统,其目的在于实现超市、仓库等部门的货物更有效的管理,使超市、仓库货物能够更方便、更有效率的完成日常工作,以期实现完善日常生活中货物管理的各种功能。

1.3系统功能需求

系统主要包括以下几个页面:

(1)管理员登录页面

(2)管理员添加删除货物页面

(3)货物标题信息页面

(4)货物信息查询页面

(5)货物信息显示页面

二、 用例图

用例图如图2-1所示

主要参与者:管理员、销售员

主要用例:登录、货物信息、标题信息、查询货物信息

wps_clip_image-14004

图2-1货物管理用例图

三、 类图

类图如图2-2所示

主要类:管理员、货物、标题、销售员、销售信息

wps_clip_image-29568

图2-2货物管理类图

四、 活动图

活动图如图2-3所示

wps_clip_image-3909

图2-3货物管理活动图

五、 顺序图

顺序图如图2-4所示

销售员通过发送一个通知货物消息通知管理员已经没有货物或者货物已经售出,管理员接受这个消息,进行增加和删除货物信息,然后对货物进行更新,更新完返回给销售员,告诉他已经更新完成

wps_clip_image-10604

图2-4货物管理顺序图

六、 协作图

顺序图如图2-5所示

销售员通过发送一个通知货物消息通知管理员已经没有货物或者货物已经售出,管理员接受这个消息,进行增加和删除货物信息,然后对货物进行更新,更新完返回给销售员,告诉他已经更新完成

wps_clip_image-9922

图2-5货物管理协作图

七、 … 阅读全文

UML 序列图

  categories:资料  tags:  author:

来自: IBM Rational Edge

wps_clip_image-7979[3][1]

现在是二月,而且到如今你或许已经读到、或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化。考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG 的 UML 1.4 规范,转移到 OMG 的已采纳 UML 2.0草案规范(又名 UML 2)。我不喜欢在一系列文章的中间,把重点从 1.4 变为 2.0 ,但是 UML 2.0 草案规范是前进的重要一步,我感觉需要扩充文字。

由于一些理由,OMG 改良了 UML 。主要的理由是,他们希望 UML 模型能够表达模型驱动架构(MDA),这意味着 UML 必须支持更多的模型驱动的符号。同时, UML 1.x 符号集合有时难以适用于较大的应用程序。此外,为了要使图变成更容易阅读,需要改良符号元件。(举例来说,UML 1.x … 阅读全文

UML协作图编写规范

  categories:资料  tags:  author:

一、协作图简述

协作图是一种交互图(interaction diagram),强调的是发送和接收消息的对对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。使用协作图来说明系统的动态情况。

协作图(Collaboration Diagram)显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的交互图。使用协作图可以显示对象角色之间的关系,如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果需要强调时间和序列,最好选择序列图;如果需要强调上下文相关,最好选择协作图。

协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计员使用协作图和序列图确定并阐明对象的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。

与序列图不同,协作图显示了对象之间的关系。序列图和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。

协作图的格式决定了它们更适合在分析活动中使用(请参见活动:用例分析)。它们特别适合用来描述少量对象之间的简单交互。随着对象和消息数量的增多,理解 协作图将越来越困难。此外,协作图很难显示补充的说明性信息,例如时间、判定点或其他非结构化的信息,而在序列图中这些信息可以方便地添加到注释中。

协作图强调参与一个交互对象的组织,它由以下基本元素组成:活动者(Actor)、对象(Object)、连接(Link)和消息(Message)。在UML中,使用实线标记两个对象之间的连接,

协作图中的消息,由标记在连接上方的带有标记的箭头表示。协作图包含类元角色和关联角色,而不仅仅是类元和关联。类元角色和关联角色描述了对象的配置和当 一个协作的实例执行时可能出现的连接。当协作被实例化时,对象受限于类元角色,连接受限于关联角色。关联角色也可以被各种不同的临时连接所担当,例如过程 参量或局部过程变量。连接符号可以使用构造型表示临时连接(《parameter》或《local》)或调用同一个对象(《self》)。虽然整个系统中 可能有其他的对象,但只有涉及到协作的对象才会被表示出来。换而言之,协作图只对相互之间具有交互作用的对象和对象间的关联建模,而忽略了其他对象和关 联。

二、协作图的内容

协作图中可以有对象和主角实例,以及描述它们之间关系和交互的连接和消息。通过说明对象间如何通过互相发送消息来实现通信,协作图描述了参与对象中发生的情况。您可以为用例事件流的每一个变化形式制作一个协作图。如图2-1

wps_clip_image-4832[3][1]

图 2-1

描述回收机系统的接收储存项用例中部分事件流的协作图。

在协作图中,您可以按照以下方式使用对象:

1.可以不指定对象的类。通常先制作只带有对象的协作图,而后再指定它们的类。

2.可以给对象命名,但如果您要区分同一个类的不同对象,则应给对象命名。

3.如果对象的类主动参与了协作,则可以将类本身在协作图中表现出来。

三、协作图使用

协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系。另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺序。协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。

协作图具有以下用途:

1)、通过描绘对象之间消息的移动情况来反映具体的方案。

2)、显示对象及其交互关系的空间组织结构,而非交互的顺序。

3.1、创建协作图

3.1.1生成协作图

1)、启动 IDE(如果需要)。

2)、在“项目”窗口中,展开 “UMLTutorialProject” >“模型”节点。

3)、选择以下类节点:

u ATM

u … 阅读全文

UML实践案例

  categories:资料  tags:  author:

1 分析模型简介

Rose分析模型(Analysis Model)推进用例的实现,在子系统划分上,它一方面以系统用例模型、业务对象模型为参考,又把各个子系统公用的成分分离出来,形成需要的子系统。超市进销存系统的分析模型把身份验证的功能独立出来,形成身份验证子系统,结构如图9所示。

wps_clip_image-1874[3][1]

图9描述了超市进销存系统分析模型结构

Rose的系统分析模型把逻辑对象模型向实现推进了一步,它更多地接近逻辑对象模型。

1.分析模型基本概念

对于一个用例,一般可以通过三种类来实现:边界类(Boundary Classes)、实体类(Entity classes)和控制类(Control classes)。

为了把用例和用例实现区分开来,Rose引入新的图素“用例实现”。用例通过“用例实现”来完成相应用例的功能。用例实现就是UML的协作(Cooperation),意思是通过对象(或类)的协作完成用例的实现。

分析模型涉及边界类、控制类、实体类和用例实现(Use-case realizations)等基本图素,如图10所示,它们都是类的变体。

wps_clip_image-640[3][1]

图10 分析模型基本图素

Rose分析模型涉及下列图素:

(1)分析模型的基本类

一个用例一般通过三种类协同实现其功能:边界类、控制类、实体类。这些类又叫分析类变体(Analysis class stereotypes)。

图11销售管理子系统分析模型类图。它通过这三种类协同实现“处理销售”用例。

图11和图8(销售管理业务对象模型类图)作比较,可以看出这两种图之间的关系。

wps_clip_image-18344[3][1]

图11销售管理子系统分析类图

1)边界类

边界类位于系统和外界角色的交界处,边界类实现业务角色、业务员工与用例的交互,它可以是窗体、报表、与打印机、扫描仪、磁卡等硬件的接口。

图11所示的销售管理子系统的边界类是销售管理窗体。通过它售货员输入购物数量,通过它把商品条形码转变成商品标识等等。

边界类可以从用例中去寻找,每个“角色—用例”之间至少有一个边界类,有可能和别的“角色—用例”共用。

应用不同,边界类可以是软件接口或其他。边界类接收角色的交互信息,有时它还承担交互信息的转换任务,边界类是类的变体。

2)实体类(Entity classes)

实体类负责存储、加工信息,是对用户最有意义的类,通常用业务领域的术语命名。一般利用数据库对这种实体类建立相应表格。实体类是业务实体的计算机描述。

图11所示的销售管理子系统的实体类是销售表和商品档案表。销售表用于存储、加工销售清单,销售清单就是图8销售管理的业务实体。商品档案表用于存储、加工商品。商品也是图8销售管理的业务实体。

3)控制类(Control classes)

控制类协调边界类和实体类的工作。每个用例通常有一个控制类控制用例中的动作顺序。控制类也称管理类,一般控制类在用例之间是共用的。用例向控制类委托责任。控制类本身不完成任何服务功能,被控制的类并不向控制类发送许多信息,而是由控制类发出许多信息。

图11销售管理子系统分析类图中的商品信息控制。

角色通过边界类、控制类和实体类共同实现相应用例的功能。

(2)用例实现(Use-case realizations)… 阅读全文

UML序列图编写规范

  categories:资料  tags:  author:

一、序列图简介

序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。很象类图,开发者一般认为序列图只对他们有意义。然而,一个组织的业务人员会发现,序列图显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的序列图能被当作一个需求文件使用,为实现一个未来系统传递需求。在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的序列图。

组织的技术人员能发现,序列图在记录一个未来系统的行为应该如何表现中,非常有用。在设计阶段,架构师和开发者能使用图,挖掘出系统对象间的交互,这样充实整个系统设计。

序列图的主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。序列图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互。当把这个系统移交给另一个人或组织时,这个文档很有用。

二、序列图元素

2.1  框架

在 UML 2中,框架元件用于作为许多其他的图元件的一个基础,但是大多数人第一次接触框架元件的情况,是作为图的图形化边界。当为图提供图形化边界时,一个框架元件为图的标签提供一致的位置。在 UML 图中框架元件是可选择的;就如你能在图 1 和 2 中见到的,图的标签被放在左上角,在我将调用框架的“namebox”中,一种卷角长方形,而且实际的 UML 图在较大的封闭长方形内部定义。

wps_clip_image-32493_thumb[1]

图 1: 空的 UML 2 框架元件

2.2 图类型

UML 规范给图类型提供特定的文本值。(举例来说,sd代表序列图,activity代表活动图,use case代表用例图)。

2.3 生命线
画一个序列图的时候,放置生命线符号元件,横跨图的顶部。生命线表示序列中,建模的角色或对象实例。 1 生命线画作一个方格,一条虚线从上而下,通过底部边界的中心(图 3)。生命线名字放置在方格里。

wps_clip_image-6077_thumb[1]

图 3: 用于一个实体名为freshman的生命线的Student类的一个例子

2.4 消息… 阅读全文

WORDPRESS SEO 中文基础教程

  categories:wordpress  tags:  author:

声明:本教程作者为秦.剑(www.pcliver.cn),请尊重作者劳动成果,转载注明此声明以及出处。

SEO是一门技术,一门简单的技术,但是如果想要成为一名SEO高手却并不是一件容易的事情,SEO高手跟菜鸟的区别在于经验,而经验主要来源于日常实践。实践是唯一最能真实地触摸到SEO的一种方法,写这本书的的时候,我依旧是一名菜鸟,但我也跟各位看本书的朋友一样,之所以“厚颜无耻”的写这本书并不是觉得自己技术有多牛B,而是对自己第一学习阶段的总结,同时希望自己的一些心得经验能对一些新手有帮助。

WordPress的结构天生就很适合SEO,我一直用到现在很是迷恋,我的实践证明通过Wordpress打造上万IP./日的网站不是不可能的,寒假的时候通过优化QQ2009这个关键词一个月不到的时间获得上万IP./日,但是后来卖掉了,在百度调整算法之后这个关键词的网站排名基本都消失了。

因为时间关系本书并没有写得很详细的,请见谅。本教材主要针对Wordpress单关键词优化,不敢保证全部内容符合各类Wordpress站使用(尤其是个人博客),另外本书内容均为个人原创,内容如有雷同不奇怪,如有错误请批评指出。

最后希望看完本书觉得对你有用,请给我的博客www.pcliver.cn贡献一条反向链接,正文亦可,或者表明出处:Wordpress基础教材http://www.pcliver.cn/wordpress-seo 。

 

 

 

 

第一章 SEO基础知识简明教程

 

 

1、什么是SEO

SEO是Search Engine Optimization的缩写,中文意思为搜索引擎优化.

SEO主要任务是优化关键词排名,通过研究和了解搜索引擎的特性去优化网站从而提高排名。SEO分为白帽SEO和黑帽SEO,两者的目标都是使关键词获得好的排名,与白帽SEO不同的是,黑帽SEO只注重关键词排名,通过违背搜索引擎规定或搜索引擎漏洞去获得排名,黑帽SEO的排名是不稳定的,只要被搜索引擎发现那么被黑帽SEO手法处理的网站就会被遭受惩罚。广义的SEO还包括的工作有用户体验的优化。

想要获得良好的排名,首先要研究搜索引擎的特性,然后通过掌握的SEO知识去指导建设网站,这里我推荐各位查看《百度给站长的建议》和《google站长帮助手册》。

2、如何获得良好的排名

如何获得良好的排名,我们可以回归到最根本的问题上去思考问题,我们从搜索引擎的角度出发,搜索引擎的功能是什么?没错,搜索引擎的功能就是为了让用户能够通过搜索关键词获得有用信息。那么怎样的信息才是搜索引擎对用户有用的呢?我把他归纳为:1、网站内部因素;2、网站外部因素;3、域名信任度,在下面我会一一进行介绍。

3、影响排名的内部因素

搜索出来的信息与用户输入的关键词相关,我简单的把它称为关键词相关度,相关度越高那么这类信息可能就越贴近用户想要的信息,搜索引擎就会认为网页内容是用户想要的,排名也就越高。有哪些因素影响关键词相关度呢?

在讲如何提高相关度之前,我想说明的是你的网页内容也就是你的文章一定要是高质量的,怎样才算是高质量,原创,原创的文章搜索引擎才会喜欢。而原创不是那么简单的前面添加100多行文字就算是原创,我在Google站长工具观察后的结果是,搜索引擎对比原创不是简单的对比Title或者前面几行文字,他是会对比全文的。很多时候原创对个人站长来说是不可能完成的任务,这个时候你就需要通过伪原创去提高你的文章价值,甚至可以通过伪原创创造超越,在第四章网站内容建设第二小节策划内容,把关键词融入网站的文章中我会为大家介绍一些伪原创的技巧。

下面我介绍一些提高关键词相关度的技巧:

1、 Title中要出现关键词,但是关键词最好控制在3个以内;

2、 Mete中,搜索引擎给keywords的权重已经很低了,简单填写就可以,注意要做到简单、不重复、不堆砌。既然知道keywords没什么太大效应了就不要太花心思在上面,不然适得其反。Description这个要写好,注意关键词重复,同时又要让句子看起来很顺眼,因为Description往往就是显示在搜索引擎结果的标题下的文字,吸引人的文字可以吸引更多的流量;

3、 <h1>标签中出现关键词,我喜欢wordpress结构,其中一点就是因为wordpress对<h1>、<h2>、<h3>标签进行了保留,而且结构很好,<h1>中出现关键词对排名有十分有效的作用;

4、 文章中适当出现关键词,关键词密度我不说控制在多少比较合适,一句话,让关键词融入文章,只要文章看起来很舒服很自然就可以,不用管关键词密度是大小;

5、 适当的导出链接,导出链接文字为关键词,导出链接导出到权威网站。这里指的权威网站有:sina、sohu、yahoo、QQ、baidu、google等。简单点说就是用关键词做超链接,超链接地址导出到权威站点,导出链接指向的网页要跟关键词有关,最好是对用户有用的,比如我的关键词是3gp转换器,我实在链接到哪里,那么你可以百度知道搜索3gp转换器,然后用这个地址作为导出链接,相信你现在也会认同这个链接是有意义的了吧!… 阅读全文



快乐成长 每天进步一点点