数据库用例图
UML用例和用例图

h
18
主要内容
基本概念:Use case、Actor、
Scenario Use case间的关系 Use Case 分析技术 案例讲解
h
19
关系
• 参与者与用例之间
– 关联关系
• 用例与用例之间
– 包含关系 (include) – 扩展关系 (extend) – 泛化关系 (generalization)
• 主事件流: • 1、系统显示ID和密码窗口; • 2、顾客键入ID和密码,然后按OK键; • 3、系统验证顾客ID和密码,并显示个人信息窗口; • 4、顾客键入姓名、街道地址、城市、邮政编码、电话号码,然
后按OK键; • 5、系统验证用户是否为老顾客; • 6、系统显示可以卖的商品列表; • 7、顾客在准备购买的商品图片上单击,并在图片旁边输入要购
• 用例结束后的系统状态
• 其他需要描述的内容
用例描述原则:尽可能写的“充分”,而不是追求写的形 式化、完整或漂亮。
h
32
h
33
书写用例文档
——路径交互步骤的描述
只书写“可观测”的 使用主动语句 句子必须以执行者或系统作为主语 每一句都要朝目标迈进 分支和循环 不要涉及界面细节
h
34
书写用例文档
买的数量。选购商品完毕后按Done按钮; • 8、系统通过库存系统验证要购买的商品是否有足够库存; • …….(后续描述省略)
问题:对用户界面的描述过于详细,对于需求文档来说, 详细的用户描述对获取需求并无帮助。
h
45
改进后的描述
• Use Case:Buy Something • 参与者:Customer • 主事件流: • 1、顾客使用ID和密码进入系统; • 2、系统验证顾客身份; • 3、顾客提供姓名、地址、电话号码; • 4、系统验证顾客是否为老顾客; • 5、顾客选择要购买的商品和数量; • 6、系统通过库存系统验证要购买的商品是否有足
第03章 用例和用例图

5
用例的特点 ① 用例用于描述系统的功能,这个功能是外 部使用者看到的系统功能,不反映功能的实现 方式。
储蓄系统
开户 存款
√
√ √ √
取款
转帐
6
用例的特点
② 用例描述用户提出的一些可见需求,对应 一个具体的用户目标。
储蓄系统 √ √ √ 开户 存款 取款 转帐
√
×
数据上传
7
用例的特点 ③ 用例反映系统与用户的一次交互过程,应 该具有交互的信息的传递。
泛化关系代表一般与特殊的关系, 与继承类似.
在泛化关系中, 子用例继承了父用例的行为和含义, 子用例也可以增加新的行为和含义或覆盖父用例中 的行为和含义.
20
3.4.2 泛化关系
21
3.4.3 包含关系
包含关系是指一个用例(基本用例)的行为包含了另一 个用例(包含用例)的行为.
包含关系是依赖关系的版型, 但其含义更多.
3.6 用例的描述
用例阐述:写用例规约
用例规约:更进一步的精度
用例文档的核心,作为用例文档的总图 进一步的精度:有层次的文档 文档中每一句话都有其价值
用例图是骨架,而用例规约则是其内在的血肉
43
3.6 用例的描述
谁来写用例文档 ?
最完美:业务人员接受训练,写出优美的 用例文档 最现实:业务人员提供素材,开发人员写 用例文档 最糟糕:业务人员不管,完全由开发人员 杜撰
3
3.7 寻找用例的方法
3.8 用例的常见问题
15
3.3 脚本
脚本(scenario)在UML中指贯穿用例的一条单一路径, 用来显示用例中的某种特殊情况. 其它译名: 情景、场景、情节、剧本.
E-R图和用例图

E-R图和用例图图1E-R图目录E-R图概念E-R方法概念E-R模型历史构成E-R图的基本要素作E-R图的步骤作E-R图举例设计分E-R图的步骤展开编辑本段E-R图概念E-RE-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
编辑本段E-R方法概念E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。
它是描述现实世界概念结构模型的有效方法。
是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别于有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。
编辑本段E-R模型历史ER模型最早由Peter Chen于1976年提出,它在数据库设计领域得到了广泛的认同,但很少用作实际数据库管理系统的数据模型。
即使对SXL-92数据库来说,设计好的数据库也是具有挑战性的。
它们可以在许多关于数据库设计的文献中找到,比如Toby Teorsey 的著作(1994 )。
大部分数据库设计产品使用实体-联系模型(ER模型)帮助用户进行数据库设计。
ER数据库设计工具提供了一个“方框与箭头”的绘图工具,帮助用户建立ER 图来描绘数据。
实体联系模型,实体关系模型或实体联系模式图(ERD)是由美籍华裔计算机科学家陈品山(Peter Chen)发明,是概念数据模型的高层描述所使用的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。
这种数据模型典型的用在信息系统设计的第一阶段;比如它们在需求分析阶段用来描述信息需求和/或要存储在数据库中的信息的类型。
但是数据建模技术可以用来描述特定论域(就是感兴趣的区域)的任何本体(就是对使用的术语和它们的联系的概述和分类)。
UML05用例图模板

