面向对象设计安装与界面.ppt
姓 名:薛均晓办公室:水环302(63887286)Email:,UML系统分析与设计UML-System Analysis&Design,重点内容:面向对象思想的基本概念 面向对象的三大要素 面向对象与项目设计 用面向对象思想建立系统模型,第1章 面向对象设计,重点内容:面向对象思想的基本概念 面向对象的三大要素 面向对象与项目设计 用面向对象思想建立系统模型,第1章 面向对象设计,1、面向对象思想的基本概念,编程简史,机器码:使用二进制数字;汇编语言:使用字母数字符号作为机器码的速记方式,通过汇编程序转换为机器码;高级语言:使用有高级结构的语言编程,通过编译程序转换为机器码;结构化编程:自顶向下,逐步细分;面向对象编程(Object Oriented Programming,OOP):以对象为基础,以消息(或事件)来驱动对象执行处理。,一、面向对象思想的基本概念,1、什么叫面向对象,从程序设计方法上来讲,面向对象技术是一种自下而上的程序设计方法,它不像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整个程序。,一、面向对象思想的基本概念,1、什么叫面向对象,学生信息管理系统,例子:,一、面向对象思想的基本概念,1、什么叫面向对象,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。,应对需求变化的能力强。,在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。,便于理解复杂的系统,并能提高系统维护性。,提高重用性。,一、面向对象思想的基本概念,2、对象,对象(object)是面向对象系统的基本构造块,是一些相关的变量和方法的软件集。,一、面向对象思想的基本概念,2、对象,可用一个飞行试驾程序来代表现实世界中的正在飞行的飞机;用机床数控程序来代表现实世界的运行的机床。,可以利用对象来代表现实世界中的对象:,一、面向对象思想的基本概念,2、对象,点击按钮事件就是一个用在GUI窗口系统的公共对象,它可以代表用户点击程序界面中的一个确定按钮的动作;现实世界中的一个合同、银行账号、游戏方法、某个规则、基准等也使用对象代表。,同样可以使用对象来代表抽象的概念:,一、面向对象思想的基本概念,2、对象,物体(看得到的东西),概念(看不到的东西),对象,描述对象,描述对象的过程,就是对现实世界中的对象进行抽象的过程。在抽象的过程中,对象是独立的程序模块,既有自己的属性,又有自己的行为(也可以说有自己的数据和进程)。,一、面向对象思想的基本概念,2、对象,一、面向对象思想的基本概念,2、对象,对象具有属性值刻画对象的静态特征,一、面向对象思想的基本概念,2、对象,对象具有行为刻画对象的动态特征,对象会对其他对象发来的要求做出反应,其他对象发来的要求消息 消息的接受窗口接口 对消息的反应操作(行为),一、面向对象思想的基本概念,2、对象,对象具有关系,通过连接不同的物体,可描述更加复杂的信息 把多个物体归纳为更大的群组,能便于理解信息,一、面向对象思想的基本概念,2、对象,对象之间的关系:,关联 聚合 组合,一、面向对象思想的基本概念,2、对象,关联是一种弱连接:对象之间不完全相互依赖。,一、面向对象思想的基本概念,2、对象,聚合表示把对象放在一起,组成一个更大的对象。聚合形成“部分整体”层次结构,它隐含了较大的依赖性,至少是整体对部分的依赖。,一、面向对象思想的基本概念,2、对象,组合(composition)是一种特殊的聚合,强调整体和部分具有相同的生命期。,一、面向对象思想的基本概念,2、对象,public class Circle public int radius;Point center;,public class Style int x,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章的学习,重点内容:Rational Rose设计UML的工具 Rational Rose的安装Rational Rose的使用,第4章 Rational Rose的安装和操作,一、Rational Rose:设计UML的工具,Rational Rose 是一个完全的、具有能满足所有建模环境(包括Web开发、数据库建模以及各种开发工具和语言)需求能力和灵活性的一套解决方案。Rational Rose 允许系统开发人员、系统管理人员和系统分析人员在软件的各个开发周期内,建立系统地需求和系统的体系架构的可视化模型,并且能够将这些需求和系统的体系架构可视化模型转换成代码,帮助系统开发。,一、Rational Rose的安装,三、Rational Rose的使用,在“New”(新建)选项卡中,我们可以选择创建模型的模板。在“Existing”(打开)选项卡中,我们可以打开一个已经存在的模型,在对话框左侧的列表中,逐级找到该模型所在的目录,然后从右侧的列表中选中该模型,单击“Open”(打开)按钮进行打开。在“Rencent”(最近使用的模型)选项卡中,我们可以选择打开一个最近使用过的模型文件,在选项卡中,选中需要打开的模型,单击“Open”按钮或者双击该模型文件的图标即可。,1、Rational Rose的启动界面,启动Rational Rose,Create New Model窗体中给出了许多开发语言的模型向导,开发者可以根据自己所采用的语言来进行选择如果不需要特定的语言环境,单击Cancel就可以直接进入主界面,Rational Rose主界面,三、Rational Rose的使用,标题栏可以显示当前正在工作的模型文件名称。对于刚刚新建还未被保存的模型名称使用“untitled”表示。此外,标题栏还可以显示当前正在编辑的图的名称和位置,如 Class Diagram:Logical View/Main 代表的是在Logical View(逻辑视图)下创建的名称为Main的Class Diagram(类图)。,2、Rational Rose的操作界面,标题栏,三、Rational Rose的使用,在菜单栏中包含了所有在Rational Rose 2003 中可以进行的操作,一级菜单共有项,分别是“File”(文件)“Edit”(编辑)“View”(视图)“Format”(格式)“Browse”(浏览)“Report”(报告)“Query”(查询)“Tools”(工具)“Add-Ins”(插件)“Window”(窗口)“Help”(帮助)。,菜单栏,2、Rational Rose的操作界面,可以通过“View”(视图)下的“Toolbars”(工具栏)来定制是否显示标准工具栏和编辑区工具栏。单击“Tools”(工具)下的“Options”(选项),弹出一个对话框,选中“Toolbars”(工具栏)选项卡,我们可以在“Standard Toolbar”(标准工具栏)复选框中可以选择显示或隐藏标准工具栏,或者工具栏中的选项是否使用大图标。也可以在“Diagram Toolbar”(图形编辑工具栏)中选择是否显示编辑区工具栏,以及编辑区工具栏显示的样式。,工具栏,2、Rational Rose的操作界面,三、Rational Rose的使用,工作区由四部分构成,浏览器、文档区、图形编辑区和日志区。浏览器和文档区位于Rational Rose 2003工作区域的左侧。浏览器是一种树形的层次结构,可以帮助我们迅速的查找到各种图或者模型元素。文档区用于对Rational Rose 2003中所创建的图或模型元素说明。,工作区,三、Rational Rose的使用,2、Rational Rose的操作界面,编辑区包含了图形工具栏和图的编辑区域,在图的编辑区域中可以根据图形工具栏中的图形元素内容绘制相关信息。在图的编辑区添加的相关模型元素会自动地在浏览器中添加,这样使浏览器和编辑区的信息保持同步。我们也可以将浏览器中的模型元素拖动到图形编辑区中进行添加。,工作区,三、Rational Rose的使用,2、Rational Rose的操作界面,日志区位于Rational Rose 2003工作区域的下方,用以记录了对模型的一些重要操作,工作区,三、Rational Rose的使用,2、Rational Rose的操作界面,可以通过选择“File”(文件)菜单栏下的“New”(新建)命令来创建新的模型,也可以通过标准工具栏下的“新建”按钮创建新的模型,这时便会弹出选择模板的对话框,选择我们想要使用的模板,单击“OK”(确定)按钮即可。如果使用模板,Rational Rose 2003系统就会将模板的相关初始化信息添加到创建的模型中,这些初始化信息包含了一些包、类、构件和图等。,创建模型,三、Rational Rose的使用,2、Rational Rose的基本操作,可通过选择“File”(文件)菜单栏下的“Save”(保存)命令来保存新建的模型,也可以通过标准工具栏下的按钮保存新建的模型,保存的Rational Rose模型文件的扩展名为.mdl。可以通过选择“File”(文件)菜单栏下的“Save Log As”(保存日志)来保存日志,也可以通过“AutoSave Log”(自动保存日志)。,保存模型,三、Rational Rose的使用,2、Rational Rose的基本操作,通过选择“File”(文件)菜单栏下的“Import”(导入)可以用来导入模型、包或类等,可供选择的文件类型包含.mdl、.ptl、.sub或.cat等,导入模型的对话框。导入模型,可以利用现成的建模。,导入模型,三、Rational Rose的使用,2、Rational Rose的基本操作,通过选择“File”(文件)菜单栏下的“Export Model.”(导出模型)可以用来导出模型,导出的文件后缀名为.ptl。*.ptl格式文件类似于模型文件(*.mdl),但是只是模型文件的一部分。模型文件*.mdl则保存完整的模型,导出模型,三、Rational Rose的使用,2、Rational Rose的基本操作,三、Rational Rose的使用,Rational Rose 2003提供了将模型生成相关网页从而在网络上进行发布的功能,这样,可以方便的系统模型的设计人员将系统的模型内容对其它开发人员进行说明。首先,选择“Tools”(工具)菜单栏下的“Web Publisher”选项。,3、Rational Rose的基本操作,发布模型,Web发布器(Web Publisher)创建基于Web(HTML)的模型版本,将模型发布到Web上,通过浏览器顺序或非顺序地进行查看 Web发布器会重新创建Rose模型元素,包括图、类、包、关系、属性以及操作等Web发布器所发布的内容可以通过选项控制,三、Rational Rose的使用,3、Rational Rose的基本操作,发布模型,Web发布器生成的文件 在发布模型之前,应当创建一个新的文件夹发布一个模型时,需要提供一个HTML根文件的名字。通过打开该文件来显示模型。,三、Rational Rose的使用,3、Rational Rose的基本操作,发布模型,三、Rational Rose的使用,如果需要设置发布的模型生成的图片格式,可以点击“Diagram”按钮,有四个选项可以提供选择,分别是“Dont Publish Diagrams”(不要发布图)、Windows Bitmaps(BMP格式)、Portable Network Graphics(PNG格式)和JPEG(JPEG格式)。“Dont Publish Diagrams”(不要发布图)是指不发布图像,仅仅包含文本内容。其余三种指的是发布的图形文件格式。,3、Rational Rose的基本操作,发布模型,三、Rational Rose的使用,添加一个注释包含以下的步骤:1 打开正在编辑的图,选择图形编辑工具栏中的图标,将其拖入到图中需添加注释的模型元素附近。也可以选择“Tools”(工具)菜单下的“Create”(新建)菜单中的“Note”选项,在图中需添加注释的模型元素附近绘制注释即可。2 在图形编辑工具栏中选择图标,或者在“Tools”(工具)菜单下的“Create”(新建)菜单中选择“Note Anchor”选项,添加注释与模型元素的超链接。删除注释的方法很简单,选中注释信息或者注释超链接,按“Delete”或者右键选择“Edit”下“Delete”选项即可。,3、Rational Rose的基本操作,添加或删除注释,三、Rational Rose的使用,创建图的方式可以通过以下的步骤:1 在视图或者包中右键单击选择“New”菜单下的图或模型元素。2 将创建的图或模型元素进行命名。如果需要删除模型中的图或模型元素,需要在浏览器中选中该模型元素或图,右键单击选择“Delete”即可,这样在所有图中存在的该模型元素都会删除。如果在图中选择该模型元素,按“Delete”或者右键选择“Edit”下“Delete”选项值会在该图中删除,其它图中不会产生影响。,3、Rational Rose的基本操作,添加和删除图或模型元素,三、Rational Rose的基本设置,点击“Tools”(工具)菜单下的“Options”选项,能设置字体。,1、字体设置,三、Rational Rose的基本设置,在“General”(全局)选项卡中,在“Default Color”选项中,点击相关按钮,便会弹出颜色设置对话框中,可以设置该选项的颜色信息,这些选项包括“Line Color”(线的颜色)和“Fill Color”(填充区颜色)。,2、颜色设置,复习本节课内容,预习下节课内容(第1章1.3和1.4);书面作业:上机实验作业:,作业,1、简述结构化编程和面向对象编程的区别,并分析面向对象编程的优势。2、简述面向对象的三大要素,并分别分析其作用。,1、登录ftp:/,下载Rational Rose安装文件(目录:/UML(薛均晓)/安装文件/),掌握软件的安装方法 2、熟悉Rational Rose的界面,和练习并掌握相关基本操作 3、登录,下载实验要求和实验报告模板(目录:/UML(薛均晓)/上机实验/),完成实验报告并提交至ftp:/20,下课,