UML实验指导书2011要点_第1页
UML实验指导书2011要点_第2页
UML实验指导书2011要点_第3页
UML实验指导书2011要点_第4页
UML实验指导书2011要点_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、江西理工大学UML实验报告UML实验指导书28.3.101.4.19.23|=r目录实验一 用例图 实验二 UML 类图 实验三 状态图 实验四 活动图 实验五 时序图与协作图实验用例图2、4、 实验目的和要求 掌握用例的概念。 掌握 UML 用例图的组成、作用以及使用场合。 掌握用例与用例之间的各种关系。 学习针对具体场景使用用例图进行分析说明的方法。 掌握用例描述的概念和基本结构,以及用例描述的作用。 实验内容和步骤 2、什么是用例,什么是场景?用例和场景之间的关系是怎样的? 答:用例是外部可见的系统功能单元,这些功能由系统单元所 提供,并通过一系列系统单元与一个或多个参与者之间交换的 消

2、息所表达。事件触发时的情景便形成了场景 用例图中有哪些组成元素?在 UML 中是如何表示的? 答:用例图包含 6 个元素,分别是:参与者、用例、关联关系、 包含关系、扩展关系以及泛化关系。参与者用人形图标表示,用例图用椭圆形符号表示,连线表示 它们之间的关系。3、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用 例图,并进行说明。答:包含关系:一个用例可以简单地包含其他用例具有的行为, 并把它所包含的用例行为作为自身行为的一部分。 扩展关系:一个用例也可以被定义为基础用例的增量扩展,这 称作扩展关系,扩展关系是把新的行为插入到已有用例

3、中的方 法。泛化关系:一个用例可以被特别列举为一个或多个子用例。包含关系把几个用例的公共步骤分离成一个单独的被包含用 例。被包含用例称作提供者用例,包含用例称作客户用例,提 供者用例提供功能给客户使用。用例间的包含关系允许包含提 供者用例的行为到客户用例的事件中。包含关系使一个用例的功能可以在另一个用例中使用。 (1 )如果两个以上用例有大量一致的功能,则可以将这个功能分解到 另一个用例'中。其他用例也可以和这个用例建立包含关系。、(2)一个用例的功育雀多时,可以用包含关系建模两个小用例。用例间的包含关系示例图基础用例的执行不会涉及到扩展用例,只有特定的条件发生, 扩展用例才被执行。交

4、纳租金用例间的扩展关系示例用例泛化当父用例能够被使用时,任何子用例也可以被使用。子用例从父用例处继承行为和属性, 还可以添加、覆盖或改变继承的 行为。如果一个系统中一个或多个用例是某个一般用例的特殊化时, 就需要使用用例的泛化关系o用例间的泛化关系示例打开房源信息页面<<include>>4、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求 调研与分析,准备研发一套符合市场需要的、实用的信息管理 系统。主要将实现客户资料信息管理、客户委托(出租、出售、 租赁、购买)信息管理、业务线索生成与管理、房源状态自动 更新、权限管理、到期用户管理、房源组合查询等功能。该公

5、司小王,通过多次的与潜在客户的交流与沟通,完成了最初的 用例模型的开发,下是一个用例模型的局部:i丿7亠"登录信息房产经纪人、录入房源信息c:>修改房源信息I丿确认提交信息小李认为该模型不符合“用例建模”的思想,存在明显的错误。 请用200字以内说明错误所在,并说明应该如何修改。答:用例是系统参与者与系统在交互过程中所需要完成的事务。 确定参与者是房产经济人,还要分析系统所涉及的问题领域和 系统运行的主要任务。根据系统的需求分析可确定:作为一个 物业信息管理系统,要实现客户资料信息管理、客户委托(出 租、出售、租赁、购买)信息管理、业务线索生成与管理、房 源状态自动更新、权限管

