第4章建立用例模型资料讲解

合集下载

软件工程之用例模型总结

软件工程之用例模型总结

软件工程之用例模型总结一、用例模型1.用例概念用例:使用系统时发现的功能性需求,不应过于复杂,简单的来说就是你希望系统能够有什么功能,能够增加系统的价值。

用例模型包括用例描述和用例图,我们主要把中心放在用例描述上。

用例模型包含参与者和场景,场景包括成功场景和失败场景。

因此用例模型中有多个场景;每个场景是一个用例。

用例必须注重为用户提供可观察的返回值,就是系统触发了一个用例之后能够给用户带来什么。

一般用例都是黑盒用例,即不考虑如何实现。

e Case Description每个用例都有一个描述。

怎样确定用例?(1)确定一个功能;(2)写一个用例;(1)主要参与者:调用系统服务完成目标的人。

(2)次要参与者:为系统提供服务的人。

(3)写出每个项目相关人员的理想需求,从中分析功能。

(4)PreCondition:执行到这个用例之前必须为真的情况,比如必须已成功登录或通过验证。

(5)PostCondition:成功执行完此用例后的情况,比如登录用例的后置条件是成功登录(不考虑其他失败情况)。

(6)main flow:将最理想的步骤列出。

一般main flow步骤如下:(1)参与者发生动作。

(2)系统验证。

(3)返回结果。

(7)extension flow:扩展步骤,通常格式为:(1)系统检测到**有问题;在main flow中的第一步扩展,则用1a,1b,1c;3.如何确保正确的用例EBP原则:一般用例都需要遵守这个规则,即确定主要用例。

用例中的主要用例是一些重复做但是有意义的事,比如收银员收钱,重复多次是有意义的,因为钱收得多了;但是像登录系统,这种做100次却没有意义的用例,不能被称为主要用例;(1)EBP(基本业务过程)原则的用例写入;(2)如果要写编辑A,删除A,添加A,可以合并成“管理A”;4.用例图每个用例描述都是一个用例,左边是主要参与者(希望系统为他提供服务)和次要参与者(提供给系统服务的人);在次要参与者中不能有数据库,因为在用户角度看是不知道系统有数据库的;关系:(1)泛化关系,在参与者和用例中都能泛化。

UML用例建模基本知识讲解

UML用例建模基本知识讲解

本节和大家一起学习一下UML用例建模的一些基本知识,主要包括基本文档,用例模型,用例规约和补充规约等内容,相信通过本节的学习你对UML用例建模一定会有所了解。

下面就让我们一起来看一下详细介绍吧。

UML用例建模基本知识基本文档:用例模型:记录功能性需求用例图:描述参与者和用例之间的关系用例规约:描述每一个用例的细节信息补充规约:记录一些全局性的功能需求、非功能性需求和设计约束等词汇表:记录一些系统需求相关的术语------------------------------用例模型:用例图比较简单,主要有参与者和用例组成;参与者之间可以有泛化(Generalization)关系用例之间有包含(include)、扩展(extend)和泛化(generalization)关系。

包含是子函数,扩展是备选流泛化比较少用,也是备选流;UML用例建模中用例规约:简要说明(BriefDescription)简要介绍该用例的作用和目的。

事件流(FlowofEvent)包括基本流和备选流,事件流应该表示出所有的场景。

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

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

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

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

UML用例建模的补充规约补充规约记录那些在用例模型中不易表述的系统需求,主要包括以下内容。

功能性功能性需求主要在用例模型中刻画,但是也有部分需求不适合在用例中表述。

有些功能性需求是全局性的,适用于所有的用例,如出错处理、I18N支持等,我们不需要在所有的用例中描述这些功能性需求,只需要在补充规约中统一描述就可以了。

第四章 用例建模

第四章 用例建模

第四章用例建模什么是需求?需求包括哪几个方面?需求:客户可接受的、系统必须满足的条件或具备的能力需求包括:功能性、使用性、可靠性、性能、可支持性五大方面。

2、什么是需求分析?需求分析有何重要意思?需求分析可以分为哪几个步骤?答:"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输“做什么”。

意义:需求分析是一个重要的一个阶段。

软件需求分析的质量对软件开发的影响是深远的、全局性的,质量需求对软件开发往往起到事半功倍的效果,所谓“磨刀不误砍柴功。

在后续阶段改正需求分析阶段产生的错误将付出高昂的代价需求分析大致可分为以下步骤:绘制关联图:绘制系统关联图是用于定义系统与系统外部实体间的界限和接口的简单模型。

同时它也明确了通过接口的信息流和物质流。

2)创建开发原型:创建用户接口原型。

当开发人员或用户不能确定需求时,开发一个用户接口原型,这样使得许多概念和可能发生的事更为直观明了。

用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题。

注意要找出需求文档与原型之间所有的冲突之处。

3)分析可行性:分析需求可行性。

在允许的成本、性能要求下,分析每项需求实施的可行性,明确与每项需求实现相联系的风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。

4)确定需求优先级:确定软件工程需求的优先级别。

应用分析方法来确定使用实例、产品特性或单项需求实现的优先级别。

