书签 分享 收藏 举报 版权申诉 / 110
上传文档赚钱

类型软件建模与UML-第六章-逻辑模型要点课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3007699
  • 上传时间:2022-06-21
  • 格式:PPT
  • 页数:110
  • 大小:1.81MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《软件建模与UML-第六章-逻辑模型要点课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件 建模 UML 第六 逻辑 模型 要点 课件
    资源描述:

    1、第六章第六章 逻辑模型逻辑模型 4第一节第一节 业务对象模型业务对象模型 4第二节第二节 分析模型分析模型 4第三节第三节 设计模型设计模型第一节第一节 业务对象模型业务对象模型4Rose把系统逻辑视图分成三个层次:业务对把系统逻辑视图分成三个层次:业务对象模型(象模型(Business Object Model)、分析模型)、分析模型(Analysis Model)、设计模型()、设计模型(Design Model)。)。 4业务对象模型和分析模型完成系统概要设计业务对象模型和分析模型完成系统概要设计任务;分析模型和设计模型完成系统逻辑设计任任务;分析模型和设计模型完成系统逻辑设计任务;设计

    2、模型和代码框架生成、编写代码完成系务;设计模型和代码框架生成、编写代码完成系统实现任务。统实现任务。 第一节第一节 业务对象模型业务对象模型41、业务对象模型概述、业务对象模型概述 42、业务对象建模的一些观点、业务对象建模的一些观点 43、业务对象模型分析、业务对象模型分析 44、业务对象模型的创建、业务对象模型的创建 1、业务对象模型概述、业务对象模型概述4业务对象模型描述现行的业务活动对象(部业务对象模型描述现行的业务活动对象(部门、业务实体、业务参与者)之间的关系,由业门、业务实体、业务参与者)之间的关系,由业务用例视图中的参与者、交互图等中的对象演化务用例视图中的参与者、交互图等中的

    3、对象演化而来,利用用户熟悉的业务对象描述现行系统,而来,利用用户熟悉的业务对象描述现行系统,通过对象的合作实现业务用例的功能。通过对象的合作实现业务用例的功能。 4业务对象模型(也叫领域模型)是描述业务业务对象模型(也叫领域模型)是描述业务用例实现的对象模型。业务对象模型从业务参与用例实现的对象模型。业务对象模型从业务参与者内部的观点定义了业务用例。业务对象模型是者内部的观点定义了业务用例。业务对象模型是从面向对象的视角看待现实世界的结果,也就是从面向对象的视角看待现实世界的结果,也就是通过类图来描述现实世界中各种事物的关系。通过类图来描述现实世界中各种事物的关系。 1、业务对象模型概述、业务

    4、对象模型概述下图所示的是航标遥测遥控系统的业务对象模型图下图所示的是航标遥测遥控系统的业务对象模型图2、业务对象建模的一些观点、业务对象建模的一些观点1)业务对象模型的核心元素)业务对象模型的核心元素2)如何命名业务参与者和业务实体)如何命名业务参与者和业务实体 3)涉及业务用例的业务对象)涉及业务用例的业务对象 4)业务对象模型和信息系统)业务对象模型和信息系统 5)在业务对象模型中明确建模的信息系统)在业务对象模型中明确建模的信息系统 6)好的业务对象模型的特征)好的业务对象模型的特征 3、业务对象模型分析、业务对象模型分析4业务对象模型描述各业务部门业务参与者、业务对象模型描述各业务部门

    5、业务参与者、业务员工与业务实体类之间的关系,即业务对象业务员工与业务实体类之间的关系,即业务对象一级的类图,这种类图只与业务逻辑有关。一级的类图,这种类图只与业务逻辑有关。 一个企业的部门是对象,每个部门的业务又一个企业的部门是对象,每个部门的业务又涉及自己的业务对象,每个部门的业务对象是从涉及自己的业务对象,每个部门的业务对象是从所在部门业务的术语、名词中获得的,对象是类所在部门业务的术语、名词中获得的,对象是类的实体,由业务对象不难抽象出对应的业务实体的实体,由业务对象不难抽象出对应的业务实体来。来。4、业务对象模型的创建、业务对象模型的创建 1)创建包)创建包 2)创建子系统业务对象模型

    6、类图)创建子系统业务对象模型类图下图是完成上述操作的销售管理业务对象模型类图。下图是完成上述操作的销售管理业务对象模型类图。 第二节第二节 分析模型分析模型41、分析模型概述、分析模型概述 42、分析建模的一些观点、分析建模的一些观点 43、建立分析类图、建立分析类图 44、创建用例实现、创建用例实现 45、用例实现的顺序图描述、用例实现的顺序图描述 46、用例实现的通信图描述、用例实现的通信图描述1、分析模型概述、分析模型概述4分析模型必须实现三个主要目标分析模型必须实现三个主要目标:描述客户:描述客户需要什么;为软件设计奠定基础;定义可以被确需要什么;为软件设计奠定基础;定义可以被确认的一

    7、组需求。认的一组需求。 4分析阶段的目的是:分析阶段的目的是: 分析产出更确切的需求说明。分析产出更确切的需求说明。分析模型用开发者的语言描述。分析模型用开发者的语言描述。分析模型使需求结构化,便于理解、制作、分析模型使需求结构化,便于理解、制作、改变、重用。改变、重用。分析模型可看作为设计模型的第一次分割。分析模型可看作为设计模型的第一次分割。1、分析模型概述、分析模型概述4分析建模的经验法则分析建模的经验法则:分析模型总是使用业务语言。分析模型中的分析模型总是使用业务语言。分析模型中的抽象应该是业务领域词汇的部分。抽象应该是业务领域词汇的部分。关注于捕获大的场面。不要陷于系统将如何关注于捕

    8、获大的场面。不要陷于系统将如何工作的细节。工作的细节。创建创建“讲故事讲故事”的模型。每幅产生的图都应的模型。每幅产生的图都应该阐明系统期望行为的一些重要部分。该阐明系统期望行为的一些重要部分。对尽可能多的利益相关人有用。对尽可能多的利益相关人有用。尽可能保持模型简洁。尽可能保持模型简洁。1、分析模型概述、分析模型概述4分析类代表了对系统设计中一个或几个类或分析类代表了对系统设计中一个或几个类或若干子系统的抽象若干子系统的抽象。这种抽象由以下特征:。这种抽象由以下特征:分析类侧重于处理功能性需求分析类侧重于处理功能性需求 分析类很少定义或提供任何接口分析类很少定义或提供任何接口 分析类定义的属

    9、性是较高层次的分析类定义的属性是较高层次的 分析类中的关系也是比较高层次的、概念性分析类中的关系也是比较高层次的、概念性的东西的东西分析类只包括三种版型(构造型)中的一种:分析类只包括三种版型(构造型)中的一种:实体类实体类(Entity Classes),控制类,控制类(Control Classes)和边和边界类界类(Boundary Classes)1、分析模型概述、分析模型概述分析模型中分析类的三种构造型分析模型中分析类的三种构造型1、分析模型概述、分析模型概述航标遥测遥控系统分析模型的一个实例航标遥测遥控系统分析模型的一个实例1、分析模型概述、分析模型概述类型类名职责边界类Comma

    10、ndWindow负责接收用户输入的命令并向用户显示命令结果控制类LightInductorControl负责与“航标灯器”感应器通讯,获取航标灯器当前数据RadarResponderInductorControl负责与“雷达应答器”感应器通讯,获取雷达应答器当前数据GPSDeviceControl负责与“GPS定位设备”感应器通讯,获取雷达应答器当前位置实体类Lightstate负责存储航标灯器状态数据RadarResponderState负责存储雷达应答器状态数据GPSState负责GPS定位数据2、分析建模的一些观点、分析建模的一些观点1)一个用例一般通过三种类协同实现其功)一个用例一般通

    11、过三种类协同实现其功能能实体类、边界类和控制类。这三种类又称为实体类、边界类和控制类。这三种类又称为分析类变体(分析类变体(Analysis Class Stereotypes)。)。 2、分析建模的一些观点、分析建模的一些观点实体类实体类:业务实体的计算机描述(来源:词:业务实体的计算机描述(来源:词汇表,业务领域;如销售表,商品档案表等)汇表,业务领域;如销售表,商品档案表等)边界类边界类:位于系统和外界参与者的交界处,:位于系统和外界参与者的交界处,实现业务参与者、业务员工与用例的交互(来源:实现业务参与者、业务员工与用例的交互(来源:“参与者参与者-用例用例”。如窗体类、报表类或软件接

    12、。如窗体类、报表类或软件接口。常用来接受参与者的交互信息)口。常用来接受参与者的交互信息)控制类:控制类:主要用来协调边界类和实体类的工主要用来协调边界类和实体类的工作,也称管理类。用例将某项责任委托给控制类,作,也称管理类。用例将某项责任委托给控制类,控制类自身并不完成任何服务功能,而是由控制控制类自身并不完成任何服务功能,而是由控制类发送消息,由别的类来实现需要的服务。类发送消息,由别的类来实现需要的服务。 2、分析建模的一些观点、分析建模的一些观点2)用例实现)用例实现(Use-case Realizations):用例通过用例通过“用例实现用例实现”来完成相应用例的功来完成相应用例的功

    13、能。用例实现就是能。用例实现就是UML的协作的协作(Cooperation),意思是通过对象意思是通过对象(或类或类)的协作完成用例的实现。的协作完成用例的实现。 3、建立分析类图、建立分析类图 1)创建包)创建包3、建立分析类图、建立分析类图 2)创建类图)创建类图 完成后的销售子系统分析模型类图示例完成后的销售子系统分析模型类图示例4、创建用例实现、创建用例实现 用例实现是类图的一种。创建用例实现,进用例实现是类图的一种。创建用例实现,进一步描述类的动态特征。一步描述类的动态特征。 下面结合销售系统用例具体说明如何创建用下面结合销售系统用例具体说明如何创建用例实现。具体过程参见教材例实现。

    14、具体过程参见教材P158-159.4、创建用例实现、创建用例实现4、创建用例实现、创建用例实现4、创建用例实现、创建用例实现用例实现可以从不同的角度去描述 可以通过类之间的协作(类图)来描述 可以通过类对象按时间顺序的消息交互(顺序图)来描述也可以通过类对象之间协作(通信图)来描述。4、创建用例实现、创建用例实现用类图描述用例实现在浏览器中Analysis Model下的“销售管理”包下选择用例实现【更新销售信息】。右击,在弹出菜单中选择【New】【Class Diagram】。创建一个新的类图,命名为“更新销售”。双击【更新商品】,打开“更新销售”类图。将Analysis Model下“销售

    15、管理”包中的类:“销售管理窗体”、“商品信息控制”、“销售表”拖到这个“更新商品”类图中。得到如图6-11所示的“更新商品信息”用例实现的类图。4、创建用例实现、创建用例实现用类图描述用例实现图6-11 “更新销售信息”用例实现的类图5、用例实现的顺序图描述、用例实现的顺序图描述4顺序图包含顺序图包含4个元素,分别是对象(个元素,分别是对象(Object)、生)、生命线(命线(Lifeline)、消息()、消息(Message)和激活)和激活(Activation)。)。 5、用例实现的顺序图描述、用例实现的顺序图描述4使用顺序图对系统建模时,可以遵循使用顺序图对系统建模时,可以遵循如下策略:

    16、如下策略:l设置交互的语境,这些语境可以是系统、子系统、设置交互的语境,这些语境可以是系统、子系统、操作、类、用例和协作的一个脚本。操作、类、用例和协作的一个脚本。l通过识别对象在交互过程中扮演的参与者,根据对通过识别对象在交互过程中扮演的参与者,根据对象的重要性,将其从左向右的方向放在顺序图中。象的重要性,将其从左向右的方向放在顺序图中。l设置每个对象的生命线。一般情况下,对象存在于设置每个对象的生命线。一般情况下,对象存在于交互的整个过程,但它也可以在交互过程中创建和撤销。交互的整个过程,但它也可以在交互过程中创建和撤销。5、用例实现的顺序图描述、用例实现的顺序图描述l从引发某个交互的信息

    17、开始,在生命线之间按从上从引发某个交互的信息开始,在生命线之间按从上向下的顺序画出随后的消息。向下的顺序画出随后的消息。l设置对象的激活期,这可以可视化实际计算发生时设置对象的激活期,这可以可视化实际计算发生时的时间点、可视化消息的嵌套。的时间点、可视化消息的嵌套。l如果需要设置时间或空间的约束,可以用时间标记如果需要设置时间或空间的约束,可以用时间标记修饰每个消息,并附上合适的时间和空间约束。修饰每个消息,并附上合适的时间和空间约束。l如果需要形式化地说明某控制流,可以为每个消息如果需要形式化地说明某控制流,可以为每个消息附上前置或后置条件流。附上前置或后置条件流。5、用例实现的顺序图描述、

    18、用例实现的顺序图描述4一个独立的顺序图只能显示一个控制一个独立的顺序图只能显示一个控制流,通常说来,一个完整的控制流肯定是流,通常说来,一个完整的控制流肯定是复杂的,所以将一个大的控制流分为几个复杂的,所以将一个大的控制流分为几个部分放在不同的图中是比较合适的。部分放在不同的图中是比较合适的。5、用例实现的顺序图描述、用例实现的顺序图描述4使用使用Rational Rose绘制顺序图过程如下:绘制顺序图过程如下:1)创建顺序图)创建顺序图 2)添加对象)添加对象3)添加消息)添加消息4)完成)完成“更新销售信息更新销售信息”顺序图顺序图 5、用例实现的顺序图描述、用例实现的顺序图描述下图所示就

    19、是完成的更新销售信息顺序图下图所示就是完成的更新销售信息顺序图 6、用例实现的通信图描述、用例实现的通信图描述通信图(通信图(Communication Diagram)是顺序)是顺序图之外的另一种表示交互的方法,通信图的一个图之外的另一种表示交互的方法,通信图的一个用途是表示类操作的实现。用途是表示类操作的实现。 通信图包含通信图包含3元素:对象(元素:对象(Object)、链)、链(Line)和消息()和消息(Message)。)。顺序图和通信图之间的语义是等价的,描述顺序图和通信图之间的语义是等价的,描述的主要元素都是两个,即消息和对象。的主要元素都是两个,即消息和对象。 6、用例实现的

    20、通信图描述、用例实现的通信图描述4使用通信图对系统建模时,可以遵循如下策使用通信图对系统建模时,可以遵循如下策略:略:u设置交互的语境。这里所指的语境可以是系统、子设置交互的语境。这里所指的语境可以是系统、子系统、操作、类、用例或用例的脚本。系统、操作、类、用例或用例的脚本。u通过识别对象在交互过程中所扮演的参与者,开始通过识别对象在交互过程中所扮演的参与者,开始绘制通信图,把这些对象作为图的顶点放在通信图中。绘制通信图,把这些对象作为图的顶点放在通信图中。其中较为重要的对象放在图的中央,与它邻近的对象放其中较为重要的对象放在图的中央,与它邻近的对象放在外围。在外围。u为每个对象设置初始特性。

    21、如果某对象的属性值、为每个对象设置初始特性。如果某对象的属性值、标记值、状态或参与者在交互期发生变化,则在图中放标记值、状态或参与者在交互期发生变化,则在图中放置一个复制对象,并用变化后的值更新它,然后通过构置一个复制对象,并用变化后的值更新它,然后通过构造型造型become或或copy的消息将这两者连接。的消息将这两者连接。6、用例实现的通信图描述、用例实现的通信图描述u设置了对象的初始值后,根据对象间的关系确定对设置了对象的初始值后,根据对象间的关系确定对象间链接。一般先确定关联的链接;因为这是最主要的,象间链接。一般先确定关联的链接;因为这是最主要的,它代表了结构的链接。然后需要确定的是

    22、其他的链接,它代表了结构的链接。然后需要确定的是其他的链接,用合适的路径构造型修饰它们,显示地说明这些对象间用合适的路径构造型修饰它们,显示地说明这些对象间是如何互相联系的。是如何互相联系的。u从引起交互的消息开始,按消息的顺序,把随后的从引起交互的消息开始,按消息的顺序,把随后的消息附到适当的链接上,这描述了对象间的消息传递。消息附到适当的链接上,这描述了对象间的消息传递。可以用带小数点的编号来表达嵌套。可以用带小数点的编号来表达嵌套。u如果需要说明时间或空间的约束,可以用适当的时如果需要说明时间或空间的约束,可以用适当的时间或空间约束来修饰每个消息。间或空间约束来修饰每个消息。u在建模中,

    23、如果想更详细的描述这个控制流,可以在建模中,如果想更详细的描述这个控制流,可以为交互过程中的每个消息都附上前置条件和后置条件。为交互过程中的每个消息都附上前置条件和后置条件。6、用例实现的通信图描述、用例实现的通信图描述使用使用Rational Rose绘制通信图过程如下:绘制通信图过程如下:1)创建通信图创建通信图2) 添加对象添加对象3) 添加消息添加消息4) 添加数据流添加数据流6、用例实现的通信图描述、用例实现的通信图描述下图就是更新销售信息的通信图下图就是更新销售信息的通信图第三节第三节 设计模型设计模型 41、设计模型概述、设计模型概述 42、设计建模的一些观点、设计建模的一些观点

    24、 43、创建设计类、创建设计类 44、创建系统交互模型、创建系统交互模型 45、创建系统动态模型、创建系统动态模型-状态图状态图 46、创建系统动态模型、创建系统动态模型-活动图活动图 1、设计模型概述、设计模型概述软件设计产生合理、健壮而稳定的软软件设计产生合理、健壮而稳定的软件构架,创建实现模型的蓝图。件构架,创建实现模型的蓝图。设计模型设计模型(Design Model)是描述用例的物理是描述用例的物理实现的对象模型,受功能和非功能需求,以及与实现的对象模型,受功能和非功能需求,以及与实现环境有关的并最终影响系统的其它约束。实现环境有关的并最终影响系统的其它约束。设计模型是系统实现的抽象

    25、,作为系设计模型是系统实现的抽象,作为系统实现活动的重要输入。统实现活动的重要输入。 1、设计模型概述、设计模型概述 设计模型和分析模型都是为系统同一个部设计模型和分析模型都是为系统同一个部分建模,但是设计模型在接近代码的抽象层次上分建模,但是设计模型在接近代码的抽象层次上描述系统。描述系统。 分析模型和设计模型之间存在简单的分析模型和设计模型之间存在简单的trace关系,设计模型是建立在分析模型的基关系,设计模型是建立在分析模型的基础之上,也可以看作是把实现技术加入分析模型础之上,也可以看作是把实现技术加入分析模型后对分析模型的精化和细化。后对分析模型的精化和细化。1、设计模型概述、设计模型

    26、概述 设计模型和分析模型包含相同类型的物件,设计模型和分析模型包含相同类型的物件,但是所有的制品更加完整成型,并且必须包含实但是所有的制品更加完整成型,并且必须包含实现细节。现细节。 设计模型由设计子系统、设计类、接口、设计模型由设计子系统、设计类、接口、用例实现(设计)和部署图组成。用例实现(设计)和部署图组成。1、设计模型概述、设计模型概述 设计类是实现阶段的类,是规格说明已经设计类是实现阶段的类,是规格说明已经完成并且达到能够被实现程度的类。完成并且达到能够被实现程度的类。 设计类有两个来源设计类有两个来源: 其一是问题域中分析类的精化(一个分析其一是问题域中分析类的精化(一个分析类可以

    27、变成零个、一个或多个设计类);类可以变成零个、一个或多个设计类); 其二是解域中的实用类库、中间件、其二是解域中的实用类库、中间件、GUI库、库、可复用组件等。可复用组件等。1、设计模型概述、设计模型概述4形式良好的设计类展现特定特征:形式良好的设计类展现特定特征:u类的公共操作定义它和类用户之间的契约。类的公共操作定义它和类用户之间的契约。u完整性完整性类所包含的不能少于用户所有可能类所包含的不能少于用户所有可能的合理要求。的合理要求。u充分性充分性类所包含的不能多于用户所有可能类所包含的不能多于用户所有可能的合理要求。的合理要求。u原始性原始性服务应该是简单的、原始的和惟一服务应该是简单的

    28、、原始的和惟一的。的。1、设计模型概述、设计模型概述u高内聚高内聚每个类应当体现一个单一的、良好每个类应当体现一个单一的、良好定义的抽象概念;所有操作都应当支持类的目的。定义的抽象概念;所有操作都应当支持类的目的。u低耦合低耦合类应该仅与足够的其他类耦合,已类应该仅与足够的其他类耦合,已完成它的职责;只有在两个类之间存在真正语义完成它的职责;只有在两个类之间存在真正语义关系时才能将它们耦合;不要仅仅为复用代码而关系时才能将它们耦合;不要仅仅为复用代码而耦合。耦合。u应当从类用户的角度去评估设计类。应当从类用户的角度去评估设计类。1、设计模型概述、设计模型概述 设计模型与选择的应用系统框架有密切

    29、的设计模型与选择的应用系统框架有密切的关系,直接影响到以后的代码生成。所以具有非关系,直接影响到以后的代码生成。所以具有非常重要的地位。常重要的地位。1、设计模型概述、设计模型概述4设计建模的原则:设计建模的原则:1)设计可追溯到分析模型)设计可追溯到分析模型2)经常关注待建系统的架构)经常关注待建系统的架构3)数据设计与功能设计同等重要)数据设计与功能设计同等重要4)必须设计接口(包括内部和外部接口)必须设计接口(包括内部和外部接口)5)用户界面设计必须符合最终用户要求)用户界面设计必须符合最终用户要求1、设计模型概述、设计模型概述6)功能独立的构件级设计)功能独立的构件级设计7)构件之间以

    30、及构件与外部环境之间松散)构件之间以及构件与外部环境之间松散耦合耦合8)设计表述(模型)应该做到尽可能易于)设计表述(模型)应该做到尽可能易于理解理解9)设计应该迭代式进行。每一次迭代,设)设计应该迭代式进行。每一次迭代,设计者都应该尽力简化计者都应该尽力简化1、设计模型概述、设计模型概述 恰当地应用以上设计原则,就能创造出兼恰当地应用以上设计原则,就能创造出兼顾内部高质量和外部高质量的设计。顾内部高质量和外部高质量的设计。2、设计建模的一些观点、设计建模的一些观点 由分析进入设计时,软件结构被完成。每一由分析进入设计时,软件结构被完成。每一个结构元素被加入到逻辑视图中作为包,需个结构元素被加

    31、入到逻辑视图中作为包,需要时加入关系。要时加入关系。例如:数据库、通信、例如:数据库、通信、错误处理等。错误处理等。 2、设计建模的一些观点、设计建模的一些观点4在设计期间,用户界面设计被完成。在设计期间,用户界面设计被完成。窗口设计窗口设计窗口数量窗口数量处理用户时间处理用户时间2、设计建模的一些观点、设计建模的一些观点41)加入设计级类)加入设计级类l在设计期间,类被加入以简化系统实现在设计期间,类被加入以简化系统实现Utility类的加入提供了可以在多种背景下类的加入提供了可以在多种背景下使用的公共服务包(如:数学运算)使用的公共服务包(如:数学运算)类的加入可以包装非面向对象的库和应用

    32、类的加入可以包装非面向对象的库和应用类的加入帮助执行一些需要的功能类的加入帮助执行一些需要的功能模型的合并可以解决设计问题模型的合并可以解决设计问题lStereotypes可以用于表达类的目的可以用于表达类的目的2、设计建模的一些观点、设计建模的一些观点42)更新逻辑视图图形)更新逻辑视图图形l交互图被更新交互图被更新 在在domain类和被加入的实现类之间展现交互操类和被加入的实现类之间展现交互操作作 由于附加的设计类而修改交互操作由于附加的设计类而修改交互操作l 类图被更新类图被更新 加入新包加入新包 类间的新关系类间的新关系 由于附加的设计类,关系可以被删除由于附加的设计类,关系可以被删

    33、除 由于附加的设计类,包中的关系可以被修改由于附加的设计类,包中的关系可以被修改2、设计建模的一些观点、设计建模的一些观点43)更新组件视图图形)更新组件视图图形l加入包加入包l组件图被更新组件图被更新 附加包附加包 附加包的关系附加包的关系 包的关系可以被改变包的关系可以被改变2、设计建模的一些观点、设计建模的一些观点44)设计关系)设计关系l在设计期间,关系被完善在设计期间,关系被完善导航导航-每种关系都被检测以便确定是否需要双向导航每种关系都被检测以便确定是否需要双向导航可视化链接可视化链接-可视化链接加入到协同图中,以便帮助在关可视化链接加入到协同图中,以便帮助在关系中精练决定系中精练

    34、决定Containment-by value or by reference containment is decidedMultiplicity-re-visit multiplicity for each end of a relationship and specify containers for multiplicity of more than oneParameterized Classes-addition of parameterized classes for multiplicity greater than one2、设计建模的一些观点、设计建模的一些观点45)输出控制

    35、)输出控制l输出控制展现了保护级输出控制展现了保护级 为属性获取或设置方法(缺省为属性获取或设置方法(缺省=private) 为关联获取或设置方法(缺省为关联获取或设置方法(缺省=public) 类的操作(缺省类的操作(缺省=public)l输出控制选项输出控制选项 Public-可访问类的成员和类的实例可访问类的成员和类的实例 Protected-可访问类的成员和所有子类的成员可访问类的成员和所有子类的成员 Private-可访问类的成员和友元可访问类的成员和友元 Implementation-可访问类的成员可访问类的成员2、设计建模的一些观点、设计建模的一些观点44)设计关系)设计关系l在

    36、设计期间,关系被完善在设计期间,关系被完善导航导航-每种关系都被检测以便确定是否需要双向导航每种关系都被检测以便确定是否需要双向导航可视化链接可视化链接-可视化链接加入到协同图中,以便帮助在关可视化链接加入到协同图中,以便帮助在关系中精练决定系中精练决定Containment-by value or by reference containment is decidedMultiplicity-re-visit multiplicity for each end of a relationship and specify containers for multiplicity of more

    37、than oneParameterized Classes-addition of parameterized classes for multiplicity greater than one2、设计建模的一些观点、设计建模的一些观点46)为一个或多个)为一个或多个Multiplicity进行设计进行设计l多于一个的多于一个的Multiplicity一般在使用容器类时一般在使用容器类时被设计被设计 容器类的实例是其它对象的集合容器类的实例是其它对象的集合l普通容器类包括:普通容器类包括: Sets,lists,dictionaries,stacks,queues, l容器类经常用容器类经常用

    38、parameterized classes来实现来实现2、设计建模的一些观点、设计建模的一些观点47)把参数类加入模型中。)把参数类加入模型中。 参数类可以被加入模型中用于说明多于参数类可以被加入模型中用于说明多于一个的一个的Multiplicity design48)把抽象类加入模型中。)把抽象类加入模型中。2、设计建模的一些观点、设计建模的一些观点49)属性设计(类的属性对于类的所有实例)属性设计(类的属性对于类的所有实例都是有效的。在都是有效的。在C+中,这是一个静态属性)中,这是一个静态属性)l在分析阶段,充分的指出属性名称在分析阶段,充分的指出属性名称l属性表述必须在设计阶段被完成属

    39、性表述必须在设计阶段被完成l选项的缺省类型必须被分配到每一个属性中选项的缺省类型必须被分配到每一个属性中 Built-in data type (e-g-,int,float) User-defined data type (e-g-,enum) User-defined class2、设计建模的一些观点、设计建模的一些观点410)操作设计(类的操作对于类的所)操作设计(类的操作对于类的所有实例都有效。在有实例都有效。在C+中,这是一个静态中,这是一个静态操作)操作)l在设计阶段,每一个操作的信号被决定在设计阶段,每一个操作的信号被决定 操作要旨操作要旨 操作转换类型操作转换类型2、设计建模的

    40、一些观点、设计建模的一些观点411)继承设计)继承设计l在设计期间,继承机制被精化在设计期间,继承机制被精化-Super classes are made abstract classes where appropriate-Operations are made virtual or pure virtual to support polymorphism-Multiple inheritance hierarchies are changed to support virtual base classes where appropriate2、设计建模的一些观点、设计建模的一些观点412)

    41、消息同步)消息同步l通信图被更新以便描述消息同步策略。通信图被更新以便描述消息同步策略。 Simple-单线程控制;单线程控制; Synchronous-当客户端发送一个消息到接收者当客户端发送一个消息到接收者并且接收者接受这个消息的操作过程;并且接收者接受这个消息的操作过程; Balking-如果接收者可以立刻接收消息,客户如果接收者可以立刻接收消息,客户端仅发送一个消息;端仅发送一个消息; Timeout-如果接收者不能在规定时间内处理消如果接收者不能在规定时间内处理消息,客户端放弃该消息;息,客户端放弃该消息; Asynchronous-客户端发送一个消息到接收者,客户端发送一个消息到接

    42、收者,无须等待响应即可处理或继续执行。无须等待响应即可处理或继续执行。3、创建设计类、创建设计类 设计模型主要集中在类图、类、类属性、设计模型主要集中在类图、类、类属性、类操作和类与类之间的关联、关联基数等基本类操作和类与类之间的关联、关联基数等基本要素的细化。要素的细化。 面向对象方法的特点之一就是将数据和施面向对象方法的特点之一就是将数据和施加在数据之上的行为封装在一起,形成类。类加在数据之上的行为封装在一起,形成类。类属性描述对象的属性信息。类操作是与类相关属性描述对象的属性信息。类操作是与类相关联的行为。操作分为四个部分:操作名、操作联的行为。操作分为四个部分:操作名、操作参数、参数类

    43、型和操作返回值类型。参数是操参数、参数类型和操作返回值类型。参数是操作的输入变元。作的输入变元。 3、创建设计类、创建设计类例:例:超市进销存系统的分析模型中的超市进销存系统的分析模型中的“销销售表售表”和和“商品档案表商品档案表”类可以在设计类可以在设计模型中作为两个模型中作为两个ADO类类(ADOC1ass),分,分别命名为别命名为“saleFrm”和和“goodsFrm”。ADO Class是与是与VB模块类型相同的一种。模块类型相同的一种。由分析模型中的边界类由分析模型中的边界类“销售管理窗体销售管理窗体”可以转化为设计模型中的可以转化为设计模型中的“销售管理窗销售管理窗体体”窗体类。

    44、由于本系统比较简单,所窗体类。由于本系统比较简单,所以不再使用控制类。以不再使用控制类。3、创建设计类、创建设计类创建销售系统设计模型类图过程如下:创建销售系统设计模型类图过程如下:1)创建包)创建包2)创建类图)创建类图3)增加类特征和方法)增加类特征和方法4)建立系统数据库类关联)建立系统数据库类关联3、创建设计类、创建设计类图6-19 设计模型包的建立3、创建设计类、创建设计类saleFrmgoodsFrm销售管理窗体图6-21销售管理子系统初步类图3、创建设计类、创建设计类3、创建设计类、创建设计类图6-27销售子系统类图3、创建设计类、创建设计类3、创建设计类、创建设计类 设计模型是

    45、在分析模型的基础上添加设计元素的结果,与分析模型相比,设计模型中的属性更趋完善;更重要的是,它将加入模板类、参数类、抽象类接口等设计元素,以及框架的使用、设计模式的使用等。总的来说,设计模型是一种详细设计模型,将能直接对编程进行指导。3、创建设计类、创建设计类图6-29 设计模型实例3、创建设计类、创建设计类3、创建设计类、创建设计类4、创建系统交互模型、创建系统交互模型 分析阶段的交互模型主要关注于区分分析阶段的交互模型主要关注于区分边界对象、实体对象和控制对象,暂时不边界对象、实体对象和控制对象,暂时不考虑其具体的实现类。在分析模型的基础考虑其具体的实现类。在分析模型的基础上,通过引入基础

    46、类、优化类设计之后,上,通过引入基础类、优化类设计之后,必然会得到新的类模型(设计模型),因必然会得到新的类模型(设计模型),因此就可能需要基于新引入的此就可能需要基于新引入的“设计类设计类”来来更新交互模型,以获得与实际代码相吻合更新交互模型,以获得与实际代码相吻合的模型。的模型。4、创建系统交互模型、创建系统交互模型 当然,是否建立设计阶段的交互模型当然,是否建立设计阶段的交互模型也取决于需要。在大部分的建模实践中,也取决于需要。在大部分的建模实践中,通常只有约一半的用例可能需要精化交互通常只有约一半的用例可能需要精化交互模型;如果在一般的模型;如果在一般的MIS应用系统中,这应用系统中,

    47、这个比例可能会更低。个比例可能会更低。 一般使用顺序图、通信图建立系统交互模型。一般使用顺序图、通信图建立系统交互模型。4、创建系统交互模型、创建系统交互模型1)建立顺序图)建立顺序图4、创建系统交互模型、创建系统交互模型2)建立协作图)建立协作图5、创建系统动态模型、创建系统动态模型-状态图状态图状态机图是一个用来描述局部信息的建模工状态机图是一个用来描述局部信息的建模工具,它的主要应用有两种:一是对对象的生命周具,它的主要应用有两种:一是对对象的生命周期建模,二是对反应型对象建模。期建模,二是对反应型对象建模。5、创建系统动态模型、创建系统动态模型-状态图状态图图6-33 一个简单的状态机

    48、图示意图 状态机图由表示状态的节点和表示状态之间转换的带箭头的直线组成。 5、创建系统动态模型、创建系统动态模型-状态图状态图4在对象的整个生命周期中,它的状态在对象的整个生命周期中,它的状态是会发生变化的,而状态机就是用来表示是会发生变化的,而状态机就是用来表示一个对象在它的生命周期中响应事件所发一个对象在它的生命周期中响应事件所发生的状态变化以及对事件的响应。生的状态变化以及对事件的响应。4在对系统进行建模时,有时需要反映在对系统进行建模时,有时需要反映对象对外部事件的响应、生命周期的变迁对象对外部事件的响应、生命周期的变迁以及对过去行为的依赖等内容,这时就需以及对过去行为的依赖等内容,这

    49、时就需要使用状态机图。要使用状态机图。5、创建系统动态模型、创建系统动态模型-状态图状态图 状态机是计算机科学理论的一部分,但状态机是计算机科学理论的一部分,但UML中状态机模型主要是基于中状态机模型主要是基于David Harel 所做所做的扩展,是用来展示状态与状态之间转换的图。的扩展,是用来展示状态与状态之间转换的图。 通常一个状态图依附于一个类(在业务建通常一个状态图依附于一个类(在业务建模中,则通常依附于一个实体),并且描述一个模中,则通常依附于一个实体),并且描述一个类的实例对接收到的事件所做出的响应。状态机类的实例对接收到的事件所做出的响应。状态机也可以依附于行为、用例、协作,用

    50、来描述它们也可以依附于行为、用例、协作,用来描述它们的执行过程。的执行过程。5、创建系统动态模型、创建系统动态模型-状态图状态图 从某一种意义说,从某一种意义说,状态机是一个对象的局状态机是一个对象的局部视图、一个将对象与其外部世界分离开来并独部视图、一个将对象与其外部世界分离开来并独立考查其行为的视图。立考查其行为的视图。状态机是精确描述行为的状态机是精确描述行为的一种好办法。一种好办法。 状态机图主要用于表现从一个状态到另一状态机图主要用于表现从一个状态到另一个状态的控制流。它不仅可以展现一个对象拥有个状态的控制流。它不仅可以展现一个对象拥有的状态,还可以说明事件(如消息的接收、错误、的状

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:软件建模与UML-第六章-逻辑模型要点课件.ppt
    链接地址:https://www.163wenku.com/p-3007699.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库