6、理、到期用户管理、房源组合查询等 功能。参与者有房产经纪人,对于房产经纪人来说,系统维护 操作主要包括:录入,修改房源信息而登录和确认信息是包含 在登入和修改中的,包含关系的图标按钮应用虚线箭头。修改后 应该是:答:客户可以启动“预定座位”功能。如果预定人数多,将执行扩展 用例“处理等候队列”。总台服务员可以启动“安排座位” “办理结账”功能。客户预定座位、 服务员安排座位需要先“检查座位信息”。服务员“办理结账”时需 要“收款”,收款时可以现金支付也可以使用银行卡,银行卡必须是 银联POS系统。6、下图是一个描述保险商务系统的简单用例图。根据该用例图回答问题。X容户a) 答:b)“签订保险单

7、”用例可能涉及到哪几个实体类? 客户、保险员、保险单。客户提出购买需求,保险 客户阅读保险条款,同意 保单开始生效,保险员现实生活中签订保单的基本流程如下: 员根据客户需求选择相应的保险服务, 后打印保单样据,客户签字并支付保金, 做相关系统纪录。如需要根据以上信息,请列举这个用例描述中 可能存在扩展事件流。答:当客户不同意保险条款时,将执行扩展用例“退出签订保单”。C)保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系?答:保单查询、保单保存。泛化关系。7、在一个Tele pho neSystem (电话系统)中,用户

