面向对象分析与
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
1
面向对象分析与设计 信息学院计算机系软件工程教研室
第03讲 画地为牢第第0303讲讲 画地为牢画地为牢
面向对象分析与设计3
第第33章章 建立需求模型建立需求模型————用况图用况图
zz用户需求就是用户对所有开发的系统提出的各种要用户需求就是用户对所有开发的系统提出的各种要
求和期望,其中包括系统的功能、性能、保密要求求和期望,其中包括系统的功能、性能、保密要求
和交互方式等技术性要求以及成本、交付时间和资和交互方式等技术性要求以及成本、交付时间和资
源使用限制等非技术性要求。源使用限制等非技术性要求。
zz用况图用于对系统的功能以及系统进行交互的外部用况图用于对系统的功能以及系统进行交互的外部
事物建模。事物建模。
zz在建立需求模型时,先要确定系统边界,找出在系在建立需求模型时,先要确定系统边界,找出在系
统边界以外与系统交互的事物,然后从这些事物与统边界以外与系统交互的事物,然后从这些事物与
系统进行交互的角度,通过用况图来描述这些事物系统进行交互的角度,通过用况图来描述这些事物
怎样使用系统,以及系统向它们提供什么功能。怎样使用系统,以及系统向它们提供什么功能。
面向对象分析与设计4
3.1 3.1 系统边界(系统边界(11))
zz系统边界是一个系统所包含的所有系统成分与系统系统边界是一个系统所包含的所有系统成分与系统
以外各种事物的分界线。以外各种事物的分界线。
zz把系统内外的交互情况描述清楚了,就确切地定义把系统内外的交互情况描述清楚了,就确切地定义
了系统的功能需求。了系统的功能需求。
面向对象分析与设计5
3.1 3.1 系统边界(系统边界(22))
zz现实世界中的事物与系统的关系包括如下几种情况:现实世界中的事物与系统的关系包括如下几种情况:
某些事物位于系统边界内,作为系统成分。
某些事物将是系统进行交互的参与者,系统中没有相应的
成分作为它们的抽象
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示,它们位于系统边界以外。
某些事物可能既有一个对象作为其抽象描述,而本身又在
系统边界以外与系统进行交互。
某些事物即使属于问题域,也在系统责任没有什么关系。
认识清楚了上述事物之间的关系,也就确定出了系统边界。
要强调的是,这里的系统指正在开发的系统。
面向对象分析与设计6
3.2 3.2 参与者(参与者(11))
zz概念与表达式概念与表达式【【3.2.13.2.1】】
一组在功能上密切相关的角色,当一个事物与系
统交互时,该事物可以扮演这样的角色。
尽管在模型中使用了参与者,但参与者实际上并
不是系统的一部分,它们位于系统之外,是在系
统之外的与系统进行交互的任何事物。
参与者的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
符是一个“人形符号”,参与者的名
字放在图形的下方。
面向对象分析与设计7
3.2 3.2 参与者(参与者(22))
zz识别参与者识别参与者【【3.2.23.2.2】】
参与者是在系统之外的与系统进行交互的任何事
物。参与者可为人、外部系统或设备。
人员
¾从直接使用系统的人员中发现参与者
外部系统
¾可以是其他子系统、下级系统或上级系统,也即任何
与它进行协作的系统,但对这样的系统的开发并不是
开发本系统的人员的责任。
设备
¾与系统相连,向系统提供外界信息;系统向设备提供
信息,设备在系统的控制下运行。
面向对象分析与设计8
3.2 3.2 参与者(参与者(33))
zz识别参与者的指导策略:识别参与者的指导策略:
首先将精力集中于启动系统的参与者
从用户的角度,考虑怎样使用这个系统
对识别出来的参与者,
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
它们的责任
通过识别继承关系,组织参与者
面向对象分析与设计9
3.3 3.3 用况(用况(CaseCase))【【用例用例】】((11))
zz概念与表示法概念与表示法【【3.3.13.3.1】】
用于描述所要开发的系统的一项功能,把这样的功能描述
为一组动作序列,系统执行该动作序列为参与者产生一个
可观察到的结果;这样的动作序列表示参与者与系统间的
交互。
¾使用用况来可视化、详述、构造和文档化所希望的系统行为——
是对用况的理解不产生歧异即可
¾描述中的一个动作应该描述参与者或系统要完成的一个交互步骤
¾对用况的描述只强调用用况描述参与者和系统彼此对对方直接地
做了些什么事,不描述怎样做,也不描述间接地做了些什么
¾可观察的结果,是指系统对参与者的动作要做出响应
¾用况描述的是参与者所使用的一项系统功能,该项功能应该相对
完整。即保证用况是某一项功能的完整的规划说明,不是片断
¾只有当外部的参与者与该系统进行交互时,相应的用况所描述的
功能才发挥作用
¾在用况描述中,有参与者首先发起交互的可能性较大,但有些交
互也可能是由系统首先发起的。
面向对象分析与设计10
3.3 3.3 用况(用况(CaseCase))【【用例用例】】((22))
zz把用况表示成把用况表示成
一个包含用况一个包含用况
名字的椭圆。名字的椭圆。
zz用况描述用况描述
面向对象分析与设计11
3.3 3.3 用况(用况(CaseCase))【【用例用例】】((33))
zz用况与参与者之间的关系用况与参与者之间的关系【【3.3.23.3.2】】
一个参与者可以同多个用况交互,一个用况也可以同多个
参与者交互
把参与者与用况间的这种交互关系称为关联
把参与者和用况之间的关联表示成参与者和用况之间的一
条实线。若要明确地指出参与者和用况之间的通信是单向
的,就在接收通信的那端的关联线上加一个箭头,用以指
示方向。
面向对象分析与设计12
3.3 3.3 用况(用况(CaseCase))【【用例用例】】((44))
zz用况之间的关系用况之间的关系【【3.3.33.3.3】】
不但在参与者和用况之间存在着关联关系,在用
况之间也可存在一定的关系。
¾在一个用况中存在着几处重复使用的动作序列;
¾在几个用况中存在着重复使用的动作序列;
¾一个用况中的主要动作序列或分支动作序列过于冗长
或复杂,而且分离它们有助于对需求进行管理和理解。
¾包含、扩展、继承
面向对象分析与设计13
包含(包含(11))
zz基用况在它内部说明的某一(些)位置上显式地使基用况在它内部说明的某一(些)位置上显式地使
用供应者用况的行为结果。用供应者用况的行为结果。
zz包含关系想象为基用况调用供应者用况,基用况仅包含关系想象为基用况调用供应者用况,基用况仅
仅依赖供应者用况执行的结果,而不依赖供应者用仅依赖供应者用况执行的结果,而不依赖供应者用
况内部的结构。况内部的结构。
zz建立包含关系,即从具有共同活动序列的几个用况建立包含关系,即从具有共同活动序列的几个用况
中抽取出公共步骤,或者在一个用况中抽取重复出中抽取出公共步骤,或者在一个用况中抽取重复出
现的公共步骤,形成一个在几处都要使用的附加用现的公共步骤,形成一个在几处都要使用的附加用
况。况。
zz可以避免多次描述同一事件流可以避免多次描述同一事件流
zz当共同的序列发生变化时,只需要在一个地方改动当共同的序列发生变化时,只需要在一个地方改动
即可。即可。
面向对象分析与设计14
包含(包含(22))
zz一个用况可以包括多个用况,一个用况也可一个用况可以包括多个用况,一个用况也可
以被多个用况包括。以被多个用况包括。
面向对象分析与设计15
扩展(扩展(11))
zz存在着可选的描述系统行为的片段。存在着可选的描述系统行为的片段。
zz从基用况到扩展用况的扩展关系表明:按基用况中从基用况到扩展用况的扩展关系表明:按基用况中
指定的扩展条件,把扩展用况的行为插入到由基用指定的扩展条件,把扩展用况的行为插入到由基用
况中的扩展点定义的位置。况中的扩展点定义的位置。
zz基用况是可单独存在的,但是在一定条件下,它的基用况是可单独存在的,但是在一定条件下,它的
行为可以被另一个用况的行为扩展。行为可以被另一个用况的行为扩展。
zz扩展用况定义一组行为增量,扩展用况定义的行为扩展用况定义一组行为增量,扩展用况定义的行为
离开基用况可能是无意义的。离开基用况可能是无意义的。
zz扩展用况中定义的各行为增量可以单独插入到基用扩展用况中定义的各行为增量可以单独插入到基用
况中,这与包含关系中的供应者用况要作为一个整况中,这与包含关系中的供应者用况要作为一个整
体被包含是不同的。体被包含是不同的。
面向对象分析与设计16
扩展(扩展(22))
zz一个扩展用况可以扩展多个用况,一个用况一个扩展用况可以扩展多个用况,一个用况
也可以被多个用况扩展,甚至一个扩展用况也可以被多个用况扩展,甚至一个扩展用况
自身也可以被其他扩展用况来扩展。自身也可以被其他扩展用况来扩展。
面向对象分析与设计17
扩展(扩展(33))
zz扩展点(扩展点(II))
扩展点是用况中的一个位置上,如果扩展条件为真,
就可以插入扩展用况中描述的全部动作序列或其中的
一部分,并予以执行。
各扩展点的名字是唯一的。
若要在基用况中表达可选的交互行为,就可以使用扩
展关系。
对例外行为处理建模时或对系统的可配置的功能建模
时,也可使用扩展关系。
面向对象分析与设计18
继承继承
zz增量行为或覆盖一般用况的行为。增量行为或覆盖一般用况的行为。
面向对象分析与设计19
捕获用况捕获用况【【3.3.43.3.4】】((11))
zz 从参与者的角度捕获用况从参与者的角度捕获用况
用况用于描述参与者和系统之间的一系列的交互。
zz 从系统功能的角度捕获用况从系统功能的角度捕获用况
裕达到某种目的的一组动作序列要完成一项功能,这样的动作序列要
在一个用况中描述。以用况中的动作为线索能发现其他用况。
一个用况描述一项功能,但这项功能不能过大。
完整的任务
zz 利用场景捕获用况利用场景捕获用况
如果不能顺利地确定一个用况的描述,可尽早使用人们熟知的“角色
扮演”技术。
用况的一次执行也形成了一个场景。用况的一次执行所经历的动作序
列可能为用况描述中的一部分。
用况中含有一个在通常的情况下发生的基本事件流,其余的可选择的
事件流。
面向对象分析与设计20
捕获用况捕获用况【【3.3.43.3.4】】((22))
zz在书写一个用况时,有的做法是把基本事件在书写一个用况时,有的做法是把基本事件
流和可选的事件流分开来写,有的是把它们流和可选的事件流分开来写,有的是把它们
结合在一起来写。无论按什么格式来写,都结合在一起来写。无论按什么格式来写,都
要求用况应该描述出可能出现的各种情况,要求用况应该描述出可能出现的各种情况,
不要顾此失彼。不要顾此失彼。
面向对象分析与设计21
用况模板用况模板【【3.3.53.3.5】】
zz并不要求把用况模板中的每一项都写出来,并不要求把用况模板中的每一项都写出来,
可以根据需要进行相应的取舍。可以根据需要进行相应的取舍。
面向对象分析与设计22
用况图用况图【【3.43.4】】((11))
zz 用况图是一副由一组参与用况图是一副由一组参与
者,一组用况以及这些元素者,一组用况以及这些元素
之间的关系组成的图。这些之间的关系组成的图。这些
关系是参与者和用况之间的关系是参与者和用况之间的
关联、参与者之间的继承,关联、参与者之间的继承,
以及用况之间的包含、扩展以及用况之间的包含、扩展
和继承。和继承。
根据需要,用况图也可以包
含注释。
可以选择把用况用一个矩形
围起来,用来表示系统或子
系统的边界。
用大方框把用况围起来,以
此来表示系统边界。
面向对象分析与设计23
用况图用况图【【3.43.4】】((22))
zz如果系统比较复杂,就要绘制多幅用况图,如果系统比较复杂,就要绘制多幅用况图,
每副用况图只注重于系统功能的一个方面。每副用况图只注重于系统功能的一个方面。
面向对象分析与设计24
检查与调整检查与调整【【3.53.5】】
zz参与者参与者
每个参与者都至少与一个用况有关联关系。
zz用况用况
每个用况都至少与一个参与者有关联关系。
界面不是用况,用况也不是界面。
本书强调以用况图为基础,针对问题域和系统责
任,进行面向对象的分析和设计,而没有进一步
说明以用况为驱动的开发方法。
面向对象分析与设计25
用况模型和面向对象分析模型用况模型和面向对象分析模型【【3.63.6】】
zz系统的用况模型是建立系统的面向对象分析系统的用况模型是建立系统的面向对象分析
模型的基础,二者是密切相关的,但有着本模型的基础,二者是密切相关的,但有着本
质的区别。质的区别。
面向对象分析与设计26
例题例题【【3.73.7】】
zz
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
一方案一
面向对象分析与设计27
例题例题【【3.73.7】】
zz方案二方案二
面向对象分析与设计28
例题例题【【3.73.7】】
zz方案三方案三
面向对象分析与设计29
例题例题【【3.73.7】】
zz方案四方案四
面向对象分析与设计30
建立用例模型的步骤建立用例模型的步骤【【建议建议】】
zz识别执行者(识别执行者(actoractor))**
zz识别用例识别用例**
这些执行者如何与系统进行交互的角度这些执行者如何与系统进行交互的角度 !!
zz书写用例文档书写用例文档**
每个功能的含义和具体实现步骤则以文本方每个功能的含义和具体实现步骤则以文本方
式描述式描述
zz通过关系整理用例通过关系整理用例
zz用例的排序和分包用例的排序和分包
面向对象分析与设计31