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

8.设计与代码映射.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.设计与代码映射

第8讲 设计与代码映射 内容 可见性 设计类图 代码映射 测试驱动开发与代码重构 1. 对可见性进行设计 1.1目标 确定四种可见性 对设置可见性进行设计 1.2可见性 可见性Visibility 是对象看到或引用其它对象的能力 为了使发送者对象能够向接收者对象发送消息,发送者必须具有接收者的可见性,即发送者必须拥有对接收者对象的某种引用或指针 1.3四种可见性 实现对象A到对象B的可见性通常有四种方式: 属性可见性Attribute Visibility: B是A的属性 参数可见性Parameter visibility: B是A方法中的参数 局部可见性Local Visibility: B是A中方法的局部对象(不是参数) 全局可见性Global Visibility: B具有某种方式的全局可见性 为了使对象A能够向对象B发送消息,对于A而言,B必须是可见的 (1)属性可见性 这是一种相对持久地可见性 (2)参数可见性 这是一种相对暂时的可见性 将参数可见性转化为属性可见性十分常见 (3)局部可见性 实现局部可见性的两种常见方式: 创建新的局部实例并将其分配给局部变量 将方法调用返回的对象分配给局部变量 (4)全局可见性 这是一种相对持久的可见性 将实例分配给全局变量,这在某些语言如C++中是可能的 1.4采用UML表示可见性 2.生成设计类图 2.1引言 交互图完成后,有可能来定义软件类(接口)的描述 设计类图(Design Class Diagrams,DCD) 2.2何时生成DCD 实践中,交互图经常与DCD并行创建 为了更清楚地说明DCD,我们选择了在交互图之后介绍DCD 2.3DCD例子 2.4 DCD 和 UP 术语 设计类图描述了应用中的软件类和接口 类,关联和属性 接口,包括操作和常量 方法 属性类型信息 可见性 依赖 UP并没有专门的 “设计类图” UP定义了设计模型,包括交互,包和类图. 在UP设计模型中的类图包含“设计类” 2.5领域模型 vs. 设计模型类 2.6创建NextGen POS DCD 确定软件类并展示它们 检查交互图并列出提到的所有类 给这些类画类图,列出通过领域模型中识别出来,并在设计中采用的属性 添加方法名 通过分析交互图,每一个类具有的方法可以确定 2.7方法的命名 一些注意点 create 消息的解释 访问方法 多对象消息 与语言无关的语法 (1)方法名-create 每一种语言有各自特定的实例化instantiation或者初始化initialization的方法 在C++, 它包含了通过跟随一个构造函数的new操作进行自动内存分配 在Java中, 它包含了对new 运算符的调用,后面跟构造函数调用 (2)Accessing 方法 获取或者设置属性 我们可以将所有属性定义为私有,并对它们定义accessor和mutator 这些方法一般在类图中不显示- (3)多对象 给多对象的消息一般解释为发送给一个container/collection 对象,例如 Java Map, a C++ map 或者Smalltalk Dictionary 2.8增加更多的类型信息 属性,方法参数和返回值的类型可以有选择的显示 什么时候显示? 取决于 目的: Code Generation or only Read 2.9添加关联和方向 关联的每一断称为一个角色,在DCD中,角色可以用方向箭头修饰 关联上的方向箭头一般解释为从源到目标类的属性可见性 在OOP中, 它一般被实现为源类中有一个指向目标类对象的属性 一些需要定义从A指向B的方向性修饰的情形: A发送消息给B A创建B的实例 A 需要保持与B的连接 方向性Navigability 通过交互图来识别i 2.10 添加依赖关系 依赖关系表明一个元素(包括类,用例,等等)知道另外一个元素 用虚线箭头表示 在类图中,依赖关系可以表示非属性可见性,即:参数,全局或者局部可见性 成员细节的表示 DCD中方法体的表示 3. 将设计映射为代码 3.1简介 交互图和DCD可以作为代码生成过程的输入 实现模型包括源代码,数据库定义,源代码, JSP/XML/HTML 3.2 编程和开发过程 现代方法: Design-while-programming 但是我们经常在编程前进行可视化建模 3.3在实现时候的创造性和变更 设计中也包括决策和创新工作 代码的生成 = 机械翻译过程? 不完全对 需要修改,详细的问题将出现并被解决 3.4代码变更和迭代过程 3.5从DCD创建类的定义 定义带有方法和简单属性的类 增加引用属性 类的引用属性是依据类图中的关联和方向性来的 引用属性和角色名字 角色名字是角色的标识 属性映射 3.6从交互图中创建方

文档评论(0)

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

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

1亿VIP精品文档

相关文档