- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第三章类图
回顾用例图用于描述系统的需求用例之间的关系有:包含或扩展关系用例图用于表示系统的行为或功能用例图的各个组成部分包括:系统、参与者和用例2
目标标识和理解关键抽象标识所需的类标识所需的类属性和方法讨论类之间的各种关系掌握绘制类图3
关键抽象4关键抽象是在系统范围上的一些重要概念,主要是从需求中得到(例如词汇表、业务规约以及用例模型),这些概念也会涉及到系统所针对的业务领域知识。关键抽象通常表现为系统的实体,其重要的原因为:在线拍卖拍卖和拍卖物项信用卡竞拍分类用户帐户和未付款项关键抽象业务实体实体之间的关系例如:一个拍卖就包含一个拍卖物项强调与系统设计有关的实体排除系统外部多余的实体最后,关键抽象成为分析模型中的类
候选类在分析的初始过程中阐明的类称为候选类5冗余类无关类标识类的角色多个类定义同一个实体任何不属于应用程序域的类都需去除保留基类,而排除所有作为角色的类标识候选类模糊类没有明确功能的类称为模糊类
识别类3-1类是一组对象,这些对象具有共同的属性和共同的行为类是创建对象的模板6类可捕获对象的本质
对象是类的实例化
识别类3-27在标识类时,需查找:有形事物事件扮演的角色交互位置组织单位
识别类3-3标识的类也称为候选类。可从以下方面标识类:8需求说明用例应用程序专家研究系统分析以下方面可标识其他候选类:相似的系统以前的系统用例应用程序专家需求说明以前的系统相似的系统候选类
类图2-1结构说明语法类对一组对象的描述,这些对象具有相同的属性、操作、方法、关系和语义9类是对一组对象的描述,这些对象具有相似的属性、操作、关系和行为。Windowsize:Size
visibility:booleandisplay()
hide()类名称属性操作类名称属性方法
类图2-210类名称通常可对应于现实生活中的实体类名称类属性类方法属性(:特性,特征)属性是进一步描述对象实例的数据。操作(:方法、服务和行为)操作是对象可执行的过程。AccountHolder-Name:String-Age:Integer+Status:Boolean#Hobby:StringAccountHolder-Name:String-Age:Integer+Status:Boolean#Hobby:String+GetName():String+SetName(sName:String)OrderConstructor+Order(id:integer)accessor+getQuantity():integermutator+setQuantity(id:integer)businesslogic+addOrder(id:integer)+cancelOrder(id:integer)类名称方法参数类型参数名称方法名称-id:integer-quantity:integer=0访问模式属性属性名称属性类型属性值
构建类图创建一个项目新建一个类图添加UML类添加属性和操作(方法)11
对象图12CAH:AccountHolderName=“Charles”Age=35Status=True实例化于属性变量赋予的值类对象
类关系类不是孤立存在的因此,类与类之间创建了一种关系:类关系可能指明某种共享关系类关系可能指明某种类型的语义连接13关联接口与实现组合泛化与继承聚合依赖类关系
14
关联2-1结构说明语法关联两个或多个类符之间的一种关系,此关系涉及类的各个实例之间的连接15识别类之后,需要识别关联多重性(multiplicity)定义有多少对象参与了某个关系各个类都可能与自身有关联公司部门雇员示例:“雇员为公司工作”
关联2-2publicclassPerson{ /**@modelguid{AE706A50-C99B-4002-B0BC-8BF3830FC5A7}*/ privateCar_Vehicle;}publicclassCar{ /**@modelguid{F6646612-CF1E-4039-9A1B-36FD4ACACD5F}*/ publicStringgo(){ returnnewString(Hi!itgoing.); } /**@modelguid{5439D942-4CD0-4F1E-BF7B-096DFFB66303}*/ publicvoidstartEngine(){ }}16
文档评论(0)