以优先级为基础确定产品版本将包括哪些特性或哪类需求。

当允许需求变更时,在特定的版本中加入每一项变更,并在那个版本计划中作出需要的变更。

5)为需求建立模型:为需求建立模型。

需求的图形分析模型是软件需求规格说明极好的补充说明。

它们能提供不同的信息与关系以有助于找到不正确的、不一致的、遗漏的和冗余的需求。

这样的模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图。

6)编写数据字典:创建数据字典。

oolecture4

oolecture4

五.用例模型(Use-Case Model)⒈内容概述用例模型是以专门术语描述实际系统功能需求的原型。

在用例模型中,一个实际系统功能需求被表示为一个到多个系统行为(System Behavior)。

为便于描述系统行为的动态过程,在用例模型中还使用活动图(Activity Diagram)来描述系统内部状态的变化过程(还配套状态图和事件流图)。

激发一个系统行为的第一信息来源和目标被称为角色(Actor),而当系统行为发生后会对第一信息来源产生反应。

角色只能在系统边界以外,用例模型实际上表现了系统内外的作用与反作用的信息交流过程。

UML中的用例模型分别用表示实际系统功能和与其相关的环境的图形符号体系所构成。

角色是与系统信息交互的源点与终点。

用例是系统与角色交互的一个系统行为的总和,与其他系统行为不同的是用例要特别描述出与其相关的角色、作用约束、响应性能等重要的系统数据。

在用例模型中用带有简要文字说明的箭头将用例和角色连接到一起。

可视化建模语言UML由五类模型视图和九种图所组成。

⒉创建步骤转DEV475_02_Requirements.PDF文档,直到DEV475_05_Requirements.PDF讲后返回本文档。

⒊问题的陈述的结构陈述的主要内容·问题的范围;·分别陈述要求解的必须部分的问题内容和可选择部分的问题内容;·叙述应用的背景情况;要注意下述问题:–不要涉及系统内部的内容;–阐明系统应用背景的各种假设前提;–阐明系统应用的性能要求;⒋建立用例模型的步骤①内容与目的依据问题的陈述而描述出现实世界中的对象类极其相互间的关系。

②建立用例模型所需的必要信息材料·问题的陈述;·应用领域内的专业经验和知识;·对现实生活的广泛了解和多门类的经验;·多多的交流;③建立用例模型的步骤·标记对象与类;·制作数据字典;·标记对象间的关联关系和包容关系;·标记对象的属性和连接;·提取对象间的继承关系;·测试对象间的访问路径;·反复审核用例模型并归纳同类对象;·在模型中使用类组;上述步骤可由下图体现:⒌通过用例模型标记对象与类这一步由下述步骤组成:·从问题陈述中抽取名词;·生成静态系统交互图;·用静态系统交互图修改初始化表;·依据应用领域内的专业经验和知识可能提交扩展的问题陈述;·标记附加的对象;在本步的应用中应注意下面两点:⑴生成静态系统交互图(Context Diagrams)静态系统交互图(在UML中称为用例图)用来描绘系统的范围。

第4章__面向对象需求分析

第4章__面向对象需求分析

• 在确定事件轨迹后,所有事件可以汇总成输入对象的事件 集和从对象输出的事件集。事件流图就是用于标记所有流入和 流出某对象的事件。

例:打印机对象—行为模型示例。
• 状态转换图表示了打印机的状态转换。图中的每个箭头代 表了从对象的一个状态到另一个状态的转变,箭头上标记的是 触发转变的事件。有时需要增加保护条件来满足对象的变迁, 例如,上图中打印机在故障状态时,故障修复事件只有在打印 队列不破坏的情况下才能使打印机进入打印状态,否则即使修 复也只能进入就绪状态。
工人
1..*
经理 管理
(1)关联
•限定关联 • 限定关联通常用在一对多或多对多的关联关系中,可以把 模型中的重数从一对多变成一对一,或从多对多简化成多对一。 在类图中把限定词放在关联关系末端的一个小方框内。 • 例如,某操作系统中一个目录下有许多文件,一个文件仅 属于一个目录,在一个目录内文件名确定了惟一一个文件。利 用限定词“文件名”表示了目录与文件之间的关系,可见,利 用限定词把一对多关系简化成了一对一关系。
(1)关联
•关联类 • 为了说明关联的性质可能需要一些附加信息。可以引入 一个关联类来记录这些信息。关联类也有属性、操作和其他 关联。
个人
0..*
授权
0..*
个人
授权 优先权 特权
用户和工作站的授权关联的关联类
3.对象-关系图
• (2)聚集
• 聚集也称为聚合,是关联的特例。聚集表示一类对象与 另一类对象之间的关系,是整体与部分的关系。
• 一.面向对象分析模型的组成结构 • 二.面向对象分析模型描述工具 • 三.面向对象分析的基本过程
• 四. 面向对象分析方法
• 五. 小结
一.面向对象分析模型的组成结构

05-建立用例模型模型实验

05-建立用例模型模型实验

