Part2Chap04发现对象、定义对象类.ppt

上传人:sh****n 文档编号:6396193 上传时间:2020-02-24 格式:PPT 页数:28 大小:498.81KB
返回 下载 相关 举报
Part2Chap04发现对象、定义对象类.ppt_第1页
第1页 / 共28页
Part2Chap04发现对象、定义对象类.ppt_第2页
第2页 / 共28页
Part2Chap04发现对象、定义对象类.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
Part2 OOAChapter4发现对象 定义对象类 第4章发现对象 定义对象类4 1对象和类4 2表示法4 3研究问题域和用户需求4 4发现对象4 5对象分类4 6建立类图的对象层 4 1对象和类 4 1 1对象 主动对象以及它们的类 1 1 对象对象是具有明确语义边界并封装了状态和行为的实体 由一组属性和作用在这组属性上的一组操作构成 是构成系统的一个基本单位 它用于描述客观事物 被动对象是对象的每个操作都是被动地响应从外部发来的消息才能执行 主动对象是至少有一个操作不需要接收消息就能主动执行的对象 主动操作是对象中不需要接收消息就能主动执行的操作 2 类类是对一组具有相同属性和操作的一组对象的抽象描述 类为属于该类的全部对象提供了统一的抽象描述 其内部包括属性和操作两个主要部分 一个类的所有对象具有相同的属性 是指所有对象的属性的个数 名称 数据类型都相同 各个对象的属性值则可以互不相同 并且随着程序的执行而变化 至于操作 对于一个类的所有对象都是一样的 即所有的对象共同使用它们的类定义中给出的操作 4 1对象与类 4 1 1对象 主动对象以及它们的类 2 2 类主动类是主动对象的类 抽象类是不直接创建对象实例的类 用于定义特殊类所继承的共同特性 由一个类生成的一个对象可以扮演不同的角色 当一个对象扮演一个具体角色时 它展现给世界一个外观 与对象交互的客户根据对象在某时所扮演的角色而期望一定的行为 一个类的一个角色是在特定的语境下该类的对象所呈现的行为 4 1对象与类 4 1 1对象 主动对象以及它们的类 3 OOA和OOD模型中的一个类在不同的语境下呈现两种不同的语义 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类表示法 主动类 压缩方式 类名 主动 用户需求就是用户对所开发的系统提出的各种要求和期望 阅读交流调查记录整理 4 3研究问题域和用户需求 4 3 1研究用户需求 明确系统责任 13 问题域 problemdomain 指被开发的应用系统所考虑的整个业务范围 亲临现场认真听取领域专家的见解阅读借鉴 4 3研究问题域和用户需求 4 3 2研究问题域 系统边界是指一个系统所包含的所有系统成本与系统以外各种事务之间的分界线 参与者 人员 设备 外系统 4 3研究问题域和用户需求 4 3 3确定系统边界 研究问题域 对问题域中的事物进行抽象 从而得到系统所需要的对象 要进行抽象 必须确定一个目标 这个目标就是系统责任 4 4发现对象 4 4 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 考虑系统责任 事事有人做 4 名词技术从名词到对象或类通常有一对一的映射 运用名词 代词和名词短语识别对象和类 寻找 现实世界 的对象和类 4 4发现对象 4 4 3策略与启发 3 1 舍弃无用的对象1 通过属性判断 是否通过属性记录了某些有用的信息 2 通过操作判断 是否通过操作提供了某些有用的功能 二者都不是 无用 人人有事做 通常 对象应该具有多个属性和操作 也存在对象没有属性仅提供操作 或有属性无操作的情况 4 4发现对象 4 4 4审查与筛选 1 21 2 对象的精简1 只有一个属性的对象 2 只有一个操作的对象 班级 班主任姓名 1 1 班级班主任姓名 输出设备 格式转换器文件格式转换 输出设备 文件格式转换 4 4发现对象 4 4 4审查与筛选 2 3 与实现条件有关的对象 推迟到OOD考虑系统责任所要求的某些功能 例如系统安装 配置 信息备份 浏览 可能无法从问题域中找到相应的对象来提供这些功能 可在设计阶段考虑专门为它们增加一些对象 既把它们推迟到设计阶段考虑 系统责任要求的某些功能可能与实现环境有关 也推迟到设计阶段考虑 例如 与图形用户界面 GUI 系统 数据管理系统 硬件和操作系统有关的对象 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 用类符号表示每个类 填写类的名称 2 对于已经确认的主动对象 在类名之前增加主动标记 主动 或者 符号 3 在类的规约中填写关于每个类详细信息 4 在发现对象的活动中能够认识的属性和操作均可随时添加到类符号中 能够认识的结构和连接 均可随时在类符号之间画出 5 作为对象层的信息 在每个类的规约中要给出针对整个类的总体说明 并在必要的时机指出需要由这个类创建的对象实例 4 6建立类的对象层
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!