8、可以使用电话 卡或对方付款两种办法来打电话。1)请画出表示该场景的用例图。2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。对方付款X-客户分析与讨论1、总结用例图的重要作用,讨论并指出哪些场合下可以使用用例 图。答:用例图显示多个外部参与者以及他们与系统提供的用例之间的连 接。通过用例建模可以对外部的角色以及他们所需要的系统功能建 模。用例图用于系统分析阶段。讨论用例分析技术和结构化分析之间的关系和区别。)的开发方法。答:区别:用例分析是面向对象(Object Orie nted 结构化系统开发方法是指把整个系统开发过程分成若干阶段,每个阶 段进行若干活动,每项活动应用系统标准、规范

9、、方法和技术,完成 一个或多个任务,形成符合给定规范的软件产品。联系:它们都可以是软件的开发更容易3、在使用用例图的时候应该如何划分用例,应注意哪些问题? 答:如何确定用例:a参与者需要从系统中获取哪种功能?及参与者要系统做什么?b参与者是否需要读取、产生、删除、修改或存储系统中的某种信 息? c系统的状态改变是是否通知参与者?d是否存在影响系统的外部事件?e系统需要什么样的输入、输出信息?需要注意的是:定不要再用例图中使用两种命名方法。即在椭圆之2、外和椭圆之内。继续分析类图实验中网上书店实例,画出系统的用例图。尹 ijiod(o w借阅者请求服务的用例图¥-0口 LC«

10、7 B >0 p r"C VW"?' r*jrii<jv*ts -tjt utj OmI o tith;图书馆管理员处理借书、还书的用例图*心迓R- An一 一_ =匚> -I h亠 rMkiFFi MiK rim系统管理员进行系统维护的用例图实验二UML类图实验目的和要求a)b)c)d)e)类的3要素,UML中类的表示方法。掌握类的定义,掌握类与类之间的各种关系代表的含义及表示方法。 实体类,边界类,控制类,关联类的概念和表示方法。 接口和抽象类的概念和表示方法。类的多重性关系。对一个类图进行相关的描述。实验内容和步骤1、简述类的定义,以及类的三

11、要素答:类是对一组具有相同属性、操作、关系和语义事物的描述。类的 三要素是:类的名称、属性、操作。2、类的属性和方法的可见性有哪些?UML中如何表示?答:类的属性和方法的可见性有:公有public (符号“ + ”、私有private (符号“-”和受保护 protected(符号“ # ”,已知三个类A.B和C.其中类A由类B的一个实类和类C的1 个或多个实类构成.请画出能够正确表示类A,B和C之间关系的 UML类图.J&1 B4、根据以下描述画出类图,并注明多重性关系:一个学生可以选 修多门课程,也可能没有任何课程;一门课程可以被多个学生选修; 一个老师可以教多门课程或者不教课;

12、每门课程至少有一个老师,也 可以有多个老师任教;每门课程可以有 0 能用于一门课程。1本教材,每本教材只 -student啦1 bookr盘-尸teacher课桎现有一系统需要对商品进行管理,包括添加,删除商品,修改 商品信息三项功能,画出系统类图。(商品信息包括商品编号, 商品名称,价格,生产厂商等) 如果现在系统需求发生变化,需要能够对损坏商品进行打折, 以及可以按照商品的颜色和外形进行查询,则系统类图应该如 何修改?7、根据下面的代码画出In voice类的类图,要求标明各属性的类 型和可见性以及类方法。P ublic class Inv oicep ublic double amoun

13、t;p ublic Date date = new Date();p ublic stri ng customer;p ublic stri ng sp ecificati on;p ublic stri ng adm ini strator = Bnsp ecified”; static p rivate int nu mber_of_i nv oices()=0;public invoice ();number of invoices+;public void print ()System.out. println ("The nu mber of inv oices is”+

14、int nu mber_of_i nv oices);product逼char 書bshape - <5i>colof t char tprinco ; int 至4亡te>ry:亡hsr*add = O怕 ten O;()*selects <>Invoicestring a-dmirtistfator = "unapeeiled"amount,string GiuEtomer,?Dale date = new Datnt number_of_<nvoices> = 0stnng speciicatbninvoice C >

15、0public voidQ8、下图是一个仓库管理系统的类模型局部,其中In comeOrder是指入库单,Orderitem 是指入库中的每一项,Product则是 产品信息。请指出模型中的错误,说明原因并改正类图。P roductIn comeOrderOrderitem答:Orderitem与IncomeOrder的关系并不是泛化关系,而应该是包含关系。改正的类图:i ncomeorderVorderitem分析与讨论 分析与讨论1、讨论类图在建模过程中的重要作用。答:类图描述系统中类的静态结构,它不仅定义系统中的类,描述类 之间的联系,还包括类的内部结构。类图描述的是一种静态关系,在 系

16、统的整个生命周期中都是有效的。 通过分析用例和问题域,就可以 得到相关的类,然后再把逻辑上相关的类封装成包, 这样可以很好的体现系统的分层结构,是得系统层次关系一目了然。2、总结在设计绘制类图的过程中应注意哪些问题。答:UML类图(Class Diagram )是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。UML类图是定义其他图的基础,在 UML 类图基础上,可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特性。实验三 状态图 实验目的和要求 掌握状态的定义和组成部分。 掌握 UML 中状态的表示方法。 掌握转换的定义及转换的 5 要素。 了解触发事

17、件、监护条件、动作的定义。 掌握阅读和绘制状态图的方法。2、4、 实验内容和步骤 1、什么叫做状态?状态由哪五个部分组成? 答:描述系统里静态事物的动态变化。状态机由状态、转换、事件、 活动和动作 5 部分组成。状态图图标分 3 部分:名称、内部转换和 嵌套状态图。什么是转换? UML 中转换的 5 要素是什么?2、答:转换表示当一个特定事件发生或者某些条件得到满足时, 一个源 状态下的对象在完成特定的动作后将发生状态转变, 转向另一个目标 状态的状态。 5 要素:源状态、目标状态、触发事件、监护条件、动作。触发事件是什么?可以具体分为哪些事件?答:能够引起状态装换的事件。信号、调用和时间段。

18、4、改变事件和监护条件有何异同?答:改变事件能引起动作的执行及状态的改变, 改变监护条件能触发 转换。5、什么叫做转换?转换可以分为哪几种?答:转换表示当一个特定事件发生或者某些条件得到满足时,一个 源状态下的对象在完成特定的动作后将发生状态转变,转向另一个目标状态的状态。转换分为:外部转换、内部转换、完成转换、复合转 换。状态和对象的关系是怎样的? 下面描述中哪些是对象,哪些是 状态?支票已付 汽车停在那儿 小王正在工作答:支票是对象,已付是状态;汽车是对象,停在那儿是状态; 小王是对象,正在工作是状态。7、说出下面状态的状态名和各种转换、事件。Lighti ngen try / turn

19、Ondo / bli nkFiveTimeseve ntPo werOff / po werS uppi ySelf exit / turnoffeve ntSelfTest / defer状态名:Light ing转换:eventSelfTest / defer事件:入口动作entry / turnOndo / bli nkFiveTimes广Off 1 tumOn们水打烧水广f、On_JIA1W丿tumOn没水eve ntPoweOf / po werS uppi ySelf 出口动作 exit / turnoffA说出下面状态图所表达的信息。ZK 卄 r/turnOff答:状态开始,状态

20、1 :关闭,事件1没水,打开放水,事件2烧水, 状态2打开,事件3水开了关闭,回到状态1.分支1烧水时烧坏了, 状态结束。说出下面状态图所表达的信息,并指出蓝色部分代表的含义。滦侔评W课程通过'wd# 丽trot 丿宾r团队项f考试答;状态开始,状态1注册课程,状态2课程评价,嵌套状态图1 : 开始,状态实验1,进入实验室,事件1完成实验,实验2,完成实 验。嵌套状态2 :实验室团队项目,事件项目完成,结束。嵌套状态 3 :开始,状态考试,事件1考试及格,事件2考试不及格,课程不 通过,补考。3个嵌套状态后,课程通过。10、根据下面状态图回答问题。上图是一个表示电梯系统的状态图,该系统

21、中Controller类和Motor类的详细定义如下图所示:Controller©:心ifrentFIoo 匚ini 住UP知21 DOWN:int2MotormoveUp voidO moveDowi vaid() top;viodO根据类图,完成上面状态图中A,B,C,D,E,F处的内容。答:A是0 , B是 timeoutgoToFloorv2,D 是Motor.moveDow n( ),E是 Motor.moveUp(),F是 Motor.stop()*arTiveC):void( *getNlextFloo)jnt() *goT oFilloorfl oodNo:rnt)(

22、) getDirection():int() *requesl(floorint,dire<tion; int) :viod()11、某销售POS机工作流程如下:当客户到收银台后,收银员逐 一输入用户购买的商品,然后计算总金额,等待用户付款,确定支付 成功之后,完成收银,等待下一个用户。请为其画出对应的状态图。丄=一=Zg 分析与讨论讨论思考状态图在UML建模中可以起到什么样的作用。答;状态图一般用于对系统中的某些对象,比如类,用例和系统的行 为建模。它通过建立类对象的生存周期模型来描述对象随时间变化的 动态行为。2、思考什么样的情况下适合引入状态图进行建模。答:系统分析人员在对系统进行

23、建模时, 最先考虑的是基于状态之间 的控制流,因为系统对象中的状态变化最易发现和理解。 这样的情况 下引入状态图进行建模比较好。实验四活动图实验目的和要求掌握活动的概念以及表示方法。2、4、掌握活动图中个元素表示的意义和表示方法。 掌握分支、监护条件、分岔、汇合和泳道的概念。掌握阅读和绘制活动图的方法。掌握UML的可见性规则和构造型的作用。实验内容和步骤什么是活动? UML中如何表示活动?答:活动是某件事情正在进行的状态既可以是现实生活中正在进行的 某一项工作,也可以是软件系统某个类对象的一个操作。 活动图用圆 角椭圆表示。MewActivitv2、活动图中包括哪些元素?分别如何表示?答:分支

24、与合并、分叉与汇合等模型元素。分支与合并用实线箭头表 示,分叉与汇合用一条加粗的线段表示。图形兀素表示方法动作状态平滑的圆角矩形活动状态平滑的圆角矩形动作流带箭头的直线分支与合并空心小菱形分叉与汇合加粗的水平线泳道垂直实线,分隔的区域就是泳道对象流带箭头的虚线分岔和分支有什么区别,分别适用于什么样的建模目标?答;分叉可以用来描述并发线程,每一个分叉可以有一个输入转换和 两个或多个输出转换,每一个转换都可以是独立的控制流。分支在软 件系统流程中很常见,它一般用于表示对象类所具有的条件行为。4、活动图中监护条件和改变时间分别有何作用?两者间的区别是什么?答:否,控制活动的处理过程,控制系统的行为。

25、监护条件是决定执行与 改变时间是决定什么时候执行。说明下面活动图所表达的信息。i輕欣消答:用户下订单后系统生成送货单,用户选择支付方式,判断用户是 否取消订单或订单超过时限,如果是,则取消订单,如果否,则进行 收款。之后供应商送货,修改订单项状态,然后判断是否所有订单已 送货完毕。如果是,那么订单完成。用活动图表示for ( i=0 ; iv9;i+ )循环。yesno7、7对于如下图所示的活动图,最大可能的并发线程数是几个?答:五个分析与讨论1、总结UML在软件工程中的作用以及使用 UML建模的必要性。答:UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人

26、员更好地理解业务流程,建立更可靠,更 完善的系统模型从而使用户和开发人员对问题的描述达到相同的理 解,以减少语义差异,保障分析的正确性.O建立模型可以帮助开发者更好地了解正在开发的系统。 便于开发人员展现系统,提供指导开发人员构造系统的模板,记录开发人员的决策。每个项目可以从建模中受益。甚至在自由软件领域,模型可以帮助开发小组更好地规划系统设计更快地开发。2、答:分小组讨论利用“支付宝”进行网上购物的活动过程,并画出 活动图,关于支付宝的相关说明可以登录查看。挑选宝贝一确认订单-支付宝支付-支付成功,选扌睪姦买商一、 J 气 丿加入购糊车)V -_C收:宅為音J用户注刖 C选择秦付寿J (W1

27、A购押 、购物克咸、针对前面的网上书店系统,画出用户购书,商家发货等过程的 活动图。实验五 时序图与协作图 实验目的和要求 掌握时序图与协作图的概念及作用。2、4、掌握 UML 中静态图形和动态图形的区别和联系。掌握 UML 时序图与协作图的基本图形,了解它们各自的组成 元素、特定作用和适用场合。重点掌握时序图的画法以及其中元素所代表的意义。 实验内容和步骤 1、UML 中的时序图与协作图之间各有什么区别和联系? 答:主要元素都是消息和类角色。相同点:(1)规定责任( 2 )支持消息( 3)衡量工具 区别:协作图的重点是将对象的交互映射到它们之间的链上, 即协作 图以对象图的方式绘制各个参与对

28、象,并且将消息和链平行放置。 时序图可以描述对象的创建和撤销的情况。 而在协作图中, 对象要么 存在要么不存在, 除了通过消息描述或约束, 没有其他的方法可以表 示对象的创建或结束。 时序图还可以表现对象的激活和去激活情况但 对于协作图来说,由于没有对时间的描述,除了对消息进行解释,它 无法清晰地表示对象的激活和去激活情况。2、在顺序图和协作图中,应如何表示“循环” ,“判断”等结构? 答:通过对象的链符号,即一条连接两个角色的实线路径进行循环, 增加消息进行判断。3、什么是消息?消息在交互中扮演什么角色? 答:对象之间某种形式的通信,它可以激发某个操作、唤起信号或导 致目标对象的创建或撤销。4、交互图中有哪几种消息?它们之间具体有何分别?应如何表示?答:绘制两个对象之间的异步消息、在两个对象之间绘制消息、绘制反身消息、显示过程调用返回的消息、绘制两个对象之间的过程调用。 消息使用箭头表示,箭头的类型表示了消息的类型。:在两个对象之间绘制消息T:绘制两个对象之间的过程调用:绘制两个对象之间的异步消息:显示过程调用返回的信息:绘制反身消息已

温馨提示

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

评论

0/150

提交评论