1.实验环境及设备要求⑴每人需要有可接入Internet的计算机一台,并可登录网络化实验管理域跟踪系统。

⑵计算机安装有Microsoft Visio 2003。

2.实验目的⑴掌握用例模型的设计与创建方法。

⑵掌握如何使用Microsoft Visio 2003建立用例图模型。

3. 实验(设计)任务某汽车配件公司,向顾客供应汽车配件,顾客是汽车用户或是汽车修配厂,配件公司的货源来自各种不同的配件制造工厂或批发商。

顾客可以当时购买,也可以预先订货,公司负责托运。

汽车配件公司管理系统由销售、采购和会计三个系统组成。

系统的主要逻辑功能和基本目标如下:⑴顾客的订货要求有三种形式,一是邮寄订货单,二是打电话,三是直接到汽车配件公司营业部来办理。

⑵不管用哪种方式,都以一种标准的订货单格式输入到系统内。

⑶对每一张订货单必须首先加以验证,是否填写正确。

验证的内容包括汽车配件名称、规格、编号、顾客名称、地址、电话、开户银行、帐号等信息。

⑷如果正确无误才能给以处理。

⑸如果有错误、应当输出错误信息,通知业务人员加以纠正。

⑹按订货项目检索配件库存,确定是否能够满足顾客的要求。

⑺如果当前的库存量能够完全满足顾客的要求,销售子系统开出发货单给顾客提货,并记入应收款明细帐以备会计收款,同时记入,销售历史存档,还要修改该配件库存量。

⑻如果这项配件的当前库存量不能全部满足顾客的订货要求,只能暂时提供一部分,那么对这部分配件办理销售业务(同第7条);同时还要把暂时不能满足的部分记录到暂存订货单文件中,通知采购子系统向供应商订货。

⑼如果这项配件现在一件也没有,就要把这张订货单记录到暂存订货单文件中,并通知采购子系统向供应商订货。

⑽采购子系统根据要求,按订货配件汇总,再按供应商汇总,分别填写向供应商的订货单,一式两联。

第一联寄给供应商,第二联保存,以便到货后核对。

⑾当收到来自供应商的发货单(即配件已经到货)以后,采购子系统要根据订货单核对验收。

第4章 建立用例模型

第4章 建立用例模型
第四章 建立用例模型
学习内容

用例模型概述 系统用例模型 业务用例模型 用例描述文档规范
用例模型概述

用例的模型元素 用例图建模分析步骤 寻找用例的方法
用例模型概述



用例模型:主要用来描述系统和系统外部环境 的关系,直接影响着其他模型。 用例:是一组系统使用场景的集合,每个场景 又是由一些事件序列构成,发起这个事件的用 户就是系统使用的参与者。 用例图:是系统的高层描述,角色和用例,在 实现阶段则变成了对象和接口这样的底层描述。
系统用例模型

(4) 右击展开导航树上的“需求定义“节点,在弹出菜单中 选择”新建框图“,再在”新建框图“菜单下选择”用例图“ 。则在该包上增加了一个节点,一个名称以”usecasediagram“ 开头的节点,它代表这个用例图全局属性,可在属性选项卡中 修改该节点名称为“会议管理系统用例图”。
用例模型概述
1. 用例的模型元素

用例的表示:用例的表示符号为一个椭圆,下面是用例的名称 (也可以放在椭圆中间)。
取款 取款 图 4.3用例的表示法
用例模型概述
1. 用例的模型元素

(4) 关系:关系反应了参与者和用例之间,用例和用例之间
以及参与者和参与者之间的相互作用,用例和参与者之间是关 联关系,一般角色为用例的启动者,用单向关联,否则为双向 关联。 用例之间的关系有三种: 包含、扩展、泛化
系统用例模型
2.会议管理系统用例图模型元素识别结果
(4)系统:经过前面分析,未来系统将要实现 的需求特征包含:编辑会议申请、编辑会议 纪要、获取会议通知、分配会议室资源、发 送会议通知,这些元素属于系统内,其余在 系统外,属于系统环境 。

第4章 面向对象系统分析与对象类建模 2

第4章 面向对象系统分析与对象类建模 2

