软件工程案例开发与实践09-2.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程案例开发与实践09-2.ppt

4. 依赖关系 对于两个对象X、Y,如果对象X发生变化,可能会引起对另一个对象Y的变化,则称Y依赖于X。 在你想显示一个事物使用另一个事物时使用依赖关系。 通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数。 在UML图中,依赖关系用一条带有箭头的虚线来表示 。 例如:人和空气是一种依赖关系 5. 泛化关系 泛化:特殊和一般的关系 类似于继承中父类和子类的关系 泛化关系的子类和父类是“a kind of”的关系。 下图给出了教师,学生和来宾继承人”类”的泛化关系。 6. 实现关系 实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,它表示不继承结构而只继承行为。大多少情况下,实现关系用来规定接口和实现接口的类或组件之间的关系。 在UML图中,实现关系一般用带有一条带有空心箭头的虚线来表示 。 类的关系的总结 关联关系 聚合关系 组合关系 依赖关系 泛化关系 实现关系 9.4 UML的图 序号 模型种类 十种图形 建模机制 1 用例模型 用例图 静态建模 2 静态模型 类图、对象图、包图 静态建模 3 行为模型 状态图、活动图 动态建模 4 交互模型 序列图、协作图 动态建模 5 实现模型 组件图、部署图 静态建模 类图可用于表示逻辑类。逻辑类通常就是业务人员所谈及的事物种类。类在类图上使用包含三个部分的矩形来描述 9.4.1 类图(重点)和对象图 类图(重点)和对象图 人 姓 名:字符串 年 龄: 整 型 改换工作 改换地址 张红兵 张红兵 28 绘图员 人民路8号 李军:人 李军 24 程序员 无 类名 属性 运算 对象图 类图 类图(重点)和对象图 对象是类的实例化 对象图与类图没有太大区别,只是在类图名下加下划线 很少使用 用例:典型用户使用系统的典型实例。 用例:用户与计算机之间为达到某个目的的哦一次典型交互过程。 用例图包括 用例 参与者 P150图9-10 9.4.2 用例图(重点) 下图给出来了在线购物系统的用例图,给出了角色和用例之间的关系,以及内部用例之间的关系。 角色: 用例: 游客,会员,管理员 商品信息,购买信息,用户信息 用例的关系 包含关系 扩展关系 泛化关系 用例的关系 包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用 扩展关系 泛化关系 用例的关系 包含关系 扩展关系: 将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中 泛化关系 用例的关系 包含关系 扩展关系 泛化关系:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系 用例图实例 系统整体用例图 遵从先整体后局部的方法 用例图实例 商品用例图 用例图实例 购买信息用例图 用例图实例 用户资料用例图 为了简单地表示出复杂的类图,可以把类组合成包packages。一个包是UML上有逻辑关系的元件的集合。 包图由包和包之间的关系组成,模型如图。 9.4.4 包图 1、包的名称 ?? 包的名称有两种形式:简单名和路径名,其中简单名仅包含一个简单的名称,路径名是以包处于的外围包的名字作为前缀。 ?? 2、包图的组成 ?? ?包可以拥有其他元素,比如类、接口、组件、节点、协作、用例和图,甚至可以是其它包。 一个”包图”可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。 包被描述成文件夹,可以应用在任何一种UML图上。 1、用在需求阶段 2、外部使用者对系统的需求 3、参与者可以是人,也可以是另一个系统 * 包含关系对典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。这种情况类似于在过程设计语言中,将程序的某一段算法封装成一个子过程,然后再从主程序中调用这一子过程。  ?? 例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系。 * 扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档