第4章_用例及用例图(同济大学软件工程硕士面向对象技术)
面向对象需求分析——用例图和活动图【优质】

面向对象需求分析——用例图和活动图面向对象软件开发的方法有:a,面向对象分析(OOA)b,面向对象设计(OOD)c,面向对象实现(00I)d,面向对象测试(OOT),e,面向对象维护(OOM)这几个主要大步骤。
下边我们就从面向对象的角度来学习UML的相关图。
这里介绍面向对象分析阶段的用例图和活动图。
面向对象分析阶段,我们要明确系统的职责,范围和边界;确定软件的功能和性能;构建需求模型(用例模型)。
首先在这里说一下,为什么将这两个图放在一起,主要原因就是活动图的一个目的是更细致的描述用例图,和文档的配合使用,使用例图更加清楚明了。
先介绍一下:用例图1,概念:用例是系统的一个功能单元,是对用户需求的描述。
2,组成:参与者,用例及其之间的关系(包括关联关系,泛化关系,包含关系,扩展关系):3,用例建模的步骤:a,确定系统的范围和边界;b,确定系统的用例和参与者;c,描述用例;d,对用例分类,并确定用例之间的关系;e,建立用例图,并定义用例图的层次结构;f,评审用例模型。
下边我们看个例子:这是一个教务管理系统的总用例图和一个子一级用例图,当然还可以再分:在上述6个步骤中,我简单总结一下:a,系统边界,就是一个系统内部所有元素与系统外部事物的分界线。
b,用例和参与者,需要我们根基实际情况去抽象。
c,描述用例,这个我重点写一下(举例,选课注册):用例编号:0101用例名称:选课注册执行者:学生功能:实现学生选课注册的过程类型:主要用例,基本用例级别:一级过程描述:1,学生输入系统账号和密码,系统进行验证;2,查询课程信息3,查询个人选课信息4,若可以选课,则进行选课注册,并将选课信息写入数据库中5,返回选课注册是否成功异常事件流处理:1,学生的账号和密码错误,允许重新输入(3次)2,学生未按时交纳学费,不可选课3,学生人数已达到上限,不可选课。
(当然在这里在把下边的活动图,添加进来即可)d,用例分类和确定之间的关系,有端点用例,基本用例,主要用例,辅助用例等,关系弄准确就可以。
用例和用例图ppt课件

精选课件
6
参与者间的关系
▪ 在用例图中,使用泛化关系 来描述多个参与者之间的公 共行为。
▪ 示例:
父参与者
子参与者
子参与者
▪ 子参与者继承父参与者的 行为和含义,并能增加自 己特有的行为和含义
▪ 子参与者可以出现在父参
与者能出现的任何位置上
精选课件
7
3.3 用例
定义:
对一组动作序列的描述,系统通过执行这一 组动作序列为参与者产生一个可观察的结果
使用扩展关系 ▪ 扩展用例总是在一个或多个扩展点处来扩展基本用例,或
处于特定条件下, 才扩展基本用例。
基本用例
扩展点 扩展点名称
<<extend>>
扩展用例
精选课件
21
扩展关系
使用情形
a.两个用例相似但不完全相同时 b.当要对多个额外情况逐一建模时,使用扩展关
系,用一个独立的用例替代每个额外的情况 c.如果用例涵盖了所有的情况变化,则该用例将
识别用例
用例识别
识别用例最好的方法就是从分析系统的参与者开 始,考虑每个参与者是如何使用系统的。
➢ 参与者要向系统请求什么功能?
➢ 每个参与者的特定任务是什么?
➢ 参与者需要读取、创建、撤消、修改、或存储 系统的某些信息吗?
➢ 是否任何一个参与者都要向系统通知有关突发 性的、外部的改变?或者必须通知参与者关于 系统中的发生的事件?
会变得十分复杂,应该考虑使用扩展关系
精选课件
22
例
项目经理
扩展关系
项目管理系统
<<extend>> ( 任务函数)
[ 选择任务选项]
管理任务
第四章 用例图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社

依赖关系
特性 作用 执行过程 对基用例的要求
include
extend
增强基用例的行为
增强基用例的行为
包含用例一定会执行
扩展用例可能被执行
在没有包含用例的情况下,在没有扩展用例的情况下, 基用例可以是也可以不是 基用例一定是良构的 良构的
表示法
箭头指向包含用例
是用例的重要服务对象,而次参与者处于一
种协作地位。
系统管理员
用例与参与者
在确定用例时可以通过参与者入手来寻找用例:
参与者的主要任务是什么? 参与者需要系统的什么信息? 参与者可以为系统提供什么信息? 系统需要通知参与者发生的变化和事件吗? 参与者需要通知系统发生的变化和事件吗?
用例的特征
用例的特征保证用例能够正确地捕捉功能性需求,同时也是判断用 例是否准确的依据。
不改变基用例的同时,根据需要自由地向用
例中添加行为。
检查实名信息
依赖关系——扩展
扩展用例的使用包括四个部分:
基用例:需要被扩展的用例,如图5-10中的“注册”用例。 扩展用例:提供所添加的行为序列的用例,如图5-10中的“检查实名信
息”用例。 扩展关系:使用虚线箭头表示,箭头指向基用例。 扩展点:基用例中的一个或多个位置,表示在该位置会根据某条件来决
一个父参与者的直接实例,这就要求属于抽象父
直接客户
电话客户
参与者的外部对象一定能够属于其子参与者之一。
网上客户
用例的概念 用例与参与者 用例的特征 用例的粒度
用例
用例的概念
用例是类元提供的一个内聚的的功能单元,表明系统与 一个或多个参与者之间信息交换的顺序,也表明了系统 执行的动作。
用例及用例图案例

