一.UML简介
UML(统一建模语言,Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支 持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。在系统分析阶段,我们一般用UML来画很多图,主要包括用例图、状态图、类图、活动 图、序列图、协作图、构建图、配置图等等,要画哪些图要根据具体情况而定。其实简单的理解,也是个人的理解,UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。
二.用例建模简介
用例建模是UML建模的一部分,它也是UML里最基础的部分。用例建模的最主要功能就是用来表达系统的功能性需求或行为。依我的理解用例建模可分为 用例图和用例描述。用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成,用画图的方法来完成。用例描述用来详细描述用例图中每个用例,用文本文档来完成。
1 用例图
参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。
用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是 UML对用例的正式定义,对我们初学者可能有点难懂。我们可以这样去理解,用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、 描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。
系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。系统边界在画图中用方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。因为系统边界的作用有时候不是很明显,所以我个人理解,在画图时可省略。
箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。
2 用例描述
用例图只是简单地用图描述了一下系统,但对于每个用例,我们还需要有详细的说明,这样就可以让别人对这个系统有一个更加详细的了解,这时我们就需要写用例描述。
对于用例描述的内容,一般没有硬性规定的格式,但一些必须或者重要的内容还是必须要写进用例描述里面的。用例描述一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、异常事件流、后置(事后)条件等等。下面说说各个部分的意思:
简要描述:对用例的角色、目的的简要描述;
前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件;
基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没有任何备选流和异常流,而只有最有可能发生的事件流;
其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们;
异常事件流:表示发生了某些非正常的事情所要执行的流程;
后置条件:用例一旦执行后系统所处的状态;
三. 用例图和用例描述设计实例
这里用我开发的一个家教网站来简单的分析用例图的画法和用例描述的写法。这个网站我用UML完整的分析一下,以下我提取了用例图和用例描述的部分。这个家教网站分为前台客户系统和后台管理系统。
前台客户系统的用例图如下:
后台管理系统用例图如下:
对于用例描述,篇幅有限,我在这里只列了后台管理系统中的网站公告发布这个用例的描述。如下:
用例名称:网站公告发布 |
用例标识号:202 |
参与者:负责人 |
简要说明:
负责人用来填写和修改家教网站首页的公告,公告最终显示在家教网站的首页上。 |
前置条件:
负责人已经登陆家教网站管理系统 |
基本事件流:
1.负责人鼠标点击“修改公告”按钮
2.系统出现一个文本框,显示着原来的公告内容
3.负责人可以在文本框上修改公告,也可以完全删除,重新写新的公告
4.负责人编辑完文本框,按“提交”按钮,首页公告就被修改
5.用例终止 |
其他事件流A1:
在按“提交”按钮之前,负责人随时可以按“返回”按钮,文本框的任何修改内容都不会影响网站首页的公告 |
异常事件流:
1.提示错误信息,负责人确认
2.返回到管理系统主页面 |
后置条件:
网站首页的公告信息被修改 |
注释:无 |
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
图2.3给出了一个扩展关系的例子,在还书的过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在图2.4中,订票是电话订票和网上订票的抽象。
泛化、包含和扩展
泛化(Generalization)在面向对象的技术中无处不在,它的另一个名字也许更为著名,就是“继承”。下图给出了一个使用泛化的用例图:
可知,在用例图中,角色和用例都能够泛化。角色的泛化/继承很容易理解,因为角色本来就是类(Class),它是一种版型(stereotype)为Actor的类,所以角色的继承直观而自然。但是用例的继承实际上分为两种情况,并不是简单的使用泛化,而是使用扩展(extended)和包含(include)两种泛化的特例。
扩展用于子用例的动作步骤基本上和父用例的动作步骤相同,只是增加了另外的一些步骤的情况下。包含用于子用例包含了所有父用例的动作,它将父用例作为了自己的一个大步骤,子用例常常包含一个以上的父用例。如下图:
分享到:
相关推荐
ATM用例图-用例规约-时序图.doc
用例模型由用例图构成,用例图描绘了系统应提供的服务以及参与这些服务的角色。用例模型不仅帮助开发者和客户达成共识,还为后续的系统设计、开发和测试提供了基础。 #### 构建用例模型的步骤 构建用例模型通常...
软件工程网上图书销售系统用例模型及用例图 软件工程网上图书销售系统用例模型及用例图是软件工程领域中一个重要的概念,涉及到用例模型和用例图的设计及实现。下面将对该系统的用例模型及用例图进行详细的解释。 ...
用例和用例图是软件开发过程中的重要工具,它们帮助开发者明确地理解系统的功能需求,从而更好地设计和实现系统。下面将详细解释用例、用例图的基本概念,以及如何绘制和分析用例图。 1. **用例(Use Case)**: -...
用例分析与用例图
UML用例和用例图的建立实验报告 UML(Unified Modeling Language,统一建模语言)是一种标准的建模语言,用于描述、设计和文档化软件系统。用例和用例图是UML中两种重要的模型元素。用例(Use Case)是系统的功能...
1. 用例图: 用例图是系统设计的重要组成部分,它以图形方式展示了系统中不同角色(如销售部、行政部、财务部、技术部和品管部)与系统之间的交互关系。以下是各部分的概览: 1.1 销售部用例图:展示销售部人员...
软件工程网上图书销售系统用例模型及用例图借鉴 软件工程中的用例模型和用例图是一种非常重要的需求分析技术,它们可以帮助开发者和客户之间进行更好地沟通,确保软件系统能够满足客户的需求。本文档主要介绍了一个...
4. 用例图法:使用用例图对测试对象进行测试,确保软件的功能正确。 测试用例的执行和评审 测试用例的执行和评审是软件测试的最后一步骤。在执行测试用例时,需要遵守以下几个步骤: 1. 准备测试环境:确保测试...
3. **用例模型**:用例图是一种可视化工具,展示不同用户(参与者)如何与系统交互,通常包括用例名称、前置条件、事件流和后置条件。 4. **维护个人基本信息**:客户可以登录后修改或查看个人信息,包括姓名、联系...
每个用例都通过用例图来直观呈现,以便于理解和实现。 总的来说,这份文档为开发社区团购App提供了全面的需求分析,涵盖了从用户注册、个人信息管理到购物、交易处理的各个环节,对软件工程专业的学生来说,是一个...
点名系统用例图描述了三个主要角色的交互,包括注册、登录系统、维护个人信息、选出学生名单、制定评分标准、记录成绩、查询成绩、修改成绩、统计平时成绩和打印报表等操作。其中,注册和登录是用户使用系统的基础,...
在本节中,我们将深入探讨两个核心用例:“借书还书系统”和“图书信息管理系统”,并分析其用例图、事件流、前置条件、后置条件等关键要素。 ##### 1. “借书还书系统”用例分析 - **主要行为者**:读者 - **前置...
"用例建模方法" ...关键词:用例建模方法、UML、软件开发、需求收集、用例图、类图、交互图、包图、活动图、状态图、基本构造块、事物、结构事物、行为事物、分组事物、注释事物、关系、图形notation、规则。
本文档是关于图书管理系统用例建模报告的内容,涵盖了用例图、类图、时序图等重要的UML建模元素。该报告的目的是对学校的图书馆管理系统进行需求分析,并使用UML对系统进行建模。 在用例图中,报告描述了读者和管理...
1. **用例图**: 用例图是UML(统一建模语言)的一部分,它描绘了系统参与者(Actors)与系统(System)之间的交互关系。在渔乐生活APP中,参与者包括管理员、注册用户和游客,他们分别与APP的不同功能进行互动。用...
实施计划部分,如顶层用例图和使用优团App的用例图,是用图形的方式展示整个系统的功能结构,帮助开发者直观地理解各个用例之间的关系。这些图表通常使用UML(统一建模语言)中的用例图来表示,展示了主要角色(如...
接着,具体的“使用优团app用例图”进一步细化了这些功能,使得每个用例都能与实际用户操作对应。例如,登录功能被分为验证码登录、密码登录和找回密码三个子用例,分别阐述了不同登录方式的流程,包括输入验证、...
在实施计划中,团队将根据用例图规划开发和测试的步骤,确保每个用例都能得到充分实现和验证。这样的文档对于软件开发团队来说,是指导开发、测试和项目管理的重要依据,有助于确保软件产品的质量和满足用户需求。 ...