管理信息系统第五章1.ppt_第1页
管理信息系统第五章1.ppt_第2页
管理信息系统第五章1.ppt_第3页
管理信息系统第五章1.ppt_第4页
管理信息系统第五章1.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、管理信息系统,主讲:周宇葵,第五章 面向对象的开发方法,第一节 面向对象与UML,一、面向对象概述,1、面向对象的基本思想 在面向对象方法中,是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,把一切都看成是对象,用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与操作刻画了事物的性质和行为,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系。因此,无论系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可直接地映射问题域。,从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域(现实世界)中

2、的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌。(对象) 用对象的属性表示事物的性质;用对象的操作表示事物的行为。(属性与操作) 对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。(对象的封装),对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。(类) 复杂的对象可以用简单的对象作为其构成部分。(聚合) 通过在不同程度上运用抽象的原则。如特殊类继承一般类的属性与操作,从而简化

3、系统的构造过程及其文档。(继承) 类具有封装性,把内部的属性和操作隐藏起来,只有公共的操作对外是可见的。(类的封装性) 对象之间通过消息进行通讯,以实现对象之间的动态联系。(消息) 通过关联表达类(一组对象)之间的静态关系。(关联),2、面向对象的基本特征,抽象 在某个重要的或想关注的方面来表示某个物体或概念 忽略主题中与当前目标无关的方面 封装 把操作和数据包围起来,对数据的访问只通过已定义的接口来完成,使对象能够集中而完整地描述并对应一个具体事物。 体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据,避免外部错误对它的“交叉感染”。对象内部的修改对外部的影响很小,减少修改引起的“

4、波动效应”。 公开静态的、不变的操作,而把动态的、易变的操作隐藏起来。,继承 提供一种表述类的共性的方法 类层次,定义一个新类,可以从现有的类中派生出来 子类可以从父类继承方法和属性 多态 不同类的对象可以对同一消息作出响应,执行不同的处理 指同一个命名可具有不同的语义,3、面向对象开发的优点,提高软件系统的可复用性 原因:封装性、继承性 复用途径:创建类的实例对象、从已有类派生新的子类、新系统中重用现有类 提高软件系统的可扩展性 原因:封装性、继承性 途径:扩充现有类的属性或方法;扩充现有类的子类,利用继承对新的类添加属性和方法;加入新类 提高软件系统的可维护性 原因:封装性 途径:修改、完

5、善现有类,二、UML简介,Unified Modeling Language-统一建模语言,用可视化的方式设计软件蓝图(模型)。 近10多年来OOSE(面向对象软件工程)最重要的成果 贡献者:Grady Booch,James Rumbaugh,Ivar Jacobson 中文网站 ,UML“三友” Rational公司“三巨头”,Grady Booch James Rumbaugh Ivar Jacobson,BOOCH方法 OMT方法 OOSE方法,UML,UML发展历史,Grady Booch James Rumbaugh,Ivar Jacobson,1、UML的组成,UML的模型元素

6、表示模型中的某个概念 类、对象、构件、用例、结点(node)、接口(interface)、包(package)和注释(note) 表示模型元素之间的关系 关联、泛化、依赖、实现、聚合和组合,UML模型元素的图形符号,图 静态图 用例图:描述系统功能 类图:描述系统的静态结构 对象图:描述系统在某个时刻的静态结构 包图:描述系统的分层结构 构件图:描述实现系统的元素的组织 部署图:描述系统环境元素的配置 动态图 状态图:描述系统元素的状态条件和响应 时序图:按时间顺序描述系统元素间的交互 协作图:按照连接关系描述系统元素间的交互 活动图:描述系统元素的活动流程,2、UML的特点,统一标准 统一了

7、不同的面向对象开发方法的基本概念 成为OMG(对象管理组织,1997年)、ISO(国际标准化组织,2000年)的标准 面向对象 支持面向对象的概念 表达能力强大、可视化 UML是一种图形化语言,可清晰表达系统的逻辑模型和实现模型;UML提供了语言扩展机制,用户可根据需要自定义构造型、约束等,适用于复杂软件建模,3、UML的应用,用于面向对象开发,帮助理解系统、辅助构建系统,并建立文档。 描述需求,根据需求建立系统的静态模型,以构造系统的结构-静态建模 (用例图、类图、对象图、构件图、部署图) 描述系统的行为-动态建模 (活动图、时序图、状态图、协作图) 可用作测试阶段的依据 单元测试:类图和类

