- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 UML建模示例与步骤 复习并且熟悉UML建模的步骤 视图与图的总结 本章目标 用例图示例 用例的发起者在用例图的左侧,接受者在用例图的右侧。参与者的名字放在参与者图标的下方。关联线连接参与者和用例并且表示参与者与用例之间有通信关系。关联线是实线,和类之间的关联线类似。 用例分析的一个好处是它能够展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例是典型的属于系统内部。系统的边界用一个矩形来代表,里面写上系统的名字。系统的用例装入矩形之内。 用例图 用例 参与者 参与者 系统 用例图的建立步骤 1) 找出系统外部的活动者和外部系统,确定系统的边界和范围。 2) 确定每一个活动者所希望的系统行为。 3) 把这些系统行为命名为用例。 4) 把一些公共的系统行为分解为一批新的用例,供其它的用例引用。把一些变更的行为分解为扩展用例。 5) 绘制用例图。 6) 区分主业务流和例外情况的事件流。可以把表达例外的情况的事件流的用例图画成一个单独的子用例图。 7) 细化用例图,解决用例间的重复与冲入问题,简化用例中的对话序列,用例图可以有不同的层次,高层次系统的用例可以分解为若干个下属子系统中的子用例。 用例图 类图示例 在UML中一个矩形表示一个类的图标。 属性是类的一个特性,它描叙了类的对象(也就是类的实例)所具有的一系列特性值。一个类可以具有零个到多个属性。属性名列表放在类名之下,并且和类名之间用分隔号隔开。 操作是类能够做的事情或者你(或者另一个类)能对类做的事情。操作名列表要放在属性名列表之下,两者之间用分隔线隔开 类图与对象图 WashingMachine brandName modeName serialNumber addClothes(C:String) removeClothes(C:string) turnON():Boolean 对象图示例 类的属性在该类的每个对象中都有具体值。 对象名首写字母小写,后面根一个冒号,冒号后面是该对象所属的类名,并且整个名字要带下划线。 类图与对象图 myWasher:WashingMachine brandName=“海尔” modeName=“小神童” serialNumber=“GL0214” 类图与对象图的建立步骤 1) 研究分析问题领域,确定系统的需求。 2) 发现对象和类,明确他们的含义和责任,确定属性和操作。 3) 发现类之间的静态联系。着重分析找出类之间的一般和特殊关系,部分与整体关系,研究类的继承性和多态性,把类之间的静态联系用关联、泛化、聚合、组合、依赖等联系表达出来,虽然对象类图表达的是系统的静态结构特征,但是应当把对系统的静态分析与动态分析结合起来,更能准确地了解系统的静态结构特征。 4) 设计类与联系。调整和细化已得到的对象类和类之间的联系,解决诸如命名冲突、功能重复等问题。 5) 绘制对象类图并编制相应的说明。上述做法是直接从领域分析抽取对象和类开始的,这是常规的面向对象的系统分析与设计的做法。Rational统一过程主张采用用例驱动的系统分析与设计方法。从业务领域的分析中先抽取活动者和用例,建立业务模型。业务模型包括业务用例模型、设计模型、实现模型和测试模型。 类图与对象图 包图示例 包用附有标签的矩形表示 包图 包图名 包图的建立步骤 1) 分析系统模型元素(通常是类),把概念上或语义上相近的模型元素纳入一个包。注意可以从类的功能的相关性来确定纳入包中的类。以下几点可作为分析对象类的功能相关性的参考 (1) 如果一个类的行为和/或结构的变更要求另一个相应的变更,则这两个类是功能相关的。 (2) 如果删除一个类后,另一个类便变成是多余的,则这连个类是功能相关的,这说明该剩余的类只为那个被删除的类所使用,他们之间有依赖关系。 (3) 如果两个类之间大量的频繁交互或通信,则这两个类是功能相关的。 (4) 如果两个类之间有一般/特殊关系,则这两个类是功能相关的。 (5) 如果一个类激发创建另一个类的对象,则这两个类是功能相关的。 (6) 如果两个类不涉及统一个外部活动着,则这两个类不应放在同一个包中。 (7) 一个包应当具有高内聚性,包中的类应该是功能相关的。 2) 对于每一个包,标出其模型元素的可视性:公共、保护或私有。 3) 确定包与包之间的依赖关系,特别是输入依赖。 4) 确定包与包之间的泛化关系,确定包元素的多态性和重载。 5) 绘制包图。 包图 状态图示例 状态用具有圆形拐角的矩形表示,状态间带箭头的实线代表状态的迁移,箭头指向目标状态。 图中的实心圆代表状态转移的起点,带圆圈的实心圆代表终点。 状态图 Initialization Canceled 状态图的建立步骤 1) 确定状态机的上下文,它可以是一个类、子系统或整个系
文档评论(0)