动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 软件工程 ]的信息



本月文章推荐
.游戏引擎剖析(六).
.对.Net事件委托的深入分析.
.软件项目管理中的风险管理研究.
.基于Web的系统测试方法.
.ISO9000:2000 质量管理八大原则.
.开源目录2007:认识开源优势.
.统一建模语言UML轻松入门之用例.
.冷静面对SOA的中间件.
.软件开发质量管理层次模型(1).
.Apache中的挂钩剖析(1).
.质量管理的十三项步骤和八项原则.
.软件架构浅谈:问题域及其解决方.
.visitor模式概念——visitor模式.
.通过RUP用例进行需求管理的可追踪.
.CMM与质量管理.
.java模式之单例模式.
.需求管理详解.
.一步一步制作ARM-Linux交叉编译环.
.利用GDI+的双缓冲技术来提高绘图.
.用.Net Framework设计检查EMail程.

统一建模语言UML轻松入门之用例

发表日期:2008-3-23 |



  目前,在的内地版《神雕侠侣》中,杨过和小龙女有一份不为人知的默契与浪漫,那就是他们所绘制的并肩小人图。这样的小人图,是UML用例图的一部分,被称为参与者。

  2.1 用例与用例图

  用例是需求分析中最重要的概念,需求表征了一个系统的设计特性、特征和行为,描述一个系统的需求意味着描述了建立在该系统外部的事物与系统之间的契约,契约上声明了期望系统做什么。

  需求获取(Requirement Elicitation) 是需求工程的主体,其主要工作是建立待开发系统的模型,而用例就是用于建立这种模型的良好方法。用例最初由Ivar Jackboson博士提出,后被综合到UML规范之中,成为需求表述的标准化体系。前文已经提到,整个RUP流程都是"用例驱动"的,各种类型的开发活动包括项目治理、分析、设计、测试、实现等以用例为主要输入工件,用例模型奠定了整个系统软件开发的基础,用例被认作第二代面向对象技术的标志,可见其重要性非同一般。

  我们先来给出一个具体而简单的用例图,即"图书治理系统"用例图,如图2.1。在用例图中主要涉及到参与者(又称角色、执行者)、用例以及二者之间的通讯关联。

统一建模语言UML轻松入门之用例(图一)
图2.1 图书治理系统用例图

  参与者

  参与者是与系统、子系统或类发生交互的外部用户、进程或其他系统。参与者可以是人、另一个计算机系统或一些可运行的进程。在图2.1中,"读者"和"治理员"即为参与者。

  参与者之间可以存在泛化关系,例如,在图2.1所示图书馆治理系统用例图中,可以认为"读者"是"学生读者"和"教师读者"的泛化,而"学生读者"还可以具体化为"本科生读者"和"研究生读者";同样,"图书治理人员"也是"采购员"、"编目员"及"借阅人员"的泛化。图2.2表示出了参与者之间的泛化关系。