用例及用例图-案例
3.7 业务用例图 3.8 案例
1
3.7 业务用例图
• 作用
– 帮助了解机构及其软件系统(或工作内容) – 帮助业务过程重建工程工作 – 帮助员工(小组内成员)充分了解业务及其角色
• 什么时候需要
– 对机构不熟悉 – 机构业务发生变更 – 机构中主要部分使用的软件需建立 – 机构中有些大型复杂工作流的文档不足
20
● ⑤ 绘制用例图。
21
● ⑥ 编制用例说明。
● 用例:客房预订 ●参与者:柜台工作人员 ●说明:
① 工作人员启动预订功能。 ② 根据预订需求查看客房空闲信息。 ③ 输入预订人信息。 ④ 安排客房。 ⑤ 预订成功。
22
● ⑥ 编制用例说明。
● 用例:预订变更 ●参与者:柜台工作人员 ●说明:
A2:有冲突。
⑧系统添加新课程,并提示添加成功。
⑨系统回到管理主界面,显示所有课程,用例结束。
14
● ⑦ 对异常流程确定单独用例。 ⑧ 优化用例图,解决用例之间的冲突和重复。
15
案例3:
宾馆客房业务管理用例分析
宾馆客房业务管理提供客房预订、预订变更、 客房入住、退房结帐、旅客信息查询几个方面的 功能。
第3章 用例和用例图
● 3.4 用例图 3.4.1 用例图的作用 3.4.2 用例图的形式
● 3.5 用例描述 ● 3.6 用例分析 ● 3.7 业务用例图
● —— 重要知识点
26
本章作业
(1) 什么叫用例? (2) 用例图在软件建模中的作用是什么? (3) 用例之间存在那几种关系? (4) 包含关系和扩展关系有什么区别? (5) 参与者可以是那几种形式? (6) 什么叫事件流,作用是什么?
第6章_交互图(同济大学软件工程硕士面向对象技术)

37
实例:图书馆借书处理的协作图 实例:
38
6.4 顺序图与协作图的异同
1 顺序图和协作图都属于交互图,用来描述对象 顺序图和协作图都属于交互图, 之间的动态关系。 之间的动态关系。 2 顺序图强调消息的时间顺序,协作图强调参 顺序图强调消息的时间顺序, 与交互的对象的组织关系。 与交互的对象的组织关系。 3 顺序图和协作图在语义上是等价的,两者可 顺序图和协作图在语义上是等价的, 以相互转换。 以相互转换。
36
3.建立协作图 . ① 从用例中识别交互过程; 从用例中识别交互过程 ② 识别参与交互过程的对象; 识别参与交互过程的对象 确定对象之间的链,以及链上的消息; ③ 确定对象之间的链,以及链上的消息 ④ 从引发交互的初始消息开始 将随后每个消息附在相应的链上 从引发交互的初始消息开始,将随后每个消息附在相应的链上 将随后每个消息附在相应的链上; 如果需要,可以给消息增加时间约束 以及前置条件和后置条件。 可以给消息增加时间约束,以及前置条件和后置条件 ⑤ 如果需要 可以给消息增加时间约束 以及前置条件和后置条件。
多对象
30
2. 协作图样式和元素 ① 主动对象 主动对象是有一方法可以自动启动执行。 主动对象是有一方法可以自动启动执行。 ② 多对象 表示同属于一个类的多个对象集合。 表示同属于一个类的多个对象集合。 ③ 链和消息 连接对象的线段,以及对象之间传输的信息。 连接对象的线段,以及对象之间传输的信息。
39
● 小结
第6章 交互图
6.1 概述 6.1.1 交互图的概念 6.1.2 交互图的类型 6.1.3 交互图的作用
● 6.2 顺序图 6.2.1 顺序图的概念
● 6.3 协作图 6.3.1 协作图的概念 6.3.2 协作图的样式和元素 6.3.3 建立协作图 .3.3
UML讲义4-用例图

4.5 用例图的Rose建模
RecordGrade
QueryGrade
Teacher
Student
ModifyGrade
一、创建用例图 右击“use case view” -new->use case diagram
第4章 用例图
(Use Case Diagram)
复习:软件的开发过程
„„ 展望未来,在各级领导的关心和支持下,在全校师生员 工及广大建设者的共同努力下,一座环境优美、功能齐 全的现代化大学新校区必将早日矗立在洛阳新区。建成 后的河南科技大学新校区将是一座园林式、生态型、数 字化的校园,一所“国内先进、省内居于前列,具有明 显特色的综合性大学”——河南科技大学必将为续写河 洛文明,实现中原崛起做出更大的贡献!
4.2
参与者
一、参与者的概念(actor,执行者,活动者)
参与者是指在系统之外,但与系统直接交互的对象。
成绩单
图书
二、参与者的符号 参与者用人形符号表示 在人形符号下面标出参与者的角色名(不是人名)
三、参与者的类型 •人员 •信息系统 •设备
1、参与者的类型:人员
据英国《每日邮报》20日 报道,英国东部约克郡赫 尔市的多部ATM机18日出 现“储户取一赠一”的故 障。当地居民得知“好消 息”后,立即叫来亲朋好 友,迅速将ATM机内的钱 取空。
河南科技大学新区规划图
施工图纸
正在施工
在进行软件开发时,首先要做的就是了解需求。
园林式 生态型 数字化
建设要求
规划图
施工图纸
正在施工
需求分析
系统分析
软件工程用例图

