程序开发和实践-.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.3.1 UML建模机制与建模方法 UML有两套建模机制:静态建模机制和动态建模机制。 在UML中,静态建模可以描述系统的组织和结构,而动态建模则可描述系统的行为和动作。 静态建模机制包括用例图、类图、对象图、包、组件图和配置图。 动态建模机制包括消息、状态图、时序图、协作图和活动图。   需求(系统)建模方法 (1)识别系统外部的参与者,从而建立系统的语境。 (2)考虑每一个参与者期望的行为或需要系统提供的行为。 (3)把公共行为命名为用例。 (4)确定供其他用例使用的用例和扩展其他用例的用例。 (5)在用例图中对这些用例、参与者和它们间的关系建模。 (6)用描述非功能需求的注释修饰用例图。 9.3.2 UML的结构 (1)UML基本构造元素:事务、关系和图。 (2)UML的事务有四种:结构事务、行为事务、分组事务和注释事务。 (3)UML的关系有四种:依赖、关联、泛化、实现。 (4)UML的图有十种:用例图、类图、对象图、包图、状态图、活动图、序列图、协作图、组件图、部署图(有的书叫实施图)。 9.3.3 UML中的关系与符号 1. 关联关系 关联关系是” ... has a ...”(具有)的关系。在UML图中,关联关系用一条实线表示 。 有一些修饰可以应用于关联。 (1).??名字:可以给关系取名字。见图8-1。 (2)角色:关系的两端代表不同的两种角色。见图8-2。 2. 聚合关系 聚合关系指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。 例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。需求描述中”包含”、”组成”、”分为…部分”等词常意味着聚合关系。见图8-5。?? 聚合是” ... owns a ...”(拥有)的关系。 它的UML表示法:空心菱形 + 实线 + 箭头 ,见图8-6 3. 组合关系   组合关系也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。 组合关系是” ... is a part of ...”(是…的一部分)的关系。 它的UML表示法:实心菱形 + 实线 + 箭头 ,见图8-7。 聚合和组合的区别在于: (1) 聚合关系是”has-a”关系,组合关系是”contains-a”关系; (2)聚合关系表示整体与部分的关系比较弱,而组合比较强; (3) 聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。 我们用浅显的例子来说明聚合和组合的区别。”国破家亡”,国灭了,家自然也没有了,”国”和”家”显然也是组合关系。 (4)在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用。  (5) 组合比聚合对于组合者和被组合者的关心定义的更加有约束,组合者不但要知道被组合者的情况,他们的生命周期都是由组合者来控制的。 4. 依赖关系 对于两个对象X、Y,如果对象X发生变化,可能会引起对另一个对象Y的变化,则称Y依赖于X。 依赖关系是一种” ... uses a ...”(使用)关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用依赖关系。 通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数。在UML中你可以在其它的事物之间使用依赖关系,特别是包和节点之间。 在UML图中,依赖关系用一条带有箭头的虚线来表示 。 人和空气是一种依赖关系,UML图见图8-10。一个人自创生就需要不停的呼吸,而人的呼吸功能之所以能维持生命就在于吸进来的气体发挥了作用,所以说空气只不过是人类的一个工具,而人并不持有对它的引用。 5. 泛化关系 泛化是一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类)之间的关系,子类继承父类的属性和操作,除此之外通常子类还添加新的属性和操作,或者修改了父类的某些操作。 泛化意味着子类的对象可以用在父类的对象可能出现的地方,但反过来则不成立。 泛化关系的子类和父类是“a kind of”的关系。 图8-11 给出了教师,学生和来宾继承人”类”的泛化关系。 若在逻辑上B是A的”一种”,并且A的所有功能和属性对

文档评论(0)

wuhuaiyu002 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档