(中职)UML与Rose建模应用子情境3.3课件



《(中职)UML与Rose建模应用子情境3.3课件》由会员分享,可在线阅读,更多相关《(中职)UML与Rose建模应用子情境3.3课件(36页珍藏版)》请在装配图网上搜索。
1、子情景3.3 静态结构建模,情境3:嵌入式软件建模MP3播放器,湖北职业技术学院,信息技术学院,*,(中职)UML与Rose建模应用子情境3.3ppt课件,学习情境3:嵌入式软件建模,MP3播放器,UML及Rose建模应用,子情境3.3 静态结构建模,情景描述,子情景3.1系统需求和3.2用例分析分别得到了需求分析和用例图。现在对该系统的结构特征进行分析,并进行系统静态结构建模,包括:,确定系统类,创建系统类图,如播放器类图、存储器子系统类图、用户接口子系统类图等模型。,任务1:确定类,任务描述,用户是通过显示器及按键与系统进行交互式操作;显示器、按键是于系统之间桥梁(接口);而MP3播放器不
2、仅是播放器,同时也是一个存储器。根据以上描述的三种关系,分别绘制出相应的类图。,依赖关系和实现关系,在UML模型中,模型元素之间的依赖关系表示某一元素以某种形式依赖于其他元素。从某种意义上说,关联关系、泛化关系和实现关系都属于依赖关系,但是他们都有其特殊的语义,因而被作为独立的关系在建模时使用。依赖关系用一个一端带有箭头的虚线表示,在图3-23中,类ClassC依赖于类ClassA。,图3-23 带有构造型的依赖关系,相关知识,在UML规范中定义类4种基本的依赖类型,分别是使用(Usage)依赖、抽象(Abstraction)依赖、绑定依赖(Binding)和授权依赖(Permission),
3、下面将对它们分别进行介绍。,使用依赖用于表示一种元素使用其他元素提供的服务以实现它的行为。表3-3列出了5种依赖关系。,相关知识,依赖关系,说明,关键字,使用,用于声明使用某个模型元素需要泳道已存在的另一个模型元素,这样才能实现使用者的功能,包括调用、参数、实例化和发送,use,调用,用于声明一个类调用其他类的的操作的方法,call,参数,用于声明一个操作与其参数之间的关系,parameter,实例化,用于声明使用一个类的方法创建了另一个类的实例,instantiate,发送,用于声明信号发送者和信号接受者之间的关系,send,表3-3 使用依赖,相关知识,依赖关系,说明,关键字,跟踪,用于声
4、明不同模型中的元素之间存在一些连接,但没有映射精确,trace,精化,用于声明位于两个不同语义层次上的元素之间的映射,refine,派生,用于声明一个实例可以有另一个实例导出,derive,表3-4 抽象依赖关系,相关知识,依赖关系,说明,关键字,访问,用于说明允许一个包访问另一个包,access,导入,用于说明允许一个包访问另一个包,并为被访问包的组成部分增加别名,import,友元,用于说明允许一个元素访问另一个元素,无论被访问的元素是否具有可见性,friend,表3-5 授权依赖,相关知识,任务2:建立类图,任务描述,任务1识别出了胸类、存储子系统类和接口子系统类后,接下来还要识别类间的
5、关系,然后绘制相应的类图。,识别系统中的类,对于MP3播放器系统,很显然,用户通过显示器及按键与系统进行交互。由于显示器和按键是被动对象,因此需要添加一个用户接口对象来管理用户和系统之间的交互。用户接口对象依靠音频控制器来实现用户期望的操作。实际上,音频控制器是MP3播放器的核心,它完成用户接口所指定的各种操作。音频控制器通过扬声器来播放音乐。,步骤1,子任务1创建系统类图,对于媒体文件,MP3播放器提供了一个可读写存储器,以存储媒体文件。存储器可由计算机通过USB接口连接,这样就可以实现对存储的媒体文件进行管理。因此,需要一个类来表示存储器。而媒体文件将作为一个单独的类出现。,为了显示电池的
6、剩余电量,系统需要周期性地测试电池的剩余电量。因此,也可以为电池建立一个对象。,任务实施,子任务1创建系统类图,通过上述分析,可以从系统中抽象出以下一些主要类:Battery、AudioController、Speaker、KeyBoard、Display、Memory、MediaFile和UserInterface。,【提示】在浏览窗口中右键单击“Logical View”(逻辑视图),在弹出的菜单上选择菜单项“New”(新建)下的“Class Diagram”(类图)命令,从键盘输入文本“系统类”命名该类图,双击“系统类”打开类图窗口。,任务实施,子任务1创建系统类图,创建类,(1)移动光
7、标指向工具箱中的“Class”图标,单击选定该图标,然后移动光标到类图窗口,在适当位置单击鼠标左键,出现名为“NewClass”的类,输入文本“KeyBoard”重命名。,(2)采用类似的方法,依次创建其它类,如图3-24所示。,步骤2,图3-24 创建类,任务实施,子任务1创建系统类图,创建类与类之间的关系,(1)确定类与类之间的关系,类“KeyBoard”与类“UserInterface”之间存在一对多的关联,即多个“KeyBoard”类对应一个“UserInterface”类,而“UserInterface”类管理多个“KeyBoard”类;由于播放器可以使用多个电池,因此,多个“Bat
8、tery”类对应一个“UserInterface”类:类“Display”与类“UserInterface”之间的关系为一对一的关系:类“Speaker”与“AudioController”类之间的关系为一对一的关联关系;类“AudioController”与类“UserInterface”之间的关系为一对一的关联关系;播放器只有一个存储器,因此,“Memory”类与“AudioController”类之间的关系为一对一的关联关系;在存储器中可以存放0到多个媒体文件,即一个“Memory”类对应多个“MediaFile”类。,步骤3,任务实施,子任务1创建系统类图,(2)在工具箱中选择“Ass
9、ociation”按钮,然后用鼠标在各个类之间创建关联“线段”,如图3-25所示。,图3-25 类间的关联,任务实施,(3)设置各类之间的关联关系,最终完成系统类图,下面以“KeyBoard”类与“UserInterface”类为例,双击“KeyBoard”类与“UserInterface”类之间的关联“线段”,在弹出的对话框中Role B Detail页框中的标签“Multiplic”对应的文本框中输入“1.*”,如图3-26(a)所示;然后在Role A Detail页框中的标签“Multiplic”对应的文本框中输入“1”,如图3-26(b)所示,最后单击“OK”按钮,这样就设置了“Us
10、erInterface”与“KeyBoard”的关系为一对多,如图3-27所示。,依次类推,设置其它类之间的关联关系。最终得到效果如图3-28所示。,子任务1创建系统类图,任务实施,子任务1创建系统类图,(a)(b),图3-26 设置类间一对多的关联关系,任务实施,子任务1创建系统类图,图3-27 类间一对多的关联关系示例,图3-28 MP3播放器的类图,任务实施,子任务2创建系统创建存储子系统类图,【提示】在浏览窗口中右键单击“Logical View”(逻辑视图),在弹出的菜单上选择菜单项“New”(新建)下的“Class Diagram”(类图)命令,从键盘输入文本“存储类”命名该类图,
11、双击“存储类”打开类图窗口。,确定存储子系统包含的类及它们之间的关系,存储器类用来管理MP3播放器的存储空间,它维护已经存储的媒体文件,并为新的媒体文件分配存储空间,通过分析发现存储子系统包含音频控制器AudioController、存储器Memory、音频帧AudioFrame和媒体文件MediaFile这四个类组成。音频控制器由存储器组成,是聚合关系,它们之间一对一的关系。存储器由媒体文件和音频帧组成,是聚合关系,存储器中可以包含0个或多个媒体文件,因而也就可以包含0个或多个音频帧。媒体文件和音频帧的关系是一对多的关系。,步骤1,任务实施,子任务2创建系统创建存储子系统类图,确定存储子系统
12、,包含的类及它们之间的关系,(1)创建类“MediaFile”:移动光标指向工具箱中的“Class”图标,单击选定该图标,然后移动光标到类图窗口,在适当位置单击鼠标左键,出现名为“NewClass”的类,从键盘输入“MediaFile”取代“NewClass”实现重命名。,(2)创建类“MediaFile”的属性:鼠标右键单击“MediaFile”类,对弹出的菜单上选择“New Attribute”(新属性)命令,如图3-29所示,单击鼠标左键。,步骤2,【注意】以类“MediaFile”创建为例,说明类、类属性及类操作的创建过程。,任务实施,子任务2创建系统创建存储子系统类图,图3-29 选
13、择“New Attribute”命令,如图3-30(a)所示,出现名为“name”的属性,从键盘输入“name:String”(【注意】输入冒号时请切换至英文方式),按回车确认,实现对类“MediaFile”的属性创建,类似方法,创建“length:Time”属性,如图3-30(b)所示。,(a)(b),图3-30创建类“MediaFile”的属性,任务实施,子任务2创建系统创建存储子系统类图,(3)设置类“MediaFile”的属性访问权限:鼠标左键单击“MediaFile”属性左边的图标,出现如图3-31(a)所示的权限图标列表,在其中选择“带钥匙”的图标,设置类“MediaFile”的属
14、性的访问权限为私有的访问权限,如图3-31(b)所示。,(a)(b),图3-31设置类“MediaFile”的属性访问权限,(4)设置“MediaFile”类的Operation(操作):鼠标右键单击“MediaFile”类,对弹出的菜单上选择“New Operation”(新操作)命令,如图3-32所示,单击鼠标左键。,图3-32 选择“New Operation”命令,任务实施,子任务2创建系统创建存储子系统类图,如图3-33(a)所示,出现名为“opname()”的操作,从键盘输入“getAudioFrame()”(,【注意】输入圆括号时请切换至英文方式,),按回车确认,实现对“Medi
15、aFile”类的操作创建,类似方法,创建“addAudioFrame()”、“delete()”、“save()”操作,如图3-33(b)所示。,(a)(b),图3-33 创建类的操作,(a)(b),图3-34 设置类“MediaFile”的操作的调用权限,(5)设置类“MediaFile”的操作的调用权限:鼠标左键单击“getAudioFrame()”操作左边的图标,出现如图3-34(a)所示的调用权限图标列表,在其中选择第一个图标,设置“getAudioFrame()”操作为公有的调用权限,如图3-34(b)所示。,任务实施,子任务2创建系统创建存储子系统类图,(6)类“AudioCont
16、roller”有play()、stop()操作;类“Memory”有getFile()、delFile()、saveFile()操作;所有类的操作的调用权限皆为公有,如图3-35所示,请自行创建与设置。,图3-35 创建类、类属性及类操作示例,(1)创建类“MediaFile”与“AudioFrame”间的关系,鼠标左键单击选定工具箱中的“Aggregation”(聚合)工具图标,移动光标指向类“AudioFrame”,按住鼠标左键,拖动至类“MediaFile”,松开鼠标,出现如图3-36(a)所示的聚合关系,在图3-36(a)所示的光标位置,单击鼠标右键,在弹出的菜单上找到“Aggregate”命令,单击取消对其的“勾选”状态,如图3-36(b)所示。,步骤3,创建类与类之间的关系,任务实施,子任务2创建系统创建存储子系统类图,(a)(b),图3-36 创建类之间的关系示例,任务实施,子任务2创建系统创建存储子系统类图,(2)创建类“MediaFile”与“AudioFrame”间的一对多的关系,在如图3-36(b)所示的位置,单击右键,在弹出的菜单上选择“Multiplicity
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。