第5页/共27页
用例图的构成要素
2. 参与者间的关系
• 由于参与者实质上也是类,所以它拥有与类相同的关系描述,即参与者与参与者之间主 要是泛化关系(或称为“继承”关系)。
第18页/共27页
使用Rose创建用例的步骤说明
2. 识别参与者
• 对于一个学校来说,最重要的就是教育学生成才,所以我们首先要考虑到的参与者就是 学生。
• 要给学生上课,必然就需要教师。教师负责教育学生、并且在日常管理中可以查询学生 的基本信息、查询学生的考试成绩。
• 作为一个学校,除了教师和学生,还有不可或缺的就是校领导。为了便于校领导掌握学 校的基本情况,加强对学校的管理导.
改教学心得。 (3)系统管理员负责对网站页面的维护,审核不法课件和不法教学信息,批准用户注册。
第24页/共27页
练习题
(1)学生需要登录“远程网络教学系统”后才能正常使用该系统所有 功能。如果忘记密码,可以通过“找回密码”功能找回密码。登录 后学生可以浏览课件、查找课件、下载课件、观看教学视频,请画 出学生参与者的用例图。
第20页/共27页
使用Rose创建用例的步骤说明
• 教师参与用例录入 成绩、修改成绩、 保存成绩、查询成 绩、删除成绩和登 录。学生参与用例 登录和查询成绩。 因为修改成绩和录 入成绩的时候都要 保存成绩,所以将 保存成绩抽象出来 作为单独的一个用 例。用例录入成绩、 修改成绩和用例保 存成绩之间是包含 关系,用例找回密 码和用例登录之间 是扩展关系。
• 系统同时又是相对的,一个系统本身又可以是另一个更大系统的组成部分,因此,系统与系统之间需要使 用系统边界进行区分开来。我们把系统边界以外的同系统相关联的其他部分,称之为系统环境。
Java与UML面向对象程序设计(概述、用例图)ppt

参与者: 客户、数据库
简要描述: 客户给自己好友(在线好友和离线好友)发送消息。
前置条件: 客户已成功登录即时通信系统。
基本事件流: 1. 客户选择一个好友。 2. 系统激活主界面消息编辑文本框。 3. 客户在文本框中输入、编辑消息,然后单击“发送”按钮。 4. 如果好友不在线,发送消息给数据库,数据库保存该聊天记录;否则执行可选事件流。 5. 数据库返回聊天记录已保存通知。 6. 系统提示“对方在登录时会看到您发的消息”。 7. 用例终止。
用例间的扩展关系
建立用例模型
• 问题描述 • 确定参与者 • 确定用例 • 用例描述
即时通信系统的参与者
即时通信系统用例图
用例“注册帐号”的描述
用例名称: Register
参与者: 客户、数据库
简要描述: 客户在即时通信系统中注册。
前置条件: 客户端应用程序主界面已经启动。
基本事件流: 1. 客户点击“注册”按钮。 2. 系统弹出一个注册交互对话框。 3. 客户输入注册信息:昵称、密码等。 4. 客户按“提交”按钮,发送注册信息到数据库。 5. 数据库保存注册信息,并自动生成一个数字ID返回。 6. 客户端弹出对话框显示注册的ID,提示注册成功。 7. 用例终止。
“4+1”视图
统一过程RUP
一个定义良好且管理良好的过程是区别成功 项目和不成功项目之间的重要指标。“统 一过程”正是帮助我们解决在软件开发上 面临的困难的。
统一过程的特点
• “统一过程”是一种软件开发过程,是将用 户的需求转化为一个软件系统的一系列活 动的总称。然而,“统一过程”不仅仅是 一个过程。
• 核心支持工作流有配置和变更管理(Configuration & Change Management) 工作流、项目管理 (Project Management) 工作流和环境 Environment) 工作流
软件工程领域分析用例图和活动图PPT课件

