UML用例和用例图
- 格式:ppt
- 大小:548.50 KB
- 文档页数:65
UML各种图例面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language ™),这篇课程的目的是展示出UML的精彩之处.UML中有九种建模的图标,即:∙用例图∙类图∙对象图∙顺序图∙协作图∙状态图∙活动图∙组件图∙配置图本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解.为什么UML很重要?为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成标准文档为了这个行业中的设计师和施工人员的必修课.写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言.UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界.模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state.类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances.用例图用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作.用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节.“一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.”用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)标准文档角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线.一个用例图是角色,用例,和它们之间的联系的集合.我们已经把Make Appointment作为一个含有四个角色和四个用例的图的一部分.注意一个单独的用例可以有多个角色.用例图在三个领域很有作用.决定特征(需求).当系统已经分析好并且设计成型时,新的用例产生新的需求标准文档∙客户通讯.使用用例图很容易表示开发者与客户之间的联系.∙产生测试用例.一个用例的情节可能产生这些情节的一批测试用例.类图类图Class diagram通过显示出系统的类以及这些类之间的关系来表示系统.类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响.下面是一个顾客从零售商处预定商品的模型的类图.中心的类是Order.连接它的是购买货物的Customer和Payment.Payment有三种形式:Cash,Check,或者Credit.订单包括OrderDetails(line item),每个这种类都连着Item.标准文档UML类的符号是一个被划分成三块的方框:类名,属性,和操作.抽象类的名字,像Payment是斜体的.类之间的关系是连接线.类图有三种关系.关联association-表示两种类的实例间的关系.如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联.在图中,关联用两个类之间的连线表示.标准文档标准文档为了简单地表示出复杂的类图,可以把类组合成包packages.一个包是UML上有逻辑关系的元件的集合.下面这个图是是一个把类组合成包的一个商业模型.dependencies关系.如果另一个的包B改变可能会导致一个包A改变,则包A依赖包B.包是用一个在上方带有小标签的矩形表示的.包名写在标签上或者在矩形里面.点化线箭头表示依赖对象图Object diagrams用来表示类的实例.他们在解释复杂关系的细小问题时(特别是递归关系时)很有用.这个类图示一个大学的Department可以包括其他很多的Departments.标准文档这个对象图示上面类图的实例.用了很多具体的例子.UML中实例名带有下划线.只要意思清楚,类或实例名可以在对象图中被省略.标准文档每个类图的矩形对应了一个单独的实例.实例名称中所强调的UML图表.类或实例的名称可能是省略对象图表只要图的意义仍然是明确的.顺序图类图和对象图是静态模型的视图.交互图是动态的.他们描述了对象间的交互作用.顺序图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线.消息用从一个对象的生命线到另一个对象生命线的箭头表示.箭头以时间顺序在图中从上到下排列.标准文档协作图协作图也是互动的图表.他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角色.在序列图中,对象的角色放在上面而消息则是连接线.标准文档对象角色矩形上标有类或对象名(或者都有).类名前面有个冒号(:).协作图的每个消息都有一个序列号.顶层消息的数字是1.同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等.状态图对象拥有行为和状态.对象的状态是由对象当前的行动和条件决定的.状态图statechart diagram显示出了对象可能的状态以及由状态改变而导致的转移.标准文档我们的模型例图建立了一个银行的在线登录系统.登录过程包括输入合法的密码和个人账号,再提交给系统验证信息.登录系统可以被划分为四种不重叠的状态:Getting SSN, Getting PIN, Validating, 以及 Rejecting.每个状态都有一套完整的转移transitions来决定状态的顺序.标准文档状态是用圆角矩形来表示的.转移则是使用带箭头的连线表示.触发转移的事件或者条件写在箭头的旁边.我们的图上有两个自转移.一个是在Getting SSN,另一个则在上Getting PIN.初始状态(黑色圆圈)是开始动作的虚拟开始.结束状态也是动作的虚拟结束.事件或条件触发动作时用(/动作)表示.当进入Validating状态时,对象并不等外部事件触发转移.取而代之,它产生一个动作.动作的结果决定了下一步的状态.活动图活动图activity diagram是一个很特别的流程图.活动图和状态图之间是有关系的.状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程.活动图告诉了我们活动之间的依赖关系.对我们的例子来说,我们使用如下的过程.“通过ATM来取钱.”这个活动有三个类Customer, ATM和 Bank.整个过程从黑色圆圈开始到黑白的同心圆结束.活动用圆角矩形表示.标准文档标准文档标准文档。
UML中的用例与类图之间的关联关系UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,它提供了一套丰富的图形符号和规范,用于描述和设计软件系统的结构和行为。
在UML中,用例图和类图是两个重要的建模工具,它们分别用于描述系统的功能需求和结构设计。
本文将探讨用例图和类图之间的关联关系,以及它们在软件开发过程中的应用。
一、用例图的作用和特点用例图是一种用于描述系统功能需求的图形表示方法。
它通过用例(Use Case)和参与者(Actor)之间的关系来描述系统的功能和行为。
用例图可以帮助开发团队和用户明确系统的功能需求,从而指导软件系统的开发和测试工作。
用例图的特点在于它强调系统与外部参与者之间的交互关系。
一个用例表示系统的一个功能需求,而参与者则表示与系统进行交互的外部实体,如用户、系统管理员等。
用例图通过箭头来表示参与者和用例之间的关系,例如,一个参与者可以执行多个用例,一个用例也可以被多个参与者执行。
二、类图的作用和特点类图是一种用于描述系统结构设计的图形表示方法。
它通过类(Class)、关联(Association)、继承(Inheritance)等元素来描述系统中的对象和它们之间的关系。
类图可以帮助开发团队明确系统的结构和组织,从而指导软件系统的设计和实现工作。
类图的特点在于它强调系统中对象之间的关联关系。
一个类表示系统中的一个对象,而关联则表示对象之间的关系。
类图通过线条和箭头来表示类和关联之间的关系,例如,一个类可以关联到另一个类,表示它们之间存在某种关联。
类图还可以使用继承关系来描述类之间的层次结构,例如,一个类可以继承自另一个类,表示它们之间存在父子关系。
三、用例图和类图的关联关系用例图和类图之间存在着紧密的关联关系。
用例图描述了系统的功能需求,而类图描述了系统的结构设计。
用例图中的用例可以通过类图中的类来实现,从而满足系统的功能需求。
具体来说,用例图中的用例可以通过类图中的类的操作来实现。
中北大学软件学院实验报告
专业:软件工程
方向:软件开发与测试
课程名称: UML
班级:
学号:
姓名:
辅导教师:井超
2017年3月制
4.用例图如下所示
1).系统参与者
系统角色
2).图书管理
图书管理用例图3).图书借阅和还书用例图
图书的借阅和归还用例4).图书管理系统的整体用例图
图书管理系统的整体用例图
5.实验结论及心得
通过本次实验,我掌握了在课堂上学习的用例图等。
加深了对书本知识的认识和记忆。
在实验中我学会了去如何操作ro se工具图。
通过ro se工具图,可以去清晰的去展示一个关系等。
使用非常方便。
13种uml简介、工具及示例UML(Unified Modeling Language)是一种用于软件开发的标准化建模语言,它使用图形表示法来描述软件系统的不同方面。
在软件开发过程中,使用UML可以帮助开发人员更清晰地理解系统的结构和行为,从而更好地进行设计和实现。
UML提供了包括结构模型、行为模型和交互模型在内的多种建模方式,其中每种模型都有各自的符号和语法规则。
通过使用这些模型,开发人员可以将系统分解成不同的部分,然后逐步细化这些部分的设计,以便更好地组织和管理项目。
在UML中,最常用的建模元素包括用例图、类图、时序图、活动图、状态图等。
每种图表都有其特定的用途和表达能力,开发人员可以根据实际需要选择合适的图表进行建模。
除了建模元素外,UML还定义了一系列的建模工具,这些工具可以帮助开发人员更高效地进行建模和分析。
其中一些常用的建模工具包括Enterprise Architect、Rational Rose、StarUML等。
下面将对13种UML简介、工具及示例进行详细介绍:1. 用例图(Use Case Diagram)用例图是UML中描述系统功能和用户交互的基本图表之一。
它用椭圆表示用例,用直线连接用例和参与者,展示了系统外部用户和系统之间的交互。
用例图可以帮助开发人员更清晰地理解系统的功能需求,从而指导系统的设计和实现。
示例:一个简单的在线购物系统的用例图包括用例“浏览商品”、“添加商品到购物车”、“提交订单”等,以及参与者“顾客”和“管理员”。
2. 类图(Class Diagram)类图是UML中描述系统结构和静态关系的基本图表之一。
它用矩形表示类,用线连接类之间的关系,包括关联关系、聚合关系、继承关系等。
类图可以帮助开发人员更清晰地理解系统的对象结构和类之间的关系,从而支持系统的设计和重构。
示例:一个简单的学生信息管理系统的类图包括类“学生”、“课程”、“教师”等,以及它们之间的关系如“选修”、“授课”等。
超市管理系统U M L类图和用例图集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#超市管理系统需求分析报告(使用面向对象的方法)目录超市管理系统需求分析报告(面向对象方法)1用例和用例图1.1 什么是用例和用例图用例是由行为者启动的系统完成的一系列动作,这些动作除了完成系统内部的计算与工作外,还包括与一些行为者的通信。
用例代表某些用户可见性的功能,实现一个具体的用户目标。
用例图(User Case)是由参与者,用例以及它们之间的关系构造成的用于描述系统功能的动态视图的图。
用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。
用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。
用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
1.2 用例图1.3 用例说明用例名称:超市管理系统之人事管理相关活动者:职工,人事部人员,超市管理系统之售后服务简要说明:人事部人员对职工进行人事调动,人事考核,培训,工资管理等一系列人事安排。
一切的人事安排都打印出报表及时通知给职工。
其中的人事考核将接受由超市管理系统之售后服务传过来的对职工的投诉的信息,作为人事考核的一个依据。
前置条件:人事部人员已经登录人事管理界面主事件流:1.人事部人员登录人事管理界面,用例开始2.系统提示输入人事管理对象职工的职工号3.人事部人员输入人事管理对象职工的职工号4.系统提示选择人事管理的四项管理:人事调动,人事考核,培训,工资管理5.人事部人员选择一项具体的人事管理:B1:选择人事调动B2:选择人事考核 B3:选择培训 B4:选择工资管理6.系统按选择做相关处理7.用例结束可选事件流:B1:选择人事调动1.系统提示选择人事调动中三项管理:就职,职位变更,离职2.人事部人员选择一项具体的人事调动管理:B5:选择就职B6:选择职位变更 B7:选择离职3.系统按选择做相关处理4.返回主事件流第7步B2:选择人事考核1.系统显示该职工可能存在的由超市管理系统之售后服务传入的被投诉的事项2.系统提示输入考核内容3.人事部人员输入考核内容4.系统提示给出职工考核结果5.人事部人员输入具体考核结果6.系统显示职工考核具体情况并打印报表7.返回主事件流第7步B3:选择培训1.系统提示选择培训项目2.人事部人员选择培训项目3.系统提示选择培训时间4.人事部人员选择培训时间5.系统显示该项培训具体事项并打印报表6.返回主事件流第7步B4:选择工资管理1.系统显示该职工当前工资情况2.系统提示修改该职工工资3.人事部人员修改该员工各项工资4.系统显示修改后职工工资情况并打印报表5.返回主事件流第7步B5:选择就职1.系统显示该后备职工具体情况2.系统将该职工信息由后备职工表转入就职职工表3.系统打印职工就职任命书4.返回主事件流第7步B6:选择职位变更1.系统显示该职工当前职位情况2.系统提示选择该职工变更后职位3.人事部人员选择变更后职位4.系统显示该职工变更后职位情况并答应职位变更报表5.返回主事件流第7步B7:选择离职1.系统显示该职工当前就职情况2.系统将该职工信息由就职职工表转入离职职工表3.系统打印职工离职报表4.返回主事件流第7步后置条件:无用例名称:超市管理系统之销售管理相关活动者:顾客,大客户,营业员,销售经理,超市管理系统之售后服务,超市管理系统之仓储管理简要说明:销售管理对超市的销售做总体的管理。
UML(2)-⽤例图通过⽤例来捕获系统需求,然后结合参与者进⾏系统功能需求的分析和设计。
由参与者、⽤例及它们之间关系构成的⽤于描述系统功能的动态视图称为⽤例图。
⼀个椭圆,⽤例的名字可以放在椭圆的中⼼或椭圆下⽅的中间位置表⽰⼀个⽤例。
参与者⽤⼈型符号表⽰。
两者之间的关系⽤带箭头的线段描述,其中箭头所指⽅为被动接受者(可以⽤不带箭头的线段描述不带主被动关系)。
要注意的是:箭头的⽅向并不是指信息流的⽅向。
参与者与⽤例之间的信息流默认存在,是双向的。
(⼀)⽤例图的作⽤⽤例图的主要作⽤是描述参与者和⽤例之间的关系,帮助开发⼈员可视化的了解系统功能。
传统的需求表述⽅式是Software Requirment Specification(软件需求规约,SRS),采⽤功能分解⽅式来描述系统功能,将系统功能分解到各个系统功能模块中,然后通过描述每个模块的功能来达到描述整个系统功能的⽬的。
软件需求规约容易混淆需求和设计的界限,导致需求分析包含部分概要设计;通过分割了的系统功能难于表现实现⼀个完整的系统服务。
⽤例图可视化的表达了系统的需求,且把需求与设计分离开。
(⼆)⽤例图构成(1)参与者(Actor)参与者指存在于系统外部且直接与系统进⾏交互的⼈、系统、⼦系统或类的外部实体的抽象。
通过⼈形图来表⽰参与者,参与者的名字在图的下⽅。
参与者是⼀种⾓⾊,⽽不是具体的⼈或事物本⾝。
参与者之间的关系主要是泛化关系,也就是继承关系。
继承关系通过空⼼三⾓箭头的实线段表⽰。
(2)⽤例(Use Case)⽤例是参与者可以感受到的系统服务或功能单元。
它是以⽤户的⾓度上来描述系统功能。
参与者与⽤例之间的关系是关联关系,也称为通信关联。
参与者是⼀种⾓⾊,⽤例不是具体实例,⽽是表⽰⼀个类。
⽤例包含的系统功能有⼤有⼩,这就是⽤例的粒度,粒度⼤,⽤例包含的功能多。
⽤例的粒度重要的是⼀个度。
它决定了⽤例模型级的复杂度,也决定了每个⽤例内部的复杂度。