8、规格说明 集成测试:构件图、协作图 系统测试:用例图、部署图 验收测试:用户,三、静态建模,1、用例图与用例模型 用例模型由一组用例图组成 用例图用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者。 用于需求分析与测试 用例图的组成符号,用例图示例,强调谁在使用系统 强调系统为执行者完成哪些功能,用例之间的关系 包含关系(include):是指一个用例作为另一个用例必需的部分被使用 扩展关系(extend):根据指定的条件,一个用例中有可能加入另一个用例的动作,2、类图 类描述同类对象的属性和行为,类图表示类和类之间的关系、描述系统的静态结构。 用于需求分析、设计、实现与测试

9、 类属性的语法:可见性 属性名:类型=默认值 约束特性 可见性取值:+(公有/Public)、#(受保护/Protected)、 -(私有/Private) 操作的语法: 可见性 操作名(参数表):返回类型 约束特性 重数:写在关联两端,表示该类有多少个对象可与对方的一个对象连接。格式: 下限.上限,类间关系 关联:类之间的语义关系。分普通关联、递归关联、多重关联 泛化:较特殊的类和较一般的类之间的直接关系,即继承关系 聚集:又称整体-部分结构,用于描述系统中各类对象之间的组成关系,组合是聚集的一种特殊形式,其部分和整体之间具有很强的“属于”关系,部分离开整体不能存在,但可先于整体消亡。 依赖

10、:就是某个对象的功能依赖于另外的某个对象,最常见的是一个类是另一个类中方法的参数类型,关联关系,泛化关系,泛化类,具体类,聚集关系,成员,课题组,个人,聚合关系,窗口,标题,外框,显示区,组合关系,依赖关系,SaveFrame(frm:Frame),3、对象图,含义:对象图是对包含在类图中的各个类进行实例建模,显示了在某一时间点上系统中的一组对象以及它们之间的关系。 表示法:与类图同,但对象的名字下面要加一条下划线。,对象名:类名,:类名,对象名,对象图示例,王平:学生,姓名:王平 学号:020106,英语:书,书名:英语 价格:26.5,数学:书,书名:数学 价格:21.8,4、包图 包是对

11、模型元素分组的机制。 使用包的最常见目的是把建模元素组织成为组,作为一个集合进行命名和处理,使复杂的问题简单化。 包可以拥有类、接口、构件、节点、用例等,甚至可以是其它包。 一个元素只能被一个包所拥有。 包间关系:依赖、泛化。,四、动态建模,消息:消息是对象之间的通讯的规格说明。对象通过相互间消息传递进行合作,根据通信的结果不断改变自身在生存周期中的状态 用带箭头的线段联系消息的发送者与接收者,简单消息:表示简单的控制流,描述信息在对象间的传递。 同步消息:表示嵌套的控制流。调用者发出消息后必须等待消息返回才能继续执行。 异步消息:表示异步控制流,描述并发行为,调用者发出消息后不用等待消息返回

12、即可继续执行自己的操作。,1、时序图/顺序图,含义 是一种详细表示对象之间以及对象与系统外部的参与者之间动态联系的图形。 详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用况时的行为依赖关系,以及操作和消息的时序关系。 用途 帮助分析员对照检查每个用况中描述的用户需求,是否已经落实到一些对象中去实现(用例描述)。提醒分析员去补充遗漏的对象类或操作。 帮助分析员发现哪些对象是主动对象 通过对一个特定的对象群体的动态方面建模,深刻地理解对象之间的交互(详细设计的类行为描述)。,顺序图表示法 由对象(参与者)、生命线、消息和激活组成。,打印机忙 保存文件,打印机就绪 打印文件,2、协作图

