中职UML与Rose建模应用子情境3.3课件_第1页
中职UML与Rose建模应用子情境3.3课件_第2页
中职UML与Rose建模应用子情境3.3课件_第3页
中职UML与Rose建模应用子情境3.3课件_第4页
中职UML与Rose建模应用子情境3.3课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、(中职)UML与Rose建模应用子情境3.3ppt课件学习情境3:嵌入式软件建模MP3播放器UML及Rose建模应用子情境3.3 静态结构建模情景描述 子情景3.1系统需求和3.2用例分析分别得到了需求分析和用例图。现在对该系统的结构特征进行分析,并进行系统静态结构建模,包括:确定系统类创建系统类图,如播放器类图、存储器子系统类图、用户接口子系统类图等模型。 任务1:确定类任务描述 用户是通过显示器及按键与系统进行交互式操作;显示器、按键是于系统之间桥梁(接口);而MP3播放器不仅是播放器,同时也是一个存储器。根据以上描述的三种关系,分别绘制出相应的类图。 依赖关系和实现关系 在UML模型中,

2、模型元素之间的依赖关系表示某一元素以某种形式依赖于其他元素。从某种意义上说,关联关系、泛化关系和实现关系都属于依赖关系,但是他们都有其特殊的语义,因而被作为独立的关系在建模时使用。依赖关系用一个一端带有箭头的虚线表示,在图3-23中,类ClassC依赖于类ClassA。 图3-23 带有构造型的依赖关系 相关知识 在UML规范中定义类4种基本的依赖类型,分别是使用(Usage)依赖、抽象(Abstraction)依赖、绑定依赖(Binding)和授权依赖(Permission),下面将对它们分别进行介绍。 使用依赖用于表示一种元素使用其他元素提供的服务以实现它的行为。表3-3列出了5种依赖关系

3、。 相关知识依赖关系说明关键字使用 用于声明使用某个模型元素需要泳道已存在的另一个模型元素,这样才能实现使用者的功能,包括调用、参数、实例化和发送use调用 用于声明一个类调用其他类的的操作的方法call参数 用于声明一个操作与其参数之间的关系parameter实例化 用于声明使用一个类的方法创建了另一个类的实例instantiate发送 用于声明信号发送者和信号接受者之间的关系send表3-3 使用依赖相关知识依赖关系说明关键字跟踪用于声明不同模型中的元素之间存在一些连接,但没有映射精确trace精化用于声明位于两个不同语义层次上的元素之间的映射refine派生用于声明一个实例可以有另一个实

4、例导出derive表3-4 抽象依赖关系相关知识依赖关系说明关键字访问用于说明允许一个包访问另一个包access导入用于说明允许一个包访问另一个包,并为被访问包的组成部分增加别名import友元用于说明允许一个元素访问另一个元素,无论被访问的元素是否具有可见性friend表3-5 授权依赖相关知识 任务2:建立类图任务描述 任务1识别出了胸类、存储子系统类和接口子系统类后,接下来还要识别类间的关系,然后绘制相应的类图。识别系统中的类 对于MP3播放器系统,很显然,用户通过显示器及按键与系统进行交互。由于显示器和按键是被动对象,因此需要添加一个用户接口对象来管理用户和系统之间的交互。用户接口对象

5、依靠音频控制器来实现用户期望的操作。实际上,音频控制器是MP3播放器的核心,它完成用户接口所指定的各种操作。音频控制器通过扬声器来播放音乐。步骤1子任务1创建系统类图 对于媒体文件,MP3播放器提供了一个可读写存储器,以存储媒体文件。存储器可由计算机通过USB接口连接,这样就可以实现对存储的媒体文件进行管理。因此,需要一个类来表示存储器。而媒体文件将作为一个单独的类出现。 为了显示电池的剩余电量,系统需要周期性地测试电池的剩余电量。因此,也可以为电池建立一个对象。 任务实施子任务1创建系统类图 通过上述分析,可以从系统中抽象出以下一些主要类:Battery、AudioController、Sp

6、eaker、KeyBoard、Display、Memory、MediaFile和UserInterface。 【提示】在浏览窗口中右键单击“Logical View”(逻辑视图),在弹出的菜单上选择菜单项“New”(新建)下的“Class Diagram”(类图)命令,从键盘输入文本“系统类”命名该类图,双击“系统类”打开类图窗口。 任务实施子任务1创建系统类图 创建类 (1)移动光标指向工具箱中的“Class”图标,单击选定该图标,然后移动光标到类图窗口,在适当位置单击鼠标左键,出现名为“NewClass”的类,输入文本“KeyBoard”重命名。 (2)采用类似的方法,依次创建其它类,如图

