软件开发工具StarUML及其应用课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件开发工具StarUML及其应用课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 工具 StarUML 及其 应用 课件
- 资源描述:
-
1、2022年6月6日第1页软件开发工具软件开发工具StarUMLStarUML及其应用及其应用本章内容结构本章内容结构l本章引言本章引言l学习目标学习目标l教学内容教学内容l本章小结本章小结l思考和练习思考和练习l课堂讨论课堂讨论本章引言本章引言 StarUML(简称SU)是一款开放源码的UML 开发工具,本身具有发展快、灵活、可扩展性强等特点,是当前应用范围较广的软件建模工具之一。StarUML 可以读取Rational Rose生成的文件,让原先Rose 的用户可以转而使用免费的StarUML。 本章主要介绍StarUML 环境对面向对象分析与设计过程的支持和UML 图形描述。本章最后通过一
2、个教学管理系统的系统分析设计过程,描述StarUML 工具在系统分析与设计中的使用。2022年6月6日第2页2022年6月6日第3页学习目标学习目标 熟悉并掌握StarUML工具的用法 理解和掌握StarUML工具用于分析、设计的用法 掌握面向对象分析、设计的方法2022年6月6日第4页教学内容教学内容1 软件开发工具StarUML 概述2 StarUML 环境下的UML 图形建模3 一个简易教学管理系统的分析和设计4 本章小结和习题 2022年6月6日第5页1 1 软件开发工具软件开发工具StarUMLStarUML 概述概述当前,业界使用最广泛的UML建模工具包括Rational Rose
3、、ArgoUML、StarUML等。StarUML不仅包含Rose所具有的功能全面、满足所有建模环境需求能力和灵活性等特点,最关键的是,StarUML开源、可扩展、灵活小巧(基本构成只有约20M)。与Rose类似,StarUML可以和任何一种面向对象的应用程序结构组合使用,得到各类主要的面向对象编程语言和快速应用开发工具的直接支持。StarUML工具基于UML1.4版本,提供11种不同类型的图,支持UML2.0的表示法,通过支持UML轮廓(profile)的概念积极地支持模型驱动结构(Model Driven Architecture,UMD)方法。1.1 StarUML 的安装及使用1.2
4、StarUML 的主要功能2022年6月6日第6页1.1 1.1 StarUMLStarUML 的安装及使用的安装及使用StarUML是完全开放源码的软件,不仅免费自由下载,连代码都免费开放,官方网站为:http:/ : IntelPentium233MHz 或更高。 Windows2000,Windows XP,或更高版本。 Microsoft Internet Explorer5.0或更高版本。 128 MB RAM(推荐256MB)。 110 MB硬盘空间(推荐150MB空间)。 SVGA或更高分辨率(推荐1024768)。 鼠标或其他指引设备。1.1 1.1 StarUMLStarUM
5、L 的安装及使用的安装及使用2StarUML 的安装步骤(此处省略安装过程界面) 单击StarUML安装包,弹出欢迎界面(此处省略欢迎界面)。 单击Next按钮,点击“I accept the agreement”同意安装协议,再点击Next按钮。 设置StarUML安装的路径后,单击Next按钮,则开始安装过程。 单击Finish,完成安装并退出。2022年6月6日第7页1.1 1.1 StarUMLStarUML 的安装及使用的安装及使用3StarUML 的使用 StarUML工具是个菜单驱动的应用程序,具有非常友好的图形用户界面。与常规应用程序的启动方法类似,StarUML可以从“开始”
6、“所有程序”中选择StarUML文件夹下的StarUML启动,或者在安装过程中建立快捷方式,直接点击快捷方式启动StarUML。2022年6月6日第8页2022年6月6日第9页1.2 1.2 StarUMLStarUML 的主要功能的主要功能1StarUML 的主菜单窗口及使用 StarUML应用程序界面窗口包括工具栏区域、UML图例区域、工作区域、模型视图区域、属性编辑区域及状态信息栏6大区域,参见图2。1.2 1.2 StarUMLStarUML 的主要功能的主要功能2022年6月6日第10页图图2 2 StarUMLStarUML应用程序窗口应用程序窗口1.2 1.2 StarUMLSt
7、arUML 的主要功能的主要功能工具栏区域包括菜单栏及标准工具栏两个部分。菜单栏用于显示当前可供使用的菜单项,包括文件(File)、编辑(Edit)、格式(Format)、模型(Model)、视图(View)、工具(Tools)、帮助(Help)7个项目,其内容随当前正在操作的模型图而有所不同;标准工具栏位于菜单栏下,沿着应用程序窗口的顶部展开,包含一系列可以简化常用操作的图标,与打开的模型图窗口无关。另外,用户可以通过工具栏帮助使用常用特性。StarUML对不同的图显示不同的工具栏,除了工具栏和菜单外,StarUML还有相关的弹出菜单,可以用右键单击来进行项目访问。例如,鼠标右键单击类图中的
8、类,弹出一个菜单,其中的选项包括增加类的属性或操作、浏览和编辑类规范、产生类的代码和浏览产生的代码等。2022年6月6日第11页1.2 1.2 StarUMLStarUML 的主要功能的主要功能UML图例区域中包括了适用于当前模型图的各种组成成分,模型图就是通过选择图例区域中的模型在工作区域中设计而成的。每种模型图都有各自对应的工具箱。工作区域是建立和修改当前模型图的主操作区,区域左上角的图标表示当前正在被操作的图的名称,图中绘制的每个模型元素都会显示在工作区域中,用户可以通过对模型元素的控制来达到成功绘制图形的目的。其中工作区域右下角的 图标表示综览窗口标识,用于显示模型图当前区域在整个模型
9、中的位置。模型视图区域是一个层次结构的导航工具,通过它可以快速查看顺序图、类图、用例图、状态图、活动图和部署图的名称及其中的模型元素和其他许多模型元素。2022年6月6日第12页1.2 1.2 StarUMLStarUML 的主要功能的主要功能属性编辑区域是对图中各个组成成分、成分之间的关系,甚至图本身的属性进行编辑的工具,其中包括许多预定义及自定义的属性设置,其中一些设置会直观地在工作区域中的图上表示出来。另外,描述文档编辑区域在默认情况下是和属性编辑区域放在一起的,用户可以通过单击下方Document选项进行切换。状态信息栏用于显示执行某些命令和操作之后的进展情况、结果和错误提示。 202
10、2年6月6日第13页2022年6月6日第14页2 2 StarUMLStarUML 环境下的环境下的UML UML 图形建模图形建模StarUML模型是问题陈述域与软件系统表示的联系纽带,软件系统的所有工作可以从StarUML模型的建立开始。在默认情况下,StarUML模型都以扩展名为.uml 的文件进行保存,一个项目包含并管理模型(Model)、子系统(Subsystem)和包(Package)等子元素。模型是由图形和相关的说明组成的,StarUML共提供了类图、用例图、顺序图、顺序图(角色)、协作图(UML2.0中修改为通信图)、协作图(角色)、状态图、活动图、构件图、部署图、组合结构图1
11、1种模型图的绘制方法。2 2 StarUMLStarUML 环境下的环境下的UML UML 图形建模图形建模2.1 StarUML 的用例图、类图和包图2.2 StarUML 的交互图和状态机图2.3 StarUML 的构件图与部署图2.4 StarUML 的正向工程和逆向工程2022年6月6日第15页2022年6月6日第16页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图用例图主要用于对系统、子系统或类的行为进行建模,与具体用例图主要用于对系统、子系统或类的行为进行建模,与具体的实现细节无关,它只说明系统实现什么功能,而不必说明如的实现细节无关,它只说
12、明系统实现什么功能,而不必说明如何实现,表示从系统外部用户的观点看系统应具有的功能。类何实现,表示从系统外部用户的观点看系统应具有的功能。类图用于对系统的静态结构建模,是逻辑视图的重要组成部分,图用于对系统的静态结构建模,是逻辑视图的重要组成部分,涉及具体的实现细节,不仅定义系统中的类,表示类的内部结涉及具体的实现细节,不仅定义系统中的类,表示类的内部结构(属性和操作),还表示系统中类之间的关系,包括关联、构(属性和操作),还表示系统中类之间的关系,包括关联、依赖及聚集等,类之间的这种复杂关联关系在依赖及聚集等,类之间的这种复杂关联关系在UML2.0UML2.0中也可定中也可定义为组合结构图。
13、义为组合结构图。2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图1用例图(Use Case Diagram) 在软件开发的生存周期中,用例图主要用在系统需求分析阶段和系统设计阶段。在系统需求分析阶段,用例图用来获取系统的需求,帮助理解系统应当如何工作;在系统设计阶段,用例图可以用来规定系统要实现的行为。一般地,每个用例图都应包含三个方面的内容:一个(或一组)用例、参与者、参与者与系统中的用例之间的交互及用例之间的关系。在使用StarUML绘制用例图之前,一般地应该已经有过对系统的建模过程。用例图是系统的外部行为视图,在确定了参与者和相关用例的基础上,通过绘
14、制用例图可以更清晰地理解系统的行为。2022年6月6日第17页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图一般地,用例图的建立步骤如下。 找出系统外部的参与者和外部系统,确定系统的边界和范围。 确定每一个参与者所希望的系统行为。 把这些系统行为命名为用例。 把一些公共的系统行为分解为一批新的用例,供其他的用例引用,把一些变更的行为分解为扩展用例。 编制每一个用例的脚本。 绘制用例图。 区分主业务流和例外情况的事件流。可以把表达例外情况的事件流的用例图画成一个单独的子用例图。 精化用例图,简化用例中的对话序列。用例图可以有不同的层次,高层次系统的用例可以
15、分解为若干个下属子系统中的子用例2022年6月6日第18页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图下面给出在StarUML中创建用例图的各组成元素的方法描述。(1)用例图中的各个组成成分在StarUML工具中的画法描述StarUML在建立新项目(New Project)后会默认生成一个主用例图Main。而在StarUML中创建新用例图的方法如下: 在模型视图区域的Use Case Model标题上单击鼠标右键,显示出弹出菜单(其他Model亦允许添加); 选择Add DiagramUse Case Diagram,一个新的用例图出现在Use Cas
16、e Model之下; 直接将新用例图更名为设计的名字。2022年6月6日第19页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图在StarUML中创建参与者actors的方法如下: 在图例模型区域中选中Actor模型; 在工作区域中单击鼠标左键,则生成一个新的actor; 可对actor的Name、Visibility、Attribute和Operation进行编辑。在StarUML中创建用例UseCase的方法如下: 在图例模型区域中选中UseCase模型; 在工作区域中单击鼠标左键,则生成一个新的UseCase; 可对UseCase的Name、Visi
17、bility、Attribute和Operation进行编辑。 2022年6月6日第20页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图(2)StarUML工具中确定用例图中各组成成分之间关系的画法描述: 在用例图的工具栏上单击相应的关系图标。StarUML 中提供了Association、DirectedAssociation、Generalization、Dependency、Include、Extend 6类用例图中涉及的关系。 在相应的起始组成单位上单击并拖动到结束组成单位上。 选中生成的关系,在属性编辑区域编辑该关系的Name、Stereoty
18、pe、Visibility等相关属性。(3)StarUML工具中为用例图、组成成分及关系添加摘要描述的方法 在模型视图区域或工作区域选中相应用例图、成分及关系。 在属性编辑区域底端单击Documentation,属性编辑区替换为摘要描述编辑区。 在编辑区中键入相关描述。在StarUML中为图、成分及关系添加摘要描述的方法与以上介绍的方法完全相同,下文中不再赘述。2022年6月6日第21页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图图3展示了在StarUML中包含一个actor、一个usecase的用例图的描述示例。2022年6月6日第22页图图3 3
19、用例图示例用例图示例2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图2类图类图在系统的整个生存周期中都是有效的,它是项目组的良好设计工具,有助于开发人员在用具体的编程语言实现系统之前显示和计划系统结构,保证系统设计和开发的一致性。在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责;在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构;在系统编码阶段,类图提供系统功能实现的依据。类图是用类和它们之间的关系描述系统的一种图示,是从静态角度表示系统的,属于一种静态模型。类图是构建其他图的基础,没有类图,就没有状态图、通信图等其他图,也就无法表示系
20、统的其他各个方面。2022年6月6日第23页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图一般地,对象类图的建立步骤如下: 研究分析问题领域,确定系统的需求。 从需求描述中发现对象和对象类,明确它们的含义和责任,确定属性和操作。 从需求描述中发现类之间的静态联系。着重分析找出对象类之间的一般和特殊关系,部分与整体关系,研究类的继承性和多态性,把类之间的静态联系用关联、泛化、聚集、组合、依赖等联系表达出来。虽然对象类图表达的是系统的静态结构特征,但是应当把对系统的静态分析与动态分析结合起来,更能准确地了解系统的静态结构特征。 设计类与联系。调整和精化已得到
21、的对象类和类之间的联系,解决诸如命名冲突、功能重复等问题。 绘制对象类图并编制相应的说明。2022年6月6日第24页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图 研究分析问题领域,确定系统的需求。 从需求描述中发现对象和对象类,明确它们的含义和责任,确定属性和操作。 从需求描述中发现类之间的静态联系。着重分析找出对象类之间的一般和特殊关系,部分与整体关系,研究类的继承性和多态性,把类之间的静态联系用关联、泛化、聚集、组合、依赖等联系表达出来。虽然对象类图表达的是系统的静态结构特征,但是应当把对系统的静态分析与动态分析结合起来,更能准确地了解系统的静态结
22、构特征。 设计类与联系。调整和精化已得到的对象类和类之间的联系,解决诸如命名冲突、功能重复等问题。 绘制对象类图并编制相应的说明。2022年6月6日第25页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图(3)在StarUML中创建类间关系的方法如下: 在模型区域点击相应的关系图标,StarUML中提供了Association、DirectedAssociation、Aggregation、Composition、Generalization、Dependency、Realization、Link 8种类图中涉及的关系; 在相应的起始组成单位上单击并拖动到
23、结束组成单位上; 选中生成的关系,在属性编辑区域编辑该关系的Name、Stereotype、Visibility等相关属性。2022年6月6日第26页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图图4 展示了具有两个Class和一个接口的类图图例。其中Class1与Class2的关系为DirectedAssociation,Class1与Interface是Realization关系,Class2与Interface是Dependency关系。2022年6月6日第27页2.1 2.1 StarUMLStarUML 的用例图、类图和包图的用例图、类图和包图
24、3包图 包是一种组合机制,把各种各样的模型元素通过内在的语义连在一起,成为一个整体就叫做包,构成包的模型元素称为包的内容。包通常用于对模型的组织管理,因此有时又将包称为子系统(Subsystem)。包拥有自己的模型元素,包与包之间不能共用相同的模型元素。包的实例没有任何语义,只有在模型执行期间,包才有意义。包能够引用来自其他包的模型元素。当一个包从另一个包中引用模型元素时,这两个包之间就建立了关系。包与包之间允许建立的关系有依赖、精化和通用化,但需注意,只能在包中的类型之间建立关系,而不能在实例之间建立关系,因为包的实例没有语义。2022年6月6日第28页2.1 2.1 StarUMLStar
25、UML 的用例图、类图和包图的用例图、类图和包图包是用来说明元素组或者子系统的机制。一个包可以是任何种类的一组模型元素,如一组类、一组用例、一组协作图(通信图)或者其他的包(嵌套包)。整个系统都可以被认为是包含在一个最顶层的包中System(系统)包。一个包定义了一个嵌套的名字空间,因此同名元素在不同的包内可能需要被复制。一般地,需要按照下列原则将元素组织成包:将提供通用服务(或者一组相关服务集)的元素组织成一个包,这些元素之间具有高耦合度和密切的协作关系。包在某种程度上应该被视为具有高聚合度它所承担的职责相互之间密切关联。相比之下,不同包中的元素之间的耦合和合作关系应该比较松散。2022年6
展开阅读全文