网站大量收购闲置独家精品文档,联系QQ:2885784924

第三章UML类图.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1 类图的概念 1、类图 类图是描述类、协作(类或对象间的协作)、接口及其关系的图。 类图是逻辑视图的重要组成部分,用于对系统的静态结构建模,涉及到具体的实现细节。 在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责; 在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构; 在系统编码阶段,根据类图中的类及它们之间的关系实现系统的功能。 关于多重性 关联 (5)关联的约束 一个BankTeller为顾客服务,但是服务的顺序要按照顾客排队的次序进行。在模型中可以通过在Customer类附近加上一个花括号括起来的“ordered(有序)”来说明这个规则,也就是指明约束。 另一种类型的约束是OR关系,图中标明高中生(high school student)选(choose)专业课(academic),或者选商务课(commercial)时的模型。 1、包含关系 一辆汽车有4个轮子,我们可以这样表示 你可能觉得这样表示还不太合适,汽车应该包含4个轮子,或者说轮子本来就属于汽车的一部分,那怎样画能更加贴切表示这样的关系呢?我们可以这样画: 聚合 组合 关于聚合与组合 “弱”包含表示如果部门没有了,员工也可以继续存在; “强”包含表示如果部门没有了,员工也不再存在。 在做软件需求时,往往会将所有的包含关系画成“弱”包含,后面发现某些关系可以表示为“强”包含是,才转为实心菱形。 关于聚合与组合 关于依赖 假设你正在设计一个能显示公司全体成员的制表系统,公司的员工可以填写这个系统中的电子表格。员工要选择菜单来填写表格。在你的设计中,有一个Syetem(系统)类和一个Form(表格)类。System类的众多操作中有一个displayForm(f:Form),系统所要显示的表格取决于用户选择的表格。 这种设计的UML表示法可以画成如下 几个练习题 题目1:用类图表达出你和你的另外一半的所有关系。 你结婚了吗?如果你已婚,请用类图描绘你和你的另外一半的关系 如果你是单身,你有男朋友或女朋友吗?有的话,请用类图画出你们俩人的关系 如果你还没有另外一半,请你虚拟一位你的意中人,用类图画出你和你的虚拟意中人的关系。 如果你还没有到恋爱或结婚年龄,那么你不需要完成这个练习,直接看后面的参考答案。 题目1: 对于已婚的,如果你是男生,在这个关系中的角色就是老公,一个老公只能对应一个老婆,你应该不会画成1对多吧? 如果你未婚,但你同时有多个男朋友或者女朋友,那么你们的关系可以这样表示 不要因为你能1对多个男朋友(或女朋友)就很开心,这是一种很不好的关系,强烈建议你将1对多的关系变为1对1,而且说不定有朝一日你会被别人1对多 题目1: 如果你还没有另一半,你的另一半是作为“虚拟情人”存在的,你可以画成这样 如果你很爱你的另一半,没有她(他)你简直不能活,她(他)是你的生存必需品,你可以画成这样 题目2:请用类图描述公司与雇员的关系。 这个图表示公司“包含”多名员工,而公司这边也是一个“*”号,这表示一名雇员可受雇于多个公司,事实上很多公司是禁止员工同时受雇于另外一个公司或者兼职,这样公司这边就不能画“*”号。 类图描述公司与雇员的关系 这里的包含是弱包含,能不能画成强包含呢?公司如果不存在了,雇员还存在吗? 一个公司没有了,这个公司应该就不会有任何雇员,但不代表原来的雇员都消失了,他们还是存在的,这个问题就比较纠结了,到底是强包含还是弱包含,每个人的标准可能不一样,不建议在弱包含还是强包含上过于纠结,在需求分析是绝大部分情况只会用弱包含,强包含只会在很明显的情况下采用。 题目3:用类图画出香蕉、苹果、梨子的关系 你可能觉得有点“无厘头”,这三种水果能有怎样的关系呢? 类图画出香蕉、苹果、梨子的关系 图中表示香蕉、苹果、梨子都是水果的一种,用专业有点的说法就是香蕉、苹果、梨子泛化为水果。泛化后的类,有可能是一种经过“抽象”后的东西,这个东西看不到摸不着,是我们脑袋里面提炼出来的一种概念。 香蕉、苹果、梨子泛化为水果,水果可以在泛化为食物,食物又可以进一步泛化。有没有必要不断的泛化呢?泛化到怎样的程度才是合适的呢?一般说来,如果有A、B、C等两个或以上的业务概念,我们发现它们有一些共同的特征,则可以考虑将它们泛化为另外一个东西,这样能帮助我们发现事物的本质;但如果只有一个A时,就没有必要对A在进行泛化。 题目4:请用类图描述公司的组织架构,该公司有一个行政人事部、一个研发部、一个服务部、一个销售部、一个财务部。 这个图似乎公司有多少个部门,多画一个包含就搞定了,这样画似乎一点都显示不出类图的优势。 抽象部门用斜体,表明这个类是抽象类,抽象类表示这个类是提炼出来的一种概念,

文档评论(0)

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

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

1亿VIP精品文档

相关文档