7、3-24所示。步骤2图3-24 创建类 任务实施子任务1创建系统类图 创建类与类之间的关系 (1)确定类与类之间的关系 类“KeyBoard”与类“UserInterface”之间存在一对多的关联,即多个“KeyBoard”类对应一个“UserInterface”类,而“UserInterface”类管理多个“KeyBoard”类;由于播放器可以使用多个电池,因此,多个“Battery”类对应一个“UserInterface”类:类“Display”与类“UserInterface”之间的关系为一对一的关系:类“Speaker”与“AudioController”类之间的关系为一对一的关联关系

8、;类“AudioController”与类“UserInterface”之间的关系为一对一的关联关系;播放器只有一个存储器,因此,“Memory”类与“AudioController”类之间的关系为一对一的关联关系;在存储器中可以存放0到多个媒体文件,即一个“Memory”类对应多个“MediaFile”类。步骤3 任务实施子任务1创建系统类图 (2)在工具箱中选择“Association”按钮,然后用鼠标在各个类之间创建关联“线段”,如图3-25所示。图3-25 类间的关联 任务实施 (3)设置各类之间的关联关系,最终完成系统类图 下面以“KeyBoard”类与“UserInterface”

9、类为例,双击“KeyBoard”类与“UserInterface”类之间的关联“线段”,在弹出的对话框中Role B Detail页框中的标签“Multiplic”对应的文本框中输入“1.*”,如图3-26(a)所示;然后在Role A Detail页框中的标签“Multiplic”对应的文本框中输入“1”,如图3-26(b)所示,最后单击“OK”按钮,这样就设置了“UserInterface”与“KeyBoard”的关系为一对多,如图3-27所示。 依次类推,设置其它类之间的关联关系。最终得到效果如图3-28所示。子任务1创建系统类图 任务实施子任务1创建系统类图 (a) (b)图3-26

10、设置类间一对多的关联关系 任务实施子任务1创建系统类图 图3-27 类间一对多的关联关系示例图3-28 MP3播放器的类图 任务实施子任务2创建系统创建存储子系统类图 【提示】在浏览窗口中右键单击“Logical View”(逻辑视图),在弹出的菜单上选择菜单项“New”(新建)下的“Class Diagram”(类图)命令,从键盘输入文本“存储类”命名该类图,双击“存储类”打开类图窗口。确定存储子系统包含的类及它们之间的关系 存储器类用来管理MP3播放器的存储空间,它维护已经存储的媒体文件,并为新的媒体文件分配存储空间,通过分析发现存储子系统包含音频控制器AudioController、存储

11、器Memory、音频帧AudioFrame和媒体文件MediaFile这四个类组成。音频控制器由存储器组成,是聚合关系,它们之间一对一的关系。存储器由媒体文件和音频帧组成,是聚合关系,存储器中可以包含0个或多个媒体文件,因而也就可以包含0个或多个音频帧。媒体文件和音频帧的关系是一对多的关系。步骤1 任务实施子任务2创建系统创建存储子系统类图 确定存储子系统包含的类及它们之间的关系 (1)创建类“MediaFile”:移动光标指向工具箱中的“Class”图标,单击选定该图标,然后移动光标到类图窗口,在适当位置单击鼠标左键,出现名为“NewClass”的类,从键盘输入“MediaFile”取代“N

12、ewClass”实现重命名。 (2)创建类“MediaFile”的属性:鼠标右键单击“MediaFile”类,对弹出的菜单上选择“New Attribute”(新属性)命令,如图3-29所示,单击鼠标左键。步骤2 【注意】以类“MediaFile”创建为例,说明类、类属性及类操作的创建过程。 任务实施子任务2创建系统创建存储子系统类图 图3-29 选择“New Attribute”命令 如图3-30(a)所示,出现名为“name”的属性,从键盘输入“name:String”(【注意】输入冒号时请切换至英文方式),按回车确认,实现对类“MediaFile”的属性创建,类似方法,创建“length

