面向对象设计04RationalRose安装与界面.ppt_第1页
面向对象设计04RationalRose安装与界面.ppt_第2页
面向对象设计04RationalRose安装与界面.ppt_第3页
面向对象设计04RationalRose安装与界面.ppt_第4页
面向对象设计04RationalRose安装与界面.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

姓名 薛均晓办公室 水环302 63887286 Email xuejx UML系统分析与设计UML SystemAnalysis Design 重点内容 面向对象思想的基本概念面向对象的三大要素面向对象与项目设计用面向对象思想建立系统模型 第1章面向对象设计 重点内容 面向对象思想的基本概念面向对象的三大要素面向对象与项目设计用面向对象思想建立系统模型 第1章面向对象设计 1 面向对象思想的基本概念 编程简史 机器码 使用二进制数字 汇编语言 使用字母数字符号作为机器码的速记方式 通过汇编程序转换为机器码 高级语言 使用有高级结构的语言编程 通过编译程序转换为机器码 结构化编程 自顶向下 逐步细分 面向对象编程 ObjectOrientedProgramming OOP 以对象为基础 以消息 或事件 来驱动对象执行处理 一 面向对象思想的基本概念 1 什么叫面向对象 从程序设计方法上来讲 面向对象技术是一种自下而上的程序设计方法 它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序 面向对象程序设计往往从问题的一部分着手 一点一点地构建出整个程序 一 面向对象思想的基本概念 1 什么叫面向对象 学生信息管理系统 例子 一 面向对象思想的基本概念 1 什么叫面向对象 用户需求的变化大部分是针对功能的 因此 这种变化对于基于过程的设计来说是灾难性的 应对需求变化的能力强 在软件开发过程中 始终强调软件的可读性 可修改性和可测试性是软件的重要的质量指标 便于理解复杂的系统 并能提高系统维护性 提高重用性 一 面向对象思想的基本概念 2 对象 对象 object 是面向对象系统的基本构造块 是一些相关的变量和方法的软件集 一 面向对象思想的基本概念 2 对象 可用一个飞行试驾程序来代表现实世界中的正在飞行的飞机 用机床数控程序来代表现实世界的运行的机床 可以利用对象来代表现实世界中的对象 一 面向对象思想的基本概念 2 对象 点击按钮事件就是一个用在GUI窗口系统的公共对象 它可以代表用户点击程序界面中的一个确定按钮的动作 现实世界中的一个合同 银行账号 游戏方法 某个规则 基准等也使用对象代表 同样可以使用对象来代表抽象的概念 一 面向对象思想的基本概念 2 对象 物体 看得到的东西 概念 看不到的东西 对象 描述对象 描述对象的过程 就是对现实世界中的对象进行抽象的过程 在抽象的过程中 对象是独立的程序模块 既有自己的属性 又有自己的行为 也可以说有自己的数据和进程 一 面向对象思想的基本概念 2 对象 一 面向对象思想的基本概念 2 对象 对象具有属性值 刻画对象的静态特征 一 面向对象思想的基本概念 2 对象 对象具有行为 刻画对象的动态特征 对象会对其他对象发来的要求做出反应 其他对象发来的要求 消息消息的接受窗口 接口对消息的反应 操作 行为 一 面向对象思想的基本概念 2 对象 对象具有关系 通过连接不同的物体 可描述更加复杂的信息把多个物体归纳为更大的群组 能便于理解信息 一 面向对象思想的基本概念 2 对象 对象之间的关系 关联聚合组合 一 面向对象思想的基本概念 2 对象 关联是一种弱连接 对象之间不完全相互依赖 一 面向对象思想的基本概念 2 对象 聚合表示把对象放在一起 组成一个更大的对象 聚合形成 部分 整体 层次结构 它隐含了较大的依赖性 至少是整体对部分的依赖 一 面向对象思想的基本概念 2 对象 组合 composition 是一种特殊的聚合 强调整体和部分具有相同的生命期 一 面向对象思想的基本概念 2 对象 publicclassCircle publicintradius Pointcenter publicclassStyle intx y 对象可唯一识别 即使对象有相同属性 还是能唯一识别 一 面向对象思想的基本概念 2 对象 对象的特征 属性 具有表示状态或者特性的值 操作 行为 提供某种服务 或更改对象内部的属性 一般用动词表示 关系 识别性 一 面向对象思想的基本概念 2 对象 一 面向对象思想的基本概念 3 类 类 Class 是具有相同属性和操作的一组对象的组合 也就是说 抽象模型中的 类 描述了一组相似对象的共同特征 为属于该类的全部对象提供了统一的抽象描述 着眼于对象的属性和行为的共同性 并进行分类后形成的 把这个工作称作类化 是抽象化的基本方法之一反之 把通过类来创建对象的工作称作实例化 类是具有相同属性和操作的对象集合的总称类封装了客观世界中对象实体的特征与行为 即属性与方法 一 面向对象思想的基本概念 3 类 类的例子 找一下类 找到几个类 分类状况不同 结果也不同 类和对象的关系 每一个对象都是某一个类的实例每一个类在某一时刻都有零个或更多的实体类是静态的 它们的存在 语义和关系在执行前就已经定义好了对象是动态的 它们在程序执行时可以被创建和删除 一 面向对象思想的基本概念 4 消息与事件 所谓消息 Message 是指描述事件发生的信息 是对象间相互联系和相互作用的方式 一个消息主要由5部分组成 消息的发送对象 消息的接收对象 消息传递方式 消息内容 参数 消息的返回 传入的消息内容的目的有两个 一个是让接受请求的对象获取执行任务的相关信息 另一个是行为指令 一 面向对象思想的基本概念 4 消息与事件 所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作 事件作用于对象 对象识别事件并作出相应反应 重点内容 面向对象思想的基本概念面向对象的三大要素面向对象与项目设计用面向对象思想建立系统模型 第1章面向对象设计 二 面向对象的三大要素 1 封装 封装 Encapsulation 是把对象的属性 状态 和操作 行为 绑到一起的机制 把对象形成一个独立的整体 并且尽可能的隐藏对象的内部细节 二 面向对象的三大要素 1 封装 封装有两层含义 一是结合性 把对象的全部状态和行为结合一起 形成一个不可分割的整体 对象的私有属性只能够由对象的行为来修改和读取 二是信息隐蔽性 尽可能隐蔽对象的内部细节 与外界的联系只能够通过外部接口来实现 二 面向对象的三大要素 1 封装 封装性应满足的条件 有一个清晰的边界 有确定的接口 受保护的内部实现 二 面向对象的三大要素 1 封装 封装是面向对象编程防止程序员相互干扰的一种方式 例子 借钱 二 面向对象的三大要素 1 封装 封装是一个重要原则 是指把属性和操作封装进一个对象里 它的内部信息对外界隐藏 不允许外界直接存取对象的属性 只能通过对象提供的有限的接口对对象的属性数据进行操作 封装的信息屏蔽作用反映了事物的相对独立性 我们可以只关心它对外所提供的接口 即能够提供什么样的服务 而不用去关注其内部的细节问题 二 面向对象的三大要素 2 继承 对于客观世界的认知 既应看到其共性 也应看到其特性 如果只考虑事物的共性 不考虑事物的特性 就不能反映出客观世界中事物之间的层次关系 从而不能完整地 正确地对客观世界进行抽象的描述 二 面向对象的三大要素 2 继承 如果说运用抽象的原则就是舍弃对象的特性 提取其共性 从而得到一个对象集的类的话 那么在这个类的基础上 再重新考虑抽象过程中被舍弃的那一部分对象的特性 则可以形成一个新的类 这个类具有前一个类的全部特征 是前一个类的子集 从而形成一种层次结构 即继承结构 二 面向对象的三大要素 2 继承 继承 Inheritance 是一种连接类与类的之间的层次模型 继承是指特殊类的对象拥有其一般类的属性和行为 继承了其它类属性和方法的类称为子类 被继承的类称为父类或超类 子类复用父类属性和方法的过程 称为继承或泛化 二 面向对象的三大要素 2 继承 继承是一种连接类与类之间的层次模型继承意味着 自动地拥有 或 隐含地复制 即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义 而是特殊类自动地拥有一般类的属性和行为继承对类的重用性提供了一种明确表述共性的方法 即一个特殊类既有自己定义的属性和方法 又有继承下来的属性和行为继承是传递的 二 面向对象的三大要素 2 继承 使子类能够比不使用继承直接进行描述的类更加简洁 子类只需要描述哪些与父类不同的地方 不使用继承而去直接描述时 需要将父类的属性和行为全部再进行描述 能够重用和扩展现有类库资源 当使用已封装好的类库时 如果需要对某个类进行扩展 通过继承的方式很容易实现 而不需要再去重新编写 使软件易于维护和修改 当要修改 增加某一属性和行为时 只需要在相应地类中进行改动 而它派生的所有类将自动地做了相应修改 二 面向对象的三大要素 2 继承 二 面向对象的三大要素 3 多态 二 面向对象的三大要素 3 多态 二 面向对象的三大要素 3 多态 二 面向对象的三大要素 3 多态 多态性 Polymorphism 是指在两个或多个属于相同类中同一函数名对应多个具有相似功能的不同函数 可以使用相同的调用方式来调用这些具有不同功能的同名函数 多态性既可应用于变量 多态变量 又可应用于消息 多态消息 多态变量表示值在不同的时刻有不同的类型 多态消息表示有多个方法与对象相关 二 面向对象的三大要素 3 多态 下面看一组变量的定义 多态变量 二 面向对象的三大要素 3 多态 再看下面的类层次结构 多态变量 二 面向对象的三大要素 3 多态 因此 以下语句是合法的 多态变量 从类的定义上来看 Truck和Train都是陆上交通工具 因此可以被当作陆上交通工具来对待 从面向对象的程序设计思想来看 允许将一个子类型的实例赋值给它的祖先类型 因为所有发送给祖先类型的消息都可以发送给子类型 二 面向对象的三大要素 3 多态 多态变量 lv先是指向Truck 而后又指向Train 所以它是一个多态变量 多态允许把变量关联到子类对象上 不能反向 也就是说 任何一个子类的对象都可以说成是其父类的一个对象 但是反之则不一定了 例如 我们可以说白马是马 但是不能说马一定是白马 如下图所示的Bird Finch Eagle和Human类都有flyTo方法 多态消息 二 面向对象的三大要素 3 多态 Finch类和Eagle类的flyTo方法有着类似的算法 都用来描述鸟类的飞行 但是雀类和鹰类的具体飞行方式仍有区别 flyTo方法在Human类中是独立定义的 它与Finch类和Eagle类中的flyTo方法有着完全不同的算法 人类是不能飞行 只能乘坐飞机 上述例子说明 在面向对象的语言中 任何消息都可以关联多个方法 这些方法或者是在多个类中是独立的 或者由子类重新定义了 多态消息 二 面向对象的三大要素 3 多态 重点内容 面向对象思想的基本概念面向对象的三大要素面向对象与项目设计用面向对象思想建立系统模型 第1章面向对象设计 说明 为了使课堂教学与实验能同步 适当打乱教材的学习顺序1 3和1 4留在以后学习首先进入第4章的学习 重点内容 RationalRose 设计UML的工具RationalRose的安装RationalRose的使用 第4章RationalRose的安装和操作 一 RationalRose 设计UML的工具 RationalRose是一个完全的 具有能满足所有建模环境 包括Web开发 数据库建模以及各种开发工具和语言 需求能力和灵活性的一套解决方案 RationalRose允许系统开发人员 系统管理人员和系统分析人员在软件的各个开发周期内 建立系统地需求和系统的体系架构的可视化模型 并且能够将这些需求和系统的体系架构可视化模型转换成代码 帮助系统开发 一 RationalRose的安装 三 RationalRose的使用 在 New 新建 选项卡中 我们可以选择创建模型的模板 在 Existing 打开 选项卡中 我们可以打开一个已经存在的模型 在对话框左侧的列表中 逐级找到该模型所在的目录 然后从右侧的列表中选中该模型 单击 Open 打开 按钮进行打开 在 Rencent 最近使用的模型 选项卡中 我们可以选择打开一个最近使用过的模型文件 在选项卡中 选中需要打开的模型 单击 Open 按钮或者双击该模型文件的图标即可 1 RationalRose的启动界面 启动RationalRose CreateNewModel窗体中给出了许多开发语言的模型向导 开发者可以根据自己所采用的语言来进行选择如果不需要特定的语言环境 单击Cancel就可以直接进入主界面 RationalRose主界面 三 RationalRose的使用 标题栏可以显示当前正在工作的模型文件名称 对于刚刚新建还未被保存的模型名称使用 untitled 表示 此外 标题栏还可以显示当前正在编辑的图的名称和位置 如ClassDiagram LogicalView Main代表的是在LogicalView 逻辑视图 下创建的名称为Main的ClassDiagram 类图 2 RationalRose的操作界面 标题栏 三 RationalRose的使用 在菜单栏中包含了所有在RationalRose2003中可以进行的操作 一级菜单共有项 分别是 File 文件 Edit 编辑 View 视图 Format 格式 Browse 浏览 Report 报告 Query 查询 Tools 工具 Add Ins 插件 Window 窗口 Help 帮助 菜单栏 2 RationalRose的操作界面 可以通过 View 视图 下的 Toolbars 工具栏 来定制是否显示标准工具栏和编辑区工具栏 单击 Tools 工具 下的 Options 选项 弹出一个对话框 选中 Toolbars 工具栏 选项卡 我们可以在 StandardToolbar 标准工具栏 复选框中可以选择显示或隐藏标准工具栏 或者工具栏中的选项是否使用大图标 也可以在 DiagramToolbar 图形编辑工具栏 中选择是否显示编辑区工具栏 以及编辑区工具栏显示的样式 工具栏 2 RationalRose的操作界面 三 RationalRose的使用 工作区由四部分构成 浏览器 文档区 图形编辑区和日志区 浏览器和文档区位于RationalRose2003工作区域的左侧 浏览器是一种树形的层次结构 可以帮助我们迅速的查找到各种图或者模型元素 文档区用于对RationalRose2003中所创建的图或模型元素说明 工作区 三 RationalRose的使用 2 RationalRose的操作界面 编辑区包含了图形工具栏和图的编辑区域 在图的编辑区域中可以根据图形工具栏中的图形元素内容绘制相关信息 在图的编辑区添加的相关模型元素会自动地在浏览器中添加 这样使浏览器和编辑区的信息保持同步 我们也可以将浏览器中的模型元素拖动到图形编辑区中进行添加 工作区 三 RationalRose的使用 2 RationalRose的操作界面 日志区位于RationalRose2003工作区域的下方 用以记录了对模型的一些重要操作 工作区 三 RationalRose的使用 2 RationalRose的操作界面 可以通过选择 File 文件 菜单栏下的 New 新建 命令来创建新的模型 也可以通过标准工具栏下的 新建 按钮创建新的模型 这时便会弹出选择模板的对话框 选择我们想要使用的模板 单击 OK 确定 按钮即可 如果使用模板 RationalRose2003系统就会将模板的相关初始化信息添加到创建的模型中 这些初始化信息包含了一些包 类 构件和图等 创建模型 三 RationalRose的使用 2 RationalRose的基本操作 可通过选择 File 文件 菜单栏下的 Save 保存 命令来保存新建的模型 也可以通过标准工具栏下的按钮保存新建的模型 保存的RationalRose模型文件的扩展名为 mdl 可以通过选择 File 文件 菜单栏下的 SaveLogAs 保存日志 来保存日志 也可以通过 AutoSaveLog 自动保存日志 保存模型 三 RationalRose的使用 2 RationalRose的基本操作 通过选择 File 文件 菜单栏下的 Import 导入 可以用来导入模型 包或类等 可供选择的文件类型包含 mdl ptl sub或 cat等 导入模型的对话框 导入模型 可以利用现成的建模 导入模型 三 RationalRose的使用 2 RationalRose的基本操作 通过选择 File 文件 菜单栏下的 ExportModel 导出模型 可以用来导出模型 导出的文件后缀名为 ptl ptl格式文件类似于模型文件 mdl 但是只是模型文件的一部分 模型文件 mdl则保存完整的模型 导出模型 三 RationalRose的使用 2 RationalRose的基本操作 三 RationalRose的使用 RationalRose2003提供了将模型生成相关网页从而在网络上进行发布的功能 这样 可以方便的系统模型的设计人员将系统的模型内容对其它开发人员进行说明 首先 选择 Tools 工具 菜单栏下的 WebPublisher 选项 3 RationalRose的基本操作 发布模型 Web发布器 WebPublisher 创建基于Web HTML 的模型版本 将模型发布到Web上 通过浏览器顺序或非顺序地进行查看Web发布器会重新创建Rose模型元素 包括图 类 包 关系 属性以及操作等Web发布器所发布的内容可以通过选项控制 三 RationalRose的使用 3 RationalRose的基本操作 发布模型 Web发布器生成的文件在发布模型之前 应当创建一个新的文件夹发布一个模型时 需要提供一个HTML根文件的名字 通过打开该文件来显示模型 三 RationalRose的使用 3 RationalRose的基本操作 发布模型 三 RationalRose的使用 如果需要设置发布的模型生成的图片格式 可以点击 Diagram 按钮 有四个选项可以提供选择 分别是 Don tPublishDiagrams 不要发布图 WindowsBitmaps BMP格式 PortableNetworkGraphics PNG格式 和JPEG JPEG格式 Don tPublishDiagrams 不要发布图 是指不发布图像 仅仅包含文本内容 其余三种指的是发布的图形文件格式 3 RationalRose的基本操作 发布模型 三 RationalRose的使用 添加一个注释包含以下的步骤 1打开正在编辑的图 选择图形编辑工具栏中的图标 将其拖入到图中需添加注释的模型元素附近 也可以选择 Tools 工具 菜单下的 Create 新建 菜单中的 Note 选项 在图中需添加注释的模型元素附近绘制注释即可 2在图形编辑工具栏中选择图标 或者在 Too

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论