⑤ 绘制用例图。
34
5.5 发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。 ⑤ 绘制用例图。
●
⑥ 编制用例描述。
35
5.5 发现用例
发现用例的一般方法:
出纳员
吃饭
系统需要处理的,由系统生成
44
要点:业务语言而非技术语言
• 用户词汇,而不是技术词汇
– 如:发票,商品,洗衣机 – 而不是:记录,字段,COM,C++等
45
要点:用户观点而非系统观点
订票 旅客 查看今日航班
处理订票
旅客
显示今日航班
用户观点
系统观点
46
思考题:识别用例
• Email客户端(如:outlook express),A在 北京发邮件给上海的B,系统提醒B你有 “新邮件”,B收邮件。
用例描述
用例描述一般包括的内容:
用例的目标 用例是怎么启动的 参与者与用例之间的消息如何传送 用例中除了成功场景外, 其它场景是什么 用例结束后系统的状态 其它需要描述的内容
56
用例阐述文档
• 场景(scenario): 是参与者和被讨论 系统之间的一系列特定活动和交互。每个 用例是一组场景的集合,而每个场景又是 一个步骤序列。 • 用例阐述文档针对每个用例,描述各个场 景
38
5.5.2 获取用例
一旦获取了参与者,就可以对每个参与者提出问题以获取用例。 •执行者要求系统提供哪些功能(执行者需要做什么)? •执行者需要读、产生、删除、修改或存储的信息有哪些类型。 •必须提醒执行者的系统事件有哪些? 或者执行者必须提醒系统 的事件有哪些? 怎样把这些事件表示成用例中的功能? •为了完整地描述用例,还需要知道执行者的某些典型功能能否 被系统自动实现? 还有一些不针对具体参与者问题(即针对整个系统的问题): •系统需要何种输入输出? 输入从何处来? 输出到何处? •当前运行系统(也许是一些手工操作而不是计算机系统)的主要 问题?
05 用例视图

Remove Reservation
即可
不管是C、R、U、D,都是为了完成“管理”目标
甚至很多种的基本数据管理都可以用一个用例表示
管理员
管理用户
要点5:用例粒度
灵活处理CRUD
<<extend>>
管理员
管理用户
增加用户
可以把包含复杂交互的路径独立出去形成用例
用例与事件流
用例分析是处于系统的需求分析阶段,这 个阶段应该尽量的避免去考虑系统实现的 细节问题。也就是说,用例描述的是一个 系统做什么,而不是怎么做。
所有业务最终对会成为 CRUD? CRUD能为Actor提供价 值? CRUD掩盖业务,锐变成 关系数据库的建模:
增加用户
修改用户
管理员
“系统就是数据的增 删改查” 关心数据的存储和维 护,反而忽略了用户 的目的
查询用户
删除用户
要点5:用例粒度
如果确实是CRUD?
如果CRUD不涉及复杂的交互,一个用例“管理××”
Actor
题外话:小人与圣小猪
参与者虽然用人形图符表示,但参与者不 局限于表示人
如果我开发一个猪圈自动供食供水系统, 猪的前蹄触发一个开关系统就供食或供水。 显然,这里的Actor 是小猪。
Pig
Turn on the switch
题外话:小人与圣小猪
如果在use case 图里用小猪代替原来的小人?
实例—图书馆管理系统中的用例 视图
确定系统涉及的内容
书籍的借阅、读者的统一管理等
确定系统的参与者
2.设计模式常用的UML图分析(用例图、类图与时序图)

2.设计模式常⽤的UML图分析(⽤例图、类图与时序图)1-⽤例图概述1. 展现了⼀组⽤例、参与者以及他们之间的关系。
2. ⽤例图从⽤户⾓度描述系统的静态使⽤情况,⽤于建⽴需求模型。
⽤例特征保证⽤例能够正确捕捉功能性需求,判断⽤例是否准确的依据。
1. ⽤例是动宾短语2. ⽤例是相互独⽴的3. ⽤例是由⽤户参与者启动的4. ⽤例要有可观测的执⾏结果5. ⼀个⽤例是⼀个单元参与者 ActorUML中,参与者使⽤⼀个⼩⼈表⽰:1. 参与者为系统外部与系统直接交互的⼈或事务,于系统外部与系统发⽣交互作⽤2. 参与者是⾓⾊⽽不是具体的⼈3. 代表参与者在与系统打交道时所扮演的⾓⾊4. 系统实际运作中,⼀个实际⽤户可能对应系统的多个参与者。
不同⾓⾊也可以只对应⼀个参与者,从⽽代表同⼀参与者的不通实例⽤例 Use Case系统外部可见的⼀个系统功能单元。
系统的功能由系统单元所提供,并通过⼀系列系统单元与⼀个或多个参与者之间交换的消息所表达。
系统单元⽤椭圆表⽰,椭圆中的⽂字简述系统功能:关系 Relationship常见关系类型有关联、泛化、包含和扩展关联 Association表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
箭头指向:指向消息接收⽅:⼦系统 SubSystem⽤来展⽰系统的⼀部分功能(紧密联系)泛化 Inheritance继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。
⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。
⽗⽤例通常是抽象。
箭头指向:指向⽗⽤例2-类图描述系统中的类,以及各个类之间的关系的静态试图。
表⽰类、接⼝以及它们之间的协作关系,⽤于程序设计阶段。
注意:1. 抽象类或抽象⽅法⽤斜体表⽰2. 如果是接⼝,则在类名上⽅加 <<Interface>>3. 字段和⽅法返回值的数据类型⾮必需4. 静态类或静态⽅法加下划线类图实例:类图中的事务及解释如图,类图从上到下分为三部分,分别为类名、属性和操作1. 属性:如果有属性,则每⼀个属性都必须有⼀个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等2. 操作:如果有操作,则每⼀个操作也都有⼀个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等类图中的六种关系1.实现关系 implements (类实现接⼝)⽤空⼼三⾓虚线表⽰2.泛化关系 extends (表⽰⼀般与特殊的关系) is-a⽤空⼼三⾓实线表⽰3.组合关系 (整体与部分的关系) contains-a实⼼菱形实现表⽰eg.有头类、⾝体类与⼈类类三个类,则⼈类类中应包含头类及⾝体类这两个属性,则⼈类类与头类和⾝体的关系即为组合关系。
E-R图和用例图