13、:Time”属性,如图3-30(b)所示。(a) (b)图3-30创建类“MediaFile”的属性 任务实施子任务2创建系统创建存储子系统类图 (3)设置类“MediaFile”的属性访问权限:鼠标左键单击“MediaFile”属性左边的图标,出现如图3-31(a)所示的权限图标列表,在其中选择“带钥匙”的图标,设置类“MediaFile”的属性的访问权限为私有的访问权限,如图3-31(b)所示。(a) (b)图3-31设置类“MediaFile”的属性访问权限(4)设置“MediaFile”类的Operation(操作):鼠标右键单击“MediaFile”类,对弹出的菜单上选择“New O

14、peration”(新操作)命令,如图3-32所示,单击鼠标左键。图3-32 选择“New Operation”命令 任务实施子任务2创建系统创建存储子系统类图 如图3-33(a)所示,出现名为“opname()”的操作,从键盘输入“getAudioFrame()”(【注意】输入圆括号时请切换至英文方式),按回车确认,实现对“MediaFile”类的操作创建,类似方法,创建“addAudioFrame()”、“delete()”、“save()”操作,如图3-33(b)所示。(a) (b)图3-33 创建类的操作(a) (b)图3-34 设置类“MediaFile”的操作的调用权限 (5)设置

15、类“MediaFile”的操作的调用权限:鼠标左键单击“getAudioFrame()”操作左边的图标,出现如图3-34(a)所示的调用权限图标列表,在其中选择第一个图标,设置“getAudioFrame()”操作为公有的调用权限,如图3-34(b)所示。 任务实施子任务2创建系统创建存储子系统类图 (6)类“AudioController”有play()、stop()操作;类“Memory”有getFile()、delFile()、saveFile()操作;所有类的操作的调用权限皆为公有,如图3-35所示,请自行创建与设置。图3-35 创建类、类属性及类操作示例(1)创建类“MediaFil

16、e”与“AudioFrame”间的关系 鼠标左键单击选定工具箱中的“Aggregation”(聚合)工具图标,移动光标指向类“AudioFrame”,按住鼠标左键,拖动至类“MediaFile”,松开鼠标,出现如图3-36(a)所示的聚合关系,在图3-36(a)所示的光标位置,单击鼠标右键,在弹出的菜单上找到“Aggregate”命令,单击取消对其的“勾选”状态,如图3-36(b)所示。 步骤3创建类与类之间的关系 任务实施子任务2创建系统创建存储子系统类图 (a) (b)图3-36 创建类之间的关系示例 任务实施子任务2创建系统创建存储子系统类图 (2)创建类“MediaFile”与“Aud

17、ioFrame”间的一对多的关系 在如图3-36(b)所示的位置,单击右键,在弹出的菜单上选择“Multiplicity”项下的“Zero or More”;移动光标至关系“线段”的另一端,即靠近类“MediaFile”,单击右键,在弹出的菜单上选择“Multiplicity”项下的“1”,至此两者间一对多的关系创建完成,如图3-37所示。图3-37 类间的一对多关系示例 任务实施 【注意】参照步骤3的方法,请自行完成其它类之间的关系创建,实现如图3-38所示的类图。任务实施子任务2创建系统创建存储子系统类图 图3-38 Memory子系统的类图 任务实施子任务3创建接口子系统类图 确定接口子

18、系统包含的类及它们之间的关系 用户接口子系统的功能是管理用户和系统之间的交互。它通过按键接收用户的输入,并通过显示屏给用户反馈信息。显示器是操作硬件显示器的接口,通过该接口可以关闭显示屏以节省电能。不仅如此,显示器还可以在显示屏上创建圆点、画线、输入字符串等绘图操作及显示媒体文件相关信息。 除通过键盘接收来自用户的消息外,用户接口类还获取来自电池和USB接口的消息。由上述分析可以得出该子系统包含用户接口类UserInterface、USB接口类USBInterface、键盘类KeyBoard、电池类Battery、视图类Vew、电源视图类PowerView、音量类Volume、任务视图类Tas

19、kView、图形设备上下文类GraphicContext、显示屏类Display。步骤1 任务实施子任务3创建接口子系统类图 类View调用GraphicContext的方法,以便在显示屏上显示当前播放的曲目信息、音量等信息,类View与类GraphicContext是一对一的聚合关系。类View有三个子类:PowerView类、VolumeView类和TaskView类,这三个子类分别负责在显示屏上显示剩余电量信息、音量和当前曲目,View和这三个子类之间是泛化关系。UserInterface与KeyBoard、UserInterface与Battery、UserInterface与USBInterface、GraphicContext与Display之间的关系是一对一的关联关系。UserInterface调用View的方法,以便更新显示屏显示,类UserInter

温馨提示

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

评论

0/150

提交评论