• 通过UML中的活动图,可以帮助我们进行用户业务流程建模,帮助我们站 在用户的视角上进行业务分析。
• 在业务流程建模中,我们关注的是用户进行某项业务的执行步骤。
第41页/共75页
可行性研究 领域分析 需求分析
设计
编码
测试
交付
我们的进度,在这里
活动图(Activity Diagram)
• 1 什么是活动图 • 2 活动图的用途 • 3 活动图的组成元素 • 4 活动图的建模技术
第42页/共75页
1 什么是活动图
• 活动图是UML中描述系统动态行为的图之一,是描述系统或业务的一序列活动构成的控制流,它描述了系 统从一种活动转换到另一种活动的整个过程。
第43页/共75页
2 活动图的用途
• 活动图用于对系统的动态行为建模。 • 活动图常用来描述业务或软件系统的活动轨迹,描述了系统的活动控制流程。我们常用活动图对业务过程、
第9页/共75页
如何建立用例模型
建立系统用例模型的过程就是对系统进行功能需求分析的过 程。
定义 系统
确定执行 者和用例
描述执行者 和用例关系
确认 模型
●确定系 统范围; ●分析系 统功能。
●执行者通常是使 用系统功能的外部 用户或系统。 ●用例是一个子系 统或系统的一个独 立、完整功能。
各模型元素 之间有:关 联、使用、 扩展及泛化 等关系。
第34页/共75页
例:自动售货机
客户
买饮料 供货
供货人
取货款
收银员 自动售货系统
顾客 供货人 收银员
自动售货机系统
售货 <<扩展>> <<包含>>
供货 <<包含>>
《软件工程》第3章用例图及其应用

用例图的概念和作用
用例图是一种描述系统功能和用户行为的图形化工具。它帮助开发人员和利 益相关者理解系统的需求,并作为沟通和验证的工具。用例图能够直观地展 示系统功能,帮助识别系统的边界和行为。
用例图的基本元素
用例图包含参与者、用例和关系三个基本元素。参与者代表系统的外部角色, 用例代表系统的功能或服务,而关系则表示参与者和用例之间的交互和依赖 关系。
用例图的符号和表示方法
用例图使用参与者图标、椭圆形表示的用例以及连接线表示关系。参与者图标通常表示为人的图 标,用例图标则是一个椭圆形,并用文字描述用例的名称。
用例图在软件工程中的重要性
用例图在软件工程中起到了至关重要的作用。它不仅帮助开发人员了解系统 需求和功能,还能够引导需求分析和测试的工作,并作为可视化的沟通工具, 促进不同角色之间的合作交流。
结论
用例图作为软件工程中常用的建模工具,具有直观、易理解的特点。通过用例图,我们能够更好 地理解和沟通系统需求,提高系统开发的质量和效率。
用例图的绘制步骤
绘制用例图的步骤包括:确定系统的边界和参与者、识别系统的用例、绘制参与者和用例的图标、 添加关系和标注信息、进行审查和验证。
用例图的应用场景
用例图在软件工程中有广泛的应用场景,例如需求分析、系统设计、测试规 划等。通过用例图,开发人员和利益相关者能够共同理解系统功能和用户需 求,从而有效地进行软件开发。
软件工程用例图

用例图_用例描述
对于用例描述的内容,一般没有硬性规定的格式,但一些必 须或者重要的内容还是必须要写进用例描述里面的。用例描 述一般包括: 简要描述:对用例的角色、目的的简要描述; 前置条件:执行用例之前系统必须要处于的状态,或者要满 足的条件; 基本事件流:描述该用例的基本流程,指每个流程都“正常” 运作时所发生的事情,没有任何备选流和异常流,而只有最 有可能发生的事件流; 其他事件流:表示这个行为或流程是可选的或备选的,并不 是总要总要执行它们; 异常事件流:表示发生了某些非正常的事情所要执行的流程; 后置条件:用例一旦执行后系统所处的状态
用例图_基本模型
系统
用例
参与者
通信 关系
参与者
用例图_用例之间关系
扩展关系 向一个用例中添加一些动作后构成了另一个用例 (扩展用例)。 如:用例“召开电话会议”和“显示呼叫方身份”是基本用例“打电话”
的两个扩展用例在电话系统中,为用户提供的主要服务通过用例“打电话”来 表示。可选服务的示例包括: 能让第三方加入通话(召开电话会议)。 允许接收方看到呼叫方的身份(显示呼叫方身份)。 我们可以将这些可选服务所需的行为表示为基本用例“打电话”的扩展用例。 这是扩展关系的一种正确应用:由于“打电话”本身就具有意义,无需阅读扩 展用例的说明就可理解基本用例的主要目的,并且扩展用例具有可选字符。
用例: 可以被行为者感受到的、系统的一个完整的功能。 UML中定义:系统完成的一系列动作,动作的结 果能被特定的行为者感觉到。 特征: 用户可见的功能 被行为者启动,向行为者提供可识别的值 完整的 注:与脚本区别
实验4 面向对象的分析与设计——用例图