统一建模语言UML轻松入门之用例(图二)
图2.2 参与者泛化关系

  用例

  用例是外部可见的一个系统功能,这些功能由系统所提供,并通过与参与者之间消息的交换来表达。用例的用途是在不揭示系统内部构造的情况下定义行为序列,它把系统当作一个黑箱,表达整个系统对外部用户可见的行为。

  鉴于用例的特点,用例一般被命名为一个能够说明目标的动名词组。如图2.1中的"借书"、"还书"和"治理图书"皆为动名词组。

  用例之间也可以存在包含、扩展和泛化等关系:

  (1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。

  (2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:

  a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);

  b.表明只在特定条件(如例外条件)下才执行的分支流;

  c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。

  图2.3给出了一个扩展关系的例子,在还书的过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。

统一建模语言UML轻松入门之用例(图三)
图2.3用例扩展关系

  (3)泛化关系:用例可以被非凡列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在图2.4中,订票是电话订票和网上订票的抽象。

统一建模语言UML轻松入门之用例(图四)
图2.4用例泛化关系

QQread.com 推出各大专业服务器评测 Linux服务器的安全性能 SUN服务器 HP服务器 DELL服务器 IBM服务器 联想服务器 浪潮服务器 曙光服务器 同方服务器 华硕服务器 宝德服务器 通讯关联


  通讯关联用于表示参与者和用例之间的对应关系,它表示参与者使用了系统中的哪些用例(或者说系统所提供的用例被哪些参与者使用)。

  通讯关联以箭头或实线表示。若使用箭头,箭头所指方将是对话的被动接受者;假如不强调对话中的主动与被动关系,则可以使用不带箭头的关联实线。

  2.2建立用例模型

  知道了用例与用例图的概念,我们还需要懂得怎样建立用例模型,即怎样找出参与者、用例以及定义用例的过程。一般来说,建立用例模型的步骤为:

  (1)确定谁会直接使用该系统,即参与者(Actor),为了发现参与者,我们可以尝试问如下问题:

  a. 谁/什么使用系统?

  b. 谁/什么从系统获得信息?

  c. 谁/什么向系统提供信息?

  d. 谁/什么支持、维护系统?

  e. 哪些其它系统使用此系统?

  f. 公司的哪个部门使用系统?

  …

  (2)选取其中一个参与者;

  (3)定义该参与者希望系统做什么,参与者希望系统做的每件事成为一个用例,为了发现用例,我们可以尝试问如下问题:

  a. 为什么该参与者想要使用此系统?

  b. 该参与者是否要创建、保存、更改、移动或读取系统的数据?假如是,为什么?

  c. 该参与者是否要通知系统外部事件或变化?

  d. 该参与者是否需要知道系统内部的特定事件?

  …

  (4)对每件事来说,何时参与者会使用系统,通常会发生什么,这就是用例的基本过程;

  (5)描述该用例的基本过程;

  (6)考虑一些可变情况,把他们创建为扩展用例;

  (7)复审不同用例的描述,找出其中的相同点,抽出相同点作为共同的用例;

  (8)重复步骤2-7找出每一个用例。

  参与者检查的参考标准如下:

  (1)是否您已找到所有的参与者?也就是说,是否您已经对系统环境中的所有参与者都进行了说明和建模?

  (2)每个参与者是否至少涉及到一个用例?

  (3)您能否列出至少两名可以作为特定参与者的人员?

  (4)是否有参与者担任与系统相关的相似参与者?假如有,您应该将他们合并到一个参与者中。

  用例检查的参考标准如下:

  (1)用例模型的简介部分简明清楚地概述此系统的目的和功能;

  (2)所有的用例已确定,这些用例共同说明所有的必要行为;

  (3)所有的功能性需求都至少映射到一个用例;

  (4)该用例模型不包含多余的行为,所有的用例都可回溯到某个功能性需求来证实其合理性。

  用例图从总体上大致描述了系统所能提供的各种服务,让我们对于系统的功能有一个总体的熟悉,仅此还是不够的,我们还需要描述每一个用例的具体信息,即用例规约。用例模型正是由用例图和每一个用例的具体描述――用例规约所组成的。RUP中提供了用例规约的模板,包含以下内容:

  (1)简要说明 (Brief Description):简要介绍该用例的作用和目的;

  (2)事件流 (Flow of Event):包括基本流和备选流,事件流应该表示出所有的场景;

  (3)用例场景 (Use-Case Scenario) :包括成功场景和失败场景,场景主要是由基本流和备选流组合而成的;

  (4)非凡需求 (Special Requirement):描述与该用例相关的非功能性需求(包括性能、可靠性、可用性和可扩展性等)和设计约束(所使用的操作系统、开发工具等);

  (5)前置条件 (Pre-Condition):执行用例之前系统必须所处的状态;

  (6)后置条件 (Post-Condition):用例执行完毕后系统可能处于的一组状态。

  用例规约基本上是用文本方式来表述的,为了更加清楚地描述事件流,也可以选择使用状态图、活动图或序列图来辅助说明(状态图有助于描述与状态相关的系统行为,活动图有助于描述复杂的决策流程,序列图适合于描述基于时间顺序的消息传递)。另外,只要对简洁明了地表达用例有帮助,我们就可以在用例中任意粘贴用户界面、流程的图形化显示方式及其他图形。

上一篇:如何编写高质量“软件需求说明书” 人气:153
下一篇:统一建模语言UML轻松入门之类和对象 人气:195
浏览全部软件工程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-8 ECShop v2.6.0 Build 20080707(G
2008-7-8 动网论坛PHP版 v2.0++ Build 080
2008-7-8 中国IT总舵 v9.0 UTF版
2008-7-8 凹丫丫新闻发布系统 v4.6 Build
2008-7-8 topview数据查询 v3.0
2008-7-8 Z-Blog v1.8 Spirit Build 80708
2008-7-8 Z-Blog v1.8 Spirit Build 80708
2008-7-8 凹丫丫新闻发布系统 v4.6 Build
2008-7-8 新动软万能网站内容管理cms系统
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 GoodCalculator2.0版固件计算器
2008-7-5 RepoName源地址搜索工具 v1.21b
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 TouchCopy多媒体管理软件 v3.13完
2008-7-5 VideosTone视频铃声 v1.1汉化破解
2008-7-5 TouchPad触摸板 v4.44破解版
2008-7-5 VideosTone破解补丁 v1.0
2008-7-5 Feeds GoogleReader客户端 v0.4.3


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報