⑶ 类的操作
其语法如下: [方向]名称:类型[ = 默认值] [direction] name:type [= default value] 方向可以取下述值之一: in输入参数,不能对它进行修改。 out输出参数,为了向调用者传送信息可以对它进 行修改。 inout输入参数,为了向调用者传送信息可以对它 进行修改。
第4章 面向对象系统分 析与对象类建模
教学目的
⑴ 掌握面向对象系统分析的过程 ⑵ 掌握系统用例模型的设计方法
⑶ 了解类和对象的概念、类与对象的关系等
⑷ 重点掌握系统用例模型的设计和对象与类图 的设计
4.1 面向对象系统分析
面向对象分析,就是抽取和整理用户需求并 建立问题域精确模型的过程。 面向对象分析过程从分析陈述用户需求的文 件开始 可能由用户(包括出资开发该软件的业主代 表及最终用户)单方面写出需求陈述,也可 能由系统分析员配合用户,共同写出需求陈 述 当软件项目采用招标方式确定开发单位时,
关联可以有方向,即导航。 一般不作说明的时候,导航是双向的,不需要在线上标出箭头。 大部分情况下导航是单向的,可以加一个箭头表示。 导航性描述的是一个对象通过链(关联的实例)进行导航访问另 一个对象,即对一个关联端点设置导航属性意味着本端的对象可 以被另一端的对象访问。 可以在关联关系上加箭头表示导航方向。 只在一个方向上可以导航的关联称为单向关联,用一条带箭头的 实线来表示。 在两个方向上都可以导航的关联称为双向关联,用一条没有箭头 的实线来表示。
关联的多重性是指有多少对象可以参与该关联,多重性可 以用来表达一个取值范围、特定值、无限定的范围或一组 离散值。 将多重性写成一个表示取值范围的表达式,其最大值和最 小值可以相同,用两个圆点把它们分开。 多重性说明对于关联另一端的类的每个对象,本端的类可 能有多少个对象出现,对象的数目必须是在给定的范围内。 可以精确地表示多重性为:一个(1);多个(0..*);一 个或多个(1..*);整数范围,

软件项目管理案例教程(第4版)-第4章

软件项目管理案例教程(第4版)-第4章

4.2.4 需求文档
需求文档作用
使用对象
需求文档的作用
软件项目客户 了解软件项目能够提供的软件产品,检查软件需求是否满足需要
项目管理人员 根据需求文档制定项目的开发计划和软件过程,初步预测资源的使用
软件开发人员 理解要开发的产品及具体要开发的内容 软件测试人员 验证软件系统是否满足了预期的要求 软件维护人员 使用需求文档帮助理解软件系统内在的逻辑关系
需求验证的内容:
(1)有效性检查
对于每项需求,首先必须证明它是正确有效的,确实能解决用户面对的问题。
(2)一致性检查
在需求文档中,需求不应该冲突,即对同一系统功能不应出现不同的描述或相互矛盾的约束。 当两条需求不能同时满足时,则定义二者是不一致的。 采用形式化的需求规格说明可以用软件工具验证需求的一致性。
自动化
实现级->设计级->功能级->需求级
4.1.4 需求工程
需求工程目标:
通过对问题及其环境的理解建立分析模型,在完全理解用户需求的基础上用SRS表达用户需 求
建立分析模型:它包含问题及其环境所涉及的信息流、处理功能、用户界面、行为模型及 设计约束
编写SRS:按照软件组织定义的SRS大纲,采用某种需求描述语言来完成
这家人承诺:杯子做好后会有高额的酬谢。
爱斯基摩人不断摇头,决定一分钱也不付给你。
4.1.1 软件需求概念
客户不知道自己要什么
客户:塑料杯、木头杯、还是橡胶杯,我也不知道!
客户知道自己要什么,但表达不清
客户提要求:使用时要能适应北极的环境。
我们经常会对客户的要求产生错误的理解
我们的理解:他一定要一个结实的杯子!
潜在缺陷

面向对象分析与设计课件第4章 用例建模

面向对象分析与设计课件第4章 用例建模
用例图的作用主要有获取功能需求、设计测试用例和指导整个软件开发过程 中的其它工作流等三方面的作用。
4.1 用例图的基本概念
用例图的基本构成元素主要包括:参与者(Actor)、用例(Use Case)两 种基本元素,同时还包括参与者与用例之间的关联、参与者之间的泛化,以及用 例之间的包含、扩充和泛化等关系。另外,系统边界也是用例模型的一种模型元 素。在需要强调系统范围或子系统结构时,可在用例图中使用系统边界。
第4章 用例建模
在基于用例的面向对象分析方法中,用例模型通常被视为目标系统的需求模 型。
作为用例模型的组成部分,用例图主要用来定义系统的功能需求,画用例图 的过程实质就是分析系统的功能需求的过程。用例图主要描述参与者与用例之间 的连接关系。参与者可以是人,也可以是外部计算机系统和外部进程。事实上, 用例图仅仅从参与者使用系统的角度描述系统中的信息,即站在外部观察系统应 具有的功能,它并不描述这些功能在系统内部得具体实现。
4.2.3 参与者之间的泛化关系
在参与者中,如果一个参与者拥有另一个参与者的所有行 为,那么就说这两个从参与者之间具有泛化关系。定义参与者 之间泛化的实质是把某些参与者的共同行为抽取出来表示成通 用行为,且把这些参与者描述成为抽象参与者。
在参与者之间的泛化关系中,一个参与者的行为可以被其 它多个的参与者所共享。抽象参与者充当了一个多个参与者所 具有的公共行为的这样的一个角色。这样,当定义一个具体的 参与者时,只需定义这个参与者所特有的那部分行为,它所具 有的公共行为仅从抽象参与者中继承就可以了。
对于一个具有较大规模的系统来说,一般会有多种不 同的外部实体与之进行多种不同形式和不同内容的交互。 例如对于电子商务系统来说,与这个系统有交互活动的实 体就可能包括顾客、商家、管理人员、支付机构和物流公 司等多种参与者与系统进行各种不同形式和内容的交互。

