




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Part Part 2: 2: OOAOOA Chapter 4 Chapter 4 发现对象、定义对象类发现对象、定义对象类 第4章 发现对发现对 象、定义对义对 象类类 4.1 对象和类 4.2 表示法 4.3 研究问题域和用户需求 4.4 发现对象 4.5 对象分类 4.6 建立类图的对象层 4.1 对象和类 4.1.1 对象、主动对象以及它们的类(1) (1 1)对象)对象 对象对象是具有明确语义边界并封装了状态和行为的实体,由一 组属性和作用在这组属性上的一组操作构成,是构成系统的一 个基本单位,它用于描述客观事物。 被动对象是对象的每个操作都是被动地响应从外部发来的消 息才能执行。 主动对象是至少有一个操作不需要接收消息就能主动执行的 对象。 主动操作是对象中不需要接收消息就能主动执行的操作。 (2 2)类)类 类类是对一组具有相同属性和操作的一组对象的抽象描述,类 为属于该类的全部对象提供了统一的抽象描述,其内部包括属 性和操作两个主要部分。 一个类的所有对象具有相同的属性,是指所有对象的属性的 个数、名称、数据类型都相同,各个对象的属性值则可以互不 相同,并且随着程序的执行而变化。至于操作,对于一个类的 所有对象都是一样的,即所有的对象共同使用它们的类定义中 给出的操作。 4.1 对象与类 4.1.1 对象、主动对象以及它们的类(2) (2 2)类)类 主动类主动类是主动对象的类。 抽象类抽象类是不直接创建对象实例的类,用于定义特殊类所继 承的共同特性。 由一个类生成的一个对象可以扮演不同的角色,当一个对 象扮演一个具体角色时,它展现给世界一个外观,与对象交互 的客户根据对象在某时所扮演的角色而期望一定的行为。 一个类的一个角色是在特定的语境下该类的对象所呈现的 行为。 4.1 对象与类 4.1.1 对象、主动对象以及它们的类(3) OOA OOA和和OODOOD模型中的一个类在不同的语境下呈现两模型中的一个类在不同的语境下呈现两 种不同的语义:种不同的语义: (1)一个类代表属于该类的全部独享实例所构成的群体。 (2)一个类代表属于该类的任意一个对象实例。 4.1 对象与类 4.1.2 类的语义 4.1 对象与类 4.1.3 在类的抽象层次上建模 模型的直接构造成分是一些类,通过这些类以及它模型的直接构造成分是一些类,通过这些类以及它 们之间的各种关系描述整个系统中所有对象的特征及们之间的各种关系描述整个系统中所有对象的特征及 其相互关系。其相互关系。 (1)充分性; (2)必要性; (3)符合人类的思维方式; (4)与OOPL保持良好的对应; (5)避免建模概念过分复杂; (6)消除抽象层次上的混乱。 4.1 对象与类 4.1.4 如何运用对象和类的概念 (1)以对象为基本概念来认识问题域,将问题域中的事物 抽象为对象; (2)将具有共同特征的对象抽象为类,用类以及它们之间 的关系构成整个系统模型; (3)模型中不包括实例级的建模元素,用类表示属于该类 的任何对象; (4)在类的规约中说明这个类创建哪些对象实例。 类 名 普通类,展开方式 (1)普通类表示法:在模型中用类符号来表示一个类, 它代表属于该类的全部对象实例。 最上面的那个名称栏包含类名;中间的分栏包含属性列表;最下面的分 栏包含操作列表。 每个属性和操作各占一行, 对象名:类名 对象 4.2 类表示法 类 名 普通类,压缩方式 类名主动 主动类,展开方式 (2)主动类表示法:在模型中用类符号来表示一个类, 它代表属于该类的全部对象实例。 类名 UML2.0表示法 4.2 类表示法 主动类,压缩方式 类名主动 用户需求就是用户对所开发的系统提出的各种要 求和期望。 n 阅读 n 交流 n 调查 n 记录 n 整理 4.3 研究问题域和用户需求 4.3.1 研究用户需求,明确系统责任 13 问题域(problem domain)指被开发的应用系统所 考虑的整个业务范围。 亲临现场 认真听取领域专家的见解 阅读 借鉴 4.3 研究问题域和用户需求 4.3.2 研究问题域 系统边界是指一个系统所包含的所有系统成本 与系统以外各种事务之间的分界线。 参与者:人员、设备、外系统。 4.3 研究问题域和用户需求 4.3.3 确定系统边界 研究问题域,对问题域中的事物进行抽象,从而研究问题域,对问题域中的事物进行抽象,从而 得到系统所需要的对象。得到系统所需要的对象。 要进行抽象,必须确定一个目标,这个目标就是 系统责任。 4.4 发现对象 4.4.1 出发点问题域和系统责任 (1 1)要舍弃那些与系统责任无关的事物,只注意)要舍弃那些与系统责任无关的事物,只注意 与系统责任有关的事物,把它们抽象为系统中的对与系统责任有关的事物,把它们抽象为系统中的对 象。象。 (2)还要考虑把事物抽象成什么对象,以及如何 对这些对象进行分类。 (3)应该把握“先松后紧”原则。 4.4 发现对象 4.4.2 正确地应用抽象原则 4.4 发现对象 4.4.3 策略与启发(1) 1. 考虑问题域 1)人员; 2)组织; 3)物品; 4)设备 5)抽象事物; 6)事件 7)文件 8)结构 4.4 发现对象 4.4.3 策略与启发(2) 2考虑系统边界 1)人员 2)设备 3)外系统 3 3考虑系统责任考虑系统责任 “事事有人做” 4. 4. 名词技术名词技术 从名词到对象或类通常有一对一的映射。运用名词、代词 和名词短语识别对象和类(寻找“现实世界”的对象和类)。 4.4 发现对象 4.4.3 策略与启发(3) 1. 舍弃无用的对象 1) 通过属性判断: 是否通过属性记录了某些有用的信息? 2) 通过操作判断: 是否通过操作提供了某些有用的功能? 二者都不是无用,“人人有事做”。 通常,对象应该具有多个属性和操作。也存在对象没有属 性仅提供操作,或有属性无操作的情况。 4.4 发现对象 4.4.4 审查与筛选(1) 21 2. 对象的精简 1) 只有一个属性的对象 2) 只有一个操作的对象 班级 班主任 姓名11 班级 班主任姓名 输出设备 格式转换器 文件格式转换 输出设备 文件格式转换 4.4 发现对象 4.4.4 审查与筛选(2) 3 3. . 与实现条件有关的对象,推迟到与实现条件有关的对象,推迟到OODOOD考虑考虑 系统责任所要求的某些功能例如系统安装、配置、信息 备份、浏览可能无法从问题域中找到相应的对象来提供 这些功能,可在设计阶段考虑专门为它们增加一些对象,既 把它们推迟到设计阶段考虑。 系统责任要求的某些功能可能与实现环境有关,也推迟 到设计阶段考虑。例如:与图形用户界面(GUI)系统、数 据管理系统、硬件和操作系统有关的对象。 4. 4. 对职责过多的类进行对职责过多的类进行分解分解 4.4 发现对象 4.4.4 审查与筛选(3) 主动对象是具有主动行为的对象,在设计阶段是拥有线 程或进程并能够启动控制活动的对象。主动类是其实例为主动 对象的类。 识别主动对象的策略: (1)考虑问题域 哪些对象需呈现主动行为?-按定义 (2)考虑系统执行情况 根据系统责任观察系统功能的构成层次,重点考虑完成最外层功能 的对象是否应定义为主动对象。 (3)考虑系统边界 哪些对象与参与者交互?如果一个交互是由参与者发起的,第一 个处理该交互的对象是主动对象。 4.4 发现对象 4.4.5 识别主动对象(1) 识别主动对象的策略: (4)进行操作执行路线的逆向追踪。 (5)在分析阶段不能完全确定主动对象。 4.4 发现对象 4.4.5 识别主动对象(2) 先使用问题域知识从对象中识别出类,然后依据对象 和类的定义,使用概括来寻找两个或多个共享相同特征的 对象,概括这些共同的方面来形成类。 从对象到类的抽象过程,中间并没有一个明显的分界 线,常常在无形中发生。 4.5 对象分类 4.5.1 将对象抽象为类 1. 类的属性或操作不适合该类的全部对象 例:“汽车”类的“乘客限量”属性,不适合于吊车、铲车。 问题:分类不够详细,采取措施:进一步划分特殊类。 2. 属性及操作相同的类 经过抽象,差别很大的事物可能只保留相同的特征, 考虑能否合并为一个类,如计算机与吸尘器 3. 属性及操作相似的类 考虑能否提升出一个一般类,或形成整体部分结构。 例:轿车、货车,抽象出汽车;机床与鼓风机用电机做成分. 4. 同一事物的重复描述 例:“职员”和“工作证” 取消其中一个 4.5 对象分类 4.5.2 检查和调整 (1)类的名字应该恰好符合这个类(和它的特殊类)所 包含的每个对象。 (2)类的名字,应该反映每个对象个体,而不是整个群 体。 (3)采用名词,或者带有定语的名词(如“书”或者“线 装书”);使用规范的词汇,不用市井俚语;使用领域专家 及用户惯用词汇。 (4)使用便于交流的语言文字。 4.5 对象分类 4.5.3 类的命名 (1)用类符号表示每个类,填写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运料临时码头施工方案
- 潜江厂区防雷施工方案
- 班级建设文化课件
- 江西科技师范大学《声乐文献》2023-2024学年第二学期期末试卷
- 雾化吸入疗法操作规范
- 山东职业学院《企业经营活动沙盘模拟》2023-2024学年第二学期期末试卷
- 沈阳城市学院《社会性别文化》2023-2024学年第一学期期末试卷
- 四川城市职业学院《可再生能源建筑一体化技术》2023-2024学年第二学期期末试卷
- 江西家用水塔施工方案
- 江西卫生职业学院《药物合成反应实验》2023-2024学年第二学期期末试卷
- 小说中景物描写的作用
- 第十二讲 建设社会主义生态文明PPT习概论2023优化版教学课件
- 工商管理实习周记十篇
- 幼儿园体育游戏活动评价表
- 2023年通管局安全员考试-培训及考试题库(导出版)
- GB/T 4857.22-1998包装运输包装件单元货物稳定性试验方法
- GB/T 25074-2010太阳能级多晶硅
- GB/T 23842-2009无机化工产品中硅含量测定通用方法还原硅钼酸盐分光光度法
- GA/T 1217-2015光纤振动入侵探测器技术要求
- 特种陶瓷介绍课件
- 有机物污染(环境化学)课件
评论
0/150
提交评论