E-R图和⽤例图E-R图和⽤例图图1E-R 图⽬录E-R 图概念E-R ⽅法概念E-R 模型历史构成E-R 图的基本要素作E-R 图的步骤作E-R 图举例设计分E-R图的步骤展开编辑本段E-R图概念E-RE-R图也称实体-联系图(Entity Relationship Diagram),提供了表⽰实体类型、属性和联系的⽅法,⽤来描述现实世界的概念模型。
编辑本段E-R⽅法概念E-R⽅法是“实体-联系⽅法”(Entity-Relationship Approach)的简称。
它是描述现实世界概念结构模型的有效⽅法。
是表⽰概念模型的⼀种⽅式,⽤矩形表⽰实体型,矩形框内写明实体名;⽤椭圆表⽰实体的属性,并⽤⽆向边将其与相应的实体型连接起来;⽤菱形表⽰实体型之间的联系,在菱形框内写明联系名,并⽤⽆向边分别于有关实体型连接起来,同时在⽆向边旁标上联系的类型(1:1,1:n或m:n)。
编辑本段E-R模型历史ER模型最早由Peter Chen于1976年提出,它在数据库设计领域得到了⼴泛的认同,但很少⽤作实际数据库管理系统的数据模型。
即使对SXL-92数据库来说,设计好的数据库也是具有挑战性的。
它们可以在许多关于数据库设计的⽂献中找到,⽐如Toby Teorsey 的著作(1994 )。
⼤部分数据库设计产品使⽤实体-联系模型(ER模型)帮助⽤户进⾏数据库设计。
ER数据库设计⼯具提供了⼀个“⽅框与箭头”的绘图⼯具,帮助⽤户建⽴ER 图来描绘数据。
实体联系模型,实体关系模型或实体联系模式图(ERD)是由美籍华裔计算机科学家陈品⼭(Peter Chen)发明,是概念数据模型的⾼层描述所使⽤的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。
这种数据模型典型的⽤在信息系统设计的第⼀阶段;⽐如它们在需求分析阶段⽤来描述信息需求和/或要存储在数据库中的信息的类型。
但是数据建模技术可以⽤来描述特定论域(就是感兴趣的区域)的任何本体(就是对使⽤的术语和它们的联系的概述和分类)。
用例和用例图

技巧 实地观察
访谈
描述
• 直接观察个人工作旳情况,以发觉现存旳实践方式和
问题
• 从个人处搜集特定信息
特定群体 调查
对一组人员进行调查,以便了解工作态度和共同看法
• 问卷调查 搜集详细数据和统计意义上比较主要旳数据
• • 顾客指 导
让最终顾客告诉你,他们是怎样操作系统旳
• 原型制作 模拟一种无法直接测试旳系统
人、外部系统、外部因素等
12
3.2.2 辨认参加者:参加者要点
• 参加者指在系统中所扮演旳角色。即在拟定参加者时,
应主要考虑他旳角色,而不是这个角色旳实例。
• 某些组织中可能有诸多营销人员,但他们均起着同
一种作用,扮演着相同旳角色。
• 一种顾客也能够扮演多…种角色:一种高级营销人员
既能够是贸易经理,也能够是一般旳营销人员。
小一点旳蓝色大理石
5
3.2.1 获取原始需求:如此脆弱
客户/顾客旳要 求/想法/期望
验收
分析和设计
没价值旳 软件需求
补文档
软件产品 编码和测试
软件设计
6
3.2.1 获取原始需求:也需要开发
客户/顾客旳要 求/想法/期望
软件产品
开发
验收
编码和测试
有价值旳 软件需求
分析和设计
软件设计
7
3.2.1 获取原始需求:技巧
第三章 用例和用例图
1
3.1 概述
• 用例图着重从系统外部执行者旳角度来描述系统需要提
供哪些功能,执行者能够是人或外部系统。
2
3.1 概述
用例图旳构成元素
• 图中旳元素涉及:参加者、用例、某些表达关系旳连接