UML第4课数据建模

UML第4课数据建模
6. 创建表(table)。如果有必要,也可以创建视图,视图是类的 <<View>>版型。
7. 创建列(column)。在表中创建每一列,包括列名、列的属性等。
8. 创建关系(relationship)。如果表与表之间存在关系,则创建它们 之间的关系。
9. 在必要的情况下对数据模型进行规范化,如从第二范式转变为 第三范式。
第4章 数据建模
3
4.1 基本概念
数据库数据的总体逻辑结构称为模式(Schemas)。
关系数据库数据的总体逻辑结构是关系模式,这些数据结构的关 系模式通过各种表来描述。
一个面向对象的系统,要利用关系数据库来表示对象模型 需要进行一定的转换,即把面向对象模式的数据模型转换 成关系模式的数据模型。其思想可以用如图所示的建模方 法表示。
对象类间的一对一关联。
可以在两个对象类转换成的关系模式中的任意一个模式内加 入一个外键,指向另一个模式的主键,即可建立两个表之间 的连接。
对象类间的一对多关联。
可以通过在具有多个对象的类的关系模式中加入一个外键, 指向另一模式的主键建立两个表的连接。
实现对象类间的多对多关联。
需要将类之间的关联也设计成一个类——关联类,把一个多 对多的关联转化成两个一对多的关联。引入的该关联类映射 为关系数据库中的一个关联表,用来映射关联对象。在新增 的关联表中设置一个标识符作为主键,加入两个外键分别指 向初始关联的两个关系模式表的主键。
16
4.3 数据库设计的步骤
结合Rose 2003工具提供的功能来说明如何用UML的类图进 行数据库设计,在Rose 2003中数据库设计的步骤如下:
1. 创建数据库对象。这里所说的数据库对象是指Rose中构件图中 的一个构件,其版型为Database。

软件工程课件之第4章用例和用例图

软件工程课件之第4章用例和用例图

4.2.3 泛化关系
借阅者
.9 泛化关系
4.2.4 分组关系
在一些用例图中,用例的数目可能很多,这时就需要把 这些用例组织起来。这种情况在一个系统包含很多子系 统时就会出现。另一种可能就是,当你按顺序和用户会 谈,收集系统需求时,每个需求必须用一个单独的用例 来表达,这时就需要某种方式来对这些需求进行分类。
4.1.1 参与者
例如,在“图书管理系统”中,可以认为“读者”是 “学生读者”和“教师读者”的泛化,而“学生读者” 还可以具体化为“本科生读者”和“研究生读者”;同 样,“图书管理员”也是“采购员”、“ 编目员”及 “借阅人员”的泛化。图4.3表示出了参与者之间的泛 化关系。
4.1.1 参与者
“<<extend>>”是扩展关系的构造型,箭头指向基本用例。
4.2.2 扩展关系
借阅者
<<include>>
还书
<<extend>>
查询图书 交罚款
图4.8 扩展关系
区别与联系:
联系:都是从现有的用例中抽取出公共的那部分信息
,作为一个单独的用例,然后通过不同的方法来重用这 个公共的用例,以减少模型维护的工作量。
因此,在“图书管理系统”中“借阅者”和“系统管理 员”都是参与者。
4.1.1 参与者
【例4-1】客户给销售员发来传真订货, 销售员下班前 将当日订货单汇总输入系统。谁是系统的参与者?
分析:根据参与者的定义可知,此系统的参与者是销售 员。
4.1.1 参与者
【例4-2】在需求分析中常见的权限控制问题,一般的 用户只可以使用一些常规的操作,如查询等,而管理员 除了常规操作之外还需要进行一些系统管理工作,如一 些关键数据的增加、删除、修改等,操作员既可以进行 常规操作又可以进行一些配置操作。

用例建模