13、/合作图,含义 是一种强调发送和接收消息的对象结构组织的交互图。 顺序图与协作图的关系 语义上等价(描述同样的过程),可以相互转换。 侧重点不同:时序图侧重体现交互的时间顺序,而协作图着重体现交互对象间的静态链接,即哪些对象之间有消息传递。 用途 多用于详细设计过程中描述对象之间的关系,以补充遗漏的对象类或操作,协作图表示法 由对象、链接、消息流组成。 链接是由关联实例化的链,表示对象之间的临时连接。 为表示一个消息的时间顺序,可以给消息编号,为了显示嵌套,可使用带小数点的号码(如:1表示第一个消息;1.1表示嵌套在消息1中的第一个消息;1.2表示嵌套在消息1中的第二个消息)。,3、活动图,含

14、义 用来描述一个过程或操作的工作步骤,显示动作流程及其结果。工作过程中的每一个工作步骤称为一个活动。 相关概念 活动:由动作和其他活动组成(可能被某个事件中断) 动作:动作是在状态内或在状态转化时所执行的操作,是原子的(是指在与状态相关的抽象层次上,动作是一个可执行的原子计算,是不可中断的)。 活动图与程序流程图 均表示一个算法的执行过程、判定点、分支和循环。 区别在于活动图支持并行活动。 用途 描述用例(业务过程)和对象内部的工作过程; 描述类的操作。,活动图表示法 由起点、终点、活动结点、控制流、判断条件、同步条、泳道等组成。控制流可以并发,用同步条表示并发控制流的分岔和汇合。,4、状态图

15、,含义 用来描述一个特定对象在其生存周期内经历的所有可能状态、引起其状态转移的事件、及因状态转移而伴随的动作。 相关概念 状态:指对象执行了一系列活动的结果。 事件:指已发生的且可能触发某些活动的事情。 用途 表示单个对象在其生存周期中的行为。,状态图表示法 由状态、转移、事件、动作、初态、终态组成。,Login login time=currenttime entry/type “login” do/get username do/get password exit/login(username,password),名称,进入动作,退出动作,内部动作,源状态,目标状态,事件名(用逗号分隔的参

16、数表)监护条件/动作表达式,状态变量,状态图示例 一个状态图只能有一个初态,但终态可以有多个。,未婚,已婚,离异,婚姻状态图,电梯状态图,五、物理架构建模,含义 描述系统的硬件和软件。从系统的层次描述硬件的组成和布局、软件的划分和功能实现。 也描述软、硬件的分解情况,将逻辑架构映射到物理架构,逻辑架构中的类和机制被映射到物理架构中的构件、进程和计算机。 用途 描述类和对象物理分布在哪一个程序或进程中。 程序或进程在哪台计算机上运行 系统中有哪些计算机和其他硬件设备,它们是如何连接在一起的 不同的代码文件之间有何联系,1、构件图,含义 用来显示一组构件之间的组织及其依赖关系。 从软件构架的角度来

17、描述一个系统的主要功能(一个系统分成几个子系统,每个子系统分成哪些类、包和构件,它们之间的关系以及分配到哪些节点) 用途 方便项目组成员制定工作目标和了解工作情况 利于软件复用; 应用于系统集成测试。,相关概念 构件:是系统中遵从一组接口且提供其实现的物理的、可替换的部分。 构件类型:源代码构件、二进制构件、可执行构件、数据文件或文档 (构件)接口:构件对外提供的能够访问的途径(公共的方法) 。 复用:包括构件的复用和构件的替换(接口复用)。构件的复用是指一定义好的构件可以在多个不同的软件中被重复使用;构件的替换是指在程序中使用一个构件来替换接口相同的另一个构件。,构件图表示法 由构件、接口和关系组成。,浏览,商品,构件和接口,图形库,界面,依赖关系,2、部署图,含义 用来描述系统硬件的物理拓扑结构以及在此结构上执行的 软件。 相关概念 节点:运行时硬件资源的通用名称,一个节点上可部署一个或多个构件。 节点类型:处理器Processor(指能够执行软件构件的节点)、设备Device(其它节点) 连接:节点的连

温馨提示

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

评论

0/150

提交评论