实验报告学班学姓级号名2016年1月11日批阅教师课程名称学号2014144141时间软件工程姓名秦川实验成绩实验日期实验名称实验4面向对象的分析与设计——用例图实验目的:1、熟悉UML用例图的功能和元素2、学会识别参与者和用例3、掌握用例图的绘制方法4、学会编写用例描述实验内容:任务一任务二分析图书管理系统的登录模块,且绘制用例图分析网上书店的业务需求,且绘制用例图实验原理:用例图主要在系统需求分析阶段和系统设计阶段使用。
在系统需求分析阶段,用例图用来获取系统的需求,理解系统应当如何工作;在系统设计阶段,用例图用来规定系统要实现的行为。
UML用例图的图标实验过程与结果:任务一:分析图书管理系统的登录模块,且绘制用例图1、分析用户登录模块的功能需求提供输入“用户名“和“密码“的文本框,验证用户身份的合法性。
2、识别参与者在用户登录模块中,根据工作内容和操作权限的不同,可细分为4类参与者:图书借阅员、图书管理员、系统管理员、图书借阅者。
图书借阅员必须先进行登录,然后才可以执行借出或归还图书的操作;图书管理员必须先进行登录,然后才可以执行编制书目、图书入库等操作;系统管理员必须先进行登录,然后才可以进行系统的维护操作;图书借阅者也必须先进行登录,然后才能查询图书借阅情况或查询图书馆藏书信息。
3、识别用例用户登录模块的主要功能是:输入“用户名“和“密码“,验证用户身份的合法性,故主要用例有两个:输入用户名和密码、验证用户身份。
4、绘制用例图操作步骤:1)运行MicrosoftOfficeVisio3)鼠标点击选择“UML用例”,展开UML用例图的图标4)用鼠标选拉图标进行绘图5、描述用例用例名称用例编号简要说明参与者当前状态使用频率前置条件后置条件基本操作流备选操作流验证用户所输入的“用户名“和“密码“是否有效图书管理员、系统管理员、图书借阅员、图书借阅者等待审查较高已输入有效的“用户名“和“密码“登录进入系统到“用户信息“数据表中检索是否存在相应的“用户名“和“密码“如果“用户名“和“密码“有误,显示提示信息。
软件工程课件之第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】在需求分析中常见的权限控制问题,一般的 用户只可以使用一些常规的操作,如查询等,而管理员 除了常规操作之外还需要进行一些系统管理工作,如一 些关键数据的增加、删除、修改等,操作员既可以进行 常规操作又可以进行一些配置操作。
面向对象中包括哪些UML图及每件图的作用

面向对象中包括哪些UML图及每件图的作用UML面向对象分析及其包括的图、建模步骤一、叙述基于UML的面向对象分析设计过程1)识别系统的用例和角首先对项目进行需求调研,依据项目的业务流程图和数据流程图以及项目中涉及的各级操作人员,通过分析,识别出系统中的所有用例和角色;接着分析系统中各角色和用例间的联系,再使用UML建模工具画出系统的用例图,同时,勾画系统的概念层模型,借助UML建模工具描述概念层类图和活动图。
2)进行系统分析,并抽象出类系统分析的任务是找出系统中所有需求并加以描述,同时建立特定领域模型。
建立域模型有助于开发人员考察用例,从中抽取出类,并描述类之间的关系。
3)设计系统和系统中的类及其行为设计阶段由结构设计和详细设计组成。
①结构设计是高层设计,其任务是定义包(子系统),包括包间的依赖关系和主要通信机制。
包有利于描述系统的逻辑组成部分以及各部分之间的依赖关系。
②详细设计就是要细化包的内容,清晰描述所有的类,同时使用UML的动态模型描述在特定环境下这些类的实例的行为。
二、面向对象中包括哪些UML图及每件图的作用UML图包括九种:用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。
1)用例图(UseCaseDiagram)它是UML中最简单也是最复杂的一种UML图。
说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。
说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。
用例图表示了角色和用例以及它们之间的关系。
2)类图(ClassDiagram)是最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。
通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。
3)对象图UML面向对象中对象图是类图的实例,几乎使用与类图完全相同的标识。
它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。
一个对象图是类图的一个实例。
第5讲2-用例及用例图

a 经过读卡机,储户插入ATM卡
b ATM系统从卡上读取银行ID、帐号、并验证帐号。 c 储户键入密码,系统检验密码。 d 储户按确认键,输入取款金额。 e ATM把帐号和取款金额传递给银行系统,取回帐户余额。 f ATM输出现金,并显示帐户余额。 d ATM统计事务到日志文件。
参加者
1. 参加者旳概念 参加者(actor)是外部需要与系统交互旳事物。
也被称为活动者。 2.参加者旳三种类型
①. 人:客户,读者,库管员 ②. 设备:计算机,磁盘,读卡机等 ③. 外部系统:上层系统等
参加者旳表达
参加者能够表达为下面三种形式。
参加者之间旳关系
参加者之间能够有泛化关系。
用例之间旳关系(1)
用例之间能够具有下列几种关系:
➢ 泛化关系 ➢ 包括关系 ➢ 扩展关系
参加者与用例之间旳关系
关联关系 参加者与用例之间是关联关系,表达参加者与用
例之间具有使用,交互信息旳关联。
用例之间旳关系(3)
泛化关系 参加者与参加者之间,用例与用例之间存在一般与 特殊旳关系。
用例之间旳关系(4)
包括关系 两个用例之间,一种用例(基本用例)旳行为包括了 另外一种用例(包括用例)旳行为。 包括关系用依赖关系旳<<include>>构造型来表 达。
某学校网上选课系统旳用例分析(1)
管理员经过系统管理界面进入系统,建立本学期 要开设旳多种课程,将课程信息保存到数据库中, 并能够对课程进行改动和删除。 学生经过客户机浏览器进入系统,选择课程:能够 查询课程,选择课程,支付课程费用。
某学校网上选课系统旳用例分析(2)
●找出系统外部参加者,拟定系统边界和范围。
4-用例图1