用例建模
–系统需要什么样的输入和输出 ? 输入来自 系统需要什么样的输入和输出? 系统需要什么样的输入和输出 哪里?输出去往哪里? 哪里?输出去往哪里? –该系统的当前状况还存在哪些问题? 该系统的当前状况还存在哪些问题? 该系统的当前状况还存在哪些问题 –改进的方向? 改进的方向? 改进的方向
27
功能:
25
识别用例
• 首先弄清楚系统的问题域、业务流程, 整理出系统的功能需求,在此基础上结 合已经识别出来的角色识别、抽象出系 统用例,定义并描述它。 • 针对角色
–某个角色要求系统为其提供什么功能 ; 该 某个角色要求系统为其提供什么功能; 某个角色要求系统为其提供什么功能 角色需要做哪些工作? 角色需要做哪些工作? –角色需要阅读 、 创建 、 销毁 、 更新或存储 角色需要阅读、 角色需要阅读 创建、 销毁、 系统中的某些( 信息码? 系统中的某些(类)信息码?
4
例:自动饮料售货机
签选选 填亭
供送
用例图中包含系 统角色和用例等 三种模型元素, 以及它们之间的 关系。
供送供
取送取 收收赛
5
用例描述
• 用例内容,即该用例所代表功能的具体 实现过程,通常用普通的文字书写,在 UML语言中用例内容被看作用例元素的 文档性质 • 另一描述用例内容的工具是活动图
6
29
用例之间的关系: 用例之间的关系:Extend
• 一个用例中加入一些新的动作后则构成了另一 个用例,这两个用例之间的关系就是通用化关 系,又称扩展关系。 • 后者通过继承前者的一些行为得来,前者通常 称为通用化用例,后者常称为扩展用例。 • 扩展用例只有在基本用例中的某种条件满足时 才能执行,如果没有基本用例的运行,扩展用 例不能运行 • 基本用例执行时,扩展用例不一定执行

uml用例建模

uml用例建模

2.1 识别参与者

参与者,Actor

关键词:边界 参与者:在系统之外,透过系统边界与系统 进行有意义交互的任何事物
-23-
参与者要点1

系统外

参与者代表在系统边界之外的真实事物,并 不是系统的成分 参与者透过系统边界直接与系统交互,参与 者的确定代表系统边界的确定

系统边界



有意义的交互 任何事物
实地观察 访谈
描述
直接观察个人工作的情况,以发现现存的实践方式和问 题 从个人处收集特定信息
特定群体 对一组人员进行调查,以便了解工作态度和共同看法 调查 问卷调查 收集详细数据和统计意义上比较重要的数据
用户指导 让最终用户告诉你,他们是如何操作系统的
原型制作 模拟一个无法直接测试的系统 统计版本 使用具有统计功能的应用程序来记录用户完成任务的方 式
-17-
基于用例的需求分析过程


1. 获取原始需求 2. 开发一个可以理解的需求


3 详细、完整地描述需求

2.1 识别参与者 2.2 识别用例 2.3 构建用例图 进行用例阐述

4 重构用例模型


5. 确定参与对象
4.1 识别用例间的关系 4.2 对用例进行组织和分包
-18-
基于用例的需求分析过程
-8-
内容安排


理解需求 需求,难在何处? 以用例为中心组织需求 基于用例的需求分析过程
-9-
需求:石头问题


我要一块石头… 差不多,但我要小一点的… 很好,不过我要蓝色的… 啊,没有那么小… 咳,还是原来那个好了…

第4章 用例图

第4章 用例图

Home
4.2.3 活动者的确定
例: 教学管理系统中可能的用户: 教学管理人员、教师、学生、系统管理人员等。
4.3 Use Case
4.3.1 4.3.2 4.3.3
Home
Use Case概念 业务Use Case与系统Use Case Use Case图
4.3.1 Use Case概念
Use Case是对系统的用户需求(主要是功能需求)的描述, Use Case表达了系统的功能和所提供的服务。 Use Case描述活动者与系统交互中的对话。它可以用一系 列的步骤来描述,这些步骤构成一个“剧本”(Scenario)。 “剧本”的集合就是Use Case。全部的Use Case构成了对于 系统外部是可见的行为的描述。 Use Case只描述活动者和系统在交互过程中做些什么,并 不描述怎样做。 一个活动者可以运行多个Use Case,而一个Use Case可以有 多个活动者运行它。但是,也有的Use Case很难有与它明确 关联的活动者。
4.1 概述
所谓Use Case是指系统的外部事物(活动者)与系统的交互, 它表达了系统的功能,即系统所提供的服务。 具体地说,Use Case是关于系统的一组动作的说明 (Specification),这些动作对一个或多个活动者给出所需 要的结果(值)。 Use Case用于为待开发的系统建立功能需求模型。 Use Case图是Use Case模型的图形表示,能准确地表达活动 者与系统的交互情况和系统所提供的服务。 Use Case图是后续的系统分析与设计工作的依据,也是系 统测试的依据。 Use Case图对需求的描述规范化,较好地避免了表达的歧 义性,便于用户和开发人员理解系统的需求,取得共识。 Rational统一过程主张采用Use Case驱动的软件开发方式。

用例模型和用例

用例模型和用例

系统定义应当:基本功能明确;系统构架优良 (便于增加或修改系统的功能)。
©版权所有,未经准许不得以任何形式复制及传播
24
定义系统时的注意点
定义系统是用准确的语言对问题进行描述,其要 点如下:汇集最重要的概念(实体);使用客户熟 悉的术语、词汇和定义;对系统或业务模型中的 词汇给出准确说明(用于描述用例)。
©版权所有,未经准许不得以任何形式复制及传播
19
用例图中的模型元素(续2)
执行者的泛化
当几种执行者所
扮演的角色可以
被泛化时,可以
定义一个更抽象
客户
的角色。
©版权所有,未经准许不得以任何形式复制及传播
门市客户
20
电话客户
用例图中的模型元素(续3)
注释体和注释连接
文档属性:必要时,要对用例图中的各个成分进行 文字说明,称之为用例图的文档属性。文档属性用
例:10人年的项目,20-100个用例
用例对应一个具体的用户目标
©版权所有,未经准许不得以任何形式复制及传播
10
对用例模型关心的人员
客户:他关心如何使用系统的功能;充当模型中 的哪一个角色;如何调整模型可以更好地适应他 们的愿望。
开发人员:他需要理解系统的功能,以作为今后 工作的基础和依据;在系统集成测试期间,可以 使用这些用例测试系统。
16
《扩展》关系
类似与泛化关系,但添加了一些新规则
– 扩展用例可以在基用例之上添加新的行为, 但是基用例必须生命某些特定的“扩展点”
,并且扩展用例只能在这些扩展点上扩展新 的行为。
购买商品
固定顾客
《扩展》
扩展点: 付款信息 购物信息
©版权所有,未经准许不得以任何形式复制及传播
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第29页
2020/10/13
4.5 确定用例
维护人员:
(1) 查询自己的派工单及报告信息 (2) 接受并处理自己的派工单 (3) 填写报告
第30页
2020/10/13
4.5 确定用例
系统管理员:
(1) 管理用户 (2) 维护基础资料 (3) 维护系统
第31页
2020/10/13
4.5 确定用例
(2) 业务处理。包括客户服务人员新增、修改、删除客户咨询信息;维 护人员处理客户问题、填写维护报告;部门领导处理投诉,安排任务等。
(3) 统计查询。包括客户资料查询、客户来电咨询查询、经验库查询、 客户服务系统用户信息查询、回访任务及维护报告查询等。
明确以上信息后,分析系统的参与者。
第23页
(3) 关联 ( Association)
关联用于表示参与者和用例之间的对应关系, 它表示参与者使用了系统中的哪些服务(用 例),或者说系统所提供的服务(用例)是被 哪些参与者所使用的。
第19页
2020/10/13
4.3 用例在需求分析中的使用
以课程注册系统为例,
当参与者是学生时,
学生使用该系统可以
第5页
2020/10/13
4.1 需求获取
3.分析问题
(1) 明确需要获取的信息(What) 通常需求获取需要获取的信息包括三大类:
a. 与问题域相关的背景信息(如业务资料、组织结 构图和业务处理流程等);
b. 与要求解决的问题直接相关的信息; c. 用户对系统的特别期望与施加的任何约束信息。
(2) 客户服务业务处理模块。包括客户咨询服务处理,故障申报处理, 投诉处理,客户服务人员回访处理,维护人员上门处理,部门领导派 工处理。
(3) 信息查询统计模块。包括基础资料查询统计,客户咨询的查询与统 计,派工单完成情况,回访情况,维护报告查询统计以及相关报表的 查询。
第12页
2020/10/13
第27页
2020/10/13
4.5 确定用例
2. 解答问题
对于每一个参与者,相对应的用例如下:
第28页
2020/10/13
4.5 确定用例
客户服务人员:
(1) 登录系统 (2) 查询客户信息及咨询记录 (3) 查询经验库信息 (4) 查询基础资料信息 (5) 补充完善经验库信息 (6) 维护客户资料 (7) 维护来电记录
部门领导:
(1) 查询客户资料及咨询信息 (2) 查询项目及产品信息 (3) 查询维护人员派工单的执行情况 (4) 安排派工任务
第32页
2020/10/13
4.5 确定用例
3. 分析问题
确定用例主要是看各参与者需要系统提供什么 样的服务,或者说参与者是如何使用系统的, 用例命名往往采用动宾结构。参与者与用例连 起来读,往往是一条通顺的句子,例如:客户 服务人员(参与者)维护客户资料(用例)。
第4章 建立用例模型
4.1 需求获取 4.2 分析需求 4.3 用例在需求分析中的使用 4.4 识别参与者 4.5 确定用例 4.6 用例的粒度 4.7 用例间的关系 4.8 用例描述 4.9 用例建模 总结
第1页
2020/10/13
第4章 建立用例模型
需求分析就是分析软件用户的需求是什么。
第25页
2020/10/13
4.4 识别参与者
注意:
系统参与者一定是与系统有直接联系的事物,这里事物包括 人和其他系统。
在客户服务系统中,客户打电话给客户服务人员反馈问题, 客户服务通过系统对反馈的问题进行处理,在这个业务过程 中,客户并没有直接操作客户服务系统,就没有直接联系, 所以客户不是系统的参与者。
第7页
2020/10/13
4.1 需求获取
获取需求信息的渠道包括:
a. 用户或客户 b. 公司研发管理部门 c. 公司技术管理部门 d. 项目实施部门 e. 营销管理部门 f. 旧有系统的研发项目组 g. 来自项目组内
第8页
2020/10/13
4.1 需求获取
(3) 怎样获取需求(How) 需求获取技术包括但不限于:
2020/10/13
4.4 识别参与者
2. 解答问题
对于这个系统,通过需求陈述文档,可以得到以下一 些信息:
系统管理员维护系统用户帐号和产品项目信息。 客户服务人员维护客户资料、客户咨询以及经验库信息。 维护人员填写维护报告。 部门领导处理投诉。
所以创建以下参与者:系统管理员、客户服务人员、 维护人员、部门领导。
第21页
2020/10/13
4.3 用例在需求分析中的使用
与传统的功能分解方式相比,用例方法完全是从 外部来定义系统的功能,它把需求与设计完全分 离开来。
在面向对象的分析设计方法中,用例模型主要用 于表述系统的功能性需求,系统设计主要由对象 模型来记录描述。另外,用例定义了系统功能的 使用环境与上下文,每一个用例描述的是一个完 整的系统服务。用例方法比传统的SRS更易于被 用户所理解,它可以作为开发人员和用户之间针 对系统需求进行沟通的一个有效手段。
进行登录系统、注册
课程和查看报告的操
作。
学生
登录 注册课程
查看报告
第20页
2020/10/13
4.3 用例在需求分析中的使用
3. 分析问题
用例方法完全站在用户的角度上(从系统的外部)来描述系统 的功能。
在用例方法中,把被定义系统看作是一个黑箱,我们并不关心 系统内部是如何完成它所提供的功能的。
第6页
2020/10/13
4.1 需求获取
(2) 明确所获取信息的来源和渠道(Where) 需求信息的来源通常包括:
a. 来自客户的需求; b. 竞争对手的产品优势与不足; c. 国家政策、业务规则以及相关行业标准; d. 实施产品设计所需满足的需求; e. 执行测试验证工作所需满足的需求; f. 实施系统安装、维护所需满足的需求。
1. 问题引入
规划出了软件的功能模块,只是软件的功能框 架结构,下一步就需要明确描述每个模块的具 体内容。包含什么内容、能做什么操作,每一 个功能点的说明、业务规则、详细功能描述等 等。这些软件需求规格必须描述的内容需要有 个标准的表现方式。
第15页
2020/10/13
4.3 用例在需求分析中的使用
第33页
2020/10/13
4.5 确定用例
寻找用例可以从以下问题入手(针对每一个参与 者):
(1) 参与者为什么要使用该系统? (2) 参与者是否会在系统中创建、修改、删除、访问、
4.2 分析需求
3.分析问题
软件系统的需求分析可以由产品工程师或系统分析师 或两者分阶段合作完成全部的需求分析工作。其主要 任务是逐步细化所有的软件功能,找出系统各元素间 的联系、接口特性和设计上的限制,分析它们是否满 足需求,剔除不合理部分,增加需要部分。最后,综 合成系统的解决方案,给出待开发系统的详细逻辑模 型。其主要包括以下几个步骤:
用例方法首先描述了被定义系统有哪些外部使用者(抽象成为 Actor),这些使用者与被定义系统发生交互;针对每一参与者, 用例方法又描述了系统为这些参与者提供了什么样的服务(抽 象成为Use Case),或者说系统是如何被这些参与者使用的。
所以从用例图中,我们可以得到对于被定义系统的一个总体印 象。
第10页
2020/10/13
(4) 应能及时反馈有派工任务的消息给相关技 术工程师,并能保存其处理结果。
(5) 各部门领导应能对投诉的申请给予及时处 理,并能保存处理结果。
(6) 公司领导和部门领导应能及时查询客户的 来电内容,了解产品使用情况及客户服务人员 的售后服务质量等相关业务的综合统计信息。
第22页
2020/10/13
4.4 识别参与者
1. 问题引入
客户服务系统是对公司和客户进行统一管理的系统,根据客户服务 系统案例需求说明书,具体包括以下几个方面:
(1) 基础资料维护。包括系统管理员添加、删除、修改客户服务系统账 户信息,添加、修改、删除公司产品及项目信息;客户服务人员添加、 修改、删除客户资料信息,添加、修改、删除经验库信息等。
以上需求信息需要进行详细的分析、归纳。
第11页
2020/10/13
4.2 分析需求
2.解答问题
经过分析,为满足上述需求的客户服务系统应包括以下几个模块:
(1) 基础资料维护模块。包括客户基础资料录入修改,客户服务系统用 户信息的添加、删除和修改,软件产品的基础资料维护,已上线项目 的基础资料维护以及FAQ经验库的数据维护。
整个软件需求工程研究领域划分为需求开 发和需求管理两部分。
需求工程
需求管理
需求开发
第3页
问题获取
分析
编写规格说明
验证
2020/10/13
4.1 需求获取
2.解答问题
在需求获取过程中,主要需要弄清楚3个问题, 即:
明确需要获取的信息(What) 明确所获取信息的来源和渠道(Where) 怎样获取需求(How)。
第17页
2020/10/13
4.3 用例在需求分析中的使用
(2) 用例 (Use Case)
用例用于表示系统所提供的服务,它 定义了系统是如何被参与者所使用的, 它描述的是参与者为了使用系统所提 供的某一完整功能而与系统之间发生 的一段对话。
第18页
2020/10/13
4.3 用例在需求分析中的使用
a. 用户访谈 b. 用户调查 c. 现场观摩用户的工作流程,观察用户的实际操作 d. 从行业标准、规范中提取需求 e. 文档挖掘 f. 需求讨论会 g. 原型法
第9页
2020/10/13
4.2 分析需求
1.问题引入
通过需求获取,总结出客户服务系统主要功能需 求包括以下几个方面:1) 提取出核心、主要、急迫的业务,明晰业 务流程
相关文档
最新文档