15
识别参与者
客户给销售员发来传真订货, 客户给销售员发来传真订货, 销售员下班前将当 日订货单汇总输入系统。 日订货单汇总输入系统。 谁是系统的Actor Actor? 谁是系统的Actor? 答案: 答案: 销售员
16
识别参与者
寻呼台系统。用户如果预定了天气预报, 寻呼台系统。用户如果预定了天气预报, 系统每天定时给他发天气消息; 系统每天定时给他发天气消息;如果当天气 温高于35 35度 还要提醒用户注意防暑。 温高于35度,还要提醒用户注意防暑。 这个叙述里,谁是寻呼台系统的Actor? 这个叙述里,谁是寻呼台系统的Actor? 用户?气温?时间? 用户?气温?时间? 答案:用户,气温,时间都是Actor 答案:用户,气温,时间都是Actor
25
注意事项
根据需求分析作出用例后,并不是一切就万事大吉 了,还需要对用例的正确性进行分析。错误的或描述 不清的用例可能会导致错误的需求分析,并把我们的 设计实现工作带入歧路。 ①用例应该描述系统做什么,但不应该描述系统是 如何被实现的。只描述交互,而不是内在的系统活动, 黑盒子 ②应该从参与者如何使用系统的角度出发定义用例, 而不是从系统自身的角度。系统的存在是因为参与者 有一些需要使用它来满足的目标。比如旅客订票和查 看今日航班,不能描述为处理订票和显示今日航班
28
注意事项 最后,评价用例的划分是否适当的一 个方法是计算用例的数量。识别用例一 方面要从系统的功能需要中抽象出用例, 同时还要控制用例的数目。用例数目过 多则造成用例模型过大,同时设计系统 的难度也加大了,用例数目过少则造成 用例描述得太粗犷或不充分,不便于进 一步分析。 粒度过细会陷入功能分解, 比如把交互的某个步骤当作用例(输入 用户名)
《UML面向对象分析、建模与设计》教学大纲

UML面向对象分析、建模与设计课程教学大纲01课程说明课程代码:课程名称:UML面向对象分析、建模与设计/UML object-oriented analysis, modeling and design开课学期:4学分/学时:3/32+16课程类型:必修02课程的性质、目的与任务《UML面向对象分析、建模与设计》是软件工程专业中一门综合性很强的基础课程,主要内容包括软件工程与面向对象方法、UML的定义和背景、UML基础(UML构造块、UML通用机制、UML“4+1”架构、UML建模工具)、UML系统动态建模(用例图、活动图、状态机图、顺序图、通信图)、类图、对象图、包图、组件图、部署图、统一软件开发过程、UML具体实例等。
本课程的目的与任务是使学生通过本课程的学习,从UML的基本概念入手,由浅入深地认识和学习软件工程核心要素,以体系化、工程化的方法思考软件工程过程。
本课程除要求学生掌握UML的图示语法和语义,重点要求学生掌握设计软件的逻辑能力以及对软件内部各种组织结构的表达能力,掌握对事物的抽象能力和建模的基本思想,为更深入地学习和今后的实践打下良好的基础。
03教学内容及教学基本要求1.软件工程与面向对象方法(2学时)了解软件工程的概念和历史,了解软件工程的目标和原则;了解面向对象方法的概念和历史,了解面向对象方法的优点。
2.统一建模语言UML(2学时)了解UML的定义和历史背景;了解UML的目标和应用范围。
3.初识UML(2学时)掌握UML构造块,分别是事物、关系、图;掌握UML的通用机制;了解“4+1”架构;了解常用的UML建模工具。
4.用例图(2学时)了解用例的概念、设计方法和注意事项理解用例图的组成元素,分别为参与者、用例、用例图中的关系;理解并掌握用例图中的关系,分别为参与者间的泛化关系、参与者与用例的关联关系、用例间的泛化关系、用例间的依赖关系;理解用例描述的概念;掌握用例说明文档的书写;掌握用例图建模,分别为对系统的语境建模和对系统的需求建模;了解用例图的使用环境。
软件工程-论文-用例图-需求分析-项目流程图--实例图---RE图--属性图

药品管理系统1。
简要这次是C#考试答辩程序改写有不足望老师见谅:经过市场调研,初步了解到药品销售管理系统在现实生活中的应用,现行的医药管理系统在现实中的应用主要是药品的收费管理和药品销售的账目管理,药品的库房管理(药品的进库,药品的出库)其中,最常用的是,销售管理和库房管理。
此系统操作性相对简单,只要对电脑有一定操作基础的人员都可以使用,系统对用户的提示性较好,可以提醒和引导用户对系统的操作。
本课题通过对现行医药管理信息系统的组织结构,业务流程,数据库等进行研究,分析系统的实际运行情况,并提出新的逻辑设计方案,以此来完善改进现有的系统,这对于医药企业提高经营管理具有一定的积极意义.2.简要说明本用例是一个医药超市管理系统,只有管理员和销售员有管理权限,其中管理员和销售员可以对自己的密码进行修改。
用用自己的管理账号对医药进行管理,进货销售等等.3需求3。
1医药销售管理系统需求分析以往到药店购买药品的时候,销售人员都要手写单据和人工结账,而且每天都要统计当日的销售额,月末要统计一个月的销售额,所以要管理大量的单据,而且在统计的时候需要大量的时间,并且是人工操作,比较容易出错。
医药管理系统的出现,使得这一切变得简单起来。
以往需要算一个小时的账目现在只需点一下鼠标就可以得到,而且得到的结果还是精确的,不用担心有错误,用电脑代替人脑计算,为使用者节省了大量时间。
另外消费者也得到了便利,因为键盘录入取代了手写的单据增加了效率,在我们购买药品的时候也就方便了起来.信息管理系统的出现,改变了企业的管理模式,药品销售管理系统则改变了医药行业的管理模式。
在当今医药行业,一套好的销售管理系统成为众多企业的得力助手。
3。
2 医药销售管理系统数据库医药销售管理系统是基于网络应用,根据医药销售系统的长期开发研究经验和各医药公司现实中存在的实际业务情况,完全采取面向对象的系统开发方法,进行严格设计而成的专业医药销售管理软件。
第5章_类图及对象图(同济大学软件工程硕士面向对象技术)

5.1.3 类的操作
1. 操作的含义
操作(operation): 描述类所表示事物的动态性质。
2.操作的格式
[可见性]操作名[(参数列表):返回类型][{特性}]
该操作对外部实体的显现程度. 可见public : + 受限protected: # 私有private : -
5.1.3 类的操作
1. 操作的含义
② 二元关联
3.关联的种类
③ 多元关联
三元关联
?
问题5:
“教师”和“学生”两个类之间存在授课关 系,一个教师可以教授多个学生,一个学生可以 由多个教师授课,标出这两个类的关系。
?
问题6:
采购员从供货商处订货,双方需要签订订单, 一个采购员可以订多个供货商的货品,一个供货 商也可以给多个采购员供货。 提取这个问题涉及的类,并确定各个类之间 的关系。
5.2.3 泛化
2. 泛化的表示
表示
例子
5.2.4 依赖
1. 依赖的含义
依赖(dependency): 表示两个元素X、Y,如果 X的变化必然导致Y的变化,则称Y依赖X。
依赖关系不仅限于类,用例、包、构件之间都 可以存在依赖关系。
5.2.4 依赖
2. 依赖的表示
表示பைடு நூலகம்
例子
?
问题8:
下面几个模型图(顶上两个图)中,( )能 够正确地表示出“一个雇员最多有一个经理,经 理可以管理多个雇员,也可以不管理一个雇员” 这样的意思。
类图(Class Diagram): 是由类,相关建模元素 ,及其关系构成的图,用来描述类之间的静态关系 。 类图在系统中处在核心位置。也是UML中最为 重要的一种图。
5.3.2 类图的抽象层次
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑧系统添加新课程,并提示添加成功。
⑨系统回到管理主界面,显示所有课程,用例结束。
课堂练习
对图书馆的图书管理系统进行用例分析:
1. 2. 3. 4. 5. 6. 7. 确定图书管理的参与者; 参与者所看到的图书管理功能; 把这些功能分解为用例; 确定用例之间的关系; 画用例图; 优化用例图; 描述事件流。
储蓄系统
√ √ √ 开户
存款
取款 转帐
用例的特点(2)
用例描述用户提出的一些可见需求,对应一个 具体的用户目标。
储蓄系统
√
√ √ √
开户 存款
取款
转帐
×
数据上传
用例的特点(3)
用例反映系统与用户的一次交互过程 ,应该具有交互的信息的传递。
帐户,密码,金额数 确认信息,帐户余额
取款
用例的特点(4)
用例之间的关系(3)
泛化关系
参与者与参与者之间,用例与用例之间存在一般 与特殊的关系。
参与者的泛化关系
用于简化用例图 销售系统用例图:
- 销售人员和客户用的基本上 相同的用例图
- 计算回扣是例外
Customer OrderProducts Sales system
ListProducts
用例图过于复杂(太多的交叉线 ) 采用一个公共的参与者(购买者 ) 原来的角色由此导出
④储户输入取款金额,按确认键。 ⑤ATM把帐号和取款金额传递给银行系统,取回确认信息和帐户 余额。 ⑥ ATM输出现金,并显示帐户余额。
⑦ATM记录事务到日志文件。
取款用例描述另一种描述
● 用例:取款 ●参与者:储户
储户
插入ATM卡
ATM系统行为
从卡上读取银行ID、帐号、并验 证帐号
键入密码 检验密码
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。
●
③ 把这些系统行为命名为用例。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。
●
④ 确定各用例之间的关系(泛化,包含,扩展)。
用例图可以作为整个系统开发过程中的开发依据 ,指导和驱动其他模型 (Use Case Driven Object Modeling)。
用例图的形式
取款用例描述实例
● 用例:取款 ●参与者:储户 ●操作流: ① 通过读卡机,储户插入ATM卡 ② ATM系统从卡上读取银行ID、帐号、并验证帐号。
③ 储户键入密码,系统检验密码。
●
确定各参与者所期望的系统行为。
管理员: 增加课程 修改课程
删除课程
学生: 查询课程 选择课程 网上付费
某学校网上选课系统的用例分析(4)
① 找出系统外部参与者,确定系统边界和范围。
●
② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。
某学校网上选课系统的用例分析(5)
●
确定各角色和用例之间的关系(泛化,包含,扩展)。
用例的事件流是对系统行为的动态描述
取款
用例的动态事件流
a 通过读卡机,储户插入ATM卡
b ATM系统从卡上读取银行ID、帐号、并验证帐号。 c 储户键入密码,系统检验密码。 d 储户按确认键,输入取款金额。 e ATM把帐号和取款金额传递给银行系统,取回帐户余额。 f ATM输出现金,并显示帐户余额。 d ATM记录事务到日志文件。
SalesAgent
AcceptPayment
CalcualteCommission
参与者的泛化关系
采用泛化的关系
Sales system
- 利用相同的用例组合
父类参与者一般是个抽象 类
ListProducts
Purchaser
OrderProducts
只有能简化用例图时才采 用泛化关系
Customer SalesAgent
管理员通过系统管理界面进入系统,建立本学期
要开设的各种课程,将课程信息保存到数据库中,
并可以对课程进行改动和删除。 学生通过客户机浏览器进入系统,选择课程:可 以查询课程,选择课程,支付课程费用。
某学校网上选课系统的用例分析(2)
找出系统外部参与者,确定系统边界和范围。 ●
某学校网上选课系统的用例分析(3)
面向对象技术及其UML实践 第四章 用例及用例图
同济大学软件学院 曹布阳 buyang60@
用例
1. 用例的概念
用例(use case): 表示参与者与系统的一次交互
过程,并提供参与者相应的结果。 2.用例的表示 用例用椭圆表示
用例的特点(1)
用例用于描述系统的功能,这个功能是 外部使用者看到的系统功能,不反映功能的 实现方式。
⑤ 绘制用例图。
●
⑥ 编制用例说明。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
⑤ 绘制用例图。
⑥ 编制用例说明。
●
⑦ 对异常流程确定单独用例。
发现用例
系统行为
用例的事件流是对系统行为的动态描述 系统的反应和动作
外部可见的和可测试的
系统行为应在用例中表示出来
用例需表示系统,系统所处的环境以及系统所处环境的 交互关系
参与者
1. 参与者的概念
参与者(actor)是外部需要与系统交互的事物。 也被称为活动者。
2.参与者的三种类型 ①. 人:客户,读者,库管员 ②. 设备:计算机,磁盘,读卡机等 ③. 外部系统:上层系统等
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
●⑤ 绘制用例图。发来自用例发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
输入取款金额,按确认键 帐号和取款金额传递给银行系统 ,取回确认信息和帐户余额
输出现金,并显示帐户余额
发现用例
发现用例的一般方法:
●
① 找出系统外部参与者,确定系统边界和范围。
发现用例
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。
●
② 确定各参与者所期望的系统行为。
发现用例
发现用例的一般方法:
发现用例的一般方法:
① 找出系统外部参与者,确定系统边界和范围。 ② 确定各参与者所期望的系统行为。 ③ 把这些系统行为命名为用例。 ④ 确定各用例之间的关系(泛化,包含,扩展)。
⑤ 绘制用例图。
⑥ 编制用例说明。 ⑦ 对异常流程确定单独用例。
●
⑧ 优化用例图,解决用例之间的冲突和重复。
某学校网上选课系统的用例分析(1)
本章作业
(1) 用例之间存在那几种关系? (2) 写出自动取款机(ATM) 包括查询,取款,和存 款的用例,并画出用例图。
●
某学校网上选课系统的用例分析(6)
绘制用例图
●
某学校网上选课系统的用例分析(7)
编制用例说明
●参与者:管理员 ●操作流:
● 用例:增加课程
① 管理员选择进入管理界面,用例开始。 ② 系统提示输入管理员密码。
③ 管理员输入密码。
④ 系统检验密码。 A1:密码出错。
⑤ 进入管理界面,系统显示当前所建立的全部课程信息。 ⑥ 管理选择增加课程,管理输入新课程信息。 ⑦系统验证是否与已有课程冲突。 A2:有冲突。
包含关系用依赖关系的<<include>>构造型来表 示。
用例之间的关系(5)
扩展关系 扩展关系表示基本用例在扩展点要增加新的行为 或功能,以扩展到新用例。 扩展关系用依赖关系的<<extend>>构造型来表示 。
用例图
用例图的作用
用例图用来描述软件需求模型中的系统功能,通 过一组用例可以描述软件系统能够给用户提供的功 能。
AcceptPayment
CalcualteCommission
用例的泛化关系
父类用例
- 查找产品
两个子类:
- 查找书籍 - 查找CD
Sales system
FindProduct Customer
FindBook
FindCD
用例之间的关系(4)
包含关系
两个用例之间,一个用例(基本用例)的行为包含 了另外一个用例(包含用例)的行为。
参与者的表示
参与者可以表示为下面三种形式。
参与者之间的关系
参与者之间可以有泛化关系。
用例之间的关系(1)
用例之间可以具有以下几种关系:
1. 关联关系
2. 泛化关系
3. 包含关系 4. 扩展关系
参与者与用例之间的关系
关联关系
参与者与用例之间是关联关系,表示参与者与用 例之间具有使用,交互信息的关联。